从体系结构的演变看高性能微处理器的发展趋势_第1页
从体系结构的演变看高性能微处理器的发展趋势_第2页
从体系结构的演变看高性能微处理器的发展趋势_第3页
从体系结构的演变看高性能微处理器的发展趋势_第4页
从体系结构的演变看高性能微处理器的发展趋势_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.:.;微处置器体系构造随着高性能计算的需求,计算机体系构造发生了很大变化。作为计算机中心部件的微处置器,其性能和复杂性晶体管数、时钟频率和峰值也按照摩尔定律增长。微处置器性能的改善在很大程度上归功于体系构造的开展和VLSI工艺的改良。体系构造的开展主要表达在三个方面,即超流水、多指令发射和多指令操作。超流水技术主要开发时间并行性。流水线技术是RISC处置器区别于CISC处置器的重要特征。采用超流水技术,虽然可以减少关键途径中每级流水的时间,但同时也引入了更多的存放器,进而添加了面积开销以及时钟歪斜问题。另一方面,深度流水在指令相关和指令跳转时会大大降低流水线的性能。多指令发射和多指令操作均是

2、开发空间并行性。多指令发射面临的首要问题是如何坚持运用程序语义的正确性,MIMD、超标量和数据流技术是多指令发射的典型构造。MIMD是并行计算的重要研讨领域。超标量采用时序指令流发射技术,兼容性好,硬件开销大,功耗开销大,是目前多数商用高端处置器采用的主流技术。数据流采用token环技术,实际上可以开发出高度指令并行性。然而,其商用开发不胜利,缘由是运转时间开销大,尤其是token环匹配需求很高的时间代价。多指令操作是当前体系构造的重要研讨方向。多指令操作包括数据并行性开发和操作并行性开发。虽然在CISC处置器中均采用过这两种技术,但CISC给体系构造开发带来三个负面影响:一是CISC指令不适

3、宜流水处置,二是指令差别很大呵斥译码困难,三是编译器很难开发出有效的指令操作。与CISC处置器相反,多指令操作非常适宜RISC处置器,其中SIMD和VLIW就是数据并行性和操作并行性的典型构造。向量处置器和SIMD处置器都是利用多个操作数来实现数据并行性。但二者有很大不同。向量处置器对线性向量元素顺序操作,SIMD那么对向量元素进展并发操作。对前者,每条指令只能作用于一个功能部件,执行时间较长;而后者在执行指令时可以作用于多个功能部件。向量处置器采用交叉存储器实现向量的访存操作,同时可对短向量进展有效操作,即对稀疏向量进展紧缩以获得高性能。SIMD适宜多媒体中的分组数据流,经过特定算法将长的数

4、据流截成定长短向量序列,从而可以和向量处置器那样实现对定长短向量序列的高效处置。VLIW是实现操作并行性开发的重要途径。CISC处置器采用垂直编码技术,而VLIW那么采用程度编码技术,指令中的每个操作域可以并发执行。同CISC处置器相比,VLIW具有的优点是:指令操作域定长,译码简单;适宜流水处置,减少CPI;编译器需求开发程序潜在的指令级操作并行性。传统VLIW的缺乏是指令带宽较高,二进制目的代码不兼容。VLIW和SIMD构造都能接受单一指令流,每条指令可以包含多个操作。但前者允许每条指令包含多个不同类型的操作,同时可以开发细粒度并行性。VLIW指令字较长,而SIMD具有很强的数据紧缩才干。

5、现实上,VLIW和SIMD技术相结合可以获得更高的性能加速比,且非常适宜多媒体数据处置。从微处置器体系构造和编译器界面划分的角度上讲,指令级体系构造可以分为顺序构造、相关构造和独立构造三类。在顺序构造中,程序不包含任何指令并行信息,完全经过硬件进展调度,即硬件担任操作间的相关分析、独立操作分析和操作调度,编译器只担任程序代码的重组,程序中不附加任何信息。超标量是该类构造的典型代表。在相关构造中,程序显式指定操作的相关信息,即编译器担任操作间的相关分析,而硬件担任独立操作分析和调度,如数据流处置器。独立构造完全由程序提供各个独立操作间的信息,即编译器担任操作间相关性分析、独立操作间分析和指令调度

