流水线处理机精品课件_第1页
流水线处理机精品课件_第2页
流水线处理机精品课件_第3页
流水线处理机精品课件_第4页
流水线处理机精品课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、流水线处理机第1页,共59页,2022年,5月20日,11点23分,星期四1、流水线处理机的基本概念2、流水线处理机的数据路径流水线级,流水线各级的操作3、流水线处理机的控制运算指令,访存指令,转移控制指令,流水线各级信号的产生,时序图,时空图4、流水线处理机的相关 结构相关,数据相关,转移相关本讲安排第2页,共59页,2022年,5月20日,11点23分,星期四将解决的主要问题 掌握流水线处理机的数据路径建立指令流水线中指令如何重叠执行和流动了解流水线工作原理以及相关问题第3页,共59页,2022年,5月20日,11点23分,星期四单周期处理机第4页,共59页,2022年,5月20日,11点

2、23分,星期四单周期处理器的缺陷时钟周期时间长: 对于装入指令,周期时间必须足够长:指令存储器访问时间+寄存器堆访问时间+ALU计算地址+数据存储器访问时间+寄存器访问时间 对于其它指令,周期时间都比所需的要长很多!第5页,共59页,2022年,5月20日,11点23分,星期四多周期处理机第6页,共59页,2022年,5月20日,11点23分,星期四单周期处理器的问题根源: 对于最慢的指令,周期时间必须足够长解决方案: 将指令处理分为更小的步骤,每个周期执行一步(而不是整个指令)- 周期时间: 执行最长步所需的时间- 使所有的步骤尽量具有相同的长度 这是多周期处理器的本质所在多周期处理器的优点

3、: 周期时间短 不同的指令需要不同的周期数来完成- 装入指令需要5个周期,- 跳转仅仅需要3个周期 允许每条指令多次使用同一个功能部件多周期实现概述第7页,共59页,2022年,5月20日,11点23分,星期四流水线的基本概念什么是流水线 计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产流水线十分相似,因此称为流水线技术。从本质上讲,流水线技术是一种时间并行技术。第8页,共59页,2022年,5月20日,11点23分,星期四计算机的各个部分几乎都可以采用流水线技术: (1)指令的执行过程可以采用流水线,称为指令流水线。 (2)

4、运算器中的操作部件,如浮点加法器、浮点乘法器等可以采用流水线,称为操作部件流水线。 (3)访问主存的部件可以采用访存部件流水线。多个计算机之间,通过存储器连接,也可以采用流水线,称为宏流水线。第9页,共59页,2022年,5月20日,11点23分,星期四指令的重叠执行 (1)顺序执行方式(2)一次重叠执行方式(3)二次重叠执行方式(2) 重叠解释执行执行k分析k取指k执行k+1分析k+1取指k+1T=(2n+1)t执行k分析k取指k执行k+1分析k+1取指k+1(3) 更高重叠程度的解释执行T=3t+(n-1)t=(n+2)t执行k+1分析k+1取指k+1执行k分析k取指k(1) 顺序解释执行

5、T=3nt第10页,共59页,2022年,5月20日,11点23分,星期四流水线工作原理1.基本思想重叠延伸方式,使指令解释过程进一步细化,提高各部件的利用率,以提高指令执行速度。 理想目标:完成任务的时间与操作处理过程无关,只与提供操作的速度有关。取指译码执行访存写回输入输出IFIDEXEMEMWBs1s2s3s4s5 指令流水线举例:设:每段时间为t,有m个段,每段间均可重叠;则:每间隔t时间有一条指令流传出第11页,共59页,2022年,5月20日,11点23分,星期四 流水线处理机的最大特点是每一个时针周期都能启动一条指令的执行。第12页,共59页,2022年,5月20日,11点23分

6、,星期四 流水技术无助于减少单个任务的处理延迟(latency) ,但有助于提高整体工作负载的吞吐率 多个不同任务同时操作, 使用不同资源 潜在加速比= 流水线级数 流水线的速率受限于最慢的流水段 流水段的执行时间如果不均衡,那么加速比就会降低 开始填充流水线的时间和最后排放流水线的时间降低加速比 相关将导致流水线暂停流水技术性第13页,共59页,2022年,5月20日,11点23分,星期四单周期、多周期与流水线第14页,共59页,2022年,5月20日,11点23分,星期四流水线处理机的数据路径第15页,共59页,2022年,5月20日,11点23分,星期四流水线各级的操作IF级1、取指令2

