控制单元设计的两种主要方法包括组合逻辑设计与微程序设计。
组合逻辑设计
2. 节拍信号
3. 微操作节拍安排
一个机器周期包含多少节拍与这个机器周期中需要产生的控制信号的数量以及控制信号的复杂程度、控制信号之间是否能够并行有直接关系。
-
安排微操作时序原则
1.顺序不能更改
2.被控对象不同,尽可能安排在一个节拍完成
3.占用时间较短的微操作尽量安排在一个节拍内完成并允许有先后顺序
4.就是相当于每条指令在节拍内执行。 -
取指周期微操作的节拍安排
-
间址周期微操作的节拍安排
-
执行周期微操作的节拍安排[执行周期不同的指令所做的微操作是不一样的。]
M(MAR)–>MDR 指将MAR所指内存中的数据读到MDR当中。
- 中断周期微操作的节拍安排[中断周期需要做三件事,一保存断点,二形成中断服务程序的入口地址,三关中断为保护现场做准备。]
组合逻辑设计步骤
- 列出操作时间表
- 写出微操作最简表达式
- 画出逻辑图
组合逻辑设计控制单元的设计步骤是先列出操作时间表,再写出最简的逻辑表达式,最后用门电路等器件实现。
微程序设计
微程序设计思想就是将每一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作命令。微指令存储在只读存储器中。
微指令的基本格式分为两个字段;操作控制字段,顺序控制字段。
-
机器指令对应的微程序
机器语言程序是机器指令的有序集合;微程序是微指令的有序集合,一条机器指令的功能由一个微程序来实现。
-
微程序控制单元基本框图
全部微指令存储在CM中,程序执行过程中只需读出。
- 微程序控制单元框图基本原理
LDA、STA为执行周期。当执行周期结束的时候,要回到取指周期M,取指周期具体要取哪条地址需要根据微地址形成部件提供的地址。
微指令的编码方式(控制方式)
-
直接编码方式
在微指令的操作操作控制字段中,每一位代表一个微操作命令。
每一位为1,代表操作是什么 -
字段直接编码方式
将微指令的控制字段分成若干“段”,每段编译后发出控制信号。
缩短了微指令字长,增加了译码时间 -
字段间接编码
-
混合编码
微指令的下地址形成
- 微指令下地址字段指出
- 根据机器指令操作码形成
- 增量计数器
- 分支转移
- 测试网络
- 由硬件产生微程序入口地址
微指令地址形成方式原理图
微指令格式
- 水平型微指令
并行操作能力强、数目少、 - 垂直型微指令
静态微程序设计、动态微程序设计
-
静态
采用ROM -
动态
通过改变微指令和微程序改变机器指令,有利于仿真。采用EPROM
毫微程序设计
毫微程序解释微指令。毫微指令与微指令关系=微指令和机器指令
微指令是用来解释机器指令的;毫微指令是用来解释微指令的。
串行、并行微程序控制
微程序设计
- 写出机器指令的微操作 及 节拍安排
取指阶段微操作(3条微指令)
取指阶段微操作
执行阶段微操作
非访存指令:
访存指令:
- 确定微指令格式
微指令编码方式:直接控制
后续微指令地址形成方式:由微地址的下地址字段直接给出
微指令字长:20个微操作+下地址字段6位(38个微指令)=26位
微指令字长的确定:优化字段,缩短微指令的长度 - 编写微指令的码点
取指阶段:
第一步:执行了第0和第1的操作码,所以01位为1,下地址指向01
第二部:执行了第2和第3的操作码,所以23位为1,下地址指向10
最后一步下地址由 微地址形成部件生成,所以为xxx
完整图如下:
感想:
- 操作码对应着操作,每种cpu指令集,操作码不用,每个操作码对应的二进制位不同。
- 每条代码都会最终翻译成如图所示的二进制形式,由cpu进行读取并执行。
完结撒花~~~