1、12、制作工艺通常,我们所说的 CPU 的“制作工艺”,指的是在生产 CPU 过程中,要进行加工各种电路和电子元件,制造导线连接各个元器件。其生产精度以微米(长度单位,1 微米等于千分之一毫米)来表示,未来有向纳米(1 纳米等于千分之一微米)发展的趋势。精度越高,生产工艺就越先进。在同样的材料中,可以制造更多的电子元件,连接线也越细,提高 CPU 的集成度,CPU 的功耗也越小。制造工艺的微米,是指 IC 内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的 IC 电路设计,意味着在同样大小面积的 IC 中,可以拥有密度更高、功能更复杂的电路设计。微电子技术的发展与进步,
2、主要是靠工艺技术的不断改进,使得器件的特征尺寸不断缩小,从而集成度不断提高,功耗降低,器件性能得到提高。芯片制造工艺在 1995 年以后,从 0.5 微米、0.35 微米、0.25 微米、0.18 微米、0.15 微米、0.13 微米、0.09 微米,而 0.065 微米(65 纳米)的制造工艺,将是下一代 CPU 的发展目标。13、二级缓存容量CPU 缓存(Cache Memoney)是位于 CPU 与内存之间的临时存储器。它的容量比内存小,但交换速度更快。缓存中的数据,只是内存数据中的一小部分,但这一小部分是短时间内 CPU 即将访问的,当 CPU 调用大量数据时,就可避开内存直接从缓存中
3、调用,从而加快读取速度。由此可见,在 CPU 中加入缓存,是一种高效的解决方案。这样,整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对 CPU 的性能影响很大。主要是因为 CPU 的数据交换顺序和 CPU 与缓存间的带宽引起的。缓存的工作原理,是当 CPU 要读取一个数据时,首先从缓存中查找,如果找到,就立即读取并送给 CPU 处理;如果没有找到,就用相对慢的速度从内存中读取并送给 CPU 处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制,使 CPU 读取缓存的命中率非常高(大多数
4、 CPU 可达 90% 左右),也就是说,CPU 下一次要读取的数据 90% 都在缓存中,只有大约 10% 需要从内存读取。这就大大节省了 CPU 直接读取内存的时间,也使 CPU 读取数据时基本无需等待。总的来说,CPU 读取数据的顺序,是先缓存,后内存。最早先的 CPU 缓存是个整体的,而且容量很低,英特尔公司从 Pentium 时代开始,把缓存进行了分类。当时集成在 CPU 内核中的缓存已不足以满足 CPU 的需求,而制造工艺上的限制,又不能大幅度提高缓存的容量。因此出现了集成在与 CPU 同一块电路板上或主板上的缓存,此时,就把 CPU 内核集成的缓存,称为一级缓存。而外部的称为二级缓
5、存。一级缓存中,还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被 CPU 访问,减少了争用 Cache 所造成的冲突,提高了处理器的效能。英特尔公司在推出 Pentium 4 处理器时,还新增了一种一级追踪缓存,容量为 12KB。随着 CPU 制造工艺的发展,二级缓存也能轻易的集成在 CPU 内核中,容量也在逐年提升。现在再用集成在 CPU 内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入 CPU 内核中,以往二级缓存与 CPU 大差距分频的情况也被改
6、变,此时其以相同于主频的速度工作,可以为 CPU 提供更高的传输速度。二级缓存是 CPU 性能表现的关键之一。在 CPU 核心不变的情况下,增加二级缓存容量,能使性能大幅度提高。而同一核心的 CPU 高低端之分,往往也是在二级缓存上有差异。由此可见,二级缓存对于 CPU 的重要性。CPU 在缓存中找到有用的数据被称为“命中”,当缓存中没有 CPU 所需的数据时(这时称为未命中),CPU 才访问内存。从理论上讲,在一颗拥有二级缓存的 CPU 中,读取一级缓存的命中率为 80%。也就是说,CPU 一级缓存中找到的有用数据,占数据总量的 80%,剩下的 20% 从二级缓存中读取。由于不能准确预测将要
7、执行的数据,读取二级缓存的命中率也在 80% 左右(从二级缓存读到有用的数据占总数据的 16%)。那么,还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的 CPU 中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的种缓存,在拥有三级缓存的 CPU 中,只有约 5% 的数据需要从内存中调用,这进一步提高了 CPU 的效率。为了保证 CPU 访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法,是“最近最少使用算法”(LRU 算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此,需要为每行设置一个计数器,LRU 算法是把命中行的计数器清零,其他各行计数器加 1。当需要替换时,淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法。其计数器清零过程,可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。CPU 产品中,一级缓存的容量基本在 4KB 到 64KB 之间,二级缓存的容量则分为 128KB、256KB、512KB、1MB、2MB 等。一级缓存容量,各产品之间相差不大,而二级缓存容量,则是提高 CPU 性能的关键。二级缓存容量的提升,是由 CPU 制造工艺所决定的,容量增大必然导致 CPU 内部晶体管数的增加,要在有限的 CPU 面积上集成更大的缓存,对制造工艺的要求也就越高。