数据通路组成实验(将双端口通用寄存器堆和双端口存储器模块联机、熟悉计算机的数据通路)

实验三 数据通路组成实验

实验目的

(1)将双端口通用寄存器堆和双端口存储器模块联机;
(2)进一步熟悉计算机的数据通路;

实验电路原理图

图8示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)RF))连接在一起形成的。双端口存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。此外,DBUS上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器堆提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。双端口存储器RAM已做过介绍, DR2在实验中使用过。通用寄存器堆RF)(U32)由一个ISP1016实现,功能上与两个4位的MC14580并联构成的寄存器堆类似。RF)内含四个8位的通用寄存器R0、R1、R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。写入端口取名为WR端口,连接一个8位的暂存寄存器(WR端口,连接一个8位的暂存寄存器(端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。输出端口取名为WR端口,连接一个8位的暂存寄存器(RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。RS端口(B端口)的数据输出还可通过一个8位的三态门RSO(RF)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。
在这里插入图片描述

实验设备

TEC-4计算机组成原理模拟实验台

实验任务

(1)用8位数据开关向RF)中的四个通用寄存器分别置入以下数据:R0=0F)H,R1=0F)0H,R2=55H,R3=0AAH。给R0置入0F)H的步骤是:先用8位数码开关SW0—SW7置0F)H,并且选择WR1=0、WR0 = 0、WRD= 1,按一次QD按钮,将0F)H置入ER,再将ER的数据置入RF)。给其他通用寄存器置入数据的步骤与此类似。
(2)分别将R0至R3中的数据同时读入到DR2寄存器中和DBUS上,观察其数据是否是存入R0至R3中的数据,并记录数据。其中DBUS上的数据可直接用指示灯显示,DR2中的数据可通过运算器ALU,用直通方式将其送往DBUS。
(3)用8位数码开关SW0—SW7向AR1送入一个地址0F)H,然后将R0中的0F)H写入双端口RAM。用同样的方法,依次将R1至R3中的数据写入RAM中的0F)0H、55H、0AAH单元。
(4)分别将RAM中0AAH单元的数据写入R0,55H单元的数据写入R1,0F)0H单元写入R2,0F)H单元写入R3。然后将R3、R2、R1、R0中的数据读出到DBUS上,通过指示灯验证读出的数据是否正确,并记录数据。
(5)进行RF)并行输入输出试验。选择RS端口(B端口)对应R0,RD端口(A端口)对应R1,WR端口对应R2,并使WRD=1时,在,观察并行输入输出的结果。选择RS端口对应R2,验证刚才的写入是否生效。记录数据。

实验内容和结果

将实验电路与控制台的有关信号进行线路连接

在这里插入图片描述
1.填表
在这里插入图片描述

在这里插入图片描述
2.置开关DB = 0,DZ = 0,DP = 1,使实验系统处于单拍状态。

用8位数据开关向RF中的四个通用寄存器分别置入以下数据:R0=0FH,R1=0F0H,R2 =55H,R3=0AAH

首先令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 (WRO) = 0, K13 (WR1) = 0, K14 (WRD) = 0.
在这里插入图片描述

将数据0FH置入通用寄存器R0中

