hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 277|回复: 0

CPU核心剖析

[复制链接]

535

主题

535

帖子

1629

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1629
发表于 2023-9-25 16:32:06 | 显示全部楼层 |阅读模式
CPU及CPU核心类型
CPU厂商会给属于同一系列的CPU产品定一个系列型号,而系列型号则是用于区分CPU性能的重要标识。英特尔公司的主要CPU系列型号有Pentium、Pentium Pro、Pentium II、Pentium III、Pentium 4、Pentium-m、Celeron、Celeron II、Xeon等等。而AMD公司则有K5、K6、K6-2、Duron、Athlon XP、Athlon 64等等。

英特尔CPU核心   
      
Tualatin
   这也就是大名鼎鼎的“图拉丁”核心,是Intel在Socket 370架构上的最后一种CPU核心,采用0.13um制造工艺,封装方式采用FC-PGA2和PPGA,核心电压也降低到了1.5V左右,主频范围从1GHz到1.4GHz,外频分别为100MHz(赛扬)和133MHz(Pentium III),二级缓存分别为512KB(Pentium III-S)和256KB(Pentium III和赛扬),这是最强的Socket 370核心,其性能甚至超过了早期低频的Pentium 4系列CPU。

Willamette
   这是早期的Pentium 4和P4赛扬采用的核心,最初采用Socket 423接口,后来改用Socket 478接口(赛扬只有1.7GHz和1.8GHz两种,都是Socket 478接口),采用0.18um制造工艺,前端总线频率为400MHz, 主频范围从1.3GHz到2.0GHz(Socket 423)和1.6GHz到2.0GHz(Socket 478),二级缓存分别为256KB(Pentium 4)和128KB(赛扬),注意,另外还有些型号的Socket 423接口的Pentium 4居然没有二级缓存!核心电压1.75V左右,封装方式采用Socket 423的PPGA INT2,PPGA INT3,OOI 423-pin,PPGA FC-PGA2和Socket 478的PPGA FC-PGA2以及赛扬采用的PPGA等等。Willamette核心制造工艺落后,发热量大,性能低下,已经被淘汰掉,而被Northwood核心所取代。

Northwood
   这是目前主流的Pentium 4和赛扬所采用的核心,其与Willamette核心最大的改进是采用了0.13um制造工艺,并都采用Socket 478接口,核心电压1.5V左右,二级缓存分别为128KB(赛扬)和512KB(Pentium 4),前端总线频率分别为400/533/800MHz(赛扬都只有400MHz),主频范围分别为2.0GHz到2.8GHz(赛扬),1.6GHz到2.6GHz(400MHz FSB Pentium 4),2.26GHz到3.06GHz(533MHz FSB Pentium 4)和2.4GHz到3.4GHz(800MHz FSB Pentium 4),并且3.06GHz Pentium 4和所有的800MHz Pentium 4都支持超线程技术(Hyper-Threading Technology),封装方式采用PPGA FC-PGA2和PPGA。按照Intel的规划,Northwood核心会很快被Prescott核心所取代。

Prescott
   这是Intel最新的CPU核心,目前还只有Pentium 4而没有低端的赛扬采用,其与Northwood最大的区别是采用了0.09um制造工艺和更多的流水线结构,初期采用Socket 478接口,以后会全部转到LGA 775接口,核心电压1.25-1.525V,前端总线频率为533MHz(不支持超线程技术)和800MHz(支持超线程技术),主频分别为533MHz FSB的2.4GHz和2.8GHz以及800MHz FSB的2.8GHz、3.0GHz、3.2GHz和3.4GHz,其与Northwood相比,其L1 数据缓存从8KB增加到16KB,而L2缓存则从512KB增加到1MB,封装方式采用PPGA。按照Intel的规划,Prescott核心会很快取代Northwood核心并且很快就会推出Prescott核心533MHz FSB的赛扬。

AMD CPU核心

Athlon XP的核心类型

    Athlon XP有4种不同的核心类型,但都有共同之处:都采用Socket A接口而且都采用PR标称值标注。

Palomino
   这是最早的Athlon XP的核心,采用0.18um制造工艺,核心电压为1.75V左右,二级缓存为256KB,封装方式采用OPGA,前端总线频率为266MHz。

Thoroughbred
   这是第一种采用0.13um制造工艺的Athlon XP核心,又分为Thoroughbred-A和Thoroughbred-B两种版本,核心电压1.65V-1.75V左右,二级缓存为256KB,封装方式采用OPGA,前端总线频率为266MHz和333MHz。

Thorton
   采用0.13um制造工艺,核心电压1.65V左右,二级缓存为256KB,封装方式采用OPGA,前端总线频率为333MHz。可以看作是屏蔽了一半二级缓存的Barton。