7、、计算下一条指令地址第16页,共59页,2022年,5月20日,11点23分,星期四流水线各级的操作ID级1、读寄存器堆中的操作数2、符号扩展3、控制器根据OPCODE产生控制信号4、转移指令在ID级结束第17页,共59页,2022年,5月20日,11点23分,星期四流水线各级的操作EXE级1、ALU指令完成计算结果2、LOAD/STORE指令计算存储器地址第18页,共59页,2022年,5月20日,11点23分,星期四流水线各级的操作MEM级2、LOAD/STORE指令访问存储器,LOAD指令读操作,STORE指令写操作,STORE指令结束。1、ALU指令在该级仅把R内容打入C第19页,共5

8、9页,2022年,5月20日,11点23分,星期四流水线各级的操作WB级结果写回到寄存器堆第20页,共59页,2022年,5月20日,11点23分,星期四ALU指令执行时流水线的数据路径第21页,共59页,2022年,5月20日,11点23分,星期四LOAD指令执行时流水线的数据路径第22页,共59页,2022年,5月20日,11点23分,星期四STORE指令执行时流水线的数据路径第23页,共59页,2022年,5月20日,11点23分,星期四流水线处理机的控制ALU指令和存储器访问指令的控制I1 addi r1,r2,4 ; r1(r2) + 4I2 load r2,100(r3); r2

9、memory (r3) + 100I3 sub r4,r5,r6; r4(r5) -(r6)I4 add r7,r5,r6; r7(r5) +(r6)I5 store r8,200(r9);memory(r9) + 200(r8)I6 subi r10,r10,1; r10(r10) - 1研究流水线处理机对以下指令重叠操作过程指令系统和指令格式同前面一样第24页,共59页,2022年,5月20日,11点23分,星期四指令系统和指令格式31 2625 2120 16 15 54 0指令助记符意 义00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add im

10、me00 010100001000100004Haddi r1, r2, 400 0100rdrs1rs2add rd, rs1, rs2rd (rs1) add (rs2)00 0100001110010100110add r7,r5,r600 0110rdrs1rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 0110001000010100110sub r4,r5,r600 1000rdrs1immeload rd, rs1, immerd (rs1) + imme)00 100000010000110064Hload r2,r3,10000 1001rdr

11、s1immestore rd, rs1,imme(rd)(rs1) + imme)00 1001010000100100C8Hstore r8,r9,200第25页,共59页,2022年,5月20日,11点23分,星期四指令系统和指令格式31 2625 2120 16 15 54 0指令助记符意 义00 0000rdrs1rs2and rd, rs1, rs2rd (rs1) and (rs2)00 0001rdrs1immeandi rd, rs1, immerd(rs1) and imme00 0010rdrs1rs2or rd, rs1, rs2rd (rs1) or (rs2)00 0

12、011rdrs1immeori rd, rs1, immerd (rs1) or imme00 0100rdrs1rs2add rd, rs1, rs2rd (rs1) add (rs2)00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme00 0110rdrs1rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 0111rdrs1immesubi rd, rs1, immerd (rs1) sub imme00 1000rdrs1immeload rd, rs1, immerd (rs1) + imme)00 10

13、01rdrs1immestore rd, rs1, imme(rd)(rs1) + imme)00 1010dispbne dispIf z=0, pc(pc)+disp00 1011dispbeq dispIf z=1, pc(pc)+disp00 1100dispbranch disppc(pc) + disp第26页,共59页,2022年,5月20日,11点23分,星期四CC1Fetch I1第27页,共59页,2022年,5月20日,11点23分,星期四CC2Fetch I2 并 Decode I1第28页,共59页,2022年,5月20日,11点23分,星期四CC3Fetch I3

14、并 Decode I2 并 EXEC I1第29页,共59页,2022年,5月20日,11点23分,星期四CC4Fetch I4 并 Decode I3 并 EXEC I2 并 MEM I1第30页,共59页,2022年,5月20日,11点23分,星期四CC5Fetch I5 并 Decode I4 并 EXEC I3 并 MEM I2 并WB I1第31页,共59页,2022年,5月20日,11点23分,星期四CC6Fetch I6 并 Decode I5 并 EXEC I4 并 MEM I3 并WB I2第32页,共59页,2022年,5月20日,11点23分,星期四CC7Decode I

