- 分享
- 0
- 人气
- 0
- 主题
- 0
- 帖子
- 92
- UID
- 105526
- 积分
- 59
- 阅读权限
- 12
- 注册时间
- 2007-10-18
- 最后登录
- 2009-3-6
- 在线时间
- 140 小时
|
一:CPU篇
一:CPU主频率
这是一个最受新手关注的指标,指的就是CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某款CPU是多少兆赫兹的,而这个多少兆赫兹就是“CPU的主频”。主频虽与CPU速度有关系,但不是绝对的正比关系,因为 CPU的运算速度还要看CPU流水线(流水线下面介绍)的各方面性能指标(缓存、指令集,CPU位数等)。因此主频不代表CPU的整体性能,但提高主频对于提高CPU运算速度却是至关重要的。主频的计算公式为:主频=外频*倍频。
二:外频:
外频是CPU乃至整个计算机系统的基准频率,单位是MHz(兆赫兹)。在早期的电脑中,内存与主板之间的同步运行的速度等于外频,在这种方式下,可以理解为 CPU外频直接与内存相连通,实现两者间的同步运行状态。对于目前的计算机系统来说,两者完全可以不相同,但是外频的意义仍然存在,计算机系统中大多数的频率都是在外频的基础上,乘以一定的倍数来实现。
三:倍频
CPU的倍频,全称是倍频系数。CPU的核心工作频率与外频之间存在着一个比值关系,这个比值就是倍频系数,简称倍频。理论上倍频是从1.5一直到无限的,但需要注意的是,倍频是以以0.5为一个间隔单位。外频与倍频相乘就是主频,所以其中任何一项提高都可以使CPU的主频上升。原先并没有倍频概念,CPU的主频和系统总线的速度是一样的,但CPU的速度越来越快,倍频技术也就应允而生。它可使系统总线工作在相对较低的频率上,而CPU速度可以通过倍频来无限提升。那么CPU主频的计算方式变为:主频 = 外频 x 倍频。也就是倍频是指CPU和系统总线之间相差的倍数,当外频不变时,提高倍频,CPU主频也就越高。
四:流水线
对于CPU来说,它的工作可分为获取指令、解码、运算、结果几个步骤。其中前两步由指令控制器完成,后两步则由运算器完成。按照传统的方式,所有指令按顺序执行,先由指令控制器工作,完成一条指令的前两步,然后运算器工作,完成后两步,依此类推……很明显,当指令控制器工作时运算器基本上处于闲置状态,当运算器在工作时指令控制器又在休息,这样就造成了相当大的资源浪费。于是CPU借鉴了工业生产中被广泛应用的流水线设计,当指令控制器完成了第一条指令的前两步后,直接开始第二条指令的操作,运算器单元也是,这样就形成了流水线。流水线设计可最大限度地利用了 CPU资源,使每个部件在每个时钟周期都在工作,从而提高了CPU的运算频率。
工业生产中采用增设工人的方法加长流水线作业可有效提高单位时间的生产量,而CPU采用级数更多的流水线设计可使它在同一时间段内处理更多的指令,有效提高其运行频率。如Intel在Northwood核心Pentium 4处理器中设计的流水线为20级,而在Prescott核心Pentium 4处理器中其流水线达到了31级,而正是超长流水线的使用,使得Pentium 4在和Athlon XP(整数流水线10级,浮点流水线15级)的频率大战中取得了优势。
CPU工作时,指令并不是孤立的,许多指令需要按一定顺序才能完成任务,一旦某个指令在运算过程中发生了错误,就可能导致整条流水线停顿下来,等待修正指令的修正,流水线越长级数越多,出错的几率自然也变得更大,旦出错影响也越大。在一条流水线中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关,一旦某个指令在运算过程中发生了错误,与之相关的指令也都会变得无意义。
最后,由于导电体都会产生延时,流水线级数越长导电延迟次数就越多,总延时自然也就越长,CPU完成单个任务的时间就越长。因此,流水线设计也不是越长越好的。
五:CPU缓存
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面积上集成更大的缓存,对制造工艺的要求也就越高。
六:前端总线
前端总线是处理器与主板北桥芯片或内存控制集线器之间的数据通道,其频率高低直接影响CPU访问内存的速度;BIOS可看作是一个记忆电脑相关设定的软件,可以通过它调整相关设定。BIOS存储于板卡上一块芯片中,这块芯片的名字叫COMS RAM。但就像ATA与IDE一样,大多人都将它们混为一谈。
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以 MHz表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。计算机的前端总线频率是由CPU和北桥芯片共同决定的。
CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、 533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。
CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说, 100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PIC及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目前。这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。 |
|