计算机体系结构之流水线技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实现DLX指令的一种简单数据通路
MIPS的基本流水线
计算机体系结构
MIPS指令集结构用5个功能段实现,每个功 能段用一个时钟周期
1. 取指令周期IF(Instruction Fetch) 2. 指令译码/读寄存器周期ID(Instruction
Decode) 3. 执行/地址计算周期EX(Execute)
计算机体系结构
3 流水线技术
1
©
大纲
1 概念定义 2 流水线分类 3 MIPS五级流水线 4 性能分析 5 流水线相关 6 高级流水线技术
计算机体系结构
1 概念定义
计算机体系结构
洗衣店的例子
计算机体系结构
A, B, C, D 均有一些衣物要 清洗,甩干,折叠
清洗要花30 分钟 甩干要用40 分钟 叠衣物也需要20 分钟
❖ 存储器访问(计算有效地址)
❖ 寄存器-寄存器ALU操作 ❖ 寄存器-立即数ALU操作
4. 存储器访问周期MEM(Memory Access) 5. 写回周期WB(Write Back)
MIPS的简单实现
Instruction Fetch
Instr. Decode Reg. Fetch
Next PC
流水线的分类(5)
计算机体系结构
按照数据表示来分 标量处理机:
不具有向量指令和向量数据表示,仅对标量进 行流水处理的处理机。
例如:IBM360/91, Amdahl 470V/6 等 向量处理机:
具有向量指令和向量数据表示的处理机。 例如:TI ASC, CRAY-I 等
流水线的分类(6)
描述流水线的工作,最常用的方法是时间-空 间图(时空图)
横坐标:表示时间,即各个任务在流水线中所经过 的时间
纵坐标:表示空间,即流水线的各个子过程,也称 为级、段、流水线深度(Stage)
流水线的时空图
计算机体Biblioteka Baidu结构
流水线的特点
计算机体系结构
流水线实际上是把一个功能部件分解成多个独立的子 功能部件(一个任务也就分成了几个子任务,每个子 任务由一个子功能部件完成),并依靠多个子功能部 件并行工作来缩短所有任务的执行时间
计算机体系结构
按照流动是否可以乱序来分
顺序流动流水线:
流水线输出端任务流出的顺序与输入端任务流 入的顺序相同。
异步流动流水线(乱序流水线):
流水线输出端任务流出的顺序与输入端任务流 入的顺序不同。
计算机体系结构
3 MIPS五级流水线
DLX(Dancing Links)
计算机体系结构
DLX 是一种简单的指令集(教学、简单芯片) 在不流水的情况下,如何实现DLX。
原因:在MIPS指令格式中,操作码字段以及rs、rt
字段都是在固定的位置。
这种技术称为固定字段译码技术。
执行/有效地址计算周期(EX)
计算机体系结构
不同指令所进行的操作不同:
存储器访问指令 ALUo←A + Imm
Next SEQ PC
4
RS1
RS2
Execute Addr. Calc
Zero?
RD
ALU
MUX MUX
Inst
Adder Memory
Address
Reg File
Imm
Sign Extend
WB Data
MUX
MUX
Data Memory
计算机体系结构
Memory Write Access Back
流水线有助于提高整个程序(所有任务)的吞吐率, 但并没有减少每个指令(任务)的执行时间
流水线各个功能段所需时间应尽量相等。否则,时间 长的功能段将成为流水线的“瓶颈”,会造成流水线 的“阻塞”(Stall)
流水线开始需要“通过时间” (Fill)和最后需要“排空 时间”(Drain)。流水线只有处理连续不断的任务才能 发挥其效率
四人衣物一共要花 4*(30+40+20)=360分钟
流水线的基本概念
计算机体系结构
6 PM 7
8
9
Time
T a
30 40 40 40 40 20
s k
A
O
r
B
d
e r
C
D
四人衣物一共要花 30+40*4+20=210分钟
流水线的基本概念
计算机体系结构
流水线技术:把一个重复的过程分解为若干个 子过程,每个子程序可以与其他子过程同时进 行
把指令的解释执行过程按照流水方式进行处理。
处理机间流水线(宏流水线):
它是指由两个以上的处理机串行地对同一数据流 进行处理,每个处理机完成一项任务。动画解析
流水线的分类(4)
计算机体系结构
按流水线是否有反馈回路分类 线性流水线:流水线的各段逐个串接,输入数 据从流水线一端输入从另一端输出;每个段都 只流过一次。 非线性流水线:流水线的各段除有串接外,还 有反馈回路;在一次流水过程中,有的段要被 多次使用。(举例)
2 流水线分类
计算机体系结构
流水线的分类(1)
计算机体系结构
按流水线所完成的功能分类 单功能流水线:只能完成一种固定功能的流水线 多功能流水线:流水线的各段可以进行不同的连 接,使流水线在不同的时间,或者在同一时间完 成不同的功能
例如: TI ASC的多功能流水线
计算机体系结构
流水线的分类(2)
L M D
计算机体系结构
2. 一条MIPS指令最多需要以下5个时钟周期:
取指令周期(IF)
操作
IR←Mem[PC]
NPC←PC+4
指令译码/读寄存器周期(ID) 操作 A ← Regs[rs] B ← Regs[rt] Imm ← ((IR16)16##IR16..31)
指令的译码操作和读寄存器操作是并行进行的。
动画演示
计算机体系结构
动态流水线 VS 静态流水线
优点:能提高流水线的效率 缺点:会使流水线的控制变得复杂
流水线的分类(3)
计算机体系结构
按照流水线的级别来分
部件级流水线(运算操作流水线):
把处理机的算术逻辑部件分段,使得各种数据类 型的操作能够进行流水。
处理机级流水线(指令流水线):
按流水线在同一时间内各段的连接方式分类
静态流水线:
在同一时间内,多功能流水线各段只能按同一种功能连 接。只有当按这种方式工作的所有任务都流出流水线之 后,才能重新连接以实现其他功能。
在静态流水线中,只有当输入是一串相同的运算操作时 ,流水的效率才能得到发挥。
动画演示
动态流水线:
在同一时间内,多功能流水线各段可以按不同方式连接 ,同时执行多种功能
相关文档
最新文档