Barton
   采用0.13um制造工艺,核心电压1.65V左右,二级缓存为512KB,封装方式采用OPGA,前端总线频率为333MHz和400MHz。

新Duron的核心类型

AppleBred
   采用0.13um制造工艺,核心电压1.5V左右,二级缓存为64KB,封装方式采用OPGA,前端总线频率为266MHz。没有采用PR标称值标注而以实际频率标注,有1.4GHz、1.6GHz和1.8GHz三种。

Athlon 64系列CPU的核心类型

Clawhammer
   采用0.13um制造工艺,核心电压1.5V左右,二级缓存为1MB,封装方式采用mPGA,采用Hyper Transport总线,内置1个128bit的内存控制器。采用Socket 754、Socket 940和Socket 939接口。

Newcastle
   其与Clawhammer的最主要区别就是二级缓存降为512KB(这也是AMD为了市场需要和加快推广64位CPU而采取的相对低价政策的结果),其它性能基本相同。


CPU : CPU接口类型


CPU接口类型:CPU需要通过某个接口与主板连接的才能进行工作。CPU经过这么多年的发展,采用的接口方式有引脚式、卡式、触点式、针脚式等。而目前CPU的接口都是针脚式接口,对应到主板上就有相应的插槽类型。CPU接口类型不同,在插孔数、体积、形状都有变化,所以不能互相接插。

CPU接口:Socket AM2
    Socket AM2是2006年5月底发布的支持DDR2内存的AMD64位桌面CPU的接口标准,具有940根CPU针脚,支持双通道DDR2内存。虽然同样都具有940根CPU针脚,但Socket AM2与原有的Socket 940在针脚定义以及针脚排列方面都不相同,并不能互相兼容。目前采用Socket AM2接口的有低端的Sempron、中端的Athlon 64、高端的Athlon 64 X2以及顶级的Athlon 64 FX等全系列AMD桌面CPU,支持200MHz外频和1000MHz的HyperTransport总线频率,支持双通道DDR2内存,其中Athlon 64 X2以及Athlon 64 FX最高支持DDR2 800,Sempron和Athlon 64最高支持DDR2 667。。按照AMD的规划,Socket AM2接口将逐渐取代原有的Socket 754接口和Socket 939接口,从而实现桌面平台CPU接口的统一。

CPU接口:Socket S1
    Socket S1是2006年5月底发布的支持DDR2内存的AMD64位移动CPU的接口标准,具有638根CPU针脚,支持双通道DDR2内存,这是与只支持单通道DDR内存的移动平台原有的Socket 754接口的最大区别。目前采用Socket S1接口的有低端的Mobile Sempron和高端的Turion 64 X2。按照AMD的规划,Socket S1接口将逐渐取代原有的Socket 754接口从而成为AMD移动平台的标准CPU接口。

CPU接口:Socket F
    Socket F是AMD于2006年第三季度发布的支持DDR2内存的AMD服务器/工作站CPU的接口标准,首先采用此接口的是Santa Rosa核心的LGA封装的Opteron。与以前的Socket 940接口CPU明显不同,Socket F与Intel的Socket 775和Socket 771倒是基本类似。Socket F接口CPU的底部没有传统的针脚,而代之以1207个触点,即并非针脚式而是触点式,通过与对应的Socket F插槽内的1207根触针接触来传输信号。Socket F接口不仅能够有效提升处理器的信号强度、提升处理器频率,同时也可以提高处理器生产的良品率、降低生产成本。Socket F接口的Opteron也是AMD首次采用LGA封装,支持ECC DDR2内存。按照AMD的规划,Socket F接口将逐渐取代Socket 940接口。

CPU接口:Socket 771
    Socket 771是Intel2005年底发布的双路服务器/工作站CPU的接口标准,目前采用此接口的有采用LGA封装的Dempsey核心的Xeon 5000系列和Woodcrest核心的Xeon 5100系列。与以前的Socket 603和Socket 604明显不同,Socket 771与桌面平台的Socket 775倒还基本类似,Socket 771接口CPU的底部没有传统的针脚,而代之以771个触点,即并非针脚式而是触点式,通过与对应的Socket 771插槽内的771根触针接触来传输信号。Socket 771接口不仅能够有效提升处理器的信号强度、提升处理器频率,同时也可以提高处理器生产的良品率、降低生产成本。Socket 771接口的CPU全部都采用LGA封装。按照Intel的规划,除了Xeon MP依旧采用Socket 604接口之外,Socket 771接口将取代双路Xeon(即Xeon DP)目前所采用的Socket 603接口和Socket 604接口。

