计算机体系结构 实验

系统结构实验:流水线处理机

流水方式是把一个复杂的过程分解为若干个子过程,每个子过程可以与其它子过程同时进行。由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。

1.1 流水线的原理及基本思想

1.1.1 流水的基本概念

流水可以看作是重叠的引申,一次重叠是一种简单的指令流水线。一次重叠是把一条指令分解为“分析”和“执行”两个子过程,这两个子过程分别在执行分析部件和指令执行部件中

完成。如图 1-1-1 所示。由于在指令分析部件和指令执行部件的输出端各有一个锁存器,可以分别保存指令分析和指令执行的结果,因此,指令分析和指令执行部件可以完全独立并行地工作,而不必等一条指令的“分析”、“执行”子过程都完成之后才送入下一条指令。分析部件在完成一条指令“分析”并将结果送入指令执行部件的同时,就可以开始分析下一条指令。

图 1-1-1 简单的流水

上图中如果指令分析部件分析一条指令所用的时间△t1 与指令执行部件执行一条指令所用的时间△t2 相等,即△t1=△t2=△t,就一条指令的解释来看还是需要 2△t,但是从机器的输出来看,每过△t 就有一条指令执行完成。因此,机器执行指令的速度提高了一倍。

如果把“分析”子过程再细分成“取指令”、“指令译码”和“取操作数”3 个子过程,并加快“执行”子过程,使 4 个子过程都能独立地工作,且经过的时间都是△t。如图 1-1-2(a)所示,则可以描述出流水的时空图如图 1-1-2(b)。

在时空图中,横坐标表示时间,也就是输入到流水线中的各个任务在流水线中所经过的时间。纵坐标表示空间,即流水线的各个子过程。在时空图中,流水线的一个子过程通常成为“功能段”。

从时空图中,可以很清楚的看出各个任务在流水线的各段中的流动的过程。从横坐标方向看,流水线中的各个功能部件逐个连续地完成自己的任务;从纵坐标看,在同一时间段内有多个功能段在同时工作。

在上面的流水线中,对于“取指令”、“指令译码”、“取操作数”、“执行”每个子过程都需要△t 时间完成,这样,虽然完成一条指令所需的时间还是一个 T,但是每隔一个△t(T/4)时间就会一条指令结果输出,这样的执行效率比顺序方式提高了 3 倍。

图 1-1-2 流水处理

1.1.2 流水线的特点

采用流水线方式的处理机与传统的顺序执行方式相比,具有如下特点:

1.流水线中处理的必须是连续的任务,只有连续不断地提供任务才能发挥流水线的效率。流水线从开始启动到流出第一个结果需要一个“装入时间”,在这段时期内并没有流出任何结果,所以,对第一条指令来说,和顺序执行没有区别。

2.在流水线每个功能部件的后面都要有一个缓冲寄存器,用于保存本段的执行结果,以保证各部件之间速度匹配及各部件独立并行的运行。

3.流水线是把一个大的功能部件分解为多个独立的功能部件,并依靠多个功能部件并行工作来缩短程序执行时间。流水线中各段的执行时间应尽量相等,否则将引起“堵塞”、“断流”等。执行时间最长的一段将成为整个流水线的“瓶颈”,在流水线中应尽量解决“瓶颈”。

1.1.3 相关处理

由于流水是同时解释多条指令,肯定会出现更多的相关。所谓相关是指在一段程序的相近指令之间有某种关系,这种关系可能影响指令的重叠执行。通常,把相关分为两大类,一类是数据相关,另一类是控制相关。数据相关主要有四种,分别是指令相关、主存操作数相关、通用寄存器相关和变址相关。解决数据相关的方法通常有两种,一种是推后分析法,在遇到数据相关时,推后本条指令的分析,直至所需要的数据写入到相关的存储单元中;另一种方法是设置专用通路,即不必等所需要的数据写入到相关的存储单元中,而是经专门设置的数据通路读取所需要的数据。

控制相关是指因为程序的执行方向可能改变而引起的相关。可能改变程序执行方向的指令通常有无条件转移、一般条件转移、子程序调用、中断等。

1.2 基于流水技术的模型计算机设计实验

1.2.1 实验目的

在掌握 RISC 处理器构成的模型机实验基础上,进一步将其构成一台具有流水功能的模型机。

1.2.2 实验设备

PC 机一台, TD-CMA 实验系统一套。

1.2.3 实验原理

1.本实验中 RISC 处理器指令系统的定义 A.选用使用频度比较高的五条基本指令:

MOV、ADD、STORE、LOAD、JMP

B.寻址方式采用寄存器寻址及直接寻址两种方式。 C.指令格式采用单字长及双字长两种格式:

其中 Rs、Rd 为不同状态,则选中不同寄存器:

MOV、ADD 两条指令为单周期执行完成。STORE、LOAD、JMP 三条指令为两周期执行完成。在 STORE、LOAD 两条指令里,A 为存或取数的直接地址;在 JMP 指令里,A 为转移地址的立即数。

2.基于 RISC 处理器的流水方案设计原理: A.本模型机采用的数据通路图如图 1-2-1 所示:

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4