山东大学计算机组成原理课设 实验四

一、实验时间


第四次实验:2022年4月19日星期四,第7周
第二次部件级实验,算分

二、实验内容


1.实验目的


(1)完成随机存储器(RAM)读写系统结构设计;
(2)熟悉随机存储器(RAM)的读写时序;
(3)完成随机存储器(RAM)读写操作的微程序实现;
(4)熟悉随机存储器(RAM)的功能测试。

2.设计要求


在硬件平台上已经提供了2k*8的的随机存储器(RAM)
本此实验的主要内容是设计一个具体的电路,用来对这个RAM进行读写操作,并控制好时序


3.结构框架图


实验要求

1、完成对RAM中数据的读取

2、ROM中存储的仍然是我们写的微指令


4. 实验要求和基本思路

实验方案

方案说明: 1、PC=0,作为起始地址   2、采用存储器间接寻址方式获得操作数

实验逻辑流程

1、利用软件将编写的微指令存储到ROM当中,利用软件将数据存入RAM中

2、按下单脉冲CP,启动电路开始运行,upc(第一个mod256计数器)得到脉冲信号(同时发送μRD:ROM的读信号;CPμIR:微指令寄存器时钟信号)(该计数器初值设定与开关K0-K7绑定)

3、upc会输出00地址到ROM地址线,在读信号影响下读出00地址的内容,并送入IR中

4、第一条微指令开始执行,作用为:保持启动电路,使用二路数据选择器选择PC输出,提供读信号和MAR打入信号,取出RAM 0地址中的数据Ad1,放入MAR寄存器中,并使PC+1

(此时PC提供MAR地址)(从RAM读出数据送到MAR寄存器中)(MAR此时存储的是数据的真实地址)

5、由于启停电路接上连续脉冲,所以upc会自动读取下一条微指令

6、第二条微指令开始执行,作用为:保持启动电路,使用二路数据选择器选择MAR输出(此时MAR输出早就保持着了),此时数据选择器为RAM提供地址(由MAR提供),给RAM提供读信号,和MBR打入信号(MAR不能打入脉冲,因为这个数据不存在MAR中),取出RAM Ad1地址中的数据X,放入MBR寄存器中

7、第三条微指令开始执行,作用为:使用二路数据选择器选择PC输出,提供读信号和MAR打入信号,取出RAM 1地址中的数据Ad2,放入MAR寄存器中

8、第四条微指令开始执行,作用为:使用二路数据选择器选择MAR输出,提供写信号(此时RAM地址输出是用来存储)和MBR的使能端信号,将MBR中的数据X打入RAM的Ad2地址中
9、停机,使连续脉冲不再对电路起作用

内存写入

ROM写入:从00、01......往后写5条下面给的微指令就行

RAM写入:

整体功能实现 

利用PC作为地址从RAM中读取一个地址Ad1存在MAR中——》利用MAR读取Ad1作为地址在RAM中读取数据X存在MBR中——》利用PC作为地址从RAM中读取另一个地址Ad2存在MAR中——》把MBR中的数据X存入MAR地址中

测试数据执行顺序:1——》3——》2——》4


5. 微程序设计


上面的步骤全部需要通过微程序实现,总共需要五步,共五条微指令,写入ROM即可


微指令共24位:A23,A22,A21…A2,A1,A0
A7:HALT(停机指令)
A6:EN/WR(写RAM和使能信号)
A5:RD(读RAM)
A4:MARY(二路选择器选择MAR输出)
A3:PCY(二路选择器选择PC输出)
A2:CPMBR(MBR打入脉冲)
A1:CPMAR(MAR打入脉冲)
A0:CPPC(PC打入脉冲)

指令可以设计为:

三、电路图


1. 启动电路


本次实验使用实验平台上的连续脉冲,因此只需要按一次单脉冲键即可,连续脉冲会自动运行,并取出ROM中已经提前写入的所有微程序,直到停机指令的执行,因此需要在原本脉冲的基础上增加一个启动电路

启动电路具体的电路图在课件上有,这里我把它封装成一个单独的部件,以便之后可以复用

当HALT为1时,输出端CP一直为0,启动电路暂停运行。


特别提醒:最后的输出那里的非门一定不能少,一定不能少!!!

2. MBR寄存器


MBR寄存器和普通寄存器的功能类似,只是在输出端加上了三态门进行控制

特别注意:三态门的控制端EN,值为1的时候是通路,值为0的时候是高阻态

3.总图


特别注意:总图中包含了uPC和PC两个计数器,uPC负责给出ROM中的微程序的地址,而PC负责给出RAM中数据的地址

这里复用了之前实验的模256计数器和数据选择器

四、补充说明

1、如果一直不成功,请试试重新编译电路图后上传(一直不成功,重新编译后上传就成功了www)

2、如果仍然不成功,请一定仔细研究微指令,微指令里面有很多细节

  • 27
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十二月的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值