多核CPU 不论异步还是同步。。。缓存一定要共享吗???
发布网友
发布时间:2022-05-01 04:28
我来回答
共4个回答
热心网友
时间:2022-06-24 10:47
不一定。
缓存是共享和独立的。
缓存共享在核心多的情况下让2个或者多个共享了缓存可以提高cpu运算速度,又比单个核配置*缓存节约了成本。
多以现在很多CPU都是几个核心各自一个很小的L2然后在一个很大的L3共享。
CPU共享的L3 明显的比L2的缓存高。因为延迟高,带宽小(有更多的核心使用,每个核心就吃不饱)
异步的CPU,运行程序时两个L2缓存中的内容是一样的,CPU实际相当于只有一个L2缓存的容量。缺点就是容量偏小,利用率差点。好处可以更容易的组成多核心,并且非共享缓存只能被对应的核心使用,所以带宽高、延迟小追问就是说共享缓存很多时候都是节约成本,提高运算速度而且异步双核就算不是共享的,二级缓存里的内容也是一样的,是这样吗?
追答复制一段别人的话。
缓存就是用来暂时存储数据的,CPU的缓存起到CPU和内存中的数据的中转站的作用,把CPU经常要访问到的数据存在缓存中,使得CPU不必经常要去速度较慢的内存中去访问数据。一级缓存(L1)速度最快,但由于成本原因不能做得太大,然后就出现了二级缓存(L2),速度慢一些但容量也大一些,之后才出现*缓存(L3),速度又比二级缓存慢但容量也更大一些。AMD的*缓存(L3)不是全速运行的,频率等于内存控制器NB的频率,比起内存的频率也快不了很多,所以AU的L3对于CPU性能的提升不如INTEL的效果好
热心网友
时间:2022-06-24 10:48
都说缓存是共享的,其实并非真正共享,单核心独享L1和L2,应为L1和L2是物理分开的。
很多都会说共享L3,事实上是不共享的,L3缓存物理上是合并的共享的,比如你有一个4核心处理器,你打开4核心的同时L3内部其实是划分出4个逻辑缓存的。
另外英特尔的超线程更是如此,当打开超线程,缓存内部是被逻辑划分成很多块的,这就是超线程打开后某些单线程任务性能反倒下降的原因。
I7超线程打开时L3被逻辑划分成8个部分,当关闭TH就会划分为4个,他单核心是独享L1L2,L3不完全共享。
热心网友
时间:2022-06-24 10:48
肯定确定缓存是共享的,这样可以更加精确的捕捉目标,并完成
热心网友
时间:2022-06-24 10:49
想说的差不多都被only丶乐说完了。。