标量处理机PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.主存操作数相关 例如:k: add [0001],ax k+1: mov bx, [0001]
2019/8/20
第五章 标量处理机
第8 页
5.1 先行控制技术
在现代计算机中,中间结果一般写入寄存器,所以该类 相关发生不多。 解决方法:推后分析法。
2019/8/20
第五章 标量处理机
第9 页
5.1 先行控制技术
2019/8/20
第五章 标量处理机
第2 页
5.1 先行控制技术
2019/8/20
第五章 标量处理机
第3 页
5.1 先行控制技术
二、先行控制技术 上面的处理存在两个问题: 问题一: 在上面的讨论中有一个重要假设:每个阶段的执行 时间都为n。如果不等,则有些阶段会出现空闲。 问题二: 主存访问冲突。例如,取指令k+1时,正在分析指 令k,而分析指令k时可能也需要取操作数! 要解决上述问题,必须采用先行控制技术。 先行控制技术的关键是缓冲技术和预处理技术。
1.采用先行控制技术的处理机结构
2019/8/20
第五章 标量处理机
第4 页
百度文库
5.1 先行控制技术
2.四个先行缓冲栈 (1) 先行指令缓冲栈——缓冲主存和指令分析器 (2) 先行操作栈——存放经过指令分析器预处理后的指
令。这种预处理内容很多。
2019/8/20
第五章 标量处理机
第5 页
5.1 先行控制技术
控制相关:控制相关是指由条件分支指令、转子程序指 令、中断等引起的相关。
2019/8/20
第五章 标量处理机
第7 页
5.1 先行控制技术
解决数据相关的一般方法: ①推后分析法 ②设置专用路径
1.指令相关 例如: k: STORE R1, k+1 k+1: … 在流水线或采用先行控制技术的处理机中,指令相关严 重影响效率。 解决方法:运行中不能修改指令。
无条件转移指令和一般条件转移指令可以在 指令分析器就执行完成,不需要送入先行操作栈和指令 执行部件。因此,通常把这种指令称为“吸收型”指令。
1. 无条件转移——为简单起见,只讨论向后转移。
2019/8/20
第五章 标量处理机
第12 页
5.1 先行控制技术
无条件转移指令在程序中的使用情况一般如下:
k:
k+1: JMP L


L:

无条件转移指令一般能够在指令分析器中就执行完 成,形成转移地址L同时送入先行程序计数器PC1;和现 行程序计数器PC中,指令缓冲栈按照PC1的指示重新开 始向存储控制器申请取指令。
如下图所示,如果转移距离比较远,指令L不在先行
指令缓冲栈中,则要将先行指令缓冲栈中的所有指令全
2019/8/20
第五章 标量处理机
第10 页
5.1 先行控制技术
2019/8/20
第五章 标量处理机
第11 页
5.1 先行控制技术
四、控制相关
控制相关是指因为程序的执行方向可能被改变而引 起的相关。可能改变程序执行方向的指令通常有无条件 转移、一般条件转移、复合条件转移、子程序调用、中 断等。 有些资料上把上一节中介绍的数据相关称为 局部相关,而把本节将要介绍的控制相关称为全局相关。 这是因为数据相关影响到的仅仅是本条指令附近的少数 几条指令,而控制相关影响的范围要大得多,它可能引 起程序执行方向的改变。
第五章 标量处理机
1.标量处理机:只有标量数据表示和标量指令系统的处
理机称为标量处理机。标量处理机是一种最通用,也是 使用最普遍的处理机。
2.标量处理机中提高指令执行速度的主要途径有:
①提高主频;②缩短CPI——设计更好的算法和功 能部件;③指令级并行——主要方法,又可分为:
a.流水线技术和超流水线技术;
相关:所谓相关(correlation)是指在一段程序的相 近指令之间有某种关系,这种关系可能影响指令的重叠 执行。通常,把相关分为两大类。
数据相关:在执行本条指令的过程中,如果用到的指 令、操作数、变址偏移量等正好是前面指令的执行结果, 则必须等待前面的指令执行完成,并把结果写到生存或 通用寄存器中之后,本条指令才能开始执行,这种相关 称为数据相关。
2019/8/20
第五章 标量处理机
第14 页
5.1 先行控制技术
2.条件转移
在采用先行控制方式的处理机中,条件转移 对程序执行速度造成的影响很大。先行控制部件的缓冲 深度越深,造成的速度损失也可能越大。
(3)先行读数栈 (4)后行写数栈——如果指令有要写回主存的数据,先
写到后行写数栈,指令继续执行。后行写数栈能在主 存有空闲时,再写入主存。
2019/8/20
第五章 标量处理机
第6 页
5.1 先行控制技术
先行控制技术和和指令的重叠执行方式有不同:在 指令分析器和运算器执行的两条指令可能不相邻!
三、数据相关
例如将M型指令(如MOV AX,[0001])转换为R型指令, 具体过程如下:
a)将主存地址0001通知先行读数栈,同时用先行读数栈 的寄存器编号代替0001主存地址,预处理后的指令进 入先行操作栈。
b)对于R型指令,不需任何处理,直接进入先行操作栈。 因此,先行操作栈在指令分析器和运算器之间提供缓 冲。
部作废,指令分析器要等待一个“取指令L”周期之后

2019/8/20
第五章 标量处理机
第13 页
5.1 先行控制技术
能开始“分析L”。如果转移的距离比较近,有可能指令 L已经被取到了指令缓冲践中。这时,只要作废先行指令 缓冲栈中的部分指令,即作废从k+2到L-1之间的所有指 令。指令分析器在完成“分析k+1”之后,可以接着进行 “分析L”,即指令分析器仍然可以不停顿地连续工作。
3.通用寄存器数据相关
例如:k: add ax ,bx
k+1: mov cx, ax
在现代计算机中,该类相关发生很多。
解决方法:①推后分析法——降低运算速度为代价解决
寄存器相关
所示)。
②设置专用数据通路(如图5.15
4.变址相关
例如: k: ADD BX,AX
k+1: MOV CX,[BX]
解决方法:推后分析法和设置专用数据通路
b.超标量技术 ;
c.VLIW;
5.1 先行控制技术 5.2 流水线处理机 5.3 超标量与超流水处理机
2019/8/20
第五章 标量处理机
第1 页
5.1 先行控制技术
一、指令的重叠执行 设一条指令的执行分成三个阶段:取指、分析和执
行,且每个阶段的执行时间都为n。则,可有下面的三 种执行方式: 1.顺序执行 2.一次重叠 3.二次重叠 (如图5.2所示,p.254)
相关文档
最新文档