ch10_2控制单元的_微程序设计

1. 微程序设计

在这里插入图片描述

1.1 微程序设计思想

使用微程序的设计方式,实现计算机系统的控制器;

微程序的设计,是方便指令集的修改和扩展;

每个节拍发出的控制命令, 实际上就是一个电信号,或者是几个电信号,由电信号控制相应的部件进行操作。

微程序的设计思想,是将控制信号存储起来
存储高低电平,控制每个节拍需要发出的微操作命令;

一条机器指令 对应一个微程序, 一个微程序对应多个微指令,
每一个微指令对应 一个或者多个微操作控制信号
微指令之间的先后顺序,就是微操作在执行过程的先后顺序,

将逻辑信号,保存在存储器当中,使用存储器对给定的存储单元,进行读出,由这些信号控制相关部件进行操作

微程序设计思想就是将每一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作命令。

1.2 微程序控制单元的基本框图

取指周期需要三个节拍来完成,每个节拍对应了一条微指令。
完成那个节拍中,产生控制命令的工作;

微程序,微指令都保存在控制存储器当中,

机器语言程序是机器指令的有序集合;微程序是微指令的有序集合,一条机器指令的功能由一个微程序来实现

1.3 工作原理

每一条机器指令由若干条微指令组成的微程序来解释执行
机器指令对应的微程序

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3.1 取指阶段

取指阶段  执行取指微程序
M -> CMAR
CM ( CMAR ) --> CMDR

由 CMDR 发命令
形成下条微指令地址 M +1 ;

Ad (CMDR )–> CMAR
CM (CMAR ) --> CMDR

由 CMDR 发命令
形成下条微指令地址 M+2;

Ad (CMDR ) --> CMAR
CM (CMAR ) --> CMDR
由 CMDR 发命令

在这里插入图片描述

1.3.2 执行阶段

OP ( IR ) —> 微地址形成部件 --> CMAR

CM ( CMAR ) —> CMDR
在这里插入图片描述

1.3.2 取指阶段

M --> CMAR
CM ( CMAR ) —> CMDR
在这里插入图片描述

全部微指令存在 CM 中,程序执行过程中 只需读出;
关键:

  1. 微指令的 操作控制字段如何形成微操作命令
  2. 微指令的 后续地址如何形成

2.  微指令的编码方式(控制方式)

2.1 直接编码(直接控制)方式

在微指令的操作控制字段中,
每一位代表一个微操作命令

在这里插入图片描述

2.2 字段直接编码方式

将微指令的控制字段分成若干 “段” ,
每段经译码后发出控制信号

在这里插入图片描述

每个字段中的命令是 互斥 的;
缩短 了微指令 字长, 增加 了译码 时间;

2.3 字段间接编码方式

在这里插入图片描述

2.4 混合编码

直接编码和字段编码(直接和间接)混合使用

3.  微指令序列地址的形成

3.1微指令的 下地址字段 指出

在这里插入图片描述

3.2 根据机器指令的 操作码 形成

3.3 增量计数器

( CMAR ) + 1 --> CMAR

3.4分支转移

操作控制字段 转移方式 转移地址

转移方式: 指明判别条件
转移地址: 指明转移成功后的去向

3. 5通过测试网络

在这里插入图片描述

3.6由硬件产生微程序入口地址

第一条微指令地址, 由专门 硬件产生;

中断周期: 由 硬件 产生 中断周期微程序首地址

3.7后续微指令地址形成方式原理图

后续微指令的地址形成方式的是()。

  1. 直接由微指令的下地址字段给出
  2. 根据机器指令的操作码形成
  3. 增量计数器法,即(CMAR)+1→CMAR
  4. 通过测试网络形成

在这里插入图片描述

4. 微指令格式

4.1水平型微指令

一次能定义并执行多个并行操作;

如 直接编码、字段直接编码、字段间接编码、
直接和字段混合编码

4.2垂直型微指令

类似机器指令操作码 的方式;

