硬布线控制器
基础
也叫组合逻辑控制器,被当前RISC计算机和高性能计算机普遍采用
控制部件为产生固定时序控制信号的逻辑电路
特点:
形成控制信号的传输延迟少,系统运行速度快
设计控制CPU的时序控制信号的逻辑较复杂
与微程序控制相比,硬布线控制速度快
基本原理:
为微操作控制信号, 为译码器输出, 为节拍电位, 为节拍脉冲, 为状态条件,C 由组合电路实现,速度快,但难以修改。
结构


树型逻辑网络拥有三个输入:指令译码器的译码输出、结果反馈信息和节拍点位/节拍脉冲发生器。树型逻辑网络内部为组合逻辑电路,根据输入调整输出,输出即为微操作控制信号
与微程序控制器不同的是,时序产生器除了产生节拍脉冲,还需要产生节拍电位信号用来控制流程
所以硬布线控制器的时序信号有三级:主状态周期->节拍电位->节拍脉冲
硬布线控制器的指令周期流程
以下图为例。此图使用的CPU模型还是前面的那个模型

时序产生器产生节拍电位信号M1、M2和M3用来控制当前处于流程中的哪一个阶段,也就是各个微操作的先后顺序
比如某控制信号C0在以下情况下被激活:
节拍电位为M1时被激活
节拍电位为M3且指令译码器发出的指令信号为ADD/LAD/AND
那么在树型逻辑网络里面C0的表达式就是C0 = M1 + M3(ADD + LAD + AND)
如果使用同步控制方式,则所有指令都要有M1-M3三个阶段,但是像MOV这种指令在M3阶段没有任何操作,会导致时间的浪费。为了改进,可以使一些指令跳过一些节拍,如MOV指令进行M2节拍之后就结束。相应的节拍信号发生器的电路会更复杂
与微程序控制器相比,微程序控制器的控制信号可以复用(这也导致了速度比较慢),而硬布线完全使用布尔表达式实现,每个输出都有自己的表达式控制,几乎不能复用。可以使用布尔表达式化简
硬布线控制器的设计
分析指令,列出所有执行的方框图
对流程进行划分,分隔到不同的时钟周期和节拍电位
总结表达式
举例:设计如图所示模型机的控制器,假设该模型机的系统只有如下5条指令,使用硬布线控制

CLA
清零指令
0 -> AC
ADD AC, M
加法指令
(AC) + (M) -> AC
STA M
存数指令
(AC) -> M
JMP m
跳转指令
m -> PC
NOP
空指令
延时
分析指令,画出框图

因为总线数量受限,取指阶段的三个操作需要使用同一个总线,所以被拆分在了三个节拍脉冲中
对流程进行划分,划分到不同的时钟周期和节拍电位

给操作分配时钟周期T和节拍电位M
访存操作需要两个时钟周期,其他操作1个时钟周期。每个节拍电位中可以有数量不等的时钟周期。读指令自身一个节拍电位
总结表达式
从图中找出所有的微操作,并命名如下表

按照流程图给出表达式。注意表达式中同时含有时钟周期和节拍电位
Last updated
Was this helpful?