关于CPU cache解决思路

关于CPU cache
求各位大虾指点,关于CPU cache的一个问题,在Linux多核的环境中,CPU与CPU之间的cache是共享的一个呢?还是每个CPU各一个,小弟觉得是一个CPU一个Cache,是不是也有多个CPU一个Cache的情况?没有这样的事吧!求解惑!!!CPU与CPU cache之间同步过程中,对于写于读两种不同的操作都需要做flush cache的动作吗?一个CPU的cache中的内容是否可以容纳不同进程的数据【小弟觉得不会】,而如果都是要对RAM中的一块数据读,小弟认为多个CPU的cache应该不需要同步。
------解决方案--------------------
CPU与CPU之间的cache是共享的一个呢  你所描述的两种情况都有,由芯片设计者决定。


------解决方案--------------------
多核CPU通常为每个核配有独享的一级和二级缓存,以及各核之间共享的三级缓存。

顺序一致性(Sequential Consistency)
------解决方案--------------------
这个不一定。能肯定是1级cache是独立的,2级,3级不好说,有共享的,有独立的,
还有核心模块共享,对外独立的,amd有几款就是这样
------解决方案--------------------
要弄清楚cache同步,究竟是和谁同步。
cache是cpu和ram之间的一个缓接环境,解决外部ram访问相对慢的瓶颈问题。
所以cache的同步是和ram中的数据而言。
cache中存的是最近ram中的数据.ram如果有数据更新,就要及时更新到cache;cache中数据更新,也要及时更新到ram,避免不一直。
cpu基本上就是和cache打交道。