计算机组成原理实验 MIPS RAM设计

发布时间:2026/8/8 22:05:19

计算机组成原理实验 MIPS RAM设计
一、设计要求Logisim中RAM组件只能提供固定的地址位宽数据输出也只能提供固定的数据位宽访问时无法同时支持字节/半字/字三种访问模式实验要求利用4个4K * 8 位的 RAM 组件进行扩展设计完成既能按照8位、也能按照16位、也能按照32位进行读写访问的32位存储器最终存储器引脚定义如下图。图1.1 实验电路框架图图1.2 电路引脚与功能描述二、方案设计1.设计原理字节8位半字16位字32位2.设计思路RAM:因为要实现不同模式的访问最小单位为字节所以RAM位宽为8位最大单位为字32位所以一共需要4片8位RAM组件。把这四片RAM的数据对应标记为byte0byte1byte2byte3字节地址输入:Addr为12位字节地址RAM的地址位宽为10位所以可用分线器将字节地址低2位作为片选地址高10位为RAM的块内地址每个RAM可输出一个字节。读出数据:字读出时直接将四个RAM的数据全部输出半字读出时根据字节地址倒数第二位决定输出哪个半字(此时忽略字节地址最低位倒数第二位实现片选)字节读出时根据字节地址低两位决定输出哪个字节(字节地址低两位实现片选)写入数据:设每一个RAM的输入分别为r0,r1,r2,r3.字写入时r0,r1,r2,r3分别得到Din的第0 ~ 7,8 ~ 15,16 ~ 23,24 ~ 31位半字写入时根据边界对齐和忽略高位的原则r0和r2得到Din的第0 ~ 7位r1和r3得到Din的第8 ~ 15位然后根据写入的片选信号选择高半字或低半字存储字节写入时根据忽略高位的原则r0,r1,r2,r3都得到Din的第0 ~ 7位然后根据写入的片选信号选择一个RAM写入写入数据时的片选信号:可以结合Mode对r0,r1,r2,r3的输入条件分类讨论Mode00字访问01字节访问10半字访问输入r0条件: ①Mode00; ②Mode01,字节地址末两位为00; ③Mode10,字节地址倒数第二位为0输入r1条件: ①Mode00; ②Mode01,字节地址末两位为01; ③Mode10,字节地址倒数第二位为0输入r2条件: ①Mode00; ②Mode01,字节地址末两位为10; ③Mode10,字节地址倒数第二位为1输入r3条件: ①Mode00; ②Mode01,字节地址末两位为11; ③Mode10,字节地址倒数第二位为1可构造数字逻辑电路得到写入的片选信号与写使能信号通过或门即可确定是否写入数据。综上所述设计完成了既能按照8位、也能按照16位、也能按照32位进行读写访问的32位存储器。3.设计电路图三、实验步骤1.下载educoder平台上的初始代码并用Logisim打开2.连接好RAM以及时钟、使能端等3.读出逻辑实现(从左到右为字读出、半字读出、字节读出)4.写入逻辑及写入片选信号逻辑实现5.调整布局使线路整体匀称、美观四、故障与调适按照整体思路连接后在“MIPS RAM测试”子电路进行测试发现并没有出现“PASS”而是“FAIL”原因分析通过对右下方报错信息分析结合对每一部分电路的检查发现是在“Dout”电路中半字和字节的连接顺序连接错误解决方案将半字和字节的连接顺序调换实现正确的逻辑五、测试与分析在“MIPS RAM测试”子电路中按下CTRLK进行自动测试Educoder平台测试结果六、实验总结1.根据实验要求结合各个引脚要求实现的功能进行整体构思2.对功能进行划分确定各引脚功能实现的顺序采取“逐个击破”策略3.对引脚功能的实现进行具体设计从RAM连接到片选信号的设计4.将各部分功能电路组合起来争取实现目标要求并进行测试5.根据测试结果寻找并纠正错误完成电路设计------本次实验看似简单其实难度还是比较大有几个细节要特别注意。整体来看实验要求我们根据MODE信号WE信号字节地址信号给出存储器访问的相关控制信号。虽然是一个组合电路设计但是需要对内存地址有着比较深的理解。刚刚开始实验时一时间不知从哪里入手还是去MOCC慕课听了谭老师讲解的一些注意事项又深入了解学习了内存地址后才逐渐摸到门道。最终在不断试错、结合前辈经验一路“摸爬滚打”构建出了实验的大体框架。在连接完电路后我又结合之前实验对隧道的妙用对电路进行了美化自我感觉还是很好的。总之通过这次实验大大加深了我对内存地址的理解对于Logisim的使用以及对逻辑电路的美化也是一次很好的训练总之这次实验我收获很多参考https://zhuanlan.zhihu.com/p/144958263https://blog.csdn.net/weixin_45775050/article/details/122974628https://blog.csdn.net/gyp0205/article/details/124694193?spm1001.2014.3001.5502

