白中英组成原理第四版课件ch

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

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!