CPU接口:Socket 479
    Socket 479的用途比较专业,是2003年3月发布的Intel移动平台处理器的专用接口,具有479根CPU针脚,采用此接口的有Celeron M系列(不包括Yonah核心)和Pentium M系列,而此两大系列CPU已经面临被淘汰的命运。Yonah核心的Core Duo、Core Solo和Celeron M已经改用了不兼容于旧版Socket 478的新版Socket 478接口。

CPU接口:Socket 478
  最初的Socket 478接口是早期Pentium 4系列处理器所采用的接口类型,针脚数为478针。Socket 478的Pentium 4处理器面积很小,其针脚排列极为紧密。英特尔公司的Pentium 4系列和P4 赛扬系列都采用此接口,目前这种CPU已经逐步退出市场。
    但是,Intel于2006年初推出了一种全新的Socket 478接口,这种接口是目前Intel公司采用Core架构的处理器Core Duo和Core Solo的专用接口,与早期桌面版Pentium 4系列的Socket 478接口相比,虽然针脚数同为478根,但是其针脚定义以及电压等重要参数完全不相同,所以二者之间并不能互相兼容。随着Intel公司的处理器全面向Core架构转移,今后采用新Socket 478接口的处理器将会越来越多,例如即将推出的Core架构的Celeron M也会采用此接口。

CPU接口:Socket 775(LGA775)
  Socket 775又称为Socket T,是目前应用于Intel LGA775封装的CPU所对应的接口,目前采用此种接口的有LGA775封装的单核心的Pentium 4、Pentium 4 EE、Celeron D以及双核心的Pentium D和Pentium EE等CPU。与以前的Socket 478接口CPU不同,Socket 775接口CPU的底部没有传统的针脚,而代之以775个触点,即并非针脚式而是触点式,通过与对应的Socket 775插槽内的775根触针接触来传输信号。Socket 775接口不仅能够有效提升处理器的信号强度、提升处理器频率,同时也可以提高处理器生产的良品率、降低生产成本。随着Socket 478的逐渐淡出,Socket 775已经成为Intel桌面CPU的标准接口。

CPU接口:Socket 754
  Socket 754是2003年9月AMD64位桌面平台最初发布时的CPU接口,具有754根CPU针脚,只支持单通道DDR内存。目前采用此接口的有面向桌面平台的Athlon 64的低端型号和Sempron的高端型号,以及面向移动平台的Mobile Sempron、Mobile Athlon 64以及Turion 64。随着AMD从2006年开始全面转向支持DDR2内存,桌面平台的Socket 754将逐渐被Socket AM2所取代从而使AMD的桌面处理器接口走向统一,而与此同时移动平台的Socket 754也将逐渐被具有638根CPU针脚、支持双通道DDR2内存的Socket S1所取代。Socket 754在2007年底完成自己的历史使命从而被淘汰,其寿命反而要比一度号称要取代自己的Socket 939要长得多。

CPU接口:Socket 939
  Socket 939是AMD公司2004年6月才推出的64位桌面平台接口标准,具有939根CPU针脚,支持双通道DDR内存。目前采用此接口的有面向入门级服务器/工作站市场的Opteron 1XX系列以及面向桌面市场的Athlon 64以及Athlon 64 FX和Athlon 64 X2,除此之外部分专供OEM厂商的Sempron也采用了Socket 939接口。Socket 939处理器和与过去的Socket 940插槽是不能混插的,但是Socket 939依旧使用了相同的CPU风扇系统模式。随着AMD从2006年开始全面转向支持DDR2内存,Socket 939被Socket AM2所取代,在2007年初完成自己的历史使命从而被淘汰,从推出到被淘汰其寿命还不到3年。

CPU接口:Socket 940
  Socket 940是最早发布的AMD64位CPU的接口标准,具有940根CPU针脚,支持双通道ECC DDR内存。目前采用此接口的有服务器/工作站所使用的Opteron以及最初的Athlon 64 FX。随着新出的Athlon 64 FX以及部分Opteron 1XX系列改用Socket 939接口,所以Socket 940已经成为了Opteron 2XX全系列和Opteron 8XX全系列以及部分Opteron 1XX系列的专用接口。随着AMD从2006年开始全面转向支持DDR2内存,Socket 940也会逐渐被Socket F所取代,完成自己的历史使命从而被淘汰。

CPU接口:Socket 603
  Socket 603的用途比较专业,应用于Intel方面高端的服务器/工作站平台,采用此接口的CPU是Xeon MP和早期的Xeon,具有603根CPU针脚。Socket 603接口的CPU可以兼容于Socket 604插槽。

