CPU Cache大吃特吃
super7吧
全部回复
仅看楼主
level 2
heik08 楼主
晓燧
     我们通常买电脑时主要关心它的主频,如:PII 350、AMD K6-2 350等。实际上,由于技术和成本等方面的限制,在电脑内部的部件是以不同速度工作的(读者:废话,这谁不知道。笔者;先照顾照顾菜鸟吧,后面还有精彩的)。以100 MHz外频总线的电脑为例,CPU可以采用166 MHz到500MHz等多种速率;而显卡、声卡、Modem 卡等一般工作在33 MHz(AGP除外)。那么怎样让它们以最高的效率配合工作呢?最有效的招数就是采用高速缓冲存储器——Cache(笔者称之为:“开吃”),简称高速缓存。对CPU而言,当它调用内存中的数据或指令时,它不是直接访问内存,而是先检测Cache 中有无所需内容。如果有,就直接对高速缓存进行读写操作,否则再访问后面一级的Cache或标准内存。
     其实,采用缓冲的方式解决不同设备间的速度差异,这种思想早被电脑硬件设计者广泛接受(读者:果然是骗稿费),它是计算机高速设备和低速设备之间的桥梁。现在的电脑,不仅在CPU内有Cache,主板、硬盘上也有; DOS的虚拟磁盘是地道的Cache,就连打印机的内置RAM其实也是Cache的概念(读者:真的?)。
     我们知道,现在高性能CPU的工作主频一般都在200 MHz以上,有的还达到500 MHz,甚至1GHz以上。如今流行PC100内存数据存储周期只有7ns到10ns。不难看出,CPU所需的数据存取速度和内存实际能够提供的速度间要差几十甚至上百倍!(读者:有这么玄?)。
     现在CPU中一般有几十个通用高速寄存器,另外还有指令和数据的先行缓冲存储器,它们可以缓解主存的部分压力。采用以上技术后,一般可以把高性能CPU和主存之间的速度差异缩小到30倍左右,目前这30倍的速度差主要靠Cache 来弥补(读者:工作量不大嘛。笔者:你试试?)。所以现在的CPU厂商,除了在提高主频以外,更在Cache方面加紧角逐。Cache介于CPU和主存之间,容量相对主存为小,速度要快得多,采用SRAM的存取周期一般为几十毫微秒。一般来说,现在的CPU中(指CPU 核心内部)有一级Cache (L1 Cache), 它们是所有Cache中最快的一类。一级Cache使用与CPU相同的半导体工艺,与CPU同频运行,而且无需通过总线来交换数据,所以大大节省了存取时间。由于L1缓存中保存着CPU最常用到的一些数据。L1缓存越大,越多的信息就可以保持在“最接近”CPU的地方,从而实现更快的系统性能。此外,许多商用软件经常要大量重复使用相同的数据,由于数据直接从L1中读入的机会增大了,所以L1缓存容量的增大,可以显著地提高这些软件的性能。但遗憾的是,由于生产工艺水平和成本的限制,容量不能很大(读者:怪不得Pentium II只有32k)。最初采用CPU内Cache 的486芯片的一级Cache只有8k,目前常用的CPU一级Cache一般有64 k(如AMD K6)。  
     二级Cache(L2 Cache)的速度一般比第一级要低,采用前面提到的SRAM 技术,也可采用其他的特殊技术;可以置于主板上( 如过去的 P100等用的主板),也可以和CPU一同置于单边插卡上(如PII),还可以和CPU直接封装在同一芯片内(但不是同一块硅晶片,如Pentium Pro),甚至还可以和CPU核心做在同一硅晶片上(即On-die ,如AMD的K6-III)。其容量十分灵活,可由厂家自行决定,从128k 到几兆不等,比如去年的PII,去掉了插卡上的L2 Cache 后,立刻摇身一变成了廉价的赛扬(读者:这对性能影响大吗?)。另外,前一段时间Cache家族又出现了三级Cache(L3 Cache)系统,比如AMD K6-III采用的TriLevel Cache系统,其结构设计包括了片内L1、L2 Cache及片外主机板上L3 Cache共三级,高速缓存总量最大可扩展至2,368kB。由于三级Cache体系扩大了Cache的容量,进一步提高了性价比,不同级别Cache采用不同技术,成本形成高低搭配,多级Cache渐已成为一种趋势。在Winstone 99环境下评测的数字显示,每提高1MB L3 Cache在性能方面大约可提高5%(读者:不太多吧)。正是因为AMD K6-III有了目前世界上最大、最快的高速缓存系统,AMD-K6-III/450比Pentium III/450快了近30%(采用CPU MARKET 32测试所得结果),甚至AMD-K6-III/400都快于Intel目前最快的Pentium III/500(读者:天!有够厉害)。

2009年12月12日 09点12分 1
level 0
你穿越时空过来的?PIII500
2010年03月18日 17点03分 3
level 0
回复:3楼
这里是super7吧。
2010年03月18日 21点03分 4
1