我正在创建一个8位CPU。我有基本的指令,例如mov,ld,st,add,sub,mult,jmp。我正在尝试整理说明。首先,我将值的基地址移入寄存器1(R1)。然后,我想用该值加载寄存器2(R2)。因此,我的说明如下:
1 mov R1, 0xFFFF
2 ld R2, [R1+0]
我的操作码定义是:
ld: 0001
mov: 1111
注册码为:
R1: 0001
R2: 0010
所以我的二进制指令如下:
1 mov R1, 0xFFFF = 1111 0001 0xFFFF
2 ld R2, [R1+0] = 0001 00010
但是在第二个加载方向上,如何确保要使用存储在移至R1的存储位置中的值。这是我第一次使用计算机体系结构做任何事情,所以我有点迷茫。
答案 0 :(得分:1)
如何确保要使用存储在移至R1的存储位置中的值。
通过构建硬件来正确处理写入后读取危险(https://en.wikipedia.org/wiki/Hazard_(computer_architecture)#Data_hazards)。
任何一个