计算机组成与体系结构第二次试验:存储器实验

前言

为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!

一、实验目的

本实验的主要内容是了解 RAM(Random Access Memory,静态随机存储器)和ROM(Read Only Memory,只读存储器)的工作特性;掌握存储器与总线的连接及存储器地址空间映射的原理。通过设计一个8位字长的存储器电路,包括ROM和RAM两个地址相互独立的存储器,实现对ROM和RAM存储器的数据读写操作及数据成批导入 ROM 的操作。

二、实验环境

操作系统:Win10
实验用软件:Proteus 8

三、实验内容

本实验的存储器电路如图2-1所示,由地址输入单元、存储器及地址选择电路组成。存储器电路中共有两条总线:12位地址总线ABUS_[0.11]和8位数据总线DBUS[0.7]。图左边是拨码开关构成的12位地址输入端,其连接在地址总线ABUS[0…11]上,通过三个绿色数码管输出显示12位地址信息。图2-1右边则是存储器ROM、RAM及其地址选择电路。
ROM和RAM存储器内部有三态门结构,其数据输出端直接连在数据总线DBUS_[0…7]上,通过两个红色数码管显示8位数据信息。
存储器是用来存储信息的部件,是计算机的重要组成部分,常见的半导体存储器类型主要有ROM和BAM。ROM一般容量较大,在断电的时候仍然可以保存数据:ROM只能读出数据,不能写人数据。而RAM存储器一般容量较小,在断电之后就丢失数据;RAM既可读出数据,又可写入数据。本实验中使用的ROM存储器是2764(8Kbit),RAM存储器是6116(2Kbit)。
如图2-2所示,ROM芯片2764的数据线D-D,接到数据总线,地址线AoAs由地址锁存器74LS273给出,用来对ROM片内存储单元寻址,其余地址线AsA12接地。2764有两个控制端:CE(片选)和OE(读)。RAM芯片6116的数据线DoD,接到数据总线,地址线A0A7由地址锁存器74LS273给出,用来对RAM片内存储单元寻址,其余地址线As-A1o接地。6116有三个控制端:CE(片选)、OE(读)和WE(写)。
存储器电路控制信号的逻辑功能见表2-1所示。值得注意的是,在对ROM或RAM读写的时候,首先必须在存储器的片选有效(CE=0)的前提下,才能对相应的存储器读(OE=0)
或写(WE=0)。例如,对ROM芯片2764进行读操作,必须令使能ROM CE-0且ROM OE=0。
存储器片选信号ROM_CE和RAM_CE是由地址信号的高4位ABUS_8~ABUS_11经过片选逻辑电路自动形成的,不需要拨码开关控制。
其次,必须在地址锁存器(74LS273)ROM_AR、RAM_AR锁存地址信号,才能选中存储器片内相应的单元。地址锁存器ROM_AR和RAM_AR的输入都连接至地址总线ABUS_0
~ABUS_7,在其CLK端开关出现上升沿跳变的时候,地址总线ABUS_0-ABUS_7的数据打入ROM_AR或RAM_AR锁存。锁存后无论地址总线ABUS如何变化,选中的存储单元也不会发生改变,可以进行稳定的读写操作(存储器数据端输入或输出)。
存储器电路设计的最重要环节是存储器与地址总线的连接,因为连接方式决定了存储器地址空间的映射关系,即决定了每个存储器芯片在整个存储空间中的地址范围。12位地址总线的理论地址空间为4KB(000HFFFH),本实验将其中最低的512B的地址分配为ROM区(000H1FFH),最高的128B地址为RAM区(F80H~FFFH),其余留空,如图2-3所示。
存储器电路的设计一般将地址总线区分为低位地址线和高位地址线两部分:低位地址线直接和存储器芯片的地址信号连接作为片内地址译码,而高位地址线的连接主要用来产生片选信号(称为片间地址译码),以决定每个芯片在整个存储系统中的地址范围。
在本实验中,12位地址总线分为低8位地址线和高4位地址线。低8位地址线ABUS0
ABUS7分别与ROM和RAM芯片的地址线AoA7共用;高4位地址线ABUS_8~ABUS_11则通过两个3-8译码器进行译码,如图2-2所示。低位3-8译码器U13最低2位之一输出有效,则片选ROM芯片(“负逻辑”判断,使用与门);同样,高位3-8译码器U15最高1位输出与地址线A同时有效,则片选RAM芯片(“负逻辑”判断,A7先反相,再使用或门)。
值得注意的是,相同的存储器地址空间映射,可以有不同的片选电路实现方法(例如使用“正逻辑”判断)。

