Skip to content
fan624009652 edited this page Nov 23, 2017 · 7 revisions

寄存器

约定

如果有R[x]地址则将R[x]内容写入A中,如果有R[y]地址则将R[y]内容写入B中。
对于特殊寄存器的值,默认读到A中,如果A被占用则放到B中。对于不需要读入寄存器内容的A or B,默认寄存器的编号为1111,寄存器模块遇到读出1111的地址的请求则默认返回0。
对于需要写回的寄存器地址save register addr,如果不需要写入则默认寄存器的编号为1110,寄存器模块遇到写入1110的请求则什么都不做。

特殊寄存器编号

SP T IH PV
1000 1001 1010 1011

冲突

  • LW和LW_SP在ALU阶段结束时,虽然知道与下一条指令会产生写后读冲突,但由于还没有访问内存,不知道该返回什么值,这个时候只能加一个气泡。

指令

约定

0为读,1为写。

Clone this wiki locally