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