史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载

目录

第1关:汉字字库存储芯片扩展实验

第2关:MIPS寄存器文件设计

第3关:MIPS RAM设计

第4关:全相联cache设计

第5关:直接相联cache设计

第6关:2路组相联cache设计

第7关:4路组相连cache设计


第1关:汉字字库存储芯片扩展实验

首先来看看参考字库的实现,16*16点阵需要256位的像素信息驱动LED矩阵,所以我们需要利用32位的芯片构造对应的汉子字库。
需要256/32=8片 ROM,ROM组件地址线14位,具体规格为16K32
将4片的8×32位的存储器通过字扩展成一片16K32位的ROM。

❗字扩展和位扩展都是什么东西?

字扩展:加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。

位扩展:用多个存储器器件对字长进行扩充。位扩展的连接方式是将多片存储器的地址、片选CS、读写控制端R/W相应并联,数据端分别引出。

设计思路:根据实验要求,要将4片8K32 位 ROM通过字扩展扩展成一片16K32位ROM,已给电路中地址线的位数是14位,因此将低12位地址通过分线器引出,用来将4片8K32位的ROM并联,数据端D分别与数据线相连。将14位地址线的高两位通过分线器引出连接多路选择器的选择端,四个8K32位ROM的数据端与多路选择器数据端相连,字扩展完成。

第一步:根据上述思路设计出来的电路如图3.1所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第1张图片

图3.1 汉字字库存储芯片扩展电路图

第二步:数据的复制迁移

把参考字库中的输出D1信号的ROM芯片的数据按照下面的分块分别的复制到对应的寄存器中。

0000-0FF0行 放在第一块8×32的存储器中
1000-1FF0行 第二块
2000-2FF0行 第三块
3000-3FF0行 第四块

参考字库ROMD1的内容如图3.2所示,按照上面的分组分别把数据拷贝到对应的寄存器中。

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第2张图片

图3.2 参考字库ROM的内容

第三步测试:

进入测试电路,查看测试结果结果如图3.3所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第3张图片

图3.3 测试结果

第2关:MIPS寄存器文件设计

设计思路:

        通过一个解码器解码选择对应的寄存器存入数据,这个地方解码器接出来的值还需要与WE信号做与,当WE为1的时候才可以把数据存入寄存器中,然后就是用数据选择器,当与的结果=0的时候就存之前寄存器中的值,否则就存Din的值,输出也就使用一个数据选择器就好了。

按以上思路设计的电路图如图3.4所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第4张图片

图3.4 MIPS RAM电路图

第3关:MIPS RAM设计

首先我们需要知道电路引脚都是什么意思,引脚的含义如图3.5所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第5张图片

图3.5 引脚含义

Mode 00表示字访问,01表示字节访问,10表示双字节访问

思路设计:

        我们只需用mode来提取每一片的数据D1234,然后再通过mode来旋转是那一片的芯片需要存储数据并且与WE进行与操作,只要WE=0就是进行读数据。

设计电路图如图3.6~3.7所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第6张图片

图3.6 MIPS寄存器文件电路图

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第7张图片

图3.7MIPS寄存器文件电路图

第4关:全相联cache设计

        主存数据块可以放置于Cache中任意一块,因此Cache在记录数据块地址时,需要记录其在主存的地址。Cache在命中比较时,使用Cache中所以行中的主存标记并发比较,以判断命中与否。

引脚图如图3.8所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第8张图片

图3.8 全相联cache引脚图

电路图如图3.9所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第9张图片

图3.9 全相联cache电路图

第5关:直接相联cache设计

电路引脚图如图3.10所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第10张图片

图3.10 直接相联电路引脚图

直接相联映射

主存中某块会被放置于Cache中固定位置。

设Cache块号为 i,共n块,主存块号为 j,则 i = j mod n

由此可以将主存地址分为三部分:区地址 + 行地址 + 字地址

行地址可以确定数据存在Cache中具体哪一行,字地址按照读取方式确定,区地址明确数据位于主存哪一区。Cache行中除了设计数据寄存器,还需增加区地址寄存器,有效位标记寄存器等其他(按需)。具体设计如图3.11所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第11张图片

图3.11 直接相联cache电路

第6关:2路组相联cache设计

将Cache分成若干个组,每个组有两个块,每个块可以存储一个数据块。当一个数据块从主存调入Cache时,Cache中可用于存放该数据块的位置(称为候选位置)的个数是两个。

电路图如图3.12~3.13所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第12张图片

图3.12 2路组相连cache电路图

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第13张图片

图3.13 2路组相连cache电路图

第7关:4路组相连cache设计

4路和2路的区别也就在于一个分组的数据块不一致,一个分组中是2个块一个是4个块。

4路组相连cache的电路图如图3.14~3.16所示:

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第14张图片

图3.14 4路组相连cache电路图

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第15张图片

图3.14 4路组相连cache电路图

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载_第16张图片

图3.x 14路组相连cache电路图

这个地方我把代码的源文件也附上,有需要下载的也可以自行去下载噢!

华中科技大学实验存储系统源码资源-CSDN文库

你可能感兴趣的:(java)