您正在编辑百科词条:
CPU
每隔数分钟您的编辑结果将被自动保存
文字样式 正文 小标题 引文 名言或诗词 标记、关注或强调
CPUCPU:Central Processing Unit,中央处理单元,又叫中央处理器或微处理器,被喻为电脑的心脏。CPU的发展很快,已由原来的4位处理器发展到64位处理器,由单核发展成双核三核四核甚至多核,频率增高,速度更快,纳米级的制造工艺,使芯片更小,功耗也进一步降低,节省更多的电能。价格也越来越便宜。
CPU是Central Processing Unit(中央微处理器)的缩写,它是计算机中最重要的一个部分,由运算器和控制器组成。如果把计算机比作人,那么CPU就是人的心脏。CPU的发展非常迅速,个人电脑从8088(XT)发展到现在的Pentium Ⅲ时代,只经过了不到20年的时间。从生产技术来说,最初的8088集成了29000个晶体管,而PentiumⅢ的集成度超过了2810万个晶体管;CPU的运行速度,以MIPS(百万个指令每秒)为单位,8088是0.75MIPS,到高能奔腾时已超过了1000MIPS。不管什么样的CPU,其内部结构归纳起来都可以分为控制单元、逻辑单元和存储单元三大部分,这三个部分相互协调,对命令和数据进行分析、判断、运算并控制计算机各部分协调工作。
CPU从最初发展至今已经有二十多年的历史了,这期间,按照其处理信息的字长,CPU可以分为:4位微处理器、8位微处理器、16位微处理器、32位微处理器以及正在酝酿构建的64位微处理器,可以说个人电脑的发展是随着CPU的发展而前进的。
Intel 4004Intel 4004
1971年,英特尔公司推出了世界上第一款微处理器4004,这是第一个用于微型计算机的4位微处理器,它包含2300个晶体管,随后英特尔又推出了8008,由于运算性能很差,其市场反应十分不理想。1974年,8008发展成8080,成为第二代微处理器。8080作为代替电子逻辑电路的器件被用于各种应用电路和设备中,如果没有微处理器,这些应用就无法实现。
由于微处理器可用来完成很多以前需要用较大设备完成的计算任务,价格又便宜,于是各半导体公司开始竞相生产微处理器芯片。Zilog公司生产了8080的增强型Z80,摩托罗拉公司生产了6800,英特尔公司于1976年又生产了增强型8085,但这些芯片基本没有改变8080 的基本特点,都属于第二代微处理器。它们均采用NMOS工艺,集成度约9000只晶体管,平均指令执行时间为1μS~2μS,采用汇编语言、BASIC、Fortran编程,使用单用户操作系统。
Intel 8086
1978年英特尔公司生产的8086是第一个16位的微处理器。很快Zilog公司和摩托罗拉公司也宣布计划生产Z8000和68000。这就是第三代微处理器的起点。
8086微处理器最高主频速度为8MHz,具有16位数据通道,内存寻址能力为1MB。同时英特尔还生产出与之相配合的数学协处理器i8087,这两种芯片使用相互兼容的指令集,但在i8087指令集中增加了一些专门用于对数、指数和三角函数等数学计算的指令。由于这些指令集应用于i8086和i8087,所以人们对这些指令集统一称之为x86指令集。虽然以后英特尔又陆续生产出第二代、第三代等更先进和更快的新型CPU,但都仍然兼容原来的x86指令,而且英特尔在后续CPU的命名上沿用了原先的x86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。
1979年,英特尔公司又开发出了8088。8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每周期能传送或接收16位数据,而8088每周期只采用8位。因为最初的大部分设备和芯片是8位的,而8088的外部8位数据传送、接收能与这些设备相兼容。8088采用40针的DIP封装,工作频率为6.66MHz、7.16MHz或8MHz,微处理器集成了大约29000个晶体管。
8086和8088问世后不久,英特尔公司就开始对他们进行改进,他们将许多功能集成在一块芯片上,这样就诞生了80186和80188。这两款微处理器内部均以16位工作,在外部输入输出上80186采用16位,而80188和8088一样均是采用8位工作。从这个时候起,AMD公司已经开始生产80186 CPU了。
1981年8088芯片首次用于IBM PC机中,开创了全新的微机时代。也正是从8088开始,个人电脑(PC)的概念开始在全世界范围内发展起来。
IBM PC/XT微机的主板采用的总线分为三层,第一层为CPU总线AD7~0,它联接CPU;第二层为系统总线D7~0;第三层有存贮总线MD7~0和扩充总线CD7~0,其中存贮器总线连接存贮器,扩充总线连接主板上所有输入输出设备和只读存贮器EPROM。CPU焊接在主板上,不能像现在这样可以对CPU进行升级。
从8088应用到IBM PC机上开始,个人电脑真正走进了人们的工作和生活之中,它也标志着一个新时代的开始。
Intel 80286Intel 80286
1982年,英特尔公司在8086的基础上,研制出了80286微处理器,该微处理器的最大主频为20MHz,内、外部数据传输均为16位,使用24位内存储器的寻址,内存寻址能力为16MB。80286可工作于两种方式,一种叫实模式(相当于与MS DOS兼容,具有8086与8088芯片的限制),另一种叫保护方式 (增加了微处理器的功能)。在实模式下,微处理器可以访问的内存总量限制在1兆字节;而在保护方式之下,80286可直接访问16兆字节的内存。此外,80286工作在保护方式之下,可以保护操作系统,使之不像实模式或8086等不受保护的微处理器那样在遇到异常应用时会使系统遭到停机。IBM公司将80286微处理器用在先进技术微机即AT机中,引起了极大的轰动。80286在以下四个方面比它的前辈有显著的改进:支持更大的内存。达到了当时前所未有的16MB;能够模拟内存空间。这使得微处理器可以使用外存储设备模拟的大量存储空间,这样就大大扩展了80286所能胜任的工作范围;能同时运行多个任务。多任务是通过多任务硬件机构使微处理器在各种任务间来回快速切换;处理速度。最早PC机的速度是4MHz,第一台基于80286的AT机运行速度为6MHz至8MHz,一些制造商还自行提高速度,使80286达到了20MHz,这确实意味着性能上有了重大的进步。
80286的封装是一种被称为PGA的正方形包装。PGA是源于PLCC的便宜封装,它有一块内部和外部固体插脚,在这个封装中,80286集成了大约130000个晶体管。
IBM PC/AT微机的总线保持了XT的三层总线结构,并增加了高低位字节总线驱动器转换逻辑和高位字节总线。与XT机一样,CPU也是焊接在主板上的。
那时的原装机仅指IBM PC机,而兼容机就是除了IBM PC以外的其它机器。在当时,生产CPU的公司除英特尔外,还有AMD及西门子公司等,而人们对自己电脑用的什么CPU也不关心,因为AMD等公司生产的CPU几乎同英特尔的一样,直到486时代人们才关心起自己的CPU来。
8086~80286这个时代是个人电脑起步的时代,当时在国内使用甚至见到过PC机的人很少,它在人们心中是一个神秘的东西。到九十年代初,国内才开始普及计算机。
Intel 80386Intel 80386
1985年春天的时候,英特尔公司已经成为了第一流的芯片公司。但它的8088/8086和80286芯片还没有占到压倒性的优势—尽管这些芯片非常成功。像Zilog公司和摩托罗拉公司,凭借着自己毫不逊色甚至稍高一筹的芯片产品,成为英特尔公司的强有力竞争者。而蓝色巨人IBM正在秘密研究自己的CPU—286,AMD公司也开始涉足到CPU制造领域,他们将正在开发的第一块芯片称为386。而这个时候,英特尔公司的主营业务还不是CPU,而是存储器。
英特尔决心全力开发32位核心的CPU—80386,而逐渐放弃存储器业务。Intel给80386设计了三个技术要点:使用“类286”结构,开发80387协微处理器增强浮点运算能力,开发配套高速缓存解决内存速度瓶颈。
1985年10月17日,英特尔的划时代的产品80386DX正式发布了,其内部包含27.5万个晶体管,时钟频率为12.5MHz,后逐步提高到20MHz、25MHz、33MHz,最后还有少量的40MHz产品。80386DX的内部和外部数据总线是32位,地址总线也是32位,可以寻址到4GB内存,并可以管理64TB的虚拟存储空间。它的运算模式除了具有实模式和保护模式以外,还增加了一种“虚拟86”的工作方式,可以通过同时模拟多个8086微处理器来提供多任务能力。80386DX有比80286更多的指令,频率为12.5MHz的80386每秒钟可执行6百万条指令,比频率为16MHz的80286快2.2倍。80386最经典的产品为80386DX-33MHz,一般我们说的80386就是指得它。
由于32位微处理器的强大运算能力,PC的应用扩展到很多的领域,如商业办公和计算、工程设计和计算、数据中心、个人娱乐。80386使32位CPU成为了PC工业的标准。
同时,80386采用“类286”总线结构,这样就可以保持软硬件的兼容性,可以利用现有技术和配件,降低整机的开发和制造成本。另外,80386有三种工作模式,适应的操作系统比较多,而且对现有的程序兼容性比较好。多任务处理一贯是大中型机的专利,但80386将多任务性能引入,在80386中有个用任务寄存器,用任务寄存器来管理任务的内存段,从而实现任务的切换。多任务使80386以一种广泛的适应性和一种重要的工具进入了各行各业。
虽然当时80386没有完善和强大的浮点运算单元,但配上80387协处理器,80386就可以顺利完成AutoCAD等需要大量浮点运算的任务,从而顺利进入了主流的商用电脑市场。另外,30386还有其他丰富的外围配件支持,如82258(DMA控制器)、8259A(中断控制器)、8272(磁盘控制器)、82385(Cache控制器)、82062(硬盘控制器)等。
针对内存的速度瓶颈,英特尔为80386设计了高速缓存(Cache),采取预读内存的方法来缓解这个速度瓶颈。本来最初的设计,80386将内置L1 Cache,但由于工艺、成本、工期等等方面的限制,80386最后并没有内置L1 Cache,而是将专门开发的L1 Cache芯片放置在CPU之外的主板上,但从此以后,Cache就和CPU成为了如影随形的东西。另外,80386的内存管理非常先进,有页式、段式、段页式三种管理方式,可以管理巨大的内存空间,从而为应用程序提供足够的舞台。
Intel 80387/80287
严格地说,80387并不是一块真正意义上的CPU,而是配合80386DX的协处理芯片,也就是说,80387只能协助80386完成浮点运算方面的功能,功能很单一。而80386则是一块可以独立运行的CPU。但用户可以选择80386是否搭配80387以增强系统的浮点运算性能。80387随着80386DX一起发布,很多80386DX的主板上,有一个80387插槽,插上80387,系统可以自动检测80387协微处理器,然后将浮点运算交给它。由于英特尔使用80387协微处理器为需要的用户增强80386的运算性能,而一般注重成本的用户则可不用昂贵的80387协微处理器,而直接用80386来软件模拟硬件浮点运算。另外,还有一种80287协微处理器芯片,也支持80386,但使用的插座和80387不尽相同,二者不能混用。
Intel 80386SX
1989年英特尔公司又推出准32位微处理器芯片80386SX。这是Intel为了扩大市场份额而推出的一种较便宜的普及型CPU,它的内部数据总线为32位,与80386相同,外部数据总线为16位。也就是说,80386SX仍然可以使用32位、16位、8位编程,其内部处理速度与80386DX接近,也支持真正的多任务操作,而它又可以接受为80286开发的16位输入/输出接口芯片,降低整机成本。80386SX和80386DX的关系,就好像早期的8088和8086的关系,在输入输出的位长上的区别,其“S”就表示单(16位数据总线),“D”就表示双(32位数据总线)。80386SX使用的协微处理器是80387SX。
80386SX推出后,受到市场的广泛的欢迎,因为80386SX的性能大大优于80286,而价格只是80386的三分之一。真正是推进了个人电脑的发展。
Intel 80386SL/80386DL
英特尔在1990年推出了专门用于笔记本电脑的80386SL和80386DL两种型号的386芯片。这两个类型的芯片可以说是80386DX/SX的节能型,其中,80386DL是基于80386DX内核,而80386SL是基于80386SX内核的。这两种类型的芯片,不但耗电少,而且具有电源管理功能,在CPU不工作的时候,自动切断电源供应。
Motorola 68000
摩托罗拉的68000是最早推出的32位微微处理器,当时是1984年,推出后,性能超群,并获得如日中天的苹果公司青睐,在自己的划时代个人电脑“PC-MAC”中采用该芯片。但80386推出后,日渐没落。
AMD Am386SX/DX
AMD的Am386SX/DX是兼容80386DX的第三方芯片,性能上和英特尔的80386DX相差无己,也成为当时的主流产品之一。
IBM 386SLC这个是由IBM在研究80386的基础上设计的,和80386完全兼容,由英特尔生产制造。386SLC基本上是一个在80386SX的基础上配上内置Cache,同时包含80486SX的指令集,性能也不错。
Intel 80486Intel 80486
1989年,我们大家耳熟能详的80486芯片由英特尔推出。这款经过四年开发和3亿美元资金投入的芯片的伟大之处在于它首次实破了100万个晶体管的界限,集成了120万个晶体管,使用1微米的制造工艺。80486的时钟频率从25MHz逐步提高到33MHz、40MHz、50MHz。80486是存集成在一个芯片内。80486中集成的80487的数字运算速度是以前80387的两倍,内部缓存缩短了微处理器与慢速DRAM的等待时间。并且,在80x86系列中首次采用了RISC(精简指令集)技术,可以在一个时钟周期内执行一条指令。它还采用了突发总线方式,大大提高了与内存的数据交换速度。由于这些改进,80486的性能比带有80387数学协微处理器的80386 DX性能提高了4倍。早期的486分为有协微处理器的486 DX和无协微处理器的486 SX两种,其价格也相差许多。
随着芯片技术的不断发展,CPU的频率越来越快,而PC机外部设备受工艺限制,能够承受的工作频率有限,这就阻碍了CPU主频的进一步提高。在这种情况下,出现了CPU倍频技术,该技术使CPU内部工作频率为微处理器外频的2~3倍,486 DX2、486 DX4的名字便是由此而来。随后,我们还看到了很多486的型号,不过通常80486 CPU一般具有以下的特点:80486 CPU是32位微微处理器,最大寻址范围是4096MB;80486 CPU可以在一个时钟周期内执行一条指令,而386执行一条指令至少需要两个时钟周期;80486 CPU内部带有8KB的内置超高速缓冲存储器(即L1)。由于内置超高速缓冲存储器的读写速度比外置的高速缓冲存储器快,所以这是486比386快的重要原因之一;80486 CPU支持VESA和PCI局部总线,而386仅支持8位或16位的ISA总线,而VESA和PCI局部总线的速度要快得多;80486 CPU为正四边形,每边3排引脚,共168只引脚。
Intel 80486 DX
常见的80486 CPU有80486 DX-33、40、50。486 CPU与386 DX一样内外都是32位的,但是最慢的486 CPU也比最快的386 CPU要快,这是因为486 SX/DX执行一条指令,只需要一个振荡周期,而386DX CPU却需要两个周期。
Intel 80486 SX
因为80486 DX CPU具有内置的浮点协微处理器,功能强大,当然价格也就比较昂贵。为了适应普通的用户的需要,尤其是不需要进行大量浮点运算的用户,英特尔公司推出了486 SX CPU。80486 SX主板上一般都有80487协微处理器插座,如果需要浮点协微处理器的功能,可以插上一个80487协微处理器芯片,这样就等同于486 DX了。常见的80486 SX CPU有:80486 SX-25、33。
Intel 80486 DX2/DX4
其实这种CPU的名字与频率是有关的,这种CPU的内部频率是主板频率的两倍,如80486 DX2-66,CPU的频率是66MHz,而主板的频率只要是33MHz就可以了。由此可知,如果主板使用的是80486 DX-33的,只要更换一个80486 DX2-66的CPU就可以达到升级的目的了。常见的80486 DX2 CPU有:80486 DX2-50、66。80486 DX2 CPU有8KB的Cache,而80486 DX4则有16KB的Cache。常见的80486 DX4 CPU有80486 DX4-75、100。同期AMD与Cyrix都及时推出了相同主频的产品。
Intel 80486 SL CPU
80486 SL CPU最初是为笔记本电脑和其他便携机设计的,与386SL一样,这种芯片使用3.3V而不是5V电源,而且也有内部切断电路,使微处理器和其他一些可选择的部件在不工作时,处于休眠状态,这样就可以减少笔记本电脑和其他便携机的能耗,延长使用时间。
Intel 486 OverDrive
升级486 SX可以在主板的协微处理器插槽上安装一个80487SX芯片,使其等效于486DX,但是这样升级后,只是增加了浮点协微处理器的能力,并没有提高系统的速度。为了提高系统的速度,还有另外一种升级的方法,就是在协微处理器插槽上插上一个486 OverDrive CPU,它的原理与486 DX2 CPU一样,其内部操作速度可以是外部速度的两倍。如一个20MHz的主板上安插了OverDrive CPU之后,CPU内部的操作速度可以达到40MHz。486 OverDrive CPU也有浮点协微处理器的功能,常见的有:OverDrive-50、66、80。
TI 486 DX
作为全球知名的半导体厂商之一,美国德州仪器(TI)也在486时代异军突起,它自行生产了486 DX系列CPU,尤其在486DX2成为主流后,其DX2-80因较高的性价比成为当时主流产品之一,TI 486最高主频为DX4-100,但其后再也没有进入过CPU市场。
Cyrix 486DLC
这是Cyrix公司生产的486 CPU,说它是486 CPU,是指它的效率上逼近486 CPU,却并不是严格意义上的486 CPU,这是由486 CPU的特点而定的。486DLC CPU只是将386DX CPU与1K Cache组合在一块芯片里,没有内含浮点协微处理器,执行一条指令需要两个振荡周期。但是由于486DLC CPU设计精巧,486DLC-33 CPU的效率逼近英特尔公司的486 SX-25,而486DLC-40 CPU则超过了486 SX-25,并且486DLC-40 CPU的价格比486 SX-25便宜。486DLC CPU是为了升级386DM而设计的,如果原来有一台386电脑,想升级到486,但是又不想更换主板,就可以拔下原来的386 CPU,插上一块486DLC CPU就可以了。
Cyrix 5x86
自从英特尔另辟蹊径,开发了Pentium之后,Cyrix也很快推出了自己的新一代产品5x86。它仍然延用原来486系列的CPU插座,而将主频从100MHz提高到120MHz。主频标识也变为5x86 PR120,它的自标是针对英特尔推出的Pentium75,但5x86可以说是一款失败的产品。5x86比起486来说性能是有所增加,可是比起Pentium来说,不但浮点性能远远不足,就连Cyrix一向自豪的整数运算性能也不那么高超,给人一种比上不足比下有余的感觉。由于5x86可以使用486的主板,因此我们一般将它看成是过渡产品。其间由于Cyrix CPU为IBM代工生产,所以从486起在市场上同时出现了与它核心相同的IBM CPU,这种情形一直持续到Cyrix的MⅡ为止。
AMD 5x86
AMD 486DX是AMD公司在 486市场的利器,它内置16KB回写缓存,并且开始了单周期多指令的时代,还具有分页虚拟内存管理技术。由于后期TI推出了486DX2-80,价格非常低,英特尔又推出了Pentium系列,AMD为了抢占市场的空缺,推出了5x86系列CPU。它是486级最高主频的产品,为5x86-120及133。它采用了一体的16K回写缓存,0.35微米工艺,33×4的133频率,性能直指Pentiun 75,并且功耗要小于Pentium。
Intel Pentium
1993年,全面超越486的新一代586 CPU问世,为了摆脱486时代微处理器名称混乱的困扰,英特尔公司把自己的新一代产品命名为Pentium(奔腾)以区别AMD和Cyrix的产品。AMD和Cyrix也分别推出了K5和6x86微处理器来对付芯片巨人,但是由于奔腾微处理器的性能最佳,英特尔逐渐占据了大部分市场。
Pentium最初级的CPU是Pentium 60和Pentium 66,分别工作在与系统总线频率相同的60MHz和66MHz两种频率下,没有我们现在所说的倍频设置。令英特尔最为尴尬的是最初Pentium 60和Pentium 66的一部分产品还有浮点运算错误,因此它并没有受到人们的欢迎,英特尔还因此回收了大批CPU。
Pentium级别的CPU也有自己的代号,以区别不同工艺的CPU。有以下这几种型号(注意:586级CPU在CPU的工作频率中,前一数字为内部频率,后一数字为总线频率):
1.P5(这是Pentium家族的第一代产品),它们的工作频率分别为50/50MHz(工程样品),60/60MHz和66/66 MHz。
2.P54C,该型号的CPU不需进行电压调节,但CPU有两种电压,在CPU针脚的那面能够看到“SXXXX/VMU”之类的标记,斜杠后的V代表VRE,如果是S就代表S规格,并可以支持两个微处理器同时使用。它们的工作频率分别为:75/50MHz、90/60MHz、100/50MHz、100/66MHz、120/60MHz133/66MHz150/60MHz166/66MHz、180/60MHz、200/66MHz。
3.P54CM,这是升级版的CPU。
4.P54CQS,这类CPU不须进行电压调节,可以两个微处理器同时使用。它们的工作率:75/50MHz,100/66MHz,120/60MHz,133/66MHz,166/66MHz,200/66MHz 。
5.P54LM,这是给笔记本电脑使用的CPU,电压2.9V,支持电压调节,没有APIC,可以两个微处理器同时使用,工作频率为:75/50MHz,120/60MHz, 133/66MHz,150/60MHz
早期的奔腾75MHz~120MHz使用0.5微米的制造工艺,后期120MHz频率以上的奔腾则改用0.35微米工艺。经典奔腾的性能相当平均,整数运算和浮点运算都不错。由于经典奔腾采用的是单电压供电,从这方面来看,Pentium系列CPU的可升级性一般。
Intel Pentium MMX
为了提高电脑在多媒体、3D图形方面的应用能力,许多新指令集应运而生,其中最著名的三种便是英特尔的MMX、SSE和AMD的3D NOW! 。 MMX(MultiMedia Extensions,多媒体扩展指令集)是英特尔于1996年发明的一项多媒体指令增强技术,包括57条多媒体指令,这些指令可以一次处理多个数据,MMX技术在软件的配合下,就可以得到更好的性能。
多能奔腾(Pentium MMX)的正式名称就是“带有MMX技术的Pentium”,是在1996年底发布的。从多能奔腾开始,英特尔就对其生产的CPU开始锁倍频了,对于喜欢超频的玩家来说这不是一个好消息,但是MMX的CPU超外频能力特别强,而且还可以通过提高核心电压来超倍频,所以那个时候超频是一个很时髦的行动。超频这个词语真正也是从那个时候开始流行的。
多能奔腾是继Pentium后英特尔又一个成功的产品,其生命力也相当顽强。多能奔腾在原Pentium的基础上进行了重大的改进,增加了片内16KB数据缓存和16KB指令缓存,4路写缓存以及分支预测单元和返回堆栈技术。特别是新增加的57条MMX多媒体指令,使得多能奔腾即使在运行非MMX优化的程序时,也比同主频的Pentium CPU要快得多。这57条MMX指令专门用来处理音频、视频等数据。这些指令可以大大缩短CPU在处理多媒体数据时的等待时间,使CPU拥有更强大的数据处理能力。与经典奔腾不同,多能奔腾采用了双电压设计,其内核电压为2.8V,系统I/O电压仍为原来的3.3V。如果主板不支持双电压设计,那么就无法升级到多能奔腾。
多能奔腾的代号为P55C,是第一个有MMX技术(整量型单元执行)的CPU,拥有16KB数据L1 Cache,16KB指令L1 Cache,兼容SMM,64位总线,528MB/s的频宽,2时钟等待时间,450万个晶体管,功耗17瓦。支持的工作频率有:133MHz、150MHz、166MHz、200MHz、233MHz。
Intel Pentium Pro
曾几何时,Pentium Pro是高端CPU的代名词,Pentium Pro所表现的性能在当时让很多人大吃一惊,但是Pentium Pro是32位数据结构设计的CPU,所以Pentium Pro运行16位应用程序时性能一般,但仍然是32位的赢家,但是后来,MMX的出现使它黯然失色。
Pentium Pro(高能奔腾,686级的CPU)的核心架构代号为P6(也是未来PⅡ、PⅢ所使用的核心架构),这是第一代产品,二级Cache有256KB或512KB,最大有1MB的二级Cache。工作频率有:133/66MHz(工程样品),150/60MHz、166/66MHz、180/60MHz、200/66MHz。
AMD K5AMD K5
K5是AMD公司第一个独立生产的x86级CPU,发布时间在1996年。由于K5在开发上遇到了问题,其上市时间比英特尔的Pentium晚了许多,再加上性能不好,这个不成功的产品一度使得AMD的市场份额大量丧失。K5的性能非常一般,整数运算能力不如Cyrix的6x86,但是仍比Pentium略强,浮点运算能力远远比不上Pentium,但稍强于Cyrix。综合来看,K5属于实力比较平均的那一种产品。
AMD的K5有着16KB数据Cache,8KB指令Cache,64位数据总线,296针 SPGA封装。K5有多种形号,如:AMD-K5-PR100ABQ,其中的B就是电压代码。各种CPU的电压是不同的,B(内部3.3V,外部3.5V),C(内部3.3V,外部3.5V),F(内部3.3V,外部3.5V),J(内部2.7V,外部3.3V),K(内部2.5V,外部3.3V),H(内部2.9V,外部3.3V)
K5有这样几种工作频率:K5-PR75(75MHz),PR83(83MHz),90(90MHz),100SSA/5(100MHz),100(75MHz),120(90MHz),133(100 MHz),150(105MHz),166(117MHz),200(133MHz),括号外为PR指数,括号内为真实频率。
K5低廉的价格显然比其性能更能吸引消费者,低价是这款CPU最大的卖点。
AMD K6
AMD 自然不甘心Pentium在CPU市场上呼风唤雨,因此它们在1997年又推出了K6。K6这款CPU的设计指标是相当高的,它拥有全新的MMX指令以及64KB L1 Cache(比奔腾MMX多了一倍),整体性能要优于奔腾MMX,接近同主频PⅡ的水平。K6使用3.2V电压,平时的工作温度70℃左右,发热量实在太大,难有超频余地,最大优点是高性能低价格。K6与K5相比,可以平行地处理更多的??方面做得非常成功,K6稍微落后的地方是在运行需要使用到MMX或浮点运算的应用程序方面,比起同样频率的Pentium 都要差许多。
K6拥有32KB数据L1 Cache,32KB指令L1 Cache,集成了880万个晶体管,采用0.35微米技术,五层CMOS,C4工艺反装晶片,内核面积168平方毫米(新产品为68平方毫米),使用Socket7架构。
K6系列CPU一共有五种频率,分别是:166/200/233/266/300MHz,五种型号都采用了66外频,但是后来推出的233/266/300MHz已经可以通过升级主板的BIOS而支持100外频,是CPU的性能得到了一个飞跃。在倍频方面,K6系列是从2.5~4.5不等,核心电压则是有2.9、3.2几种,特别值得一提的是它们的一级Cache都提高到了64KB,比MMX足足多了一倍,这也是K6的整数性能为什么要比MMX好的缘故了。
Cyrix 6x86/MX
Cyrix 也算是一家老资格的CPU开发商了,早在x86时代,它和英特尔,AMD就形成了三雄并立的局面。
自从Cyrix与美国国家半导体公司合并后,使它终于拥有了自己的芯片生产线,成品也日益完善和完备。Cyrix的6x86是投放到市场上与Pentium兼容的微处理器。Cyrix 6x86采用PR等级来标记CPU频率,Cyrix的CPU在相同真实频率下比奔腾级其它系列的CPU要快一个数量级,比如说PR-166以133MHz频率工作,性能与Pentium 166相同。6x86的发热量惊人,经常导致CPU过热死机甚至烧毁。6x86L是6x86的改进型,它与6x86的设计基本相同,唯一的区别是前者使用了双电压,CPU核心电压为2.9V,大大降低了CPU的发热量。使用了75MHz外频,这样使得6x86L整数性能是同频率CPU中最快的。浮点运算能力差是Cyrix的老毛病,6x86L PR166+的浮点性能仅相当于Pentium 90的水平。此外,6x86和6x86L还存在一些不兼容的问题,部分应用软件在这两种CPU上需要特殊的补丁才能正常运行。
Cyrix 6x86有这样几种频率(括号外为PR指数,括号内为真实频率/外部频率):P120+(100MHz/50MHz),P133+(110/55MHz),150+(120/600MHz),166+(133/66MHz),200+(150/75MHz)。
Cyrix 6x86L有这样几种频率:P166+(133/66),P200+(150/75MHz)。
到了MMX时代,Cyrix推出了他们的MX CPU,这一档次的CPU全是采用双电压设计,频率从166MHz~233MHz,在这个频率段之间的CPU也称为M1。Cyrix的MX CPU的整数性能在当时是非常好的,但是浮点性能比同档次的Pentium要差。其MX的CPU发售的有60MHz、66MHz、75MHz的几种外频,60MHz的是测试版,66MHz和75MHz都是正式发行版,为什么有两种版本呢?这是因为当时Cyrix CPU其生产工艺还不过关,于是就把上不了75MHz的CPU标成同档次的66MHz外频的来卖。
IDT WinChip
美国IDT公司(Integrated Device Technology)作为新加入此领域的CPU生产厂商,在1997年推出的第一个微微处理器产品是WinChip(即C6),在整个CPU市场上所占的份额还不足1% 。1998年5月,IDT宣布了它的第二代产品WinChip 2 。WinChip 2有两种版本,一种带有3DNow!指令集,命名为WinChip 2-3D;另一种不带3DNow!指令集,其命名为WinChip 2,没有后缀3D。WinChip 2在原有WinChip的基础上作了一些改进,增加了一个双指令的MMX单元,增强了浮点运算功能。改进后的WinChip 2比相同频率的WinChip性能提高约10%,基本达到Intel Pentium微处理器的性能。
1999年的第一季度里面,IDT发布了新微处理器WinChip 2+NB,CPU内集成了主板北桥芯片,将会加快芯片到内存的存取速度。但此种做法有几个缺点:一是必须购买新主板;二是增加了芯片的面积,只够集成64KB全速缓存到CPU中(性能与存取速度为3-1-1-1的256K二级缓存相当)。WinChip 2+NB使用0.25微米工艺制造,芯片面积约58平方毫米。
Intel PentiumⅡ
PentiumⅡ的中文名称叫“奔腾二代”,它有Klamath、Deschutes、Mendocino、Katmai等几种不同核心结构的系列产品,其中第一代采用Klamath核心,0.35微米工艺制造,内部集成750万个晶体管,核心工作电压为2.8V。同时,PentiumⅡ微处理器采用了双重独立总线结构,即其中一条总线连通二级缓存,另一条负责主要内存。PentiumⅡ使用了一种脱离芯片的外部高速L2 Cache,容量为512KB,并以CPU主频的一半速度运行。作为一种补偿,英特尔将PentiumⅡ的L1 Cache从16KB增至32KB。另外,为了打败竞争对手,英特尔第一次在PentiumⅡ中采用了具有专利权保护的Slot 1接口标准和SECC(单边接触盒)封装技术。
1998年4月16日,英特尔第一个支持100MHz额定外频的、代号为Deschutes的350、400MHz CPU正式推出。采用新核心的PentiumⅡ微处理器不但外频提升至100MHz,而且它们采用0.25微米工艺制造,其核心工作电压也由2.8V降至2.0V,L1 Cache和L2 Cache分别是32KB、512KB。支持芯片组主要是Intel的440BX。
在1998年至1999年间,英特尔公司推出了比PentiumⅡ功能更强大的CPU--Xeon(至强微处理器)。该款微处理器采用的核心和PentiumⅡ差不多,0.25微米制造工艺,支持100MHz外频。Xeon最大可配备2MB Cache,并运行在CPU核心频率下,它和PentiumⅡ采用的芯片不同,被称为CSRAM(Custom StaticRAM,定制静态存储器)。除此之外,它还有几项特别的功能--具有高能奔腾的所有特性;支持八个CPU系统;使用36位内存地址和PSE模式(PSE36模式),最大800MB/s的内存带宽。Xeon微处理器主要面向对性能要求更高的服务器和工作站系统,另外,Xeon的接口形式也有所变化,采用了比Slot 1稍大一些的Slot 2架构(可支持四个微处理器)。
CeleronIntel Celeron(赛扬)
英特尔为进一步抢占低端市场,于1998年4月推出了一款廉价的CPU—Celeron(中文名叫赛扬)。最初推出的Celeron有266MHz、300MHz两个版本,且都采用Covington核心,0.35微米工艺制造,内部集成1900万个晶体管和32KB一级缓存,工作电压为2.0V,外频66MHz。Celeron与PentiumⅡ相比,去掉了片上的L2 Cache,此举虽然大大降低了成本,但也正因为没有二级缓存,该微处理器在性能上大打折扣,其整数性能甚至不如Pentium MMX。
为弥补缺乏二级缓存的Celeron微处理器性能上的不足,进一步在低端市场上打击竞争对手,英特尔在Celeron266、300推出后不久,又发布了采用Mendocino核心的新Celeron微处理器—Celeron300A、333、366。与旧Celeron不同的是,新Celeron采用0.25微米工艺制造,同时它采用Slot 1架构及SEPP封装形式,内建32KB L1 Cache、128KB L2 Cache,且以CPU相同的核心频率工作,从而大大提高了L2 Cache的工作效率。
新Celeron一个最大的优点是超频性能非常出色,凭借其强大的超频能力和最优的性价比曾在低价PC市场风靡一时,成为众多DIYer玩家手中的抢手货。
英特尔集成128KB二级缓存的新Celeron还有一个变形“兄弟”—采用Socket 370架构的Celeron微处理器。两者唯一不同的就是接口部分,后者是采用Socket 370架构,PPGA封装形式。
AMD K6-2
实际上,K6-2也就是一个K6芯片加上支持100MHz总线频率和支持3D Now!浮点指令的“结合物”。3D Now!技术是对x86体系的重大突破,它大大加强了处理3D图形和多媒体所需要的密集浮点运算性能。此外,K6-2支持超标量MMX技术,支持100MHz总线频率,这意味着系统与L2缓存和内存的传输率提高近50%,从而大大提高了整个系统的表现。
Cyrix MⅡ
作为Cyrix公司独自研发的最后一款微处理器,Cyrix MⅡ是于1998年3月开始生产的。除了具有6x86本身的特性外,该微处理器还支持MMX指令,其核心电压为2.9V,具有256字节指令;3.5X倍频;核心内集成650万个晶体管,功耗20.6瓦;64KB一级缓存(二级缓存位于在主板上)。
美国IDT公司(Integrated Device Technology)作为新加入此领域的CPU生产厂商,在1997年推出的第一个微处理器产品是WinChip(即C6),在整个CPU市场上所占的份额还不足1% 。1998年5月,IDT宣布了它的第二代产品WinChip 2 。WinChip 2有两种版本,一种带有3DNow!指令集,命名为WinChip 2-3D;另一种不带3DNow!指令集,其命名为WinChip 2,没有后缀3D。WinChip 2在原有WinChip的基础上作了一些改进,增加了一个双指令的MMX单元,增强了浮点运算功能。改进后的WinChip 2比相同频率的WinChip性能提高约10%,基本达到Intel Pentium微处理器的性能。WinChip 2目前的最高频率CPU为WinChip 300MHz。
1999年的第一季度里面,IDT发布了新微处理器WinChip 2+NB,CPU内集成了主板北桥芯片,将会加快芯片到内存的存取速度。但此种做法有几个缺点:一是必须购买新主板;二是增加了芯片的面积,只够集成64KB全速缓存到CPU中(性能与存取速度为3-1-1-1的256K二级缓存相当),毕竟,更大的一级缓存肯定比小量L1 Cache加上大量L2 Cache要好。WinChip 2+NB使用0.25微米工艺制造,芯片面积约58平方毫米。
Rise mp6
Rise公司是一家成立于1993年11月的美国公司,主要生产x86兼容的CPU,在1998年推出了mP6 CPU。mp6不仅价格便宜,而且性能优异,有着很好的多媒体性能和强大的浮点运算。mp6使用Socket 7/Super 7兼容插座,只有16KB的一级缓存。
Intel PentiumⅢIntel PentiumⅢ
1999年春节刚过,英特尔公司就发布了采用Katmai核心的新一代微处理器—PentiumⅢ,以取代在高端市场上不堪重负的PentiumⅡ。该微处理器除采用0.25微米工艺制造,内部集成950万个晶体管,Slot 1架构之外,它还具有以下新特点:系统总线频率为100MHz;采用第六代CPU核心—P6微架构,针对32位应用程序进行优化,双重独立总线;一级缓存为32KB(16KB指令缓存加16KB数据缓存),二级缓存大小为512KB,以CPU核心速度的一半运行;采用SECC2封装形式;新增加了能够增强音频、视频和3D图形效果的SSE(Streaming SIMD Extensions,数据流单指令多数据扩展)指令集,共70条新指令(以前叫KNI)。Pentium Ⅲ的起始主频速度为450MHz。
随着AMD的K7微处理器异军突起,英特尔不得不调整其高端市场战略,并于去年10月25日正式发布号为Coppermine(铜矿)的新一代PentiumⅢ微处理器,将系统前端总线提升至133MHz。Coppermine采用全新的核心设计,内置与256KB与CPU主频同步运行的二级缓存,采用0.18微米工艺制造,核心集成了2810万个晶体管。在接口形式上,基于Coppermine核心的PentiumⅢ有两种类型:一种是采用Slot 1架构、SECC2封装;一种是采用Socket 370架构和全新的FC-PGA封装。
由于制造工艺的改进,CPU的芯片面积更小,功耗也大为降低,非常适合笔记本电脑使用。另外,Coppermine采用了更先进的缓存转换架构,因此在数据传输的带宽、系统响应周期等方面都要好于Katmai,即整体性能比同频的Katmai有明显的提高。
和PentiumⅡ Xeon一样,英特尔同样也推出了面向服务器和工作站系统的高性能CPU—PentiumⅢ Xeon至强微处理器。除前期的PentiumⅡ Xeon500、550采用0.25微米技术外,该款微处理器是采用0.18微米工艺制造,Slot 2架构和SECC封装形式,内置32KB一级缓存和512KB二级缓存,工作电压为1.6V。
Intel CeleronⅡ
为进一步巩固低端市场优势,英特尔于2000年3月29日又推出了采用Coppermine核心CeleronⅡ。该款微处理器同样采用0.18微米工艺制造,核心集成1900万个晶体管,采用FC-PGA封装形式,它和赛扬Mendocino一样内建128KB和CPU同步运行的L2 Cache,故其内核也称为Coppermine 128。CeleronⅡ不支持多微处理器系统。但是,CeleronⅡ的外频仍然只有66MHz,这在很大程度上限制了其性能的发挥。
AMD K6-Ⅲ
相对于K6-2而言,K6-Ⅲ最大的变化就是内部集成了256KB二级缓存(新赛扬只有128KB),并以CPU的主频速度运行。K6-Ⅲ的这一变化将能够更大限度发挥高主(32KB用于指令,另32KB用于数据),而且在主板上还集成了以系统总线频率同步运行的三级缓存,其容量大小从512KB到2MB之间。
AMD Athlon
AMD Athlon1999年6月23日,AMD公司推出了具有重大战略意义的K7微处理器,并将其正式命名为Athlon(速龙)。K7有两种规格的产品:第一种采用0.25微米工艺制造,使用K7核心,工作电压为1.6V(其缓存以主频速度的一半运行);第二种采用0.18微米工艺制造,使用K75核心,其最高主频达到1.0GHz(其缓存以主频速度的1/3或2/5运行);工作电压有1.7V和1.8V两种。上述两种类型的K7微处理器内部都集成了2130万个晶体管,外频均为200MHz。
Athlon包含128KB的L1 Cache(是K6-2的两倍、PⅡ/PⅢ的32KB的四倍);512KB~1MB L2 Cache的片外缓存。同时,它还采用了全新的宏处理结构,拥有三个并行的x86指令译码器,可以动态推测时序,乱序执行;K7拥有一个强劲的浮点处理单元(FPU),在3DNOW!指令的帮助下会有更进一步的3D和多媒体处理能力,这个先进的FPU使K7拥有超越其他x86微处理器2倍的性能!另外,K7采用了一种类似于Slot 1的全新的Slot A架构,从物理结构上两者可以互换,但后者的电器性能和前者完全不兼容。在总线方面,使用的是Digital公司的Alpha系统总线协议EV6,外频达200MHz;Athlon是AMD第一个具有SMP(对称多微处理器技术)能力的桌面CPU,即使用者可以用Athlon构建双微处理器甚至4微处理器系统!
AMD Thunderbird和Duron
AMD公司在2000年6月份连续推出了新款的Thunderbird(雷鸟)、Duron(毒龙)微处理器,再次向英特尔Coppermine(铜矿)核心的微处理器发出了强有力的挑战。
Thunderbird是AMD面向高端的Athlon系列延续产品,采用0.18微米的制造工艺,共有Slot A和Socket A两种不同的架构,但它们在设计上大致相同:均内置128KB的一级缓存和256KB的二级缓存,其二级缓存与CPU主频速度同步运行;工作电压为1.70V~1.75V,相应的功耗也比老的Athlon要小;集成3700万个晶体管,核心面积达到120平方毫米。
另外,Thunderbird微处理器支持200MHz系统总线频率,提供巨大的带宽,且支持Alpha EV6总线协议,具有多重并行x86指令解码器。
Duron微处理器是AMD首款基于Athlon核心改进的低端微处理器,它原来的研发代号称为“Spitfire(烈火)”。Duron外频也是200MHz,内置128KB的一级缓存和64KB的全速二级缓存,它的工作电压为1.5V,因而功耗要较Thunderbird小。而且它核心面积是100平方毫米,内部集成的晶体管数量为2500万个,比K7核心的Athlon多300万个。这些特点符合了AMD面对低端市场的策略,即低成本低功耗而又高性能。在浮点性能上,基于K7体系的Duron明显优于采用P6核心设计的Intel系列微处理器,它具有三个全流水乱序执行单元,一个用于加/减运算,一个用于复合指令还有一个是浮点存储单元。
VIA CyrixⅢ
VIA公司在收购Cyrix之后,同期正式推出了代号为Joshua(约书亚)的第一款微处理器,它采用0.18微米工艺制造,Socket 370架构,支持133MHz外频,并拥有256KB L2Cache及3D NOW!指令集。
另外,VIA后来还推出了采用新一代Samuel(塞缪尔)核心的CyrixⅢ微处理器,它加入新一代的3D Now!多媒体指令集,提供133MHz系统外频,128K一级高速缓存,采用0.18微米制造工艺生产,芯片面积仅76平方毫米。它还采用了动态电源缓存结构(Dynamic Power Caching Architecture,DPCA)技术,使新CyrixⅢ微处理器的耗电量已不到10瓦,因此新CyrixⅢ微处理器也可适用在笔记型电脑或其它IA产品上。
电脑中所有操作都由cpu负责读取指令,对指令译码并执行指令的核心部件。cpu的结构:中央处理器cpu包括运算逻辑部件、寄存器部件和控制部件。中央处理器从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。 指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字和特征码。有的指令中也直接包含操作数本身。 ①运算逻辑部件。可以执行定点或浮点的算术运算操作、移位操作以及逻辑操作,也可执行地址的运算和转换。 ②寄存器部件。包括通用寄存器、专用寄存器和控制寄存器。通用寄存器又可分定点数和浮点数两类,它们用来保存指令中的寄存器操作数和操作结果。通用寄存器是中央处理器的重要组成部分 ,大多 数 指令都要访问到通用寄存器。通用寄存器的宽度决定计算机内部的数据通路宽度,其端口数目往往可影响内部操作的并行性。 专用寄存器是为了执行一些特殊操作所需用的寄存器。控制寄存器通常用来指示机器执行的状态,或者保持某些指针,有处理状态寄存器、地址转换目录的基地址寄存器、特权状态寄存器、条件码寄存器、处理异常事故寄存器以及检错寄存器等。有的时候,中央处理器cpu中还有一些缓存,用来暂时存放一些数据指令,缓存越大,说明中央处理器cpu的运算速度越快,目前市场上的中高端中央处理器cpu都有2M左右的二级缓存。 ③控制部件。主要负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。 微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。简单指令是由(3~5)个微操作组成, 复杂指令则要由几十个微操作甚至几百个微操作组成。逻辑硬布线控制器 则完全是由随 机逻辑组成 。 指令译码后,控制器通过不同的逻辑门的组合,发出不同序列的控制时序信号,直接去执行一条指令中的各个操作。应用 大型、小型和微型计算机的中央处理器的规模和实现方式很不相同,工作速度也变化较大。 中央处理器可以由几块电路块甚至由整个机架组成。如果中央处理器的电路集成在一片或少数几片大规模集成电路芯片上,则称为微处理器(见微型机)。中央处理器的工作速度与工作主频和体系结构都有关系。中央处理器的速度一般都在几个MIPS(每秒执行100万条指令)以上。有的已经达到几百 MIPS 。速度最快的中央处理器的电路已采用砷化镓工艺。 在提高速度方面,流水线结构是几乎所有现代中央处理器设计中都已采用的重要措施。未来,中央处理器工作频率的提高已逐渐受到物理上的限制,而内部执行性(指利用中央处理器内部的硬件资源)的进一步改进是提高中央处理器工作速度而维持软件兼容的一个重要方向。
从结构上讲CPU内核分为两部分:运算器和控制器。
(一) 运算器
1、 算术逻辑运算单元ALU(Arithmetic and Logic Unit)
ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。
通常ALU由两个输入端和一个输出端。整数单元有时也称为IEU(Integer Execution Unit)。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数。
2、 浮点运算单元FPU(Floating Point Unit)
FPU主要负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。
3、 通用寄存器组
通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。
对于x86指令集只支持8个通用寄存器的缺点,Intel最新CPU采用了一种叫做“寄存器重命名”的技术,这种技术使x86CPU的寄存器可以突破8个的限制,达到32个甚至更多。
4、 专用寄存器
专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。(二)控制器
运算器只能完成运算,而控制器用于控制着整个CPU的工作。
1、 指令控制器
指令控制器是控制器中相当重要的部分,它要完成取指令、分析指令等操作,然后交给执行单元(ALU或FPU)来执行,同时还要形成下一条指令的地址。
2、时序控制器
时序控制器的作用是为每条指令按时间顺序提供控制信号。时序控制器包括时钟发生器和倍频定义单元,其中时钟发生器由石英晶体振荡器发出非常稳定的脉冲信号,就是CPU的主频;而倍频定义单元则定义了CPU主频是存储器频率(总线频率)的几倍。
3、 总线控制器
总线控制器主要用于控制CPU的内外部总线,包括地址总线、数据总线、控制总线等等。
4、中断控制器
中断控制器用于控制各种各样的中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。
1、解码器(Decode Unit)
这是x86CPU特有的设备,它的作用是把长度不定的x86指令转换为长度固定的指令,并交由内核处理。解码分为硬件解码和微解码,对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。好在这些复杂指令很少会用到。
2、一级缓存和二级缓存(Cache) 一级缓存和二级缓存是为了缓解较快的CPU与较慢的存储器之间的矛盾而产生的,以及缓存通常集成在CPU内核,而二级缓存则是以OnDie或OnBoard的方式以较快于存储器的速度运行。对于一些大数据交换量的工作,CPU的Cache显得尤为重要。
要讲CPU,还要了解一下指令系统。指令系统指的是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性,因为指令系统决定了一个CPU能够运行什么样的程序。我们常说的CPU都是X86系列及兼容CPU ,所谓X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源(如Windows系列),Intel公司所生产的所有CPU仍然继续使用X86指令集。 另外除Intel 公司之外,AMD和Cyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为Intel CPU所开发的各种软件,所以电脑业内人士就将这些CPU列为Intel的CPU兼容产品。
1、流水线技术 流水线(pipeline)是 InteI首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5~6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5~6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,从而提高了CPU的运算速度。 2、超流水线和超标量技术 超流水线是指某些CPU内部的流水线超过通常的5~6步以上,例如Intel Pentium 4的流水线就长达20步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。超标量(supe rscalar)是指在 CPU中有一条以上的流水线,并且每时钟周期内可以完成一条以上的指令,这种设计就叫超标量技术。 3、乱序执行技术 乱序执行(out-of-orderexecution)是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。比方说程序某一段有7条指令,此时CPU将根据各单元电路的空闹状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路执行。当然在各单元不按规定顺序执行完指令后还必须由相应电路再将运算结果重新按原来程序指定的指令顺序排列后才能返回程序。这种将各条指令不按顺序拆散后执行的运行方式就叫乱序执行(也有叫错序执行)技术。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CP U的运行程序的速度。 4、分技预溯和推测执行技术 分枝预测(branch prediction)和推测执行(speculatlon execution) 是CPU动态执行技术中的主要内容,动态执行是目前CPU主要采用的先进技术之一。采用分枝预测和动态执行的主要目的是为了提高CPU的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的处理也就是推测执行。
5、指令特殊扩展技术 自最简单的计算机开始,指令序列便能取得运算对象,并对它们执行计算。对大多数计算机而言,这些指令同时只能执行一次计算。如需完成一些并行操作,就要连续执行多次计算。此类计算机采用的是“单指令单数据”(SISD)处理器。在介绍CPU性能中还经常提到“扩展指令”或“特殊扩展”一说,这都是指该CPU是否具有对X86指令集进行指令扩展而言。扩展指令中最早出现的是InteI公司的“MMX”,然后是Pentium III中的“SSE”,以及现在Pentium 4中的SSE2指令集。
(一) CPU的构架
CPU架构是按CPU的安装插座类型和规格确定的。目前常用的CPU按其安装插座规范可分为Socket x和Slot x两大架构。
以Intel处理器为例,Socket 架构的CPU中分为Socket 370、Socket 423和Socket 478三种,分别对应Intel PIII/Celeron处理器、P4 Socket 423处理器和P4 Socket 478处理器。Slot x架构的CPU中可分为Slot 1、Slot 2两种,分别使用对应规格的Slot槽进行安装。其中Slot 1是早期Intel PII、PIII和Celeron处理器采取的构架方式,Slot 2是尺寸较大的插槽,专门用于安装PⅡ和P Ⅲ序列中的Xeon。Xeon是一种专用于工作组服务器上的CPU。
(二) CPU的封装方式所谓封装是指安装半导体集成电路芯片用的外壳,通过芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的插槽与其他器件相连接。它起着安装、固定、密封、保护芯片及增强电热性能等方面的作用。
CPU的封装方式取决于CPU安装形式,通常采用Socket插座安装的CPU使用PGA(栅格阵列)的形式进行封装,而采用Slot X槽安装的CPU则全部采用SEC(单边接插盒)的形式进行封装。
1. PGA(Pin Grid Arrax)引脚网格阵列封装目前CPU的封装方式基本上是采用PGA封装,在芯片下方围着多层方阵形的插针,每个方阵形插针是沿芯片的四周,间隔一定距离进行排列的。它的引脚看上去呈针状,是用插件的方式和电路板相结合。安装时,将芯片插入专门的PGA插座。PGA封装具有插拔操作更方便,可靠性高的优点,缺点是耗电量较大。PGA也衍生出多种封装方式,最早的PGA封装适用于Intel Pentium、Intel Pentium PRO和Cxrix/IBM 6x86处理器; CPGA(Ceramic Pin Grid Arrax,陶瓷针形栅格阵列)封装,适用于Intel Pentium MMX、AMD K6、AMD K6-2、AMD K6 Ⅲ、VIA Cxrix Ⅲ处理器;PPGA(Plastic Pin Grid Arrax,塑料针状矩阵)封装,适用于Intel Celeron处理器(Socket 370);FC-PGA(Flip Chip Pin Grid Arrax,反转芯片针脚栅格阵列)封装,适用于Coppermine系列Pentium Ⅲ、Celeron Ⅱ和Pentium4处理器。
2. SEC(单边接插卡盒)封装Slot X架构的CPU不再用陶瓷封装,而是采用了一块带金属外壳的印刷电路板,该印刷电路板集成了处理器部件。SEC卡的塑料封装外壳称为SEC(Single Edgecontact Cartridge)单边接插卡盒。这种SEC卡设计是插到Slot X(尺寸大约相当于一个ISA插槽那么大)插槽中。所有的Slot X主板都有一个由两个塑料支架组成的固定机构,一个SEC卡可以从两个塑料支架之间插入Slot X槽中。
其中,Intel Celeron处理器(Slot 1)是采用(SEPP)单边处理器封装;Intel的PentiumⅡ是采用SECC(Single Edge Contact Connector,单边接触连接)的封装;Intel的PentiumⅢ是采用SECC2封装。
1.主频
主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel和AMD,在这点上也存在着很大的争议,我们从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。像其他的处理器厂家,有人曾经拿过一快1G的全美达来做比较,它的运行效率相当于2G的Intel处理器。
所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。在Intel的处理器产品中,我们也可以看到这样的例子:1 GHz Itanium芯片能够表现得差不多跟2.66 GHz Xeon/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。CPU的运算速度还要看CPU的流水线的各方面的性能指标。
当然,主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。
2.外频
外频是CPU的基准频率,单位也是MHz。CPU的外频决定着整块主板的运行速度。说白了,在台式机中,我们所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。但对于服务器CPU来讲,超频是绝对不允许的。前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。
目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。外频与前端总线(FSB)频率很容易被混为一谈,下面的前端总线介绍我们谈谈两者的区别。
3.前端总线(FSB)频率
前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。有一条公式可以计算,即数据带宽=(总线频率×数据带宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输最大带宽是6.4GB/秒。
外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8Byte/bit=800MB/s。
其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。之前我们知道IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。但随着处理器性能不断提高同时给系统架构带来了很多问题。而“HyperTransport”构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。
4、CPU的位和字长
位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。
字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。
5.倍频系数
倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”效应—CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。一般除了工程样版的Intel的CPU都是锁了倍频的,而AMD之前都没有锁。
6.缓存
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。
L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达256-1MB,有的高达2MB或者3MB。
L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。
其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。
但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。
7.CPU扩展指令集
CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩展指令集称为"CPU的指令集"。SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE3也是最先进的指令集,英特尔Prescott处理器已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。
8.CPU内核和I/O工作电压
从586CPU开始,CPU的工作电压分为内核电压和I/O电压两种,通常CPU的核心电压小于等于I/O电压。其中内核电压的大小是根据CPU的生产工艺而定,一般制作工艺越小,内核工作电压越低;I/O电压一般都在1.6~5V。低电压能解决耗电过大和发热过高的问题。
9.制造工艺
制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。现在主要的180nm、130nm、90nm。最近官方已经表示有65nm的制造工艺了。
10.指令集
(1)CISC指令集
CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。
要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。
虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到过去的PII至强、PIII至强、Pentium 3,最后到今天的Pentium 4系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。x86CPU目前主要有intel的服务器CPU和AMD的服务器CPU两类。
(2)RISC指令集
RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。RISC指令系统更加适合高档服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。
目前,在中高档服务器中采用RISC指令的CPU主要有以下几类:PowerPC处理器、SPARC处理器、PA-RISC处理器、MIPS处理器、Alpha处理器。
(3)IA-64
EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和CISC体系的继承者的争论已经有很多,单以EPIC体系来说,它更像Intel的处理器迈向RISC体系的重要步骤。从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于Unix下的应用软件要好得多。
Intel采用EPIC技术的服务器CPU是安腾Itanium(开发代号即Merced)。它是64位处理器,也是IA-64系列中的第一款。微软也已开发了代号为Win64的操作系统,在软件上加以支持。在Intel采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器,Intel这样做的原因是,它们想摆脱容量巨大的x86架构,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的IA-64架构便诞生了。IA-64 在很多方面来说,都比x86有了长足的进步。突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高
IA-64微处理器最大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并不是最有效率的解码器,也不是运行x86代码的最好途径(最好的途径是直接在x86处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为X86-64产生的根本原因。
(4)X86-64 (AMD64 / EM64T)
AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。
而今年也推出了支持64位的EM64T技术,再还没被正式命为EM64T之前是IA32E,这是英特尔64位扩展技术的名字,用来区别X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技术类似,采用64位的线性平面寻址,加入8个新的通用寄存器(GPRs),还增加8个寄存器支持SSE指令。与AMD相类似,Intel的64位技术将兼容IA32和IA32E,只有在运行64位操作系统下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和32位sub-mode,同AMD64一样是向下兼容的。Intel的EM64T将完全兼容AMD的X86-64技术。现在Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。
应该说,这两者都是兼容x86指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。
11.超流水线与超标量
在解释超流水线与超标量前,先了解流水线(pipeline)。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。
超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。例如Pentium 4的流水线就长达20级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了这种情况,虽然它的主频可以高达1.4G以上,但其运算性能却远远比不上AMD 1.2G的速龙甚至奔腾III。
12.封装形式
CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。现在还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,目前CPU封装技术的发展方向以节约成本为主。
13、多线程
同时多线程Simultaneous multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,所有处理器都将支持SMT技术。
14、多核心
多核心,也指单芯片多处理器(Chip multiprocessors,简称CMP)。CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与CMP比较, SMT处理器结构的灵活性比较突出。但是,当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,IBM 的Power 4芯片和Sun的 MAJC5200芯片都采用了CMP结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。
2005年下半年,Intel和AMD的新型处理器也将融入CMP结构。新安腾处理器开发代码为Montecito,采用双核心设计,拥有最少18MB片内缓存,采取90nm工艺制造,它的设计绝对称得上是对当今芯片业的挑战。它的每个单独的核心都拥有独立的L1,L2和L3 cache,包含大约10亿支晶体管。
15、SMP
SMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。像双至强,也就是我们所说的二路,这是在对称处理器系统中最常见的一种(至强MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少数是16路的。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。在高性能服务器和工作站级主板架构中最为常见,像UNIX服务器可支持最多256个CPU的系统。
构建一套SMP系统的必要条件是:支持SMP的硬件包括主板和CPU;支持SMP的系统平台,再就是支持SMP的应用软件。
为了能够使得SMP系统发挥高效的性能,操作系统必须支持SMP系统,如WINNT、LINUX、以及UNIX等等32位操作系统。即能够进行多任务和多线程处理。多任务是指操作系统能够在同一时间让不同的CPU完成不同的任务;多线程是指操作系统能够使得不同的CPU并行的完成同一个任务。
要组建SMP系统,对所选的CPU有很高的要求,首先、CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用;再次,相同的产品型号,同样类型的CPU核心,完全相同的运行频率;最后,尽可能保持相同的产品序列编号,因为两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机。
16、NUMA技术
NUMA即非一致访问分布共享存储技术,它是由若干通过高速专用网络连接起来的独立节点构成的系统,各个节点可以是单个的CPU或是SMP系统。在NUMA中,Cache 的一致性有多种解决方案,需要操作系统和特殊软件的支持。图2中是Sequent公司NUMA系统的例子。这里有3个SMP模块用高速专用网络联起来,组成一个节点,每个节点可以有12个CPU。像Sequent的系统最多可以达到64个CPU甚至256个CPU。显然,这是在SMP的基础上,再用NUMA的技术加以扩展,是这两种技术的结合。
17、乱序执行技术
乱序执行(out-of-orderexecution),是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据个电路单元的状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新排列。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CPU的运行程序的速度。分枝技术:(branch)指令进行运算时需要等待结果,一般无条件分枝只需要按指令顺序执行,而条件分枝必须根据处理后的结果,再决定是否按原先顺序进行。
18、CPU内部的内存控制器
许多应用程序拥有更为复杂的读取模式(几乎是随机地,特别是当cache hit不可预测的时候),并且没有有效地利用带宽。典型的这类应用程序就是业务处理软件,即使拥有如乱序执行(out of order execution)这样的CPU特性,也会受内存延迟的限制。这样CPU必须得等到运算所需数据被除数装载完成才能执行指令(无论这些数据来自CPU cache还是主内存系统)。当前低段系统的内存延迟大约是120-150ns,而CPU速度则达到了3GHz以上,一次单独的内存请求可能会浪费200-300次CPU循环。即使在缓存命中率(cache hit rate)达到99%的情况下,CPU也可能会花50%的时间来等待内存请求的结束- 比如因为内存延迟的缘故。
Intel公司
Intel是生产CPU的老大哥,它占有80%多的市场份额,Intel生产的CPU就成了事实上的x86CPU技术规范和标准。最新的酷睿2成为CPU的首选。
AMD公司
目前使用的CPU有好几家公司的产品,除了Intel公司外,最有力的挑战的就是AMD公司,最新的Athlon64x2和闪龙具有很好性价比,尤其采用了3DNOW+技术,使其在3D上有很好的表现。
VIA中国威盛
VIA威盛是台湾一家主板芯片组厂商,收购了前述的 Cyrix和IDT的cpu部门,推出了自己的CPU,性能可以与Intel的经济型CPU相比,功耗只有1W,在Intel与AMD的双重压迫下艰难生存。
Cyrix
曾经风靡一时的世界第三大CPU生产厂家,现在被VIA与AMD分别收购生产线与技术。
IBM公司
美国国际商业机器公司IBM,使其终于拥有了自己的芯片生产线,其成品将会日益完善和完备。现在的MII性能也不错,尤其是它的价格很低。
国产龙芯
GodSon 小名狗剩,是国有自主知识产权的通用处理器,目前已经有2代产品。最新的龙芯2F已经赶上intel中端P4的水平
CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩展指令集称为”CPU的指令集”。SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE3也是最先进的指令集,英特尔Prescott处理器已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。
CISC指令集
CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computing的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。
RISC指令集
RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。RISC指令系统更加适合高档服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。
制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。现在主要的180nm、130nm、90nm、65nm。Intel公司更于2007年11月16日发布了45nm的制造工艺。
CPU内核和I/O工作电压
超流水线与超标量在解释超流水线与超标量前,先了解流水线(pipeline)。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。
超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。例如Pentium 4的流水线就长达20级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了这种情况,虽然它的主频可以高达1.4G以上,但其运算性能却远远比不上AMD 1.2G的速龙甚至Intel自家的老产品奔腾III。
CPU封装形式
CPU封装技术
所谓“CPU封装技术”是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术。以CPU为例,我们实际看到的体积和外观并不是真正的CPU内核的大小和面貌,而是CPU内核等元件经过封装后的产品。
CPU封装对于芯片来说是必须的,也是至关重要的。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降。另一方面,封装后的芯片也更便于安装和运输。由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的。封装也可以说是指安装半导体集成电路芯片用的外壳,它不仅起着安放、固定、密封、保护芯片和增强导热性能的作用,而且还是沟通芯片内部世界与外部电路的桥梁——芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的导线与其他器件建立连接。因此,对于很多集成电路产品而言,封装技术都是非常关键的一环。
目前采用的CPU封装多是用绝缘的塑料或陶瓷材料包装起来,能起着密封和提高芯片电热性能的作用。由于现在处理器芯片的内频越来越高,功能越来越强,引脚数越来越多,封装的外形也不断在改变。封装时主要考虑的因素:1. 芯片面积与封装面积之比为提高封装效率,尽量接近1:12. 引脚要尽量短以减少延迟,引脚间的距离尽量远,以保证互不干扰,提高性能3. 基于散热的要求,封装越薄越好
作为计算机的重要组成部分,CPU的性能直接影响计算机的整体性能。而CPU制造工艺的最后一步也是最关键一步就是CPU的封装技术,采用不同封装技术的CPU,在性能上存在较大差距。只有高品质的封装技术才能生产出完美的CPU产品。
多线程同时多线程Simultaneous multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,所有处理器都将支持SMT技术。
多核心多核心,也指单芯片多处理器(Chip multiprocessors,简称CMP)。CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与CMP比较, SMT处理器结构的灵活性比较突出。但是,当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,IBM 的Power 4芯片和Sun的 MAJC5200芯片都采用了CMP结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。
SMPSMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。在这种技