1、实验三 常规数据通路组成实验姓名:李云娜 班级:软件 1102 学号:201116040225一、实验目的1、将双端口通用寄存器和双端口存储器模块联机。2、进一步熟悉计算机的数据通路。3、掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法。4、锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。二、实验类型验证型。三、实验仪器1、TEC-4 计算机组成原理实验仪一台。2、双踪示波器一台。3、直流万用表一只。4、逻辑测试笔一支。四、实验原理图 3 示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器模块(RF)连接在一起形成的。双端口
2、存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器 DR2。由于双端口存储器 RAM 是三态输出,因而可以将它直接连接到数据总线 DBUS 上,此外,DBUS 上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器提供,而从存储器 RAM 读出的数据也可送到通用寄存器堆保存。双端口存储器 RAM 已在实验二中使用过,DR2 在实验一中使用过。通用寄存器堆 RF(U32)由一个 ISP1016 实现,功能上与两个 4 位的 MC14580 并联构成的寄存器堆类似。RF 内含四个 8 位的通用寄存器 R0,R1,R2,R3,带有一个写入端口和两个输
3、出端口,从而可以同时写入一路数据。读出两种数据。写入端口取名为 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
4、是写入控制信号。当WRD=1 时,在 T2 上升沿的时刻,将暂存寄存器 ER 中的数据写入通用寄存器堆中的 RD1,RD0 选中的寄存器;当 WRD=0 时,ER中的数据不写入通用寄存器中,LDER 信号控制 ER 从 DBUS 写入数据,当 LDER=1 时,在 T4 的上升沿,DBUS 上的数据写入ER。RS-BUS#信号则控制 RS 端口到 DBUS 的输出三态门,是一个低电平有效信号。以上控制信号各自连接一个二进制开关 K0-K15。5、实验内容 (1)将实验电路与控制台的有关信号进行线路连接,方法同前面的实验。图 3 数据通路实验电路图(2)用 8 位数据开关向 RF 中的四个通用寄
5、存器分别置入以下数据:R0=0FH,R1=0F0H,R2=55H,R3=0AAH。给 R0 置入 0FH 的步骤是:先用 8 位数码开关 SW0-SW7 将 0FH 置入 ER,并且选择 WR1=0、WR=0、WRD=1,再将 ER 的数据置入 R0,给其他通用寄存器置入数据的步骤与此类似。(3)分别将 R0 至 R3 中的数据同时读入到 DR2 寄存器中和 DBUS 上,观察其数据是否存入 R0 至 R3 中的数据,并记录数据。其中 DBUS 上的数据可直接用指示灯显示,DR2 中的数据可通过运算器 ALU,用直通方式将其送往 DBUS。(4)用 8 位数码开关 SW0-SW7 向 AR1
6、送入一个地址 0FH,然后将 R0 中的 0FH 写入双端口 RAM。用同样的方法,依次将 R1 至 R3 中的数据写入 RAM 中的 0F0H,55H,0AAH 单元。(5)分别将 RAM 中的 0AAH 单元的数据写入 R0,55H 单元的数据写入 R1,0F0H 单元写入 R2,0FH 单元写入 R3。然后将R3,R2,R1,R0 中的数据读出到 DBUS 上,通过指示灯验证读出的数据是否正确,并记录数据。(6)进行 RF 并行输入输出试验。1)选择 RS 端口(B 端口)对应 R0,RD 端口(A 端口)对应 R1,WR 端口对应 R2,并使 WRD=1,观察并行输入输出的结果。选择
7、RS 端口对应 R2,验证刚才的写入是否生效。记录数据。2)保持 RS 端口(B 端口)和 WR 端口同时对应 R2,WRD=1 时,而 ER 中置入新的数据,观察并行输入输出的结果,RS 端口输出的是旧的还是新的数据?(7)在数据传送过程中,发现了什么故障?如何克服的。6、实验步骤1 令 K0(CEL#)= 1,K1(LRW) = 1,K2(CER)= 0,K3(LDAR1) = 1,K4(LDAR2)= 0,K5(SW_BUS#) = 0,K6(LDIR)= 0。将 IR/DBUS 开关拨到 DBUS 位置,将 AR1/AR2 开关拨到 AR1 位置。置 SW7SW0 = 00H,按一次
8、QD 按钮,将 00H 写入AR1,绿色的地址指示灯应显示 00H。令 K0(CEL#)= 0,K1(LRW)= 0,K3(LDAR1)= 0,按一次 QD 按钮,则将 00H 数据写入存储器的 00H 单元。依次重复进行,在存储器 10H 单元写入数据 10H,20H 单元写入 20H,30H 单元写入 30H,40H 单元写入 40H,共存入个数据。将数据 0FH 置入到通用寄存器 R0 中拨动 SW7-SW0 开关,设置输入的数据 0FH,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW00 0 0 0 1 1 1 1按 QD,数据 0FH 已经写入到了通用寄存器
9、R0 中同理,将数据 0F0H, 55H, 0AAH 分别写入到通用寄存器 R1、R2、R3 中的操作与上述类似,其中开关 K2、K3 的作用是用来选择ROR3 之中的一个寄存器。在本实验中,K2=0,K3=0 表示选择了寄存器 R0,K2=1,K3=0 表示选择了寄存器 R1,K2=0,K3=1 表示选择了寄存器R2,K2=1,K3=1 表示选择了寄存器 R3,只要改变 K2 和 K3 的电平与 SW7-SW0 开关即可。实验步骤(二)用 8 位数据开关向 AR 送入地址,然后将数据写入双端口存储器中1、向地址寄存器 AR 送入地址 0FH,拨动数据通路开关如下:拨动 SW7-SW0 开关,
10、设置输入的地址 0FH,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW00 0 0 0 1 1 1 1按 QD,地址 0FH 将写入到地址寄存器 AR 中将数据 0FH 写入到双端口存储器中将寄存器 R0 中的数据 0FH 写入到双端口存储器 RAM 中的 0FH 单元中,拨动数据通路开关 如下:按动 QD,寄存器 R0 中的数据 0FH 已经写入到双端口存储器 RAM 中的 0FH 单元中数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K11
11、K12 K13 K14电平 0 0 1 0 1 0 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K4 K5 K6 K7 K10 K11 K12 K13 K14电平 1 0 0 0 1 1 0 0 0 1 0DBUS 显示情况: 0000 1111 2、向地址寄存器 AR 送入地址 0F0H,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 0F0H,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW01 1 1 1 0 0
12、0 0按 QD,地址 0F0H 将写入到地址寄存器 AR 中将数据 0F0H 写入到双端口存储器中将寄存器 R1 中的数据 0F0H 写入到双端口存储器 RAM 中的 0F0H 单元中,拨动数据通路开关如下:按动 QD,寄存器 R1 中的数据 0F0H 已经写入到双端口存储器 RAM 中的 0F0H 单元中 DBUS 显示情况: 1111 0000 3、向地址寄存器 AR 送入地址 55H,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 55H,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW00 1 0 1 0 1 0 1按 QD,地址 55H 将写入
13、到地址寄存器 AR 中将数据 55H 写入到双端口存储器中将寄存器 R2 中的数据 55H 写入到双端口存储器 RAM 中的 55H 单元中,拨动数据通路开关如下:按动 QD,寄存器 R2 中的数据 55H 已经写入到双端口存储器 RAM 中的 55H 单元中DBUS 显示情况: 0101 0101 数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K11 K12 K13 K14电平 0 0 1 0 1 0 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 R
14、S-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K4 K5 K6 K7 K10 K11 K12 K13 K14电平 1 0 1 0 1 1 0 0 0 1 0数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K11 K12 K13 K14电平 0 0 1 0 1 0 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1
15、 ALU-BUS#电平开关 K0 K1 K4 K5 K6 K7 K10 K11 K12 K13 K14电平 1 0 0 1 1 1 0 0 0 1 04、向地址寄存器 AR 送入地址 0AAH,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 0AAH,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW01 0 1 0 1 0 1 0按 QD,地址 0AAH 将写入到地址寄存器 AR 中将数据 0AAH 写入到双端口存储器中将寄存器 R3 中的数据 0AAH 写入到双端口存储器 RAM 中的 0AAH 单元中,拨动数据通路开关如下:按动 QD,寄存器 R3
16、中的数据 0AAH 已经写入到双端口存储器 RAM 中的 0AAH 单元中DBUS 显示情况: 1010 1010 实验步骤(三)将双端口存储器 RAM 中的数据写入到通用寄存器 RF 中1、将 RAM 的 0AAH 单元数据写入 RO选择 AR 中的 0AAH 地址单元,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 0AAH,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW01 0 1 0 1 0 1 0按 QD将 0AAH 单元数据写入 R0,拨动数据通路开关如下: 按 QD,0AAH 单元中的数据 0AAH 已经写入 R0 中,DBUS 显示情况
17、: 1010 1010 2、将 RAM 的 55H 单元数据写入 R1数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K11 K12 K13 K14电平 0 0 1 0 1 0 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K4 K5 K6 K7 K10 K11 K12 K13 K14电平 1 0 1 1 1 1 0 0 0 1 0数据通
18、路 SW-BUS# LDRi RS-BUS# LDAR# CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K12 K13 K14电平 0 0 1 0 1 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K4 K5 K6 K7 K10 K11 K12 K13 K14电平 1 1 0 0 1 1 0 1 0 0 1选择 AR 中的 55H 地址单元,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 55
19、H,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW00 1 0 1 0 1 0 1按 QD将 55H 单元数据写入 R1,拨动数据通路开关如下:按 QD,55H 单元中的数据 55H 已经写入 R1 中,DBUS 显示情况: 0101 0101 3、将 RAM 的 0F0H 单元数据写入 R2选择 AR 中的 0F0H 地址单元,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 0F0H,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW01 1 1 1 0 0 0 0按 QD将 0F0H 单元数据写入 R2,拨动数据通路开关如下:0
20、F0H 已经写入 R2 中,DBUS 显示情况: 1111 0000 4、将 RAM 的 0FH 单元数据写入 R3数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K12 K13 K14电平 0 0 1 0 1 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K2 K3 K6 K7 K10 K11 K12 K13 K14电平 1 1 1 0 1 1 0
21、 1 0 0 1数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K12 K13 K14电平 0 0 1 0 1 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K2 K3 K6 K7 K10 K11 K12 K13 K14电平 1 1 0 1 1 1 0 1 0 0 1数据通路 SW-BUS# LDRi RS-BUS# LDAR# CEL# RAM-B
22、US# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K10 K12 K13 K14选择 AR 中的 0FH 地址单元,拨动数据通路开关如下:拨动 SW7-SW0 开关,设置输入的地址 0FH,如下所示:SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW00 0 0 0 1 1 1 1按 QD将 0FH 单元数据写入 R3,拨动数据通路开关如下:按 QD,0F0H 单元中的数据 0F0H 已经写入 R3 中,DBUS 显示情况: 0000 1111 实验步骤(四)验证 R0R3 中的数据在理论上,R0=1010 1010, R1=0101 0101, R2=1111
23、0000 ,R3=0000 1111查看 R0 中的数据,拨动数据通路开关如下:DBUS 显示情况: 1010 1010 查看 R1 中的数据,拨动数据通路开关如下:DBUS 显示情况: 0101 0101 查看 R2 中的数据,拨动数据通路开关如下:查看 R3 中的数据,拨动数据通路开关如下:DBUS 显示情况: 0000 1111 电平 0 0 1 0 1 1 0 1数据通路 SW-BUS# LDRi RD0 RD1 RS-BUS# LDAR# CEL# LR/W# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K2 K3 K6 K7 K10 K11 K12 K13
24、K14电平 1 1 1 1 1 1 0 1 0 0 1数据通路 SW-BUS# LDRi RS-BUS# LDAR# RS0 RS1 CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K8 K9 K10 K12 K13 K14电平 1 0 0 1 0 0 1 1 0 1数据通路 SW-BUS# LDRi RS-BUS# LDAR# RS0 RS1 CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K8 K9 K10 K12 K13 K14电平 1 0 0 1 1 0 1 1 0 1数据通路 SW-BUS# LDRi RS-BUS# LDAR# RS0 RS1 CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K8 K9 K10 K12 K13 K14电平 1 0 0 1 0 1 1 1 0 1DBUS 显示情况: 1111 0000 数据通路SW-BUS#LDRi RS-BUS# LDAR# RS0 RS1 CEL# RAM-BUS# LDDR1 ALU-BUS#电平开关 K0 K1 K6 K7 K8 K9 K10 K12 K13 K14电平 1 0 0 1 1 1 1 1 0 1