计算机组成原理 第 7 章

上传人:tian****1990 文档编号:74577590 上传时间:2019-01-28 格式:PPT 页数:59 大小:814KB
返回 下载 相关 举报
计算机组成原理  第 7 章_第1页
第1页 / 共59页
计算机组成原理  第 7 章_第2页
第2页 / 共59页
计算机组成原理  第 7 章_第3页
第3页 / 共59页
计算机组成原理  第 7 章_第4页
第4页 / 共59页
计算机组成原理  第 7 章_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《计算机组成原理 第 7 章》由会员分享,可在线阅读,更多相关《计算机组成原理 第 7 章(59页珍藏版)》请在金锄头文库上搜索。

1、现代计算机组成原理,潘 明 潘 松 编著,科学出版社,第 7 章,流水线结构RISC CPU设计,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,1非流水线结构数据通路,图7-1非流水线实现的指令解释数据通路,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,1非流水线结构数据通路,(1)取指令周期(IF): IR MemPC NPC PC + 1,(2)译码/读寄存器周期(ID) A RegIR 610 B RegIR1115 Imm ( (IR16)16# IR1631),7.1 流水线的一般概念,7.1.1

2、 DLX指令流水线结构,1非流水线结构数据通路,(3)执行/有效地址计算(ALU) Load/Store: ALUoutput A+Imm R-R ALU: ALUoutput A func B R-I ALU: ALUoutput A op Imm Branch: ALUoutput NPC + Imm; Cond A op 0,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,1非流水线结构数据通路,(4)存储器访问/转移完成(MEM) Load/Store: LMD MemALUoutput MemALUoutput B Branch: if (Cond) then PCALU

3、output else PC NPC,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,1非流水线结构数据通路,(5)写回周期(WB) R-R ALU: RegsIR1620 ALUoutput R-I ALU: RegsIR1115 ALUoutput Load: RegsIR1115 LMD,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,2DLX基本指令流水线,图7-2 DLX基本指令流水线,7.1 流水线的一般概念,7.1.1 DLX指令流水线结构,2DLX基本指令流水线,表7-1 五级流水线的每一级的具体操作,7.1 流水线的一般概念,7.1.2流水线CPU的时

4、空图,图7-3 流水线时空图,7.1 流水线的一般概念,7.1.2流水线CPU的时空图,图7-4 指令流水线的时空图,7.1 流水线的一般概念,7.1.2流水线CPU的时空图,(a) 一个指令流水线过程段 b)非流水线时空图,图7-5 流水线时空图,7.1 流水线的一般概念,7.1.2流水线CPU的时空图,(c) 标量流水时空图 d)超标量流水线时空图,图7-5 流水线时空图,7.1 流水线的一般概念,7.1.3 流水线分类,7.2 流水线中的主要问题及处理,7.2.1 资源相关,7.2 流水线中的主要问题及处理,7.2.2 数据相关及其分类,7.2 流水线中的主要问题及处理,7.2.3 数据

5、竞争的处理技术,【例7-1】数据相关实例 ADD R1,R2,R3 ; (R2)(R3)R1 SUB R4,R1,R5 ; (R1)(R5)R4 AND R6,R1,R7 ; (R1)(R7)R6,表7-2 例7-1中出现的数据相关,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,【例7-2】 (1) I1 ADD R1,R2,R3 ;(R2) 十 (R3) R1 I2 SUB R4,R1,R5 ;(R1) 一 (R5) R4 (2) I3 STA M(x),R3 ;(R3) M(x),M(x)是存储单元 I4 ADD R3,R4,R5 ;(R4) (R5) R3 (3) I

6、5 MUL R3,R1,R2 ;(R1) (R2) R3 I6 ADD R3,R4,R5 ;(R4) (R5) R3,【例7-3】 ADD R1,R2,R3 SUB R4,R5,R1 AND R6,R1,R7 OR R8,R1,R9 XOR R10,R1,R11,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,图7-6 例7-3的流水状态图,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,【例7-4】 LW R1,0(R2) ;R1最早要等到第四拍MEM结束, ;才能得到数据.(即才能从Data Memory读入, 存入暂存器) SUB R4,R1,R5 ;

7、SUB所用的R1最迟在第三拍EX开始时要准备好, 与LW相差一拍。 AND R6,R1,R7 ;同SUB,可用“提前”方法解决 OR R8,R1,R9 ;同SUB,可用“提前”方法解决,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,图7-7引入forwarding path后的状态图,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,图7-8引入forwarding path的硬件示意图,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,图7-9 引入forwarding后消除了Stall,7.2 流水线中的主要问题及处理,7.2.3 数据竞

8、争的处理技术,图7-10 例7-4的流水线状态图,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,图7-11 插入Stall消除Load引起的竞争,7.2 流水线中的主要问题及处理,7.2.3 数据竞争的处理技术,图7-12 插入Stall消除Load引起竞争的电路结构,7.2 流水线中的主要问题及处理,7.2.4 控制相关,在指令流水线中,为了减少因控制相关而引起的流水线性能下降,可采用如下方法:,(1)加快和提前形成条件码,(2)转移预测法,(3)优化延迟转移技术,7.2 流水线中的主要问题及处理,7.2.5 流水实现的关键技术,需要的解决关键技术有:,(1)首先必须保证

