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

下载本文档

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

文档简介

流水线处理机第1页,共59页,2023年,2月20日,星期一1、流水线处理机的基本概念2、流水线处理机的数据路径 流水线级,流水线各级的操作3、流水线处理机的控制运算指令,访存指令,转移控制指令,流水线各级信号的产生,时序图,时空图4、流水线处理机的相关结构相关,数据相关,转移相关本讲安排第2页,共59页,2023年,2月20日,星期一将解决的主要问题掌握流水线处理机的数据路径建立指令流水线中指令如何重叠执行和流动了解流水线工作原理以及相关问题第3页,共59页,2023年,2月20日,星期一单周期处理机第4页,共59页,2023年,2月20日,星期一单周期处理器的缺陷时钟周期时间长:•对于装入指令,周期时间必须足够长: 指令存储器访问时间+ 寄存器堆访问时间+ ALU计算地址+ 数据存储器访问时间+ 寄存器访问时间对于其它指令,周期时间都比所需的要长很多!第5页,共59页,2023年,2月20日,星期一多周期处理机第6页,共59页,2023年,2月20日,星期一单周期处理器的问题根源:对于最慢的指令,周期时间必须足够长解决方案:•将指令处理分为更小的步骤,每个周期执行一步(而不是整个指令)-周期时间:执行最长步所需的时间-使所有的步骤尽量具有相同的长度•这是多周期处理器的本质所在多周期处理器的优点:•周期时间短•不同的指令需要不同的周期数来完成-装入指令需要5个周期,-跳转仅仅需要3个周期•允许每条指令多次使用同一个功能部件多周期实现概述第7页,共59页,2023年,2月20日,星期一流水线的基本概念什么是流水线

计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产流水线十分相似,因此称为流水线技术。从本质上讲,流水线技术是一种时间并行技术。第8页,共59页,2023年,2月20日,星期一计算机的各个部分几乎都可以采用流水线技术:

(1)指令的执行过程可以采用流水线,称为指令流水线。

(2)运算器中的操作部件,如浮点加法器、浮点乘法器等可以采用流水线,称为操作部件流水线。

(3)访问主存的部件可以采用访存部件流水线。多个计算机之间,通过存储器连接,也可以采用流水线,称为宏流水线。第9页,共59页,2023年,2月20日,星期一指令的重叠执行

(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)顺序解释执行T=3nt第10页,共59页,2023年,2月20日,星期一流水线工作原理1.基本思想重叠延伸方式,使指令解释过程进一步细化,提高各部件的利用率,以提高指令执行速度。理想目标:完成任务的时间与操作处理过程无关,只与提供操作的速度有关。取指译码执行访存写回输入输出IFIDEXEMEMWBs1s2s3s4s5指令流水线举例:设:每段时间为△t,有m个段,每段间均可重叠;则:每间隔△t时间有一条指令流传出第11页,共59页,2023年,2月20日,星期一流水线处理机的最大特点是每一个时针周期都能启动一条指令的执行。第12页,共59页,2023年,2月20日,星期一♦流水技术无助于减少单个任务的处理延迟(latency),但有助于提高整体工作负载的吞吐率♦多个不同任务同时操作,使用不同资源♦潜在加速比=流水线级数♦流水线的速率受限于最慢的流水段♦流水段的执行时间如果不均衡,那么加速比就会降低♦开始填充流水线的时间和最后排放流水线的时间降低加速比♦相关将导致流水线暂停流水技术性第13页,共59页,2023年,2月20日,星期一单周期、多周期与流水线第14页,共59页,2023年,2月20日,星期一流水线处理机的数据路径第15页,共59页,2023年,2月20日,星期一流水线各级的操作—IF级1、取指令2、计算下一条指令地址第16页,共59页,2023年,2月20日,星期一流水线各级的操作—ID级1、读寄存器堆中的操作数2、符号扩展3、控制器根据OPCODE产生控制信号4、转移指令在ID级结束第17页,共59页,2023年,2月20日,星期一流水线各级的操作—EXE级1、ALU指令完成计算结果2、LOAD/STORE指令计算存储器地址第18页,共59页,2023年,2月20日,星期一流水线各级的操作—MEM级2、LOAD/STORE指令访问存储器,LOAD指令读操作,STORE指令写操作,STORE指令结束。1、ALU指令在该级仅把R内容打入C第19页,共59页,2023年,2月20日,星期一流水线各级的操作—WB级结果写回到寄存器堆第20页,共59页,2023年,2月20日,星期一ALU指令执行时流水线的数据路径第21页,共59页,2023年,2月20日,星期一LOAD指令执行时流水线的数据路径第22页,共59页,2023年,2月20日,星期一STORE指令执行时流水线的数据路径第23页,共59页,2023年,2月20日,星期一流水线处理机的控制—ALU指令和存储器访问指令的控制I1addir1,r2,4;r1(r2)+4I2loadr2,100(r3);r2memory[(r3)+100]I3subr4,r5,r6;r4(r5)-(r6)I4addr7,r5,r6;r7(r5)+(r6)I5storer8,200(r9);memory[(r9)+200](r8)I6subir10,r10,1;r10(r10)-1研究流水线处理机对以下指令重叠操作过程指令系统和指令格式同前面一样第24页,共59页,2023年,2月20日,星期一指令系统和指令格式31262521201615540指令助记符意

义000101rdrs1immeaddird,rs1,immerd(rs1)addimme00010100001000100004Haddir1,r2,4

000100rdrs1

rs2addrd,rs1,rs2rd(rs1)add(rs2)0001000011100101

00110addr7,r5,r6

000110rdrs1

rs2subrd,rs1,rs2rd(rs1)sub(rs2)0001100010000101

00110subr4,r5,r6

