功能:(1)加法指令。 功能: [DR]=[DR] +[[SR]+DISP] (2)传送指令。 功能: [ADDR1]←[ADDR2] (3)转移指令。判断两个通用寄存器内容是否相等,若相等则转移到指定目的地址((IP)+DISP),否则顺序执行。给出指令微程序的设计思路,微指令程序以及每条指令的含义
时间: 2023-10-09 09:13:41 浏览: 416
计组微程序设计加法指令
好的,下面是三条指令的微程序设计思路及每条指令的含义:
1. 加法指令的微程序设计思路:
加法指令需要从内存中读取两个操作数,分别为源操作数和目的操作数,进行相加,并将结果存储到目的寄存器中。因此,加法指令的微程序设计思路如下:
微指令 | 操作
--- | ---
T1 | 将PC中的地址送到MAR中
T2 | 从内存中读取指令,将指令送到MDR中
T3 | 将PC加1
T4 | 将MDR中的指令送到IR中
T5 | 解码操作码和操作数寄存器
T6 | 将PC中的地址送到MAR中
T7 | 从内存中读取源操作数地址,将其送到ADDR中
T8 | 将ADDR中的地址送到MAR中
T9 | 从内存中读取源操作数,将其送到MDR中
T10 | 将MDR中的源操作数加上目的操作数,将结果送到目的操作数寄存器中
T11 | 将PC中的地址送到MAR中
T12 | 将指令中的目的操作数地址加上偏移量送到ADDR中
T13 | 将ADDR中的地址送到MAR中
T14 | 将目的操作数寄存器中的数据送到MDR中
T15 | 将MDR中的数据存储到内存中
T16 | 将IR清零
加法指令的含义为:将源操作数和目的操作数进行相加,并将结果存储到目的操作数寄存器中。
2. 传送指令的微程序设计思路:
传送指令需要从内存中读取源操作数,将其传送到目的操作数地址。因此,传送指令的微程序设计思路如下:
微指令 | 操作
--- | ---
T1 | 将PC中的地址送到MAR中
T2 | 从内存中读取指令,将指令送到MDR中
T3 | 将PC加1
T4 | 将MDR中的指令送到IR中
T5 | 解码操作码和操作数寄存器
T6 | 将PC中的地址送到MAR中
T7 | 从内存中读取源操作数地址,将其送到MDR中
T8 | 将MDR中的数据送到目的操作数地址
T9 | 将IR清零
传送指令的含义为:将源操作数传送到目的操作数地址。
3. 转移指令的微程序设计思路:
转移指令需要比较两个通用寄存器中的数据是否相等,如果相等则转移到指定目的地址,否则顺序执行。因此,转移指令的微程序设计思路如下:
微指令 | 操作
--- | ---
T1 | 将PC中的地址送到MAR中
T2 | 从内存中读取指令,将指令送到MDR中
T3 | 将PC加1
T4 | 将MDR中的指令送到IR中
T5 | 解码操作码和操作数寄存器
T6 | 将PC中的地址送到MAR中
T7 | 从内存中读取第一个通用寄存器中的数据地址,将其送到MDR中
T8 | 将MDR中的数据送到DR中
T9 | 将PC中的地址送到MAR中
T10 | 从内存中读取第二个通用寄存器中的数据地址,将其送到MDR中
T11 | 将MDR中的数据送到SR中
T12 | 将PC中的地址送到MAR中
T13 | 从内存中读取偏移量,将其送到MDR中
T14 | 将MDR中的偏移量加上(PC)的值,将结果送到ADDR中
T15 | 判断DR和SR中的数据是否相等,如果相等则将ADDR中的地址送到PC中,否则PC加1
T16 | 将IR清零
转移指令的含义为:比较两个通用寄存器中的数据是否相等,如果相等则转移到指定目的地址,否则顺序执行。
阅读全文