6、,VLIW是其主要代表。 超标量处置器架构现代超标量处置器体系构造均基于IBM360/91采用的Tomasulo和CDC6600采用的Scoreboard动态调度技术,MIPS R10000和DEC21264微处置器均基于该体系构造。典型超标量处置器通常采用如下逻辑构造实现动态调度:存放器重命名逻辑、窗口唤醒逻辑、窗口选择逻辑和数据旁路逻辑。Intel的Pentium处置器、Motorola的PowerPC 604和SPARC64那么采用基于约定站的超标量体系构造。 两种体系构造的主要区别是:在典型超标量构造中,无论是推测还是非推测存放器值都放在物理存放器堆中;在约定站超标量构造中,推测数据放

7、在重排序缓冲器中,非推测数据和曾经执行完成提交的数据那么放在存放器文件中。在典型构造中,操作数不广播到窗口,而只将操作数标志TAG进展广播,操作数那么送到物理存放器文件。在约定站构造中,指令执行结果广播到约定站,指令发射时从约定站去取操作数。超标量处置器性能与IPCInstructions Per Cycle和时钟频率的乘积成正比。时钟速率同系统构造的关键途径时延有关,而IPC和如下要素有关:程序中潜在的指令级并行性、体系构造字长宽度、指令窗口大小和并行性开发战略。超标量处置器普统统过添加发射逻辑提高IPC,这将导致更宽的发射窗口和更复杂的发射战略。 众所周知,超标量处置器是通用微处置器的主流

8、体系构造,几乎一切商用通用微处置器都采用超标量体系构造。而在DSP方面,LSI 逻辑公司的 ZSP200、 ZSP400、ZSP500和ZSP600均采用超标量体系构造。ZSP200采用并行MAC和ALU运算部件,2发射超标量构造;ZSP400采用双 MAC单元、4 发射超标量处置器体系构造;ZSP500为4发射体系构造、采用加强型双MAC和双ALU运算单元;ZSP600采用4MAC和双ALU运算部件,每个时钟周期发射6条指令。图1为ZSP400构造框图。 图1 ZSP400 内核超标量体系构造框图ADI公司的TigerSHARC系列采用静态超标量体系构造。该系列采用了许多传统超标量处置器的特

9、征,如load/store构造、分之预测和互锁存放器堆等技术。每个时钟周期发射4条指令。而静态超标量的含义是指指令级并行性识别是在运转之前,即编写程序时确定的现实上以VLIW构造为根底。同时,Tiger SHARC系统处置器采用SIMD技术,用户可以对数据进展广播和合并。一切存放器均是互锁的,支持简单的编程模型,该模型不依赖于不同型号间的时延变化。分支目的缓冲器BTB为128位,可以有效减小循环操作和其它非顺序代码的执行时间。图2为TigerSHARC系列中的ADSP-TS201S构造框图。 图2 ADSP-TS201S静态超标量体系构造框图超长指令字VLIW体系构造自从耶鲁大学的J.A Fi

10、sher于1979年初次提出VLIW体系构造以来,先后由耶鲁大学开发出基于跟踪调度(Trace Scheduling)技术的MultiFlow处置器和Cydrome公司Bob Rau等人开发的基于巨块调度Superblock Scheduling的Cydra-5处置器。但直到九十年代中期,基于VLIW构造的处置器根本上停留在实验室原型机阶段。由于VLIW本身固有的几个关键问题不断没有彻底处理,导致了其后的商用途置器体系构造从RISC转向了超标量和超流水,而不是VLIW。虽然如此,由于VLIW构造的许多优点依然使许多研讨机构竞相对该技术进展坚持不懈地研讨,并在体系构造和编译器方面实现了突破,其中

11、最重要的是处理了目的代码兼容问题并支持推断推测机制虽然大部分处置器仅支持部分推断推测机制。这之后出现了Philip的Trimedia、Equator的MAP1000A媒体处置器、Chromatic的Mact、TI的TMS320C6XX、Transmeta的Crusoe以及INTEL和HP联盟提出的IA-64体系构造EPIC。现实上VLIW作为下一代高性能处置器体系构造的首选技术已成共识,该体系构造和优化编译器构成的SIMD指令流将更加适宜多媒体数据处置。TI的TMS320C6系列是典型的超长指令字VLIW体系构造,该系列每个指令周期可以执行8条32位指令,C62为定点处置器,C67为浮点处置器