001000rdrs1immeloadrd,rs1,immerd((rs1)+imme)00100000010000110064Hloadr2,r3,100

001001rdrs1immestorerd,rs1,imme(rd)((rs1)+imme)001001010000100100C8Hstorer8,r9,200

第25页,共59页,2023年,2月20日,星期一

指令系统和指令格式31262521201615540指令助记符意

义000000rdrs1

rs2andrd,rs1,rs2rd(rs1)and(rs2)000001rdrs1immeandird,rs1,immerd(rs1)andimme000010rdrs1

rs2orrd,rs1,rs2rd(rs1)or(rs2)000011rdrs1immeorird,rs1,immerd(rs1)orimme000100rdrs1

rs2addrd,rs1,rs2rd(rs1)add(rs2)000101rdrs1immeaddird,rs1,immerd(rs1)addimme000110rdrs1

rs2subrd,rs1,rs2rd(rs1)sub(rs2)000111rdrs1immesubird,rs1,immerd(rs1)subimme001000rdrs1immeloadrd,rs1,immerd((rs1)+imme)001001rdrs1immestorerd,rs1,imme(rd)((rs1)+imme)001010dispbnedispIfz=0,pc(pc)+disp001011dispbeqdispIfz=1,pc(pc)+disp001100dispbranchdisppc(pc)+disp第26页,共59页,2023年,2月20日,星期一CC1—FetchI1第27页,共59页,2023年,2月20日,星期一CC2—FetchI2并DecodeI1第28页,共59页,2023年,2月20日,星期一CC3—FetchI3并DecodeI2并EXECI1第29页,共59页,2023年,2月20日,星期一CC4—FetchI4并DecodeI3并EXECI2并MEMI1第30页,共59页,2023年,2月20日,星期一CC5—FetchI5并DecodeI4并EXECI3并MEMI2并WBI1第31页,共59页,2023年,2月20日,星期一CC6—FetchI6并DecodeI5并EXECI4并MEMI3并WBI2第32页,共59页,2023年,2月20日,星期一CC7—DecodeI6并EXECI5并MEMI4并WBI3第33页,共59页,2023年,2月20日,星期一CC8—EXECI6并MEMI5并WBI4第34页,共59页,2023年,2月20日,星期一CC9—MEMI6第35页,共59页,2023年,2月20日,星期一CC10—WBI6以上还有3个控制信号:WZ—写Z标志信号WMEM—写存储器信号WREG--写寄存器堆信号第36页,共59页,2023年,2月20日,星期一流水线处理机的控制—转移指令控制subir10,r10,1bneabcaddr1,r2,r3abc:load001010dispbnedispIfz=0,pc(pc)+disp结果不为0,转移001011dispbeqdispIfz=1,pc(pc)+disp结果为0,转移001100dispbranchdisppc(pc)+disp无条件转移subir10,r10,1nopbneabcnopaddr1,r2,r3条件转移指令控制无条件转移指令控制branchabcaddr1,r2,r3branchabcnopaddr1,r2,r3第37页,共59页,2023年,2月20日,星期一第38页,共59页,2023年,2月20日,星期一第39页,共59页,2023年,2月20日,星期一第40页,共59页,2023年,2月20日,星期一转移发生的条件为BTAKEN=branch+bne‧Z+beq‧Z第41页,共59页,2023年,2月20日,星期一级控制信号注释IF级BTAKEN转移发生ID级SST选择STORE(rd)EXE级SIMM选择立即数

ALUOPALU操作码

WZ写Z标志MEM级WMEM写存储器WB级SLD选择LOAD

WREG写寄存器堆流水线各级控制信号的定义第42页,共59页,2023年,2月20日,星期一流水线各级控制信号的产生表达式指

令ALUOP1ALUOP0注释and/andi00与or/ori01或add/addi10加sub/subi11减load/store10加aluop1=add+addi+sub+subi+load+storealuop0=or+ori+sub+subiBTAKEN=branch+bne﹡Z+beq﹡ZSST=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+load第43页,共59页,2023年,2月20日,星期一第44页,共59页,2023年,2月20日,星期一第45页,共59页,2023年,2月20日,星期一第46页,共59页,2023年,2月20日,星期一相关概念:相近指令间出现了某种关联,使得指令不能提前解释结构相关:由于硬件资源不足而导致流水线不畅通。数据相关:本条指令的操作数地址与前一条指令存放结果的地址相同,便出现了前条指令还没有结果,而后一条指令要求提前取出,造成错误。转移相关:由于在转移发生之前,若干条转移指令的后继指令已被取到流水线处理机中,而造成错误。流水线处理机的相关因为流水线中指令和数据要提前取出来,因此相邻指令之间存在许多关联。第47页,共59页,2023年,2月20日,星期一结构相关及解决方法单存储器模块所构成的流水线处理机--结构相关第48页,共59页,2023年,2月20日,星期一I1是LOAD指令,则I1与I4结构相关第49页,共59页,2023年,2月20日,星期一采用分开的CACHE解决结构相关第50页,共59页,2023年,2月20日,星期一数据相关及解决方法I1:addr1,r2,r3I2:subr4,r1,r5I3:andr6,r7,r1I4:orr8,r1,r9I5:addir10,r1,100第51页,共59页,2023年,2月20日,星期一写寄存器堆提前半个周期,我们只需考虑两条相关指令第52页,共59页,2023年,2月20日,星期一数据相关及解决方法如何检测发生了数据相关?静态方法:由编译程序来完成检测。若发生数据相关,则I1:addr1,r2,r3

nop

nopI2:subr4,r1,r5I3:andr6,r7,r1I1:addr1,r2,r3I2:subr4,r5,r1I3:andr6,r1,r7真正影响数据正确性的数据相关是先写后读相关(ReadAfterW

温馨提示

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

评论

0/150

提交评论