9、在指令重叠时,不存在任何流水线资源冲突问题。,(2)解决ID段和WB段在使用寄存器文件时出现的数据相关问题。,(3)解决PC改写产生的控制竞争问题。,(4)使用流水线锁存器。,(5)配置不同用途的算术/逻辑运算部件。,(6)数据流向控制。,7.3流水线的性能评价,7.3.1 流水线的性能指标,1流水线的主要性能指标,(1)吞吐率,(7-1),(7-2),7.3流水线的性能评价,7.3.1 流水线的性能指标,1流水线的主要性能指标,(2)加速比,(7-3),(7-4),(3)使用效率,7.3流水线的性能评价,7.3.1 流水线的性能指标,2CPU性能公式,(7-5),(7-6),(7-7),(7

10、-8),(7-9),7.3流水线的性能评价,7.3.2 应用举例,1一般流水线的性能分析,7-13 用4段加法器求8个数和的流水线时空图,流水线的吞吐率TP为,流水线的加速比S为,7.3流水线的性能评价,7.3.2 应用举例,2流水线延时与开销对流水线性能的影响,单条指令执行时间 = CC 平均CPI = 10 (60% 4 + 40% 5)= 44ns 平均指令执行时间:CCpipeline = 11ns 于是得到:Speedup = 44 /11 = 4,欲求若使用流水线,执行速度提高了几倍。计算方法是:,欲求执行速度提高了几倍?计算方法如下:,平均指令执行时间 = 10+8+10+10+

11、7 = 45ns, 而流水线时平均指令执行时间 = 11ns; 于是得到:Speedup = 45/11 = 4.1,7.3流水线的性能评价,7.3.2 应用举例,3流水线障碍(流水线竞争)对流水线性能的影响,(7-10),CPI pipeline = CPI ideal + 流水线stall周期 = 1 +流水线stall周期,(7-11),7.3流水线的性能评价,7.3.2 应用举例,3流水线障碍(流水线竞争)对流水线性能的影响,(7-12),(7-13),7.3流水线的性能评价,7.3.2 应用举例,4结构竞争对流水线性能的影响,图7-14 7-13 结构竞争示意图,7.3流水线的性能评

12、价,7.3.2 应用举例,4结构竞争对流水线性能的影响,图7-15 7-14 结构竞争流水线状态图,7.3流水线的性能评价,7.3.2 应用举例,5控制竞争对流水线性能的影响,图7-15 7-14 结构竞争流水线状态图,7.3流水线的性能评价,7.3.2 应用举例,5控制竞争对流水线性能的影响,图7-17 预测成功无停顿,7.3流水线的性能评价,7.3.2 应用举例,5控制竞争对流水线性能的影响,图7-18 预测失败停顿一个周期,7.3流水线的性能评价,7.3.3 Amdahl定律,Amdahl定律还可以表为如下形式,习 题,7-1判断以下三组指令中各存在哪种类型的数据相关? (1)I1 LA

13、D R1,A ;M(A) R1,M(A)是存储器单元 I2 ADD R2,R1 ;(R2)(R1) R2 (2)I3 ADD R3,R4 ;(R3)(R4) R3 I4 MUL R4,R5 ;(R4)(R5) R4 (3)I5 LAD R6,B ;M(B) R6,M(B)是存储单元 I6 MUL R6,R7 ;(R6) (R7) R6 7-2指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,现共有2条指令连续输入此流水线。画出流水处理的时空图,假设时钟周期为100ns。,习 题,7-3假设有一个计算机系统分为四级,每一级指令都比它下面一级指令

14、在功能上强M倍。即一条r+1级指令能够完成M条r指令的工作,且一条r+1指令需要N条r级指令解释。对于一段在第一级执行时间为K的程序,在第二、第三、第四级上的一段等效程序需要执行多少时间? 7-4对于一台400MHz计算机执行标淮测试程序,此程序中的指令类型,执行数量和平均时钟周期数如下表,求该计算机的有效CPI、MIPS和程序执行时间。,习 题,7-5计算机系统中有三个部件可以改进,这三个部件的部件加速比如下: 部件加速比1=30 ; 部件加速比2=20 ;部件加速比3=10 (1)如果部件1和部件2的可改进比例均为30,那么当部件3的可改进比例为多少时,系统加速比才可以达到10%? (2)

15、如果三个部件的可改进比例分别为30、30和20,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? (3)如果相对某个测试程序,三个部件的可改进比例分别为20、20%和70要达到最好改进效果,仅对一个部件改进时,要选择哪个部件?如果允许改进两个部件,又如何选择? 7-6在流水线处理器中,可能有哪几种数据相关?这几种相关分别发生在什么情况下?解决操作数相关的方法有哪几种?,习 题,7-7假设在一台40MHz处理器上运行200 000条指令的目标代码,程序主要由四种指令组成。根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下:,(1)计算在单处理机上用上述跟踪数据运行程序的平均CPI。 (2)根据(1)所得CPI,计算相应MIPS速率。,习 题,7-8对于一台40MHz计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟周期数如下:,求该计算机的有效CPI、MIPS和程序执行时间。 7-9叙述Amdahl定律的主要内容。,实验与设计,实验7-1 乘法器实验,图7-19 最基本的硬件乘法器,实验与设计,实验7-1 乘法器实验,图7-20 改进后的硬件乘法器,实验与设计,实验7-1 乘法器实验,图7-19 最基本的硬件乘法器,【

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

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

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