- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 流水线处理技术;5.1 流水线处理概述;5.1 流水线处理概述;重叠(Overlap):在两条相近指令的解释过程中,某些不同解释阶段在时间上存在重叠部分。
包括一次重叠、先行控制技术和多操作部件并行。 ;先行控制:分析部件和执行部件能分别连续不断地分析和执行指令,预取和缓冲相结合的技术 ,通过对指令流和数据流的先行控制,使指令分析器和执行部件能尽量连续并行工作。
执行时间:;;先行控制:
现代计算机指令系统是复杂的,“分析”和“执行”所需要的时间往往相差很大,从而造成功能部件的浪费,因此,需要采用先行控制技术。;先行控制:
一般采用先行缓冲栈的方式实现:
一般设置四种缓冲栈:
先行指令缓冲栈 当主存比较忙时,指令分析器能够从先行指令缓冲栈中得到所需指令。
先行操作栈 对于条件转移等使用。
先行读书栈 主存储器和运算器之间的缓冲存储器,用来平缓运算器和主存储器之间的工作。
后行写数栈
当前没有完全写道主存的数据可以暂存到写数栈;先行控制的处理机结构:;先行控制中的缓冲深度设计:
通过一种极端情况计算举例:
假设先行指令缓冲栈已经完全充满,缓冲深度是D1。
此时指令缓冲栈输出端,指令流出速度最快,而输入端,流入最慢
假设指令序列的最大长度是L1,平均分析一条指令的时间是t1
而此时更坏的是取指令很慢,平均取一条指令的时间是t2
假设先行控制栈充满到被取空的过程中指令分析条数是L1
则此时有: L1t1 = (L1-D1)t2
可以计算深度:
;1、流水的概念特点;S1;...;2、流水线特点:
1)流水一定重叠,比重叠更苛刻。
2)一条流水线通常有多个流水段组成。
3)每段有专用功能部件,各部件顺序连接,不断流。
4)流水线有建立时间、满载时间、排空时间,
5)各段时间尽量短、一致;不一致时最慢子过程为瓶颈。
6)给出指标如最大吞吐率,为满负载最佳指标。;3、流水的分级、分类;3、流水的分级、分类;3、流水的分级、分类;(1)ASC算术运算流水线(多功能);...;...;(1)VAX8600的流水结构
a. I部件:预取指令,操作码译??,预取操作数,并存放运算结果。
b. E部件:执行指令。
c. F部件;浮点加速器。
d. M部件:控制CPU和输入输出设备对主存的访问,有16k字节的cache和把虚存地址转换成实存地址的地址转换表(快表)
e. 操作台:提供同操作员,引导设备和远程诊断的界面。 ;操作台;取指令;(2)长城386指令流水线
内部有六个部件
总线接口部件:同外部的接口 取指令、读写数据。
I部件:
指令预取部件:取指令放在 16个字节指令预取队列。
指令译码部件:形成指令微码,指令队列中可放3条指令
E部件:
执行部件:控制、数据部件、保护测试部件
分段部件
分页部件;相关处理
定义 :相近指令出现某种关联使不能同时执行。
资源相关
数据相关
控制相关
另一种分类:
局部相关
全局相关;1. 资源相关;两条指令同时访存造成资源相关;EX;例:有i 和j两条指令,i指令在前,j指令在后,则三种不同类型的数据相关的含义为:
RAW读写(先写后读) - 指令 j 试图在指令 i 写入寄存器前就读出该寄存器内容,这样,指令j就会错误地读出该寄存器旧的内容。
(改用相关) i: R1+R2->R3 j: R3*R4->R5
WAR写读(先读后写) - 指令 j 试图在指令 i读出寄存器之前就写入该寄存器,这样,指令i就错误地读得该寄存器新的内容。
(用改相关)i: R3*R4->R5 j: R1+R2->R3
WAW写写(先写后写) - 指令j试图在指令i写寄存器之前就写入该寄存器,这样,两次写的先后次序被颠倒,就会错误地使由指令i写入的值成为该寄存器内容。
(改改相关) i: R1*R2->R3 j: R4+R5->R3;例1:如果流水线要执行以下的两条指令
X1=X2+X3
X4=X1-X5;解决办法主要用软件和硬件技术:
时间推后法(延迟执行)
旁路技术或相关专用通路技术;IF ;IF ;ALU
运算结果;定义:
由条件转移或者程序中断引起的相关成为全局相关。
控制转移冲突:无条件转移和条件转移引起的
(转移指令概率占1/4左右,不可忽视)
中断虽然比例不大,但是中断发生在哪一条指令,哪一个功能段都是不确定的。
因此,处理好条件转移和中断引起的全局相
文档评论(0)