CPU接口:Socket 604
  与Socket 603相仿,Socket 604依旧是应用于Intel方面高端的服务器/工作站平台,采用此接口的CPU是533MHz和800MHz FSB的Xeon。Socket 604接口的CPU不能兼容于Socket 603插槽。


CPU : CPU封装技术


CPU封装技术
  所谓“CPU封装技术”是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术。以CPU为例,我们实际看到的体积和外观并不是真正的CPU内核的大小和面貌,而是CPU内核等元件经过封装后的产品。

  CPU封装对于芯片来说是必须的,也是至关重要的。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降。另一方面,封装后的芯片也更便于安装和运输。由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的。封装也可以说是指安装半导体集成电路芯片用的外壳,它不仅起着安放、固定、密封、保护芯片和增强导热性能的作用,而且还是沟通芯片内部世界与外部电路的桥梁——芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的导线与其他器件建立连接。因此,对于很多集成电路产品而言,封装技术都是非常关键的一环。

  目前采用的CPU封装多是用绝缘的塑料或陶瓷材料包装起来,能起着密封和提高芯片电热性能的作用。由于现在处理器芯片的内频越来越高,功能越来越强,引脚数越来越多,封装的外形也不断在改变。封装时主要考虑的因素:

芯片面积与封装面积之比为提高封装效率,尽量接近1:1
引脚要尽量短以减少延迟,引脚间的距离尽量远,以保证互不干扰,提高性能
基于散热的要求,封装越薄越好
  作为计算机的重要组成部分,CPU的性能直接影响计算机的整体性能。而CPU制造工艺的最后一步也是最关键一步就是CPU的封装技术,采用不同封装技术的CPU,在性能上存在较大差距。只有高品质的封装技术才能生产出完美的CPU产品。

CPU芯片的封装技术:

DIP封装

  DIP封装(Dual In-line Package),也叫双列直插式封装技术,指采用双列直插形式封装的集成电路芯片,绝大多数中小规模集成电路均采用这种封装形式,其引脚数一般不超过100。DIP封装的CPU芯片有两排引脚,需要插入到具有DIP结构的芯片插座上。当然,也可以直接插在有相同焊孔数和几何排列的电路板上进行焊接。DIP封装的芯片在从芯片插座上插拔时应特别小心,以免损坏管脚。DIP封装结构形式有:多层陶瓷双列直插式DIP,单层陶瓷双列直插式DIP,引线框架式DIP(含玻璃陶瓷封接式,塑料包封结构式,陶瓷低熔玻璃封装式)等。

DIP封装具有以下特点:
   1.适合在PCB(印刷电路板)上穿孔焊接,操作方便。
   2.芯片面积与封装面积之间的比值较大,故体积也较大。
  最早的4004、8008、8086、8088等CPU都采用了DIP封装,通过其上的两排引脚可插到主板上的插槽或焊接在主板上。

QFP封装

  这种技术的中文含义叫方型扁平式封装技术(Plastic Quad Flat Pockage),该技术实现的CPU芯片引脚之间距离很小,管脚很细,一般大规模或超大规模集成电路采用这种封装形式,其引脚数一般都在100以上。该技术封装CPU时操作方便,可靠性高;而且其封装外形尺寸较小,寄生参数减小,适合高频应用;该技术主要适合用SMT表面安装技术在PCB上安装布线。
QFP封装   
  这种技术的中文含义叫方型扁平式封装技术(Plastic Quad Flat Pockage),该技术实现的CPU芯片引脚之间距离很小,管脚很细,一般大规模或超大规模集成电路采用这种封装形式,其引脚数一般都在100以上。该技术封装CPU时操作方便,可靠性高;而且其封装外形尺寸较小,寄生参数减小,适合高频应用;该技术主要适合用SMT表面安装技术在PCB上安装布线。

PFP封装

  该技术的英文全称为Plastic Flat Package,中文含义为塑料扁平组件式封装。用这种技术封装的芯片同样也必须采用SMD技术将芯片与主板焊接起来。采用SMD安装的芯片不必在主板上打孔,一般在主板表面上有设计好的相应管脚的焊盘。将芯片各脚对准相应的焊盘,即可实现与主板的焊接。用这种方法焊上去的芯片,如果不用专用工具是很难拆卸下来的。该技术与上面的QFP技术基本相似,只是外观的封装形状不同而已。

PGA封装

  该技术也叫插针网格阵列封装技术(Ceramic Pin Grid Arrau Package),由这种技术封装的芯片内外有多个方阵形的插针,每个方阵形插针沿芯片的四周间隔一定距离排列,根据管脚数目的多少,可以围成2~5圈。安装时,将芯片插入专门的PGA插座。为了使得CPU能够更方便的安装和拆卸,从486芯片开始,出现了一种ZIF CPU插座,专门用来满足PGA封装的CPU在安装和拆卸上的要求。该技术一般用于插拔操作比较频繁的场合之下。

