DLX的基本流水线实用学习教案_第1页
DLX的基本流水线实用学习教案_第2页
DLX的基本流水线实用学习教案_第3页
DLX的基本流水线实用学习教案_第4页
DLX的基本流水线实用学习教案_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1DLX的基本的基本(jbn)流水线实用流水线实用第一页,共66页。第1页/共66页第二页,共66页。2. 一条(y tio)DLX指令最多需要以下5个时钟周期:(1) 取指令周期(zhuq)(IF) IR MemPC NPC PC4 操作3.2 DLX的基本(jbn)流水线第2页/共66页第三页,共66页。第3页/共66页第四页,共66页。(2)指令(zhlng)译码/读寄存器周期(ID) A RegsIR6 .10 B RegsIR11 .15 Imm (IR16)16 # IR16 .31 操作 指令(zhlng)译码和读寄存器是并行进行的。之所 以能做到这一点,是因为在DLX指令

2、(zhlng)格式中, 操作码在固定位置。这种技术也称为固定字段 译码。3.2 DLX的基本(jbn)流水线第4页/共66页第五页,共66页。第5页/共66页第六页,共66页。(3)执行/有效地址计算周期(EX) 在这个周期,不同的指令(zhlng)有不同的操作。3.2 DLX的基本(jbn)流水线第6页/共66页第七页,共66页。 存储器访问(fngwn) ALUOutput AImm 操作第7页/共66页第八页,共66页。 寄存器寄存器 ALU 操作(cozu) ALUOutput A op B 操作(cozu)第8页/共66页第九页,共66页。 寄存器立即(lj)值 ALU 操作 ALU

3、Output A op Imm 操作3.2 DLX的基本(jbn)流水线第9页/共66页第十页,共66页。 分支(fnzh)操作ALUOutput NPCImm Cond (A op 0) 操作第10页/共66页第十一页,共66页。(4)存储器访问(fngwn)/分支完成周期(MEM) 在该周期处理的DLX指令只有Load、Store和 分支指令。这里,将有效地址计算周期(zhuq)和执行周期(zhuq)合并为一个时钟周期(zhuq),这是由 DLX指令集结构本身的特点所允许的,因为在DLX指令集结构中,没有任何指令需要同时计算数据的存储器地址、计算分支指令的目标地址和进行数据处理。3.2 D

4、LX的基本(jbn)流水线第11页/共66页第十二页,共66页。 存储器访问(fngwn) LMD MemALUOutput 或 Mem ALUOutput B操作3.2 DLX的基本(jbn)流水线第12页/共66页第十三页,共66页。第13页/共66页第十四页,共66页。 分支(fnzh)操作 if(cond)PC ALUOutput else PC NPC操作第14页/共66页第十五页,共66页。第15页/共66页第十六页,共66页。(5)写回周期(zhuq)(WB) 不同指令在该周期(zhuq)完成的工作也不一样。 寄存器寄存器型 ALU 指令 RegsIR16 .20 ALUOutp

5、ut操作(cozu) 寄存器立即值型 ALU 指令 RegsIR11 .15 ALUOutput操作(cozu) Load 指令(zhlng) RegsIR11 .15 LMD 操作3.2 DLX的基本流水线第16页/共66页第十七页,共66页。寄存器寄存器型 ALU 指令(zhlng) RegsIR16 .20 ALUOutput第17页/共66页第十八页,共66页。寄存器立即(lj)值型 ALU 指令 RegsIR11 .15 ALUOutput第18页/共66页第十九页,共66页。Load 指令(zhlng) RegsIR11 .15 LMD第19页/共66页第二十页,共66页。3. 分

6、支指令需要4个时钟周期, 其它(qt)指令需要5个时钟周期 假设分支指令占总指令数的12, 则: CPI4.88 上述实现无论在性能上,还是在硬件开销上,都不是优化的。3.2 DLX的基本(jbn)流水线第20页/共66页第二十一页,共66页。3.2.2 基本(jbn)的DLX流水线我们可以(ky)把3.2.1中的数据通路流水化:每个时钟周期启动一条新的指令。这样,该数据通路中的每一个周期就成了一个流水段。1. 一种(y zhn)简单的 DLX 流水线2. 简单DLX流水线的流水过程第一种描述(类似于时空图)第二种描述(按时间错开的数据通路序列)3.2 DLX的基本流水线第21页/共66页第二

7、十二页,共66页。3.2 DLX的基本(jbn)流水线第22页/共66页第二十三页,共66页。按时间错开(cu ki)的数据通路序列第23页/共66页第二十四页,共66页。3. 采用流水技术还应解决好以下(yxi)几个问题:上述(shngsh)简单DLX流水线中: 指令存储器(IM)和数据(shj)存储器(DM)分 开,避免了访存冲突。 ID段和WB段都要访问同一寄存器文件。 ID段:读WB段:写 如何解决对同一寄存器的访问冲突?(1)应保证不会在同一个时钟周期内在同一数据 通路资源上做不同的操作。 例如,不能要求一个ALU同时既做有效 地址计算,又做减法操作。3.2 DLX的基本流水线第24

