微指令设计
·微指令字长
-缩短控制存储器的字长
·微程序的长度
-控制存储器的容量
·提高性能
-提高整个计算机指令执行性能
微指令设计
·直接控制法
-直接给出各部件需要的控制信号(0或1)
·字段直接编译法
-将某些互斥信号进行编码,由译码器给出这些信号,可缩短微指令字长
·垂直型微指令
-采用对微操作码译码的方式给出控制信号,可进一步缩短微指令字长
微程序控制器特点
·采用ROM存储控制信号的方式,可扩展性好
·兼容性实现比较容易
·容易实现复杂的指令系统
·性能比较低
·并行性不好
·主要用在CISC中
组合逻辑控制器
·采用逻辑电路直接提供全部控制信号
·输入
-操作码
-指令状态字
-指令步骤编码(节拍)
-外部信号(Reset等)
·输出
-全部控制信号
·主要解决的问题
-节拍转换
-控制信号生成
节拍发生器
·控制每条指令的执行步骤
·用触发器实现
·有限状态自动机
·用触发器状态表示当前执行步骤
·状态自动机自动转入下一状态
节拍发生器设计举例
我们假定某机器的指令系统有两条指令A和B,其中A指令需要4个步骤完成,而B指令只需要3个步骤。为此,节拍发生器需要有2个触发器,用它形成的4个状态来标记不同的步骤。如给A指令分配的节拍状态是00→01→10→11,B指令分配的节拍状态为00→10→11。
T0 |
T1 |
A |
B |
T0’ |
T1’ |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
T0’=/T0*/T1*/A*B+/T0*T1*A*/B+T0*/T1
T1’=/T0*/T1*A*/B+T0*/T1
控制信号生成
·直接利用逻辑电路生成控制信号
-大规模集成电路
-现场可编程器件
·输入
-节拍状态
-条件码
-指令操作码
·输出
-控制信号
组合逻辑控制器特点
·直接用逻辑电路实现,用节拍标记指令步骤,性能良好
·可扩展性差,兼容性不好
·适合实现比较精简的指令系统
·较容易实现并行
·常用于实现RISC
指令的执行过程
冯·诺依曼 结构的计算机
即存储程序的计算机,设置内存,存放程序和数据,在程序运行之前存入。
执行程序:正确从程序首地址开始;
正确分步执行每一条指令,并形成下条待执行指令的地址;
正确并自动地连续执行指令,直到程序的最后一条指令。
典型指令的执行过程举例
2000 0001 ADD r0, r1 ; 加法指令
2001 0790 MVRR r9, r0 ; 传送指令
2002 E709 STRA [2007] , r9 ; 写内存指令, 这是一条双字指令,
2007 ; 第二个字中的 807 是直接地址
2004 8280 IN 80 ; 读串行口数据到R0低8位
2005 44FA JRC 2000 ; 若C为1转移到2000,否则顺序执行
2006 8F00 RET ; 子程序返回指令
其他一些指令与这里的几条指令有相当多的共同特性,属于同一组的指令的执行步骤非常类似。
|