12、。C62和C67系列的CPU内核是一样的,包含32个通用存放器、8个执行部件。C64包含64个通用存放器和8个执行部件。8个执行部件包含2个乘法器和6个ALU。支持8/16/32数据类型,一切指令均为条件执行,减小了分支指令开销。图3为C62和C67系统框图。 图3 基于VLIW体系构造的TMS320C6系统框图中国科学院声学研讨所在“973国家艰苦根底研讨开展规划资助下研制胜利国内第一款基于多发射VLIW和SIMD技术的具有可重组构造的高性能微处置器芯片华威处置器SuperV。该处置器为四发射VLIW处置器,当执行向量处置功能时,每个周期可执行35个操作。在执行32位乘累加操作时可获得2.9

13、 GOPS 的数据处置速度;执行16位乘累加操作时可获得5.1 GOPS 的数据处置速度;执行8位乘累加操作时可获得9.3 GOPS 的数据处置速度。该处置器是目前国内数据处置才干最强的微处置器,可以广泛运用于信息家电、网络通讯、声音图像以及雷达声纳等信号处置领域。 可重构处置器架构从二十世纪七十年代开场的第一代CISC处置器开场至今,微处置器体系构造曾经经过了三代。然而,即使是第三代的RISC技术依然停留在固定方式的体系架构设计。随着ASIC和SOC技术的开展,微处置器设计进入到第四代,即后RISC和可重构处置器时代。其重要特征是系统架构不再采用固定方式,而是将DSP的灵敏性与硬线衔接的公用

14、性相结合,使得微处置器可以针对不同的运用需求建立本人独特的体系构造,到达性能最优、功耗更低的目的。华威处置器SuperV体系构造不仅基于RISC、VLIW和SIMD技术,而且采用了可重构技术,使得用户在不添加硬件开销的情况下经过对系统功能部件的重构完成对不同运用的处置,不仅提高了系统性能,而且大大降低了系统的功耗。例如,在华威处置器中设计了假设干32位可重构乘法器,每个可重构乘法器可以完成32位乘法、假设干个16位乘法或者8位乘法。因此,华威处置器可以采用一条指令完成16个8位数据的乘累加操作;一条指令可以完成8个16位数据的乘累加操作;一条指令可以完成4个32位数据的乘加操作;一条指令可以完

15、成4个32位数据的累加操作;一条指令可以完成16个索引、16个地址计算和16次数据加载操作;两条指令完成16个8位数据累加操作;两条指令可以完成8个16位数据累加操作;两条指令可以完成对256项、8位元素的数据表进展的16路并行查找。 Tensilica的可配置技术是可重构处置器的重要代表。例如,Vectra LX定点向量DSP引擎就是经过配置选项在Xtensa LX可配置处置器的根底上建立起来的。即Vectra LX定点DSP引擎是Xtensa LX微处置器内核的一种配置。该定点DSP引擎是一个3发射SIMD处置器,具有四个乘法器/累加器四MAC,它可以处置128位的向量。128位向量可以分

16、成8个16位或者4个32位的元素。整个Vectra LX DSP引擎是用TIE Tensilicas Instruction Extension言语开发的,经过修正可以适宜不同的运用领域。Vectra LX DSP引擎添加了16个向量存放器每个存放器160位宽、四个128位的向量队列存放器、第二个load/store单元和210多条现有Xtensa LX处置器指令集体系构造中的通用DSP指令。Vectra LX DSP引擎如图4所示。 图4 Vectra LX DSP体系构造框图 结 语作为信息产业的中心技术,微处置器体系构造正在发生很大的变化,而这种变化无不表达出市场需求的强大动力。现代微处

17、置器,无论是通用微处置器还是数字信号处置器在体系构造方面正在趋于交融。通用途置器经过添加媒体处置指令来提高数据处置器才干;而数字信号处置器也自创了通用途置器的体系构造,使得数字信号处置器的数据处置器才干更加强大、管理更加灵敏。同时,随着嵌入式运用的需求,对功耗的要求也越来越苛刻,使得可重构处置器在未来将会起到重要的作用。由于不同的运用需求可以经过重构技术获得所需求的微处置器系统架构,这将大大提高产品的竞争力,同时也降低了整个系统的功耗和本钱。多处置器的体系构造 随着单个处置器的性能越来越逼近其物理极限,如今的处置器设计方向可以大致有两类,一是采用单片上集成多个核中或者采用一个核中多个物理线程的

