您的当前位置:首页正文

CPU的构架对性能的影响

2022-12-11 来源:客趣旅游网


CPU的构架对性能的影响

一、定义

Architecture ,结构、架构,这个词用于 CPU 的时候是指 CPU “接受和处理

信号的方式”,及其内部元件的组织方式。

二、CPU主要发展阶段

第1阶段

第1阶段(1971——1973年)是4位和8位低档微处理器时代,通常称为第1代,其典型产品是Intel4004和Intel8008微处理器和分别由它们组成的MCS-4和MCS-8微机。基本特点是采用PMOS工艺,集成度低(4000个晶体管/片),系统结构和指令系统都比较简单,主要采用机器语言或简单的汇编语言,指令数目较少(20多条指令),基本指令周期为20~50μs,用于简单的控制场合。

4004 是英特尔第一款微处理器,为日后开发系统智能功能以及个人电脑奠定发展基础,其晶体管数目约为2300颗。

图一4004 图二 8085第2阶段

第2阶段(1974——1977年)是8位中高档微处理器时代,通常称为第2代,其典型产品是Intel8080/8085、Motorola公司、Zilog公司的Z80等。它们的特点是采用NMOS工艺,集成度提高约4倍,运算速度提高约10~15倍(基本指令执行时间1~2μs)。指令系统比较完善,具有典型的计算机体系结构和中断、DMA等控制功能。Intel 8080晶体管数目约为6千颗。

第3阶段

第3阶段(1978——1984年)是16位微处理器时代,通常称为第3代,其典型产品是Intel公司的8086/8088,Motorola公司的M68000,Zilog公司的Z8000等微处理器。其特点是采用HMOS工艺,集成度(20000~70000晶体管/片)和运算速度(基本指令执行时间是0.5μs)都比第2代提高了一个数量级。指令系统更加丰富、完善,采用多级中断、多种寻址方式、段式存储机构、硬件乘除部件,并配置了软件系统。

80286(也被称为286)是英特尔首款能执行所有旧款处理器专属软件的处理器,这种软件相容性之后成为英特尔全系列微处理器的注册商标。由于IBM公司在发展个人计算机时采用 了技术开放的策略,使个人计算机风靡世界。

第4阶段

第4阶段(1985——1992年)是32位微处理器时代,又称为第4代。其典型产品是Intel公司的80386/80486,Motorola公司的M69030/68040等。其特点是采用HMOS或CMOS工艺,集成度高达100万个晶体管/片,具有32位地址线和32位数据总线。每秒钟可完成600万条指令(Million Instructions Per Second,MIPS)。微型计算机的功能已经达到甚至超过超级小型计算机,完全可以胜任多任务、多用户的作业。

1989年,我们大家耳熟能详的80486芯片由英特尔推出。这款芯片的伟大之处在于它首次实破了100万个晶体管的界限,集成了120万个晶体管,使用1微米的制造工艺。80486的时钟频率从25MHz逐步提高到33MHz、40MHz、50MHz。

图三 80486

第5阶段

第5阶段(1993-2005年)是奔腾(pentium)系列微处理器时代,通常称为第5代。典型产品是Intel公司的奔腾系列芯片及与之兼容的AMD的K6、K7系列微处理器芯片。内部采用了超标量指令流水线结构,并具有相互独立的指令和数据高速缓存。随着MMX(Multi Media eXtended)微处理器的出现,使微机的发展在网络化、多媒体化和智能化等方面跨上了更高的台阶。

第6阶段

第6阶段(2005年至今)是酷睿(core)系列微处理器时代,通常称为第6代。“酷睿”是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,提高每瓦特性能,也就是所谓的能效比。

Core i3可看作是Core i5的进一步精简版(或阉割版),将有32nm工艺版本(研发代号为Clarkdale,基于Westmere架构)这种版本。Core i3最大的特点是整合GPU(图形处理器),也就是说Core i3将由CPU+GPU两个核心封装而成。由于整合的GPU性能有限,用户想获得更好的3D性能,可以外加显卡。

三、各阶段架构变化及影响

架构不仅包括指令集的更新,更主要的是核心制成的改进,内存/缓存访问机制的改善,各个核心间数据交换的优化,总线带宽的提升等等,简单点来说就是架构越先进,相同频率下的CPU处理效率也就越高。

1、指令集:CISC→RISC

CISC就是复杂指令集计算机,是通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构主要以IA-32架构为主。

精简指令系统计算机.即Reduced Instruction Set Computer,简称RISC。思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现,通过简化计算机指令功能,使指令的平均执行周期减

少,从而提高计算机的工作主频,同时大量使用通用寄存器来提高子程序执行的速度。在中高档服务器中采用RISC指令。

