硬布线控制器,又称组合逻辑控制器
1. 硬布线控制的具体方法和原理
硬布线控制器是早期设计计算机的一种方法。硬布线控制器是将控制部件做成产生专门固定时序控制信号的逻辑电路,产生各种控制信号,因而又称为组合逻辑控制器。这种逻辑电路以使用最少元件和取得最高操作速度为设计目标,因为该逻辑电路由门电路和触发器构成的复杂树型网络,所以称为硬布线控制器。
一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的。 硬布线控制器是计算机中最复杂的逻辑部件之一。当执行不同的机器指令时,通过激活一系列彼此很不相同的控制信号来实现对指令的解释,其结果使得控制器往往很少有明确的结构而变得杂乱无章。结构上的这种缺陷使得硬布线控制器的设计和调试非常复杂且代价很大。正因为如此,硬布线控制器被微程序控制器所取代。但是,在同样的半导体工艺条件下,硬布线控制器速度要比微程序控制的快,随着新一代机器及VLSI技术的发展与不断进步,硬布线的随机逻辑设计思想又得到了重视,现代新型计算机体系结构如RISC中多采用硬布线控制逻辑。
硬布线控制器主要由组合逻辑网络、指令寄存器和指令译码器、节拍电位/节拍脉冲发生器等部分组成,硬布线控制器的结构方框图如右图所示。其中组合逻辑网络产生计算机所需的全部操作命令,是控制器的核心。
组合逻辑网络的输入信号来源有三个:
(1)来自指令操作码译码器的输出I1~Im ,译码器每根输出线表示一条指令,译码器的输出反映出当前正在执行的指令;
(2)来自执行部件的反馈信息B1~Bj ;
(3)来自时序产生器的时序信号,包括节拍电位信号M1~Mi和节拍脉冲信号T1~Tk。其中节拍电位信号就是机器周期(CPU周期)信号,节拍脉冲信号是时钟周期信号。
组合逻辑网络N的输出信号就是微操作控制信号C1~Cn,用来对执行部件进行控制。另有一些信号则根据条件变量来改变时序发生器的计数顺序,以便跳过某些状态,从而可以缩短指令周期。
硬布线控制器的基本原理,归纳起来可叙述为:某一微操作控制信号C是指令操作码译码器输出Im 、时序信号(节拍电位Mi ,节拍脉冲Tk )和状态条件信号Bj 的逻辑函数,其数学描述为:
C=f(Im,Mi,Tk,Bj )
控制信号C是用门电路、触发器等许多器件采用布尔代数方法来设计实现的。当机器加电工作时,某一操作控制信号C在某条特定指令和状态条件下,在某一操作的特定节拍电位和节拍脉冲时间间隔中起作用,从而激活这条控制信号线,对执行部件实施控制。显然,从指令流程图出发,就可以一个不漏地确定在指令周期中各个时刻必须激活的所有操作控制信号。例如,对引起一次主存读操作的控制信号C3来说,当节拍电位M1=1,取指令时被激活;而节拍电位M4=1,三条指令(LDA,ADD,AND)取操作数时也被激活,此时指令译码器的LDA,ADD,AND输出均为1,因此C3的逻辑表达式可由下式确定:
C3=M1+M4(LDA+ADD+AND)
一般来说,还要考虑节拍脉冲和状态条件的约束,所以每一控制信号C可以由以下形式的布尔代数表达式来确定:
Cn=∑(Mi*Tk*Bj*∑Im)
与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制器或与微程序控制器混合使用。
2. 硬布线控制器逻辑设计中注意的事项
(1) 采用适宜指令格式,合理分配指令操作码;
(2) 确定机器周期、节拍与主频;
(3) 确定机器周期数及一周期内的操作;
(4) 进行指令综合; 综合所有指令的每一个操作命令,写出逻辑表达式,并进行化简。
(5) 明确组合逻辑电路。 将简化后的逻辑表达式用组合逻辑电路来实现。操作命令的控制信号先用逻辑表达式列出,进行化简,考虑各种条件的约束,合理选用逻辑门电路、触发器等器件,采用组合逻辑电路的设计方法产生控制信号。
总之,控制信号的设计与实现,技巧性较强,目前已有一些专门的开发系统或工具供逻辑设计使用,但是,对全局的考虑主要依靠设计人员的智慧和经验实现。
3. 硬布线控制器与微程序控制器的比较
硬布线控制器与微程序控制器相比较,在操作控制信号的形成上有较大的区别外,其它没有本质的区别。对于实现相同的一条指令,不管是采用硬布线控制还是采用微程序控制技术,都可以采用多种逻辑设计方案,导致了各种不同的控制器在具体实现方法和手段上的区别,性能差异。
硬布线控制与微程序控制的主要区别归纳为如下方面:
(1) 实现方式
微程序控制器的控制功能是在存放微程序存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制的功能则由逻辑门组合实现。微程序控制器的电路比较规整,各条指令信号的差别集中在控制存储器内容上,
因此,无论是增加或修改指令都只要增加或修改控制存储器内容即可,若控制存储器是ROM,则要更换芯片,在设计阶段可以先用RAM或EPROM来实现,验证正确后或成批生产时,再用ROM代替。硬布线控制器的控制信号先用逻辑式列出,经化简后用电路来实现,因此,显得零乱复杂,当需要修改指令或增加指令时就必须重新设计电路,非常麻烦而且有时甚至无法改变。因此,微操作控制取代了硬布线控制并得到了广泛应用,尤其是指令复杂的计算机,一般都采用微程序来实现控制功能。
(2) 性能方面
在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低,因为执行每条微程序指令都要从控制存储器中读取,影响了速度;而硬布线控制逻辑主要取决于电路延时,因而在超高速机器中,对影响速度的关键部分如核心部件CPU,往往采用硬布线逻辑实现。近年来,在一些新型计算机系统中,例如,RISC(精简指令系统计算机)中,一般都选用硬布线逻辑电路。