1、微指令设计原则
有利于缩短微指令字长度
有利于减少控制存储器容量
有利于提高微程序执行速度
有利于对微指令进行修改
有利于提高程序设计的灵活性
2、微指令格式(直接表示法)
这种方法简单直观,便于输出控制,但是微指令长度太长,控存容量大,如何压缩微指令长度?
这里介绍三种方法:
改直接表示为编码表示(压缩互斥性微指令)
去掉下址字段,采用μPC=μPC+1的方式生成微指令地址
改水平型微指令为垂直型微指令(牺牲并行性)
下面分别介绍这三种方法
3、微指令格式(编码表示法)
我们要将微指令中的一系列命令进行分类,分为相容性的微命令,和互斥性的微命令,比如说单总线里边的,输出到总线的out型的,像R0out、R1out、R2out、PCout、DRout等等,这些信号是不能同时唯一的,因为总线在同一时刻只能有一种信号,那么这些就是互斥性的微命令,还有一些信号是可以同时给出的,这些信号我们称之为相容性的微命令。
而对于互斥性的微命令,由于他们不能同时给出,所以我们没有必要给他们这么长的编码,可以通过编码以后再译码的方式,表示这一类互斥性的微命令。
另外像运算器的+1、add、sub等信号也是不能给出的,也是互斥性微命令,所以也可以用编码的方法来给出。
比如说这里,前7个信号都是互斥型的,那么他们就可以用编码的方法显示,因为不能同时给出,只能同时给出一个,所以可以用一个三八译码器来进行编码,三八译码器有三位,三位全为0的时候,代表什么指令也不给,注意这里必须要留出一个状态表示什么信号也不给,所以如果有8个互斥信号的话,是不能用三八译码器的,得用四位来编码。
2、微指令地址形成方法
下地址字段法
特点:微指令长,控存容量大
计数器法 μPC
特点:微指令器,需要加法器
减少了下址字段,有效节约了控存的空间。
5、水平型微指令编码效率
6、垂直型微指令
7、垂直型微指令实例
8、水平型与垂直型微指令
水平型微指令
并行操作能力强,效率高,灵活性强
微指令字较长,微程序短,控存容量大,性能佳
垂直型微指令
字长短,微程序长,控存容量小,性能差
垂直型与汇编指令相似,易于掌握
基本被淘汰