头歌计算机组成原理存储系统设计实验报告(字库存储芯片,MIPS寄存器文件设计)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

实验三 存储系统设计实验

本次实验只有两道题目但其实具有一定难度这两题分别为汉字字库存储芯片扩展实验和MIPS寄存器文件设计这次实验利用logisim进行设计实验报告分为两个主要部分在这两个部分中依次对两个实验的方案设计设计思路进行了介绍

1 字库存储芯片

1.1设计要求

现有如下 ROM 组件4片4K32位 ROM 7片 16K32位 ROM实验中有一个 16*16 点阵字库文件存储字库的存储系统由 7 片 16K× 32 位 ROM 和一个空白器件构成。空白处表示缺少一个器件请按照字扩展容量扩展地址线扩展的方式利用图中第一行所给出的 4 片 4K×32 位 ROM 的 存储器完成最终字库存储器并把字库数据进行简单的分割后存入这 4 片 4K ×32 位的 ROM 中
2020051041 张志蕾 字库原文件

字库电路输入输出引脚如图所示输入引脚是 7 位的区号和位号输出 引脚是 32 位的 D7~D0每一个输出都是 32 位的汉字点阵信息用于连接到汉 字点阵输入端拆分为高低 16 位
2020051041 张志蕾 字库电路引脚图

1.2设计原理

1.2.1 字括展

由题目得要求我们用4片4K×32 位ROM按照字扩展的括展方式实现16K×32位ROM因此这边给大家介绍一下字括展的原理
字括展也称为容量括展或地址总线括展当存储芯片的存储容量不能满足存储器对存储容量的要求时需要进行字括展的方式来括展其中需要将所有存储芯片的数据线读写控制线各自并联同时分别与CPU的数据线和读写控制线连接各存储芯片的片选信号可以由CPU多余的地址线通过译码器译码产生通过计算得出为实现上图电路共需要16K/4K=4个ROM芯片实现

1.2.2 地址线连接

cpu分为地址线、数据线和控制线地址线是用来传输地址信息用的因为需要16K×32位的ROM系统所以目标芯片中含有16K个地址对应着14条地址线2的14次方=16K,其中备用芯片12条地址线高两位分线器分开用作片选可以接到2-4译码器的输入端在这边的话需要分线器进行工作将14个地址分开分为低12位和高两位对其进行编辑将0-11设为0其他位为1高两位地址用于芯片的选择。
低 12 位地址直接连 4K×32b 的 ROM 芯片的地址线。4 个芯片的 32 位输出直接连到 D1因为同时只有一个芯片工作因此不会冲突

1.2.3 数据线连接

题目告诉我们数据为32位但输出LED矩阵位为16×16所以说该数据线应该有16位
每个16K×32b 的 ROM 的内部各自存储 16K 个地址每个地址里存放 4 个字节数据。地址范围都一样0x0000~0x3FFF
4 个 4K×32b 的 ROM地址范围分别是也都一样0x000~0xFFF每个共有 4K个地址现在需要把 16K×32b 的 ROM 中的数据按照顺序 每 4K 个为一组分为四组分别放到 4 个 4K×32b 的 ROM 中去。 HZK16_1 .txt 中的 1~4096 个数据放到 0 号 4K 的 ROM 中4097~ 8192 个数据放到 1 号 4K 的 ROM 中8193~12288 个数据放到 2 号 4K 的 ROM 中12289~16384 个数据放到 3 号 4K 的 ROM 中

1.2.4 片选信号连接

在运行时还需要对于片选信号线进行连接将鼠标放置在上面会得到相应的记录如得到信号是1不工作。对于连接片选信号线可以选择译码器或是多路选择器我选择的是译码器连接原理为将整个存储系统地址线的高位用于译码器的输入端而译码器的输出端用于连接四个芯片各自合适的片选信号线。
在页面中增加一个译码器数据位宽改为2对于连发需要进行讨论对应的16K数据放置芯片位置需要对应其译码器的连接

1.3实验步骤

  1. 理解题目按照实验要求对四个4×32位的芯片进行字括展使其成为16K×32位的芯片

  2. 了解数据线地址线片选信号的连接方式然后进行连接

  3. 地址线通过分线器来进行分离其中还需要对其中的数据进行调整分为高2位和低14位高位为1低位为0
    2020051041 张志蕾 分线器截图

  4. 之后对于片选信号进行连接加入译码器其中译码器位宽为2可选为00011011四个信号