背景:奔腾Ⅱ处理器融合了Intel MMX技术。

(1) 单指令、多数据(SIMD)技术

今天的媒体和通信应用程序中经常使用重复循环,这些仅占总程序10%甚至更少的代码,却要占用90%的运行时间。一个被称作单指令、多数据(SIMD)的流程使得一条指令能完成多重数据的的工作。这就好比一个长官对整个排发出\"立正!\"的命令,而不是对每个士兵都说一遍。SIMD允许芯片减少在视频、声音、图像和动画中计算密集的循环。 (2) 新的指令集

Intel的工程师们特别设计了57条功能强大的指令,以更有效地操作、处理视频、声音和图像数据。这些指令主要针对多媒体操作中经常出现的高并行、重复运算。奔腾Ⅱ处理器的MMX技术和奔腾处理器中的MMX技术是兼容的,它和奔腾Ⅱ处理器的核心架构也有非常好的结合。强大的MMX技术指令集充分利用了动态执行的技术,在多媒体和通信中性能表现卓著。

从Pentium III开始,英特尔又引入了70条新指令(SIMD,SSE),主要用于因特网流媒体扩展(提升网络演示多媒体流、图像的性能)、3D、流式音频、视频和语音识别功能的提升。

2、数据总线带宽:趋势不断增加宽度。当CPU要数据时内存却传不过来足够的数据,造

成CPU 闲置,所以总线需要足够的宽度。

CPU位宽:位宽越大代表一次能处理的数据越多,运算速度越快。如果我们将总长128

位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位CPU

(如Intel 80286 CPU)需要8个指令,32位的CPU需要4个指令,而64位

CPU则只要两个指令。显然,在工作频率相同的情况下,64位CPU的处

理速度比16位、32位的更快.。

地址总线宽度:越宽代表寻址范围越大。当然64位寻址空间也有一定的缺点:内存地址

值随着位数的增加而变为原来的两倍,这样内存地址将在缓存中占用

更多的空间,其他有用的数据就无法载入缓存,从而引起了整体性能一

定程度的下降。

背景: Intel C8008为世界上第一款八位元处理器。8位运算+16位地址总线+16

位数据总线,包含7个8位寄存器(A,B,C,D,E,F,G,其中BC,DE,HL组合可组成16位数据寄存器),支持16位内存。有效解决了外部设备在内存寻址能力不足的问题。

1978年,Intel首次生产出16位的微处理器,并命名为i8086,8086内部数据总线(CPU内部传输数据的总线)、外部数据总线(CPU外部传输数据的总线)均为16位,地址总线为20位。

1985年Intel推出了80386芯片,它是80x86系列中的第一种32位微处理器。80386的内部和外部数据总线都是32位,地址总线也是32位,可寻址高达4GB内存。

3、主频:不断提高,主频和实际的运算速度存在一定的关系。

CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力

并没有直接关系。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。主频和实际的运算速度存在一定的关系,但还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集,CPU的位数等等)。在一个时钟周期内,运算一条指令,主频高的CPU运算快。

随着技术的发展,CPU速度越来越快,内存、硬盘等配件逐渐跟不上CPU的速度了,而倍频的出现解决了这个问题,它可使内存等部件仍然工作在相对较低的系统总线频率下,而CPU的主频可以通过倍频来无限提升(理论上)。但一味追求主频,不顾功耗也是不行的。

背景:奔腾4能够在同样的0.18微米工艺下轻松达到2GHz,随着主频的不断攀升,NetBurst架构的弊端越来越明显。第三代Prescott奔腾4流水线达到31级,晶体管达到了125百万个(Northwood只有55百万个),以至于它每个时钟周期比Northwood多产生大约60%的热量,同时功率消耗也增加大约10%!3.2GHz的Prescott TDP达到了触目惊心的103W!英特尔意识到处理器研发道路上走入了“唯主频论”的误区,2004年10月,英特尔总裁贝瑞特惊天一跪,面对着6500人说道:“请原谅我们”,真心地对公司的失误表示忏悔。

4、缓存:增大有利于提高性能,但是从CPU芯片面积和成本的因素来考虑,缓存都很小。

CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。

背景:Pentium Pro采用了“PPGA” 封装技术。即一个256KB的二级缓存芯片与Pentium Pro芯片封装在一起 ,两个芯片之间用高频宽的内部总线互连,处理器与高速缓存的连接线路也被安置在该封装中,这样就使高速缓存能更容易地运行在更高的频率上。

