我正在尝试解决有关指令集体系结构中寄存器编号的问题。问题是;
假设代码序列是要计算A = B + C,B = A + C和D = A-B。假定所有A,B,C和D最初都在内存中。列出寄存器(加载-存储)ISA的指令序列,并比较在以下情况下进行计算所需的加载和存储数: (a)有2个架构寄存器。 (b)有3个架构寄存器。
我已经得到(a)的答案;
Load R1,B
Load R2,C
Add R1,R1,R2
Store R1,A
Add R2,R1,R2
Store R2,B
Sub R1,R1,R2
Store R1,D
我已经得到(b)的答案;
Load R1,B
Load R2,C
Add R3,R1,R2
Store R3,A
Add R1,R2,R3
Store R1,B
Sub R2,R3,R1
Store R2,D
因此,我有相同的负载并为这两个计算存储数字。难道我做错了什么?还是我的答案正确?