投票
标题:关于CPU的二级缓存
那巴尔
欢喜的慈雨
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5



UID 8713
精华 2
积分 1748
帖子 1221
狼毛 2613 根
阅读权限 40
注册 2005-11-5
状态 离线
发表于 2007-10-29 12:25 资料 短消息  加为好友 
关于CPU的二级缓存

AMD 双核速龙™64处理器4400+
AMD Athlon(TM) 64 X2标签
(512KB + 512KB L2 缓存、2.3GHz)
NVIDIA(R) MCP 61芯片组

英特尔®酷睿™2双核处理器E4400 (2.0GHz)
英特尔(R) 酷睿(TM) 2 Duo 标签
(2.0GHz、2MB L2缓存、800MHz 前端总线)
英特尔(R) G33芯片组

这两个二级缓存差那么大,具体会有多少差别?
二级缓存在进行什么操作的时候会被大量调用?

 顶部
ucgplayer
圣洁的灵魂
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
titan的挑战


UID 17003
精华 0
积分 27301
帖子 3395
狼毛 144777 根
阅读权限 90
注册 2006-7-14
来自 风花雪月的城市
状态 离线
发表于 2007-10-29 12:53 资料 主页短消息  加为好友 添加 ucgplayer 为MSN好友 通过MSN和 ucgplayer 交谈QQ
我听我朋友说 2级缓存和 你同时开n个窗口的响应速度有关系。。。不知道对不对。。。





生死看淡 不服就干。


找工作找我呀!360543011@qq.com
 顶部
grape0915 (grape)
万物创造者
Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9
自己玩


论坛达人  百目惠识  
UID 6757
精华 7
积分 253264
帖子 8391
狼毛 507482 根
阅读权限 110
注册 2005-8-24
来自 canton
状态 离线
发表于 2007-10-29 13:08 资料 短消息  加为好友 
INTEL的二级缓存一向都比AMD的高,不过两者的cpu运作模式不同,所以对二级缓存的依赖有所不同

作用当然就是与cpu读取数据和指令时有重要关系,具体如何运行就不说了,书上和网上都一堆文字
同频下奔腾和赛扬的区别你可以感受一下

 顶部
24813874
该用户已被删除









发表于 2007-10-29 14:35 
*** 作者被禁止或删除 内容自动屏蔽 ***
fdcnvb
传说中的存在
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8


UID 13204
精华 1
积分 62621
帖子 3819
狼毛 552 根
阅读权限 100
注册 2006-3-12
来自 北方
状态 离线
发表于 2007-10-29 16:09 资料 短消息  加为好友 
INTEL的缓存不是白给的,CORE核心的效率有目共睹。别看AMD的频率高,现在被INTEL的高效低耗反超了。

 顶部
那巴尔
欢喜的慈雨
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5



UID 8713
精华 2
积分 1748
帖子 1221
狼毛 2613 根
阅读权限 40
注册 2005-11-5
状态 离线
发表于 2007-10-29 16:42 资料 短消息  加为好友 
晕,谁来个权威的说法呀。

 顶部
grape0915 (grape)
万物创造者
Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9
自己玩


论坛达人  百目惠识  
UID 6757
精华 7
积分 253264
帖子 8391
狼毛 507482 根
阅读权限 110
注册 2005-8-24
来自 canton
状态 离线
发表于 2007-10-29 17:05 资料 短消息  加为好友 
回复 #6 那巴尔 的帖子

CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。

缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。

正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。

最早先的CPU缓存是个整体的,而且容量很低,英特尔公司从Pentium时代开始把缓存进行了分类。当时集成在CPU内核中的缓存已不足以满足CPU的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电路板上或主板上的缓存,此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存,容量为12KμOps,表示能存储12K条微指令。

随着CPU制造工艺的发展,二级缓存也能轻易的集成在CPU内核中,容量也在逐年提升。现在再用集成在CPU内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入CPU内核中,以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为CPU提供更高的传输速度。

二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。

CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。

为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。

CPU产品中,一级缓存的容量基本在4KB到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高

 顶部
c4
奔跑的春风
Rank: 3Rank: 3Rank: 3
『☆☆☆』


UID 37237
精华 0
积分 516
帖子 370
狼毛 0 根
阅读权限 20
注册 2007-4-24
来自 真漂漂的小世界
状态 离线
发表于 2007-10-29 20:22 资料 短消息  加为好友 


