搜索
您的当前位置:首页正文

双端口存储器原理实验

来源:榕意旅游网


2 双端口存储器原理实验

一、实验目的

1. 了解双端口静态存储器IDT7132的工作特性及其使用方法 2. 了解半导体存储器怎样存储和读取数据。

3. 了解双端口存储器怎样并行读写,并分析冲突产生的情况。

二、实验电路

数据显示灯指令显示灯RAM-BUS#LR/W#T2D7D6D5D4D3D2D1D0I7I6I5I4I3I2I1I0OER#(GND)双端口存储器(IDT 7132)RRW(Vcc)CER#地址显示A7A6A5A4A3A2A1A0PC7... ...PC0CEL#地址显示LDAR#AR+1T2AR(74LS163)PC(74LS163)LDPC#PC+1T2三态门(244)SW7... ...SW0数据开关图3.2 双端口存储器实验电路图

图3.2示出了双端口存储器的实验电路图。这里使用一片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在以后的实验当中也起到程序计数器的作用。左右端口的数据和

1 / 4

左右端口的地址都有特定的显示灯显示。存储器地址和写入数据都由实验台操作板上的二进制开关分时给出。

2 / 4

当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. 3. 4.

TEC-5计算机组成原理实验系统1台 逻辑测试笔一支( 在TEC-5实验台上) 双踪示波器一台(公用) 万用表一只(公用)

四、实验任务

1. 按图3.2所示,将有关控制信号和二进制开关对应接好,仔细复查一遍,然后接

通电源。

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,拨动编程开关到正常位置。 (2) 接线图 数据通路 LDAR# 电平开关 K0 LDPC# K1 CEL# K2 LR/W# K3 RAM_BUS# K4 CER# K5 SW_BUS# K6 AR+1和PC+1两个信号接地。

(3)实验任务2,将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单元。

2. 重复1和2,只是改变SW7_SW0分别为10H、20H、30H、40H,分别将10H、20H、30H、

40H写入存储器单元10H、20H、30H、40H。

(4)实验任务3,从左端口读出存储器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.先令K6(SW_BUS#)=1,再令K2(CEL#)=0,K3(LR/W#)=1,K4(RAM_BUS#)=0,K5(CER#)=1,

则在数据总线 DBUS上显示出存储器单元00H的内容00H。

3.重复1和2的方法,只是改变1中的SW7_SW0的值为10H、20H、30H、40H,则可在数据

总线DBUS上观察到存储器单元10H、20H、30H、40H的内容为(00010000)(00100000)(00110000)(01000000)。

(5)实验任务4,从右端口读出存储器00H、10H、20H、30H、40H的内容。

1.令K1(LDPC#)=0,K2(CEL#)=1,K4(RAM_BUS#)=1,K5(CER#)=1,K6(SW_BUS#)=0。置

SW7-SW0=00H,按QD按钮,将00H打入PC。

2.令K6(SW_BUS#)=1,K2(CEL#)=1,K5(CER#)=0,则在指令总线IBUS上显示出存储器单元

00H的内容(00H)。

3.重复1和2的方法,只是改变1中的SW7_SW0的值为10H、20H、30H、40H,则可在指令

总线IBUS上观察到存储器单元10H、20H、30H、40H的内容为(00010000)(00100000)(00110000)(01000000)。

(6)实验任务5,双端口存储器的并行读写和访问冲突。

1.令K0(LDAR#)=0,K1(LDPC#)=0,K2(CEL#)=1,K4(RAM_BUS#)=1,K5(CER#)=1,

K6(SW_BUS#)=0。置SW7-SW0为30H。按QD按钮,将30H打入地址寄存器AR和程序计数器PC。

2.置K6(SW_BUS#)=1,K3(LR/W#)=1,K4(RAM_BUS#)=0。先令K5(CER#)=0,K2(CEL#)=1,这

时BUSYL#指示灯不亮。令K2(CEL#)=0,这时BUSYL#指示灯(亮),表示左端口在右端口之后和右端口同时对同一个地址读,数据总线DBUS显示30H,指令总线IBUS也显示30H。再令K2(CEL#)=1,BUSYL#指示灯恢复(不亮)。

3.置K6(SW_BUS#)=1,K3(LR/W#)=1,K4(RAM_BUS#)=0。先令K2(CEL#)=0,K5(CER#)=1,这

时BUSYR#指示灯不亮。令K5(CER#)=0,这时BUSYR#指示灯(亮),表示右端口在左端口之后和左端口同时对同一个地址读,数据总线DBUS显示(30H),指令总线IBUS也显示(30H)。再令K5(CER#)=1,BUSYR#指示灯恢复(不亮)。

温馨提示:最好仔细阅读后才下载使用,万分感谢!

因篇幅问题不能全部显示,请点此查看更多更全内容

Top