第七章 指令流水线

  • 格式:ppt
  • 大小:3.73 MB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Register File Access Time New Value
3
New Value ALU Delay New Value
Data Memory Access Time Old Value New
2018年12月31日星期一
一个日常生活中的例子—洗衣服
°Laundry Example • Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold • Washer takes • Dryer takes • “Folder” takes 30 minutes 40 minutes 20 minutes
32 32 0 1 32 32 RAdr
PCWrCond Zero MemWr
32 Rs 0 1 32
PCSrc IRWr RegDst RegWr ALUSelA
1
0 32 0 1 32
BrWr
32
Target
Mux
Zero ALU
Mux
Instruction Reg
32
WrAdr 32 Din Dout
Pipeline.5
Delay through Control Logic New Value New Value New Value Register File Write Time New Value
2
Old Value Delay through Extender & Mux Old Value Old Value
复习:A Single Cycle Processor
Branch Jump Zero Clk RegDst Instruction Fetch Unit <31:26> Instruction<31:0> op <16:20> <21:25> <11:15> Rd Imm16 5 Rs 5 Rt <5:0> func <0:15> RegDst Main Control 3 ALUSrc
MemtoReg
复习:Timing Diagram of a Load Instruction
Instruction Fetch
Clk PC Old Value Clk-to-Q New Value Old Value Instruction Memory Access Time New Value
6 PM
7
8
9
Time
10
11
Midnight
30 40
T a s k O r d e r
40
40
40 20
串行方式为6小时,N批则为90N分钟
A
只需30+4x40+20=210分 (3.5小时)
B C
D
如果有N批衣服呢? 所花时间为:30+Nx40+20分钟 假定每一步时间均衡,则比串行方 式提高约3倍!
流水方式下,所花时间主要与最长阶段时间有关!
Pipeline.8
2018年12月31日星期一
复习:Load指令的5个阶段
阶段1 阶段 2 阶段 3
T a s k O r d e r
A B
C D
° 串行方式下, 4 批衣服需要花费 6 小时(4x(30+40+20)=360分钟) ° N批衣服,需花费的时间为Nx(30+40+20) = 90N ° 如果用流水线方式洗衣服,则花多少时间呢?
Pipeline.7
2018年12月31日星期一
Pipelined Laundry: (Start work ASAP)
:
Baidu NhomakorabeaALUop
Rt
Rd
1 Mux 0
ALU Control
RegWr 5 busW 32 Clk
ALUctr 3 busA 32
0 Mux ALU Zero 32 WrEn Adr 32 MemWr 0 Mux
Rw Ra Rb 32 32-bit Registers busB 32 Extender
MemtoReg
• 详细设计执行部件 • 分析每条指令在流水线中的执行过程,遇到各种问题: - 资源冲突 - 寄存器和存储器的信号竞争 - 分支指令的延迟 - 指令间数据相关
° 如何设计流水线控制逻辑 • 分析每条指令执行过程中的控制信号 • 给出控制器设计过程 ° 流水线冒险的概念
Pipeline.2
2018年12月31日星期一
Ch7: Instruction Pipeline 指令流水线
第一讲 流水线数据通路和控制逻辑
第二讲 流水线冒险处理 第三讲 高级流水线技术
第一讲 流水线数据通路和控制 主要内容
° 日常生活中的流水线处理例子:洗衣服 ° 单周期处理器模型和流水线性能比较
° 什么样的指令集适合于流水线方式执行
° 如何设计流水线数据通路 • 以MIPS指令子集来说明 • 详细设计取指令部件
Instr Decode / Reg. Fetch
Address
Data Memory
Reg Wr
Rs, Rt, Rd, Op, Func
1
Old Value
Old Value Old Value Old Value
ALUctr
ExtOp ALUSrc RegWr busA busB Address busW
1
1 32 ALUSrc
imm16 Instr<15:0>
Data In 32
16
Clk
Data Memory
ExtOp
Pipeline.3
2018年12月31日星期一
复习:Multiple Cycle Processor
° MCP: 一个功能部件在一个指令周期中可以被使用多次。
PCWr IorD PC
A
B
C
D
如果让你来管理洗衣店,你会如何安排?
Pipelining: It’s Natural !
Pipeline.6
2018年12月31日星期一
Sequential Laundry(串行方式) 6 PM 7 8 9
Time
10
11
Midnight
30 40 20 30 40 20 30 40 20 30 40 20
Ideal Memory
32
Rt Rt 0 Rd 1
5 5
Ra Rb Rw busW busB 32 busA
Mux
Reg File
4
1 Mux 0
Mux
32
<< 2
2 3
ALU Control
Imm 16
Extend
32
ALUOp ALUSelB
2018年12月31日星期一
ExtOp
Pipeline.4