由微操作码字段规定微指令的功能;

4.3 两种微指令格式的比较

    1. 水平型微指令比垂直型微指令 并行操作能力强 ,
      灵活性强
    1. 水平型微指令执行一条机器指令所要的
      微指令 数目少,速度快
  1. 水平型微指令 用较短的微程序结构换取较长的
    微指令结构

  2. 水平型微指令与机器指令 差别大

5. 静态微程序设计和动态微程序设计

5.1静态

静态: 微程序无须改变,采用 ROM

5.2 动态

可以修改或者是扩展计算机系统的指令集;
增加指令集中的指令;

动态: 通过 改变微指令 和 微程序 改变机器指令,
有利于仿真,采用 EPROM;

6. 毫微程序设计

6.1毫微程序设计的基本概念

微程序设计: 用 微程序解释机器指令
毫微程序设计 :用 毫微程序解释微指令;

微指令是用来解释机器指令的;
毫微指令是用来解释微指令的。;

毫微指令与微指令 的关系好比 微指令与机器指令 的关系

6.2毫微程序控制存储器的基本组成

在这里插入图片描述

7. 串行微程序控制和并行微程序控制

7.1 串行微程序控制

在这里插入图片描述

8. 微程序设计举例

8.1写出对应机器指令的微操作及节拍安排

假设 CPU 结构与组合逻辑相同

  1. 取指阶段微操作分析
    在这里插入图片描述
    OP ( IR ) —> 微地址形成部件 —> CMAR

  2. 取指阶段的微操作及节拍安排

在这里插入图片描述

  1. 执行阶段的微操作及节拍安排

考虑到需形成后续微指令的地址:
取指微程序的入口地址 M
由微指令下地址字段指出

非访存指令

在这里插入图片描述

访存指令
在这里插入图片描述

转移类指令:
在这里插入图片描述
20 种微操作,共组成38条微指令;
如果采用,水平型直接编码方式, 每个微操作在操作控制字段都需要一位来表示;

8.2 确定微指令格式

(1) 微指令的编码方式
采用直接控制

(2) 后续微指令的地址形成方式
由机器指令的操作码通过微地址形成部件形成;
由微指令的下地址字段直接给出;

(3) 微指令字长
由 20 个微操作
确定 操作控制字段, 最少 20 位;

由 38 条微指令:
确定微指令的 下地址字段 为 6 位
微指令字长 可取 20 + 6 = 26 位

(4) 微指令字长的确定

38 条微指令中有 19 条
是关于后续微指令地址 CMAR

其中
1 条:OP ( IR ) 微地址形成部件 CMAR
18 条: Ad ( CMDR ) —> CMAR

若用 Ad ( CMDR ) 直接送控存地址线
则 省去了输至 CMAR 的时间,省去了 CMAR;

  • 同理 OP ( IR )—> 微地址形成部件 --> 控存地址线

可省去 19 条微指令, 2 个微操作
38 - 19 = 19
下地址字段最少取 5 位;

20 - 2 = 18
操作控制字段最少取 18 位;

(5) 省去了 CMAR 的控制存储器

在这里插入图片描述
考虑留有一定的余量:

取操作控制字段:

下地址字段:

(6) 定义微指令操作控制字段每一位的微操作;
在这里插入图片描述

8.3 编写微指令码点

下地址字段中: 每3位代表一个八进制数;
在这里插入图片描述

后记

2023, 06.30.
哈工大的计算机组成原理,理论部分看完;
年初的时候,开始学习;
那时候外公还在,今天是农历十三,
希望后续自己继续变强,
直到有一天,我有能力可以保护我想守护的人。

后面开始,

  1. 汇编语言(王爽),
  2. 以及操作系统(南京大学)的学习。
  3. 操作系统45讲,彭东;
    学习过程中,会穿插看华科 计算机组成原理的部分内容;

猜你喜欢

转载自blog.csdn.net/chumingqian/article/details/131478002