组成第十三讲:流水线控制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
延迟转移法: 由编译程序重排指令序列来实现。 基本思想是“先执行再转移”,即发生转移时并不排 空指令流水线,而是让紧跟在转移指令之后已进入流 水线 的少数几条指令继续完成。 如果这些指令是与转移指令结果无关的有用指令,那 么延迟损失时间正好得到了有效的利用;
计算机组成原理
计算机组成原理
执行K-1 分析K 取指K+1 图4.38 执行操作时间 大于分析操作时间图
分析K
执行K 分析K+1 执行K+1 分析K+2 执行K+2
图4.39 一次重叠方式图
计算机组成原理
数据相关: 在一个程序中,如果必须等前一条指令执行完毕后, 才能执行后一条指令,那么这两条指令就是数据相关 的; 在流水计算机中,指令的处理是重叠进行的,前一条 指令还没有结束,第二、三条指令就陆续地开始工作; 由于多条指令的重叠处理,当后继指令所需的操作数, 刚好是前一指令的运算结果时,便发生数据相关冲突。
计算机组成原理
数据相关冲突的解决办法: 在流水CPU的运算器中设置若干运算结果缓冲寄存器, 暂时保留运算结果,以便于后继指令直接使用,这称 为“向前”或定向传送技术。
计算机组成原理
控制相关: 控制相关冲突是由转移指令引起的; 当执行转移指令时,依据转移条件的产生结果,可能 为顺序取下条指令; 也可能转移到新的目标地址取指令,从而使流水线发 生断流。 为了减小转移指令对流水线性能的影响,常用以下两种转 移处理技术: 延迟转移法 转移预测法
计算机组成原理
向上扩展: 可理解为是由两个以上的处理机串行地对数据集进 行处理; 若进来的数据集需要多个任务的处理,且安排成各 个任务分别由不同的处理机处理,则由于各个处理 机都能同时工作,因此能流水地对不同的数据集进 行处理,从而使处理能力得以较大提高。
计算机组成原理
指令流水线: 指指令步骤的并行; 将指令流的处理过程划分为取指令、译码、执行、 写回等几个并行处理的过程段; 目前,几乎所有的高性能计算机都采用了指令流水 线。 算术流水线: 指运算操作步骤的并行; 如流水加法器、流水乘法器、流水除法等; 现代计算机中已广泛采用了流水的算术运算器。
计算机组成原理
优点:控制简单 缺点:速度慢
取指令
分析
执行
图 机器指令的微操作 取指K 分析K 执行K 取指K+1 分析K计算机组成原理
重叠方式 重叠方式指的是在解释第K条指令的操作完成之前,就 开始解释第K+1条指令; 重叠解释并不能加快指令的实现,但能加快相邻两条 指令以至一段程序的解释; “一次重叠”指的是任何时候都只是“执行K”与“分 析K+1”重叠; 一次重叠是重叠机器一般采用的方法。
计算机组成原理
处理机流水线: 又称为宏流水线,是指程序步骤的并行; 由一串级联的处理机构成流水线的各个过程段,每 台处理机负责某一特定的任务; 数据流从第一台处理机输入,经处理后被送入与第 二台处理机相联的缓冲存储器中。 第二台处理机从该存储器中取出数据进行处理,然 后传送给第三台处理机,如此串联下去; 随着高档微处理器芯片的出现, 构造处理机流水线 将变得容易了。 处理机流水线应用在多机系统中。
计算机组成原理
对流水计算机来说,上一条指令与下一条指令的四个子过 程在时间上重叠执行; 因此,当流水线满载时,每个时钟周期可以输出一个结果; 由于其过程相当于现代工业生产装配线上的流水作业,因 此把这种处理机称为流水计算机。
计算机组成原理
流水控制方式有关的问题 流水线中的相关是指相邻或相近的两条指 令因存在某种关联,后一条指令不能在原指定 的时钟周期开始执行。 资源相关 数据相关 控制相关
计算机组成原理
若完成一条指令的时间为T,则对分解为“分析”和 “执行”两个子过程:T=2∆t1,即每隔∆t1=T/2就可 处理出一个结果;
计算机组成原理
而对分解为“取指令”、“指令译码”、“取操作数” 和“执行”4个子过程的,则T=4∆t2,即每隔∆t2=T/4 就可处理出一个结果。
计算机组成原理
计算机组成原理
重叠方式
取指K
分析K
执行K
取指K+1 分析K+1 执行K+1 图 指令重叠方式
计算机组成原理
流水的基本概念 计算机的流水处理过程非常类似于工厂中的流水装配 线; 为了实现流水,首先把输入的任务(或过程)分割为 一系列子任务,并使各子任务能在流水线的各个阶段 并发地执行; 当任务连续不断地输入流水线时,在流水线的输出端 便连续不断地吐出执行结果,从而实现了子任务级的 并行性。
计算机组成原理
下面仅就在同一时间内(纵向来看)“分析K”和“取指K+1” 的重叠对计算机组成提出了什么样的要求。 “分析K”的时间内,主要操作是形成操作数真地址和访内 取操作数,而“取指K+1”也需访内。但是一般的机器,操作数 和指令是混合存储于同一主存内的,因而同时只能访问一个存 储单元,这样就实现不了“分析K”和“取指K+1”的重叠。 为了实现重叠的解释,可以采用不同的硬件结构方法来完成。 第一种方法:设置两个存储器,并独立编址,分别存放操作 数和指令就可同时访内了。 第二种方法:操作数和指令仍混存与内存中,但用多体交叉 存储结构,只要相邻的第K+1条指令及K条指令中所需要的操作 数不在同一个存储体中,则能在一个主存周期内取出这两者, 从而实现两条指令的“分析K”和“取指K+1”时间上的重叠。 第三种方法:设置指令缓冲寄存器(简称指缓),预先把指令 由主存取到这个寄存器。这样,“分析K”就能和“取指K+1” 重叠,
转移预测法: 用硬件方法来实现,依据指令过去的行为来预测将来 的行为。 通过使用转移取和顺序取两路指令预取队列器以及目 标指令cache,可将转移预测提前到取指阶段进行,以 获得良好的效果。
计算机组成原理
流水结构 向下扩展: 进一步分解成更多个子过程; 由于吞吐率与∆t1成反比,而∆t1又与其子过程的个 数成反比,所以若能分解成能流水进行的更多子过 程,而且各个子过程的完成时间大致相等,则吞吐 率就会进一步增大。
计算机组成原理
按流水线功能多少分类 单功能流水线:一条流水线只能完成一种单一的任务。
多功能流水线:能够改变部件之间的连接,从而达到改 变其功能的流水线。 1)静态流水线:当执行某一规定功能的指令全部流出后, 才允许改变部件间连接的多功能流水线。 2)动态流水线:可以在任何时候根据需要改变其部件连 接的多功能流水线。
指令重叠控制方式
在一个计算机系统中,CPU的控制器是整个系统的指挥 中心,它把运算器、存储器以及I/O等设备组成一个有机系 统。 计算机程序和原始数据的输入,在 CPU内的信息处理,CPU处理 结果的输出,外部设备与主机之间的信息交互等都是在控制器 的控制下实现的。控制器是指令系统的执行机构。它完成任何 一条指令通常都经过取指令、分析指令、执行指令三个阶段, 因此控制器就必须有这三种功能,当然还应有控制外部设备和 中断处理等功能。 这里要研究的是如何加快指令执行过程,也就是加快机器语 言的解释过程。解释过程是由机器内的控制机构控制,它调用 一串微指令(或微操作)去实现每条机器指令,并控制这一串 微指令与解释下一条机器指令的另一串微指令之间的衔接。
计算机组成原理
为了加快单条指令的解释过程,可采用的途径有:选用更 高速的器件;采用更好的运算方法;减少解释过程所需要 的节拍数;使解释过程的各个动作并行执行等。在此基础 上为要提高机器语言程序的执行速度,则需采用同时解释 两条、多条以至整段程序的控制方式。 指令的解释可以有三种控制方式,即顺序方式、重叠方式 和流水方式。
计算机组成原理
因为只有前者“分析K”需要访问主存储器取操作数,而后者 “取指K+1”是由指令缓冲寄存器取第K+1条指令。以下解释为 什么能预先取出指令。 其原因是由于一条指令的“执行”操作,如相加或相乘的 操作时间往往会比“分析”的操作时间要长,因此,出现图 4.38所示那样。三者在一段时间同时操作,但使用一套存储器 执行完第K-1条操作后,在虚线以右的时间段内得到结果;而 “分析K”的取数访内时间在虚线以左,这是因为t>t,由于访 存时间错开了,所以它们可以重叠操作。由上图还可以看出, 左边箭头对应的那段时间,内存是空闲的,所以就用这段时间 访问内存将第K+1条指令取出来,即在执行K-1与分析K重叠时间 内,能将第K+1条指令取出并送到指令缓冲寄存器中。这样,若 每次在“取指”时都可由“指缓”取得已从主存“预取”得到 的指令,则“取指K+1”只需很短时间即可完成,所以可以合并 到“分析K+1”内,从而构成图4.39所示的一次重叠方式。
计算机组成原理
计算机组成原理
资源相关: 资源相关是指多条指令进入流水线后在同一机器时钟 周期内争用同一个功能部件所发生的冲突; 也就是说当硬件资源满足不了同时重叠执行的指令的 要求,而发生资源冲突时,就发生了资源相关。 资源相关冲突的解决办法: 一是指令停顿一拍后再启动; 二是增设一个存储器,将指令和数据分别放在两个 存储器中。