• 内容讲解

控制器控制一条指令运行的过程是依次执行一个确定的操作序列的过程。为了使机器能够正确执行指令,控制器必须能够按照正确的时序产生操作控制信号。

控制不同操作序列的时序信号的方法,称为控制器的控制方式。

控制方式通常分为三种:同步控制方式、异步控制方式、联合控制方式,其实质反映了时序信号的定时方式。

1. 同步控制方式

同步控制方式有时又称为固定时序控制方式或无应答控制方式,是指操作序列中每一步操作的执行,都由确定的具有基准时标的时序信号来控制,其特点是系统有一个统一的时钟,所有的控制信号均来自这个统一的时钟信号。

在同步控制方式中,在任何情况下,给定的指令在执行时所需的CPU周期数和时钟周期数都是固定不变的。

根据不同情况,同步控制方式可选取以下几种方案:

⑴采用完全统一的机器周期执行各种不同指令。显然,对简单指令和简单操作而言,这将造成时间上的浪费。

⑵采用不定长机器周期。将大多数操作安排在一个较短的机器周期内完成,而对于某些费时较多的操作,则采取延长机器周期的办法加以解决。

⑶中央控制与局部控制相结合。将大部分指令安排在固定的机器周期完成(称为中央控制),而对于少数复杂指令(如乘、除、浮点运算)则采用另外的时序进行定时(称为局部控制)。

同步控制方式设计简单,操作控制容易实现。

2. 异步控制方式

异步控制方式有时又称为可变时序控制方式或应答控制方式,是一种按每条指令、每个操作的实际需要而占用时间的控制方式,不同指令所占用的时间完全根据需要来决定。

在异步控制方式中,每条指令的指令周期既可由数量不等的机器周期数组成,也可由执行部件完成CPU要求的操作后发回控制器的应答信号来决定。也就是说,每条指令、每个操作控制信号的时间由其需要占用的时间来决定,需要多少时间就占用多少时间。

显然,用这种方式形成的操作控制序列,没有固定的CPU周期数和严格的时钟周期与之同步,所以称为异步方式。

在异步控制方式下,指令的运行效率高,但控制线路的硬件实现比较复杂。

异步控制方式在计算机中得到了广泛的应用。例如,CPU对主存的读写、I/O设备与主存的数据交换等一般都采用异步控制方式,以保证执行时的较高速度。

3. 联合控制方式

现代计算机系统中一般采用的控制方式是同步控制和异步控制相结合的方式,即联合控制方式。

联合控制方式的设计思想是:在功能部件内部采用同步控制方式,而在功能部件之间采用异步控制方式,并且在硬件实现允许的情况下,尽可能多地采用异步控制方式。

联合控制方式通常选取以下两种方案:

⑴大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的应答信号作为本次操作的结束;

⑵机器周期的时钟周期数固定,但是各指令周期的机器周期数不固定。