首页 | 旧版 |中国计算机报 |中国电子报 |通信产业报 |计算机用户 |电脑教育报 |软件世界 |数字时代
高级检索
中计报首页 | 要      闻 | 中国信息化 | 网络与通信
技术与产品 | 导购与市场 | 地方专刊 | 周三刊(i周刊)
第17期 总第1688期
浏览往期
当前位置:首页>>赛迪媒体>中国计算机报>技术与产品
CPU片上缓存技术解析
作者: 

CPU片上高速缓存是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。

众所周知,随着CPU 内核的尺寸与带宽技术的进步,很快就会造成投资回报的递减。因此,当核心的尺寸工艺收缩到一个小尺度上后,出于成本方面的考虑,芯片制造商通常的选择有如下三种:生产更小的芯片、增加大量缓存、增加更多内核。选择更大的片上缓存则是其中性价比较高的一种选择,这也是为何从1990年代以来,从RISC处理器到x86处理器的制造商均不停地增加CPU片上缓存的原因。

缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。 缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存,以后对整块数据的读取都从缓存中进行,不必再调用内存。

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

在大多数情况下,x86架构的多核CPU的内核拥有独立的L1缓存,共享L2缓存、内存子系统、中断子系统和外设。因此,系统设计师需要让每个内核独立访问某种资源,并确保资源不会被其他内核上的应用程序争抢。

在上世纪90年代,x86架构下的CPU大多只有4KB到32KB的一级片上缓存,128KB到256KB的二级缓存。直到1998年奔腾2至强400的出现,才实现了x86架构上的512KB二级缓存(更晚才出现1MB的二级缓存)——作为对比,1997年HP推出的PA-8500的二级缓存则是1.5MB,且其他工艺和参数指标均远超Xeon。

到2008年,在最新的6核至强(研发代号Dunnington)上,已经变成每两个内核共用3MB二级缓存,六个内核共享16MB三级缓存;而2007年IBM发布的双内核Power6上,每个核心拥有独立的4MB二级缓存,两个内核共享32MB三级缓存,可以看到与10年前相比,单纯就缓存容量而言,RISC与x86处理器之间的较大差距已经逐渐缩小。在成本允许的前提下,更大的片上缓存将进一步出现在x86处理器上。(谢文砚)

赛迪网JAVA专区,JAVA开发者乐园!
相关文章
· 软硬兼施解难题联想打印机试水水立方(2008.05.12)
· 光网络演进:业务驱动下的无缝迁移(2008.05.12)
· 考量开发区(2008.05.12)
· 拥抱两个世界一个是网络,一个是设备(2008.05.12)
· 拉同盟 做内容 争终端(2008.05.12)
·特别专辑

专题:千橡融资4亿 陈一舟备战社区冬天全文
专题:微软宣布放弃收购雅虎 不排除二次出价全文


· 专题:解读IBM“蜕变” 下一步走到哪里?
· 知识产权:除了“侵犯”,咱还能做什么?
· 专题:黄光裕配售股份套现19亿 为购三联商社?
· 专题:三星李健熙逃税遭起诉 面临终身监禁
· 思科CEO钱伯斯第七次访华 中国将成战略市场
· 专题:“吸费电话”背后真相 仅为欺诈性宣传
· 专题:卓越亚马逊遭淘宝"收编" 易趣腾讯策反
· 专题:唐骏盛大再“卸甲” 10亿转会新华都
· 专题:荧光灯下的黑暗 GE被曝"血汗工厂"
· 专题:手机电视国标陷僵持 广电不睬新岸线

·赛迪社区


·IT博客