组成原理实验报告
3.3数据通路组成实验
系 别 计算机工程学院
专业班级 计算机科学与技术
成 员
指导教师
3.3 数据通路组成实验
一 实验目的
1.进一步熟悉计算机的数据通路
2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路.
3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法.
4.锻炼分析问题和解决问题的能力,在出现故障的情况下,分析故障现象,并排除故障.
二 实验电路
图3.3 数据通路实验电路图
数据通路实验电路图如图3.3所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DRl。
由于双端口存储器是三态输出,因而可以直接连接到DBUS上。此外,DBUS还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。
本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。
三、实验设备
1. TEC-5计算机组成原理实验系统1台
2. 逻辑测试笔一支(在TEC-5实验台上)
3. 双踪示波器一台(公用)
4. 万用表一只(公用)
四、 实验任务
1.将实验电路与控制台的有关信号进行连接。
2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:RO=0FH,R1=0F0H,R2=55H,R3=0AAH。
3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中.用同样的方法,依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元.
4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据.
五、实验要求
1. 做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。
2. 写出实验报告,内容是:
(1)实验目的。
(2)写出详细的实验步骤、记录实验数据及校验结果。
(3)其他值得讨论的问题。
六、实验步骤及结果
(1):接线
数据通路 | RS0 | RS1 | RD0 | RD1 | WR0 | WR1 | LDRi | LDDR1 |
模拟开关 | K0 | K1 | K2 | K3 | K4 | K5 | K6 | K7 |
数据通路 | RS_BUS# | SW_BUS# | ALU_BUS# | RAM_BUS# | LR/W# | CEL# | LDAR# |
模拟开关 | K8 | K9 | K10 | K11 | K12 | K13 | K14 |
数据通路 | AR+1 | CER# | Cn# | M | S0 | S1 | S2 | S3 |
模拟开关 | 地 | VCC | VCC | 地 | 地 | 地 | 地 | 地 |
1.令K4(WR0)=0, K5(WR1)=0, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1.置SW7-SW0=0FH, 按QD按钮,将0FH写入R0.
2.令K4(WR0)=1, K5(WR1)=0, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1.置SW7-SW0=0F0H, 按QD按钮,将0F0H写入R1.
3.令K4(WR0)=0, K5(WR1)=1, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1.置SW7-SW0=55H, 按QD按钮,将55H写入R2.
4.令K4(WR0)=1, K5(WR1)=1, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1.置SW7-SW0=0AAH, 按QD按钮,将0AAH写入R3.
(3):用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中.用同样的方法,依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元.
1.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1, K12(LDAR#)=0.置SW7-SW0=0FH, 按QD按钮, 将0FH写入地址寄存器AR.
令K2(RD0)=0, K3(RD1)=0, K6(LDRi)=0, K7(LDDR1)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K14(LDAR#)=1, K13(CEL#)=1. 按QD按钮,将R0的数据送入DR1,DR1中的数据通路通过运算器和ALU_BUS三态门送入数据总线DBUS, DBUS应显示0FH.
令K6(LDRi)=0, K7(LDDR1)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K12(LR/W#)=0, K14(LDAR#)=1, K13(CEL#)=0. 按QD按钮,将DBUS上的数据0FH写入AR指定的存储单元0FH.
2.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1, K14(LDAR#)=0.置SW7-SW0=0F0H, 按QD按钮, 将0F0H写入地址寄存器AR.
令K2(RD0)=1, K3(RD1)=0, K6(LDRi)=0, K7(LDDR1)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K12(LDAR#)=1, K13(CEL#)=1. 按QD按钮,将R1的数据送入DR1,DR1中的数据通路通过运算器和ALU_BUS三态门送入数据总线DBUS, DBUS应显示0F0H.
令K6(LDRi)=0, K7(LDDR1)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K12(LR/W#)=0, K14(LDAR#)=1, K13(CEL#)=0. 按QD按钮,将DBUS上的数据0FH写入AR指定的存储单元0F0H.
3.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1, K14(LDAR#)=0.置SW7-SW0=55H, 按QD按钮, 将55H写入地址寄存器AR.
令K2(RD0)=0, K3(RD1)=1, K6(LDRi)=0, K7(LDDR1)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K14(LDAR#)=1, K13(CEL#)=1. 按QD按钮,将R2的数据送入DR1,DR1中的数据通路通过运算器和ALU_BUS三态门送入数据总线DBUS, DBUS应显示55H.
令K6(LDRi)=0, K7(LDDR1)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K12(LR/W#)=0, K14(LDAR#)=1, K13(CEL#)=0. 按QD按钮,将DBUS上的数据55H写入AR指定的存储单元55H.
4.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1,K14(LDAR#)=0.置SW7-SW0=0AAH, 按QD按钮, 将0AAH写入地址寄存器AR.
令K2(RD0)=1, K3(RD1)=1, K6(LDRi)=0, K7(LDDR1)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K14(LDAR#)=1, K13(CEL#)=1. 按QD按钮,将R3的数据送入DR1,DR1中的数据通路通过运算器和ALU_BUS三态门送入数据总线DBUS, DBUS应显示0AAH.
令K6(LDRi)=0, K7(LDDR1)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=0, K11(RAM_BUS#)=1, K12(LR/W#)=0, K14(LDAR#)=1, K13(CEL#)=0. 按QD按钮,将DBUS上的数据0AAH写入AR指定的存储单元0AAH.
任务4:分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据.
1.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11 (RAM_BUS#)=1, K13(CEL#)=1, K14(LDAR#)=0.置SW7-SW0=0AAH, 按QD按钮, 将0AAH写入地址寄存器AR.
令K4(WR0)=0, K5(WR1)=0, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=0, K12(LR/W#)=1, K13(CEL#)=0, K14(LDAR#)=1. 按QD按钮, 将AR指定的存储器地址0AAH单元的内容0AAH读出,然后写入寄存器R0.
2.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1, K14(LDAR#)=0.置SW7-SW0=55H, 按QD按钮, 将55H写入地址寄存器AR.
令K4(WR0)=1, K5(WR1)=0, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=0, K12(LR/W#)=1, K13(CEL#)=0, K14(LDAR#)=1. 按QD按钮, 将AR指定的存储器地址55H单元的内容55H读出,然后写入寄存器R1.
3.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1, K14(LDAR#)=0.置SW7-SW0=0F0H, 按QD按钮, 将0F0H写入地址寄存器AR.
令K4(WR0)=0, K5(WR1)=1, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=0, K12(LR/W#)=1, K13(CEL#)=0, K14(LDAR#)=1. 按QD按钮, 将AR指定的存储器地址0F0H单元的内容0F0H读出,然后写入寄存器R2.
4.令K6(LDRi)=0, K8(RS_BUS#)=1, K9(SW_BUS#)=0, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1, K13(CEL#)=1, K14(LDAR#)=0.置SW7-SW0=0FH, 按QD按钮, 将0FH写入地址寄存器AR.
令K4(WR0)=0, K5(WR1)=1, K6(LDRi)=1, K8(RS_BUS#)=1, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=0, K12(LR/W#)=1, K13(CEL#)=0, K14(LDAR#)=1. 按QD按钮, 将AR指定的存储器地址0FH单元的内容0FH读出,然后写入寄存器R3.
任务5:校验结果
1.令K0(RS0)=0, K1(RS1)=0, K6(LDRi)=0, K8(RS_BUS#)=0, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1,读出R0的内容在数据总线上.数据总线DBUS指示灯应为0AAH.
2.令K0(RS0)=1, K1(RS1)=0, K6(LDRi)=0, K8(RS_BUS#)=0, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1,读出R1的内容在数据总线上.数据总线DBUS指示灯应为55H.
3.令K0(RS0)=0, K1(RS1)=1, K6(LDRi)=0, K8(RS_BUS#)=0, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1,读出R2的内容在数据总线上.数据总线DBUS指示灯应为0F0H.
4.令K0(RS0)=1, K1(RS1)=1, K6(LDRi)=0, K8(RS_BUS#)=0, K9(SW_BUS#)=1, K10(ALU_BUS#)=1, K11(RAM_BUS#)=1,读出R3的内容在数据总线上.数据总线DBUS指示灯应为0FH.