7、核心类型
核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。
为了便于CPU设计、生产、销售的管理,CPU制造商会对各种CPU核心给出相应的代号,这也就是所谓的CPU核心类型。
不同的CPU(不同系列或同一系列)都会有不同的核心类型(例如Pentium 4的Northwood,Willamette以及K6-2的CXT和K6-2+的ST-50等等),甚至同一种核心都会有不同版本的类型(例如Northwood核心就分为B0和C1等版本),核心版本的变更是为了修正上一版存在的一些错误,并提升一定的性能,而这些变化普通消费者是很少去注意的。每一种核心类型都有其相应的制造工艺(例如0.25um、0.18um、0.13um以及0.09um等)、核心面积(这是决定CPU成本的关键因素,成本与核心面积基本上成正比)、核心电压、电流大小、晶体管数量、各级缓存的大小、主频范围、流水线架构和支持的指令集(这两点是决定CPU实际性能和工作效率的关键因素)、功耗和发热量的大小、封装方式(例如S.E.P、PGA、FC-PGA、FC-PGA2等等)、接口类型(例如Socket 370,Socket A,Socket 478,Socket T,Slot 1、Socket 940等等)、前端总线频率(FSB)等等。因此,核心类型在某种程度上决定了CPU的工作性能。
一般说来,新的核心类型往往比老的核心类型具有更好的性能(例如同频的Northwood核心Pentium 4 1.8A GHz就要比Willamette核心的Pentium 4 1.8GHz性能要高),但这也不是绝对的,这种情况一般发生在新核心类型刚推出时,由于技术不完善或新的架构和制造工艺不成熟等原因,可能会导致新的核心类型的性能反而还不如老的核心类型的性能。例如,早期Willamette核心Socket 423接口的Pentium 4的实际性能不如Socket 370接口的Tualatin核心的Pentium III和赛扬,现在的低频Prescott核心Pentium 4的实际性能不如同频的Northwood核心Pentium 4等等,但随着技术的进步以及CPU制造商对新核心的不断改进和完善,新核心的中后期产品的性能必然会超越老核心产品。
CPU核心的发展方向是更低的电压、更低的功耗、更先进的制造工艺、集成更多的晶体管、更小的核心面积(这会降低CPU的生产成本从而最终会降低CPU的销售价格)、更先进的流水线架构和更多的指令集、更高的前端总线频率、集成更多的功能(例如集成内存控制器等等)以及双核心和多核心(也就是1个CPU内部有2个或更多个核心)等。CPU核心的进步对普通消费者而言,最有意义的就是能以更低的价格买到性能更强的CPU。
在CPU漫长的历史中伴随着纷繁复杂的CPU核心类型,以下分别就Intel CPU和AMD CPU的主流核心类型作一个简介。主流核心类型介绍(仅限于台式机CPU,不包括笔记本CPU和服务器/工作站CPU,而且不包括比较老的核心类型)。
●Intel 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上,现在低端的赛扬D也大量使用此核心,其与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的赛扬。
Prescott 2M
Prescott 2M是Intel在台式机上使用的核心,与Prescott不同,Prescott 2M支持EM64T技术,也就说可以使用超过4G内存,属于64位CPU,这是Intel第一款使用64位技术的台式机CPU。Prescott 2M核心使用90nm制造工艺,集成2M二级缓存,800或者1066MHz前端总线。目前来说P4的6系列和P4EE CPU使用Prescott 2M核心。Prescott 2M本身的性能并不是特别出众,不过由于集成了大容量二级缓存和使用较高的频率,性能仍然有提升。此外Prescott 2M核心支持增强型IntelSpeedStep技术 (EIST),这技术完全与英特尔的移动处理器中节能机制一样,它可以让Pentium 4 6系列处理器在低负载的时候降低工作频率,这样可以明显降低它们在运行时的工作热量及功耗。
●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的核心类型
Sledgehammer
Sledgehammer是AMD服务器CPU的核心,是64位CPU,一般为940接口,0.13微米工艺。Sledgehammer功能强大,集成三条HyperTransprot总线,核心使用12级流水线,128K一级缓存、集成1M二级缓存,可以用于单路到8路CPU服务器。Sledgehammer集成内存控制器,比起传统上位于北桥的内存控制器有更小的延时,支持双通道DDR内存,由于是服务器CPU,当然支持ECC校验。
Clawhammer
采用0.13um制造工艺,核心电压1.5V左右,二级缓存为1MB,封装方式采用mPGA,采用Hyper Transport总线,内置1个128bit的内存控制器。采用Socket 754、Socket 940和Socket 939接口。
Newcastle
其与Clawhammer的最主要区别就是二级缓存降为512KB(这也是AMD为了市场需要和加快推广64位CPU而采取的相对低价政策的结果),其它性能基本相同。
Wincheste
Wincheste是比较新的AMD Athlon 64CPU核心,是64位CPU,一般为939接口,0.09微米制造工艺。这种核心使用200MHz外频,支持1GHyperTransprot总线,512K二级缓存,性价比较好。Wincheste集成双通道内存控制器,支持双通道DDR内存,由于使用新的工艺,Wincheste的发热量比旧的Athlon小,性能也有所提升。
Troy
Troy是AMD第一个使用90nm制造工艺的Opteron核心。Troy核心是在Sledgehammer基础上增添了多项新技术而来的,通常为940针脚,拥有128K一级缓存和1MB (1,024 KB)二级缓存。同样使用200MHz外频,支持1GHyperTransprot总线,集成了内存控制器,支持双通道DDR400内存,并且可以支持ECC 内存。此外,Troy核心还提供了对SSE-3的支持,和Intel的Xeon相同,总的来说,Troy是一款不错的CPU核心。
Venice
Venice核心是在Wincheste核心的基础上演变而来,其技术参数和Wincheste基本相同:一样基于X86-64架构、整合双通道内存控制器、512KB L2缓存、90nm制造工艺、200MHz外频,支持1GHyperTransprot总线。Venice的变化主要有三方面:一是使用了Dual Stress Liner (简称DSL)技术,可以将半导体晶体管的响应速度提高24%,这样是CPU有更大的频率空间,更容易超频;二是提供了对SSE-3的支持,和Intel的CPU相同;三是进一步改良了内存控制器,一定程度上增加处理器的性能,更主要的是增加内存控制器对不同DIMM模块和不同配置的兼容性。此外Venice核心还使用了动态电压,不同的CPU可能会有不同的电压。
SanDiego
SanDiego核心与Venice一样是在Wincheste核心的基础上演变而来,其技术参数和Venice非常接近,Venice拥有的新技术、新功能,SanDiego核心一样拥有。不过AMD公司将SanDiego核心定位到顶级Athlon 64处理器之上,甚至用于服务器CPU。可以将SanDiego看作是Venice核心的高级版本,只不过缓存容量由512KB提升到了1MB。当然由于L2缓存增加,SanDiego核心的内核尺寸也有所增加,从Venice核心的84平方毫米增加到115平方毫米,当然价格也更高昂。
闪龙系列CPU的核心类型
Paris
Paris核心是Barton核心的继任者,主要用于AMD的闪龙,早期的754接口闪龙部分使用Paris核心。Paris采用90nm制造工艺,支持iSSE2指令集,一般为256K二级缓存,200MHz外频。Paris核心是32位CPU,来源于K8核心,因此也具备了内存控制单元。CPU内建内存控制器的主要优点在于内存控制器可以以CPU频率运行,比起传统上位于北桥的内存控制器有更小的延时。使用Paris核心的闪龙与Socket A接口闪龙CPU相比,性能得到明显提升。
Palermo
Palermo核心目前主要用于AMD的闪龙CPU,使用Socket 754接口、90nm制造工艺,1.4V左右电压,200MHz外频,128K或者256K二级缓存。Palermo核心源于K8的Wincheste核心,不过是32位的。除了拥有与AMD高端处理器相同的内部架构,还具备了EVP、Cool‘n’Quiet;和HyperTransport等AMD独有的技术,为广大用户带来更“冷静”、更高计算能力的优秀处理器。由于脱胎与ATHLON64处理器,所以Palermo同样具备了内存控制单元。CPU内建内存控制器的主要优点在于内存控制器可以以CPU频率运行,比起传统上位于北桥的内存控制器有更小的延时。
●双核心类型
在2005年以前,主频一直是两大处理器巨头Intel和AMD争相追逐的焦点。而且处理器主频也在Intel和AMD的推动下达到了一个又一个的高峰就在处理器主频提升速度的同时,也发现在目前的情况下,单纯主频的提升已经无法为系统整体性能的提升带来明显的好处,并且高主频带来了处理器巨大的发热量,更为不利是Intel和AMD两家在处理器主频提升上已经有些力不从心了。在这种情况下,Intel和AMD都不约而同地将投向了多核心的发展方向在不用进行大规模开发的情况下将现有产品发展成为理论性能更为强大的多核心处理器系统,无疑是相当明智的选择。
双核处理器就基于单个半导体的一个处理器上拥有两个一样功能的处理器核心,即是将两个物理处理器核心整合入一个内核中。事实上,双核架构并不是什么新技术,不过此前双核心处理器一直是服务器的专利,现在已经开始普及之中。
相关术语:
Intel的双核心处理器介绍
目前Intel推出的双核心处理器有Pentium D和Pentium Extreme Edition,同时推出945/955芯片组来支持新推出的双核心处理器,采用90nm工艺生产的这两款新推出的双核心处理器使用是没有针脚的LGA 775接口,但处理器底部的贴片电容数目有所增加,排列方式也有所不同。
桌面平台的核心代号Smithfield的处理器,正式命名为Pentium D处理器,除了摆脱阿拉伯数字改用英文字母来表示这次双核心处理器的世代交替外,D的字母也更容易让人联想起Dual-Core双核心的涵义。
揭开外壳后的双核心Pentium D处理器

