计组-5.4 微程序控制器
5.4 微程序控制器

一、基本原理
==设计思路==
- 一条机器指令对应一个微程序
- 一个微程序有多条微指令(微周期,通常为一个机器周期)
- 一条微指令可以做多个微操作(微命令)(构成控制序列的最小单位)
- 一个微程序有多条微指令(微周期,通常为一个机器周期)

基本结构
CU的输入信号来源:
- ①译码器产生的指令信息
- ②时序系统产生的节拍信号
- ③执行单元的反馈信息(标志)

工作原理⭐
- 一条机器指令 == 一个微程序
- 一条机器指令 的执行过程 = 取指微程序(入口地址一般为CM的0号单元) + 执行微程序(不同指令微程序不同)
- 微程序个数 = 机器指令数 + 取址,间址,中断周期的公共微程序数。
①执行取指操作(公共)
启动取指: 机器开始运行时,自动将取指微程序入口地址(通常为CM的0号单元)送入μPC,并开始从CM中读取并执行取指微指令。
取指完成: 取指微程序执行完毕后,在其控制下,==从主存中取出的机器指令==已被存入指令寄存器(IR)中。
②产生执行微程序入口
- 由机器指令的操作码字段通过微地址形成部件,产生该机器指令所对应的微程序入口地址,并送入μPC。
③执行指令对应的微程序
- 从CM中逐条取出该指令对应的微指令并执行,直到该微程序执行完毕。
④返回取指微程序
- 执行完一条机器指令对应的微程序后,自动回到取指微程序的入口地址(0号单元),继续第①步,以完成取下一条指令的公共操作。

二、微指令设计
- 微指令的具体格式应该如何设计
- 如何根据微指令发出相应的微命令(微操作)
微指令基本格式:
- 操作控制(微操作码字段) + 顺序控制字段(微地址字段)
微指令的格式/类型
水平型微指令:
一条微指令可以定义==多个==可并行的微命令。
基本格式:操作控制+顺序控制
垂直型微指令:
一个微指令只能定义==一个==微命令。由微操作码字段规定具体功能。
基本格式:微操作码+目的地址+源地址

编码方式(水平型微指令)
- 编码目标:保证速度,尽量缩短字长
1.直接编码方式

2.字段直接编码方式
- ==微地址总位数:==微命令位数+微命令位数+…+判断测试位数+后继地址位数
3.字段间接编码方式

下一条微指令的地址形成方式

三、微程序控制单元的设计
设计步骤:
- 分析每个阶段的微操作序列
- 写出对应机器指令的微操作命令及节拍安排
- 确定微指令格式
- 编写微指令码点
1.分析每个阶段的微操作序列
eg取值周期(公共)

2.写出对应机器指令的微操作/命令及节拍安排

- 微程序控制器(相比于硬布线)特有的微操作:

3 4

硬布线VS微程序
硬布线不规整,微程序较规整

总结

评论

