第十章 控制单元的设计 本章以10 条机器指令为例,介绍控制单元的两种设计方法。 第一节 组合逻辑设计 一、组合逻辑控制单元框图 从控制单元的外特性图中可以看出,指令的操作码是决定控制单元发出不同控制信号的关键。为了简化控制单元的逻辑,将存放在 IR 的n 位操作码经过一个译码电路产生 2n个输出, 这样,每对应一种操作码便有一个输出送至 CU。当然,若指令的操作码长度可变,指令译码线路将更复杂。 控制单元的时钟输入实际上是一个脉冲序列,其频率即为机器的主频,它使 CU 能按一定的节拍(T)发出各种控制信号。 节拍的宽度应满足数据信息通过数据总线从源到目的所需的时间。以时钟为计数脉冲,通过一个计数器,又称节拍发生器,便可产生一个与时钟周期等宽的节拍序列。如果将指令译码和节拍发生器从 CU 中分离出来,便可得简化的控制单元框图,如下图所示。 二、微操作的节拍安排 假设机器采用同步控制,每个机器周期包含3 个节拍,而且CPU 内部结构为非总线结构,其中 MAR 和MDR 分别 直 接 和地 址 总线和数据总线相 连 ,并 假设IR 的地 址 码部分与MAR 之 间有通路。 安排微操作节拍时应注 意 三 点 : 第一,有些 微操作的次 序是不容 改 变的,故 安排微操作节拍时必 须 注 意 微操作的先 后 顺序。 第二,凡 是被 控制对象 不同的微操作,若能在一个节拍内执 行 ,应尽 可能安排在同一个节拍内,以节省 时间。 第三,如果有些微操作所占的时间不长,应该将它们安排在一个节拍内完成,并且允许这些微操作有先后次序。 按上述三条原则,以第九章中所分析的10 条指令为例,其微操作的节拍安排如下: 1.取指周期微操作的节拍安排 ①根据原则二,T0节拍可安排两个微操作:PC→MAR,1→R; ②根据原则二,T1节拍可安排M(MAR)→MDR 和(PC)+1→PC 两个微操作。 ③T2节拍可安排MDR→IR,考虑到指令译码时间较短,根据原则三,可将指令译码OP(IR) →ID 也安排T2节拍内; 实际上(PC)+1→PC 操作也可安排在T2节拍内,因一旦PC→MAR 后,PC 的内容就可修改。 2.间址周期微操作的节拍安排 T0 Ad(IR) →MAR,1→R T1 M(MAR) →MDR T2 MDR→Ad(IR) 3.执行周期微操作的节拍安排 ·非访存指令 ①清除累加器指令CLA。 该指令在执行周期只有一个微操作,按同步控制的原则,此操作可安排在T0~T2的任一节拍内,其余节拍空,如 T0 T1 T2 0→AC ...