版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成原理计算机组成原理1第二十一、二十三讲2021年6月15日流水线处理机流水线处理机计算机组成原理计算机组成原理21 1、流水线处理机的基本概念、流水线处理机的基本概念2 2、流水线处理机的数据路径、流水线处理机的数据路径流水线级,流水线各级的操作流水线级,流水线各级的操作3 3、流水线处理机的控制、流水线处理机的控制运算指令,访存指令,转移控制指令,流水线各级信号的产运算指令,访存指令,转移控制指令,流水线各级信号的产生,时序图,时空图生,时序图,时空图4 4、流水线处理机的相关、流水线处理机的相关 结构相关,数据相关,转移相关结构相关,数据相关,转移相关计算机组成原理计算机组成原理
2、3掌握流水线处理机的数据路径掌握流水线处理机的数据路径建立指令流水线中指令如何重叠执行和流动建立指令流水线中指令如何重叠执行和流动了解流水线工作原理以及相关问题了解流水线工作原理以及相关问题计算机组成原理计算机组成原理4A AL LU UPC寄 存 器 堆rs2rdW ritePCSelStA luO PW riteM emSelLoaddispW riteRegrs1SelBranchW riteZero+1ZeroZeroim m eSelIm m eopcodeA luO PW ritePCSelStW riteRegW riteM emSelIm m eW riteZeroSelBra
3、nchSelLoad控 制 部 件A 1Q 1Q 2D IA DA 2偏 移 量 符号 扩 展立 即 数 符号 扩 展指 令存 储 器A ddD ata数 据存 储 器A ddD OD IW ECSAB10101001单周期处理机计算机组成原理计算机组成原理5该单周期处理器的缺陷该单周期处理器的缺陷时钟周期时间长时钟周期时间长: : 对于装入指令,周期时间必须足够长对于装入指令,周期时间必须足够长: :指令存储器访问时间指令存储器访问时间+ +寄存器堆访问时间寄存器堆访问时间+ +ALUALU计算地址计算地址+ +数据存储器访问时间数据存储器访问时间+ +寄存器建立时间寄存器建立时间+ +对于
4、所有其他指令,周期时间都比所需的要长很多对于所有其他指令,周期时间都比所需的要长很多! !计算机组成原理计算机组成原理6多周期处理机 ALU立即数符号扩展PC存储器寄存器堆rs2ArdWritePCSelStAluOPIRSelLoaddispWriteRegrs1BWriteZero1imme偏移量符号扩展ZeroSelAluBSelAluAWriteIRSelLdstZWriteMem.WritePCWriteZeroZeroopcode.控制部件Q1A1Q2DIADA2DODIWECSAdd1031001010计算机组成原理计算机组成原理7单周期处理器的问题根源单周期处理器的问题根源:
5、: 对于最慢的指令,周期时间必须足够长对于最慢的指令,周期时间必须足够长解决方案解决方案: : 将指令处理分为更小的步骤,每个周期执行一步(而不是整将指令处理分为更小的步骤,每个周期执行一步(而不是整个指令)个指令)- - 周期时间:周期时间: 执行最长步所需的时间执行最长步所需的时间- - 使所有的步骤尽量具有相同的长度使所有的步骤尽量具有相同的长度 这是多周期处理器的本质所在这是多周期处理器的本质所在多周期处理器的优点多周期处理器的优点: : 周期时间非常短周期时间非常短 不同的指令需要不同的周期数来完成不同的指令需要不同的周期数来完成- - 装入指令需要装入指令需要5 5个周期,个周期,
6、- - 跳转仅仅需要跳转仅仅需要3 3个周期个周期 允许每条指令多次使用同一个功能部件允许每条指令多次使用同一个功能部件多周期实现概述多周期实现概述计算机组成原理计算机组成原理8流水线的基本概念什么是什么是流水线流水线 计算机中的流水线是把一个重复的过程计算机中的流水线是把一个重复的过程分解为若干个子过分解为若干个子过程程,每个子过程与其他子过程,每个子过程与其他子过程并行进行并行进行。由于这种工作方式与。由于这种工作方式与工厂中的生产流水线十分相似,因此称为流水线技术。工厂中的生产流水线十分相似,因此称为流水线技术。从本质上讲,流水线技术是一种时间并行技术。从本质上讲,流水线技术是一种时间并
7、行技术。计算机组成原理计算机组成原理9计算机的各个部分几乎都可以采用流水线技术计算机的各个部分几乎都可以采用流水线技术: : (1) (1)指令的执行过程可以采用流水线,称为指令的执行过程可以采用流水线,称为指令流水线指令流水线。 (2) (2)运算器中的操作部件,如浮点加法器、浮点乘法器等运算器中的操作部件,如浮点加法器、浮点乘法器等可以采用流水线,称为可以采用流水线,称为操作部件流水线操作部件流水线。 (3) (3)访问主存的部件可以采用访存部件流水线。多个计算访问主存的部件可以采用访存部件流水线。多个计算机之间,通过存储器连接,也可以采用流水线,称为机之间,通过存储器连接,也可以采用流水
8、线,称为宏流水线宏流水线。计算机组成原理计算机组成原理10指令的重叠执行指令的重叠执行 (1)(1)顺序执行方式顺序执行方式(2)(2)一次重叠执行方式一次重叠执行方式(3)(3)二次重叠执行方式二次重叠执行方式(2) (2) 重叠解释执行重叠解释执行执行执行k分析分析k取指取指k执行执行k+1分析分析k+1取指取指k+1T=(2n+1)t执行执行k分析分析k取指取指k执行执行k+1分析分析k+1取指取指k+1(3) (3) 更高重叠程度的解释执行更高重叠程度的解释执行T=3t+(n-1)t=(n+2)t执行执行k+1分析分析k+1取指取指k+1执行执行k分析分析k取指取指k(1) (1) 顺
9、序解释执行顺序解释执行T=3nt计算机组成原理计算机组成原理11流水线工作原理流水线工作原理1.1.基本思想基本思想重叠延伸方式,使指令解释过程进一步细化,重叠延伸方式,使指令解释过程进一步细化,提高各部件的利用率,以提高指令执行速度。提高各部件的利用率,以提高指令执行速度。 理想目标理想目标:完成任务的时间与操作处理过程无关,只与提供:完成任务的时间与操作处理过程无关,只与提供操作的速度有关。操作的速度有关。取指译码执行访存写回输入输入输出输出IFIDEXEMEMWBs1s2s3s4s5 指令流水线举例:指令流水线举例:设:每段时间为设:每段时间为t t,有,有m m个段,每段间均可重叠;个
10、段,每段间均可重叠;则:每间隔则:每间隔t t时间有一条指令流传出时间有一条指令流传出计算机组成原理计算机组成原理12锁存器锁存器CLK锁存器处理部件n处理部件2处理部件1 流水线处理机的流水线处理机的最大特点最大特点是每一个时针周期都能是每一个时针周期都能启动一条指令的执行。启动一条指令的执行。计算机组成原理计算机组成原理13 流水技术无助于减少单个任务的流水技术无助于减少单个任务的处理延迟处理延迟(latency) (latency) ,但,但有助于提高整体工作负载有助于提高整体工作负载的吞吐率的吞吐率 多个多个不同任务同时操作不同任务同时操作, , 使用不同资源使用不同资源 潜在加速比潜
11、在加速比= = 流水线级数流水线级数 流水线的速率受限于流水线的速率受限于最慢最慢的流水段的流水段 流水段的执行时间如果流水段的执行时间如果不均衡不均衡, ,那么加速比就会降低那么加速比就会降低 开始开始填充填充流水线的时间和最后流水线的时间和最后排放排放流水线的时间降低加速流水线的时间降低加速比比 相关相关将导致流水线暂停将导致流水线暂停流水技术性流水技术性计算机组成原理计算机组成原理14单周期、多周期与流水线CC1CC2LO ADSTO REIFIDEXEM EMCC1CC2CC3CC4CC5W BIFIDEXEIFW B单 周 期 处 理 机流 水 线 处 理 机多 周 期 处 理 机L
12、 LO OA AD DA AD DD DIFIDEXEM EMW BIFIDEXEM EMW BIFIDEXEM EMW B计算机组成原理计算机组成原理15流水线处理机的数据路径流水线处理机的数据路径A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF计算机组成原理计算机组成原理16流水线各级的操作流水线各级的操作IFIF级级1 1、取指令、取指令2 2、计算下一条指令地址、计算下一条指令地址A AL LU UPC寄存器堆
13、rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF计算机组成原理计算机组成原理17流水线各级的操作流水线各级的操作IDID级级1 1、读寄存器堆中的操作数、读寄存器堆中的操作数2 2、符号扩展、符号扩展3 3、控制器根据、控制器根据OPCODEOPCODE产生控制信号产生控制信号A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIR
14、DSErddABIddZRSCDrdMEMWBEXEIDIF4 4、转移指令在、转移指令在IDID级结束级结束计算机组成原理计算机组成原理18流水线各级的操作流水线各级的操作EXEEXE级级1 1、ALUALU指令完成计算结果指令完成计算结果2 2、LOAD/STORELOAD/STORE指令计算存储器地址指令计算存储器地址A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF计算机组成原理计算机组成原理19流水线各级的操作
15、流水线各级的操作MEMMEM级级2 2、LOAD/STORELOAD/STORE指令访问存储器,指令访问存储器,LOADLOAD指令读操作,指令读操作,STORESTORE指指令写操作,令写操作,STORESTORE指令结束。指令结束。1 1、ALUALU指令在该级仅把指令在该级仅把R R内容打入内容打入C CA AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF计算机组成原理计算机组成原理20流水线各级的操作流水线各级的操
16、作WBWB级级A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF结果写回到寄存器堆结果写回到寄存器堆计算机组成原理计算机组成原理21ALUALU指令指令执行时流水线的数据路径执行时流水线的数据路径A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF计
17、算机组成原理计算机组成原理22LOADLOAD指令指令执行时流水线的数据路径执行时流水线的数据路径A AL LU UPC寄 存 器 堆rs2disprs1控 制 器+1immeopcodeA1Q1Q2DIADA2ISE数 据存 储 器AddDODIAB指 令存 储 器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF计算机组成原理计算机组成原理23STORESTORE指令指令执行时流水线的数据路径执行时流水线的数据路径A AL LU UPC寄 存 器 堆rs2disprs1控 制 器+1immeopcodeA1Q1Q2DIADA2ISE数 据存 储 器AddDODI
18、AB指 令存 储 器AddDataIRDSErddABIddZRSCDrdMEMW BEXEIDIF计算机组成原理计算机组成原理24流水线处理机的控制流水线处理机的控制ALUALU指令和存储器访问指令的控制指令和存储器访问指令的控制I1I1 addi r1,r2,4 ; addi r1,r2,4 ; r1r1(r2r2) + 4+ 4I2I2 load r2,100(r3); load r2,100(r3); r2r2 memory memory (r3r3) + 100+ 100I3I3 sub r4,r5,r6; sub r4,r5,r6; r4r4(r5r5) - -(r6r6)I4I4
19、 add r7,r5,r6; add r7,r5,r6; r7r7(r5r5) + +(r6r6)I5I5 store r8,200(r9); store r8,200(r9);memorymemory(r9r9) + 200+ 200(r8r8)I6I6 subi r10,r10,1; subi r10,r10,1; r10r10(r10r10) - 1- 1研究流水线处理机对以下指令重叠操作过程研究流水线处理机对以下指令重叠操作过程指令系统和指令格式同前面一样指令系统和指令格式同前面一样计算机组成原理计算机组成原理25指令系统和指令格式指令系统和指令格式31 2625 2120 16 15
20、 54 0指令助记符指令助记符意意 义义00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme00 010100001000100004Haddi r1, r2, 4 00 0100rdrs1 rs2add rd, rs1, rs2rd (rs1) add (rs2)00 01000011100101 00110add r7,r5,r6 00 0110rdrs1 rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 01100010000101 00110sub r4,r5,r6 00 1000rdrs1immeload
21、 rd, rs1, immerd (rs1) + imme)00 100000010000110064Hload r2,r3,100 00 1001rdrs1immestore rd, rs1,imme(rd)(rs1) + imme)00 1001010000100100C8Hstore r8,r9,200 计算机组成原理计算机组成原理26指令系统和指令格式指令系统和指令格式31 2625 2120 16 15 54 0指令助记符指令助记符意意 义义00 0000rdrs1 rs2and rd, rs1, rs2rd (rs1) and (rs2)00 0001rdrs1immeandi r
22、d, rs1, immerd(rs1) and imme00 0010rdrs1 rs2or rd, rs1, rs2rd (rs1) or (rs2)00 0011rdrs1immeori rd, rs1, immerd (rs1) or imme00 0100rdrs1 rs2add rd, rs1, rs2rd (rs1) add (rs2)00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme00 0110rdrs1 rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 0111rdrs1immesubi rd,
23、 rs1, immerd (rs1) sub imme00 1000rdrs1immeload rd, rs1, immerd (rs1) + imme)00 1001rdrs1immestore 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计算机组成原理计算机组成原理27CC1Fetch I1CC1Fetch I1A AL LU UPC寄存器堆rs2disp
24、rs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001计算机组成原理计算机组成原理28CC2Fetch I2 CC2Fetch I2 并并 Decode I1Decode I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000004数据存储器AddDODIAB指令存储器A
25、ddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=0010 02 20 01 10 04 4计算机组成原理计算机组成原理29CC3Fetch I3 CC3Fetch I3 并并 Decode I2 Decode I2 并并 EXEC I1EXEC I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIAD
26、A200000064数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=001s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =1 110A AL LU UO OP P= =a ad dd d0 02 20 01 10 03 30 04 4计算机组成原理计算机组成原理30C
27、C4Fetch I4 CC4Fetch I4 并并 Decode I3 Decode I3 并并 EXEC I2 EXEC I2 并并 MEM I1MEM I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000006数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3
28、 3) )SST=001s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =1 110a ad dd d r r7 7, ,r r5 5, ,r r6 60 04 40 02 20 01 1A AL LU UO OP P= =a ad dd d0 05 50 06 6计算机组成原理计算机组成原理31CC5Fetch I5 CC5Fetch I5 并并 Decode I4 Decode I4 并并 EXEC I3 EXEC I3 并并 MEM I2 MEM I2 并并WB I1WB I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1
29、 1immeopcodeA1Q1Q2DIADA200000006数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=001s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =0 010a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or r
30、e e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =0 001A AL LU UO OP P= =s su ub b0 04 40 02 20 01 10 07 70 05 50 06 6计算机组成原理计算机组成原理32CC6Fetch I6 CC6Fetch I6 并并 Decode I5 Decode I5 并并 EXEC I4 EXEC I4 并并 MEM I3 MEM I3 并并WB I2WB I2A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2000000C8数据存储器AddDOD
31、IAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=101s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =0 010a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =1 101A AL LU UO OP P= =a ad dd
32、d0 04 40 02 20 07 70 09 9s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 8计算机组成原理计算机组成原理33CC7Decode I6 CC7Decode I6 并并 EXEC I5 EXEC I5 并并 MEM I4 MEM I4 并并WB I3WB I3A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000001数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN
33、N01SST=001s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =1 110a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =0 001A AL LU UO OP P= =a ad dd d0 04 40 07 71 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 81 10 00 01 1计算机组成原理计算机组成原理34CC8 EXEC I6 CC8 EXEC
34、 I6 并并 MEM I5 MEM I5 并并 WB I4WB I4A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M= =1 110a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =0 001A AL LU
35、 UO OP P= =s su ub b0 07 71 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 8计算机组成原理计算机组成原理35CC9 MEM I6CC9 MEM I6A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10s st to or re e r r8 8, ,2 20
36、00 0( (r r9 9) )S SL LD D01A AL LU UO OP P1 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 8计算机组成原理计算机组成原理36CC10 WB I6CC10 WB I6A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D= =0
37、001A AL LU UO OP P1 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 1以上还有以上还有3 3个控制信号:个控制信号:WZ WZ 写写Z Z标志信号标志信号 WMEM WMEM 写存储器信号写存储器信号 WREG- WREG- 写寄存器堆信号写寄存器堆信号计算机组成原理计算机组成原理37流水线处理机的控制流水线处理机的控制转移指令控制转移指令控制 subi r10,r10,1 subi r10,r10,1 bne abc bne abc add r1,r2,r3 add r1,r2,r3abc: load abc: load 00 101
38、0dispbne dispIf z=0, pc(pc)+disp结果不为结果不为0,转移,转移00 1011dispbeq dispIf z=1, pc(pc)+disp结果为结果为0,转移,转移00 1100dispbranch disppc(pc) + disp无条件转移无条件转移subi r10,r10,1subi r10,r10,1nopnopbne abcbne abcnopnopadd r1,r2,r3add r1,r2,r3条件转移指令控制条件转移指令控制无条件转移指令控制无条件转移指令控制branch abcbranch abcadd r1,r2,r3add r1,r2,r3b
39、ranch abcbranch abcnopnopadd r1,r2,r3add r1,r2,r3计算机组成原理计算机组成原理38A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a a
40、b bc c计算机组成原理计算机组成原理39A AL LU UPC寄存器堆rs2rs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc cn no op pa ad dd d r r1 1, ,r r2 2, ,r r3
41、 3zero计算机组成原理计算机组成原理40A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc cn no op p计算机组成原理计算机组成原理41A AL LU UPC寄
42、存器堆rs2rs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc cn no op pzeron no op p转移发生的条件为转移发生的条件为 BTAKEN = branch + bneBTAKEN = branch
43、 + bne Z + beqZ + beq Z Z计算机组成原理计算机组成原理42级级控制信号控制信号注释注释IF级级BTAKEN转移发生转移发生ID级级SST选择选择STORE(rd)EXE级级SIMM选择立即数选择立即数 ALUOPALU操作码操作码 WZ写写Z标志标志MEM级级WMEM写存储器写存储器WB级级SLD选择选择LOAD WREG写寄存器堆写寄存器堆流水线各级控制信号的定义流水线各级控制信号的定义计算机组成原理计算机组成原理43流水线各级控制信号的产生表达式流水线各级控制信号的产生表达式指指 令令ALUOP1ALUOP0注释注释and /andi00与与or/ ori01或或a
44、dd/ 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+load计算机组成原理计算机组成原理44A AL LU UPC寄存器堆rs2dis
45、prs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdB BT TA AK KE EN N01S SS ST TS SI IM MM MA AL LU UO OP PW WZ ZW WM ME EM MS SL LD DW WR RE EG Gzero计算机组成原理计算机组成原理451 11 11 11 11 12 22 22 22 22 23 33 33 33 33 34 44 44 44 44 4时间空间IFIDEXEMEMWB计算机组成原理计算机组成原理46I IF FI I
46、D DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB B时 间指 令I1I2I3I4计算机组成原理计算机组成原理47相关概念:相关概念:相近指令间出现了某种关联,使得指令不能相近指令间出现了某种关联,使得指令不能 提前解释提前解释结构相关结构相关: :由于硬件资源不足而导致流水线不畅通。由于硬件资源不足而导致流水线不畅通。数据相关:数据相关:本条指令的操作数地址与前一条指令存放本条指
47、令的操作数地址与前一条指令存放 结果的地址相同,便出现了前条指令还没有结果的地址相同,便出现了前条指令还没有 结果,而后一条指令要求提前取出,造成结果,而后一条指令要求提前取出,造成 错误。错误。转移相关:转移相关:由于在转移发生之前,若干条转移指令的后继指由于在转移发生之前,若干条转移指令的后继指令已被取到流水线处理机中,而令已被取到流水线处理机中,而造成错误。造成错误。流水线处理机的相关流水线处理机的相关因为流水线中指令和数据要提前取出来,因此相邻指令之间存因为流水线中指令和数据要提前取出来,因此相邻指令之间存在许多关联。在许多关联。计算机组成原理计算机组成原理48结构相关及解决方法结构相
48、关及解决方法A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE存储器AddDODIABIRDSErddABIddZRSCDrd单存储器模块所构成的流水线处理机单存储器模块所构成的流水线处理机-结构相关结构相关计算机组成原理计算机组成原理49I IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB B时 间指 令
49、I1I2I3I4I1I1是是LOADLOAD指令,则指令,则I1I1与与I4I4结构相关结构相关计算机组成原理计算机组成原理50A AL LU UPC寄存器堆rs2disprs1+1immeA1Q1Q2DIADA2ISE数据ADODIAB指令ADIIRDSErddABIddZRSCDrdCACHECACHE数据收发器地址总线地址总线存储器DO采用分开的采用分开的CACHECACHE解决结构相关解决结构相关计算机组成原理计算机组成原理51数据相关及解决方法数据相关及解决方法I1I1:add add r1r1,r2,r3,r2,r3I2I2:sub r4,sub r4,r1r1,r5,r5I3I3
50、:and r6,r7,and r6,r7,r1r1I4I4:or r8,or r8,r1r1,r9,r9I5I5:addi r10,addi r10,r1r1,100,100A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE数据存储器AddDODIAB指令存储器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd d r r1 1, ,r r2 2, ,r r3 3s su ub b r r4 4, ,r r1 1, ,r r5 5a an nd d r r6 6, ,r r7 7, ,r r1
51、 1o or r r r8 8, ,r r1 1, ,r r9 9a ad dd di i r r1 10 0, ,r r1 1, ,1 10 00 0I I1 1I I2 2I I3 3I I4 4I I5 5计算机组成原理计算机组成原理52a ad dd dr r2 2, ,r r3 3a ad dd dr r1 1s su ub bI I1 1: : a ad dd d r r1 1, ,r r2 2, ,r r3 3I I2 2: : s su ub b r r4 4, ,r r1 1, ,r r5 5I I3 3: : a an nd d r r6 6, ,r r7 7, ,r r1
52、 1I I4 4: : o or r r r8 8, ,r r1 1, ,r r9 9I I5 5: : a ad dd di i r r1 10 0, ,r r1 1, ,1 10 00 0r r1 1, ,r r5 5s su ub br r4 4a an nd dr r7 7, ,r r1 1a an nd dr r6 6o or rr r1 1, ,r r9 9o or rr r8 8a ad dd di ir r1 1, ,1 10 00 0a ad dd dr r1 10 0a ad dd dr r2 2, ,r r3 3a ad dd dr r1 1s su ub bI I1 1
53、: : a ad dd d r r1 1, ,r r2 2, ,r r3 3I I2 2: : s su ub b r r4 4, ,r r1 1, ,r r5 5I I3 3: : a an nd d r r6 6, ,r r7 7, ,r r1 1I I4 4: : o or r r r8 8, ,r r1 1, ,r r9 9I I5 5: : a ad dd di i r r1 10 0, ,r r1 1, ,1 10 00 0r r1 1, ,r r5 5s su ub br r4 4a an nd dr r7 7, ,r r1 1a an nd dr r6 6o or rr r1
54、1, ,r r9 9o or rr r8 8a ad dd di ir r1 1, ,1 10 00 0a ad dd dr r1 10 0写寄存器堆提前半个周期,我们只需考虑两条相关指令写寄存器堆提前半个周期,我们只需考虑两条相关指令计算机组成原理计算机组成原理53数据相关及解决方法数据相关及解决方法如何检测发生了数据相关?如何检测发生了数据相关?静态方法:静态方法:由编译程序来完成检测。若发生数据相关,则由编译程序来完成检测。若发生数据相关,则I1I1:add add r1r1,r2,r3,r2,r3 nopnop nopnopI2I2:sub r4,sub r4,r1r1,r5,r5I3
55、I3:and r6,r7,and r6,r7,r1r1I1I1:add add r1r1,r2,r3,r2,r3I2I2:sub r4,r5,sub r4,r5,r1r1I3I3:and r6,and r6,r1r1,r7,r7真正影响数据正确性的数据相关是先真正影响数据正确性的数据相关是先写后读写后读相关相关(R Read ead A After fter W Write)rite)I1I1:add add r1r1,r2,r3 ,r2,r3 I2I2:sub r4,sub r4,r1r1,r5,r5I3I3:and r6,r7,and r6,r7,r1r1如何解决数据相关?如何解决数据相关?I1I1:add add r1r1,r2,r3,r2,r3I2I2:sub r4,r2,r5sub r4,r2,r5 nop nopI3I3:and r6,r7,and r6,r7,r1r1计算机组成原理计算机组成原理54动态方法:动态方法: 由硬件来完成检测。若发生数据相关,则暂停流水线由硬件来完成检测。若发生数据相关,则暂停流水线暂停流水线要做暂停流水线要做3 3件事情:件事情:1 1、封锁当前正在译码的指令的写控制信号;、封锁当前正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络延迟优化-洞察分析
- 虚拟偶像庆典应用-洞察分析
- 写保护动物的演讲稿(5篇)
- 《大数据存储技术与应用》 课件 项目三-任务五 浅析对象存储系统
- 维护服务环境标准制定-洞察分析
- 《人与动物的关系》课件
- 企业安全用电共筑绿色发展未来
- 产品设计中的创意激发与实现技巧
- 创新思维的跨领域应用与拓展
- 从传统到数字化现代企业实验室管理与安全规范探索研究
- 药品经营使用和质量监督管理办法2024年宣贯培训课件
- 部编版五年级上册道德与法治期末测试卷含答案精练
- 国家开放大学《合同法》章节测试参考答案
- 消防主机陆和新LH160调试
- 工商管理本 组织行为学作业4答案
- 境外汇款申请书(模板)
- JTG-G10-2016)公路工程施工监理规范
- 中学美术课堂分层教学与梯度评价实践与研究
- 卓越绩效评价准则实施指南
- 等倾、等厚干涉的研究及应用
- 关于招聘中小学教师的请示报告
评论
0/150
提交评论