【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】

本文主要是介绍【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🕺作者: 主页

我的专栏
C语言从0到1
探秘C++
数据结构从0到1
探秘Linux

😘欢迎 ❤️关注 👍点赞 🙌收藏 ✍️留言

文章目录

    • 一、课程设计目的
    • 二、课程设计内容
    • 三、课程设计步骤
    • 四、课程设计总结

一、课程设计目的

理解计算机中重要部件—存储器,要求掌握存储扩展的基本方法,能设计 MIPS 寄存器堆、MIPS RAM 存储器。能够利用所学习的 cache 的基本原理设计直接相联、全相联,组相联映射的硬件cache。

二、课程设计内容

  1. 汉字字库存储芯片扩展实验
    1. 实验目的

理解存储系统进行位扩展、字扩展的基本原理,能利用相关原理解决实验中汉字字库的存储扩展问题,并能够使用正确的字库数据填充

  1. MIPS寄存器文件设计
    1. 实验目的

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

  1. MIPS RAM设计
    1. 实验目的

理解主存地址基本概念,理解存储位扩展基本思想,并能利用相关原理构建能同时支持字节、半字、字访问的存储子系统

  1. 全相联cache设计
    1. 实验目的

掌握 cache 实现的三个关键技术:数据查找,地址映射,替换算法,熟悉译码器,多路选择器,寄存器的使用,能根据不同的映射策略在 Logisim 平台中用数字逻辑电路实现 cache 机制

  1. 直接相联cache设计
    1. 实验目的

掌握 cache 实现的三个关键技术:数据查找,地址映射,替换算法,熟悉译码器,多路选择器,寄存器的使用,能根据不同的映射策略在 Logisim 平台中用数字逻辑电路实现 cache 机制

  1. 4路组相连cache设计
    1. 实验目的

掌握 cache 实现的三个关键技术:数据查找,地址映射,替换算法,熟悉译码器,多路选择器,寄存器的使用,能根据不同的映射策略在 Logisim 平台中用数字逻辑电路实现 cache 机制

  1. 2路组相联cache设计
    1. 实验目的

掌握 cache 实现的三个关键技术:数据查找,地址映射,替换算法,熟悉译码器,多路选择器,寄存器的使用,能根据不同的映射策略在 Logisim 平台中用数字逻辑电路实现 cache 机制

三、课程设计步骤

  1. 汉字字库存储芯片扩展实验
    1. 原理

汉字点阵为1616位。需要8片16K32位ROM来存储点阵信息。我们需要用4片4K32位ROM代替其中一片16K32位ROM。4K需要12根地址线,16K需要14根地址线。所以高位多余的两位作为片选信号。我们需要一个数据选择器,来进行选择输出那一片ROM中的数据。再根据数据进行分析,数据的最后两位是选片区的。所以将最后两位直接输入到选择器选择短。最后将数据对应连接,即可得到电路。

  1. 接线图

image.png

  1. MIPS寄存器文件设计
    1. 原理

首先需要实现读取逻辑。假设R1#和R2#分别为两位宽的信号,并且设置数据选择器的位宽也为两位。这样,我们可以通过R1#和R2#来确定RD1和RD2,从而获取指定编号寄存器中的数值。

举例来说,当R1#为10时,表示选择2号寄存器。每个寄存器的输出都需要连接到相应的数据选择器的数据输入端。

接下来,我们要实现写入逻辑。系统总共有4个寄存器,因此我们可以使用译码器将W#转换为4个片选信号,分别表示0-3号寄存器。

当WE为1时,表示可以进行数据写入。因此,我们可以将片选信号和WE信号通过与门进行连接。

最后,将数据输入连接到相应的寄存器即可得到完整的电路。

另外,需要注意的是,0号寄存器需要保持为零,所以数据输入也需要设置为零。

  1. 接线图

image.png

  1. MIPS RAM设计

    1. 原理
  2. 寄存器部分:使用4片8位寄存器,字节地址的低两位用于片选信号,其余位作为地址信号输入到寄存器中。

  3. 模式选择:使用模式选择信号Mode[1:0],通过译码器将模式信号转换为1位宽的信号,以便进行逻辑判断。

  4. 读取逻辑:

  • 字读取:当模式为字读取时,直接输出全部数据。
  • 半字读取:通过字节地址的第二低位确定输出哪个半字。
  • 字节读取:通过字节地址的低两位确定输出哪个字节。
  1. 写入逻辑:
  • 字写入:根据模式为字写入(00)
  • 字节写入:根据模式为字节写入(01)
  • 半字写入:根据模式为半字写入(10),字节地址的倒数第二位决定选择哪两个片选信号。
  1. 片选信号和存储器的写入信号进行连接,决定是否执行写入操作。

    1. 接线图image.png
  2. 全相联cache设计

    1. 原理

全相联映射是一种Cache存储方式,其中主存中的任意一块可以存在于Cache中的任意位置。这种映射方式可以提高命中率,但也增加了硬件开销。

当CPU访问Cache中的某一字节时,它会给出一个9位地址。其中低5位表示该字节在Cache块的32个字节中的位置,高4位表示该字节属于主存16个块中的哪一个块。