15、6 并 EXEC I5 并 MEM I4 并WB I3第33页,共59页,2022年,5月20日,11点23分,星期四CC8 EXEC I6 并 MEM I5 并 WB I4第34页,共59页,2022年,5月20日,11点23分,星期四CC9 MEM I6第35页,共59页,2022年,5月20日,11点23分,星期四CC10 WB I6以上还有3个控制信号:WZ 写Z标志信号 WMEM 写存储器信号 WREG- 写寄存器堆信号第36页,共59页,2022年,5月20日,11点23分,星期四流水线处理机的控制转移指令控制 subi r10,r10,1 bne abc add r1,r2,r3

16、abc: load 00 1010dispbne dispIf z=0, pc(pc)+disp结果不为0,转移00 1011dispbeq dispIf z=1, pc(pc)+disp结果为0,转移00 1100dispbranch disppc(pc) + disp无条件转移subi r10,r10,1nopbne abcnopadd r1,r2,r3条件转移指令控制无条件转移指令控制branch abcadd r1,r2,r3branch abcnopadd r1,r2,r3第37页,共59页,2022年,5月20日,11点23分,星期四第38页,共59页,2022年,5月20日,11

17、点23分,星期四第39页,共59页,2022年,5月20日,11点23分,星期四第40页,共59页,2022年,5月20日,11点23分,星期四转移发生的条件为 BTAKEN = branch + bneZ + beqZ第41页,共59页,2022年,5月20日,11点23分,星期四级控制信号注释IF级BTAKEN转移发生ID级SST选择STORE(rd)EXE级SIMM选择立即数ALUOPALU操作码WZ写Z标志MEM级WMEM写存储器WB级SLD选择LOADWREG写寄存器堆流水线各级控制信号的定义第42页,共59页,2022年,5月20日,11点23分,星期四流水线各级控制信号的产生表达

18、式指 令ALUOP1ALUOP0注释and /andi00与or/ ori01或add/ addi10加sub/ subi11减load/ store10加aluop1=add+addi+sub+subi+load+storealuop0=or+ori+sub+subiBTAKEN=branch+bneZ+beqZSST=storeSIMM=andi+addi+ori+subi+load+storeWZ= andi+addi+ori+subi+ and+add+or+subWMEM=storeSLD=loadWREG=andi+addi+ori+subi+ and+add+or+sub+loa

19、d第43页,共59页,2022年,5月20日,11点23分,星期四第44页,共59页,2022年,5月20日,11点23分,星期四第45页,共59页,2022年,5月20日,11点23分,星期四第46页,共59页,2022年,5月20日,11点23分,星期四相关概念:相近指令间出现了某种关联,使得指令不能 提前解释结构相关:由于硬件资源不足而导致流水线不畅通。数据相关:本条指令的操作数地址与前一条指令存放 结果的地址相同,便出现了前条指令还没有 结果,而后一条指令要求提前取出,造成 错误。转移相关:由于在转移发生之前,若干条转移指令的后继指令已被取到流水线处理机中,而造成错误。流水线处理机的相

20、关因为流水线中指令和数据要提前取出来,因此相邻指令之间存在许多关联。第47页,共59页,2022年,5月20日,11点23分,星期四结构相关及解决方法单存储器模块所构成的流水线处理机-结构相关第48页,共59页,2022年,5月20日,11点23分,星期四I1是LOAD指令,则I1与I4结构相关第49页,共59页,2022年,5月20日,11点23分,星期四采用分开的CACHE解决结构相关第50页,共59页,2022年,5月20日,11点23分,星期四数据相关及解决方法I1:add r1,r2,r3I2:sub r4,r1,r5I3:and r6,r7,r1I4:or r8,r1,r9I5:a

21、ddi r10,r1,100第51页,共59页,2022年,5月20日,11点23分,星期四写寄存器堆提前半个周期,我们只需考虑两条相关指令第52页,共59页,2022年,5月20日,11点23分,星期四数据相关及解决方法如何检测发生了数据相关?静态方法:由编译程序来完成检测。若发生数据相关,则I1:add r1,r2,r3 nop nopI2:sub r4,r1,r5I3:and r6,r7,r1I1:add r1,r2,r3I2:sub r4,r5,r1I3:and r6,r1,r7真正影响数据正确性的数据相关是先写后读相关(Read After Write)I1:add r1,r2,r3 I2:sub r4,r1,r5I

温馨提示

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

评论

0/150

提交评论