




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微处理器体系结构随着高性能计算的需求,计算机体系结构发生了很大变化。作为计算机核心部件的微处理器,其性能和复杂性(晶体管数、时钟频率和峰值)也按照摩尔定律增长。微处理器性能的改善在很大程度上归功于体系结构的发展和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动态调度技术,MIPS R10000和DEC21264微处理器均基于该体系结构。典型超标量处理器通常采用如下逻辑结构实现动态调度:寄存器重命名逻辑、窗口唤醒逻辑、窗口选择逻辑和数据旁路逻辑。Intel的Pentium处理器、Motorola的PowerPC 604和SPARC64则采用基于预约站的超标量体系结构。 两种体系结构的主要区别是:在典型超标量结构中,无论是推测还是非推测寄存器值都放在物理寄存器堆中;在预约站超标量结构中,推测数据放在重排序缓冲器中,非推测数据和已经执行完成提交的数据则放在寄存器文件中。在典型结构中,操作数不广播到窗口,而只将操作数标志TAG进行广播,操作数则送到物理寄存器文件。在预约站结构中,指令执行结果广播到预约站,指令发射时从预约站去取操作数。超标量处理器性能与IPC(Instructions Per Cycle)和时钟频率的乘积成正比。时钟速率同系统结构的关键路径时延有关,而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结构框图。 图1 ZSP400 内核超标量体系结构框图ADI公司的TigerSHARC系列采用静态超标量体系结构。该系列采用了许多传统超标量处理器的特征,如load/store结构、分之预测和互锁寄存器堆等技术。每个时钟周期发射4条指令。而静态超标量的含义是指指令级并行性识别是在运行之前,即编写程序时确定的(事实上以VLIW结构为基础)。同时,Tiger SHARC系统处理器采用SIMD技术,用户可以对数据进行广播和合并。所有寄存器均是互锁的,支持简单的编程模型,该模型不依赖于不同型号间的时延变化。分支目标缓冲器BTB为128位,可以有效减小循环操作和其它非顺序代码的执行时间。图2为TigerSHARC系列中的ADSP-TS201S结构框图。 图2 ADSP-TS201S静态超标量体系结构框图超长指令字VLIW体系结构自从耶鲁大学的J.A Fisher于1979年首次提出VLIW体系结构以来,先后由耶鲁大学开发出基于跟踪调度(Trace Scheduling)技术的MultiFlow处理器和Cydrome公司Bob Rau等人开发的基于巨块调度(Superblock Scheduling)的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系列是典型的超长指令字VLIW体系结构,该系列每个指令周期可以执行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.9 GOPS 的数据处理速度;执行16位乘累加操作时可获得5.1 GOPS 的数据处理速度;执行8位乘累加操作时可获得9.3 GOPS 的数据处理速度。该处理器是目前国内数据处理能力最强的微处理器,可以广泛应用于信息家电、网络通信、声音图像以及雷达声纳等信号处理领域。 可重构处理器架构从二十世纪七十年代开始的第一代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的可配置技术是可重构处理器的重要代表。例如,Vectra LX定点向量DSP引擎就是通过配置选项在Xtensa LX可配置处理器的基础上建立起来的。即Vectra LX定点DSP引擎是Xtensa LX微处理器内核的一种配置。该定点DSP引擎是一个3发射SIMD处理器,具有四个乘法器/累加器(四MAC),它可以处理128位的向量。128位向量可以分成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体系结构框图 结 语作为信息产业的核心技术,微处理器体系结构正在发生很大的变化,而这种变化无不体现出市场需求的强大动力。现代微处理器,无论是通用微处理器还是数字信号处理器在体系结构方面正在趋于融合。通用处理器通过增加媒体处理指令来提高数据处理器能力;而数字信号处理器也借鉴了通用处理器的体系结构,使得数字信号处理器的数据处理器能力更加强大、管理更加灵活。同时,随着嵌入式应用的需求,对功耗的要求也越来越苛刻,使得可重构处理器在未来将会起到重要的作用。由于不同的应用需求可以通过重构技术获得所需要的微处理器系统架构,这将大大提高产品的竞争力,同时也降低了整个系统的功耗和成本。多处理器的体系结构 随着单个处理器的性能越来越逼近其物理极限,现在的处理器设计方向可以大致有两类,一是采用单片上集成多个核中或者采用一个核中多个物理线程的方法来达到并行的目的,从而提高性能;另一个方向是嵌入式应用,这有两种思路即将通用处理器扩展、改装成能适合各种嵌入式应用(的份额是),或者将扩展、改装以吸收部分通用微处理器的特点。事实上, 在2000年,嵌入式芯片的销售量已经是通用微处理能的两倍多。但是从编译的角度来看由于其不规则、复杂的结构以及指令集结构,导致无法很好的利用编译器。当然,现在的一个研究方向就是吸收通用微处理器的特点,以方便编译器的使用。 .相关的体系结构介绍 .多发射处理器(multi-issue processor) 多发射处理器(multi-issue processor)包括超标量(Superscalar)和超长指令字(Very-Long Instruction Word,)处理器,其思想是允许在一个时钟周期内发射多条指令以减少处理器的平均, 更好地利用处理器的功能部件。提高多发射处理器资源利用率的关键问题是:如何在程序中找到足够的指令级并行性。超标量处理器在每个时钟周期发射由硬件动态确定的指令,而处理器则在每个时钟周期发射出编译器确定的固定数目的操作。超标量处理器是依赖硬件来发现ILP, 而VLIW处理器则依赖编译器来发现。不管是超标量还是处理器都只能挖掘同一个线程的ILP来提高处理器资源利用率。当多发射处理器不能发现足够的指令来添满发射槽时,水平浪费(Horizontal Waste)就发生了。此外当资源冲突造成多发射处理器在接下来的时钟周期中不能发射指令,则造成了垂直浪费(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) 为了减少长延迟对处理器效率的影响, 例如减少cache不命中和执行时间长的指令对处理器效率的影响,在单个处理器内部实现多个硬件线程。当某个线程处理 cache不命中时,其他线程可以以继续执行有效工作,从而隐藏访存延迟,提高综合性能。 多线程处理器的优点在于由于能够快速切换线程上下文,因此多线程处理器能在每个时钟周期发射一个独立线程的指令。能够利用线程级并行提高处理器资源的利用率。其主要缺点是由于每个时钟周期只能允许一个线程活跃,所以没能发现横向的资源效率。 多线程处理器通常为每个线程维护独立的和寄存器,可以分为细粒度多线程,即每个时钟周期都可以进行线程切换,以及粗粒度多线程,即可以等到有长延迟操作时再做线程切换。 2.1.3 同时多线程处理器(simultaneous multi-thread processor) 同时多线程是一种处理器体系结构,它结合了超标量和多线程处理器的特点,可以同时减少水平和垂直浪费。 在一个时钟周期内发射(Isssue)来自多个线程的多条指令。同时多线程技术在两个方面提高了处理器的总体性能: ()允许在一个时钟周期内执行来自不同线程的多条指令。因此在一个时钟周期内能够同时利用程序的和ILP消除水平浪费,提高处理器发射槽以及功能部件的利用率(如图1e) ()理论上来说,允许任何活动线程的组合来发射指令。当由于长延迟操作或者资源冲突导致只有一个活动线程时,该线程能够使用所有可获得的发射槽。这就使得,可以通过使用其他线程的未阻塞指令来消除垂直浪费。 由于SMT处理器在每个时钟周期可以选择多个线程的指令执行,因此能够更好地利用处理器资源。取指阶段有更多选择,比如可以增加取非投机指令执行的可能性,可以同时提高水平和垂直的资源效率。尽管多发射处理器在一个时钟周期内能执行多条指令,但是当在一个时钟周期内不能找到足够的并行指令时,多发射处理器效率会下降。多线程处理器可以能够克服长延迟操作和资源冲突所带来的限制,但是不能有效地利用处理器中的所有资源。结合了超标量和多线程的好处,而不需要很大的代价(例如芯片面积)。为了允许在一个时钟内发射多个线程的多条指令业为每个线程维护一套独立的体系结构状态包括通用寄存器,控制寄存器和其他的状态寄存器等。 其主要缺点是,由于采用集中式指令发射指令发射阶段变得复杂,采用什么策略发射指令的问题;另外,未来微处理器设计主要采用功能分布的方法来克服片上线延迟,而集中式发射束缚了功能分布,这是不如片上多处理器的地方。 .单片多处理器( chip multi-processor) 随着单个芯片上晶体管数目的增加,构造片上多处理器系统成为可能。片上多处理器是指中在单个芯片上的多个处理器核所构成的多处理器系统。片上多处理器系统允许线程在多个处理器核上并行执行,它利用线程级并行性来提高系统性能。然而由于片上多处理器系统的资源是采用划分方式的,当没有足够线程时,资源就浪费了。图1d即为的发射槽利用图。片上多处理器的主要好处是片上的处理器核可以很简单,使得设计和验证时间短 ,也易于获得较高主频。 典型的CMP系统包括: Standford Hydra,IBM Power4,Sun MAJC,Broadcom sb1250,Cradles Universal Microsystem。 在程序运行时,允许线程在多个处理器上执行,利用线程级并行性来提高系统性能。其主要缺点是,由于资源是各个处理器独有的,所以当没有足够的线程时会造成资源浪费。必须注意的是,严格的讲,此处关心的线程数最小仅仅指单纯的线程数,而应该指(线程数并行性),因为如果线程的并行性不高(比如一个线程长时间依赖于另一个线程)再多的线程在某一个时刻表现出来的实际效果是很差的。 2.1.5多核多线程处理器 这是单片多处理器和多线程的结合体,也是未来的处理科体系结构的一个可能的发展趋势。现在也有叫clustered SMTprocessor也属于这种类型。其结构特点是一个片上有多个处理器,同时每个处理器内部支持多个线程,所以说是单片多处理器和多线程的结合体。 单独采用片上多处理器的优点是,能够把许多时间关键的资源分布到不同的处理器上,故能够使逻辑稍微简单,也能够提高时钟频率;其缺点是不同处理器之间通信延迟很大。单独采用能够增加指令发射宽度,消除掉许多延迟;其缺点是必然增加单个处理器上的时间关键的资源的竞争,如寄存器堆和重命名机制,同时这种竞争必然会要求利用出复杂的逻辑。 但是可以看到上述两种结构具有明显的互补性,所以说,多处理器多线程是一个发展方向。但必须指出的是,这种体系结构最大的瓶颈就是随着处理速度提高,对共享资源的竞争将更加激烈。各段均取周期法: 流水线各段执行时间最长的那段为整个流水线的瓶颈,一般地,将其执行时间称为流水线的周期。 若在计算n个任务地执行时间时,将各个子功能段的实际执行时间限制为周期时间,则称为各段均取周期法。 该方法中,计算公式为: T总=(n+k-1)周期 其中,k为总段数,n为任务总数。各叠加段取最大值法: 该方法中,计算公式为: T总=t1+maxt1,t2+maxt1,t2,t3+maxt1,t2,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和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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业互联网平台微服务架构性能测试:2025年教育行业应用报告
- 2025年新能源企业国际化品牌传播策略报告
- 2025福建厦门市集美实验学校产假顶岗教师招聘1人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年新能源汽车充电桩安全性与可靠性评估报告
- 2025国家应急管理部所属单位第二批次招聘1人模拟试卷及答案详解(夺冠)
- 2025年度福建省血液中心招聘6人模拟试卷附答案详解(完整版)
- 2025年新能源汽车电池回收处理技术报告
- 2025年南平邵武市立医院护理岗位招聘模拟试卷及答案详解1套
- 2025江西南昌市劳动保障事务代理中心招聘劳务外包人员1人模拟试卷附答案详解(黄金题型)
- 2025甘肃兰州新区市政投资管理集团有限公司招聘32人模拟试卷及参考答案详解一套
- 思政家乡课件
- 2025年职业培训学校建设项目可行性分析与初步设计方案报告
- 2025年软件架构师专业技术考核试题及答案解析
- 八上语文第9课《天上有颗南仁东星》课件
- 2024年BRCGS包装材料全球标准第7版全套管理手册及程序文件(可编辑)
- 2023年上海市虹口区初三一模语文试卷(含答案)
- 优势视角课件完整版
- 花城版音乐课时15-第12课 走近戏曲(一)观赏京剧学习念白-京剧丑角的念白《报灯名》-课件
- 《食品安全法》与粮食质量安全专题培训课件
- 2023年安康市交通建设投资集团有限公司招聘笔试题库及答案解析
- 文理分科心理测试问卷
评论
0/150
提交评论