智能处理器
智能处理器
智能处理器是英特尔(Intel)公司在2010年推出的使用新一代处理器架构Nehalem的酷睿i7/i5/i3系列最新加入到处理器中的技术。名为Turbo.mode(即“睿频加速”技术)和Hyper-Threading(HT)(即“超线程”技术),并在2011年1月推出了第二代智能酷睿处理器,被称作Sandy Bridge平台,简称SNB。第二代处理器同样以酷睿I3/I5/I7来命名。不过在型号前面均有加一个数字2,以便区分一代一二代的产品。
1睿频加速
------Intel在最新酷睿i系列cpu中加入的新技术,以往cpu的主频是出厂之前被设定好的,不可以随意改变。而i系列cpu都加入睿频加速,使得cpu的主频可以在某一范围内根据处理数据需要自动调整主频。它是基于Nehalem架构的电源管理技术,通过分析当前CPU的负载情况,智能地完全关闭一些用不上的核心,把能源留给正在使用的核心,并使它们运行在更高的频率,进一步提升性能;相反,需要多个核心时,动态开启相应的核心,智能调整频率。这样,在不影响CPU的TDP情况下,能把核心工作频率调得更高。比如,某i5处理主频为2.53GHz,最高可达2.93GHz,在此范围内可以自动调整其数据处理频率,而此cpu的承受能力远远大于2.93GHz,不必担心cpu的承受能力。加入此技术的cpu不仅可以满足用户多方面的需要,而且省电,使cpu具有一些智能特点。实现Turbo技术需要在核心内部设计一个功率控制器,大约需要消耗100万个晶体管。因为在某些游戏中开启Turbo模式可以直接带来10%左右的性能提升,相当于将显卡提升一个档次。值得一提的是,Extreme版本的Core i7处理器最高可以将TDP在BIOS中设定到190W来执行Turbo模式,在个别应用中进一步提升CPU时钟频率,带来效能上的提升。)。他的加入可以很好的帮助处理器在空闲时刻降低功耗,从而起到提高工作效率同时节能的目的。Turbo Mode功能是一项可以充分使用处理器工作效率的技术。它能让内核运行动态加速。可以根据需要开启、关闭以及加速单个或多个内核的运行。如在一个四核的Nehalem处理器中,如果一个任务是单线程的,则可以关闭另外三个内核的运行,同时把工作的那个内核的运行主频提高,这样动态的调整可以提高系统和CPU整体的能效比率。
CPU会确定其当前工作功率、电流和温度是否已达到最高极限,如仍有多余空间,CPU会逐渐提高活动内核的频率,以进一步提高当前任务的处理速度,当程序只用到其中的某些核心时,CPU会自动关闭其它未使用的核心,睿频加速技术无需用户干预,自动实现。
2HT
术语解释
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
性能提升
一般很多人都会认为,采用超线程技术,就能使得系统效能大幅提升,但是事实真是如此么?不要忘了我们前面说到的超线程技术实现的必要条件,这可是超线程技术发挥应有效能的前提条件。除了操作系统支持之外,还必须要软件的支持。从这点我们就可以看出,就目前的软件现状来说,支持双处理器技术的软件毕竟还在少数。对于大多数软件来说,目前由于设计的原理不同,还并不能从超线程技术上得到直接的好处,因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Parallelism)”,也就是提高命令执行的并行度、提高每个时钟的效率。这就需要软件在设计上线程化,提高并行处理的能力。而目前PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并没不能获得效能的大幅提升。 上面说的只是目前软件支持的现状,操作系统在这个方面则没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的操作系统。并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起目前应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。那时候普通用户才能够从超线程技术中得到最直接的好处。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。
目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linuxkernel 2.4.x以后的版本也支持超线程技术。
优点
1、超线程技术的优势在于同时进行多任务批处理工作,尽管现在支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。
2、从目前来看,部分客户发可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。
3、客户同时运行两个以上的软件软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。
4、另外目前支持超线程技术的Windows XP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows操作系统的时候可以很好的享受到超线程技术带来好处。
缺点
1、因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题(这也是在WindowsXP中运行显卡的测试软件时候,得分下降了一点)。
2、在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几区域,互相共享内部资源。对于不支持多处理器工作的软件在双处理器上运行时出错的概率要比单处理器上高很多。
3、目前因为很多工作站软件为Windows 2000操作系统进行过优化,但是采用Windows2000这样的操作系统的工作战无法完全利用超线程技术的优势,也带来不了高的工作效率。
通过上面的解答,我们应该知道了超线程技术的确实对系统性能提升有好处,但是这仅对多任务处理的时候有优势,在进行单各任务处理的时候,优势表现不出来,而且因为打开超线程,处理器内部缓存就会被划分成几区域,互相共享内部资源,造成单个的子系统性能下降。个人认为,用户在进行单任务操作时候,没有必要打开超线程,只有多任务操作时候可以适时打开超线程,享受超线程技术带来的好处。
小结
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,提高处理器的性能。操作系统或者应用软件的多线程可以同时运行于一个HTT处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。这样就可以使得运行性能提高30%,这是因为在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而“超线程”技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
3挑选处理器
天气的逐渐变冷,提醒着我们年末的到来,同时也意味着寒促高峰的来临。辛苦劳作一年的大伙儿难免要“腐败”一把,不少朋友将买本的事儿提上日程。那么购买笔记本有哪些事项是需要格外注意的呢?虽说针对不同的应用有不同的笔记本机型供大家选择,但也有一些标准是放之四海而皆准的,比如性能、散热、续航这些选本的要点是值得用户去注意的,而这一切都与笔记本处理器的选择密不可分,可以说选对了处理器,就是选对了笔记本。
性能
从性能上看,英特尔新酷睿处理器加入的睿频加速技术使得笔记本的频率更加的智能化了,换言之,笔记本的处理器频率会依据当前运行需求在一个范围内变动。通俗地讲就是:当用户在PC上进行简单的操作、或者机器闲置的时候,处理器频率会自动调整到较低的频率,但是能够满足机器流畅运行;而当用户在PC上进行消耗资源较大的操作,比如处理大容量存储格式相片、运行大型3D游戏时,处理器立马满状态运行,并能通过睿频技术自动超频到一个较高的水准来满足运行程序的需求。而这一切操作,并不需要用户随时去手动切换,一切都在后台“悄悄地”完成,省去了很多麻烦。
当用户启动一个运行程序后,比如运行一款对系统资源要求较高的大型3D游戏,处理器会自动加速到合适的频率,将原来的运行速度提升10%~20% 以保证程序流畅运行;应对复杂应用时,处理器可自动提高运行主频以提速,轻松进行对性能要求更高的多任务处理;当进行工作任务切换时,如果只有内存和硬盘在进行主要的工作,处理器会立刻处于节电状态。这样既保证了能源的有效利用,又使程序运行速度大幅提升。
功能特色
除了性能之外,笔记本的散热和续航能力是另外两大要素,由于采用睿频技术,笔记本在闲置时将运行在更低的频率,同时新酷睿处理器本身采用32nm的制程工艺,与目前市场上还在流通的45nm处理器相比,本身就拥有更好的功耗控制,先天的优势加上后天的技术,使得Intel新酷睿智能处理器拥有更低的功耗、更低的发热量以及更长的续航时间。
采用Intel智能处理器的笔记本往往更轻更薄
采用Intel新酷睿智能处理器的笔记本由于拥有更为出色的功耗控制,使得其在产品模具设计上能够做到更轻更薄,外观也更加的时尚,同时笔记本的重量也降低了,便携性提高了,可谓一举多得。
记得早些时候笔记本的发热量控制还不是很好,不少朋友调侃说:冬天到了,买个本本暖暖手。如果你买了一款采用新酷睿智能处理器的笔记本,那“暖手”这个附加优惠基本上是不可能实现了。在价位上,您完全不需要担心,新酷睿智能处理器分为i3 i5 i7三大品类,价位从3000元到万元以上不等,相信可以满足不用户的需求。
4工作原理
提取
第一阶段,提取,从程式记忆体中检索指令(为数值或一系列数值)。由程式计数器(Program Counter)指定程式记忆体的位置,程式计数器保存供识别目前程式位置的数值。换言之,程式计数器记录了CPU在目前程式里的踪迹。
提取指令之后,程式计数器根据指令长度增加记忆体单元。指令的提取必须常常从相对较慢的记忆体寻找,因此导致CPU等候指令的送入。这个问题主要被论及在现代处理器的快取和管线化架构。
解码
CPU根据从记忆体提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令。
一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的资讯,诸如一个加法(Addition)运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器或记忆体位址,以定址模式决定。
在旧的设计中,CPU里的指令解码部分是无法改变的硬体装置。不过在众多抽象且复杂的CPU和指令集架构中,一个微程式时常用来帮助转换指令为各种形态的讯号。这些微程式在已成品的CPU中往往可以重写,方便变更解码指令。
执行
在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。
例如,要求一个加法运算,算数逻辑单元(ALU,Arithmetic Logic Unit)将会连接到一组输入和一组输出。输入提供了要相加的数值,而输出将含有总和的结果。ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,运算溢出(Arithmetic Overflow)标志可能会被设置。
写回
最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中。某些类型的指令会操作程式计数器,而不直接产生结果。这些一般称作“跳转”(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。
许多指令也会改变标志暂存器的状态位元。这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。
例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可藉由随后的跳转指令来决定程式动向。
在执行指令并写回结果之后,程式计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程式计数器将会修改成跳转到的指令位址,且程式继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制(Microcontrollers))。
5基本结构
CPU包括运算逻辑部件、寄存器部件和控制部件。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。
指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字和特征码。有的指令中也直接包含操作数本身。
运算逻辑部件
运算逻辑部件,可以执行定点或浮点的算术运算操作、移位操作以及逻辑操作,也可执行地址的运算和转换。
寄存器部件
寄存器部件,包括通用寄存器、专用寄存器和控制寄存器。
通用寄存器又可分定点数和浮点数两类,它们用来保存指令中的寄存器操作数和操作结果。
通用寄存器是中央处理器的重要组成部分,大多数指令都要访问到通用寄存器。通用寄存器的宽度决定计算机内部的数据通路宽度,其端口数目往往可影响内部操作的并行性。
专用寄存器是为了执行一些特殊操作所需用的寄存器。
控制寄存器通常用来指示机器执行的状态,或者保持某些指针,有处理状态寄存器、地址转换目录的基地址寄存器、特权状态寄存器、条件码寄存器、处理异常事故寄存器以及检错寄存器等。
有的时候,中央处理器中还有一些缓存,用来暂时存放一些数据指令,缓存越大,说明CPU的运算速度越快,目前市场上的中高端中央处理器都有2M左右的二级缓存,高端中央处理器有4M左右的二级缓存。
控制部件
控制部件,主要负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。
其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。
微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。
简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
逻辑硬布线控制器则完全是由随机逻辑组成。指令译码后,控制器通过不同的逻辑门的组合,发出不同序列的控制时序信号,直接去执行一条指令中的各个操作。
6发展历史
CPU这个名称,早期是对一系列可以执行复杂的计算机程序或电脑程式的逻辑机器的描述。这个空泛的定义很容易在“CPU”这个名称被普遍使用之前将计算机本身也包括在内。
诞 生
但从20世纪70年代开始,由于集成电路的大规模使用,把本来需要由数个独立单元构成的CPU集成为一块微小但功能空前强大的微处理器时。这个名称及其缩写才真正在电子计算机产业中得到广泛应用。尽管与早期相比,CPU在物理形态、设计制造和具体任务的执行上都有了戏剧性的发展,但是其基本的操作原理一直没有改变。
1971年,当时还处在发展阶段的Intel公司推出了世界上第一台真正的微处理器--4004。这不但是第一个用于计算器的4位微处理器,也是第一款个人有能力买得起的电脑处理器!
4004含有2300个晶体管,功能相当有限,而且速度还很慢,被当时的蓝色巨人IBM以及大部分商业用户不屑一顾,但是它毕竟是划时代的产品,从此以后,Intel公司便与微处理器结下了不解之缘。可以这么说,CPU的历史发展历程其实也就是Intel公司X86系列CPU的发展历程,就通过它来展开的“CPU历史之旅”。
起步的角逐
1978年,Intel公司再次领导潮流,首次生产出16位的微处理器,并命名为i8086,同时还生产出与之相配合的数学协处理器i8087,这两种芯片使用相互兼容的指令集,但在i8087指令集中增加了一些专门用于对数、指数和三角函数等数学计算的指令。由于这些指令集应用于i8086和i8087,所以人们也把这些指令集中统一称之为X86指令集。
虽然以后Intel公司又陆续生产出第二代、第三代等更先进和更快的新型CPU,但都仍然兼容原来的X86指令,而且Intel公司在后续CPU的命名上沿用了原先的X86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。至于在后来发展壮大的其他公司,例如AMD和Cyrix等,在486以前(包括486)的CPU都是按Intel的命名方式为自己的X86系列CPU命名,但到了586时代,市场竞争越来越厉害了,由于商标注册问题,它们已经无法继续使用与Intel的X86系列相同或相似的命名,只好另外为自己的586、686兼容CPU命名了。
1979年,Intel公司推出了8088芯片,它仍旧是属于16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线为20位,可使用1MB内存。8088内部数据总线都是16位,外部数据总线是8位,而它的兄弟8086是16位。
微机时代
1981年,8088芯片首次用于IBM的PC(个人电脑Personal Computer)机中,开创了全新的微机时代。也正是从8088开始,PC的概念开始在全世界范围内发展起来。
早期的CPU通常是为大型及特定应用的计算机而订制。但是,这种昂贵为特定应用定制CPU的方法很大程度上已经让位于开发便宜、标准化、适用于一个或多个目的的处理器类。
这个标准化趋势始于由单个晶体管组成的大型机和微机年代,随着集成电路的出现而加速。集成电路使得更为复杂的CPU可以在很小的空间中设计和制造出来(在微米的量级)。
1982年,许多年轻的读者尚在襁褓之中的时候,Intel公司已经推出了划时代的最新产品枣80286芯片,该芯片比8086和8088都有了飞跃的发展,虽然它仍旧是16位结构,但是在CPU的内部含有13.4万个晶体管,时钟频率由最初的6MHz逐步提高到20MHz。其内部和外部数据总线皆为16位,地址总线24位,可寻址16MB内存。从80286开始,CPU的工作方式也演变出两种来:实模式和保护模式。
1985年,Intel公司推出了80386芯片,它是80X86系列中的第一种32位微处理器,而且制造工艺也有了很大的进步,与80286相比,80386内部内含27.5万个晶体管,时钟频率为12.5MHz,后提高到20MHz、25MHz、33MHz。80386的内部和外部数据总线都是32位,地址总线也是32位,可寻址高达4GB内存。它除具有实模式和保护模式外,还增加了一种叫虚拟86的工作方式,可以通过同时模拟多个8086处理器来提供多任务能力。
除了标准的80386芯片,也就是经常说的80386DX外,出于不同的市场和应用考虑,Intel又陆续推出了一些其它类型的80386芯片:80386SX、80386SL、80386DL等。
1988年,Intel推出的80386SX是市场定位在80286和80386DX之间的一种芯片,其与80386DX的不同在于外部数据总线和地址总线皆与80286相同,分别是16位和24位(即寻址能力为16MB)。
高速CPU时代
1990年,Intel公司推出的80386 SL和80386 DL都是低功耗、节能型芯片,主要用于便携机和节能型台式机。80386 SL与80386 DL的不同在于前者是基于80386SX的,后者是基于80386DX的,但两者皆增加了一种新的工作方式:系统管理方式。当进入系统管理方式后,CPU 就自动降低运行速度、控制显示屏和硬盘等其它部件暂停工作,甚至停止运行,进入“休眠”状态,以达到节能目的。
1989年,大家耳熟能详的80486 芯片由Intel公司推出,这种芯片的伟大之处就在于它实破了100万个晶体管的界限,集成了120万个晶体管。80486的时钟频率从25MHz逐步提高到了33MHz、50MHz。80486是将80386和数学协处理器80387以及一个8KB的高速缓存集成在一个芯片内,并且在80X86系列中首次采用 了RISC(精简指令集)技术,可以在一个时钟周期内执行一条指令。它还采用了突发总线方式,大大提高了与内存的数据交换速度。
由于这些改进,80486 的性能比带有80387数学协处理器的80386DX提高了4倍。80486和80386一样,也陆续出现了几种类型。上面介绍的最初类型是80486DX。
1990年,Intel公司推出了80486 SX,它是486类型中的一种低价格机型,其与80486DX的区别在于它没有数学协处理器。80486 DX2由于用了时钟倍频技术,也就是说芯片内部的运行速度是外部总线运行速度的两倍,即芯片内部以2倍于系统时钟的速度运行,但仍以原有时钟速度与外界通讯。80486 DX2的内部时钟频率主要有40MHz、50MHz、66MHz等。80486 DX4也是采用了时钟倍频技术的芯片,它允许其内部单元以2倍或3倍于外部总线的速度运行。为了支持这种提高了的内部工作频率,它的片内高速缓存扩大到 16KB。80486 DX4的时钟频率为100MHz,其运行速度比66MHz的80486 DX2快40%。80486也有SL增强类型,其具有系统管理方式,用于便携机或节能型台式机。
CPU的标准化和小型化都使得这一类数字设备(香港译为“电子零件”)在现代生活中
的出现频率远远超过有限应用专用的计算机。现代微处理器出现在包括从汽车到手机到儿童玩具在内的各种物品中。
7技术架构
制造工艺
制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。现在主要的180nm、130nm、90nm、65nm、45纳米。最近inter已经有32纳米的制造工艺的酷睿i3/i5系列了。
而AMD则表示、自己的产品将会直接跳过32nm工艺(2010年第三季度生产少许32nm产品、如Orochi、Llano)于2011年中期初发布28nm的产品(名称未定)
指令集
(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系列,最后到今天的酷睿2系列、至强(不包括至强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位,可以避免字段过长。
x86-64(也叫AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器.
而今年也推出了支持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的处理器中将没有提供。
智能处理器是英特尔(Intel)公司在2010年推出的使用新一代处理器架构Nehalem的酷睿i7/i5/i3系列最新加入到处理器中的技术。名为Turbo.mode(即“睿频加速”技术)和Hyper-Threading(HT)(即“超线程”技术),并在2011年1月推出了第二代智能酷睿处理器,被称作Sandy Bridge平台,简称SNB。第二代处理器同样以酷睿I3/I5/I7来命名。不过在型号前面均有加一个数字2,以便区分一代一二代的产品。
1睿频加速
------Intel在最新酷睿i系列cpu中加入的新技术,以往cpu的主频是出厂之前被设定好的,不可以随意改变。而i系列cpu都加入睿频加速,使得cpu的主频可以在某一范围内根据处理数据需要自动调整主频。它是基于Nehalem架构的电源管理技术,通过分析当前CPU的负载情况,智能地完全关闭一些用不上的核心,把能源留给正在使用的核心,并使它们运行在更高的频率,进一步提升性能;相反,需要多个核心时,动态开启相应的核心,智能调整频率。这样,在不影响CPU的TDP情况下,能把核心工作频率调得更高。比如,某i5处理主频为2.53GHz,最高可达2.93GHz,在此范围内可以自动调整其数据处理频率,而此cpu的承受能力远远大于2.93GHz,不必担心cpu的承受能力。加入此技术的cpu不仅可以满足用户多方面的需要,而且省电,使cpu具有一些智能特点。实现Turbo技术需要在核心内部设计一个功率控制器,大约需要消耗100万个晶体管。因为在某些游戏中开启Turbo模式可以直接带来10%左右的性能提升,相当于将显卡提升一个档次。值得一提的是,Extreme版本的Core i7处理器最高可以将TDP在BIOS中设定到190W来执行Turbo模式,在个别应用中进一步提升CPU时钟频率,带来效能上的提升。)。他的加入可以很好的帮助处理器在空闲时刻降低功耗,从而起到提高工作效率同时节能的目的。Turbo Mode功能是一项可以充分使用处理器工作效率的技术。它能让内核运行动态加速。可以根据需要开启、关闭以及加速单个或多个内核的运行。如在一个四核的Nehalem处理器中,如果一个任务是单线程的,则可以关闭另外三个内核的运行,同时把工作的那个内核的运行主频提高,这样动态的调整可以提高系统和CPU整体的能效比率。
CPU会确定其当前工作功率、电流和温度是否已达到最高极限,如仍有多余空间,CPU会逐渐提高活动内核的频率,以进一步提高当前任务的处理速度,当程序只用到其中的某些核心时,CPU会自动关闭其它未使用的核心,睿频加速技术无需用户干预,自动实现。
2HT
术语解释
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
性能提升
一般很多人都会认为,采用超线程技术,就能使得系统效能大幅提升,但是事实真是如此么?不要忘了我们前面说到的超线程技术实现的必要条件,这可是超线程技术发挥应有效能的前提条件。除了操作系统支持之外,还必须要软件的支持。从这点我们就可以看出,就目前的软件现状来说,支持双处理器技术的软件毕竟还在少数。对于大多数软件来说,目前由于设计的原理不同,还并不能从超线程技术上得到直接的好处,因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Parallelism)”,也就是提高命令执行的并行度、提高每个时钟的效率。这就需要软件在设计上线程化,提高并行处理的能力。而目前PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并没不能获得效能的大幅提升。 上面说的只是目前软件支持的现状,操作系统在这个方面则没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的操作系统。并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起目前应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。那时候普通用户才能够从超线程技术中得到最直接的好处。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。
目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linuxkernel 2.4.x以后的版本也支持超线程技术。
优点
1、超线程技术的优势在于同时进行多任务批处理工作,尽管现在支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。
2、从目前来看,部分客户发可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。
3、客户同时运行两个以上的软件软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。
4、另外目前支持超线程技术的Windows XP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows操作系统的时候可以很好的享受到超线程技术带来好处。
缺点
1、因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题(这也是在WindowsXP中运行显卡的测试软件时候,得分下降了一点)。
2、在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几区域,互相共享内部资源。对于不支持多处理器工作的软件在双处理器上运行时出错的概率要比单处理器上高很多。
3、目前因为很多工作站软件为Windows 2000操作系统进行过优化,但是采用Windows2000这样的操作系统的工作战无法完全利用超线程技术的优势,也带来不了高的工作效率。
通过上面的解答,我们应该知道了超线程技术的确实对系统性能提升有好处,但是这仅对多任务处理的时候有优势,在进行单各任务处理的时候,优势表现不出来,而且因为打开超线程,处理器内部缓存就会被划分成几区域,互相共享内部资源,造成单个的子系统性能下降。个人认为,用户在进行单任务操作时候,没有必要打开超线程,只有多任务操作时候可以适时打开超线程,享受超线程技术带来的好处。
小结
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,提高处理器的性能。操作系统或者应用软件的多线程可以同时运行于一个HTT处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。这样就可以使得运行性能提高30%,这是因为在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而“超线程”技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
3挑选处理器
天气的逐渐变冷,提醒着我们年末的到来,同时也意味着寒促高峰的来临。辛苦劳作一年的大伙儿难免要“腐败”一把,不少朋友将买本的事儿提上日程。那么购买笔记本有哪些事项是需要格外注意的呢?虽说针对不同的应用有不同的笔记本机型供大家选择,但也有一些标准是放之四海而皆准的,比如性能、散热、续航这些选本的要点是值得用户去注意的,而这一切都与笔记本处理器的选择密不可分,可以说选对了处理器,就是选对了笔记本。
性能
从性能上看,英特尔新酷睿处理器加入的睿频加速技术使得笔记本的频率更加的智能化了,换言之,笔记本的处理器频率会依据当前运行需求在一个范围内变动。通俗地讲就是:当用户在PC上进行简单的操作、或者机器闲置的时候,处理器频率会自动调整到较低的频率,但是能够满足机器流畅运行;而当用户在PC上进行消耗资源较大的操作,比如处理大容量存储格式相片、运行大型3D游戏时,处理器立马满状态运行,并能通过睿频技术自动超频到一个较高的水准来满足运行程序的需求。而这一切操作,并不需要用户随时去手动切换,一切都在后台“悄悄地”完成,省去了很多麻烦。
当用户启动一个运行程序后,比如运行一款对系统资源要求较高的大型3D游戏,处理器会自动加速到合适的频率,将原来的运行速度提升10%~20% 以保证程序流畅运行;应对复杂应用时,处理器可自动提高运行主频以提速,轻松进行对性能要求更高的多任务处理;当进行工作任务切换时,如果只有内存和硬盘在进行主要的工作,处理器会立刻处于节电状态。这样既保证了能源的有效利用,又使程序运行速度大幅提升。
功能特色
除了性能之外,笔记本的散热和续航能力是另外两大要素,由于采用睿频技术,笔记本在闲置时将运行在更低的频率,同时新酷睿处理器本身采用32nm的制程工艺,与目前市场上还在流通的45nm处理器相比,本身就拥有更好的功耗控制,先天的优势加上后天的技术,使得Intel新酷睿智能处理器拥有更低的功耗、更低的发热量以及更长的续航时间。
采用Intel智能处理器的笔记本往往更轻更薄
采用Intel新酷睿智能处理器的笔记本由于拥有更为出色的功耗控制,使得其在产品模具设计上能够做到更轻更薄,外观也更加的时尚,同时笔记本的重量也降低了,便携性提高了,可谓一举多得。
记得早些时候笔记本的发热量控制还不是很好,不少朋友调侃说:冬天到了,买个本本暖暖手。如果你买了一款采用新酷睿智能处理器的笔记本,那“暖手”这个附加优惠基本上是不可能实现了。在价位上,您完全不需要担心,新酷睿智能处理器分为i3 i5 i7三大品类,价位从3000元到万元以上不等,相信可以满足不用户的需求。
4工作原理
提取
第一阶段,提取,从程式记忆体中检索指令(为数值或一系列数值)。由程式计数器(Program Counter)指定程式记忆体的位置,程式计数器保存供识别目前程式位置的数值。换言之,程式计数器记录了CPU在目前程式里的踪迹。
提取指令之后,程式计数器根据指令长度增加记忆体单元。指令的提取必须常常从相对较慢的记忆体寻找,因此导致CPU等候指令的送入。这个问题主要被论及在现代处理器的快取和管线化架构。
解码
CPU根据从记忆体提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令。
一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的资讯,诸如一个加法(Addition)运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器或记忆体位址,以定址模式决定。
在旧的设计中,CPU里的指令解码部分是无法改变的硬体装置。不过在众多抽象且复杂的CPU和指令集架构中,一个微程式时常用来帮助转换指令为各种形态的讯号。这些微程式在已成品的CPU中往往可以重写,方便变更解码指令。
执行
在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。
例如,要求一个加法运算,算数逻辑单元(ALU,Arithmetic Logic Unit)将会连接到一组输入和一组输出。输入提供了要相加的数值,而输出将含有总和的结果。ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,运算溢出(Arithmetic Overflow)标志可能会被设置。
写回
最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中。某些类型的指令会操作程式计数器,而不直接产生结果。这些一般称作“跳转”(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。
许多指令也会改变标志暂存器的状态位元。这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。
例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可藉由随后的跳转指令来决定程式动向。
在执行指令并写回结果之后,程式计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程式计数器将会修改成跳转到的指令位址,且程式继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制(Microcontrollers))。
5基本结构
CPU包括运算逻辑部件、寄存器部件和控制部件。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。
指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字和特征码。有的指令中也直接包含操作数本身。
运算逻辑部件
运算逻辑部件,可以执行定点或浮点的算术运算操作、移位操作以及逻辑操作,也可执行地址的运算和转换。
寄存器部件
寄存器部件,包括通用寄存器、专用寄存器和控制寄存器。
通用寄存器又可分定点数和浮点数两类,它们用来保存指令中的寄存器操作数和操作结果。
通用寄存器是中央处理器的重要组成部分,大多数指令都要访问到通用寄存器。通用寄存器的宽度决定计算机内部的数据通路宽度,其端口数目往往可影响内部操作的并行性。
专用寄存器是为了执行一些特殊操作所需用的寄存器。
控制寄存器通常用来指示机器执行的状态,或者保持某些指针,有处理状态寄存器、地址转换目录的基地址寄存器、特权状态寄存器、条件码寄存器、处理异常事故寄存器以及检错寄存器等。
有的时候,中央处理器中还有一些缓存,用来暂时存放一些数据指令,缓存越大,说明CPU的运算速度越快,目前市场上的中高端中央处理器都有2M左右的二级缓存,高端中央处理器有4M左右的二级缓存。
控制部件
控制部件,主要负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。
其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。
微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。
简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
逻辑硬布线控制器则完全是由随机逻辑组成。指令译码后,控制器通过不同的逻辑门的组合,发出不同序列的控制时序信号,直接去执行一条指令中的各个操作。
6发展历史
CPU这个名称,早期是对一系列可以执行复杂的计算机程序或电脑程式的逻辑机器的描述。这个空泛的定义很容易在“CPU”这个名称被普遍使用之前将计算机本身也包括在内。
诞 生
但从20世纪70年代开始,由于集成电路的大规模使用,把本来需要由数个独立单元构成的CPU集成为一块微小但功能空前强大的微处理器时。这个名称及其缩写才真正在电子计算机产业中得到广泛应用。尽管与早期相比,CPU在物理形态、设计制造和具体任务的执行上都有了戏剧性的发展,但是其基本的操作原理一直没有改变。
1971年,当时还处在发展阶段的Intel公司推出了世界上第一台真正的微处理器--4004。这不但是第一个用于计算器的4位微处理器,也是第一款个人有能力买得起的电脑处理器!
4004含有2300个晶体管,功能相当有限,而且速度还很慢,被当时的蓝色巨人IBM以及大部分商业用户不屑一顾,但是它毕竟是划时代的产品,从此以后,Intel公司便与微处理器结下了不解之缘。可以这么说,CPU的历史发展历程其实也就是Intel公司X86系列CPU的发展历程,就通过它来展开的“CPU历史之旅”。
起步的角逐
1978年,Intel公司再次领导潮流,首次生产出16位的微处理器,并命名为i8086,同时还生产出与之相配合的数学协处理器i8087,这两种芯片使用相互兼容的指令集,但在i8087指令集中增加了一些专门用于对数、指数和三角函数等数学计算的指令。由于这些指令集应用于i8086和i8087,所以人们也把这些指令集中统一称之为X86指令集。
虽然以后Intel公司又陆续生产出第二代、第三代等更先进和更快的新型CPU,但都仍然兼容原来的X86指令,而且Intel公司在后续CPU的命名上沿用了原先的X86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。至于在后来发展壮大的其他公司,例如AMD和Cyrix等,在486以前(包括486)的CPU都是按Intel的命名方式为自己的X86系列CPU命名,但到了586时代,市场竞争越来越厉害了,由于商标注册问题,它们已经无法继续使用与Intel的X86系列相同或相似的命名,只好另外为自己的586、686兼容CPU命名了。
1979年,Intel公司推出了8088芯片,它仍旧是属于16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线为20位,可使用1MB内存。8088内部数据总线都是16位,外部数据总线是8位,而它的兄弟8086是16位。
微机时代
1981年,8088芯片首次用于IBM的PC(个人电脑Personal Computer)机中,开创了全新的微机时代。也正是从8088开始,PC的概念开始在全世界范围内发展起来。
早期的CPU通常是为大型及特定应用的计算机而订制。但是,这种昂贵为特定应用定制CPU的方法很大程度上已经让位于开发便宜、标准化、适用于一个或多个目的的处理器类。
这个标准化趋势始于由单个晶体管组成的大型机和微机年代,随着集成电路的出现而加速。集成电路使得更为复杂的CPU可以在很小的空间中设计和制造出来(在微米的量级)。
1982年,许多年轻的读者尚在襁褓之中的时候,Intel公司已经推出了划时代的最新产品枣80286芯片,该芯片比8086和8088都有了飞跃的发展,虽然它仍旧是16位结构,但是在CPU的内部含有13.4万个晶体管,时钟频率由最初的6MHz逐步提高到20MHz。其内部和外部数据总线皆为16位,地址总线24位,可寻址16MB内存。从80286开始,CPU的工作方式也演变出两种来:实模式和保护模式。
1985年,Intel公司推出了80386芯片,它是80X86系列中的第一种32位微处理器,而且制造工艺也有了很大的进步,与80286相比,80386内部内含27.5万个晶体管,时钟频率为12.5MHz,后提高到20MHz、25MHz、33MHz。80386的内部和外部数据总线都是32位,地址总线也是32位,可寻址高达4GB内存。它除具有实模式和保护模式外,还增加了一种叫虚拟86的工作方式,可以通过同时模拟多个8086处理器来提供多任务能力。
除了标准的80386芯片,也就是经常说的80386DX外,出于不同的市场和应用考虑,Intel又陆续推出了一些其它类型的80386芯片:80386SX、80386SL、80386DL等。
1988年,Intel推出的80386SX是市场定位在80286和80386DX之间的一种芯片,其与80386DX的不同在于外部数据总线和地址总线皆与80286相同,分别是16位和24位(即寻址能力为16MB)。
高速CPU时代
1990年,Intel公司推出的80386 SL和80386 DL都是低功耗、节能型芯片,主要用于便携机和节能型台式机。80386 SL与80386 DL的不同在于前者是基于80386SX的,后者是基于80386DX的,但两者皆增加了一种新的工作方式:系统管理方式。当进入系统管理方式后,CPU 就自动降低运行速度、控制显示屏和硬盘等其它部件暂停工作,甚至停止运行,进入“休眠”状态,以达到节能目的。
1989年,大家耳熟能详的80486 芯片由Intel公司推出,这种芯片的伟大之处就在于它实破了100万个晶体管的界限,集成了120万个晶体管。80486的时钟频率从25MHz逐步提高到了33MHz、50MHz。80486是将80386和数学协处理器80387以及一个8KB的高速缓存集成在一个芯片内,并且在80X86系列中首次采用 了RISC(精简指令集)技术,可以在一个时钟周期内执行一条指令。它还采用了突发总线方式,大大提高了与内存的数据交换速度。
由于这些改进,80486 的性能比带有80387数学协处理器的80386DX提高了4倍。80486和80386一样,也陆续出现了几种类型。上面介绍的最初类型是80486DX。
1990年,Intel公司推出了80486 SX,它是486类型中的一种低价格机型,其与80486DX的区别在于它没有数学协处理器。80486 DX2由于用了时钟倍频技术,也就是说芯片内部的运行速度是外部总线运行速度的两倍,即芯片内部以2倍于系统时钟的速度运行,但仍以原有时钟速度与外界通讯。80486 DX2的内部时钟频率主要有40MHz、50MHz、66MHz等。80486 DX4也是采用了时钟倍频技术的芯片,它允许其内部单元以2倍或3倍于外部总线的速度运行。为了支持这种提高了的内部工作频率,它的片内高速缓存扩大到 16KB。80486 DX4的时钟频率为100MHz,其运行速度比66MHz的80486 DX2快40%。80486也有SL增强类型,其具有系统管理方式,用于便携机或节能型台式机。
CPU的标准化和小型化都使得这一类数字设备(香港译为“电子零件”)在现代生活中
的出现频率远远超过有限应用专用的计算机。现代微处理器出现在包括从汽车到手机到儿童玩具在内的各种物品中。
7技术架构
制造工艺
制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。现在主要的180nm、130nm、90nm、65nm、45纳米。最近inter已经有32纳米的制造工艺的酷睿i3/i5系列了。
而AMD则表示、自己的产品将会直接跳过32nm工艺(2010年第三季度生产少许32nm产品、如Orochi、Llano)于2011年中期初发布28nm的产品(名称未定)
指令集
(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系列,最后到今天的酷睿2系列、至强(不包括至强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位,可以避免字段过长。
x86-64(也叫AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器.
而今年也推出了支持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的处理器中将没有提供。