四、实验步骤

1)按照“2.3ROM批量导人数据的技巧”小节所述,将project.asm文件编译的hex二进制文件加载到ROM芯片2764,并且查看ROM烧写的数据段是否正确。
2)启动仿真前,令ROMOE=RAMOE=RAM_WE=1;启动仿真后,令SW_BUS=0,手动拨码开关输人024H到地址总线ABUS_[0…11](绿色数码管显示)。
3)令地址锁存信号ROM_CLK上升沿跳变0→1,将地址总线上的024H打入地址锁存器ROMAR;令ROMOE=0,使能ROM存储器2764输出,在数据总线DBUS[0…7](红色数码管显示)上查看存储单元[024H]读出的内容。
4)手动拨码开关,向地址锁存器RAMAR打入地址F80H;令RAMWE=0,使能RAM存储器6116输入,把存储单元[024H]的内容写入存储单元[F80H]。再令RAM_WE=1,结束对RAM存储器的写人操作。
5)令ROM_OE=1(禁止ROM存储器2764输出)且RAM_OE=0(允许RAM存储器6116输出),在数据总线DBUS_[0.7]上观察存储单元[F80H]的写入内容是否正确。
6)按照上述操作,把ROM存储器单元[024H]、[028H]、[02CH]、[030H]的内容依次写入RAM存储器单元[F80H]、[F81H]、[F82H]、[F83H],查看写入RAM的数据是否正确。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、实验结果

在这里插入图片描述
在这里插入图片描述

六、实验总结

  1. 假设把project.asm文件中的某个ORG语句改为“ORG0224H”,请问该ORG定义的数据段还能被访问到么?如果不能,是数据批量导入ROM出错么?请修改ROM的地址片选电路,保证“ORG0224H”所定义的数据段能被访问到。
    答:不能。应该是数据批量导入ROM出错。
  2. 为何ROM和RAM需要使用两个独立的3-8译码器?假设RAM的片选电路与ROM的片选电路共用一个3-8译码器,即ROM所在3-8译码器的最低2个端口给ROM使用,最高1个端口给RAM使用。请给出ROM和RAM的地址空间范围。
    答:因为ROM和RAM两个操作方式和功能均不一,前者只读,后者可读可写;两者的空间地址范围不一。RAM:0XXH ~ 8XXH;ROM:X00H~XFFH;
  3. 假设RAM的地址空间范围改为800H-8FFH,请问存储器地址片选电路如何修改?假设再把ROM的地址空间范围改为600H~7FFH,请问存储器地址片选电路又如何修改?
    答:前者RAM范围只需调整最低两个端口;后者ROM需要调整三个端口。

心得体会:
进行本次实验操作时,实验器件多,连线复杂,哪怕连线完成、实验图做好后,依然不了解这个图的用途及原理。之后,本人通过查阅资料、同学讨论等等方式对本次实验有了大概的理解,同时,本次实验步骤复杂,稍不留意就容易前功尽弃,需要我们在做实验时谨慎再谨慎。

  • 12
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
一. 实验目的 1. 了解存储器组成结构,原理和读写控制方法 2. 了解主存储器工作过程中各信号的时序关系 3. 了解挂总线的逻辑器件的特征 4. 了解和掌握总线传送的逻辑实现方法 二. 实验原理 1.基本操作:读写操作 读操作是从指定的存储单元读取信息的过程;写操作是将信息写入存储器指定的存储单元的过程 2.读写操作过程 首先要由地址总线给出地址信号,选择要进行读写操作的存储单元,然后,做写操作时,先从数据总线输入要存储在该单元的数据,通过控制总线发出相应的写使能和写控制信号,这时,数据保存在该单元中;做读操作时,只要通过总线发出相应的读控制信号。该数据就出现在总线上了 3. 总线传送 计算机的工作过程,实际上也就是信息的传送和处理过程,而信息的传送在计算机里面频度极高,采用总线传送必不可少,它可减少传输线路、节省器件、提高传送能力和可靠性。总线传送器件中大量使用的是三态门。三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如低电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。其中74LS244是专用做挂总线用的三态门器件之一。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Knight_V_Schumacher

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

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

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

打赏作者

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

抵扣说明:

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

余额充值