《双端口存储器原理实验76222.doc》由会员分享,可在线阅读,更多相关《双端口存储器原理实验76222.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date双端口存储器原理实验76222双端口存储器原理实验762222 双端口存储器原理实验一、实验目的1. 了解双端口静态存储器IDT7132的工作特性及其使用方法2. 了解半导体存储器怎样存储和读取数据。3. 了解双端口存储器怎样并行读写,并分析冲突产生的情况。二、实验电路图3.2示出了双端口存储器的实验电路图。这里使用一片IDT7132(20488位),两个端口的地址输
2、入A8A10引脚接地,因此实际使用的存储容量为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上;
3、当OEL#1时,禁止左端口的数据放到DBUS。因此,为便于理解,在以后的实验中,我们将OEL#引脚称为RAM_BUS#。控制右端口的三个引脚与左端口的三个完全类似,这里不再赘述。有两点需要说明:(1) 右端口读出的数据(更确切的说法是指令)放到指令总线IBUS上而不是数据总线DBUS,然后送到指令寄存器IR。(2) 所有数据/指令的写入都使用左端口,右端口作为指令端口,不需要进行数据的写入,因此我们将右端口处理成一个只读端口,已将RR/W#固定接高电平,OER#固定接地。这两点请同学好好理解。存储器左端口的地址寄存器AR和右端口的地址寄存器PC都使用2片74LS163,具有地址递增的功能。同时
4、,PC在以后的实验当中也起到程序计数器的作用。左右端口的数据和左右端口的地址都有特定的显示灯显示。存储器地址和写入数据都由实验台操作板上的二进制开关分时给出。当LDAR#0时,AR在T2时从DBUS接收来自SW7SW0的地址;当AR11时,在T2存储器地址加1。LDAR#和AR1不能同时有效。在下一个时钟周期,令CEL#0,LR/W#0,则在T2的上升沿开始进行写操作,将SW7SW07设置的数据经DBUS写入存储器。三、实验设备1. TEC-5计算机组成原理实验系统1台2. 逻辑测试笔一支( 在TEC-5实验台上)3. 双踪示波器一台(公用)4. 万用表一只(公用)四、实验任务1. 按图3.2
5、所示,将有关控制信号和二进制开关对应接好,仔细复查一遍,然后接通电源。2. 将二进制数码开关SW7SW0(SW0为最低位)设置为00H,将其作为存储器地址置入AR;然后将二进制开关的00H作为数据写入RAM中。用这个方法,向存储器的10H、20H、30H、40H单元依次写入10H、20H、30H和40H。3. 使用存储器的左端口,依次将第2步存入的5个数据读出,观察各单元中存入的数据是否正确。记录数据。注意:禁止两个或两个以上的数据源同时向数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将SW_BUS#的三态门关闭。而当向AR送入数据时,双端口存储器也不能被选中。4. 通过存储器的
6、右端口,将第2步存入的5个数据读出,观察结果是否与第3步结果相同。记录数据。5. 双端口存储器的并行读写和访问冲突。将CEL#、CER#同时置为0,使存储器的左右端口同时被选中。当AR和PC的地址不相同时,没有访问冲突;地址相同时,由于都是读操作,也不会冲突。如果左右端口地址相同,且一个进行读操作,一个进行写操作,就会发生冲突。检测冲突的方法:观察两个端口的“忙”信号输出指示灯BUSYL#和BUSYR#。BUSYL#/BUSYR#灯亮(为0)时,不一定发生冲突,但发生冲突时,BUSYL#/BUSYR#必定亮。 五、实验要求1. 做好实验预习,掌握IDT7132双端口存储器的功能特性和使用方法。
7、2. 写出实验报告,内容是:(1) 实验目的。(2) 实验任务3的数据表格。(3) 实验任务4的数据表格。(4) 实验任务5的检测结果。六、实验步骤及结果(1) 置DP=1,DB=0,拨动编程开关到正常位置。(2) 接线图数据通路LDAR#LDPC#CEL#LR/W#RAM_BUS#CER#SW_BUS#电平开关K0K1K2K3K4K5K6AR+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(S
8、W_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,K
9、4(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)实验任务
10、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)(0
11、0110000)(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#指示灯恢复(不亮)。-