18、方法来到达并行的目的,从而提高性能;另一个方向是嵌入式运用,这有两种思绪即将通用途置器扩展、改装成能适宜各种嵌入式运用的份额是,或者将扩展、改装以吸收部分通用微处置器的特点。现实上, 在2000年,嵌入式芯片的销售量曾经是通用微处置能的两倍多。但是从编译的角度来看由于其不规那么、复杂的构造以及指令集构造,导致无法很好的利用编译器。当然,如今的一个研讨方向就是吸收通用微处置器的特点,以方便编译器的运用。 .相关的体系构造引见 .多发射处置器multi-issue processor 多发射处置器multi-issue processor包括超标量(Superscalar)和超长指令字Very-L

19、ong Instruction Word,处置器,其思想是允许在一个时钟周期内发射多条指令以减少处置器的平均, 更好地利用途置器的功能部件。提高多发射处置器资源利用率的关键问题是:如何在程序中找到足够的指令级并行性。超标量处置器在每个时钟周期发射由硬件动态确定的指令,而处置器那么在每个时钟周期发射出编译器确定的固定数目的操作。超标量处置器是依赖硬件来发现ILP, 而VLIW处置器那么依赖编译器来发现。不论是超标量还是处置器都只能发掘同一个线程的ILP来提高处置器资源利用率。当多发射处置器不能发现足够的指令来添满发射槽时,程度浪费Horizontal Waste就发生了。此外当资源冲突呵斥多发射

20、处置器在接下来的时钟周期中不能发射指令,那么呵斥了垂直浪费Vertical Waste。如图1所示为多发射处置器中能够呵斥的垂直浪费和程度浪费情况。图中空白块表示该指令发射槽Issue Slot浪费了; 不同的填充色表示不同线程。 现代超标量处置器包括:DEC/Compaq 21162,PowerPC,MIPS R10000,Sun UltraSparc.HP PA-8000。现代VLIW处置器包括:Intel IA-64(Itanium),transmeta Crusoe。 2.1.2 多线程处置器multi-thread processor 为了减少长延迟对处置器效率的影响, 例如减少ca

21、che不命中和执行时间长的指令对处置器效率的影响,在单个处置器内部实现多个硬件线程。当某个线程处置 cache不命中时,其他线程可以以继续执行有效任务,从而隐藏访存延迟,提高综合性能。 多线程处置器的优点在于由于可以快速切换线程上下文,因此多线程处置器能在每个时钟周期发射一个独立线程的指令。可以利用线程级并行提高处置器资源的利用率。其主要缺陷是由于每个时钟周期只能允许一个线程活泼,所以没能发现横向的资源效率。 多线程处置器通常为每个线程维护独立的和存放器,可以分为细粒度多线程,即每个时钟周期都可以进展线程切换,以及粗粒度多线程,即可以等到有长延迟操作时再做线程切换。 2.1.3 同时多线程处置

22、器simultaneous multi-thread processor 同时多线程是一种处置器体系构造,它结合了超标量和多线程处置器的特点,可以同时减少程度和垂直浪费。 在一个时钟周期内发射Isssue多个线程的多条指令。同时多线程技术在两个方面提高了处置器的总体性能: 允许在一个时钟周期内执行不同线程的多条指令。因此在一个时钟周期内可以同时利用程序的和ILP消除程度浪费,提高处置器发射槽以及功能部件的利用率如图1e) 实际上来说,允许任何活动线程的组合来发射指令。当由于长延迟操作或者资源冲突导致只需一个活动线程时,该线程可以运用一切可获得的发射槽。这就使得,可以经过运用其他线程的未阻塞指令

23、来消除垂直浪费。 由于SMT处置器在每个时钟周期可以选择多个线程的指令执行,因此可以更好地利用途置器资源。取指阶段有更多项选择择,比如可以添加取非投机指令执行的能够性,可以同时提高程度和垂直的资源效率。虽然多发射处置器在一个时钟周期内能执行多条指令,但是当在一个时钟周期内不能找到足够的并行指令时,多发射处置器效率会下降。多线程处置器可以可以抑制长延迟操作和资源冲突所带来的限制,但是不能有效地利用途置器中的一切资源。结合了超标量和多线程的益处,而不需求很大的代价例如芯片面积。为了允许在一个时钟内发射多个线程的多条指令业为每个线程维护一套独立的体系构造形状包括通用存放器,控制存放器和其他的形状存放

