怎么学计算机组成原理实验,计算机组成原理学习-实验三 存储器实验(详细、系统)...

本文详细介绍了计算机组成原理实验,包括使用6116 SRAM芯片设计存储子系统,理解主存和IO的独立与统一编址。通过理论分析、实现方法和实验步骤,阐述了数据存取过程,探讨了提高存储器和IO效率的策略。同时,分享了在Proteus中寻找和使用存储器元件的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你对其他计算机组成原理的知识感兴趣,请考虑阅读我的专栏

计算机组成原理【专栏】

须知

本文仅作学习笔记使用,仅在优快云网站发布,如果在其他网站发现,均为侵权行为,请举报。作者:小王在努力。

存储器实验

须知

实验要求

基本要求

扩展要求

思考问题

实验步骤

一、理论分析

二、实现方法

三、实验结果分析

四、思考问题

五、问题及解决办法

六、结论

后话

实验要求

基本要求

理解计算机存储子系统

使用功能等效电路设计并验证静态随机访问存储器芯片

设计并验证计算机内存的组成与功能(含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中,并输出即可。

f93c7d0165a34d51580c37e9b599c753.png

扩展要求:

独立编址:

将主存和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。

c2eec74f4dd00c7ca2bc234b8d30fa24.png

统一编址:

将主存和IO设备进行统一编址,总共用到了13位地址线,其中IO的存储地址范围为:0

0000 0000 0000-0 1111 1111 1111,而,主存的存储范围为:1 0000 0000 0000-1 1111 1111 1111

15ce770c031d1d0afb92bdf3e81c298c.png

三、实验结果分析

我们在低位为0000 0110的主存单元内写入一个英文字母W,W的ASCII为0101 0111。

1. MAR写入地址:

40d086b3ea0f660a74fb8d86b67f24dd.png

2. 给6116对应地址写入W的ASCII值(0101 0111)

bafeac368e93909f76648a24f7eed0a1.png

3. 读出6116的数据(W的ASCII)并写入到MDR中:

db9fc76f0a203386d20ff42573d33554.png

4. 读出MDR中存储的数据W的ASCII:

f58852d1e673fbbd8acce67ae2553887.png

独立编址,给出地址1111 0110,位数为8位,为主存地址,选中6116的主存单元:

c7fdf5f06a423ce460621bac2044a7c4.png

独立编址,给出地址1111 0000 0110,位数为12位,为IO端口地址,选中6264的IO端口地址:

149dbd2354d951770e0ab8dee2418ee4.png 统一编址,选中地址为0 0000 0000 0110的IO端口地址:

456d62a244260334eadc63c4e94e0749.png

统一编址,选中地址为1 0000 0000 0110 的主存地址:

ee56130ee73d9d8fd5d4e37ee70c8aa8.png

四、思考问题

可以用高速缓冲机制,多体交叉,多通道技术来提高效率。

五、问题及解决办法

问题:如何在proteus里面寻找SRAM、DRAM、ROM等存储器原件。

解决办法:

1. 在选中元器件中,选中Memory ICs,查看其子类别。

cb2f463e4eb676428b8c789853a84ddd.png

2.子类中含有ROM、SRAM、DRAM等。

54dcb910bf1958fadd62f010384dd619.png

3.其中的元器件不一定都能用,标识为:Schematic Model表示能够使用,标识为No Simulator Model则表示不能使用(别问为啥要写这个,问就是博主拿了一个不能用的测试了半天,报错了,半天还不知道哪里错了〒▽〒)。

2ea3b1ddd6ed65f9709ec6e8feb8b5b6.png

6f1a406b6b20237e60dbb9a86b5957b3.png

六、结论

通过此次学习,我了解了6管SRAM的结构的同时,也了解的计算机内部存储器的工作过程,学会了如何在元器件库中寻找ROM、DRAM、SRAM等元器件,使用6116来模拟主存进行存储数据,了解了IO的独立编址和统一编址,并了解了如何提高IO和存储器的工作效率。

后话

首先给大家说一下,博主经常在线,如果有什么问题或者想法,可以在下方评论,我会积极反馈的。

其次还是要请大家能够多多指出问题,我也会在评论区等候大家!

921a9c779981195e129d3bebd86bd170.png .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值