网络知识 娱乐 【计算机硬件系统设计(华科)——存储器设计(Logisim 实现)】

【计算机硬件系统设计(华科)——存储器设计(Logisim 实现)】

计算机硬件系统设计(华科)——运算器设计(Logisim 实现)

  • 前言
  • 汉字字库扩展
  • MIPS RAM 设计
    • 片选信号
    • 写入与读出控制
  • MIPS Regfile
  • Cache映射机制与电路实现
    • 直接相联映射
    • 全相联映射
    • 2路组相联
    • 4路组相联
  • 总结


前言

本章将继续介绍《计算机硬件系统设计》的关于存储器设计的内容。内容不尽完善,如有疑问欢迎评论留言,共同探讨学习。
在这里插入图片描述


汉字字库扩展

理解字扩展、位扩展基本原理。汉字显形本质是通过LED点阵显示字形,例如使用16*16的LED点阵,显示一个汉字则需要256位的二进制信息,通常没有如此庞大的字长存储器,所以需要使用位扩展以存储信息。

如 Logisim 中提供位长32的存储器,故需要 256 / 32 = 8 片存储器。

实验设计以GB2312编码为标准,GB2312 设计分区94个,每个区94的汉字,故使用

逻辑地址 = (区号 - 1)* 94 + (位号 - 1) 【区号、位号从“1”开始编号】

编码详情见:GB2312 标准

通过课程文件夹中给定的编码文件,进行合理划分并写入ROM,在数据寄存器的配合下以显示汉字。
在这里插入图片描述
进行字扩展时,高位做为地址信号,低位做为片选信号,使用译码器和多路选择器已实现数据的选择。
在这里插入图片描述
ROM中数据需要通过课件中字库数据文件进行二次划分,将对应数据写入对应的存储器中。


MIPS RAM 设计

构建支持字节访问,半字访问,字访问的存储系统,实现可变数据位宽,与实际计算机的存储系统相似。
在这里插入图片描述

片选信号

访问模式信号通过译码器确定访问方式。字节访问时,根据地址低两位确定存储器选片;半字访问时,根据第二位选择是高位数据还是低位数据;字访问设计最为简单,需要访问所有RAM片。

片选信号

写入与读出控制

使用多个多路选择器,控制选择器输出具体数据。写入控制,读出控制的逻辑比较简单。具体如图。
在这里插入图片描述
设计电路时主要注意数据位宽和数据对应的逻辑位置即可。

最后实现存储器电路设计。
在这里插入图片描述


MIPS Regfile

该组件的设计需要求是源于MIPS指令集的设计,具体可以参考MIPS CPU相关要求。设计逻辑也比较简单,如图。不再赘述。


Cache映射机制与电路实现

直接相联映射

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

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

由此可以将主存地址分为三部分:区地址 + 行地址 + 字地址
行地址可以确定数据存在Cache中具体哪一行,字地址按照读取方式确定,区地址明确数据位于主存哪一区。Cache行中除了设计数据寄存器,还需增加区地址寄存器,有效位标记寄存器等其他(按需)。具体设计如图。
在这里插入图片描述


全相联映射

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


2路组相联

在这里插入图片描述


4路组相联

在这里插入图片描述


总结

以上为存储器设计实验,实验难点在于Cache的设计与映射机制,多路组相联中没有再详细介绍,具体的映射逻辑可以参考MOOC中的讲解。

实验设计中有任何问题可以在评论区留言,希望可以和各位进行探讨,共同进步学习。