双端口存储器原理实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双端口存储器原理实验 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
华中科技大学实验报告实验名称双端口存储器原理实验成绩
实验日期第 2 次试验指导老师陈国平
专业计科班号组别
学生姓名同组学生
一、实验目的
1.了解双端口静态存储器IDT7132的工作特性及其使用方法
2.了解半导体存储器怎样存储和读取数据。
3.了解双端口存储器怎样并行读写,并分析冲突产生的情况。
二、实验电路
图示出了双端口存储器的实验电路图。这里使用一片IDT7132(2048×8位),两个端口的地址输入A8-A10引脚接地,因此实际使用的存储容量为256字节。左端口的数据输出接数据总线DBUS,右端口的数据输出端接指令总线IBUS。
IDT7132有六个控制引脚:CEL#、LR/W#、OEL#、CER#、RR/W#、OER#。
CEL#、LR/W#、OEL#控制左端口读、写操作;CER#、RR/W#、OER#控制右端口的读写操作。CEL#为左端口选择引脚,低电平有效;当CEL#=1时,禁止对左端口的读、写操作。LR/W#控制对左端口的读写。当LR/W#=1时,左端口进行读操作;LR/W#=0时,左端口进行写操作。OEL#的作用等同于三态门,当OEL#=0时,允许左端口读出的数据送到数据总线DBUS上;当OEL#=1时,禁止左端口的数据放到DBUS。因此,为便于理解,在以后的实验中,我们将OEL#引脚称为
RAM_BUS#。控制右端口的三个引脚与左端口的三个完全类似,这里不再赘述。有两点需要说明:
(1)右端口读出的数据(更确切的说法是指令)放到指令总线IBUS上而不是数据总线DBUS,然后送到指令寄存器IR。
(2)所有数据/指令的写入都使用左端口,右端口作为指令端口,不需要进行数据的写入,因此我们将右端口处理成一个只读端口,已将RR/W#固定接高电平,OER#固定接地。这两点请同学好好理解。
存储器左端口的地址寄存器AR和右端口的地址寄存器PC都使用2片
74LS163,具有地址递增的功能。同时,PC在以后的实验当中也起到程序计数器的作用。左右端口的数据和左右端口的地址都有特定的显示灯显示。存储器地址和写入数据都由实验台操作板上的二进制开关分时给出。
当LDAR#=0时,AR在T2时从DBUS接收来自SW7-SW0的地址;当AR+1=1时,在T2存储器地址加1。LDAR#和AR+1不能同时有效。在下一个时钟周期,令CEL#=0,LR/W#=0,则在T2的上升沿开始进行写操作,将SW7-SW07设置的数据经DBUS写入存储器。
三、实验任务
1.按图所示,将有关控制信号和二进制开关对应接好,仔细复查一遍,然后
接通电源。
2.将二进制数码开关SW7-SW0(SW0为最低位)设置为00H,将其作为存储
器地址置入AR;然后将二进制开关的00H作为数据写入RAM中。用这个
方法,向存储器的10H、20H、30H、40H单元依次写入10H、20H、30H和
40H。
3.使用存储器的左端口,依次将第2步存入的5个数据读出,观察各单元中
存入的数据是否正确。记录数据。注意:禁止两个或两个以上的数据源同时向数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将SW_BUS#的三态门关闭。而当向AR送入数据时,双端口存储器也不能
被选中。
4.通过存储器的右端口,将第2步存入的5个数据读出,观察结果是否与第
3步结果相同。记录数据。
5.双端口存储器的并行读写和访问冲突。
将CEL#、CER#同时置为0,使存储器的左右端口同时被选中。当AR和PC的地址不相同时,没有访问冲突;地址相同时,由于都是读操作,也不会冲突。如果左右端口地址相同,且一个进行读操作,一个进行写操作,就会发生冲突。检测冲突的方法:观察两个端口的“忙”信号输出指示灯BUSYL#和BUSYR#。BUSYL#/BUSYR#灯亮(为0)时,不一定发生冲突,但发生冲突时,
BUSYL#/BUSYR#必定亮。
四、实验要求
1.做好实验预习,掌握IDT7132双端口存储器的功能特性和使用方法。
2.写出实验报告,内容是:
(1)实验目的。
(2)实验任务3的数据表格。
(3)实验任务4的数据表格。
(4)实验任务5的检测结果。
五、实验步骤
1. 置DP=1,DB=0,编程开关拨到正常位置。
按电路图要求,将有关控制信号和二进制开关对应接好,反复检查后,接通电源。
AR+1 和 PC+1 两个信号接地.
3.将二进制数码开关SW7-SW0(SW0为最低位)设置为00H,将其作为存储器地
址置入AR;然后将二进制开关的00H作为数据写入RAM中.用这个方法,向存储器的10H,20H,30H,40H单元依次写入10H,20H,30H,40H.
任务:将00H,10H,20H,30H,40H分别写入存储器单元00H,10H,20H,30H,40H.
(1)令K0(LDAR#)=0, K2(CEL#)=1, K4(RAM_BUS#)=1, K5(CER#)=1,
K6(SW_BUS#)=0.
置SW7-SW0=00H,
按QD按钮,将00H打入地址寄存器AR.
(2)令K0(LDAR#)=1, K2(CEL#)=0, K3(LR/W#)=0, K4(RAM_BUS#)=1,
K5(CER#)=1, K6(SW_BUS#)=0.
置SW7-SW0=00H,
按QD按钮,将00H写入存储器00H单元.
(3)重复1和2,只是改变SW7-SW0分别为10H,20H,30H,40H,分别将
10H,20H,30H,40H
写入存储器单元10H,20H,30H,40H.
实验数据记录表:
3.使用存储器的左端口,依次将第2步存入的5个数据读出,观察各单元中存入的数据是否正确.记录数据。(注意:禁止两个或两个以上的数据源同时向数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将SW_BUS#的三态门关闭.而当向AR送入数据时,双端口存储器也不能被选中.)
任务:从左端口读出存储器00H,10H,20H,30H,40H的内容.