24、器等。 其主要缺陷是,由于采用集中式指令发射指令发射阶段变得复杂,采用什么战略发射指令的问题;另外,未来微处置器设计主要采用功能分布的方法来抑制片上线延迟,而集中式发射束缚了功能分布,这是不如片上多处置器的地方。 .单片多处置器 chip multi-processor 随着单个芯片上晶体管数目的添加,构造片上多处置器系统成为能够。片上多处置器是指中在单个芯片上的多个处置器核所构成的多处置器系统。片上多处置器系统允许线程在多个处置器核上并行执行,它利用线程级并行性来提高系统性能。然而由于片上多处置器系统的资源是采用划分方式的,当没有足够线程时,资源就浪费了。图1d即为的发射槽利用图。片上多处置

25、器的主要益处是片上的处置器核可以很简单,使得设计和验证时间短 ,也易于获得较高主频。 典型的CMP系统包括: Standford Hydra,IBM Power4,Sun MAJC,Broadcom sb1250,Cradles Universal Microsystem。 在程序运转时,允许线程在多个处置器上执行,利用线程级并行性来提高系统性能。其主要缺陷是,由于资源是各个处置器独有的,所以当没有足够的线程时会呵斥资源浪费。必需留意的是,严厉的讲,此处关怀的线程数最小仅仅指单纯的线程数,而应该指线程数并行性,由于假设线程的并行性不高比如一个线程长时间依赖于另一个线程再多的线程在某一个时辰表现

26、出来的实践效果是很差的。 2.1.5多核多线程处置器 这是单片多处置器和多线程的结合体,也是未来的处置科体系构造的一个能够的开展趋势。如今也有叫clustered SMTprocessor也属于这种类型。其构造特点是一个片上有多个处置器,同时每个处置器内部支持多个线程,所以说是单片多处置器和多线程的结合体。 单独采用片上多处置器的优点是,可以把许多时间关键的资源分布到不同的处置器上,故可以使逻辑略微简单,也可以提高时钟频率;其缺陷是不同处置器之间通讯延迟很大。单独采用可以添加指令发射宽度,消除掉许多延迟;其缺陷是必然添加单个处置器上的时间关键的资源的竞争,如存放器堆和重命名机制,同时这种竞争必

27、然会要求利用出复杂的逻辑。 但是可以看到上述两种构造具有明显的互补性,所以说,多处置器多线程是一个开展方向。但必需指出的是,这种体系构造最大的瓶颈就是随着处置速度提高,对共享资源的竞争将更加猛烈。各段均取周期法: 流水线各段执行时间最长的那段为整个流水线的瓶颈,普通地,将其执行时间称为流水线的周期。 假设在计算n个义务地执行时间时,将各个子功能段的实践执行时间限制为周期时间,那么称为各段均取周期法。 该方法中,计算公式为: T总=(n+k-1)周期 其中,k为总段数,n为义务总数。各叠加段取最大值法: 该方法中,计算公式为: T总=t1+maxt1,t2+maxt1,t2,t3+maxt1,t

28、2,tk-1 +maxt1,t2,tkn-(k-1)+maxt2,t3,tk +maxt3,t4,tk+maxtk-1,tk+tk 其中,k为总段数,n为义务总数。最省时法: 该方法中,计算公式为: T总=t1+t2+tk+maxt1,t2,t3,.,tk(n-1) 其中,k为总段数,n为义务总数。采取哪种方法? 当各段执行时间不一样时,上述3种方法才存在区别。假设各段执行时间一样,三者无区别。第2,3种方式依各段时间取值不一样而能够存在区别。问题一、现采用四级流水线构造分别完成一条指令的取指、指令译码和取数、运算以及送回运算结果四个根本操作,每步操作时间依次为60ns,100ns,50ns和

29、70ns。该流水线的操作周期应为_A_ns。假设有一小段程序需求用20条根本指令完成这些指令完全适宜于流水线上执行,那么得到第一条指令结果需_B_ns,完成该段程序需_C_ns。 供选择的答案: A: 50 70 100 280 B: 100 200 280 400 C: 1400 2000 2300 2600 答案:A.3 B.4 C.3 问题二、假设流水线把一条指令分为取指、分析和执行三个部分,且三部分的时间分别是t取指=2ns,t分析=2ns,t执行=1ns,那么100条指令全部执行终了需_ns。 A、163 B、183 C、192 D、203 答案D 以上两题计算方法存在着冲突: 问题一、第一条指令结果所需时间=100*4=400 那么相应的完成该段程序所需时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论