在一个5段的流水线处理机上需经9t才能完成一个任务参考课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A1(n)= A2(n+1) A1(n)= A3(n+1) 解决办法: 运算结果写到通用寄存器,而不写到主存 对于访问主存储器的请求,写结果的优先级高于读操 作数。
7
分 析 k
执 行 k 分 析 k+1
读 主 存 A1单 元 请 求
结 果 写 主 存 A1单 元 的 请 求
分 析 k+1(推 后 ) 执 行 k+1
如果在处理机中设置有指令先行缓冲栈,则要全部或 部分作废先行指令缓冲栈中的指令。
13
如果转移目标指令L不在先行指令缓冲栈中,则要将先行指令 缓冲栈中的所有指令全部作废,并等待取出转移目标指令L。
如果转移目标指令L在先行指令缓冲栈中,只要作废先行指令 缓冲栈中的部分指令。
无条件转移指令一般对指令执行部件的工作不会造成影响。 为进一步减少无条件转移指令造成的影响,在先行指令缓冲栈
9
通用寄存器堆
通用寄存器堆
多路选择器
多路选择器
相wk.baidu.com专用通路
运算器
锁存器
锁存器
运算器
一种典型的运算器结构
设置专用数据通路解决通用寄存器数据相关
方法二:建立相关专用通路(ByPass) 由于发生寄存器数据相关的情况很普遍,一般计算机
系统都采用专用数据通路。 把读通用寄存器、执行操作和写结果分为3个周期,
则发生LOAD数据相关。 • 解决方法:
11
K:
ADD读R1开始 LOAD写R1完成
IF
ID
EX
WR
K+1:
IF
ID
EX
WR
IF:取指令,ID指令译码,EX:执行,WR:写回结果
方法一:由编译器在LOAD之后插入不发生数据相 关的指令,由于LOAD的执行时间不确定,不能 根本解决问题
方法二:由硬件自动插入空操作,直到LOAD操作 完成
中执行完成。
5
解决指令相关的根本办法是: 在程序执行过程中不允许修改指令。
现代程序设计方法要求程序具有再入性,可以被递归 调用等,也要求不修改指令。
在IBM370系列机中,用“执行指令”来解决:在程序 执行过程中既能够修改指令,程序又具有再入性。
0
7 8 1 1 1 2 1 5 1 6 1 9 2 0
在单条流水线处理机中,也可以停止节拍发生器, 直到数据从存储器中读出为止。
12
5.3.2 控制相关
因程序的执行方向可能被改变而引起的相关,也称为 全局相关。
主要包括:无条件转移、一般条件转移、复合条件转 移、中断等。
1. 无条件转移
在流水线处理机中,无条件转移指令不进入执行流水 段,一般在指令译码阶段就实际执行完成。
E X ( 执 行 ) R 1 X 2 B 2
D 2
3 1
“执行指令”执行由第二地址((X2)+(B2)+D2)决定的 主存数据区中的指令。
6
2.主存操作数相关
发生主存操作数相关的指令序列: n:OP A1,A2,A3 ;A1=(A2) OP (A3)
n+1:OP A1,A2,A3 ;A1=(A2) OP (A3) 出现下列情况之一,就发生主存操作数相关:
的入口处增设一个专门处理无条件转移指令的指令分析器 P270
8
解决通用寄存器数据相关的方法: 方法一:把读操作数、写运算结果与指令执行合在一
个节拍。 从数据从通用寄存器读出,在运算器中完成运算, 结果写回通用寄存器的整个回路中,只有通用寄存 器是时序逻辑。在通用寄存器到运算器之间建立直 接数据通路,即不设置缓冲寄存器或锁存器,则不 会发生通用寄存器数据相关。 这种情况下,实际上不需要分析周期,在一个节拍 中就可以完成从通用寄存器中通过两个多路选择器 分别读操作数到通用寄存器。
存 储 控 制 器 的 排 队 器 先 响 应 写 主 存 请 求 时 间 t
3. 通用寄存器数据相关
发生寄存器数据相关的可能性很大,影响面也很

n:OP R1,A2 ;R1=(R1) OP (A2) n+1:OP R1,R2 ;R1=(R1) OP (R2) 发生R1(n)=R1(n+1)称为R1数据相关。 发生R1(n)=R2(n+1)称为R2数据相关。
控制相关:由条件分支指令、转子程序指令、中断等引起的相 关。
解决数据相关的方法有两种: 推后处理 设置专用路径。
3
1.指令相关
发生指令相关的情况: n: STORE R1, n+1 n+1: …… 满足关系: 结果地址(n)=指令地址(n+1)
当第n条指令还没有把执行结果写到主存之前,取出 的第n+1条指令显然是错误的。
1
5.3 相关性分析技术
5.3.1 数据相关 5.3.2 控制相关 5.3.3 条件分支对流水线的影响 5.3.4 静态分支预测技术 5.3.5 动态分支预测技术 5.3.6 提前形成条件码 5.3.7 精确断点与不精确断点
2
5.3.1 数据相关
数据相关:在执行本条指令的过程中,如果用到的指令、操作 数、变址量等是前面指令的执行结果,这种相关称为数据 相关。
在一个5段的流水线处理机上需经9t才能完成一个任务, 各段执行时间均为t,任务处理过程对各段使用时间的 预约表如下:
时间 功能段
1
2
3
4
5
6
7
8
9
S1
X
X
S2
XX
S3
X
XX
S4
XX
S5
XX
画出流水线的状态图,并由状态图得出流水线的最优 调度策略和最大吞吐率。
按最优调度策略输入6个任务,求流水线的实际吞吐率、 加速比和效率。
在k个流水段的流水线处理机中,第n条指令要修改从 第n+1到第n+ k 指令中的任意一条指令,都可能造 成程序执行结果发生错误。
4
在采用先行控制方式的处理机中,如果执行部件正在 执行第n条指令,与下述情况之一发生相关,都可 能造成程序执行结果发生错误。
存放在先行操作栈中的指令 正在指令分析器中分析的指令 已经预取到先行指令缓冲栈中的指令 指令执行结果还在后行缓冲栈中的指令 更严重的是:有些分支指令,可能已经在指令分析器
或2个周期。 采用专用数据通路能够缩短1至2个周期。
10
变址相关:在采用变址寻址方式的处理机中,由于变 址量放在寄存器中,因此,可能发生与通用寄存器 数据相关类似变址相关
4. LOAD相关
• LOAD操作的执行时间可能比较长 n: LOAD R1, A ;R1=(A)
n+1: ADD R1, R2 ;R1=(R1) OP (R2) • 如果 R1(n)=R2(n+1),或 R1(n)=R1(n+1),
相关文档
最新文档