计算机组成原理第十章.ppt
《计算机组成原理第十章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第十章.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章安腾高性能第十章安腾高性能处理机体系结构处理机体系结构返回第十章安腾高性能处理机体系结构第十章安腾高性能处理机体系结构l高性能处理机体系结构的演变l安腾体系结构的基本设计思想l安腾指令系统结构l指令级并行机制l双核安腾处理机的组成10.1高性能处理机体系结构的演变高性能处理机体系结构的演变一、IA体系结构的历史演变二、英特尔64位处理机的两种体系结构10.1高性能处理机体系结构的演变高性能处理机体系结构的演变一、IA体系结构的历史演变lIA32体系结构:IA32家族中的第一款32位微处理机流水技术lIA32体系结构仍是基于CISC架构的处理机。lPentium体系结构:CISC外壳加RI
2、SC内核的结构10.1高性能处理机体系结构的演变高性能处理机体系结构的演变二、英特尔64位处理机的两种体系结构1、64T(英特尔64):基于显式并行指令计算EPIC(Explicitly Parallel Instruction Computing)技术的IA64体系结构,不与IA32指令系统的兼容性。2、安腾体系结构:与IA32指令系统的兼容性。10.2安腾体系结构的基本设计思想安腾体系结构的基本设计思想l安腾体系结构脱离了IA32 CISC体系结构的束缚,但并没有完全照搬RISC处理机的设计思想。EPIC既不是RISC,也不是CISC,而是一种吸收了CISC和RISC两者长处的全新的体系结
3、构。主要体现在以下几个方面:l显式并行指令计算(EPIC)技术l超长指令字(VLIW)技术l分支推断技术l推测技术l软件流水技术l寄存器堆栈技术10.2安腾体系结构的基本设计思想安腾体系结构的基本设计思想1、显式并行指令计算(EPIC)技术l安腾的指令中设计了属性字段,用于指明哪些指令可以并行执行。这些属性信息并不是在指令执行过程中由处理机判定后获得的,而是由编译程序在编译时通过对源代码的分析获取指令级的并行性信息,并填写到执行代码中。这就是所谓显式并行的概念。lEPIC技术则充分利用现代编译程序强大的对程序执行过程的调度能力,由专用的EPIC编译器首先分析源代码,根据指令之间的依赖关系最大限
4、度地挖掘指令级的并行性,从而确定哪些指令可以并行执行,然后把并行指令放在一起并重新排序,提取并调度其指令级的并行,并将这种并行性通过属性字段“显式”地告知指令执行部件。10.2安腾体系结构的基本设计思想安腾体系结构的基本设计思想2、超长指令字(VLIW)技术l超长指令字(VLIW)技术是提高计算机系统并行性的有效手段。VLIW系统中指令字长可多达几百位,编译器经过优化,能将多条能够并行执行的指令合并成一个具有多个操作码的超长指令字,控制多个独立的功能部件工作。lEPIC是基于超长指令字的设计。l通过将多条指令放入一个超长指令字,能有效提高处理机内各个执行部件的利用率。10.2安腾体系结构的基本
5、设计思想安腾体系结构的基本设计思想3、分支推断技术l技术能将传统的“ifthenelse”分支结构转变为无分支的顺序/并行代码,以避免由于错误预测分支而付出代价。当处理机在运行中遇到分支时,它并不是进行传统的分支预测并选择可能性最大的一个分支执行,而是按分支的所有可能的后续路径开始并行执行多段代码并暂存各段代码的执行结果,直到处理机能够确认分支转移与否的条件是真是假时,处理机再把应该选择的路径上的指令执行结果保留下来。l采用了推断技术后,原有的转移指令被转换成条件执行指令。原有的转移指令的所有的分支都被并行执行,无论哪条分支将被命中,都不会出现流水线断流现象,故消除了因分支预测失误而重新装载流
6、水线导致的低效率现象。更进一步,以前由于程序分支和指令依赖等因素不能并行执行的许多指令现在完全可以并行执行,从而提高了处理机的执行效率。10.2安腾体系结构的基本设计思想安腾体系结构的基本设计思想4、推测技术l推测技术,包括控制推测和数据推测,以减少存储器访问响应时间的影响。l控制推测技术和数据推测技术允许提前执行从内存单元至通用寄存器的取数指令。当程序中有分支时,控制推测技术将位于分支指令之后的取数指令提前若干周期执行,以此消除访存延时,提高指令执行的并行度。而数据推测技术则用于解决提前取数指令后的数据相关性问题。l推测技术避免了cache命中失败而导致访存延迟的损失,消除了因处理机空闲而导
7、致的并行性降低的缺憾。10.2安腾体系结构的基本设计思想安腾体系结构的基本设计思想5、软件流水技术l安腾体系结构提供了很强的硬件支持,使循环执行过程中一次循环的代码执行与下一次循环代码的执行在时间上部分重叠,也即下一个循环步可以在上一个循环步结束前开始执行。l安腾体系结构引入了新机制来支持软件流水,包括自动寄存器重命名、推断执行和特殊的循环终止指令。因此,安腾处理机能够通过旋转寄存器机制为每个循环步提供自己的寄存器,并且不需要把循环扩展开来。l安腾体系结构中硬件对编译器管理软件流水线的支持使得编译器能够生成精简的代码,以高度并行的方式实现循环操作。10.2安腾体系结构的基本设计思想安腾体系结构
8、的基本设计思想6、寄存器堆栈技术l安腾处理机利用128个通用寄存器中的96个堆栈寄存器实现寄存器堆栈,并在处理机内部设置一个寄存器堆栈引擎RSE来管理寄存器堆栈。当96个堆栈寄存器不够用时,寄存器堆栈引擎能够自动将寄存器堆栈与内存储器对接,将寄存器堆栈溢出的数据转移到内存储器中保存,或在寄存器堆栈弹出数据时执行反向操作。这样,编译器将看到一个容量没有限制的寄存器堆栈空间。10.3安腾指令系统结构安腾指令系统结构一、执行单元与指令类型 为提高并行处理能力,安腾处理机内部设置了多个执行单元。这些执行单元被分为四类:lI单元单元:整数执行单元,用于执行整数算术运算、逻辑运算、移位和比特处理等指令,以
9、及32位数据和指针操作。lM单元单元:存储器执行单元,用于执行通用寄存器、浮点寄存器和存储器之间的取数(load)指令、存数(store)指令以及某些整数ALU运算指令。lB单元单元:转移执行单元,用于执行转移分支类指令。lF单元单元:浮点执行单元,用于执行浮点运算指令。相应地,安腾指令系统中的所有指令被分成六种类型,每种指令使用一种或多种执行单元。10.3安腾指令系统结构安腾指令系统结构二、安腾寄存器结构l与RISC体系结构类似,安腾体系结构大量使用寄存器操作;见下一页图l只有取数load和存数store指令才能够访问内存,所有其他指令都在寄存器上操作。l在以安腾为基础的处理机内,用户可直接
10、使用的寄存器数量甚至大大超过了主流RISC处理机。l一方面可以加快数据存取的速度,减少访存延迟,另一方面可以更好地支持并行操作。安腾的主要寄存器10.3安腾指令系统结构安腾指令系统结构三、安腾指令格式l典型指令格式:安腾的每条指令占41位。l对于寄存器操作数,需要7位选择128个通用寄存器或浮点寄存器。故一条典型的RRR型安腾指令需要21位来标识两个源寄存器操作数和一个目标寄存器操作数。l大多数指令还需要一个6位字段选择64个推断寄存器之一,用于支持推断执行、软件流水等功能。l指令束格式安腾体系结构采用超长指令字技术,利用集束指令合成;10.3安腾指令系统结构安腾指令系统结构l指令组l指令组将
11、相互之间没有读后写相关,写后写相关,可以并行执行的一组指令集合。l指令束模版l模版字段正是为实现EPIC的设计思想服务的:一方面,编译器可以通过5位模版字段指明每个指令槽中的指令使用哪一个执行单元;另一方面,编译器可以通过模板字段明确给出指令束内或指令束间的依赖关系。l 10.3安腾指令系统结构安腾指令系统结构四、安腾汇编语言格式qpMnemonic.Comp1.Comp2 dest=srclmnemonicmnemonic为指令助记符。为指令助记符。ldestdest为目标操作数,指明存放运算结果的寄存器。为目标操作数,指明存放运算结果的寄存器。lsrcsrc为源操作数,给出若干个寄存器操作
12、数或立即数。为源操作数,给出若干个寄存器操作数或立即数。l qpqp 选择选择6464个推断寄存器之一。在指令执行时,如果选定的一个推断寄存器之一。在指令执行时,如果选定的一比特推断寄存器的当前值为比特推断寄存器的当前值为1 1,则该指令的执行结果最终会被硬,则该指令的执行结果最终会被硬件采用;否则,该指令的执行结果将被硬件放弃。对于不需要件采用;否则,该指令的执行结果将被硬件放弃。对于不需要推断寄存器的指令,在机器指令中将默认指定推断寄存器推断寄存器的指令,在机器指令中将默认指定推断寄存器0 0,该,该寄存器的值固定为寄存器的值固定为0 0。因此,所有的指令都可以看作是条件执行。因此,所有的
13、指令都可以看作是条件执行的。的。p1.Cp1.Comp2 为指令完成符,用于进一步限定指令所需为指令完成符,用于进一步限定指令所需完成的操作。完成的操作。例例1:下面给出一些汇编指令下面给出一些汇编指令add rl=r2,r3 /简单指令:r2+r3=r1(P4)add rl=r2,r3 /推断指令,指定推断寄存器4add r1=r2,r3,/立即寻址指令cmpeq P3,P5=0,r4 /带指令完成符的指令:将r4寄存器的值与0比较,若相等则置推断寄存器P3为1,P5为0;否则置推断寄存器P3为0,P5为1ld8 r1=r7 /从寄存器r7指向的存储器空间读取连续8个字节,装入寄存器r1ad
14、d r6=r9,r8;/与上一条指令不存在相关性,故可放在一个指令组中sub r3=r1,r4 /第一条指令的目标操作数是本指令的源操作数,故需重新开始一个指令组st8 r6=r10 /将寄存器r10的内容存入寄存器r6指向的存储器单元10.4指令级并行机制指令级并行机制一、推断执行技术1、分支对系统性能的影响分支是在两个指令序列中根据判定条件选择其中一个序列执行。为了判定最终选择哪一个指令序列执行,必须等待一些条件判断指令的执行结果。l指令执行一旦遇到分支转移,在执行判定操作之前,多个功能部件由于无法确定程序的执行方向而空闲等待,使系统性能明显下降。l分支预测并不能充分利用处理机流水线的功能
15、部件10.4指令级并行机制指令级并行机制2、安腾的推断技术原理l推断技术处理分支的方法是利用多个功能部件并行执行各个分支,然后根据判定结果选取某一分支的运行结果,因而可消除大部分的转移,使得整个系统的运行速度得到提高。l采用显式并行指令计算技术的安腾处理机将处理机的多个功能部件的并行处理能力与编译器的强大功能相结合,允许在编译时让编译器对程序进行优化,消除转移,提高效率。l安腾处理机的指令系统允许在每条指令中都指定一个推断寄存器。10.4指令级并行机制指令级并行机制3、推断执行的实现例2考察下面的一个典型的if-then-else结构:If(x=0)then m=m+1 else m=m-1
16、在传统的超标量流水线体系结构中,完成上述判断通常要首先安排一条比较语句,将x与0进行比较。得到比较结果后,再选择执行then分支或else分支。相应的汇编语句大致如下所示:cmp x,0;比较x和0je L1;若相等则转移至标号L1sub m,1;m=m-1jmp L2;无条件转移至标号L2L1:add m,1;m=m+lL2:10.4指令级并行机制指令级并行机制例例2续续 而安腾处理机可以通过编译优化消除条件语句中的分支指令,将该结构转化成顺序的推测执行结构:cmpeq P1,P2=0,x;/无条件执行:将r4寄存器的值与0比较,若相等则置推断寄存器P1为1,P2为0,否则置推断寄存器P1为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第十
限制150内