计算机组成原理-实验三 存储器实验(详细、系统)
如果你对其他计算机组成原理的知识感兴趣,请考虑阅读我的专栏
须知
本文仅作学习笔记使用,仅在****网站发布,如果在其他网站发现,均为侵权行为,请举报。作者:小王在努力。
实验要求
基本要求
-
理解计算机存储子系统
-
使用功能等效电路设计并验证静态随机访问存储器芯片
-
设计并验证计算机内存的组成与功能(含ROM和RAM)
扩展要求
-
分别用IO内存统一和独立编址增加4K的IO地址(扩展)
-
实现CPU接口DR寄存器(扩展)
思考问题
思考计算机系统IO和存储的工作效率怎样最大化
实验步骤
一、理论分析
基本要求:由于实验用验证静态随机访问存储器芯片,所以选用6116来作为存储器芯片,我们用74LS373来充当MAR以及MDR,以此来设计实验。
扩展要求:由于要实现IO内存的统一编址和独立编址,要求为4K,独立编址:采用两个芯片,6116充当主存单元,6264充当IO地址。统一编址:采用一个6264充当主存芯片,将主存和IO进行统一编址。其中6116的功能表:
/CE | /OE | /WE | 方式 | D0-D7 |
---|---|---|---|---|
H | X | X | 未选中 | 高阻 |
L | L | H | 读 | Dout |
L | H | L | 写 | Din |
L | L | L | 写 | Din |
二、实现方法
- 基本要求
由于实验用验证静态随机访问存储器芯片,其实本质上就是模拟在主存中存储数据的过程,而在主存中存储数据分为两大步:1.选中对应地址的主存单元。2.将数据写入主存中。
现在将这两步细分,首先给出地址,地址通过高低电平给出,打开74LS245的开关,将地址运送到总线上,此时,由编号为U3的74LS373来充当MAR(也就是地址寄存器,保存地址用的),我们将总线的地址写入到MAR中,然后让其读出到模拟主存的6116的地址端。此时已经完成了第一大步,选中对应地址的主存单元。然后我们还是通过高低电平给出想要的存储的数据,打开74LS245,将要保存的数据放到总线上,然后打开编号为U5的74LS245的开关,让保存的数据从总线上通过U5到达模拟主存的6116的数据端,此时我们使用6116的写入功能,就可以将要保存的数据保存在之前选中的地址单元中 了。
由于扩展要求实现MDR(存储数据的寄存器)的功能,所以我们用U6来充当MDR,只需将6116的读出的数据保存在MDR中,并输出即可。
- 扩展要求:
独立编址:
将主存和IO分开进行编址,核心为编制位数不同,用6116的8位地址作为主存地址,范围为0000 0000-1111 1111,用6264的12位地址作为4K的IO地址,范围为0000 0000 0000-1111 1111 1111,其中IO开关做片选信号,高电平时,代表输入的地址为12位,打开U474Ls245(使得后四位地址也能输入到总线上),关闭主存6116,选中6264;低电平时,代表输入的地址为8位,关闭U474LS245(使得只能有8位地址输入到总线上),选中6116。
统一编址:
将主存和IO设备进行统一编址,总共用到了13位地址线,其中IO的存储地址范围为:0
0000 0000 0000-0 1111 1111 1111,而,主存的存储范围为:1 0000 0000 0000-1 1111 1111 1111
三、实验结果分析
我们在低位为0000 0110的主存单元内写入一个英文字母W,W的ASCII为0101 0111。
1. MAR写入地址:
2. 给6116对应地址写入W的ASCII值(0101 0111)
3. 读出6116的数据(W的ASCII)并写入到MDR中:
4. 读出MDR中存储的数据W的ASCII:
独立编址,给出地址1111 0110,位数为8位,为主存地址,选中6116的主存单元:
独立编址,给出地址1111 0000 0110,位数为12位,为IO端口地址,选中6264的IO端口地址: 统一编址,选中地址为0 0000 0000 0110的IO端口地址:
统一编址,选中地址为1 0000 0000 0110 的主存地址:
四、思考问题
可以用高速缓冲机制,多体交叉,多通道技术来提高效率。
五、问题及解决办法
问题:如何在proteus里面寻找SRAM、DRAM、ROM等存储器原件。
解决办法:
1. 在选中元器件中,选中Memory ICs,查看其子类别。
2.子类中含有ROM、SRAM、DRAM等。
3.其中的元器件不一定都能用,标识为:Schematic Model表示能够使用,标识为No Simulator Model则表示不能使用(别问为啥要写这个,问就是博主拿了一个不能用的测试了半天,报错了,半天还不知道哪里错了〒▽〒)。
六、结论
通过此次学习,我了解了6管SRAM的结构的同时,也了解的计算机内部存储器的工作过程,学会了如何在元器件库中寻找ROM、DRAM、SRAM等元器件,使用6116来模拟主存进行存储数据,了解了IO的独立编址和统一编址,并了解了如何提高IO和存储器的工作效率。
后话
- 首先给大家说一下,博主经常在线,如果有什么问题或者想法,可以在下方评论,我会积极反馈的。
- 其次还是要请大家能够多多指出问题,我也会在评论区等候大家!
.