(1) 采用适宜指令格式,合理分配指令操作码;
(2) 确定机器周期、节拍与主频;
(3) 确定机器周期数及一周期内的操作;
(4) 进行指令综合; 综合所有指令的每一个操作命令,写出逻辑表达式,并进行化简。
(5) 明确组合逻辑电路。 将简化后的逻辑表达式用组合逻辑电路来实现。操作命令的控制信号先用逻辑表达式列出,进行化简,考虑各种条件的约束,合理选用逻辑门电路、触发器等器件,采用组合逻辑电路的设计方法产生控制信号。
总之,控制信号的设计与实现,技巧性较强,一些专门的开发系统或工具供逻辑设计使用,但是,对全局的考虑主要依靠设计人员的智慧和经验实现。
比较
硬布线控制器与微程序控制器相比较,在操作控制信号的形成上有较大的区别外,其它没有本质的区别。对于实现相同的一条指令,不管是采用硬布线控制还是采用微程序控制技术,都可以采用多种逻辑设计方案,导致了各种不同的控制器在具体实现方法和手段上的区别,性能差异。
硬布线控制与微程序控制的主要区别归纳为如下方面:
实现方式
微程序控制器的控制功能是在存放微程序存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制的功能则由逻辑门组合实现。微程序控制器的电路比较规整,各条指令信号的差别集中在控制存储器内容上,因此,无论是增加或修改指令都只要增加或修改控制存储器内容即可,若控制存储器是ROM,则要更换芯片,在设计阶段可以先用RAM或EPROM来实现,验证正确后或成批生产时,再用ROM代替。硬布线控制器的控制信号先用逻辑式列出,经化简后用电路来实现,因此,显得零乱复杂,当需要修改指令或增加指令时就必须重新设计电路,非常麻烦而且有时甚至无法改变。因此,微操作控制取代了硬布线控制并得到了广泛应用,尤其是指令复杂的计算机,一般都采用微程序来实现控制功能。
性能方面
在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低,因为执行每条微程序指令都要从控制存储器中读取,影响了速度;而硬布线控制逻辑主要取决于电路延时,因而在超高速机器中,对影响速度的关键部分如核心部件CPU,往往采用硬布线逻辑实现。在一些新型计算机系统中,例如,RISC(精简指令系统计算机)中,一般都选用硬布线逻辑电路。
归纳起来可叙述为:某一微操作控制信号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)
与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。因此,在某些超高速新型计算机结构中,又选用了硬布线控制器或与微程序控制器混合使用。