[拼音]:kongzhiqi
[外文]:control unit
计算机中规定执行指令的顺序、解释指令的操作码和地址码并根据译码要求将相应的控制信号送到运算器和其他部分的功能部件。
结构和基本操作控制器主要由四部分组成:指令计数器、指令寄存器、译码控制电路和地址形成电路(图1)。指令计数器存放应取指令的地址。指令寄存器存放应当执行的指令。译码控制电路解释取来的指令,形成各种控制信号并发送给相应的部件。地址形成电路按寻址方式形成数据或指令地址。
控制器的基本操作是取指令、解释指令和形成地址、取数据和分配执行。指令计数器发送地址,并按照这个地址将指令从存储器取至指令寄存器。解释指令和形成地址是解释取到指令寄存器中的指令,并形成取数地址。取数据是按照形成的取数地址,将数据从存储器取至运算器。分配执行是将控制信号送给执行部件(如运算器),执行指令指定的操作。
同步控制和异步控制控制器严格按照规定的先后顺序发出控制信号,因此它需要有定时电路。定时的方法有同步和异步两种。
同步控制是每隔一定时间间隔发出定时信号。这种信号往往采取脉冲形式,叫定时脉冲。时间间隔通常是不变的。它取决于定时脉冲的频率。这种时间间隔俗称节拍。当然,也有采用多种时间间隔的,或者在不同的部件中采用不同的时间间隔。一个节拍的长度,取决于应在该节拍内完成动作所需的时间延迟。因在各个节拍内完成的动作并不相同,统一的节拍长度采用最长的延迟时间。因此在很多节拍中出现空闲时间,会降低计算机操作速度。
为了减少甚至消除空闲时间,可以采用异步控制。它没有单独的定时信号。每个操作终结时,有反馈信号送给控制器,使之发出下一个或一批控制信号,开始后面的操作。每个操作完成后,立即开始下一个操作,从而加快速度。这种应答方式因要传递和判断大量反馈信号,会使控制电路变得比较复杂。
硬连逻辑和微程序控制在控制器中,除了定时电路外,另一个重要部分是形成并发送各种控制信号。每种控制信号驱动相应的部件,完成规定的动作。这种动作是根据具体指令的要求,在规定的时刻和特定的条件下完成的。特定的条件是指决定该操作是否执行的条件。以移位指令为例,它可以用每次移动一位,并将要求移动的位数减 1来实现。每移一位都检查要求移动的位数。若不为0,则继续执行移动一位的操作;若为0则停止执行。要求移动的位数是否为0,是决定应否执行移位操作的特定条件。形成并发送每种控制信号取决于三个因素:
(1)要求发送控制信号的指令;
(2)应当发送控制信号的时刻;
(3)允许发送控制信号的条件。
形成并发送各种控制信号有硬连逻辑和微程序控制两种方法。
硬连逻辑用大量逻辑门电路形成控制信号。这些门的输入信号是:指令操作码、定时信号和各种组合好的条件。定时信号经过这组门电路后就变成控制信号。用这种方法构成的控制器,形成信号的时间与它所通过的门电路级数和每级门电路的延迟有关。常常需要采用各种逻辑化简手段,减少门电路的数量和传输级数。
微程序控制使用一个称做控制存储器的高速存储器,形成控制信号。用指令码和各种条件组成存储器地址。存取周期相当于节拍长度。一条指令的所有操作被分解为若干个按时序组合的微操作组,每组微操作由控制存储器中的一个字表示。每取一个字就相应地发送一组控制信号。用这种方法构成的控制器,形成信号的时间与控制存储器的存取周期有关。
先行控制执行一条指令,控制器要完成四个基本操作。这四个操作可以串行执行(图2中a)。一个操作完成后才做下一个操作。一条指令完成后再执行下一条指令。为了提高运算速度,可以采用重叠控制(图2中b)。在重叠控制时,解释本指令可以与取前条指令的数据和取下一条指令同时执行,这称为先行控制,或称指令流水线。由于指令相关性和条件转移的存在,实现先行控制的控制器则复杂得多。