实验目的

学生了解 MIPS\text{MIPS} 寄存器文件基本概念,进一步熟悉多路选择器、译码器、解复用器等 Logisim\text{Logisim} 组件的使用,并利用相关组件构建 MIPS\text{MIPS} 寄存器文件。

主要任务

利用 Logisim\text{Logisim} 平台构建一个简化的MIPS寄存器文件,内部包含 443232 位寄存器。$R_1\#$ 为第 11 个读寄存器的编号,$R_2\#$ 为第 22 个读寄存器的编号。$W\#$ 为写入寄存器编号,DinDin 为写入数据,WEWE 写使能信号,为 11 时在 CLKCLK 上跳沿将 DinDin 数据写入 $W\#$ 寄存器。CLKCLK 为时钟信号,上跳沿有效。RD1RD_1 为 $R_1\#$ 寄存器的值,RD2RD_2 为 $R_2\#$ 寄存器的值,MIPS\text{MIPS} 寄存器文件中 00 号寄存器的值恒零。

实验原理

$W\#$ 通过译码器后,可得到写入寄存器编号,连接写入寄存器的一端成为高电平。

对于一个编号为 XX 的寄存器,当且仅当写使能信号为 11 且写入寄存器编号为 XX 时,该寄存器允许写入,可以此作为寄存器不忽略信号的标志。
由于 00 号寄存器的值恒零,因此 00 号寄存器输入端为常量 00,其余寄存器输入端为DinDin
为得到 RD1RD_1,可将所有寄存器的输出信号输入多路选择器,根据读寄存器编号$R_1\#$ 选择一个结果输出;同理可得到 RD2RD_2

电路图

MIPS寄存器文件.png