相关新闻

【Bug已解决】Misleading ImportError when using JAX tensors without Flax installed 解决方案

【Bug已解决】Misleading ImportError when using JAX tensors without Flax installed 解决方案

2026/8/8 21:55:19

【Bug已解决】Misleading ImportError when using JAX tensors without Flax installed 解决方案 一、现象长什么样 你想用 JAX 张量(比如从一个 Flax 模型、或加载了 jax 后产生的数组)走 transformers 的某条路径,但环境没装 flax&#xff…

小模型 Agent 的真正难题: 不是不够聪明,而是系统还不会组织智能

小模型 Agent 的真正难题: 不是不够聪明,而是系统还不会组织智能

2026/8/8 21:55:19

把 70B 模型换成 3B 模型,通常不是一次“降本部署”,而是一次系统重写。小模型擅长的不是在开放世界里独自完成所有思考,而是在状态被外置、动作被约束、结果可验证、失败能恢复的闭环里高频执行。 先给结论: 小模型 Agent 的核心…

CC Switch深度链接终极指南:3分钟完成AI配置导入的革命性方法

CC Switch深度链接终极指南:3分钟完成AI配置导入的革命性方法

2026/8/8 21:55:19

CC Switch深度链接终极指南:3分钟完成AI配置导入的革命性方法 【免费下载链接】cc-switch A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io 项目…

Linux LVM自动化扩容实战与优化技巧

Linux LVM自动化扩容实战与优化技巧

2026/8/9 1:05:27

1. 为什么需要自动化LVM扩容?在Linux服务器运维中,磁盘空间管理是个永恒的话题。我管理过上百台生产服务器,最常遇到的报警就是"磁盘空间不足"。传统的手动扩容方式需要登录服务器执行一系列命令,在云计算和容器化时代&…

C++无锁数据结构实战:从原子操作到高性能栈与队列实现

C++无锁数据结构实战:从原子操作到高性能栈与队列实现

2026/8/9 1:05:27

1. 项目概述:为什么我们需要无锁数据结构?如果你写过C多线程程序,并且在高并发场景下被锁的性能问题折磨过,那么“无锁数据结构”这个概念对你来说,可能就像一剂解药。我经历过一个典型的场景:一个高频交易…

Python轻量级桌面GUI开发:pywebview跨平台实践指南

Python轻量级桌面GUI开发:pywebview跨平台实践指南

2026/8/9 1:05:27

1. 项目概述pywebview是一个轻量级的Python库,它允许开发者使用系统原生WebView组件创建桌面GUI应用。这个库本质上是在Python和操作系统原生Web渲染引擎之间搭建了一座桥梁,让开发者能够用HTML/CSS/JavaScript构建界面,同时用Python处理业务…

哈希表原理与Two Sum问题高效解法

哈希表原理与Two Sum问题高效解法

2026/8/9 1:05:27

1. 哈希表与Two Sum问题概述Two Sum问题可以说是算法面试中的"Hello World",几乎每个准备技术面试的人都遇到过这道经典题目。题目描述很简单:给定一个整数数组nums和一个目标值target,在数组中找到两个数,使它们的和等…

ThinkPHP与Laravel混合架构的企业订单系统实践

ThinkPHP与Laravel混合架构的企业订单系统实践

2026/8/9 1:05:27

1. 项目概述:企业订单管理平台的框架选型思考这个名为"Thinkphp和Laravel创新型产品提前购企业订单管理平台_938re"的项目,本质上是一个基于PHP生态构建的企业级订单管理系统。作为一名长期深耕PHP开发的工程师,我理解这类平台的核…

超声心动图(EKG)疾病分类数据集

超声心动图(EKG)疾病分类数据集

2026/8/9 0:55:27

摘要:本数据集是一个经过专业验证的超声心动图(EKG)图像集合,由波兰Marian心脏中心的专家团队进行了严格的医学验证和标注。数据集简介数据集概述本数据集是一个经过专业验证的超声心动图(EKG)图像集合&…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/9 0:05:25

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/9 0:05:25

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/9 0:05:25

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/9 0:05:25

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/9 0:05:25

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/9 0:05:25

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/7 8:02:42

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…