第三章
流水线技术
3.1 重叠执行和先行控制
3.1.1 重叠执行
Ø 将一条指令的执行过程分为三个阶段
取指令
分 析
执 行
时间t
一条指令的执行过程
Computer Architecture
3.1 重叠执行和先行控制
– 取指令
– 指令分析
– 指令执行
• 按照指令计数器PC的内容访问主存,取出一
条指令送到指令寄存器。
• 对指令的操作码进行译码,按照给定的寻址
方式和地址字段形成操作数的地址,并用这
个地址读取操作数。
• 按照操作码的要求,完成指令规定的功能。
在指令的执行过程中还要更新PC值,为读取
下一条指令做好准备。
Computer Architecture
3.1 重叠执行和先行控制
Ø 三种执行方式
§ 顺序执行方式
§ 一次重叠执行方式
§ 二次重叠执行方式
Computer Architecture
3.1 重叠执行和先行控制
顺序执行方式
指令的执行过程
取指令k 分析 k 执行 k 取指令 k+1 分析 k+1 执行 k+1
– 执行 n 条指令所花的时间
T
n
i
1
(
t
取指令
i
t
分析
i
t
执行
i
)
Computer Architecture
3.1 重叠执行和先行控制
§ 如果取指令、指令分析和指令执行的时间
相等,都是 t,则
T = 3nt
§ 优点
控制简单
§ 主要缺点
处理机执行指令的速度慢
功能部件的利用率很低
Computer Architecture
3.1 重叠执行和先行控制
一次重叠执行方式
指令的执行过程
取指令 k 分析 k 执行 k
取指令 k+1 分析k+1 执行 k+1
取指令 k+2 分析k+2 执行k+2
执行第k条指令与取第k+l条指令同时进行。
(一种最简单的重叠方式)
Computer Architecture
3.1 重叠执行和先行控制
§ 如果执行一条指令的3个阶段的时间相等,
都是 t,则执行 n 条指令所花的时间为
T = (1+2n)t
§ 优点
程序的执行时间减少了近1/3。
功能部件的利用率明显提高。
§ 缺点
需要增加一些硬件,控制过程变复杂了。
Computer Architecture