(1)置开关SW7—SW0为00001111B,然后将0FH置入ER。
令KO (SW_BUS#)=0, K7 (LDER)=1。置SW7—SWO为OFH,按一次QD按钮,将OFH写入暂存寄存器ER。
在这里插入图片描述

在这里插入图片描述
(2)设置控制信号线电平,并填表(没用到的控制信号线电平打×)。
令K7(LDER)=0, K14 (WRD)= 1, K12 (WRO)=0,K13 (WR1)=0,按一次QD按钮,将OFH(在ER中)写入RO寄存器。
在这里插入图片描述
在这里插入图片描述
(3)按QD,将数据0FH置入RF,然后数据0FH置入通用寄存器R0中。

将数据F0H置入通用寄存器R1中

(1)置开关SW7—SW0为 11110000 B,然后将F0H置入ER。
令KO (SW_BUS#)=0, K7 (LDER)=1。置SW7—SWO为F0H,按一次QD按钮,将F0H写入暂存寄存器ER。
在这里插入图片描述

在这里插入图片描述
(2)设置控制信号线电平,并填表(没用到的控制信号线电平打×)。
令K7(LDER)=0, K14 (WRD)= 1, K12 (WRO)=1,K13 (WR1)=0,按一次QD按钮,将F0H(在ER中)写入R1寄存器。 在这里插入图片描述

在这里插入图片描述
(3)按QD,将数据F0H置入RF,然后数据F0H置入通用寄存器R1中。

将数据55H置入通用寄存器R2中

(1)置开关SW7—SW0为 01010101 B,然后将55H置入ER。
令KO (SW_BUS#)=0, K7 (LDER)=1。置SW7—SWO为55H,按一次QD按钮,将55H写入暂存寄存器ER。
在这里插入图片描述

在这里插入图片描述
(2)设置控制信号线电平,并填表(没用到的控制信号线电平打×)。
令K7(LDER)=0, K14 (WRD)= 1, K12 (WRO)=0,K13 (WR1)=1,按一次QD按钮,将55H(在ER中)写入R2寄存器。
在这里插入图片描述
在这里插入图片描述
(3)按QD,将数据 55 H置入RF,然后数据 55 H置入通用寄存器R2中。

将数据AAH置入通用寄存器R3中

(1)置开关SW7—SW0为 10101010 B,然后将AAH置入ER。
令KO (SW_BUS#)=0, K7 (LDER)=1。置SW7—SWO为AAH,按一次QD按钮,将AAH写入暂存寄存器ER。
在这里插入图片描述
在这里插入图片描述
(2)设置控制信号线电平,并填表(没用到的控制信号线电平打×)。
令K7(LDER)=0, K14 (WRD)= 1, K12 (WRO)=1,K13 (WR1)=1,按一次QD按钮,将AAH(在ER中)写入R3寄存器。
在这里插入图片描述
在这里插入图片描述
(3)按QD,将数据 AA H置入RF,然后数据 AA H置入通用寄存器R3中。

分别将R0至R3中的数据同时读入到DR2寄存器中和DBUS上,观察其数据是否是存入R0至R3中的数据

将R0至R3中的数据同时读入到DR2寄存器中和DBUS上

1.令KO (SW_BUS#) = 1, K2 (ALU_BUS) = 0, K3 (CEL#) = 1, K4 (LRW) = 1, K5 (LDAR1) = 0,
K6 (LDDR2) = 0, K7 (LDER) = 0, K10 (RDO) = 0, K11 (RD1)= 0, K12 (WRO) = 0, K13 (WR1)=0, K14 (WRD)=0。
在这里插入图片描述
将开关 IR/DBUS 至于 DBUS 位置。
今KI (RS_BUS#)=0,使寄存器堆中的数据送 DBUS 总线。
令K8 (RSO)=0, K9 (RS1)= 0,RO 中的数据通过B端口送到 DBUS,数据指示灯应显示 OFH。
在这里插入图片描述
在这里插入图片描述
令K8 (RSO)= 1,K9 (RSI)= 0,R1 中的数据通过B端口送 DBUS,数据指示灯应显示 OFOH。
在这里插入图片描述
在这里插入图片描述
令K8 (RSO)= 0,K9 (RSI)= 1,R2 中的数据通过B端口送 DBUS,数据指示灯应显示 55H。
在这里插入图片描述
在这里插入图片描述
令K8 (RS0)= 1, K9 (RSD)= 1,R3 中的数据通过B端口送 DBUS,数据指示灯应显示 OAAH。
在这里插入图片描述
在这里插入图片描述

观察其数据是否是存入R0至R3中的数据

2.令 KO (SW_BUS#) = 1, K1 (RS_BUS#) = 1,K3 (CEL#) = 1, K4 (LRW) = 1, K5 (LDAR1) = 0,
K7 (LDER) = 0, K8 (RSO)=0, K9 (RS1) = 0, K12 (WRO) = 0, K13 (WR1) = 0, K14 (WRD)=0
在这里插入图片描述
将开关 IR/DBUS 至于 DBUS 位置。
令K2 (ALU_BUS)=1,使运算器 ALU 的运算结果送 DBUS 总线。
由于 S2接GND, S1接GND,SO 接VCC,ALU 做直通运算,因此 DBUS 数据指示灯显示的是 DR2 寄存器的值。
令K10 (RD0)= 0, K11 (RD1)=0,K6 (LDDR2)= 1,按一次 QD 按钮,RO 中的数据通过 A端口送入 DR2,DBUS 数据指示灯应显示 OFH。
在这里插入图片描述
在这里插入图片描述

令K10 (RDO) = 1, K11 (RD1) =0, K6 (LDDR2) = 1,按一次 QD按钮,R1 中的数据通过 A 端口送入 DR2,DBUS数据指示灯应显示 OFOH。
在这里插入图片描述
在这里插入图片描述
会 K6 (LDDR2)=1, K10 (RDO) = 0, K11 (RD1)=1,按一次QD按钮,R2 中的数据通过A端口送入 DR2, DBUS 数据指示灯应显示 55H。
在这里插入图片描述
在这里插入图片描述
令 K1O (RDO)= 1, K11 (RD1)=1, K6 (LDDR2)= 1,按一次 QD按钮,R3 中的数据通过A端口送入 DR2,DBUS 数据指示灯应显示 OAAH.
在这里插入图片描述在这里插入图片描述

用8位数码开关SW0—SW7向AR1送入一个地址0FH,然后将R0中的0FH写入双端口RAM,用同样的方法,依次将R1至R3中的数据写入RAM中的0F0H、55H、0AAH单元

令 K2 (ALU_ BUS) =0, K5 (LDAR1)= 0, K6 (LDDR2)= 0, K7 (LDER)= 0, K10 (RDO)=0,K11 (RD1) = 0, K12 (WRO) = 0, K13 (WR1) = 0, K14 (WRD) = 0。
在这里插入图片描述

将R0中的数据写入RAM中0FH单元

置 AR1/AR2 开关到 AR1 位置。令KO (SW_BUS#)=0, K1 (RS_BUS#)=1,K3 (CEL#)= 1,K5 (LDAR1) = 1, 置SW7—SW0 为 OFH,按一次QD 按钮,将 AR1 置为 OFH,地址指示灯应显示OFH。
在这里插入图片描述
在这里插入图片描述
令KO (SW_BUS#) =1, K1 (RS_BUS#)= 0,禁止数据开关 SW7—SWO 送 DBUS,允许寄存器堆送数据总线 DBUS。
令K3 (CEL#)=0, K4 (LRW) =0, K5 (LDAR1)= 0, K8 (RSO)= 0, K9(RS1)=0,按一次 QD按钮,将RO 中的数据写入存储器 0FH 单元。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

将R1中的数据写入RAM中0F0H单元

置 AR1/AR2 开关到 AR1 位置。令KO (SW_BUS#)= 0, K1 (RS_BUS#)= 1, K3 (CEL#)= 1,K5 (LDAR1) =1,置SW7—SWO 为 OFOH,按一次 QD按钮,将 AR1 置为 OFOH,地址指示灯应显示 FOH。
在这里插入图片描述
在这里插入图片描述
令KO (SW_BUS#)=1, K1 (RS_BUS#)=0,禁止数据开关 SW7—SWO 送 DBUS, 允许寄存器堆送数据总线 DBUS。 令K3 (CEL#)=0, K4 (LRW) =0, K5 (LDAR1) = 0, K8 (RSO)= 1,K9 (RS1)=0,按一次QD 按钮,将R1 中的数据写入存储器 FOH 单元。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将R2中的数据写入RAM中55H单元

置 AR1/AR2 开关到 AR1 位置。令KO (SW_BUS#) =0, K1 (RS_BUS#)=1, K3 (CEL#)= 1,K5 (LDAR1)=1,置SW7—SWO 为55H,按一次QD 按钮,将 AR1 置为 55H,地址指示灯应显示55H。
在这里插入图片描述

在这里插入图片描述

令 KO (SW_BUS#)= 1, K1 (RS_BUS#)=0,禁止数据开关 SW7—SWO 送 DBUS,允许寄存器堆送数据总线 DBUS。
令 K3 (CEL#)=0, K4 (LRW) =0, K5 (LDAR1) = 0, K8 (RS0) =0,K9 (RS1)=1,按一次 QD 按钮,将R2 中的数据写入存储器 55H单元。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将R3中的数据写入RAM中0AAH单元

置 AR1/AR2 开关到 AR1 位置。令KO (SW_BUS#)=0, K1 (RS_BUS#)= 1, K3 (CEL#) = 1,R5 (LDAR1)= 1,置 SW7—SWO 为OAAH,按一次0D 按钮,将 ARI 置为 OAAH,地址指示灯应显示 OAAH。
在这里插入图片描述
在这里插入图片描述
令KO (SW_BUS#)= 1, K1 (RS_BUS#)= 0,禁止数据开关 SW7—SWO 送 DBUS,允许寄存器堆送数据总线 DBUS。
令K3 (CEL#)=0, K4 (LRW)=0,K5 (LDAR1) = 0, K8 (RSO) = 1,k9 (RS1)=1,按一次 QD按钮,将R3 中的数据写入存储器 OAAH 单元。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分别将RAM中0AAH单元的数据写入R0,55H单元的数据写入R1,0F0H单元写入R2,0FH单元写入R3。然后将R3、R2、R1、R0中的数据读出到DBUS上,通过指示灯验证读出的数据是否正确

令K1 (RS_BUS#)= 1, K2 (ALU_BUS) =0, K6 (LDDR2) =0, K8 (RSO)=0, K9 (RS1)= 0,
K10 (RDO) = 0, K11 (RD1) = 0。
在这里插入图片描述

将RAM中0AAH单元的数据写入R0

令 KO (SW_BUS#)=0, K5 (LDAR1) =1, K3 (CEL#)=1, K14 (WRD)=0,置 SW7—SWO 为 OAAH,
按一次 QD 按钮,将 AR1 置为 OAAH。
在这里插入图片描述
在这里插入图片描述
令 K14 (WRD)= 0, KO (SW_BUS#)= 1, K3 (CEL#) = 0, K4 (LRW) = 1, K5 (LDAR1) = 0,K7 (LDER)= 1,按一次QD 按钮,将存储器 OAAH 单元的内容读出,写入到暂存寄存器 ER。
在这里插入图片描述
在这里插入图片描述
令 K0 (SW_BUS#) =1, K3 (CEL#) =1, K14 (WRD)= 1, K5 (LDAR1) =0, K7 (LDER)=0,K12 (WRO) =0, K13 (WR1)=0,按一次 QD按钮,将ER 中的数据写入 RO。
在这里插入图片描述
在这里插入图片描述

将RAM中55H单元的数据写入R1

令 KO (SW_BUS#)=0, K5 (LDAR1)=1, K3 (CEL#)=1, KI4 (WRD)=0,置 SW7—SWO 为55H,按一次QD按钮,将 AR1 置为 55H。
在这里插入图片描述
在这里插入图片描述
令 K14 (WRD)=0, KO (SW_BUS#)=1, K3 (CEL#)=0, K4 (LRW)= 1, K5 (LDAR1) = 0, K7 (LDER)=1,按一次QD按钮,将存储器 55H 单元的内容读出,写入到暂存寄存器ER。
在这里插入图片描述

在这里插入图片描述
令K0 (SW_BUS#)=1,K5 (LDAR1)=0, K7 (LDER) =0, K3 (CEL#)=1, K14 (WRD)= 1, K12 (WRO)= 1, K13 (WR1)=0,按一次QD按钮,将ER 中的数据写入 R1。
在这里插入图片描述
在这里插入图片描述

将RAM中0F0H单元的数据写入R2

令KO (SW_BUS#)=0, K5 (LDAR1) =1, K3 (CEL#)=1, K14 (WRD)=0,置SW7—SWO 为 OFOH,按一次QD按钮,将 AR1 置为 OFOH。
在这里插入图片描述
在这里插入图片描述
令 K14 (WRD) =0, KO (SW_BUS#)=1, K3 (CEL#)=0, K4 (LRW)= 1, K5 (LDAR1) =0, K7 (LDER)=1,按一次 QD按钮,将存储器 OFOH 单元的内容读出,写入到暂存寄存器ER。
在这里插入图片描述
在这里插入图片描述
令KO (SW_BUS#)=1, K5 (LDAR1) =0, K7 (LDER)=0, K3 (CEL#)=1, K14 (WRD)= 1, K12 (WRO)=0, K13 (WR1)=1,按一次QD按钮,将ER 中的数据写入R2。
在这里插入图片描述
在这里插入图片描述

将RAM中0FH单元的数据写入R3

令 KO (SW_BUS#)=0, K5 (LDAR1) = 1, K3 (CEL#)=1,K14 (WRD)=0,置 SW7- SWO 为 OFH,按一次QD按钮,将 AR1 置为 OFH。
在这里插入图片描述
在这里插入图片描述
令K14 (WRD) =0, KO (SW_BUS#)=1, K3 (CEL#)=0. K4 (LRW)=1, K5 (LDAR1)=0, K7 (LDER)=1,按一次 QD按钮,将存储器 0FH 单元的内容读出,写入到暂存寄存器ER。
在这里插入图片描述
在这里插入图片描述

令KO (SW_BUS#)=1, K5 (LDAR1)=0, K7 (LDER) =0, K3 (CEL#)=1, K14 (WRD)= 1, K12 (WRO)= 1, K13 (WR1)=1,按一次QD 按钮,将 ER 中的数据写入 R3。
在这里插入图片描述
在这里插入图片描述

将R3、R2、R1、R0中的数据读出到DBUS上,通过指示灯验证读出的数据是否正确

令KO (SW_BUS#) = 1,K2 (ALU_BUS)= 0, K3 (CEL#) = 1, K4 (LRW) = 1, K5 (LDAR1)= 0,K6 (LDDR2) = 0, K7 (LDER) = 0, K10 (RDO) = 0,K11 (RD1) = 0, K12 (WRO) = 0, K13 (WR1)= 0 , K14 (WRD)
=0。
在这里插入图片描述
将开关 IR/DBUS 至于 DBUS 位置。
令K1 (RS_BUS#)=0, K8 (RSO)=0, K9 (RS1)=0,数据指示灯显示 RO 的值,应为 OAAH。
在这里插入图片描述
令 K8 (RS0) =1,K9 (RS1)=0,数据指示灯显示 R1 的值,应为55H。
在这里插入图片描述
令 K8 (RSO) =0,K9 (RS1)=1,数据指示灯显示 R2 的值,应为 OFOH。
在这里插入图片描述
令 K8 (RS0) =1,K9 (RS1)=1,数据指示灯显示 R3 的值,应为 OFH。
在这里插入图片描述

选择RS端口(B端口)对应R0,RD端口(A端口)对应R1,WR端口对应R2,并使WRD=1,观察并行输入输出的结果。选择RS端口对应R2,验证刚才的写入是否生效

选择RS端口(B端口)对应R0,RD端口(A端口)对应R1,WR端口对应R2,并使WRD=1,观察并行输入输出的结果

1.令K3 (CEL#)= 1, K4 (LRW)= 1, K5 (LDAR1)=0
将开关 IR/DBUS 至于DBUS 位置。令KO (SW_BUS#)=0, K1 (RS_BUS#)=1, K2 (ALU_BUS) =0, K6 (LDDR2)=0, K7 (LDER)= 1,K14 (WRD)=0。将SW7—SWO 置为 35H,按一次0D按钮,将 35H写入暂存寄存器 ER。
在这里插入图片描述
在这里插入图片描述
令 K0 (SW_BUS#) = 1, K1 (RS_BUS#)=0, K2 (ALU_BUS) =0, K14 (WRD)= 1, K6 (LDDR2)=1。再令K8 (RSO) =0, K9 (RS1)=0,RS 端口选择 RO; K10 (RDO) = 1, K11 (RD1)= 0, RD端口选择 R1; K12 (WRO)=0, K13 (WR1)=1,WR 端口选择R2。按一次 QD 按钮,这时 ER 中的数据(35H) 写入了R2,同时 R1 中的数据(55H) 写入了 DR2, RO 中的数据送数据总线 DBUS(其实,RO 中的数据并不受按 QD 按钮的影响),数据指示灯应显示 RO 中的数据 OAAH。
在这里插入图片描述
在这里插入图片描述
如果令K1 (RS_BUS#)=1,K2 (ALU_BUS)=1,数据指示灯应显示 DR2 的内容(即R1 的内容),应为 55H。
在这里插入图片描述
在这里插入图片描述
再令K1 (RS_BUS#)= 0, K2 (ALU_BUS)=0,使数据指示灯仍显示 RS 端口的内容,同时令K8(RSO)= 0,K9 (RS1)=1,RS 端口选择 R2,数据指示灯应显示新的 R2 的值, 即 35H。
在这里插入图片描述

在这里插入图片描述

保持 RS 端口(B端口)和WR端口同时对应R2, WRD= 1,而ER 中置入新的数据,观察并行输入输出的结果,RS 端口输出的是旧的还是新的数据

令 K2 (ALU_BUS) =0, K3 (CEL#)=1, K4 (LRW) =1, K5 (LDAR1) =0, K6 (LDDR2)=0, K10(RDO) = 0, K11 (RD1) = 0.将开关 IR/DBUS 至于 DBUS 位置。令KO (SW_BUS#)=0, K1 (RS_BUS#)=1,K7 (LDER) = 1,K14(WRD)=0。将SW7—SWO 置为 53H,按一次 QD 按钮,将53H 写入暂存寄存器 ER。
在这里插入图片描述
令KO (SW_BUS#)=1, K1 (RS_BUS#)=0,K8 (RSO)=0,K9 (RS1) =1,RS 端口选择R2,数据指示灯显示 R2 的值,应为 35H。
在这里插入图片描述
令 K14 (WRD)= 1, K12 (WRO)=0, K13 (WR1)=1,WR 端口选择R2,允许写操作。当按下QD按钮时,新的值 53H从印R 写入 R2,数据指示灯立即变为 53H。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值