双核心构架内部示意图
Intel的双核心构架更像是一个双CPU平台,Pentium D处理器继续沿用Prescott架构及90nm生产技术生产。Pentium D内核实际上由于两个独立的2独立的Prescott核心组成,每个核心拥有独立的1MB L2缓存及执行单元,两个核心加起来一共拥有2MB,但由于处理器中的两个核心都拥有独立的缓存,因此必须保正每个二级缓存当中的信息完全一致,否则就会出现运算错误。

MCH协调两颗核心之间的相互调用
为了解决这一问题,Intel将两个核心之间的协调工作交给了外部的MCH(北桥)芯片,虽然缓存之间的数据传输与存储并不巨大,但由于需要通过外部的MCH芯片进行协调处理,毫无疑问的会对整个的处理速度带来一定的延迟,从而影响到处理器整体性能的发挥。
由于采用Prescott内核,因此Pentium D也支持EM64T技术、XD bit安全技术。值得一提的是,Pentium D处理器将不支持Hyper-Threading技术。原因很明显:在多个物理处理器及多个逻辑处理器之间正确分配数据流、平衡运算任务并非易事。比如,如果应用程序需要两个运算线程,很明显每个线程对应一个物理内核,但如果有3个运算线程呢?因此为了减少双核心Pentium D架构复杂性,英特尔决定在针对主流市场的Pentium D中取消对Hyper-Threading技术的支持。
同出自Intel之手,而且Pentium D和Pentium Extreme Edition两款双核心处理器名字上的差别也预示着这两款处理器在规格上也不尽相同。其中它们之间最大的不同就是对于超线程(Hyper-Threading)技术的支持。Pentium D不能支持超线程技术,而Pentium Extreme Edition则没有这方面的限制。在打开超线程技术的情况下,双核心Pentium Extreme Edition处理器能够模拟出另外两个逻辑处理器,可以被系统认成四核心系统。
AMD的双核心处理器介绍
AMD推出的双核心处理器分别是双核心的Opteron系列和全新的Athlon 64 X2系列处理器。其中Athlon 64 X2是用以抗衡Pentium D和Pentium Extreme Edition的桌面双核心处理器系列。
AMD推出的Athlon 64 X2是由两个Athlon 64处理器上采用的Venice核心组合而成,每个核心拥有独立的512KB(1MB) L2缓存及执行单元。除了多出一个核芯之外,从架构上相对于目前Athlon 64在架构上并没有任何重大的改变。
Athlon 64 X2(左侧)与普通Athlon 64的对比
双核心Athlon 64 X2的大部分规格、功能与我们熟悉的Athlon 64架构没有任何区别,也就是说新推出的Athlon 64 X2双核心处理器仍然支持1GHz规格的HyperTransport总线,并且内建了支持双通道设置的DDR内存控制器。
与Intel双核心处理器不同的是,Athlon 64 X2的两个内核并不需要经过MCH进行相互之间的协调。AMD在Athlon 64 X2双核心处理器的内部提供了一个称为System Request Queue(系统请求队列)的技术,在工作的时候每一个核心都将其请求放在SRQ中,当获得资源之后请求将会被送往相应的执行核心,也就是说所有的处理过程都在CPU核心范围之内完成,并不需要借助外部设备。
AMD Athlon 64 X2内部示意图
对于双核心架构,AMD的做法是将两个核心整合在同一片硅晶内核之中,而Intel的双核心处理方式则更像是简单的将两个核心做到一起而已。与Intel的双核心架构相比,AMD双核心处理器系统不会在两个核心之间存在传输瓶颈的问题。因此从这个方面来说,Athlon 64 X2的架构要明显优于Pentium D架构。
虽然与Intel相比,AMD并不用担心Prescott核心这样的功耗和发热大户,但是同样需要为双核心处理器考虑降低功耗的方式。为此AMD并没有采用降低主频的办法,而是在其使用90nm工艺生产的Athlon 64 X2处理器中采用了所谓的Dual Stress Liner应变硅技术,与SOI技术配合使用,能够生产出性能更高、耗电更低的晶体管。
AMD推出的Athlon 64 X2处理器给用户带来最实惠的好处就是,不需要更换平台就能使用新推出的双核心处理器,只要对老主板升级一下BIOS就可以了,这与Intel双核心处理器必须更换新平台才能支持的做法相比,升级双核心系统会节省不少费用。9、前端总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以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外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。此外,在前端总线中比较特殊的是AMD64的HyperTransport。
HyperTransport
HyperTransport最初是AMD在1999年提出的一种总线技术,随着AMD64位平台的发布和推广,HyperTransport应用越来越广泛,也越来越被人们所熟知。
HyperTransport是一种为主板上的集成电路互连而设计的端到端总线技术,它可以在内存控制器、磁盘控制器以及PCI总线控制器之间提供更高的数据传输带宽。HyperTransport采用类似DDR的工作方式,在400MHz工作频率下,相当于800MHz的传输频率。此外HyperTransport是在同一个总线中模拟出两个独立数据链进行点对点数据双向传输,因此理论上最大传输速率可以视为翻倍,具有4、8、16及32位频宽的高速序列连接功能。在400MHz下,双向4bit模式的总线带宽为0.8GB/sec,双向8bit模式的总线带宽为1.6GB/sec;800MHz下,双向8bit模式的总线带宽为3.2GB/sec,双向16bit模式的总线带宽为6.4GB/sec,双向32bit模式的总线带宽为12.8GB/sec。以400MHz下,双向4bit模式为例,带宽计算方法为400MHz×2×2×4bit÷8=0.8GB/sec。
HyperTransport还有一大特色,就是当数据位宽并非32bit时,可以分批传输数据来达到与32bit相同的效果。例如16bit的数据就可以分两批传输,8bit的数据就可以分四批传输,这种数据分包传输的方法,给了HyperTransport在应用上更大的弹性空间。
2004年2月,HyperTransport技术联盟(Hyper Transport Technology Consortium)又正式发布了HyperTransport 2.0规格,由于采用了Dual-data技术,使频率成功提升到了1.0GHz、1.2GHz和1.4GHz,数据传输带宽由每通道1.6Gb/sec提升到了2.0GB/sec、2.4Gb/sec和2.8GB/sec,最大带宽由原来的12.8Gb/sec提升到了22.4GB/sec。
当HyperTransport应用于内存控制器时,其实也就类似于传统的前端总线(FSB,Front Side Bus),因此对于将HyperTransport技术用于内存控制器的CPU来说,其HyperTransport的频率也就相当于前端总线的频率。
目前各种CPU的前端总线频率(FSB):
●Intel平台
Willamette核心CPU:
所有Willamette核心CPU的FSB都是400MHz FSB。
Northwood核心CPU:
相对于Willamette核心CPU,Northwood核心CPU的前端总线频率则非常复杂,400MHz、533MHz和800MHz都有。其中,Celeron全部都是400MHz FSB;Pentium 4方面,1.6GHz-2.8GHz都有400MHz FSB的产品,例如1.8A、2.0A等等,Pentium 4型号后面带有"B"字样的则是533MHz FSB,带有"C"字样的则是800MHz FSB。
Prescott核心CPU:
Prescott核心的Celeron D,无论是Socket 478接口还是Socket 775接口,全部都是533MHz FSB。
Socket 478接口的Pentium 4方面,2.4A和2.8A是533MHz FSB,其余的Socket 478 Pentium 4都是800MHz FSB,在产品型号后面带有"E"字样。
Socket 775接口的Pentium 4 5XX系列方面,编号尾数为"5"的是533MHz FSB,例如Pentium 4 505/515;编号尾数为"0"的是800MHz FSB,例如Pentium 4 520/530/540等等。即将推出的Pentium 4 6XX系列CPU则都是800MHz FSB。
Pentium 4至尊版(即Pentium 4 EE,又称Pentium 4 XE):
所有Socket 478接口的Pentium 4 EE都是800MHz FSB。而Socket 775接口的Pentium 4 EE,3.4GHz是800MHz FSB,而3.46GHz则是1066MHz FSB,这是目前PC上最高的前端总线频率,而且今后推出的所有Pentium 4 EE都会采用1066MHz FSB。
Xeon和Xeon MP:
所有Xeon MP都是400MHz FSB;Socket 603接口的Xeon也是400MHz FSB;Socket 604接口的Xeon中,支持Intel 64位计算技术EM64T的Xeon是800MHz FSB,而不支持EM64T的Xeon则是533MHz FSB。
●AMD平台
Socket A平台:
Socket A接口的Sempron是333MHz FSB,Socket 754接口的Sempron部分是333MHz FSB,使用0.09微米工艺的Sempron是800MHz FSB;Athlon XP方面,Palomino核心为266MHz FSB,Thoroughbred核心为266MHz和333MHz FSB,Barton核心为333MHz和400MHz FSB,而Thorton核心则为333MHz FSB。
AMD64平台:
Socket 754接口CPU的HyperTransport频率是800MHz;Socket 939接口CPU的HyperTransport频率是1000MHz;而Socket 940接口CPU的HyperTransport频率也是800MHz。
10、外频
外频是CPU乃至整个计算机系统的基准频率,单位是MHz(兆赫兹)。在早期的电脑中,内存与主板之间的同步运行的速度等于外频,在这种方式下,可以理解为CPU外频直接与内存相连通,实现两者间的同步运行状态。对于目前的计算机系统来说,两者完全可以不相同,但是外频的意义仍然存在,计算机系统中大多数的频率都是在外频的基础上,乘以一定的倍数来实现,这个倍数可以是大于1的,也可以是小于1的。
说到处理器外频,就要提到与之密切相关的两个概念:倍频与主频,主频就是CPU的时钟频率;倍频即主频与外频之比的倍数。主频、外频、倍频,其关系式:主频=外频×倍频。
在486之前,CPU的主频还处于一个较低的阶段,CPU的主频一般都等于外频。而在486出现以后,由于CPU工作频率不断提高,而PC机的一些其他设备(如插卡、硬盘等)却受到工艺的限制,不能承受更高的频率,因此限制了CPU频率的进一步提高。因此出现了倍频技术,该技术能够使CPU内部工作频率变为外部频率的倍数,从而通过提升倍频而达到提升主频的目的。倍频技术就是使外部设备可以工作在一个较低外频上,而CPU主频是外频的倍数。
在Pentium时代,CPU的外频一般是60/66MHz,从Pentium Ⅱ 350开始,CPU外频提高到100MHz,目前CPU外频已经达到了200MHz。由于正常情况下外频和内存总线频率相同,所以当CPU外频提高后,与内存之间的交换速度也相应得到了提高,对提高电脑整体运行速度影响较大。
外频与前端总线(FSB)频率很容易被混为一谈。前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。
11、倍频
CPU的倍频,全称是倍频系数。CPU的核心工作频率与外频之间存在着一个比值关系,这个比值就是倍频系数,简称倍频。理论上倍频是从1.5一直到无限的,但需要注意的是,倍频是以0.5为一个间隔单位。外频与倍频相乘就是主频,所以其中任何一项提高都可以使CPU的主频上升。
原先并没有倍频概念,CPU的主频和系统总线的速度是一样的,但CPU的速度越来越快,倍频技术也就应允而生。它可使系统总线工作在相对较低的频率上,而CPU速度可以通过倍频来无限提升。那么CPU主频的计算方式变为:主频 = 外频 x 倍频。也就是倍频是指CPU和系统总线之间相差的倍数,当外频不变时,提高倍频,CPU主频也就越高。
12、制作工艺
通常我们所说的CPU的“制作工艺”指得是在生产CPU过程中,要进行加工各种电路和电子元件,制造导线连接各个元器件。通常其生产的精度以微米(长度单位,1微米等于千分之一毫米)来表示,未来有向纳米(1纳米等于千分之一微米)发展的趋势,精度越高,生产工艺越先进。在同样的材料中可以制造更多的电子元件,连接线也越细,提高CPU的集成度,CPU的功耗也越小。
制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展,。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。微电子技术的发展与进步,主要是靠工艺技术的不断改进,使得器件的特征尺寸不断缩小,从而集成度不断提高,功耗降低,器件性能得到提高。芯片制造工艺在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调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在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处理器时,还新增了一种一级追踪缓存,容量为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到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高。
14、核心电压
CPU的工作电压(Supply Voltage),即CPU正常工作所需的电压。任何电器在工作的时候都需要电,自然也有对应额定电压,CPU也不例外。目前CPU的工作电压有一个非常明显的下降趋势,较低的工作电压主要三个优点:
采用低电压的CPU的芯片总功耗降低了。功耗降低,系统的运行成本就相应降低,这对于便携式和移动系统来说非常重要,使其现有的电池可以工作更长时间,从而使电池的使用寿命大大延长;
功耗降低,致使发热量减少,运行温度不过高的CPU可以与系统更好的配合;
降低电压是CPU主频提高的重要因素之一。
CPU的工作电压分为两个方面,CPU的核心电压与I/O电压。核心电压即驱动CPU核心芯片的电压,I/O电压则指驱动I/O电路的电压。通常CPU的核心电压小于等于I/O电压。
早期CPU(286~486时代)的核心电压与I/O一致,通常为5V,由于当时的制造工艺相对落后,以致CPU的发热量过大,导致其寿命缩短。不过那时的CPU集成度很低,而目前的CPU集成度相当高,因此显得现在的CPU发热量更大。随着CPU的制造工艺提高,近年来各种CPU的工作电压有逐步下降的趋势,目前台式机用CPU核电压通常为2V以内,笔记本专用CPU的工作电压相对更低,从而达到大幅减少功耗的目的,以延长电池的使用寿命,并降低了CPU发热量。而且现在的CPU会通过特殊的电压ID(VID)引脚来指示主板中嵌入的电压调节器自动设置正确的电压级别。
许多面向新款CPU的主板都会提供特殊的跳线或者软件设置,通过这些跳线或软件,可以根据具体需要手动调节CPU的工作电压。很多实验表明在超频的时候适度提高核心电压,可以加强CPU内部信号,对CPU性能的提升会有很大帮助——但这样也会提高CPU的功耗,影响其寿命及发热量,建议一般用户不要进行此方面的操作。
15、超线程技术
CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。目前支持超线程技术的芯片组包括如:英特尔i845GE、PE及矽统iSR658 RDRAM、SiS645DX、SiS651可直接支持超线程;英特尔i845E、i850E通过升级BIOS后可支持;威盛P4X400、P4X400A可支持,但未获得正式授权。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。
16、3D Now
由AMD公司提出的3DNow!指令集应该说出现在SSE指令集之前,并被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做最佳化的软件中能获得更好的效能。
17、多媒体指令集
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运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。S SE指令与3DNow!指令彼此互不兼容,但SSE包含了3DNow!技术的绝大部分功能,只是实现的方法不同。SSE兼容MMX指令,它可以通过SIMD和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。
在后来Intel为了应对AMD的3Dnow!+指令集,又在SSE的基础上开发了SSE2,增加了一些指令,使得其P4处理器性能有大幅度提高。到P4设计结束为止,Intel增加了一套包括144条新建指令的SSE2指令集。像最早的SIMD扩展指令集,SSE2涉及了多重的数据目标上立刻执行一单个的指令(即SIMD,一个计算低工控最好的方法是让每指令执行更多的工作)。最重要的是SSE2能处理128位和两倍精密浮点数学运算。处理更精确浮点数的能力使SSE2成为加速多媒体程序、3D处理工程以及工作站类型任务的基础配置。但重要的是软件是否能适当的优化利用它。
3D Now !指令集
由AMD公司提出的3DNow!指令集应该说出现在SSE指令集之前,并被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做最佳化的软件中能获得更好的效能。
18、双核心类型
在2005年以前,主频一直是两大处理器巨头Intel和AMD争相追逐的焦点。而且处理器主频也在Intel和AMD的推动下达到了一个又一个的高峰就在处理器主频提升速度的同时,也发现在目前的情况下,单纯主频的提升已经无法为系统整体性能的提升带来明显的好处,并且高主频带来了处理器巨大的发热量,更为不利是Intel和AMD两家在处理器主频提升上已经有些力不从心了。在这种情况下,Intel和AMD都不约而同地将投向了多核心的发展方向在不用进行大规模开发的情况下将现有产品发展成为理论性能更为强大的多核心处理器系统,无疑是相当明智的选择。
双核处理器就基于单个半导体的一个处理器上拥有两个一样功能的处理器核心,即是将两个物理处理器核心整合入一个内核中。事实上,双核架构并不是什么新技术,不过此前双核心处理器一直是服务器的专利,现在已经开始普及之中。
相关术语:
Intel的双核心处理器介绍(见 7 、核心类型)
AMD 的双核心处理器介绍(见7、核心类型)