计算机组成原理_安腾高性能处理机体系结构剖析

上传人:我** 文档编号:115803949 上传时间:2019-11-14 格式:PPTX 页数:45 大小:487.65KB
返回 下载 相关 举报
计算机组成原理_安腾高性能处理机体系结构剖析_第1页
第1页 / 共45页
计算机组成原理_安腾高性能处理机体系结构剖析_第2页
第2页 / 共45页
计算机组成原理_安腾高性能处理机体系结构剖析_第3页
第3页 / 共45页
计算机组成原理_安腾高性能处理机体系结构剖析_第4页
第4页 / 共45页
计算机组成原理_安腾高性能处理机体系结构剖析_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《计算机组成原理_安腾高性能处理机体系结构剖析》由会员分享,可在线阅读,更多相关《计算机组成原理_安腾高性能处理机体系结构剖析(45页珍藏版)》请在金锄头文库上搜索。

1、1 第七章安腾高性能 处理机体系结构 返回 2 第十章安腾高性能处理机体系结构 高性能处理机体系结构的演变 安腾体系结构的基本设计思想 安腾指令系统结构 指令级并行机制 双核安腾处理机的组成 3 10.1高性能处理机体系结构的演变 一、IA体系结构的历史演变 二、英特尔64位处理机的两种体系结构 4 10.1高性能处理机体系结构的演变 一、IA体系结构的历史演变 IA32体系结构:IA32家族中的第一款32位微处 理机流水技术 IA32体系结构仍是基于CISC架构的处理机。 Pentium体系结构:CISC外壳加RISC内核的结 构 5 10.1高性能处理机体系结构的演变 二、英特尔64位处理

2、机的两种体系结构 1、64T(英特尔64):基于显式并行指令计算EPIC (Explicitly Parallel Instruction Computing)技 术的IA64体系结构,不与IA32指令系统的兼容 性。 2、安腾体系结构:与IA32指令系统的兼容性。 6 10.2安腾体系结构的基本设计思想 安腾体系结构脱离了IA32 CISC体系结构的束缚, 但并没有完全照搬RISC处理机的设计思想。EPIC 既不是RISC,也不是CISC,而是一种吸收了CISC 和RISC两者长处的全新的体系结构。主要体现在以 下几个方面: 显式并行指令计算(EPIC)技术 超长指令字(VLIW)技术 分支

3、推断技术 推测技术 软件流水技术 寄存器堆栈技术 7 10.2安腾体系结构的基本设计思想 1、显式并行指令计算(EPIC)技术 安腾的指令中设计了属性字段,用于指明哪些指 令可以并行执行。这些属性信息并不是在指令执 行过程中由处理机判定后获得的,而是由编译程 序在编译时通过对源代码的分析获取指令级的并 行性信息,并填写到执行代码中。这就是所谓显 式并行的概念。 EPIC技术则充分利用现代编译程序强大的对程序 执行过程的调度能力,由专用的EPIC编译器首先 分析源代码,根据指令之间的依赖关系最大限度 地挖掘指令级的并行性,从而确定哪些指令可以 并行执行,然后把并行指令放在一起并重新排序 ,提取并

4、调度其指令级的并行,并将这种并行性 通过属性字段“显式”地告知指令执行部件。 8 10.2安腾体系结构的基本设计思想 2、超长指令字(VLIW)技术 超长指令字(VLIW)技术是提高计算机系统 并行性的有效手段。VLIW系统中指令字长 可多达几百位,编译器经过优化,能将多 条能够并行执行的指令合并成一个具有多 个操作码的超长指令字,控制多个独立的 功能部件工作。 EPIC是基于超长指令字的设计。 通过将多条指令放入一个超长指令字,能 有效提高处理机内各个执行部件的利用 率。 9 10.2安腾体系结构的基本设计思想 3、分支推断技术 技术能将传统的“if then else”分支结构转变为无分支