QUOTE:
原帖由 grape0915 于 2007-10-29 01:08 PM 发表
INTEL的二级缓存一向都比AMD的高,不过两者的cpu运作模式不同,所以对二级缓存的依赖有所不同

作用当然就是与cpu读取数据和指令时有重要关系,具体如何运行就不说了,书上和网上都一堆文字
同频下奔腾和赛扬的 ...

我想请问下奔腾和赛扬有什么质的区别?赛扬价格低廉,大众普及,奔腾价格高,性能自然不一样。

AMD价格好像也不低啊,不过好像在中国不是很普及,感觉比inter的强。如果叫我在奔腾、赛扬。AMD间选一个用,,比较为难。





S.T.A.R.S.
http://blog.sina.com.cn/zip444
 顶部
玩无止境
苍之风云
Rank: 4Rank: 4Rank: 4Rank: 4



UID 20701
精华 0
积分 813
帖子 710
狼毛 0 根
阅读权限 30
注册 2006-11-11
状态 离线
发表于 2007-10-29 21:34 资料 短消息  加为好友 
我感觉奔腾象少林正宗,AMD象武当……

 顶部
grape0915 (grape)
万物创造者
Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9
自己玩


论坛达人  百目惠识  
UID 6757
精华 7
积分 253264
帖子 8391
狼毛 507482 根
阅读权限 110
注册 2005-8-24
来自 canton
状态 离线
发表于 2007-10-29 22:22 资料 短消息  加为好友 


QUOTE:
原帖由 c4 于 2007-10-29 20:22 发表



我想请问下奔腾和赛扬有什么质的区别?赛扬价格低廉,大众普及,奔腾价格高,性能自然不一样。

AMD价格好像也不低啊,不过好像在中国不是很普及,感觉比inter的强。如果叫我在奔腾、赛扬。AMD间选一个用 ...

DIY,玩游戏的人通常选AMD
办公的多数是INTEL

 顶部
shoot (我是喷子)
执法众
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8
我是CJ的CN


灌水之王  
UID 6743
精华 1
积分 33094
帖子 2909
狼毛 336513 根
阅读权限 100
注册 2005-8-24
来自 蜀
状态 离线
发表于 2007-10-29 22:40 资料 短消息  加为好友 QQ
现在CORE的E4300以上的级别跑游戏和AMD的差异并不算太大(前提是其他配置相同),区别估计只是在AMD集成了3DNOW指令,在用3DMAX跑分的时候比CORE高一点点罢了,应该是一 个级别的,但CORE能耗更低,






 顶部
LPYsai_2000
无名的旅人
Rank: 1



UID 13754
精华 0
积分 6
帖子 6
狼毛 0 根
阅读权限 10
注册 2006-3-30
来自 重庆
状态 离线
发表于 2007-10-30 00:46 资料 短消息  加为好友 添加 LPYsai_2000 为MSN好友 通过MSN和 LPYsai_2000 交谈QQ
Intel L1缓存很少,处理基本是靠L2缓存交换数据,大点很正常,AMD L1缓存大多了,主要靠它交换数据,L2只是在L1不够用时辅助作用,L1和L2缓存的读写速度没的比,因此AMD的 L2缓存没必要那么大。
这方面两大厂商的设计理念不同,不可以只从缓存单个方面来进行比较。

 顶部
inf
欢喜的慈雨
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5



UID 11285
精华 1
积分 1759
帖子 1239
狼毛 87 根
阅读权限 40
注册 2006-1-19
状态 离线
发表于 2007-10-30 09:18 资料 短消息  加为好友 
一般来说同等价位,不超频用AMD,超频用INTEL。
看来LS也是计算机行家啊,不过潜水得太利害了,哈哈。

 顶部
fdcnvb
传说中的存在
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8


UID 13204
精华 1
积分 62621
帖子 3819
狼毛 552 根
阅读权限 100
注册 2006-3-12
来自 北方
状态 离线
发表于 2007-10-30 10:27 资料 短消息  加为好友 
12楼才是正解,本人倾向于INTEL

 顶部
 



当前时区 GMT+8, 现在时间是 2024-11-24 10:31
苏ICP备2024131517号

Powered by Discuz! 5.5.0 © 2001-2007
Processed in 0.009519 second(s), 6 queries, Gzip enabled

清除 Cookies - 联系我们 - 狼窝 - Archiver - WAP