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

这篇具有很好参考价值的文章主要介绍了计算机组成原理实验 MIPS RAM设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、设计要求
    Logisim中RAM组件只能提供固定的地址位宽,数据输出也只能提供固定的数据位宽,访问时无法同时支持字节/半字/字三种访问模式,实验要求利用4个4K * 8 位的 RAM 组件进行扩展,设计完成既能按照8位、也能按照16位、也能按照32位进行读写访问的32位存储器,最终存储器引脚定义如下图。
计算机组成原理实验 MIPS RAM设计

计算机组成原理实验 MIPS RAM设计
                                                                          图1.1 实验电路框架图
计算机组成原理实验 MIPS RAM设计
                                                                       图1.2 电路引脚与功能描述
二、方案设计
    1.设计原理
     字节:8位
     半字:16位
     字:32位
计算机组成原理实验 MIPS RAM设计计算机组成原理实验 MIPS RAM设计
    2.设计思路
    RAM:
     因为要实现不同模式的访问,最小单位为字节,所以RAM位宽为8位,最大单位为字32位,所以一共需要4片8位RAM组件。
     把这四片RAM的数据对应标记为byte0,byte1,byte2,byte3
     字节地址输入:
     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的输入条件分类讨论(Mode:00字访问,01字节访问,10半字访问)
     输入r0条件: ①Mode=00; ②Mode=01,字节地址末两位为00; ③Mode=10,字节地址倒数第二位为0
     输入r1条件: ①Mode=00; ②Mode=01,字节地址末两位为01; ③Mode=10,字节地址倒数第二位为0
     输入r2条件: ①Mode=00; ②Mode=01,字节地址末两位为10; ③Mode=10,字节地址倒数第二位为1
     输入r3条件: ①Mode=00; ②Mode=01,字节地址末两位为11; ③Mode=10,字节地址倒数第二位为1
     可构造数字逻辑电路得到写入的片选信号,与写使能信号通过或门,即可确定是否写入数据。
     综上所述,设计完成了既能按照8位、也能按照16位、也能按照32位进行读写访问的32位存储器。
     3.设计电路图
计算机组成原理实验 MIPS RAM设计

三、实验步骤
     1.下载educoder平台上的初始代码,并用Logisim打开
     2.连接好RAM以及时钟、使能端等
计算机组成原理实验 MIPS RAM设计

     3.读出逻辑实现(从左到右为字读出、半字读出、字节读出)
计算机组成原理实验 MIPS RAM设计
计算机组成原理实验 MIPS RAM设计

     4.写入逻辑及写入片选信号逻辑实现
计算机组成原理实验 MIPS RAM设计
计算机组成原理实验 MIPS RAM设计

     5.调整布局,使线路整体匀称、美观
计算机组成原理实验 MIPS RAM设计

四、故障与调适
     按照整体思路连接后,在“MIPS RAM测试”子电路进行测试,发现并没有出现“PASS”,而是“FAIL”
计算机组成原理实验 MIPS RAM设计
     原因分析:
     通过对右下方报错信息分析,结合对每一部分电路的检查,发现是在“Dout”电路中,半字和字节的连接顺序连接错误
计算机组成原理实验 MIPS RAM设计

     解决方案:
     将半字和字节的连接顺序调换,实现正确的逻辑
计算机组成原理实验 MIPS RAM设计

五、测试与分析
     在“MIPS RAM测试”子电路中,按下CTRL+K进行自动测试
计算机组成原理实验 MIPS RAM设计

     Educoder平台测试结果
计算机组成原理实验 MIPS RAM设计
六、实验总结
     1.根据实验要求,结合各个引脚要求实现的功能进行整体构思
     2.对功能进行划分,确定各引脚功能实现的顺序,采取“逐个击破”策略
     3.对引脚功能的实现进行具体设计(从RAM连接到片选信号的设计)
     4.将各部分功能电路组合起来,争取实现目标要求,并进行测试
     5.根据测试结果,寻找并纠正错误,完成电路设计
------
     本次实验看似简单,其实难度还是比较大,有几个细节要特别注意。整体来看,实验要求我们根据MODE信号,WE信号,
字节地址信号给出存储器访问的相关控制信号。虽然是一个组合电路设计,但是需要对内存地址有着比较深的理解。
     刚刚开始实验时,一时间不知从哪里入手,还是去MOCC慕课听了谭老师讲解的一些注意事项,又深入了解学习了内存地址
后才逐渐摸到门道。最终在不断试错、结合前辈经验一路“摸爬滚打”构建出了实验的大体框架。在连接完电路后,我又结合之前实验对隧道的妙用,对电路进行了美化,自我感觉还是很好的。总之通过这次实验大大加深了我对内存地址的理解,对于Logisim的使用以及对逻辑电路的美化也是一次很好的训练,总之这次实验我收获很多!

参考:
https://zhuanlan.zhihu.com/p/144958263
https://blog.csdn.net/weixin_45775050/article/details/122974628
https://blog.csdn.net/gyp0205/article/details/124694193?spm=1001.2014.3001.5502文章来源地址https://www.toymoban.com/news/detail-439490.html

到了这里,关于计算机组成原理实验 MIPS RAM设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包