第5章计算机流水线技术.ppt
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 流水线处理技术
5.1 流水处理概述 5.2 流水线工作方式 5.3 流水线性能分析 5.4 超标量超流水计算机 5.5 向量处理机器
5.1 流水线处理概述
一、CPU主要工作方式: ➢ 顺序 ➢ 重叠 ➢ 流水
和铺地板的原理相似…
5.1 流水线处理概述
设指令工作方式分成取指令、分析、执行指令
分析k
执行k 分析k+1
执行k+1 分析k+2
执行k+2
✓多操作部件并行:采用有多个功能部件的处理机,把ALU的 多种功能分散到几个具有专门功能的部件中,这些功能部件可 以并行工作,使指令流出速度大大提高。
取指令 分析 执行
n
T (t取i t分i t执i) i1 3n t
T0=m △ t0 n △ t0
(n-1) △ t0
(m-1) △ t0
T
流水时空图
时间
建立时间:在流水线开始时有一段流水线填入时间,使得流 水线填满。
正常流动时间:流水线正常工作,各功能段源源不断满载工 作。
排空时间:在流水线第一条指令结束时,其他指令还需要一 段释放时间。
2、流水线特点: 1)流水一定重叠,比重叠更苛刻。 2)一条流水线通常有多个流水段组成。 3)每段有专用功能部件,各部件顺序连接,不断流。 4)流水线有建立时间、满载时间、排空时间, 5)各段时间尽量短、一致;不一致时最慢子过程为瓶颈。 6)给出指标如最大吞吐率,为满负载最佳指标。
4
1 2 3 4 5 ... ... ... n-1 n
3
1 2 3 4 5 ... ... ... n-1 n
2 1 2 3 4 5 ... ... ... n-1 n 1 1 2 3 4 5 ... ... ... n-1 n
一 二三四五六七
动态多功能流水线时-空图
时间
区别:如果从软硬功能分配的观点上来看,静态流水线其实 是把功能负担较多地加到软件上,以简化硬件,动态流水线 则是把功能负担较多地加在硬件上,以提高流水的效能。
分段部件 存储管理部件 分页部件
取指令1 取指令2 取指令3 取指令4 存结果1 取指令5 取指令6
指令译码器1 指令译码2 指令译码3 指令译码4 指令译码5
执行1
执行2
执行3
执行4
地址变换和MMU
80386的指令流水处理
地址变换和MMU
相关处理
定义 :相近指令出现某种关联使不能同时执行。
➢资源相关 ➢数据相关 ➢控制相关
执行k 分析k+1
执行k+1 分析k+2
功能部件浪费 执行k+2
分析指令和执行指令时间不等时的一次重叠方式
分析k
分析k+1 执行k
分析k +2 执行k+1
分析k+3 执行k +2
采用先行缓冲栈时指令执行过程的一种表示方法
执行k+3
先行控制:
一般采用先行缓冲栈的方式实现:
一般设置四种缓冲栈:
➢先行指令缓冲栈 当主存比较忙时,指令分析器能够从先行指令缓冲栈中得到所需指令。
SBI
I/O子系统
I部件 存储器数 M部件 适配器总线 据总线
F部件
写总线
操作数总线
数组总线 主存
选件SBI
适配器
SBI
I/O子系统
VAX8600的CPU结构图
取指 N-1 令
N-2
N-1
N-2
N+1
N+2
指令 译码
N+1
N+2
形成操作
数地址
N-1
N+1
取操 N-1 作数
实框:表示CPU在执行一
条典型的指令时的动作顺
若各段时间不等时,有
实际执行时间:
n
T t分1 max t分i , t执i1 t执n
i2
✓先行控制:分析部件和执行部件能分别连续不断地分析和执 行指令,预取和缓冲相结合的技术 ,通过对指令流和数据流的 先行控制,使指令分析器和执行部件能尽量连续并行工作。 执行时间:
包括一次重叠、先行控制技术和多操作部件并行。
✓将 相 邻 两 条 指 令 的 重 叠 时 间 再 往 前 提 前 一 个 阶 段 ; T=3×t+(n-1)×t=(n+2)×t
✓ 一次重叠:把取指令操作隐含在分析、执行指令过程
中,则在任何时候只允许上条指令“执行”与下条指令
“分析”相重叠。
T=(n+1)×t
另一种分类: ➢局部相关 ➢全局相关
1. 资源相关
资源相关是指当有多条指令进入流水线后在同一机器周期内 争用同一功能部件所发生的冲突
例1:
X 6 X 1 X 2 两条指令同时要用一个加法器 X5 X3 X4
指令 流水段
IF
ALU 取指
LOAD/STORE 取指
ID
译码、读寄存器堆
译码、读寄存器堆
MEM WB EX MEM
使i+3指令停顿一拍进入流水线,以解决访存相关 或重复设置一个存储器
2. 数据相关
例:有i 和j两条指令,i指令在前,j指令在后,则三种不同类
型的数据相关的含义为:
顺序
流动
✓RAW读写(先写后读) - 指令 j 试图在指令 i 写入寄存器前就
读出该寄存器内容,这样,指令j就会错误地读出该寄存器旧
则此时有:
L1t1 = (L1-D1)t2
可以计算深度:
D1
L2
(t2 t2
t1
)
5.2、流水工作方式
1、流水的概念特点
流水:把一个重复时序过程分成若干个子过程,每个子过程 都可有效的在其专用功能段上和其它子过程同时执行 的一种技术。
流水线的基本结构中主要包括三大部分:锁存器、时钟、功 能站。
入该寄存器,这样,两次写的先后次序被颠倒,就会错误地
使由指令i写入的值成为该寄存器内容。
(改改相关) i: R1*R2->R3 j: R4+R5->R3
通过一种极端情况计算举例:
假设先行指令缓冲栈已经完全充满,缓冲深度是D1。 此时指令缓冲栈输出端,指令流出速度最快,而输入端,流 入最慢
假设指令序列的最大长度是L1,平均分析一条指令的时间是t1 而此时更坏的是取指令很慢,平均取一条指令的时间是t2 假设先行控制栈充满到被取空的过程中指令分析条数是L1
分析k 执行k
分析k+1
执行k+1
分析k+2
执行k+2
n
T t分1 max t分i , t执i1 t执n
i2
n t
先行控制:
现代计算机指令系统是复杂的,“分析”和“执行”所需要的时间往往相差 很大,从而造成功能部件的浪费,因此,需要采用先行控制技术。
分析k
5 WB MEM
EX ID IF
6
WB MEM EX
ID
7
WB MEM EX
8
WB MEM
两条指令同时访存造成资源相关
冲突
解决方法:
时12 3 4
5
6
7
8
9
钟
指令
Load I ID EX MEM WB 指令 F
指令 i+1
指令 i+2
指令 i+3
指令 i+4
IF ID EX MEM WB IF ID EX MEM WB 停顿 IF ID EX IF ID
N-1
序。
虚线:表示6个动作是各自 分开进行的,可以同其它 指令的动作并行进行。
N+2
N+1 执行 指令
N-1
周期 操作
N+1
存储
结果
N+1
VAX8600指令流水线的工作顺序
(2)长城386指令流水线 内部有六个部件 总线接口部件:同外部的接口 取指令、读写数据。
I部件: 指令预取部件:取指令放在 16个字节指令预取队列。 指令译码部件:形成指令微码,指令队列中可放3条指令 E部件: 执行部件:控制、数据部件、保护测试部件
的内容。 (改用相关) i: R1+R2->R3
不按顺
j: R3*R4->R5 序流动
✓WAR写读(先读后写) - 指令 j 试图在指令 i读出寄存器之前
就写入该寄存器,这样,指令i就错误地读得该寄存器新的内
容。
不按顺
(用改相关)i: R3*R4->R5 j: R1+R2->R3 序流动
✓WAW写写(先写后写) - 指令j试图在指令i写寄存器之前就写
EX
执行
计算访存有效地址
MEM
-
访存(读或写)
WB
结果写回寄存器堆
将读出的数据写入寄
存器堆
不同类型指令中各流水段进行的操作
例2: 取指 译码 执行 访存 写回
时钟 1 2 3 4
指令
Load 指令
指令 i+1
指令 i+2
指令 i+3
指令 i+4
IF ID EX MEM IF ID EX IF ID IF
➢先行操作栈
对于条件转移等使用。
➢先行读书栈
主存储器和运算器之间的缓冲存储器,用来平缓运算器和主存储器之间的工作。
➢后行写数栈 当前没有完全写道主存的数据可以暂存到写数栈
先行控制的处理机结构:
存
先行指令缓冲栈
主
储
存
控
储
制
先行读数栈
器
器
后行写书栈
指令分析器
通
用
寄
存
运算器
器
先行控制中的缓冲深度设计:
一二 三 四
静态多功能流水线时-空图
时间
静态流水线:只有当进入的是一串相同运算的指令时,流水的 效能才得以发挥,才能使各个功能段并行地对多条指令的数据 进行流水处理。
浮加
定乘
8
1 2 3 4 5 ... ... ... n-1 n 一 二 三 四
7
一 二三四五
6
一 二三四五六
5
1 2 3 4 5 ... ... ... n-1 n
3、流水的分级、分类
静态流水线:(功能负担软件多,便宜)。 同一时间内各功能段只能按一种方式联接工作,只有当进入 的是一串相同运算指令时,流水线中各功能段才能高效满负 荷工作。
动态流水线:(功能负担硬件多,高效) 。 同一时间内各功能段可按不同运算或功能的联接方式工作, 对吞吐率和设备利用率都有好处,但控制复杂,成本明显增 加。
S2
….. .….
输出 Sk
时钟
流水线的基本结构
空间
填入
正常
排空
4 1 2 3 4 5 ... ... ... n-1 n
3
1 2 3 4 5 ... ... ... n-1 n
2 1 2 3 4 5 ... ... ... n-1 n
1 1 2 3 4 5 ... ... ... n-1 n
△t0 △ t0 △ t0 △ t0
3、流水的分级、分类
线性流水线:
入
1
2
3
非线性流水线 非线性流水线:
入 1
2
3
非线性流水线
4
出
4 出
4、流水线举例 (1)ASC算术运算流水线(多功能) 加
1 输入
1
输入
Fra Baidu bibliotek
1
2 减阶
2
减阶
3 对阶移位
3 对阶移位
4 相加
4
相加
5 规格化
5 规格化
6 相乘
6
7 累加
7
8 输出
8
输出
8
浮点加
乘 输入
尾数相 乘 累加 输出
取指令
分析
执行
每阶段时间为t,共n条指令 。。。
n
顺序串行(sequence): T (t取i t分i t执i) i 1
若各阶段执行时间相等,则共需3 n t
优点:控制简单; 缺点:速度慢,机器各部件的利用率很低。
重叠(Overlap):在两条相近指令的解释过程中,某些不同解释 阶段在时间上存在重叠部分。
2.VAX8600和长城386计算机的指令流水线
指令流水线:一条指令的取指令、译码、取操作数和执 行等几个过程能同它前后的指令在时间上重叠,用这种 指令重叠的方法构成的流水线就是指令流水线,又叫指 令先行控制。
(1)VAX8600的流水结构 a. I部件:预取指令,操作码译码,预取操作数,并存放运算结
果。 b. E部件:执行指令。 c. F部件;浮点加速器。 d. M部件:控制CPU和输入输出设备对主存的访问,有16k字节
的cache和把虚存地址转换成实存地址的地址转换表(快表) e. 操作台:提供同操作员,引导设备和远程诊断的界面。
C总线 诊断总线
操作台
E部件
虚拟地址
标准SBI 适配器
定点乘
空间 (段号)
浮加
定乘
8
1 2 3 4 ... ... ... n-1 n
一
7
一二
6
一二三
5
1 2 3 4 ... ... ... n-1 n
4
1 2 3 4 ... ... ... n-1 n
3
1 2 3 4 ... ... ... n-1 n
2 1 2 3 4 ... ... ... n-1 n 1 1 2 3 4 ... ... ... n-1 n
3、流水的分级、分类
分级:(处理的级别分类) ❖ 部件级:将复杂的算逻运算组成流水工作方式; ❖ 指令级:把一条指令解释过程分成多个子过程 ; ❖ 处理机级:每个处理机完成某一专门任务,各个处理机所 得到的结果需存放在与下一个处理机所共享的存储器中
其他分类: ➢ 功能:单功能流水线(如CRAY-1)、多功能流水线 (如TI-ASC) ➢ 工作方式:静态流水线、动态流水线 ➢ 连接方式:线性、非线性 ➢ 处理数据:标量流水、向量流水
流水线中每个站都是由一些执行算术和逻辑功能的组合逻辑 线路组成的,它们可以互相独立地对流过的信息进行某种操作, 相邻两站由高速锁存器(latch)隔开,信息在各站间的流动 靠同时送到各站的时钟信号来控制。
输入
IF 取指
S1
ID 译码
EX 执行
MEM 访存
S2
S3
S4
指令的流水处理
WB 写回
S5
输出
输入 S1
5.1 流水处理概述 5.2 流水线工作方式 5.3 流水线性能分析 5.4 超标量超流水计算机 5.5 向量处理机器
5.1 流水线处理概述
一、CPU主要工作方式: ➢ 顺序 ➢ 重叠 ➢ 流水
和铺地板的原理相似…
5.1 流水线处理概述
设指令工作方式分成取指令、分析、执行指令
分析k
执行k 分析k+1
执行k+1 分析k+2
执行k+2
✓多操作部件并行:采用有多个功能部件的处理机,把ALU的 多种功能分散到几个具有专门功能的部件中,这些功能部件可 以并行工作,使指令流出速度大大提高。
取指令 分析 执行
n
T (t取i t分i t执i) i1 3n t
T0=m △ t0 n △ t0
(n-1) △ t0
(m-1) △ t0
T
流水时空图
时间
建立时间:在流水线开始时有一段流水线填入时间,使得流 水线填满。
正常流动时间:流水线正常工作,各功能段源源不断满载工 作。
排空时间:在流水线第一条指令结束时,其他指令还需要一 段释放时间。
2、流水线特点: 1)流水一定重叠,比重叠更苛刻。 2)一条流水线通常有多个流水段组成。 3)每段有专用功能部件,各部件顺序连接,不断流。 4)流水线有建立时间、满载时间、排空时间, 5)各段时间尽量短、一致;不一致时最慢子过程为瓶颈。 6)给出指标如最大吞吐率,为满负载最佳指标。
4
1 2 3 4 5 ... ... ... n-1 n
3
1 2 3 4 5 ... ... ... n-1 n
2 1 2 3 4 5 ... ... ... n-1 n 1 1 2 3 4 5 ... ... ... n-1 n
一 二三四五六七
动态多功能流水线时-空图
时间
区别:如果从软硬功能分配的观点上来看,静态流水线其实 是把功能负担较多地加到软件上,以简化硬件,动态流水线 则是把功能负担较多地加在硬件上,以提高流水的效能。
分段部件 存储管理部件 分页部件
取指令1 取指令2 取指令3 取指令4 存结果1 取指令5 取指令6
指令译码器1 指令译码2 指令译码3 指令译码4 指令译码5
执行1
执行2
执行3
执行4
地址变换和MMU
80386的指令流水处理
地址变换和MMU
相关处理
定义 :相近指令出现某种关联使不能同时执行。
➢资源相关 ➢数据相关 ➢控制相关
执行k 分析k+1
执行k+1 分析k+2
功能部件浪费 执行k+2
分析指令和执行指令时间不等时的一次重叠方式
分析k
分析k+1 执行k
分析k +2 执行k+1
分析k+3 执行k +2
采用先行缓冲栈时指令执行过程的一种表示方法
执行k+3
先行控制:
一般采用先行缓冲栈的方式实现:
一般设置四种缓冲栈:
➢先行指令缓冲栈 当主存比较忙时,指令分析器能够从先行指令缓冲栈中得到所需指令。
SBI
I/O子系统
I部件 存储器数 M部件 适配器总线 据总线
F部件
写总线
操作数总线
数组总线 主存
选件SBI
适配器
SBI
I/O子系统
VAX8600的CPU结构图
取指 N-1 令
N-2
N-1
N-2
N+1
N+2
指令 译码
N+1
N+2
形成操作
数地址
N-1
N+1
取操 N-1 作数
实框:表示CPU在执行一
条典型的指令时的动作顺
若各段时间不等时,有
实际执行时间:
n
T t分1 max t分i , t执i1 t执n
i2
✓先行控制:分析部件和执行部件能分别连续不断地分析和执 行指令,预取和缓冲相结合的技术 ,通过对指令流和数据流的 先行控制,使指令分析器和执行部件能尽量连续并行工作。 执行时间:
包括一次重叠、先行控制技术和多操作部件并行。
✓将 相 邻 两 条 指 令 的 重 叠 时 间 再 往 前 提 前 一 个 阶 段 ; T=3×t+(n-1)×t=(n+2)×t
✓ 一次重叠:把取指令操作隐含在分析、执行指令过程
中,则在任何时候只允许上条指令“执行”与下条指令
“分析”相重叠。
T=(n+1)×t
另一种分类: ➢局部相关 ➢全局相关
1. 资源相关
资源相关是指当有多条指令进入流水线后在同一机器周期内 争用同一功能部件所发生的冲突
例1:
X 6 X 1 X 2 两条指令同时要用一个加法器 X5 X3 X4
指令 流水段
IF
ALU 取指
LOAD/STORE 取指
ID
译码、读寄存器堆
译码、读寄存器堆
MEM WB EX MEM
使i+3指令停顿一拍进入流水线,以解决访存相关 或重复设置一个存储器
2. 数据相关
例:有i 和j两条指令,i指令在前,j指令在后,则三种不同类
型的数据相关的含义为:
顺序
流动
✓RAW读写(先写后读) - 指令 j 试图在指令 i 写入寄存器前就
读出该寄存器内容,这样,指令j就会错误地读出该寄存器旧
则此时有:
L1t1 = (L1-D1)t2
可以计算深度:
D1
L2
(t2 t2
t1
)
5.2、流水工作方式
1、流水的概念特点
流水:把一个重复时序过程分成若干个子过程,每个子过程 都可有效的在其专用功能段上和其它子过程同时执行 的一种技术。
流水线的基本结构中主要包括三大部分:锁存器、时钟、功 能站。
入该寄存器,这样,两次写的先后次序被颠倒,就会错误地
使由指令i写入的值成为该寄存器内容。
(改改相关) i: R1*R2->R3 j: R4+R5->R3
通过一种极端情况计算举例:
假设先行指令缓冲栈已经完全充满,缓冲深度是D1。 此时指令缓冲栈输出端,指令流出速度最快,而输入端,流 入最慢
假设指令序列的最大长度是L1,平均分析一条指令的时间是t1 而此时更坏的是取指令很慢,平均取一条指令的时间是t2 假设先行控制栈充满到被取空的过程中指令分析条数是L1
分析k 执行k
分析k+1
执行k+1
分析k+2
执行k+2
n
T t分1 max t分i , t执i1 t执n
i2
n t
先行控制:
现代计算机指令系统是复杂的,“分析”和“执行”所需要的时间往往相差 很大,从而造成功能部件的浪费,因此,需要采用先行控制技术。
分析k
5 WB MEM
EX ID IF
6
WB MEM EX
ID
7
WB MEM EX
8
WB MEM
两条指令同时访存造成资源相关
冲突
解决方法:
时12 3 4
5
6
7
8
9
钟
指令
Load I ID EX MEM WB 指令 F
指令 i+1
指令 i+2
指令 i+3
指令 i+4
IF ID EX MEM WB IF ID EX MEM WB 停顿 IF ID EX IF ID
N-1
序。
虚线:表示6个动作是各自 分开进行的,可以同其它 指令的动作并行进行。
N+2
N+1 执行 指令
N-1
周期 操作
N+1
存储
结果
N+1
VAX8600指令流水线的工作顺序
(2)长城386指令流水线 内部有六个部件 总线接口部件:同外部的接口 取指令、读写数据。
I部件: 指令预取部件:取指令放在 16个字节指令预取队列。 指令译码部件:形成指令微码,指令队列中可放3条指令 E部件: 执行部件:控制、数据部件、保护测试部件
的内容。 (改用相关) i: R1+R2->R3
不按顺
j: R3*R4->R5 序流动
✓WAR写读(先读后写) - 指令 j 试图在指令 i读出寄存器之前
就写入该寄存器,这样,指令i就错误地读得该寄存器新的内
容。
不按顺
(用改相关)i: R3*R4->R5 j: R1+R2->R3 序流动
✓WAW写写(先写后写) - 指令j试图在指令i写寄存器之前就写
EX
执行
计算访存有效地址
MEM
-
访存(读或写)
WB
结果写回寄存器堆
将读出的数据写入寄
存器堆
不同类型指令中各流水段进行的操作
例2: 取指 译码 执行 访存 写回
时钟 1 2 3 4
指令
Load 指令
指令 i+1
指令 i+2
指令 i+3
指令 i+4
IF ID EX MEM IF ID EX IF ID IF
➢先行操作栈
对于条件转移等使用。
➢先行读书栈
主存储器和运算器之间的缓冲存储器,用来平缓运算器和主存储器之间的工作。
➢后行写数栈 当前没有完全写道主存的数据可以暂存到写数栈
先行控制的处理机结构:
存
先行指令缓冲栈
主
储
存
控
储
制
先行读数栈
器
器
后行写书栈
指令分析器
通
用
寄
存
运算器
器
先行控制中的缓冲深度设计:
一二 三 四
静态多功能流水线时-空图
时间
静态流水线:只有当进入的是一串相同运算的指令时,流水的 效能才得以发挥,才能使各个功能段并行地对多条指令的数据 进行流水处理。
浮加
定乘
8
1 2 3 4 5 ... ... ... n-1 n 一 二 三 四
7
一 二三四五
6
一 二三四五六
5
1 2 3 4 5 ... ... ... n-1 n
3、流水的分级、分类
静态流水线:(功能负担软件多,便宜)。 同一时间内各功能段只能按一种方式联接工作,只有当进入 的是一串相同运算指令时,流水线中各功能段才能高效满负 荷工作。
动态流水线:(功能负担硬件多,高效) 。 同一时间内各功能段可按不同运算或功能的联接方式工作, 对吞吐率和设备利用率都有好处,但控制复杂,成本明显增 加。
S2
….. .….
输出 Sk
时钟
流水线的基本结构
空间
填入
正常
排空
4 1 2 3 4 5 ... ... ... n-1 n
3
1 2 3 4 5 ... ... ... n-1 n
2 1 2 3 4 5 ... ... ... n-1 n
1 1 2 3 4 5 ... ... ... n-1 n
△t0 △ t0 △ t0 △ t0
3、流水的分级、分类
线性流水线:
入
1
2
3
非线性流水线 非线性流水线:
入 1
2
3
非线性流水线
4
出
4 出
4、流水线举例 (1)ASC算术运算流水线(多功能) 加
1 输入
1
输入
Fra Baidu bibliotek
1
2 减阶
2
减阶
3 对阶移位
3 对阶移位
4 相加
4
相加
5 规格化
5 规格化
6 相乘
6
7 累加
7
8 输出
8
输出
8
浮点加
乘 输入
尾数相 乘 累加 输出
取指令
分析
执行
每阶段时间为t,共n条指令 。。。
n
顺序串行(sequence): T (t取i t分i t执i) i 1
若各阶段执行时间相等,则共需3 n t
优点:控制简单; 缺点:速度慢,机器各部件的利用率很低。
重叠(Overlap):在两条相近指令的解释过程中,某些不同解释 阶段在时间上存在重叠部分。
2.VAX8600和长城386计算机的指令流水线
指令流水线:一条指令的取指令、译码、取操作数和执 行等几个过程能同它前后的指令在时间上重叠,用这种 指令重叠的方法构成的流水线就是指令流水线,又叫指 令先行控制。
(1)VAX8600的流水结构 a. I部件:预取指令,操作码译码,预取操作数,并存放运算结
果。 b. E部件:执行指令。 c. F部件;浮点加速器。 d. M部件:控制CPU和输入输出设备对主存的访问,有16k字节
的cache和把虚存地址转换成实存地址的地址转换表(快表) e. 操作台:提供同操作员,引导设备和远程诊断的界面。
C总线 诊断总线
操作台
E部件
虚拟地址
标准SBI 适配器
定点乘
空间 (段号)
浮加
定乘
8
1 2 3 4 ... ... ... n-1 n
一
7
一二
6
一二三
5
1 2 3 4 ... ... ... n-1 n
4
1 2 3 4 ... ... ... n-1 n
3
1 2 3 4 ... ... ... n-1 n
2 1 2 3 4 ... ... ... n-1 n 1 1 2 3 4 ... ... ... n-1 n
3、流水的分级、分类
分级:(处理的级别分类) ❖ 部件级:将复杂的算逻运算组成流水工作方式; ❖ 指令级:把一条指令解释过程分成多个子过程 ; ❖ 处理机级:每个处理机完成某一专门任务,各个处理机所 得到的结果需存放在与下一个处理机所共享的存储器中
其他分类: ➢ 功能:单功能流水线(如CRAY-1)、多功能流水线 (如TI-ASC) ➢ 工作方式:静态流水线、动态流水线 ➢ 连接方式:线性、非线性 ➢ 处理数据:标量流水、向量流水
流水线中每个站都是由一些执行算术和逻辑功能的组合逻辑 线路组成的,它们可以互相独立地对流过的信息进行某种操作, 相邻两站由高速锁存器(latch)隔开,信息在各站间的流动 靠同时送到各站的时钟信号来控制。
输入
IF 取指
S1
ID 译码
EX 执行
MEM 访存
S2
S3
S4
指令的流水处理
WB 写回
S5
输出
输入 S1