
实验三数据通路实验.docx
7页实验三 数据通路 (总线 )实验一 、实验目的(1)将双端口通用寄存器堆和双端口存储器模块联机;(2)进一步熟悉计算机的数据通路;( 3)掌握数字逻辑电路中故障的一般规律, 以及排除故障的一般原则和方法;( 4)锻炼分析问题与解决问题的能力,在出现故障的情况下, 独立分析故障 现象,并排除故障二、实验电路图 8示出了数据通路实验电路图, 它是将双端口存储器实验模块和一个双端 口通用寄存器堆模块(RF)连接在一起形成的双端口存储器的指令端口不参 与本次实验通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器 DR2由于双端口存储器 RAM 是三态输出,因而可以将它直接连接到数据总线 DBUS 上此外, DBUS 上还连接着双端口通用寄存器堆这样,写入存储器的 数据可由通用寄存器提供, 而从存储器 RAM 读出的数据也可送到通用寄存器堆 保存双端口存储器 RAM 已在存储器原理实验中做过介绍, DR2 运算器实验中使 用过通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的 MC14580并联构成的寄存器堆类似RF内含四个8位的通用寄存器R0、RI、 R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读 出两路数据。
写入端口取名为 WR端口,连接一个8位的暂存寄存器(U14)ER, 这是一个74HC374输出端口取名为 RS端口( B端口)、RD端口( A端口), 连接运算器模块的两个操作数寄存器 DR1、DR2 RS端口( B端口)的数据输 出还可通过一个8位的三态门RS0(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上的数据写入ER0 RS_BUS#信号则控制RS端口到 DBUS 的输出三态门, 是一个低电平有效信号 以上控制信号各自连接一个二进 制开关 K0—Kl50c.T1 w 1「MIMUX LD吃Ml X2Tl~ALt;-8liSn .LTD魁 ITS).. HSULRHT:J数期鏑口比令歸a i生KAM土亠~|LDA«2(T 对1ZARIfUTJU«s ai:s^j胖烯「ED1AR ?ARIEAUJWB1IT21WER
2)用 8 位数据开关向 RF 中的四个通用寄存器分别置入以下数据 :R0=0FH,R1=F0H,R2=55H, R3=AAH 给RO置入OFH的步骤是:先用8位数码开关SWO—SW7将OFH置入ER,并且选择 WR仁0、 WR0=0、WRD=1,再将ER的数据置入RF给其他通用寄存器置入数据的步骤与此类似3) 分别将R0至R3中的数据同时读入到DR2寄存器中和DBUS上,观察其数据是否是存入 R0 至R3中的数据,并记录数据其中 DBUS上的数据可直接用指示灯显示,DR2中的数据可通过运算 器 ALU ,用直通方式将其送往 DBUS4) 用8位数码开关SW0—SW7向AR1送入一个地址0FH,然后将R0中的0FH写入双端口 RAM 用同样的方法,依次将 R1至R3中的数据写入RAM中的F0H, 55H,AAH单元5) 分别将 RAM 中 AAH 单元的数据写入 R0, 55H 单元的数据写入 R1, F0H 单元写入 R2, 0FH 单元写入R3然后将R3,R2,R1,R0中的数据读出到DBUS上,通过指示灯验证读出的数据是否 正确,并记录数据6) 进行 RF 并行输入输出试验1. 选择RS端口(B端口)对应R0, RD端口(A端口)对应R1,WR端口对应 R2,并使 WRD=l, 观察并行输入输出的结果。
选择 RS端口对应R2,验证刚才的写入是否生效记录数据2. 保持RS端口( B端口)和WR端口同时对应R2, WRD=1而ER中置入新的数据,观察并行输入 输出的结果,RS端口输出的是旧的还是新的数据?( 7 )在数据传送过程中,发现了什么故障 ? 如何克服的 ?五、实验步骤与实验结果( 1 )接线IAR_BUS#接VCC,禁止中断地址寄存器IAR向数据总线DBUS送数据CER接GND,禁止存 储器右端口工作AR1」NC接GND,禁止AR1力卩1S2接GND , S1接GND, S0接VCC,使运算 器ALU处于直通方式M2接GND,使DR2选择寄存器堆RF作为数据来源置DP = 1 , DZ = 0 , DB = 0,使实验系统开机后处于单拍状态K0 接 SW_BUS#, K1 接 RS_BUS#, K2 接 ALU_BUS , K3 接 CEL#, K4 接 LRW, K5 接 LDAR1 , K6 接 LDDR2, K7 接 LDER, K8 接 RS0, K9 接 RS1, K10 接 RD0, K11 接 RD1, K12 接 WR0, K13 接 WR1, K14 接 WRD。
合上电源按CLR#按钮,使实验系统处于初始状态2)向 RF 中的四个通用寄存器分别置入数据令 K1(RS_BUS#) = 1, K2(ALU_BUS ) = 0, K3(CEL#) = 1, K4(LRW) = 1, K5(LDAR1 ) = 0, K6(LDDR2) = 0, K8(RS0) = 0, K9(RS1) = 0, K10(RD0) = 0, K11(RD1) = 0, K12(WR0) = 0, K13(WR1) = 0, K14(WRD) = 0令 K0 (SW_BUS#) = 0, K7 (LDER ) = 1置 SW7— SW0 为 0FH,按一次 QD 按钮,将 0FH 写 入暂存寄存器 ER令 K7 ( LDER) = 0, K14 (WRD) = 1 , K12 (WRO) = 0, K13 (WR1) = 0,按 一次QD按钮,将0FH (在ER中)写入R0寄存器令 K0 (SW_BUS#) = 0, K7 (LDER ) = 1置 SW7— SW0 为 F0H,按一次 QD 按钮,将 F0H 写 入暂存寄存器 ER0 令 K7 ( LDER) = 0,K14 (WRD) = 1,K12 (WR0) = 1,K13 (WR1) = 0,按 一次QD按钮,将F0H (在ER中)写入R1寄存器。
令 K0 (SW_BUS#) = 0,K7 (LDER ) = 1置 SW7— SW0 为 55H,按一次 QD 按钮,将 55H 写 入暂存寄存器 ERo 令 K7 ( LDER) = 0,K14 (WRD) = 1,K12 (WR0) = 0,K13 (WR1) = 1,按 一次QD按钮,将55H (在ER中)写入R2寄存器令 K0 (SW_BUS#) = 0,K7 ( LDER) = 1置 SW7—SW0 为 AAH,按一次 QD 按钮,将 AAH 写入暂存寄存器 ERo 令 K7 (LDER ) = 0,K14 (WRD) = 1,K12 (WR0) = 1,K13 (WR1) = 1, 按一次 QD 按钮,将 AAH (在 ER 中)写入 R3 寄存器3) 分别将R0至R3中的数据同时读入到DR2寄存器中和DBUSk,观察其数据是否是存入 R0至R3 中的数据1.令 K0(SW_BUS#) = 1, K2(ALU_BUS) = 0, K3(CEL#) = 1, K4(LRW) = 1, K5(LDAR1 ) = 0, K6(LDDR2) = 0, K7(LDER) = 0, K10(RD0) = 0, K11(RD1) = 0, K12(WR0) = 0, K13(WR1) = 0, K14(WRD) = 0。
将开关 IR/DBUS 至于 DBUS 位置令 K1(RS_BUS#) = 0,使寄存器堆中的数据送 DBUS 总线 令K8 (RS0) = 0,K9 (RS1) = 0, R0中的数据通过B端口送DBUS,数据指示灯应显示 0FH令 K8 (RS0) = 1,K9 ( RS1) = 0,R1中的数据通过B端口送DBUS,数据指示灯应显示 F0H令K8(RS0) = 0,K9 (RS1) = 1, R2中的数据通过B端口送DBUS,数据指示灯应显示 55H令K8 (RS0) =1,K9 (RS1) = 1,R3中的数据通过B端口送DBUS,数据指示灯应显示 AAH2.令 K0(SW_BUS#) = 1, K1(RS_BUS#) = 1, K3(CEL#) = 1, K4(LRW) = 1, K5(LDAR1 ) = 0, K7(LDER) = 0, K8(RS0) = 0, K9(RS1) = 0, K12(WR0) = 0, K13(WR1) = 0, K14(WRD) = 0将开关 IR/DBUS 至于 DBUS 位置令 K2(ALU_BUS) = 1,使运算器 ALU 的运算结果送 DBUS 总线。
由于S2接GND,S1接GND,S0接VCC , ALU做直通运算,因此DBUS数据指示灯显示的 是 DR2 寄存器的值令 K10(RD0) = 0, K11(RD1) = 0, K6(LDDR2) = 1,按一次 QD 按钮, R0 中的数据通过 A端口送入DR2,DBUS数据指示灯应显示0FH令K10 (RD0) = 1, K11 (RD1) = 0, K6(LDDR2) = 1,按一次 QD 按钮, R1 中的数据通过 A 端口送入 DR2, DBUS 数据指示灯应显示 F0Ho 令 K6 (LDDR2 ) = 1。
