实验三-数据通路(总线)实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验三数据通路(总线)实验一、实验目的(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上的数据写入ER。RS_BUS#信号则控制RS端口到DBUS的输出三态门,是一个低电平有效信号。以上控制信号各自连接一个二进制开关K0—Kl5。图8(a)数据通路总体图图8(b)数据通路实验电路图三、实验设备(1)TEC-4计算机组成原理实验仪一台(2)双踪示波器一台(3)直流万用表一只(4)逻辑测试笔一支四、实验任务(1)将实验电路与控制台的有关信号进行线路连接,方法同前面的实验。(2)用8位数据开关向RF中的四个通用寄存器分别置入以下数据:R0=0FH,R1=F0H,R2=55H,R3=AAH。给R0置入0FH的步骤是:先用8位数码开关SW0—SW7将0FH置入ER,并且选择WR1=0、WR0=0、WRD=1,再将ER的数据置入RF。给其他通用寄存器置入数据的步骤与此类似。(3)分别将R0至R3中的数据同时读入到DR2寄存器中和DBUS上,观察其数据是否是存入R0至R3中的数据,并记录数据。其中DBUS上的数据可直接用指示灯显示,DR2中的数据可通过运算器ALU,用直通方式将其送往DBUS。(4)用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_INC接GND,禁止AR1加1。S2接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(WR0)=0,K13(WR1)=0,按一次QD按钮,将0FH(在ER中)写入R0寄存器。令K0(SW_BUS#)=0,K7(LDER)=1。置SW7—SW0为F0H,按一次QD按钮,将F0H写入暂存寄存器ER。令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写入暂存寄存器ER。令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写入暂存寄存器ER。令K7(LDER)=0,K14(WRD)=1,K12(WR0)=1,K13(WR1)=1,按一次QD按钮,将AAH(在ER中)写入R3寄存器。(3)分别将R0至R3中的数据同时读入到DR2寄存器中和DBUS上,观察其数据是否是存入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,数据指示灯应显示AAH。2.令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数据指示灯应显示F0H。令K6(LDDR2)=1,K10(RD0)=0,K11(RD1)=1,按一次QD按钮,R2中的数据通过A端口送入DR2,DBUS数据指示灯应显示55H。令K10(RD0)=1,K11(RD1)=1,K6(LDDR2)=1,按一次QD按钮,R3中的数据通过A端口送入DR2,DBUS数据指示灯应显示AAH。(4)将R0、R1、R2、R3中的数据依次送入存储器0FH、F0H、55H、AAH单元。令K2(ALU_BUS)=0,K5(LDAR1)=0,K6(LDDR2)=0,K7(LDER)=0,K10(RD0)=0,K11(RD1)=0,K12(WR0)=0,K13(WR1)=0,K14(WRD)=0。置AR1/AR2开关到AR1位置。令K1(RS_BUS#)=1,K0(SW_BUS#)=0,K5(LDAR1)=1,K3(CEL#)=1,置SW7—SW0为0FH,按一次QD按钮,将AR1置为0FH,地址指示灯应显示0FH。令K0(SW_BUS#)=1,K1(RS_BUS#)=0,禁止数据开关SW7—SW0送DBUS,允许寄存器堆送数据总线DBUS。令K5(LDAR1)=0,K8(RS0)=0,K9(RS1)=0,K3(CEL#)=0,K4(LRW)=0,按一次QD按钮,将R0中的数据写入存储器0FH单元。置AR1/AR2开关到AR1位置。令K1(RS_BUS#)=1,K0(SW_BUS#)=0,K5(LDAR1)=1,K3(CEL#)=1,置SW7—SW0为F0H,按一次QD按钮,将AR1置为F0H,地址指示灯应显示F0H。令K0(SW_BUS#)=1,K1(RS_BUS#)=0,禁止数据开关SW7—SW0送DBUS,允许寄存器堆送数据总线DBUS。令K5(LDAR1)=0,K8(RS0)=1,K9(RS1)=0,K3(CEL#)=0,K4(LRW)=0,按一次QD按钮,将R1中的数据写入存储器F0H单元。置AR1/AR2开关到AR1位置。令K1(RS_BUS#)=1,K0(SW_BUS#)=0,K5(LDAR1)=1,K3(CEL#)=1,置SW7—SW0为55H,按一次QD按钮,将AR1置为55H,地址指示灯应显示55H。令K0(SW_BUS#)=1,K1(RS_BUS#)=0,禁止数据开关SW7—SW0送DBUS,允许寄存器堆送数据总线DBUS。令K5(LDAR1)=0,K8(RS0)=0,K9(RS1)=1,K3(CEL#)=0,K4(LRW)=0,按一次QD按钮,将R2中的数据写入存储器55H单元。置AR1/AR2开关到AR1位置。令K1(RS_BUS#)=1,K0(SW_BUS#)=0,K5(LDAR1)=1,K3(CEL#)=1,置SW7—SW0为AAH,按一次QD按钮,将AR1置为AAH,地址指示灯应显示AAH。令K0(SW_BUS#)=1,K1(RS_BUS#)=0,禁止数据开关SW7—SW0送DBUS,允许寄存器堆送数据总线DBUS。令K5(LDAR1)=0,K8(RS0)=1,K9(RS1)=1,K3(CEL#)=0,K4(LRW)=0,按一次QD按钮,将R3中的数据写入存储器AAH单元。(5)将RAM中AAH、55H、F0H、0FH单元的数据依次写入R0、R1、R2、R3。然后将R3、R2、R1、R0中的数据读出到

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功