吸取了奔腾Pro的教训,Intel在1996年底推出了奔腾系列的改进版本,奔腾MMX(中文名称“多能奔腾”)。将CPU芯片内的L1缓存由原来的 16KB增加到32KB(16K指命+16K数据),因此MMX CPU比普通CPU在运行含有MMX指令的程序时,处理多媒体的能力上提高了60%左右。

Conroe处理器沿用了L1 Cache设计,L1数据Cache和L1指令Cache分别为32KB,两个核心共享4MB或2MB的L2 Cache高级智能高速缓存(Intel Advanced Smart Cache)

以往的多核心处理器,其每个核心的L2缓存是各自独立的,这就造成了L2缓存不能够被充分利用,并且两个核心之间的数据交换路线也更为冗长,影响了处理器工作效率。如果采用L2缓存共享设计,那么只需要数据被载入到L2缓存中,数据可以被两个核心同时使用。 这样做的另一个好处是每个内核之间都共享着更大的L2缓存,其缓存可以被任何一个核心所独占,这样理论上每个核心都有可能获得100%的L2缓存掌控权,特别是对于一些单核心优化的程序,由于不需要使用到第二个核心,这种时候,第二个核心自动关闭降低功耗,而第一个核心可以共享双倍于单核L2缓存容量的空间来存放数据,要知道高速L2缓存的容量越大,可以使得总体效率也有响应提升。

5、流水线技术:运算流水管线越长,就越容易在同样制造工艺下达到更高的工作主频。但是运算流水管线过长也会带来负面影响,管线越长,单位主频下的处理器执行效率就越低,性能的发挥就会受到影响。且过长的流水线级数需要更多的晶体管去实现,同时会产生较大功耗。

流水线技术是将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理,以加速程序运行过程的技术。采用流水线技术后,并没有加速单条指令的执行,每条指令的操作步骤一个也不能少,只是多条指令的不同操作步骤同时执行,因而从总体上看加快了指令流速度,缩短了程序执行时间。

背景:奔腾4能够在同样的0.18微米工艺下轻松达到2GHz,而奔腾III 去到1.13GHz

就已经到了极限,这是因为奔腾4的运算流水管线多达20级甚至31级,而奔腾III只有11级。

Conroe处理器的数据流水线长度从Prescott的31级大幅度缩短至目前的14级。

·14级指令执行流水线设计

7、多内核:在特定的时间内执行更多任务,从而提高性能。

英特尔工程师们开发了多核芯片,使之满足“横向扩展”(而非“纵向扩充”)方法,。该架构实现了“分治法”战略。多核技术能够使服务器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。

如果我们选择多个单核CPU,那么每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。假如在这样的架构上,我们要跑一个多线程的程序(常见典型情况),不考虑超线程,那么每一个线程就要跑在一个独立的CPU上,线程间的所有协作都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。这样的话,总线开销相比较而言是很大的。那么多Cache,即使我们不心疼存储能力的浪费,一致性无法保证。如果真正做出来,还要在主板上占多块地盘,给布局布线带来更大的挑战。

如果我们选择多核单CPU,那么我们只需要一套芯片组,一套存储,多核之间通过芯

片内部总线进行通信,共享使用内存。在这样的架构上,如果我们跑一个多线程的程序,那么线程间通信将比上一种情形更快。如果最终实现出来,对板上空间的占用较小,布局布线的压力也较小。

背景:“双核元年”,则被认为是2006年。这一年的7月23日,英特尔基于酷睿(Core)架构的处理器正式发布。算数逻辑运算单元:

背景:Conroe处理器算术逻辑运算单元ALU数量由上代NetBurst微构架的2组提升至3组,整体运算性能大大增加。

图四 core架构

前端总线:前端总线是处理器与主板北桥芯片或内存控制集线器之间的数据通道,其频率高低直接影响CPU访问内存的速度。

8、宽区动态执行(Intel Wide Dynamic Execution)技术:就是通过提升每个时钟周期完成的指令数,从而显著改进执行能力。通俗的说就是,每个内核将变得更加“宽阔”,这样每个内核就可以同时处理更多的指令。

背景:Core微架构拥有4组解码单元,每周期可以生成7条微指令;Yonah 微架构拥有3组,每周期可以生成6条微指令;而NetBurst微架构由于解码方式不同,不容易比较解码单元的数目,但是NetBurst微架构每周期只能生成3条微指令。

9、宏融合(Macro-Fusion)技术:它可以让处理器在解码的同时,将同类的指令融合为单一的指令,这样可以减少处理的指令总数,让处理器在更短的时间内处理更多的指令。

10、智能内存访问:是另一个能够提高系统性能的特性,通过缩短内存延迟来优化内存数据访问。智能内存访问能够预测系统的需要,从而提前载入或预取数据,反映到用户的直接使用体验上,就是大幅提高了执行程序的效率。