5、的 顺序/并行代码,以避免由于错误预测分支而付出代价。 当处理机在运行中遇到分支时,它并不是进行传统的分支 预测并选择可能性最大的一个分支执行,而是按分支的所 有可能的后续路径开始并行执行多段代码并暂存各段代码 的执行结果,直到处理机能够确认分支转移与否的条件是 真是假时,处理机再把应该选择的路径上的指令执行结果 保留下来。 采用了推断技术后,原有的转移指令被转换成条件执行指 令。原有的转移指令的所有的分支都被并行执行,无论哪 条分支将被命中,都不会出现流水线断流现象,故消除了 因分支预测失误而重新装载流水线导致的低效率现象。更 进一步,以前由于程序分支和指令依赖等因素不能并行执 行的许多指令

6、现在完全可以并行执行,从而提高了处理机 的执行效率。 10 10.2安腾体系结构的基本设计思想 4、推测技术 推测技术,包括控制推测和数据推测,以减少存 储器访问响应时间的影响。 控制推测技术和数据推测技术允许提前执行从内 存单元至通用寄存器的取数指令。当程序中有分 支时,控制推测技术将位于分支指令之后的取数 指令提前若干周期执行,以此消除访存延时,提 高指令执行的并行度。而数据推测技术则用于解 决提前取数指令后的数据相关性问题。 推测技术避免了cache命中失败而导致访存延迟 的损失,消除了因处理机空闲而导致的并行性降 低的缺憾。 11 10.2安腾体系结构的基本设计思想 5、软件流水技术

7、安腾体系结构提供了很强的硬件支持,使循环执 行过程中一次循环的代码执行与下一次循环代码 的执行在时间上部分重叠,也即下一个循环步可 以在上一个循环步结束前开始执行。 安腾体系结构引入了新机制来支持软件流水,包 括自动寄存器重命名、推断执行和特殊的循环终 止指令。因此,安腾处理机能够通过旋转寄存器 机制为每个循环步提供自己的寄存器,并且不需 要把循环扩展开来。 安腾体系结构中硬件对编译器管理软件流水线的 支持使得编译器能够生成精简的代码,以高度并 行的方式实现循环操作。 12 10.2安腾体系结构的基本设计思想 6、寄存器堆栈技术 安腾处理机利用128个通用寄存器中的96个 堆栈寄存器实现寄存器

8、堆栈,并在处理机 内部设置一个寄存器堆栈引擎RSE来管理 寄存器堆栈。当96个堆栈寄存器不够用时 ,寄存器堆栈引擎能够自动将寄存器堆栈 与内存储器对接,将寄存器堆栈溢出的数 据转移到内存储器中保存,或在寄存器堆 栈弹出数据时执行反向操作。这样,编译 器将看到一个容量没有限制的寄存器堆栈 空间。 13 10.3安腾指令系统结构 一、执行单元与指令类型 为提高并行处理能力,安腾处理机内部 设置了多个执行单元。这些执行单元被分 为四类: I单元:整数执行单元,用于执行整数算术运 算、逻辑运算、移位和比特处理等指令,以及 32位数据和指针操作。 M单元:存储器执行单元,用于执行通用寄存 器、浮点寄存器

9、和存储器之间的取数(load)指 令、存数(store)指令以及某些整数ALU运算指 令。 B单元:转移执行单元,用于执行转移分支类指 令。 F单元:浮点执行单元,用于执行浮点运算指 令。 相应地,安腾指令系统中的所有指令被分成六 种类型,每种指令使用一种或多种执行单元。 14 10.3安腾指令系统结构 二、安腾寄存器结构 与RISC体系结构类似,安腾体系结构大量使用 寄存器操作;见下一页图 只有取数load和存数store指令才能够访问内存 ,所有其他指令都在寄存器上操作。 在以安腾为基础的处理机内,用户可直接使用 的寄存器数量甚至大大超过了主流RISC处理 机。 一方面可以加快数据存取的速

10、度,减少访存延 迟,另一方面可以更好地支持并行操作。 15 安腾的主要寄存器 16 10.3安腾指令系统结构 三、安腾指令格式 典型指令格式:安腾的每条指令占41位。 对于寄存器操作数,需要7位选择128个通用寄存器或浮点 寄存器。故一条典型的R R R型安腾指令需要21位来标识 两个源寄存器操作数和一个目标寄存器操作数。 大多数指令还需要一个6位字段选择64个推断寄存器之一, 用于支持推断执行、软件流水等功能。 指令束格式 安腾体系结构采用超长指令字技术,利用集束指令合成; 17 10.3安腾指令系统结构 指令组 指令组将相互之间没有读后写相关,写后写相关,可以并 行执行的一组指令集合。 指

