[英]Why ALU result writes address into memory for R-Type instructions?
它不会将地址“写入”到 memory,而是将地址提供给数据 Memory。
memory 操作需要 3 件事:
一些 memory 操作是“加载”——这些操作将一个值从 memory 传输到 CPU,因此加载指定该值的目标寄存器; 一些 memory 操作是“存储”——这些操作将值从 CPU 传输到 memory,因此存储指定该值的源寄存器。
无论是加载还是存储,都必须指定地址才能执行数据 Memory 操作。 在 MIPS 上,我们只有一种寻址模式,即寄存器 + 符号扩展立即数。 在简单的 MIPS 处理器中,ALU 执行这个加法,因为它在那个时钟周期内是免费的/可用的。
控制信号为加载打开 MemRead,为存储打开 MemWrite。 否则,这两个都关闭,因此数据 Memory 对于 R 型指令、分支指令、任何不加载或存储的指令都是无效的。
对于 R-Type 指令,ALU 结果被路由(围绕数据 Memory,最终)作为写入数据返回到寄存器。 对于加载指令,数据 Memory 值变为写入数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.