武汉理工大学《计算机组成原理》课程设计说明书 微指令周期 微指令周期SIGN PLS1 PLS2 PLS3 PLS4 3.6 指令执行流程设计
根据模型机整机逻辑框图和目前硬件条件来设计指令系统中每条指令的执行流程。在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。而一条指令共需要几个机器周期取决于指令在机器内实现的复杂程度。
对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所包含的微
操作的必要性和合理性,还应知道总线IAO、IDB、OAB、ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。以下描述取指微指令执行过程:
在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令琐存器输出无效
(为高)。在处于停机状态时,脉冲PLS1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,使微程序锁存器输出有效。PLS3把微程序存储器00H单元(00H单元存放着取指微指令)中的内容打入微指令锁存器中并且输出取指微指令。PLS4把从程序存储器中读出的数据打入指令寄存器中。
当模型机处于运行状态时,脉冲PLS1微地址寄存器(74LS161)加1,脉冲PLS2对
PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。PLS4把当前总线上的数据打入当前微指令所选通的寄存器。
11
武汉理工大学《计算机组成原理》课程设计说明书
4程序调试
源程序、程序的指令代码或立即数及说明如下表: 内存地源程序 址 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 指令代码或立即数 MOV A,#55 5FH 55H 立即数55H?A 立即数66H?寄存器R0 A内容+R0内容?A 立即数33H?寄存器R1 A内容-R1内容?A 将A的内容写入RAM地址10H 停机 说明 MOV R0,#66 6CH ADD A,R0 66H 0CH MOV R1,#33 6DH SUB A,R1 SAT 10 HALT 33H 1DH 8FH 10H FFH 微程序 微地址 数据流程 微程序控制数据总线 信号 00H 取微指令 RAM?BUS?IR1 MOV A,#55 17H 18H BUS?A 取微指令 RAM?BUS?IR1 MOV R0,#66 1BH RAM?寄存器DDBFF R0 1CH 取微指令 4DFFFF 0CH 04H IR1=0CH 66H 03H R0=66H DDFBFF 4DFFFF 55H 6CH 01H 02H A=55H IR1=6CH 4DFFFF 5FH 00H IR1=5FH 地址总线 操作寄存器 12
武汉理工大学《计算机组成原理》课程设计说明书
RAM?BUS?IR1 ADD A,R0 03H 04H 05H 06H A?DBUS?DR1 FFFCF9 R0?DBUS?DR2 FF7F79 ALU?DBUS?A FFFBA9 取微指令 RAM?BUS?IR1 MOV R1,#33 1BH 1CH RAM?R1 取微指令 RAM?BUS?IR1 SUB A,R1 07H 08H 09H 0AH A?DR1 R1?DR2 ALU?A 取微指令 RAM?BUS?IR1 SAT 10 23H 24H 25H RAM?BUS?IR2 D5FFFF A?RAM(10H) 取微指令 RAM?BUS?IR1 HALT 3FH
停机 FFDFFF 无效 无效 置停止状态 BBFDFF 4DFFFF 10H 88H FFH 09H 10H 0AH IR2=10H RAM(10H)=88H IR1=FFH FFFCD6 FE7F56 FFFB86 4DFFFF BBH 33H 88H 8FH 无效 无效 无效 08H DR1=BBH DR2=33H A=88H IR1=8FH DDBFFF 4DFFFF 33H 06H R1=33H 4DFFFF 55H 66H BBH 6DH 无效 无效 无效 05H DR1=55H DR2=66H A=BBH IR1=6DH 5.上机调试过程
本次实验用的软件是HKCPT,我将上面编好的程序输入电脑,在这个软件中进行调
13
武汉理工大学《计算机组成原理》课程设计说明书
试并观看程序单步运行的结果,用截图工具将程序的微单步过程各个结构图以及时序截了下来,以下就是整个程序的运行过程:
MOV A,#55 取指
14
武汉理工大学《计算机组成原理》课程设计说明书
Dbus—〉A
02 MOV R0,#66 取指
15