11、令束模版 模版字段正是为实现EPIC的设计思想服务的:一方面, 编译器可以通过5位模版字段指明每个指令槽中的指令使 用哪一个执行单元;另一方面,编译器可以通过模板字段 明确给出指令束内或指令束间的依赖关系。 18 10.3安腾指令系统结构 四、安腾汇编语言格式 qpMnemonic. Comp1. Comp2 dest=src mnemonic为指令助记符。 dest为目标操作数,指明存放运算结果的寄存器。 src为源操作数,给出若干个寄存器操作数或立即数。 qp选择64个推断寄存器之一。在指令执行时,如果选 定的一比特推断寄存器的当前值为1,则该指令的执行结 果最终会被硬件采用;否则,该指令

12、的执行结果将被硬件 放弃。对于不需要推断寄存器的指令,在机器指令中将默 认指定推断寄存器0,该寄存器的值固定为0。因此,所有 的指令都可以看作是条件执行的。 .comp1. Comp2 为指令完成符,用于进一步限定指 令所需完成的操作。 19 例1:下面给出一些汇编指令 add rl=r2,r3 /简单指令:r2+r3=r1 (P4)add rl=r2,r3 /推断指令,指定推断 寄存器4 add r1=r2,r3, /立即寻址指令 cmp eq P3,P5=0,r4 /带指令完成符的指令 :将r4寄存器的值与0比较,若相等则置推断寄存器 P3为1,P5为0;否则置推断寄存器P3为0,P5为1

13、 ld8 r1=r7 /从寄存器r7指向的存 储器空间读取连续8个字节,装入寄存器r1 add r6=r9,r8; /与上一条指令不存在 相关性,故可放在一个指令组中 sub r3=r1,r4 /第一条指令的目标操作数是本 指令的源操作数,故需重新开始一个指令组 st8 r6=r10 /将寄存器r10的内容存入寄存器 r6指向的存储器单元 20 10.4指令级并行机制 一、推断执行技术 1、分支对系统性能的影响 分支是在两个指令序列中根据判定条件选择 其中一个序列执行。为了判定最终选择哪一 个指令序列执行,必须等待一些条件判断指 令的执行结果。 指令执行一旦遇到分支转移,在执行判定操作之 前,

14、多个功能部件由于无法确定程序的执行方向 而空闲等待,使系统性能明显下降。 分支预测并不能充分利用处理机流水线的功能部 件 21 10.4指令级并行机制 2、安腾的推断技术原理 推断技术处理分支的方法是利用多个功能部件并行执 行各个分支,然后根据判定结果选取某一分支的运行 结果,因而可消除大部分的转移,使得整个系统的运 行速度得到提高。 采用显式并行指令计算技术的安腾处理机将处理机的 多个功能部件的并行处理能力与编译器的强大功能相 结合,允许在编译时让编译器对程序进行优化,消除 转移,提高效率。 安腾处理机的指令系统允许在每条指令中都指定一个 推断寄存器。 22 10.4指令级并行机制 3、推断

15、执行的实现 例2考察下面的一个典型的if-then-else结构: If (x=0) then m=m+1 else m=m-1 在传统的超标量流水线体系结构中,完成上述判断通常要首 先安排一条比较语句,将x与0进行比较。得到比较结果后,再 选择执行then分支或else分支。 相应的汇编语句大致如下所示: cmp x,0;比较x和0 je L1;若相等则转移至标号L1 sub m,1;m=m-1 jmp L2;无条件转移至标号L2 L1:add m,1;m=m+l L2: 23 10.4指令级并行机制例2续 而安腾处理机可以通过编译优化消除条件语句中的 分支指令,将该结构转化成顺序的推测执行结构: cmp eq 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结构的执行过程。但如果我们能够把 这个例子和安腾体系结构结合起来,还是可以从这个 简单的例子中体会到安腾处理机的设计思想。 24 10.4指令级并行机制 4、安腾处理机设计思想 首先,安腾指令系统中

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号