2020051041 张志蕾 译码器设计

  1. 进行编译测评改正错误

1.4故障与调试

1.4.1 LED灯展示不正确
故障现象LED无法正确明亮与熄灭
2020051041 张志蕾 故障图

原因分析结果检查线条的连接没有问题应该是只读存储器中存储的数据存在问题
解决方案四个4K×32位的ROM当中数据并不是平分的并且对于不同的连接方式前4k的数据需要放在不同的芯片当中

1.5测试与分析

自行测试与头歌网测试皆正确
2020051041 张志蕾 自测
2020051041 张志蕾 头歌网测评

1.6最终电路图

在这里插入图片描述

2 MIPS寄存器文件设计

2.1设计要求

利用 Logisim平台构建一个简化的MIPS寄存器文件内部包含 4个 32 位寄存器。通过 R1#、R2#给定两个寄存器的地址编号就可以从右侧的 R1、R2 引脚 读读出对应寄存器的值。 输入引脚还包括写入寄存器的编号 W#数据写入引脚 Din当写使能信号 WE 有效时钟的配合下将数据总线上的数据通过 Din 端写入寄存器文件内部对 应的寄存器中具体引脚为下图所示
2020051041 张志蕾 引脚展示
2020051041 张志蕾 寄存器文件封装

2.2设计原理

2.2.1 封装

首先需要看寄存器文件的封装由输入引脚R1,R2,W#Din,WECLK时钟信号
2020051041 张志蕾 引脚作用

2.2.2 读控制电路设计

R1,R2分别为读寄存器的编号我们寄存器设计好之后一次可以读入两个寄存器里面的值那么指定哪两个寄存器里面的值输出呢那就需要我们通过R1#,R2#这两个信号给出寄存器的编码然后RD1,RD2分别是寄存器一二的数据输出引脚它工作原理为如果对寄存器文件进行读的话可以读出寄存器中的值寄存器由R1#,R2#的编号来指定是那两个寄存器值由RD1,RD2进行输出。
由指令执行过程中需要读两个寄存器的值把他们送到目的寄存器中所读寄存器的编号由电路设计决定为源寄存器中的编码决定的由RD1,RD2进行输出。
数据输出可以根据 R1#、R2#的编码控制多路选择器进行选择输出。也可以采用译码器+三态门进行输出控制。由于这里需要同时读出两个寄存器所以相关逻辑必须有两份。

2.2.3 写控制电路设计

W#这个输入引脚是写寄存器的时候用写寄存器时要求WE,W#信号有效然后数据从Din输入引脚写入数据Din为32位所有寄存器皆为32位。WE为写使能信号数据必须由W#指定写入哪个寄存器同时WE有效在时钟脉冲下将Din端数据写到寄存器文件由W#指定中。
在指令执行时通过分线器将相应位提取出来相应位代表着最终指令执行之后想写入的目的寄存器的编号数据送到Din端然后RegWrite也就是写使能信号有效后由CLK信号把指定寄存器的数据写入。
写入时根据 W#收到的写入寄存器编号利用译码器或多路选择器选择具体 寄存器写信号 WE 和译码信号同时有效时令寄存器的使能端 en=1

2.3实验步骤

1理解题目按照实验要求进行电路连接
2W#为两位可能值为00011011。当值不同时选择不同寄存器所以加入译码器通过W#输出信号由输出信号进行选择
3写信号还需要别的信号有效才具备写入条件如何控制写入寄存器将WE和译码信号的值送入使能端=1时可以写入
4查看寄存器片选信号如为1有效为0无效
5同步置1和清零可不连可以将电源连到地线一直无效
6写入数据要把数据输出引脚连在对应寄存器输入引脚
7选择与门并更改与门位宽W#需要译码器改为两位W#连到译码器输入端然后译码器四个输出引脚WE是1时W#如果也是1与门相连
8按要求连接进行测试

2.4故障与调试

2.4.1 位宽不匹配

故障现象LED无法正确明亮与熄灭

2020051041 张志蕾 错误图

原因分析题目只给出四个寄存器所以只需要两个位宽就足够
解决方案将位宽改为2
2.5测试与分析
自行测试与头歌网测试皆正确

在这里插入图片描述

2.6最终电路图

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“头歌计算机组成原理存储系统设计实验报告(字库存储芯片,MIPS寄存器文件设计)” 的相关文章