8、页/共66页第二十五页,共66页。 没有(mi yu)考虑 PC 问题流水线为了能够(nnggu)每个时钟周期启动一条新的指令,就必须在每个时钟周期进行PC值的加4操作,并保留新的PC值。这种操作必须在IF段完成,以便为取下一条指令做好准备。3.2 DLX的基本(jbn)流水线第25页/共66页第二十六页,共66页。第26页/共66页第二十七页,共66页。但分支指令也可能改变PC的值,而且是在MEM段进行,这会导致(dozh)冲突。第27页/共66页第二十八页,共66页。为解决问题,我们重新(chngxn)组织数据通路,把所有改变PC值的操作都放在IF段进行。但分支(fnzh)指令如何处理?

9、第28页/共66页第二十九页,共66页。(2)每一流水段内的操作都必须在一个时钟(shzhng)周期 内完成 流水线各段之间需设置流水线寄存器 (也称为锁存器) 流水线寄存器组及其所含寄存器的命名(mng mng) 例如,ID段和EX段之间的流水线寄存 器组中的IR寄存器的名称为:ID/EX.IR 流水线寄存器的作用 把数据和控制信息从一个流水段传 送到下一个流水段。(3)流水线寄存器(组)3.2 DLX的基本(jbn)流水线第29页/共66页第三十页,共66页。第30页/共66页第三十一页,共66页。 流水线寄存器的构成(guchng)第31页/共66页第三十二页,共66页。4. DLX流水

10、线的操作(cozu)对于流水线中的指令来说,在任一时刻(shk),它仅在流水线中的某一段内执行操作。因此,只要知道每一流水段在各种指令下进行何种操作,就知道了整个流水线的操作。 (表3.1)给出了DLX流水线各段的操作。 3.2 DLX的基本(jbn)流水线第32页/共66页第三十三页,共66页。流水(lishu)段表3.1 DLX流水(lishu)线的每个流水(lishu)段的操作任何(rnh)指令类型ALU 指令Load/Store 指令分支指令IFIDEXIF/ID.IR MemPCIF/ID.NPC,PC (if EX/MEM.cond EX/MEM.NPC else PC+4);ID

11、/EX.A RegsIF/ID.IR6.10; ID/EX.B RegsIF/ID.IR11.15;ID/EX.NPC IF/ID.NPC; ID/EX.IR IF/ID.IR;ID/EX.Imm (IR16)16#IR16.31;EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A op ID/EX.B 或EX/MEM.ALUOutput ID/EX.A op ID/EX.Imm;EX/MEM.cond 0;EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A + ID/EX.Imm;EX/MEM.ALUOutput I

12、D/EX.NPC + ID/EX.Imm;EX/MEM.cond (ID/EX.A op 0);(动画演示)(动画演示)(动画演示)(动画演示)(动画演示)第33页/共66页第三十四页,共66页。流水(lishu)段任何(rnh)指令类型ALU 指令(zhlng)Load/Store 指令分支指令MEMWBMEM/WB.IR EX/MEM.IR; MEM/WB.ALUOutput EX/MEM.ALUOutput;MEM/WB.IR EX/MEM.IR; MEM/WB.LMD MemEX/MEM.ALUOutput;或MemEX/MEM.ALUOutput EX/MEM.B;RegsMEM/W

13、B.IR16.20 MEM/WB.ALUOutput;或RegsMEM/WB.IR11.15 MEM/WB.ALUOutput;RegsMEM/WB.IR11.15 MEM/WB.LMD;表3.1 DLX流水线的每个流水段的操作(动画演示)(动画演示)(动画演示)(动画演示)第34页/共66页第三十五页,共66页。5DLX流水线的控制(kngzh)主要是确定如何(rh)控制那四个多路选择器。第35页/共66页第三十六页,共66页。3.2.3 流水线性能(xngnng)分析吞吐率是指单位时间(shjin)内流水线所完成的任务数或输出结果的数量。1. 吞吐(tnt)率(1) 最大吞吐率TPmax

14、最大吞吐率是指流水线在连续流动达到稳定状态后所得到的吞吐率。 若流水线各段的时间相等,均为t0 , 则: TPmax 1 /t03.2 DLX的基本流水线第36页/共66页第三十七页,共66页。 若流水线各段的时间(shjin)不等,则: 最大吞吐(tnt)率取决于流水线中最慢的一段所 需的时间,这段就成了流水线的瓶颈。 消除瓶颈的方法(fngf) (举例)l 细分瓶颈段 l 重复设置瓶颈段 (时-空图)1maxti TPmax3.2 DLX的基本流水线第37页/共66页第三十八页,共66页。第38页/共66页第三十九页,共66页。重复设置瓶颈(pn jn)段(时-空图举例)第39页/共66页

15、第四十页,共66页。 第一种情况:各段时间相等(设为t0) 假设流水线由 m 段组成(z chn),完成 n 个任务。l 时空图l 完成 n 个任务所需的时间 T流水(lishu)mt0(n1)t0 (说明)(2) 实际(shj)吞吐率TP 流水线的实际吞吐率小于最大吞吐率。3.2 DLX的基本流水线第40页/共66页第四十一页,共66页。4266第41页/共66页第四十二页,共66页。4366完成 n 个任务(rn wu)所需的时间第42页/共66页第四十三页,共66页。l 实际(shj)吞吐率TP T流水nmt0(n)t0n(1 )t0 m11TPmaxn 1nm1TP TPmax当n m

