第三节 双端口存储器原理实验
一、实验目的
(1)了解双端口静态随机存储器IDT7132的工作特性及使用方法。 (2)了解半导体存储器怎样存储和读出数据。
(3)了解双端口存储器怎样并行读写,产生冲突的情况如何。
二、实验电路 图7示出了双端口存储器的实验电路图。这里使用了一片IDT7132(U36)(2048 X 8位),两个端口的地址输入A8—A10引脚接地,因此实际使用存储容量为256字节。左端口的数据部分连接数据总线DBUS7—DBUS0,右端口的数据部分连接指令总线INS7—INS0。一片GAL22V10(U37)作为左端口的地址寄存器(AR1),内部具有地址递增的功能。两片4位的74HC298(U28、U27)作为右端口的地址寄存器(AR2H、AR2L),带有选择输入地址源的功能。使用两组发光二极管指示灯显示地址和数据:通过开关IR/DBUS切换显示数据总线DBUS和指令寄存器IR的数据,通过开关AR1/AR2切换显示左右两个端口的存储地址。写入数据由实验台操作板上的二进制开关SW0—SW7设置,并经过SW_BUS三态门74HC244(U38)发送到数据总线DBUS上。指令总线INS上的指令代码输出到指令寄存器IR(U20),这是一片74HC374。
存储器IDT7132有6个控制引脚:CEL#、LRW、OEL#、CER#、RRW、OER#。CEL#、LRW、OEL#控制左端口读、写操作,CER#、RRW、OER#控制右端口读、写操作。CEL#为左端口选择引脚,低有效。当CEL# =1 时,禁止左端口读、写操作;当CEL# =0 时,允许左端口读、写操作。当LRW为高时,左端口进行读操作;当LRW为低时,左端口进行写操作。当OEL#为低时,将左端口读出的数据放到数据总线DBUS上;当OEL#为高时,禁止左端口读出的数据放到数据总线DBUS上。CER#、RRW、OER#控制右端口读、写操作的方式与CEL#、LRW、OER#控制左端口读、写操作的方式类似,不过右端口读出的数据放到指令总线上而不是数据总线上。实验台上的OEL#由LRW经反相产生。当CEL#=0且LRW=1时,左端口进行读操作,同时将读出的数据放到数据总线DBUS上。当CER#=0且LRW=0时,在T3的上升沿开始进行写操作,将数据总线上的数据写入存储器。实验台上已连接T3到时序发生器的T3输出。实验台上OER#已固定接地,RRW固定接高电平,CER#由CER反相产生,因此当CER=1且LDIR=1时,右端口读出的指令在T4的上升沿打入IR寄存器。
存储器的地址由地址寄存器AR1、AR2提供,而AR1和AR2的内容根据数码开关SW0—SW7设置产生,并经三态门SW_BUS发送到数据总线时被AR1或AR2接收, 三态门的控制信号SW_BUS#是低电平有效。数据总线DBUS有5个数据来源:运算器ALU,寄存器堆RF,控制台开关SW0—SW7,双端口存储器IDT7132和中断地址寄存器IAR。在任何时刻,都不允许2个或者2个以上的数据源同时向数据总线DBUS输送数据,只允许1个(或者没有)数据源向数据总线DBUS输送数据。在本实验中,为了保证数据的正确设置和观察,请令RS_BUS# = 1,ALU_BUS = 0,IAR_BUS# = 1。AR1的控制信号是LDAR1和AR1_INC。当LDAR1 = 1时,AR1从DBUS接收地址;当AR1_INC =1时,使AR1中的存储器地址增加1;在T4的上升沿,产生新的地址;LDAR1和AR1_INC两者不可同时为1。AR2的控制信号是LDAR2和M3。当M3 =1 时,AR2从数据总线DBUS接收数据;当M3=0 时,AR2以PC总线PC0—PC7作为数据来源。当LDAR2=1时,在T2的下降沿,将新的PC值打入AR2。
三、实验设备
15
数据指示灯CEL#T3LRW。。CEL#。 LRW。OEL#D7— D0D7— D0双端口 RAMA7— A0A7— A0。。VCCRRWGNDOER#。CER#CER数据指示灯数据指示灯I8— I1SW_BUS#。SW_BUS74HC244SW7SW6SW5SW4SW3SW2SW1SW0图7 双端口存储器实验电路图 16
D1C1B1A1D0C0B0A0D1C1B1A1D0C0B0A0数据指示灯T4LDIRIR7— IR074HC374T4CLKAR1_INCI0LDAR1I11O8— O1LDAR2T2M3SAR1AR2H74HC298AR2L74HC298IR(1)TEC—4计算机组成原理实验系统一台 (2)双踪示波器一台 (3)直流万用表一只 (4)逻辑测试笔一支
四、实验任务
(1)按图7所示,将有关控制信号和和二进制开关对应接好,仔细复查一遍,然后接通电源。 (2)将数码开关SW0—SW7(SW0是最低位)设置为00H,将此数据作为地址置入AR1;然后重新设置二进制开关控制,将数码开关SW0—SW7上的数00H写入RAM第0号单元。依此方法,在存储器10H单元写入数据10H,20H单元写入20H,30H单元写入30H,40H单元写入40H,共存入5个数据。
使用双端口存储器的左端口,依次读出存储器第00H、10H、20H、30H、40H单元中的内容,观察上述各单元中的内容是否与该单元的地址号相同。请记录数据。注意:总线上禁止两个以上部件同时向总线输出数据。当存储器进行读出操作时,必须关闭SW_BUS三态门!而当向AR1送入地址时,双端口存储器不能被选中。
(3)通过双端口存储器右端口(指令端口),依次把存储器第00H、10H、20H、30H、40H单元中的内容置入指令寄存器IR,观察结果是否与(2)相同,并记录数据。 (4)双端口存储器的并行读写和访问冲突测试。
置CEL#=0且CER=1,使存储器左、右端口同时被选中。当AR1和AR2的地址不相同时,没有访问冲突;地址相同时,由于都是读出操作,也不冲突。如果左、右端口地址相同且一个进行读操作、另一个进行写操作,则发生冲突。要检测冲突,可以用示波器测试BUSYL和BUSYR插孔(分别是两个端口的“忙”信号输出)。BUSY为0时不一定发生冲突,但发生冲突时,BUSY一定为0。当某一个端口(无论是左端口还是右端口)的BUSY = 0时,对该端口的写操作被IDT7132忽略掉。
五、实验步骤及实验结果
17
第四节 数据通路组成实验
一、实验目的
(1)将双端口通用寄存器堆和双端口存储器模块联机; (2)进一步熟悉计算机的数据通路;
(3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法; (4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验电路
图8示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。双端口存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。
由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。此外,DBUS上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器堆提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。
双端口存储器RAM已在第三节做过介绍, DR2在第三节的实验中使用过。通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的MC14580并联构成的寄存器堆类似。RF内含四个8位的通用寄存器R0、R1、R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。写入端口取名为WR端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。输出端口取名为RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。RS端口(B端口)的数据输出还可通过一个8位的三态门RSO(U15)直接向DBUS输出。
双端口通用寄存器堆模块的控制信号中,RS1、RS0用于选择从RS端口(B端口)读出的通用寄存器,RD1、RD0用于选择从RD端口(A端口)读出的通用寄存器。而WR1、WR0则用于选择从WR端口写入的通用寄存器。WRD是写入控制信号,当WRD=1时,在T2上升沿时刻,将暂存寄存器ER中的数据写入通用寄存器堆中由WR1、WR0选中的寄存器;当WRD =0时,ER中的数据不写入通用寄存器中。LDER信号控制ER从DBUS写入数据,当LDER=1时,在T4的上升沿,DBUS上的数据写入ER。RS_BUS#信号则控制RS端口到DBUS的输出三态门,是一个低有效信号。以上控制信号各自连接一个二进制开关K0—K15。
三、实验设备
(1)TEC-4计算机组成原理实验仪一台 (2)双踪示波器一台 (3)直流万用表一只
(4)逻辑测试笔一支
四、实验任务
(1)将实验电路与控制台的有关信号进行线路连接,方法同前面的实验。
(2)用8位数据开关向RF中的四个通用寄存器分别置入以下数据:R0=0FH,R1=0F0H,R2 =55H,R3=0AAH。
给R0置入0FH的步骤是:先用8位数码开关SW0—SW7将0FH置入ER,并且选择WR1=0、WR0 = 0、WRD = 1,再将ER的数据置入RF。给其他通用寄存器置入数据的步骤与此类似。
18
DBUS数据指示灯ALU_BUSS2S1S0LDDR2T3D7— D0ALUISP1024A7A6A5A4A3A2A1A0LRW。CEL#T3 LRW。。。OEL#CEL#数据指示灯D7— D0D7— D0CER#双端口 RAMA7— A0A7— A0。。CERVCCRRWGNDOER#。M2。SDR2H74HC298A0DR2L74HC298D0C0B0A0RS_BUS#。74HC244QDQCQBQAQDQCQBQARSORFISP1016D7— D0T4LDER74HC374SW_BUSERT4CLKO8— O1AR1_INCI0AR1LDAR1I11I8— I1SW_BUS#RS1RS0RD1RD0D0C0B0B7— B0WR1WR0WRDT2A7A6A5A4A3A2A1A0。SW074HC244DBUSSW1SW2SW3SW4SW5SW6SW7图8 数据通路实验电路图
19