本实验是华科大三的核心课计算机组成原理的配套实验,设计非常良心,而且理论课和实验课都在mooc上有全套视频,地址为计算机组成原理_中国大学MOOC,实验所用的软件资源/测试电路也全部开放,地址为:计算机硬件系统设计_中国大学MOOC
存储系统实验
字库电路
要求我们用4个12位地址线的小rom代替一个地址线为14位的大rom,并对其中的数据进行正确的载入。
首先是地址线和片选信号的连接,这个比较简单,就是多余的高位的地址部分作多路选择器的输入端,地址信号是低12位:
然后考虑怎么把数据载入到这四个小rom中。
因为小rom的地址是12位,即4K容量,所以取代的这个大rom的内存应该划分成4K的小块,4K = 1 0000 0000 0000 = 1000H 即首地址按1000H递增。
选中第一块
其他都类似的复制粘贴进小rom中即可。
MIPS RAM设计
这个实验看似没什么,其实难度非常大,有几个细节要特别注意。
整体来看,实验要求我们根据MODE信号,WE信号,字节地址信号给出存储器访问的相关控制信号。虽然是一个组合电路设计,但是需要对内存地址有着比较深的理解。
- 字地址,也就是32位地址,由4个字节组成,因此按字节编址的话,地址末尾一定是00。而半字地址,末尾一定是0。本实验的输入没有做严格限定,要求我们相应MODE下对地址进行对齐。
- load信号一直有效,而写信号只有当WE=1时才有效。
- 32位数据由四片rom并行工作给出,16位选高两片或低两片,8位则只需1片rom工作。
- 给出的地址是字节地址,因此为了选中相应的rom,需要取出后两位判断;为了取出相应的半字,需要对第二低位进行判断。
- 送入写入端的数据,根据MODE和Din的相关位生成
首先,给出整体的架构图:
由于是字节地址,所以地址取2-11位,每片rom的地址都是一样的(因为这里是位拓展)。ld信号悬空,表示时刻有数据输出。str信号由各rom的 w i w_i wi信号相与给出,表示仅当写模式下,且该rom需要参与写时才有效。输入数据和输出数据分别由相应的通道给出,方便后续控制。
然后可以连好 D o u t Dout Dout:
- 读一个字节时,由最低两位来选中对应字节。
- 读两个字节时,由第二低位来确定在哪个组,然后输出半字。
下一步我们可以确定输入数据的取值,即根据mode的值来确定 D i