BGA封装

  BGA技术(Ball Grid Array Package)即球栅阵列封装技术。该技术的出现便成为CPU、主板南、北桥芯片等高密度、高性能、多引脚封装的最佳选择。但BGA封装占用基板的面积比较大。虽然该技术的I/O引脚数增多,但引脚之间的距离远大于QFP,从而提高了组装成品率。而且该技术采用了可控塌陷芯片法焊接,从而可以改善它的电热性能。另外该技术的组装可用共面焊接,从而能大大提高封装的可靠性;并且由该技术实现的封装CPU信号传输延迟小,适应频率可以提高很大。

 BGA封装具有以下特点:

1.I/O引脚数虽然增多,但引脚之间的距离远大于QFP封装方式,提高了成品率
2.虽然BGA的功耗增加,但由于采用的是可控塌陷芯片法焊接,从而可以改善电热性能
3.信号传输延迟小,适应频率大大提高
4.组装可用共面焊接,可靠性大大提高

     目前较为常见的封装形式:

OPGA封装   
  OPGA(Organic pin grid Array,有机管脚阵列)。这种封装的基底使用的是玻璃纤维,类似印刷电路板上的材料。 此种封装方式可以降低阻抗和封装成本。OPGA封装拉近了外部电容和处理器内核的距离,可以更好地改善内核供电和过滤电流杂波。AMD公司的AthlonXP系列CPU大多使用此类封装。

mPGA封装   
  mPGA,微型PGA封装,目前只有AMD公司的Athlon 64和英特尔公司的Xeon(至强)系列CPU等少数产品所采用,而且多是些高端产品,是种先进的封装形式。

CPGA封装   
     CPGA也就是常说的陶瓷封装,全称为Ceramic PGA。主要在Thunderbird(雷鸟)核心和“Palomino”核心的Athlon处理器上采用。

FC-PGA封装   
    FC-PGA封装是反转芯片针脚栅格阵列的缩写,这种封装中有针脚插入插座。这些芯片被反转,以至片模或构成计算机芯片的处理器部分被暴露在处理器的上部。通过将片模暴露出来,使热量解决方案可直接用到片模上,这样就能实现更有效的芯片冷却。为了通过隔绝电源信号和接地信号来提高封装的性能,FC-PGA 处理器在处理器的底部的电容放置区域(处理器中心)安有离散电容和电阻。芯片底部的针脚是锯齿形排列的。此外,针脚的安排方式使得处理器只能以一种方式插入插座。FC-PGA 封装用于奔腾 III 和英特尔 赛扬 处理器,它们都使用 370 针。

FC-PGA2封装   
  FC-PGA2 封装与 FC-PGA 封装类型很相似,除了这些处理器还具有集成式散热器 (IHS)。集成式散热器是在生产时直接安装到处理器片上的。由于 IHS 与片模有很好的热接触并且提供了更大的表面积以更好地发散热量,所以它显著地增加了热传导。FC-PGA2 封装用于奔腾 III 和英特尔赛扬处理器(370 针)和奔腾 4 处理器(478 针)。

OOI封装   
  OOI 是 OLGA 的简写。OLGA 代表了基板栅格阵列。OLGA 芯片也使用反转芯片设计,其中处理器朝下附在基体上,实现更好的信号完整性、更有效的散热和更低的自感应。OOI 有一个集成式导热器 (IHS),能帮助散热器将热量传给正确安装的风扇散热器。OOI 用于奔腾 4 处理器,这些处理器有 423 针。

PPGA封装   
 “PPGA”的英文全称为“Plastic Pin Grid Array”,是塑针栅格阵列的缩写,这些处理器具有插入插座的针脚。为了提高热传导性,PPGA 在处理器的顶部使用了镀镍铜质散热器。芯片底部的针脚是锯齿形排列的。此外,针脚的安排方式使得处理器只能以一种方式插入插座。

S.E.C.C.封装   
  “S.E.C.C.”是“Single Edge Contact Cartridge”缩写,是单边接触卡盒的缩写。为了与主板连接,处理器被插入一个插槽。它不使用针脚,而是使用“金手指”触点,处理器使用这些触点来传递信号。S.E.C.C. 被一个金属壳覆盖,这个壳覆盖了整个卡盒组件的顶端。卡盒的背面是一个热材料镀层,充当了散热器。S.E.C.C. 内部,大多数处理器有一个被称为基体的印刷电路板连接起处理器、二级高速缓存和总线终止电路。S.E.C.C. 封装用于有 242 个触点的英特尔奔腾II 处理器和有 330 个触点的奔腾II 至强和奔腾 III 至强处理器。