16、 时,TP TPmax 第二种情况(qngkung):各段时间不等l 时空图3.2 DLX的基本(jbn)流水线第43页/共66页第四十四页,共66页。3.2 DLX的基本(jbn)流水线第44页/共66页第四十五页,共66页。 完成 n 个任务所需的时间(shjin) T流水ti(n1)tj tjmaxti 实际吞吐率TP ti(n1)tjmi=1ni=1m3.2 DLX的基本(jbn)流水线第45页/共66页第四十六页,共66页。加速(ji s)比是指流水线的速度与等功能非流水线的速度之比。2. 加速(ji s)比S ST非流水T流水(其中T流水和T非流水分别为按流水和按非流水方式处理 n

17、 个任务(rn wu)所需的时间) 若流水线为 m 段,且各段时间相等,均为t0 ,则: T非流水n mt0 (解释) T流水mt0(n1)t0 3.2 DLX的基本流水线第46页/共66页第四十七页,共66页。3.2 DLX的基本(jbn)流水线第47页/共66页第四十八页,共66页。可以(ky)看出:当n m 时,S m想一想:n 越大越好?效率是指流水线的设备(shbi)利用率。(1) 由于流水线有通过时间和排空时间,所以 流水线的各段并不是一直满负荷地工作。 故:E 1S T非流水T流水nmt0mt0(n1)t0mnmn1mn1 m1 3效率(xio l) E3.2 DLX的基本流水线

18、第48页/共66页第四十九页,共66页。3.2 DLX的基本(jbn)流水线第49页/共66页第五十页,共66页。(2) 若各段时间相等,则各段的效率(xio l)ei相等,即 e1e2 e3 emnt0T流水 (解释) 整个流水线的效率(xio l)为:当 n m 时,E 1E nt0T流水(lishu)nmn11n1 m1(3) 从时空图上看,效率(xio l)实际上就是 n 个任务所占的时空区与 m 个段总的时空区之比,即: n 个任务占用的时空区E (解释) m 个段总的时空区3.2 DLX的基本流水线第50页/共66页第五十一页,共66页。5266第51页/共66页第五十二页,共66

19、页。(4) 提高流水线效率(xio l)所采取的措施对于提高 吞吐率也有好处。4流水线性能分析(fnx)举例例3.1 在静态(jngti)流水线上计算 AiBi , 求:吞吐率,加速比,效率。4i=13.2 DLX的基本流水线第52页/共66页第五十三页,共66页。3.2 DLX的基本(jbn)流水线第53页/共66页第五十四页,共66页。解:(1) 确定适合于流水处理(chl)的计算过程(2) 画时空图 (3) 计算性能(xngnng) 吞吐率 TP7(20t) 加速比 S(34t)(20t)1.7 效率 E(4436)(820)0.213.2 DLX的基本(jbn)流水线第54页/共66页

20、第五十五页,共66页。5666第55页/共66页第五十六页,共66页。5766第56页/共66页第五十七页,共66页。3.2 DLX的基本(jbn)流水线第57页/共66页第五十八页,共66页。可以看出(kn ch),在求解此问题时,该流水线的效率不高。 (原因)动态(dngti)流水线的时空图 举例 3.2 DLX的基本(jbn)流水线第58页/共66页第五十九页,共66页。举例(j l) : 这样行不行? 正确答案3.2 DLX的基本(jbn)流水线第59页/共66页第六十页,共66页。例3.2 假设前面DLX非流水线实现的时钟周期时间 为10ns,ALU和分支指令需要4个时钟周期,访 问

21、存储器指令需5个时钟周期,上述指令在程序 中出现的相对频率分别(fnbi)是:40%、20%和40%。在 基本的DLX流水线中,假设由于时钟扭曲和寄存 器建立延迟等原因,流水线要在其时钟周期时 间上附加1ns的额外开销。现忽略任何其他延迟 因素的影响,请问:相对于非流水实现而言, 基本的DLX流水线执行指令的加速比是多少?3.2 DLX的基本(jbn)流水线第60页/共66页第六十一页,共66页。解 : 当 非 流 水 执 行 指 令 时 , 指 令 的 平 均(pngjn)执行时 间为 TPI非流水 = 10ns(40%+20%)440%5) = 10ns4.4 = 44ns 在 流 水 实 现 中 , 指 令 执 行 的 平 均(pngjn)时间 是最慢一段的执行时间加上额外开销,即 TPI流水 = 10ns+1ns = 11ns 所以基本的DLX流水线执行指令的加速比为S =TPI非流水TPI流水44ns11ns= 43.2 DLX的基本(jbn)流水线第61页/共66页第六十二页,共66页。例3.3 假设在DLX的非流水实现和基本流水线中,5个功能单元的时间为:10,8,10,10,7(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论