版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年6月23日从体系结构的演变看高性能微处理器的发展趋势资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。微处理器体系结构
随着高性能计算的需求,计算机体系结构发生了很大变化。作为计算机核心部件的微处理器,其性能和复杂性(晶体管数、时钟频率和峰值)也按照摩尔定律增长。微处理器性能的改进在很大程度上归功于体系结构的发展和VLSI工艺的改进。体系结构的发展主要体现在三个方面,即超流水、多指令发射和多指令操作。
超流水技术主要开发时间并行性。流水线技术是RISC处理器区别于CISC处理器的重要特征。采用超流水技术,尽管能够减少关键路径中每级流水的时间,但同时也引入了更多的寄存器,进而增加了面积开销以及时钟歪斜问题。另一方面,深度流水在指令相关和指令跳转时会大大降低流水线的性能。
多指令发射和多指令操作均是开发空间并行性。多指令发射面临的首要问题是如何保持应用程序语义的正确性,MIMD、超标量和数据流技术是多指令发射的典型结构。MIMD是并行计算的重要研究领域。超标量采用时序指令流发射技术,兼容性好,硬件开销大,功耗开销大,是当前多数商用高端处理器采用的主流技术。数据流采用token环技术,理论上能够开发出高度指令并行性。然而,其商用开发不成功,原因是运行时间开销大,特别是token环匹配需要很高的时间代价。
多指令操作是当前体系结构的重要研究方向。多指令操作包括数据并行性开发和操作并行性开发。尽管在CISC处理器中均采用过这两种技术,但CISC给体系结构开发带来三个负面影响:一是CISC指令不适合流水处理,二是指令差异很大造成译码困难,三是编译器很难开发出有效的指令操作。与CISC处理器相反,多指令操作非常适合RISC处理器,其中SIMD和VLIW就是数据并行性和操作并行性的典型结构。
向量处理器和SIMD处理器都是利用多个操作数来实现数据并行性。但二者有很大不同。向量处理器对线性向量元素顺序操作,SIMD则对向量元素进行并发操作。对前者,每条指令只能作用于一个功能部件,执行时间较长;而后者在执行指令时能够作用于多个功能部件。向量处理器采用交叉存储器实现向量的访存操作,同时可对短向量进行有效操作,即对稀疏向量进行压缩以获得高性能。SIMD适合多媒体中的分组数据流,经过特定算法将长的数据流截成定长短向量序列,从而能够和向量处理器那样实现对定长短向量序列的高效处理。
VLIW是实现操作并行性开发的重要途径。CISC处理器采用垂直编码技术,而VLIW则采用水平编码技术,指令中的每个操作域能够并发执行。同CISC处理器相比,VLIW具有的优点是:指令操作域定长,译码简单;适合流水处理,减少CPI;编译器需要开发程序潜在的指令级操作并行性。传统VLIW的不足是指令带宽较高,二进制目标代码不兼容。VLIW和SIMD结构都能接受单一指令流,每条指令能够包含多个操作。但前者允许每条指令包含多个不同类型的操作,同时能够开发细粒度并行性。VLIW指令字较长,而SIMD具有很强的数据压缩能力。事实上,VLIW和SIMD技术相结合能够获得更高的性能加速比,且非常适合多媒体数据处理。
从微处理器体系结构和编译器界面划分的角度上讲,指令级体系结构能够分为顺序结构、相关结构和独立结构三类。在顺序结构中,程序不包含任何指令并行信息,完全经过硬件进行调度,即硬件负责操作间的相关分析、独立操作分析和操作调度,编译器只负责程序代码的重组,程序中不附加任何信息。超标量是该类结构的典型代表。在相关结构中,程序显式指定操作的相关信息,即编译器负责操作间的相关分析,而硬件负责独立操作分析和调度,如数据流处理器。独立结构完全由程序提供各个独立操作间的信息,即编译器负责操作间相关性分析、独立操作间分析和指令调度,VLIW是其主要代表。
超标量处理器架构
现代超标量处理器体系结构均基于IBM360/91采用的Tomasulo和CDC6600采用的Scoreboard动态调度技术,MIPSR10000和DEC21264微处理器均基于该体系结构。典型超标量处理器一般采用如下逻辑结构实现动态调度:寄存器重命名逻辑、窗口唤醒逻辑、窗口选择逻辑和数据旁路逻辑。Intel的Pentium处理器、Motorola的PowerPC604和SPARC64则采用基于预约站的超标量体系结构。
两种体系结构的主要区别是:在典型超标量结构中,无论是推测还是非推测寄存器值都放在物理寄存器堆中;在预约站超标量结构中,推测数据放在重排序缓冲器中,非推测数据和已经执行完成提交的数据则放在寄存器文件中。在典型结构中,操作数不广播到窗口,而只将操作数标志TAG进行广播,操作数则送到物理寄存器文件。在预约站结构中,指令执行结果广播到预约站,指令发射时从预约站去取操作数。
超标量处理器性能与IPC(InstructionsPerCycle)和时钟频率的乘积成正比。时钟速率同系统结构的关键路径时延有关,而IPC和如下因素有关:程序中潜在的指令级并行性、体系结构字长宽度、指令窗口大小和并行性开发策略。超标量处理器一般经过增加发射逻辑提高IPC,这将导致更宽的发射窗口和更复杂的发射策略。
众所周知,超标量处理器是通用微处理器的主流体系结构,几乎所有商用通用微处理器都采用超标量体系结构。而在DSP方面,LSI逻辑公司的ZSP200、ZSP400、ZSP500和ZSP600均采用超标量体系结构。ZSP200采用并行MAC和ALU运算部件,2发射超标量结构;ZSP400采用双MAC单元、4发射超标量处理器体系结构;ZSP500为4发射体系结构、采用增强型双MAC和双ALU运算单元;ZSP600采用4MAC和双ALU运算部件,每个时钟周期发射6条指令。图1为ZSP400结构框图。
图1ZSP400内核超标量体系结构框图
ADI公司的TigerSHARC系列采用静态超标量体系结构。该系列采用了许多传统超标量处理器的特征,如load/store结构、分之预测和互锁寄存器堆等技术。每个时钟周期发射4条指令。而静态超标量的含义是指指令级并行性识别是在运行之前,即编写程序时确定的(事实上以VLIW结构为基础)。同时,TigerSHARC系统处理器采用SIMD技术,用户能够对数据进行广播和合并。所有寄存器均是互锁的,支持简单的编程模型,该模型不依赖于不同型号间的时延变化。分支目标缓冲器BTB为128位,能够有效减小循环操作和其它非顺序代码的执行时间。图2为TigerSHARC系列中的ADSP-TS201S结构框图。
图2ADSP-TS201S静态超标量体系结构框图
超长指令字VLIW体系结构
自从耶鲁大学的J.AFisher于1979年首次提出VLIW体系结构以来,先后由耶鲁大学开发出基于跟踪调度(TraceScheduling)技术的MultiFlow处理器和Cydrome公司BobRau等人开发的基于巨块调度(SuperblockScheduling)的Cydra-5处理器。但直到九十年代中期,基于VLIW结构的处理器基本上停留在实验室原型机阶段。因为VLIW本身固有的几个关键问题一直没有彻底解决,导致了其后的商用处理器体系结构从RISC转向了超标量和超流水,而不是VLIW。尽管如此,由于VLIW结构的许多优点依然使许多研究机构竞相对该技术进行坚持不懈地研究,并在体系结构和编译器方面实现了突破,其中最重要的是解决了目标代码兼容问题并支持推断推测机制(尽管大部分处理器仅支持部分推断推测机制)。这之后出现了Philip的Trimedia、Equator的MAP1000A媒体处理器、Chromatic的Mact、TI的TMS320C6XX、Transmeta的Crusoe以及INTEL和HP联盟提出的IA-64体系结构(EPIC)。事实上VLIW作为下一代高性能处理器体系结构的首选技术已成共识,该体系结构和优化编译器形成的SIMD指令流将更加适合多媒体数据处理。
TI的TMS320C6系列是典型的超长指令字VLI
W体系结构,该系列每个指令周期能够执行8条32位指令,C62为定点处理器,C67为浮点处理器。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.9GOPS的数据处理速度;执行16位乘累加操作时可获得5.1GOPS的数据处理速度;执行8位乘累加操作时可获得9.3GOPS的数据处理速度。该处理器是当前国内数据处理能力最强的微处理器,能够广泛应用于信息家电、网络通信、声音图像以及雷达声纳等信号处理领域。
可重构处理器架构
从二十世纪七十年代开始的第一代CISC处理器开始至今,微处理器体系结构已经经过了三代。然而,即使是第三代的RISC技术依然停留在固定模式的体系架构设计。随着ASIC和SOC技术的发展,微处理器设计进入到第四代,即后RISC和可重构处理器时代。其重要特征是系统架构不再采用固定模式,而是将DSP的灵活性与硬线连接的专用性相结合,使得微处理器能够针对不同的应用需求建立自己独特的体系结构,达到性能最优、功耗更低的目的。
华威处理器(SuperV)体系结构不但基于RISC、VLIW和SIMD技术,而且采用了可重构技术,使得用户在不增加硬件开销的情况下经过对系统功能部件的重构完成对不同应用的处理,不但提高了系统性能,而且大大降低了系统的功耗。例如,在华威处理器中设计了若干32位可重构乘法器,每个可重构乘法器能够完成32位乘法、若干个16位乘法或者8位乘法。因此,华威处理器能够采用一条指令完成16个8位数据的乘(累)加操作;一条指令能够完成8个16位数据的乘(累)加操作;一条指令能够完成4个32位数据的乘加操作;一条指令能够完成4个32位数据的累加操作;一条指令能够完成16个索引、16个地址计算和16次数据加载操作;两条指令完成16个8位数据累加操作;两条指令能够完成8个16位数据累加操作;两条指令能够完成对256项、8位元素的数据表进行的16路并行查找。
Tensilica的可配置技术是可重构处理器的重要代表。例如,VectraLX定点向量DSP引擎就是经过配置选项在XtensaLX可配置处理器的基础上建立起来的。即VectraLX定点DSP引擎是XtensaLX微处理器内核的一种配置。该定点DSP引擎是一个3发射SIMD处理器,具有四个乘法器/累加器(四MAC),它能够处理128位的向量。128位向量能够分成8个16位或者4个32位的元素。整个VectraLXDSP引擎是用TIE(Tensilica'sInstructionExtension)语言开发的,经过修改能够适合不同的应用领域。VectraLXDSP引擎增加了16个向量寄存器(每个寄存器160位宽)、四个128位的向量队列寄存器、第二个load/store单元和210多条现有XtensaLX处理器指令集体系结构中的通用DSP指令。VectraLXDSP引擎如图4所示。
图4VectraLXDSP体系结构框图
结语
作为信息产业的核心技术,微处理器体系结构正在发生很大的变化,而这种变化无不体现出市场需求的强大动力。现代微处理器,无论是通用微处理器还是数字信号处理器在体系结构方面正在趋于融合。通用处理器经过增加媒体处理指令来提高数据处理器能力;而数字信号处理器也借鉴了通用处理器的体系结构,使得数字信号处理器的数据处理器能力更加强大、管理更加灵活。同时,随着嵌入式应用的需求,对功耗的要求也越来越苛刻,使得可重构处理器在未来将会起到重要的作用。由于不同的应用需求能够经过重构技术获得所需要的微处理器系统架构,这将大大提高产品的竞争力,同时也降低了整个系统的功耗和成本。多处理器的体系结构随着单个处理器的性能越来越逼近其物理极限,现在的处理器设计方向能够大致有两类,一是采用单片上集成多个核中或者采用一个核中多个物理线程的方法来达到并行的目的,从而提高性能;另一个方向是嵌入式应用,这有两种思路即将通用处理器扩展、改装成能适合各种嵌入式应用(90%的份额是DSP),或者将DSP扩展、改装以吸收部分通用微处理器的特点。事实上,在,嵌入式芯片的销售量已经是通用PC微处理能的两倍多。可是从编译的角度来看DSP由于其不规则、复杂的结构以及指令集结构,导致无法很好的利用编译器。当然,现在DSP的一个研究方向就是吸收通用微处理器的特点,以方便编译器的使用。2.1相关的体系结构介绍2.1.1多发射处理器(multi-issueprocessor)多发射处理器(multi-issueprocessor)包括超标量(Superscalar)和超长指令字(Very-LongInstructionWord,VLIW)处理器,其思想是允许在一个时钟周期内发射多条指令以减少处理器的平均CPI,更好地利用处理器的功能部件。提高多发射处理器资源利用率的关键问题是:如何在程序中找到足够的指令级并行性。超标量处理器在每个时钟周期发射由硬件动态确定的指令,而VLIW处理器则在每个时钟周期发射出编译器确定的固定数目的操作。超标量处理器是依赖硬件来发现ILP,而VLIW处理器则依赖编译器来发现ILP。不论是超标量还是VLTW处理器都只能挖掘同一个线程的ILP来提高处理器资源利用率。当多发射处理器不能发现足够的指令来添满发射槽时,水平浪费(HorizontalWaste)就发生了。另外当资源冲突造成多发射处理器在接下来的时钟周期中不能发射指令,则造成了垂直浪费(VerticalWaste)。如图1所示为多发射处理器中可能造成的垂直浪费和水平浪费情况。图1中空白块表示该指令发射槽(IssueSlot)浪费了;不同的填充色表示不同线程。现代超标量处理器包括:DEC/Compaq21162,PowerPC,MIPSR10000,SunUltraSparc.HPPA-8000。现代VLIW处理器包括:IntelIA-64(Itanium),transmetaCrusoe。2.1.2多线程处理器(multi-threadprocessor)为了减少长延迟对处理器效率的影响,例如减少cache不命中和执行时间长的指令对处理器效率的影响,在单个处理器内部实现多个硬件线程。当某个线程处理cache不命中时,其它线程能够以继续执行有效工作,从而隐藏访存延迟,提高综合性能。多线程处理器的优点在于由于能够快速切换线程上下文,因此多线程处理器能在每个时钟周期发射一个独立线程的指令。能够利用线程级并行提高处理器资源的利用率。其主要缺点是由于每个时钟周期只能允许一个线程活跃,因此没能发现横向的资源效率。多线程处理器一般为每个线程维护独立的PC和寄存器,能够分为细粒度多线程,即每个时钟周期都能够进行线程切换,以及粗粒度多线程,即能够等到有长延迟操作时再做线程切换。2.1.3同时多线程处理器(simultaneousmulti-threadprocessor)同时多线程是一种处理器体系结构,它结合了超标量和多线程处理器的特点,能够同时减少水平和垂直浪费。SMT在一个时钟周期内发射(Isssue)来自多个线程的多条指令。同时多线程技术在两个方面提高了处理器的总体性能:(l)SMT允许在一个时钟周期内执行来自不同线程的多条指令。因此在一个时钟周期内SMT能够同时利用程序的TLP和ILP消除水平浪费,提高处理器发射槽以及功能部件的利用率(如图1e)(2)理论上来说,SMT允许任何活动线程的组合来发射指令。当由于长延迟操作或者资源冲突导致只有一个活动线程时,该线程能够使用所有可获得的发射槽。这就使得,能够经过使用其它线程的未阻塞指令来消除垂直浪费。由于SMT处理器在每个时钟周期能够选择多个线程的指令执行,因此能够更好地利用处理器资源。取指阶段有更多选择,比如能够增加取非投机指令执行的可能性,能够同时提高水平和垂直的资源效率。尽管多发射处理器在一个时钟周期内能执行多条指令,可是当在一个时钟周期内不能找到足够的并行指令时,多发射处理器效率会下降。多线程处理器能够能够克服长延迟操作和资源冲突所带来的限制,可是不能有效地利用处理器中的所有资源。SMT结合了超标量和多线程的好处,而不需要很大的代价(例如芯片面积)。为了允许在一个时钟内发射多个线程的多条指令SMT业为每个线程维护一套独立的体系结构状态包括通用寄存器,控制寄存器和其它的状态寄存器等。其主要缺点是,由于采用集中式指令发射指令发射阶段变得复杂,采用什么策略发射指令的问题;另外,未来微处理器设计主要采用功能分布的方法来克服片上线延迟,而集中式发射束缚了功能分布,这是不如片上多处理器的地方。2.1.4单片多处理器(chipmulti-processor)随着单个芯片上晶体管数目的增加,构造片上多处理器系统成为可能。片上多处理器是指中在单个芯片上的多个处理器核所构成的多处理器系统。片上多处理器系统允许线程在多个处理器核上并行执行,它利用线程级并行性来提高系统性能。然而由于片上多处理器系统的资源是采用划分方式的,当没有足够线程时,资源就浪费了。图1d即为CMP的发射槽利用图。片上多处理器的主要好处是片上的处理器核能够很简单,使得设计和验证时间短,也易于获得较高主频。典型的CMP系统包括:StandfordHydra,IBMPower4,SunMAJC,Broadcomsb1250,Cradle'sUniversalMicrosystem。在程序运行时,允许线程在多个处理器上执行,利用线程级并行性来提高系统性能。其主要缺点是,由于资源是各个处理器独有的,因此当没有足够的线程时会造成资源浪费。必须注意的是,严格的讲,此处关心的线程数最小仅仅指单纯的线程数,而应该指(线程数X并行性),因为如果线程的并行性不高(比如一个线程长时间依赖于另一个线程)再多的线程在某一个时刻表现出来的实际效果是很差的。2.1.5多核多线程处理器这是单片多处理器和多线程的结合体,也是未来的处理科体系结构的一个可能的发展趋势。现在也有叫clusteredSMTprocessor也属于这种类型。其结构特点是一个片上有多个处理器,同时每个处理器内部支持多个线程,因此说是单片多处理器和多线程的结合体。单独采用片上多处理器的优点是,能够把许多时间关键的资源分布到不同的处理器上,故能够使逻辑稍微简单,也能够提高时钟频率;其缺点是不同处理器之间通信延迟很大。单独采用SMT/MT能够增加指令发射宽度,消除掉许多延迟;其缺点是必然增加单个处理器上的时间关键的资源的竞争,如寄存器堆和重命名机制,同时这种竞争必然会要求利用出复杂的逻辑。可是能够看到上述两种结构具有明显的互补性,因此说,多处理器多线程是一个发展方向。但必须指出的是,这种体系结构最大的瓶颈就是随着处理速度提高,对共享资源的竞争将更加激烈。各段均取周期法:
流水线各段执行时间最长的那段为整个流水线的瓶颈,一般地,将其执行时间称为流水线的周期。
若在计算n个任务地执行时间时,将各个子功能段的实际执行时间限制为周期时间,则称为各段均取周期法。
该方法中,计算公式为:
T总=(n+k-1)×周期
其中,k为总段数,n为任务总数。
各叠加段取最大值法:
该方法中,计算公式为:
T总=t1+max{t1,t2}+max{t1,t2,t3}+…+max{t1,t2,…,tk-1}
+max{t1,t2,…tk}×[n-(k-1)]+max{t2,t3,…,tk}
+max{t3,t4,…,tk}+…+max{tk-1,tk}+tk
其中,k为总段数,n为任务总数。
最省时法:
该方法中,计算公式为:
T总=t1+t2+…+tk+max{t1,t2,t3,...,tk}×(n-1)
其中,k为总段数,n为任务总数。
采取哪种方法?
当各段执行时间不一样时,上述3种方法才存在区别。若各段执行时间一样,三者无区别。第2,3种方式依各段时间取值不一样而可能存在区别。问题一、现采用四级流水线结构分别完成一条指令的取指、指令译码和取数、运算以及送回运算结果四个基本操作,每步操作时间依次为60ns,100ns,50ns和70ns。该流水线的操作周期应为_A_ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行),则得到第一条指令结果需_B_ns,完成该段程序需_C_ns。
供选择的答案:
A:①50②70③100④280
B:①100②200③280④400
C:①1400②③2300④2600
答案:A.3B.4C.3
问题二、若流水线把一条指令分为取指、分析和执行三个部分,且三部分的时间分别是t取指=2ns,t分析=2ns,t执行=1ns,则100条指令全部执行完毕需____ns。
A、163B、183C、192D、203
答案D
以上两题计算方法存在着冲突:
问题一、第一条指令结果所需时间=100*4=400
则相应的完成该段程序所需时间=100*4+100*19=2300
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- icu护士月度工作总结
- 2026春泰山版(新教材)小学信息技术四年级下册《数据收集有方法》同步练习及答案
- 密码编码学与网络安全(第五版) 向金海 06-公钥密码学与rsa
- 2026年新课标全国卷数学压轴题预测专题卷含解析
- 2026年秦皇岛市安全管理人员复习题库(附答案)
- 扩印洗印设备装配调试工操作安全测试考核试卷含答案
- 陶瓷工艺品制作师安全行为测试考核试卷含答案
- 碳五正异构分离装置操作工安全风险考核试卷含答案
- 钢水罐准备工岗前工作规范考核试卷含答案
- 保险保全员操作安全强化考核试卷含答案
- 2026年广东广州市中考模拟考试化学试卷(含答案)
- 2026内蒙古通辽市科尔沁左翼后旗招聘政府专职消防员29人备考题库及答案详解【有一套】
- 电力设备行业储能2026年行业策略:拐点已至全球储能爆发在即
- 初中七年级地理跨学科主题导学案:华夏骨肉·山水相连-数字人文视野下的台湾区域探究
- 2025上海中考地理必考知识点清单
- 食品用洗涤剂产品生产许可证实施细则2025
- 卵子库管理办法
- 国家开放大学《城市管理学》形考任务(1-4)试题与答案解析
- 2026届新高考数学热点精准复习 分析命题走向+明确教学方向
- 24秋国家开放大学《当代中国政治制度》形考任务1-4参考答案
- 知行合一 - 社会实践•创新创业智慧树知到答案2024年江西师范大学
评论
0/150
提交评论