以前我们要从内存中读取数据,就需要等待处理器完成前面的所以指令后才可以进行,这样的效率显然是低下的。而Core架构中可以智能地预测和装载下一条指令所需要的数据,从而优化内存子系统对可用数据带宽的使用,并隐藏内存访问的延迟。该目标是为了确保能够尽快地使用数据,并使该数据可能地用于需要的地方,以将延迟最小化,最终提高效率和速度。

改进的预取器和内存消歧通过最大化可用系统总线带宽和隐藏内存子系统延迟,提高了执行吞吐率。

11、高级数字媒体增强技术(Intel Advanced Digital Media Boost):性能=频率×每个时钟周期的指令数高级数字媒体增强是为了提高每个时钟周期的指令数而诞生。它是一项可以显著提高执行SIMD流指令扩展(SSE)指令性能的特性。128位SIMD整数算法和128位SIMD双精度浮点操作减少了执行特定程序任务所需的全部指令数,将能够促使整体性能的增高。

背景:Core微架构的上一代Yonah具有一个比较明显的缺点,只具有64bit的SIMD运算架构,在涉及到128位SIMD运算的时候,需要两个时钟周期才能完成,效率非常低下,Yonah也因此难以实现64bit运算,而Core微架构经过改良之后,可以单个周期就能完成同样的操作,效率提高达一倍。

12、智能功率能力(Intel Intelligent Power Capability):各个运算部件都单独加入了电源控制功能,仅在需要的时候才开启相应工作电路。

EIST全称为Enhanced Intel SpeedStep Technology根据不同的系统工作量自动调节处理器的电压和频率,以减少耗电量和发热量。的倍频和输入电压来降低处理器的功耗。

TM2全称Thermal Monitor2:核心处理器中增加的新的过热保护机制。通过调节处理器

背景:NetBurst架构、Prescott核心处理器的耗电/功耗表现向来被竞争对手和用户诟病,因此新一代Core架构在功耗上进行改进也就十分重要,并被称为Intel Intelligent Power Capability,包括采用了先进的65nm Strained Silicon应变硅技术、Low-K介质等技术,还对各个运算部件都单独加入了电源控制功能,仅在需要的时候才开启相应工作电路。先进的能源管理技术让Core架构的处理器的功耗表现很出色,这也是Conroe处理器迅速被用户接受的一个重要因素。

参考文献:1、INTEL CPU全系列架构发展史

2、CPU架构十年

3、Intel_CPU及其架构_发展史

4、百度百科:多核处理器、cpu流水线、缓存、主频、总线、复杂指令集、

精简指令集

5、了解cpu架构——冰刀博客

6、多核 CPU 和多个 CPU 有何区别?——知乎用户,GPGPU/

附:CPU系列 Intel 4004 Intel 4040 Intel 8086 Intel 8088 8018 80286 80386 80486

奔腾(Pentium) Pentium Pro Pentium II 赛扬(Celeron) 奔腾III(Pentium III) 奔腾4 (Pentium 4)

奔腾4至尊版(Pentium 4 Extreme Edition)

赛扬D(Celeron D) 奔腾D(Pentium D)

奔腾D至尊版(Pentium D Exterme Edition)

酷睿 双核 Intel Core Duo 酷睿2 双核 Intel Core 2 Duo 奔腾双核 Intel pentium dual-core 酷睿2 至尊版 Intel Core 2 Extreme 酷睿2 四核 Intel Core 2 Quad 酷睿2 四核 至尊版 Intel Core 2 Quad eXtreme 赛扬双核 Intel Celeron duo-core 酷睿i7-四核心(8xx/9xx)/六核心(9xx)处理器

酷睿i5-双核心(6xx)/四核心(7xx)处理器

酷睿i3-双核心(5xx)处理器 笔记型电脑用

移动式酷睿i7-双核心(6xx)/四核心(7xx/8xx/9xx)处理器

移动式酷睿i5-双核心(4xx/5xx)处理器 移动式酷睿i3-双核心(3xx)处理器 Pentium III Mobile

Pentium 4 Mobile 区别于机动版Pentium 4

Mobile Pentium 4 最高至3.06GHz,区别与P4M

奔腾M(Pentium M) 赛扬M(Celeron M) 酷睿 双核 (Intel Core Duo) 酷睿2 双核 (Intel Core 2 Duo) 酷睿 单核(Intel Core Solo) 酷睿2 单核(Intel Core 2 Solo) 奔腾双核 (Intel pentium dual-core ) 凌动超低功耗处理器(Atom) 赛扬双核 (Intel celeron dual-core)

因篇幅问题不能全部显示,请点此查看更多更全内容