由于Block在Cache中的位置是不确定的,CPU在查找数据时首先使用9位地址中的块序号的高4位与Cache中块的序号进行比对。因此,在Cache中存储数据时需要额外的空间来存储块的序号,即Tag位。有时还需要一些空间来表示Cache的有效位,以标记Cache中的内容是否有效。在初始化时,这些有效位可以被置为0,表示无效状态。

  1. 接线图image.png

  2. 直接相联cache设计

    1. 原理
  3. 将主存地址拆分为标记(tag)、行索引(index)和字地址(offset)。

  • 标记位长度为11位,用于表示主存块在Cache中的唯一标识。
  • 行索引位长度为3位,用于选择Cache中的行。
  • 字地址位长度为2位,用于选择Cache块中的字节。
  1. 读取逻辑:
  • 使用行索引作为译码信号,获取对应行的选择信号。
  • 每个Cache槽需要包含三个寄存器:valid(有效位)、tag(标记位)和data(数据位)。
  • 使用三态门和行选择信号,将输入和输出数据分别与对应的寄存器连接。
  • 当数据有效且标记位与主存地址的标记位相同时,表示命中。
  1. 写入逻辑:
  • 当写入信号为真且未命中(即数据失效),需要将主存中的数据加载到Cache中。
  • 首先使用行索引选择对应的行,然后更新标记位、数据位和有效位。

通过上述逻辑实现直接相联映射关系的Cache,可以进行读取和写入操作,并根据标记位和有效位判断是否命中。

  1. 接线图image.png
  2. 4路组相连cache设计
    1. 原理

假设cache块大小为4W,共8行。字节地址为16位,分为tag、index和offset三个部分。由于块大小为4W,故offset为2位;cache共8行,一组有4行,因此index为1位;tag则为13位。

  1. 组索引译码器:组索引index字段经过组索引译码器生成若干组索引译码信号,这些信号用于选择对应的cache组。

  2. 数据输出控制:所有行数据输出采用三态门控制输出至系统数据总线。行译码信号L0-L7连接至对应的三态门控制端,只有组译码信号有效的组才会进行输出。这样可以确保同一时刻只有一行输出。

  3. 数据命中:当选中行的有效位为1且标记位与字节地址中的tag相同时,表示数据命中。命中信号hit控制最终的字选择多路选择器的使能端,确定具体输出选中行中哪一个字,从而实现数据的查找和访问。

  4. 数据未命中处理:Miss信号为1时表示数据未命中。当Miss信号和BlkReady信号同时为1时,结合组索引译码信号,通过淘汰计数器和LRU算法,决定替换组中的哪一行。然后对cache中相应行的valid信号、tag和data进行修改,最后取出正确数据。

    1. 接线图image.png
  5. 2路组相联cache设计

    1. 原理

原理和4路组相联cache相同

  1. 接线图image.png

四、课程设计总结

通过这次课程设计,我深入理解了计算机中重要部件——存储器,并掌握了存储扩展的基本方法。我学会了设计MIPS寄存器堆和MIPS RAM存储器,并能利用所学的基本原理设计直接相联、全相联和组相联映射的硬件cache。
在汉字字库存储芯片扩展实验中,我理解了存储系统进行位扩展和字扩展的基本原理,并成功解决了汉字字库的存储扩展问题。我学会了使用正确的字库数据填充,并将数据选择器与ROM进行连接,以实现对应数据的输出。
在MIPS寄存器文件设计中,我进一步熟悉了多路选择器、译码器和解复用器等Logisim组件的使用。我成功构建了MIPS寄存器文件,并实现了读取逻辑和写入逻辑。我了解到0号寄存器需要保持为零,因此在数据输入时也需要设置为零。
在MIPS RAM设计中,我理解了主存地址的基本概念和存储位扩展的基本思想。我成功构建了能同时支持字节、半字和字访问的存储子系统。我学会了使用模式选择信号和译码器进行逻辑判断,并根据不同的模式进行读取和写入操作。
在全相联cache设计中,我掌握了cache实现的三个关键技术:数据查找、地址映射和替换算法。我熟悉了译码器、多路选择器和寄存器的使用,并能根据不同的映射策略在Logisim平台中用数字逻辑电路实现cache机制。我学会了使用标记位、行索引和字地址来确定数据的位置和命中情况。
在直接相联cache设计中,我进一步加深了对cache实现的三个关键技术的理解。我学会了将主存地址拆分为标记、行索引和字地址,并通过译码器和有效位对数据进行选择和输出。我了解到需要设置有效位、标记位和数据位,并根据标记位和有效位判断是否命中。
在4路组相联cache设计和2路组相联cache设计中,我进一步加深了对cache实现的三个关键技术的掌握。我熟悉了组索引译码器和数据输出控制的使用,并了解到数据命中和数据未命中处理的过程。我学会了使用替换算法和LRU算法,以确定替换组中的哪一行,并对cache中的相关信号进行修改和取出正确数据。
通过这次课程设计,我不仅提高了对存储器的理解和设计能力,还加深了对数字逻辑电路的认识。我将继续努力学习,提高自己在计算机硬件方面的知识和技能。

这篇关于【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711792

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识