《(最新)双端口存储器原理实验.pdf》由会员分享,可在线阅读,更多相关《(最新)双端口存储器原理实验.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华中科技大学实验报告实验名称双端口存储器原理实验成绩实验日期第 2 次试验指导老师陈国平专业计科班号组别学生姓名同组学生一、实验目的1.了解双端口静态存储器IDT7132 的工作特性及其使用方法2.了解半导体存储器怎样存储和读取数据。3.了解双端口存储器怎样并行读写,并分析冲突产生的情况。二、实验电路三态门(244)AR+1地址显示LDAR#T2PC+1地址显示LDPC#T2指令显示灯AR(74LS163)PC(74LS163)双端口存储器(IDT 7132)RAM-BUS#CEL#CER#RRW(Vcc)OER#(GND)数据显示灯D7D6D5D4D3D2D1D0I7 I6 I5 I4 I3
2、 I2 I1 I0SW7SW0A7A6A5A4A3A2A1A0PC7数据开关图3.2 双端口存储器实验电路图PC0.LR/W#T2图示出了双端口存储器的实验电路图。这里使用一片IDT7132(20488 位),两个端口的地址输入A8A10引脚接地,因此实际使用的存储容量为256 字节。左端口的数据输出接数据总线DBUS,右端口的数据输出端接指令总线IBUS。IDT7132 有六个控制引脚:CEL#、LR/W#、OEL#、CER#、RR/W#、OER#。CEL#、LR/W#、OEL#控制左端口读、写操作;CER#、RR/W#、OER#控制右端口的读写操作。CEL#为左端口选择引脚,低电平有效;当
3、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)所有数据/指令的写入都使用左端口
4、,右端口作为指令端口,不需要进行数据的写入,因此我们将右端口处理成一个只读端口,已将 RR/W#固定接高电平,OER#固定接地。这两点请同学好好理解。存储器左端口的地址寄存器AR和右端口的地址寄存器PC都使用 2 片 74LS163,具有地址递增的功能。同时,PC在以后的实验当中也起到程序计数器的作用。左右端口的数据和左右端口的地址都有特定的显示灯显示。存储器地址和写入数据都由实验台操作板上的二进制开关分时给出。当 LDAR#0 时,AR在 T2时从 DBUS 接收来自 SW7 SW0 的地址;当 AR 11 时,在 T2 存储器地址加 1。LDAR#和 AR 1 不能同时有效。在下一个时钟周
5、期,令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 个数据读出,观察各单元中存入的数据是否正确。记录数据。注意:禁止两个或两个以上的数据源同时向
6、数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将 SW_BUS#的三态门关闭。而当向AR送入数据时,双端口存储器也不能被选中。4.通过存储器的右端口,将第2 步存入的 5 个数据读出,观察结果是否与第3步结果相同。记录数据。5.双端口存储器的并行读写和访问冲突。将 CEL#、CER#同时置为 0,使存储器的左右端口同时被选中。当AR和 PC的地址不相同时,没有访问冲突;地址相同时,由于都是读操作,也不会冲突。如果左右端口地址相同,且一个进行读操作,一个进行写操作,就会发生冲突。检测冲突的方法:观察两个端口的“忙”信号输出指示灯BUSYL#和 BUSYR#。BUSYL#/BUSYR
7、#灯亮(为 0)时,不一定发生冲突,但发生冲突时,BUSYL#/BUSYR#必定亮。四、实验要求1.做好实验预习,掌握IDT7132 双端口存储器的功能特性和使用方法。2.写出实验报告,内容是:(1)实验目的。(2)实验任务 3 的数据表格。(3)实验任务 4 的数据表格。(4)实验任务 5 的检测结果。五、实验步骤 1.置 DP=1,DB=0,编程开关拨到正常位置。按电路图要求,将有关控制信号和二进制开关对应接好,反复检查后,接通电源。数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K4K5K6AR+1 和 PC+1 两个信号接地.
8、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.数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K
9、4K5K6状态01110置 SW7-SW0=00H,SW7SW6SW5SW4SW3SW2SW1SW000000000按 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.数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K4K5K6状态100110置 SW7-SW0=00H,SW7SW6SW5SW4SW3SW2SW1SW000000000按 QD按钮,将 00H写入存储器 00H单元.(
10、3)重复 1 和 2,只是改变 SW7-SW0 分别为 10H,20H,30H,40H,分别将10H,20H,30H,40H写入存储器单元 10H,20H,30H,40H.实验数据记录表:存储单元地址存储单元数据/指令00H00H10H10H20H20H30H30H40H40H3.使用存储器的左端口,依次将第 2步存入的 5个数据读出,观察各单元中存入的数据是否正确.记录数据。(注意:禁止两个或两个以上的数据源同时向数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将 SW_BUS#的三态门关闭.而当向 AR送入数据时,双端口存储器也不能被选中.)任务:从左端口读出存储器00H,10
11、H,20H,30H,40H 的内容.(1)令 K0(LDAR#)=0,K2(CEL#)=1,K4(RAM_BUS#)=1,K5(CER#)=1,K6(SW_BUS#)=0.数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K4K5K6状态01110置 SW7-SW0=00H,SW7SW6SW5SW4SW3SW2SW1SW000000000按 QD按钮,将 00H打入地址寄存器 AR.(2)先令 K6(SW_BUS#)=1,再令 K2(CEL#)=0,K3(LR/W#)=1,K4(RAM_BUS#)=0,K5(CER#)=1,则在数据总线
12、 DBUS 上显示出存储器单元00H的内容 00H。(3)重复 1和 2的方法,只是改变 1中 SW7-SW0 的值分别为 10H,20H,30H,40H,则可在数据总线 DBUS 上观察到存储器单元10H,20H,30H,40H的内容分别为10H,20H,30H,40H.实验结果记录表 1:存储单元地址存储单元数据/指令DBUS 显示结果00H00H0000000010H10H0001000020H20H0010000030H30H0011000040H40H010000004.通过存储器的右端口,将第 2 步存入的 5 个数据读出,观察结果是否与第 3 步结果相同.记录数据。任务:从右端口
13、读出存储器00H,10H,20H,30H,40H 的内容.(1)令 K1(LDPC#)=0,K2(CEL#)=1,K4(RAM_BUS#)=1,K5(CER#)=1,K6(SW_BUS#)=0.数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K4K5K6状态01110置 SW7-SW0=00H,SW7SW6SW5SW4SW3SW2SW1SW000000000按 QD按钮,将 00H打入 PC.(2)令 K6(SW_BUS#)=1,K2(CEL#)=1,K5(CER#)=1,则在指令总线 IBUS上显示出存储器单元 00H的内容 00H
14、.(3)重复 1和 2的方法,只是改变 1中 SW7-SW0 的值分别为 10H,20H,30H,40H,则可在指令总线 IBUS上观察到存储器单元10H,20H,30H,40H的内容分别为10H,20H,30H,40H.实验结果记录表 2:存储单元地址存储单元数据/指令IBUS显示结果00H00H0000000010H10H0001000020H20H0010000030H30H0011000040H40H010000005.双端口存储器的并行读写和访问冲突。(1)令 K0(LDAR#)=0,K1(LDPC#)=0,K2(CEL#)=1,K4(RAM_BUS#)=1,K5(CER#)=1,K
15、6(SW_BUS#)=0.数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K4K5K6状态001110置 SW7-SW0=30H,SW7SW6SW5SW4SW3SW2SW1SW000110000按 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#指令灯亮,表示左端口在右端口之后和右端口同时对同一个地址读,数据总线
16、 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#指示灯恢复不亮.(注意:将CEL#,CER#同时置为 0,使存储器的左右端口同时被选中.当 AR和 PC的地址不相同时,由于都是读操作,也不会冲突.如果左右端口地址相同,且一个进行读操作,一个进行写操作,就会发生冲突.检测冲突的方法:观察两个端口的 忙信号输出指示灯BUSYL#和 BUSYR#.BUSYL#/BUSYR#灯亮(为 0)时,不一定发生冲突,但发生冲突时,BUSYL#/BUSYR#必定亮.)六、总结在本次实验中,我们了解了双端口静态存储器的工作特性及其使用方法,掌握了半导体存储器怎样存储和读取数据和双端口存储器怎样并行读写,在存储数据到双端口存储器之前,首先要选择好数据存放的地址,然后才能存储。