S.E.C.C.2 封装   
     S.E.C.C.2 封装与 S.E.C.C. 封装相似,除了S.E.C.C.2 使用更少的保护性包装并且不含有导热镀层。S.E.C.C.2 封装用于一些较晚版本的奔腾II 处理器和奔腾 III 处理器(242 触点)。

S.E.P.封装   
 “S.E.P.”是“Single Edge Processor”的缩写,是单边处理器的缩写。“S.E.P.”封装类似于“S.E.C.C.”或者“S.E.C.C.2”封装,也是采用单边插入到Slot插槽中,以金手指与插槽接触,但是它没有全包装外壳,底板电路从处理器底部是可见的。“S.E.P.”封装应用于早期的242根金手指的Intel Celeron 处理器。

PLGA封装
    PLGA是Plastic Land Grid Array的缩写,即塑料焊盘栅格阵列封装。由于没有使用针脚,而是使用了细小的点式接口,所以PLGA封装明显比以前的FC-PGA2等封装具有更小的体积、更少的信号传输损失和更低的生产成本,可以有效提升处理器的信号强度、提升处理器频率,同时也可以提高处理器生产的良品率、降低生产成本。目前Intel公司Socket 775接口的CPU采用了此封装。

CuPGA封装
    CuPGA是Lidded Ceramic Package Grid Array的缩写,即有盖陶瓷栅格阵列封装。其与普通陶瓷封装最大的区别是增加了一个顶盖,能提供更好的散热性能以及能保护CPU核心免受损坏。目前AMD64系列CPU采用了此封装。


CPU : 什么是CPU主频

  CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少兆赫的,而这个多少兆赫就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集,CPU的位数等等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。比如AMD公司的AthlonXP系列CPU大多都能已较低的主频,达到英特尔公司的Pentium 4系列CPU较高主频的CPU性能,所以AthlonXP系列CPU才以PR值的方式来命名。因此主频仅是CPU性能表现的一个方面,而不代表CPU的整体性能。

  CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。举个例子来说,假设某个CPU在一个时钟周期内执行一条运算指令,那么当CPU运行在100MHz主频时,将比它运行在50MHz主频时速度快一倍。因为100MHz的时钟周期比50MHz的时钟周期占用时间减少了一半,也就是工作在100MHz主频的CPU执行一条运算指令所需时间仅为10ns比工作在50MHz主频时的20ns缩短了一半,自然运算速度也就快了一倍。只不过电脑的整体运行速度不仅取决于CPU运算速度,还与其它各分系统的运行情况有关,只有在提高主频的同时,各分系统运行速度和各分系统之间的数据传输速度都能得到提高后,电脑整体的运行速度才能真正得到提高。

  提高CPU工作主频主要受到生产工艺的限制。由于CPU是在半导体硅片上制造的,在硅片上的元件之间需要导线进行联接,由于在高频状态下要求导线越细越短越好,这样才能减小导线分布电容等杂散干扰以保证CPU运算正确。因此制造工艺的限制,是CPU主频发展的最大障碍之一。

什么是总线?
微机中总线一般有内部总线、系统总线和外部总线。内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。

什么是前端总线:“前端总线”这个名称是由AMD在推出K7 CPU时提出的概念,但是一直以来都被大家误认为这个名词不过是外频的另一个名称。我们所说的外频指的是CPU与主板连接的速度,这个概念是建立在数字脉冲信号震荡速度基础之上的,而前端总线的速度指的是数据传输的速度,由于数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz、1066MHz、1333MHz几种,前端总线频率越大,代表着CPU与内存之间的数据传输量越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU。较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。

前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。选购主板和CPU时,要注意两者搭配问题,一般来说,如果CPU不超频,那么前端总线是由CPU决定的,如果主板不支持CPU所需要的前端总线,系统就无法工作。也就是说,需要主板和CPU都支持某个前端总线,系统才能工作,只不过一个CPU默认的前端总线是唯一的,因此看一个系统的前端总线主要看CPU就可以。

北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。显然同等条件下,前端总线越快,系统性能越好。

