设计并修改电路,编写用微程序实现存储器中两个单字节十六进制数的加法运算,结果输出至OUT单元。 要求:操作数由in单元到 R0 到MEM MEM到RO到ALU ALU到RO到OUT单元输出
时间: 2024-02-13 14:03:12 浏览: 57
计算机组成原理实验之基于复杂模型机两个8位二进制数乘法的实现.docx
5星 · 资源好评率100%
以下是实现存储器中两个单字节十六进制数的加法运算并输出结果到OUT单元的详细设计和步骤:
1. 设计电路:
- 储存器:使用两个单字节的十六进制储存器,分别存储在地址0和地址1处。
- 输入:使用in单元将需要相加的两个单字节十六进制数输入,并将其存储到寄存器R0中。
- 输出:使用OUT单元将相加后的结果输出。
- ALU:用于执行加法运算。
- 控制单元:使用微程序实现控制逻辑。
2. 设计微程序:
- T0:将输入的数值读入寄存器R0。
- T1:将R0中的数值存储到地址0处。
- T2:将R0中的数值存储到地址1处。
- T3:将地址0处的数值读入累加器A。
- T4:将地址1处的数值读入寄存器B。
- T5:将A和B相加,结果存入A中。
- T6:将A中的结果写回地址0处。
- T7:将A中的结果存入寄存器R0。
- T8:将R0中的数值存储到OUT单元。
- T9:结束。
3. 修改电路:
- 在控制单元中,增加一个操作码为0x01的指令,并将其对应的微程序设置为上述设计的微程序。
4. 编写微程序:
```
000: T0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
001: T1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
010: T2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
011: T3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
100: T4 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
101: T5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
110: T6 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
111: T7 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
000: T8 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
001: T9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
```
5. 将微程序按照顺序存入微程序存储器中。
6. 将输入的两个单字节十六进制数存储到寄存器R0中。
7. 执行操作码为0x01的指令,微程序会自动执行以上设计的微指令,完成加法运算并将结果输出到OUT单元。
以上就是实现存储器中两个单字节十六进制数的加法运算并输出结果到OUT单元的完整步骤。
阅读全文