我是计算机体系结构的初学者。我尝试学习 Y86 架构。我得到了 Y86 架构的参考资料。我没看懂图片Stage computation: Arith/log. ops
。我研究过这本书Computer Systems: A programmer's Perspective
,但我不清楚
- M1[电脑]
- M1[PC+1]等线
根据本书,M1[x] 表示访问(读取或写入)内存位置 x 的 1 个字节。这意味着 M1[PC] 意味着访问(读取或写入)内存位置程序计数器的 1 个字节。这有意义吗?
- valP <- PC+2
但是为什么它是 PC+2 而不是任何其他整数。
我也是从书里知道的In the fetch stage, we do not require a constant word, and so valP is computed as PC + 2
但话又说回来It is also possible fetches a 4byte constant word valC
所以假设,在上面的例子中,在 rA:rB<-M1[PC+1] is valC<- M4[PC+2] 之后还有另一行,那么下一行 valP<-PC +______
在这里,我尝试按照我在此处引用的链接解决一个小程序
Stage: addq V, rB
Fetch: icode : ifun ← M1[PC]
rA : rB ← M1[PC+1]
valC ← M8[PC+2]
valP ← PC + 10
Decode: valB ← R[rB]
Execute: valE ← valB + valC
Memory:
Write back: R[rB] ← valE
PC update: PC ← valP
已编辑:我编辑了这个问题并尝试了解我从链接中获得了多少知识。
我的代码好吗?