外频与前端总线频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit=6400Mbit/s=800MByte/s(1Byte=8bit)。CPU : 二级缓存容量


  CPU缓存(Cache Memoney)位于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内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(I-Cache)和指令缓存(D-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,还新增了一种一级追踪缓存,容量为12KB.

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

    双核心CPU的二级缓存比较特殊,和以前的单核心CPU相比,最重要的就是两个内核的缓存所保存的数据要保持一致,否则就会出现错误,为了解决这个问题不同的CPU使用了不同的办法:

Intel双核心处理器的二级缓存
    目前Intel的双核心CPU主要有Pentium D、Pentium EE、Core Duo三种,其中Pentium D、Pentium EE的二级缓存方式完全相同。Pentium D和Pentium EE的二级缓存都是CPU内部两个内核具有互相独立的二级缓存,其中,8xx系列的Smithfield核心CPU为每核心1MB,而9xx系列的Presler核心CPU为每核心2MB。这种CPU内部的两个内核之间的缓存数据同步是依靠位于主板北桥芯片上的仲裁单元通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题比较严重,性能并不尽如人意。
    Core Duo使用的核心为Yonah,它的二级缓存则是两个核心共享2MB的二级缓存,共享式的二级缓存配合Intel的“Smart cache”共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用,性能表现不错,是目前双核心处理器上最先进的二级缓存架构。今后Intel的双核心处理器的二级缓存都会采用这种两个内核共享二级缓存的“Smart cache”共享缓存技术。

AMD双核心处理器的二级缓存
    Athlon 64 X2 CPU的核心主要有Manchester和Toledo两种,他们的二级缓存都是CPU内部两个内核具有互相独立的二级缓存,其中,Manchester核心为每核心512KB,而Toledo核心为每核心1MB。处理器内部的两个内核之间的缓存数据同步是依靠CPU内置的System Request Interface(系统请求接口,SRI)控制,传输在CPU内部即可实现。这样一来,不但CPU资源占用很小,而且不必占用内存总线资源,数据延迟也比Intel的Smithfield核心和Presler核心大为减少,协作效率明显胜过这两种核心。不过,由于这种方式依旧是两个内核的缓存相互独立,从架构上来看也明显不如以Yonah核心为代表的Intel的共享缓存技术Smart Cache


CPU : 多媒体指令集


  CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩展指令集称为"CPU的指令集"。

1、精简指令集的运用

  在最初发明计算机的数十年里,随着计算机功能日趋增大,性能日趋变强,内部元器件也越来越多,指令集日趋复杂,过于冗杂的指令严重的影响了计算机的工作效率。后来经过研究发现,在计算机中,80%程序只用到了20%的指令集,基于这一发现,RISC精简指令集被提了出来,这是计算机系统架构的一次深刻革命。RISC体系结构的基本思路是:抓住CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,提高VLSI器件的使用效率,从而大幅度地提高处理器的性能。

  RISC指令集有许多特征,其中最重要的有:

指令种类少,指令格式规范:RISC指令集通常只使用一种或少数几种格式。指令长度单一(一般4个字节),并且在字边界上对齐,字段位置、特别是操作码的位置是固定的。
寻址方式简化:几乎所有指令都使用寄存器寻址方式,寻址方式总数一般不超过5个。其他更为复杂的寻址方式,如间接寻址等则由软件利用简单的寻址方式来合成。
大量利用寄存器间操作:RISC指令集中大多数操作都是寄存器到寄存器操作,只以简单的Load和Store操作访问内存。因此,每条指令中访问的内存地址不会超过1个,访问内存的操作不会与算术操作混在一起。
简化处理器结构:使用RISC指令集,可以大大简化处理器的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,而不必像CISC处理器那样使用微程序来实现指令操作。因此RISC处理器不必像CISC处理器那样设置微程序控制存储器,就能够快速地直接执行指令。
便于使用VLSI技术:随着LSI和VLSI技术的发展,整个处理器(甚至多个处理器)都可以放在一个芯片上。RISC体系结构可以给设计单芯片处理器带来很多好处,有利于提高性能,简化VLSI芯片的设计和实现。基于VLSI技术,制造RISC处理器要比CISC处理器工作量小得多,成本也低得多。
加强了处理器并行能力:RISC指令集能够非常有效地适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。目前常用的处理器内部并行操作技术基本上是基于RISC体系结构发展和走向成熟的。
  正由于RISC体系所具有的优势,它在高端系统得到了广泛的应用,而CISC体系则在桌面系统中占据统治地位。而在如今,在桌面领域,RISC也不断渗透,预计未来,RISC将要一统江湖。

2、CPU的扩展指令集

  对于CPU来说,在基本功能方面,它们的差别并不太大,基本的指令集也都差不多,但是许多厂家为了提升某一方面性能,又开发了扩展指令集,扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必需要有软件支持。

MMX 指令集
  MMX(Multi Media eXtension,多媒体扩展指令集)指令集是Intel公司于1996年推出的一项多媒体指令增强技术。MMX指令集中包括有57条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处理,这样在软件的配合下,就可以得到更高的性能。MMX的益处在于,当时存在的操作系统不必为此而做出任何修改便可以轻松地执行MMX程序。但是,问题也比较明显,那就是MMX指令集与x87浮点运算指令不能够同时执行,必须做密集式的交错切换才可以正常执行,这种情况就势必造成整个系统运行质量的下降。

SSE指令集
  SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集是Intel在Pentium III处理器中率先推出的。其实,早在PIII正式推出之前,Intel公司就曾经通过各种渠道公布过所谓的KNI(Katmai New Instruction)指令集,这个指令集也就是SSE指令集的前身,并一度被很多传媒称之为MMX指令集的下一个版本,即MMX2指令集。究其背景,原来"KNI"指令集是Intel公司最早为其下一代芯片命名的指令集名称,而所谓的"MMX2"则完全是硬件评论家们和媒体凭感觉和印象对"KNI"的 评价,Intel公司从未正式发布过关于MMX2的消息。

  而最终推出的SSE指令集也就是所谓胜出的"互联网SSE"指令集。SSE指令集包括了70条指令,其中包含提高3D图形运算效率的50条SIMD(单指令多数据技术)浮点运算指令、12条MMX 整数运算增强指令、8条优化内存中连续数据块传输指令。理论上这些指令对目前流行的图像处理、浮点运算、3D运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。SSE指令与3DNow!指令彼此互不兼容,但SSE包含了3DNow!技术的绝大部分功能,只是实现的方法不同。SSE兼容MMX指令,它可以通过SIMD和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。

SSE2指令集
    SSE2(Streaming SIMD Extensions 2,Intel官方称为SIMD 流技术扩展 2或数据流单指令多数据扩展指令集 2)指令集是Intel公司在SSE指令集的基础上发展起来的。相比于SSE,SSE2使用了144个新增指令,扩展了MMX技术和SSE技术,这些指令提高了广大应用程序的运行性能。随MMX技术引进的SIMD整数指令从64位扩展到了128 位,使SIMD整数类型操作的有效执行率成倍提高。双倍精度浮点SIMD指令允许以 SIMD格式同时执行两个浮点操作,提供双倍精度操作支持有助于加速内容创建、财务、工程和科学应用。除SSE2指令之外,最初的SSE指令也得到增强,通过支持多种数据类型(例如,双字和四字)的算术运算,支持灵活并且动态范围更广的计算功能。SSE2指令可让软件开发员极其灵活的实施算法,并在运行诸如MPEG-2、MP3、3D图形等之类的软件时增强性能。Intel是从Willamette核心的Pentium 4开始支持SSE2指令集的,而AMD则是从K8架构的SledgeHammer核心的Opteron开始才支持SSE2指令集的。

SSE3指令集
    SSE3(Streaming SIMD Extensions 3,Intel官方称为SIMD 流技术扩展 3或数据流单指令多数据扩展指令集 3)指令集是Intel公司在SSE2指令集的基础上发展起来的。相比于SSE2,SSE3在SSE2的基础上又增加了13个额外的SIMD指令。SSE3 中13个新指令的主要目的是改进线程同步和特定应用程序领域,例如媒体和游戏。这些新增指令强化了处理器在浮点转换至整数、复杂算法、视频编码、SIMD浮点寄存器操作以及线程同步等五个方面的表现,最终达到提升多媒体和游戏性能的目的。Intel是从Prescott核心的Pentium 4开始支持SSE3指令集的,而AMD则是从2005年下半年Troy核心的Opteron开始才支持SSE3的。但是需要注意的是,AMD所支持的SSE3与Intel的SSE3并不完全相同,主要是删除了针对Intel超线程技术优化的部分指令。

3D Now!(3D no waiting)指令集
  3DNow!是AMD公司开发的SIMD指令集,可以增强浮点和多媒体运算的速度,并被AMD广泛应用于其K6-2 、K6-3以及Athlon(K7)处理器上。3DNow!指令集技术其实就是21条机器码的扩展指令集。

  与Intel公司的MMX技术侧重于整数运算有所不同,3DNow!指令集主要针对三维建模、坐标变换 和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3D处理性能。后来在Athlon上开发了Enhanced 3DNow!。这些AMD标准的SIMD指令和Intel的SSE具有相同效能。因为受到Intel在商业上以及Pentium III成功的影响,软件在支持SSE上比起3DNow!更为普遍。Enhanced 3DNow!AMD公司继续增加至52个指令,包含了一些SSE码,因而在针对SSE做最佳化的软件中能获得更好的效能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-9-29 11:32 , Processed in 0.063645 second(s), 21 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表