1、西安财经学院信息学院计算机组成原理及系统结构实验报告实验名称 运算器实验、通用寄存器实验、移位寄存器实验 实验室 实验楼 418 实验日期 2014-11-20、2014-11-25、2014-11-27 实验一 运算器实验一、实验目的1. 掌握简单运算器的数据传输方式。2. 验证运算器功能发生器(74LS181)及进位控制的功能组合。3. 完成不带进位及带进位算术运算实验、逻辑运算实验,了解算术逻辑运算单元的运用。二、实验原理图 1姓名 学号 1305500 班级 网络 1302 班 年级 网络 13 级 指导教师 魏晋雁 二进制开关单元中 SW-B 连接 1/8 的 D 触发器,当 SW-
2、B 为高电平时,机器将会将数据开关中的数据传送至数据总线。开关单元中的 LDDR1 和 LDDR2 连接的分别是 1/8 的 D触发器,当 LDDR1 为 1 时,与 R1 与门连接的 273 会将 R1 的数据传送到运算单元中,当LDDR2 为 1 时,与 R2 连接的 273 将会将 R2 数据送至运算单元。开关中的M、S0、S1、S2、S3 连接的为 5/8 的 273,CBA 连接的为 3/8 的 273.当M、S0、S1、S2、S3、B 都为高电平时,R1 中的数据将会通过 181 传送至数据总线。当M、S1、S3、B 为高电平时,R2 中的数据通过 181 传送至数据总线。三、实验
3、内容及结果分析(一).算术运算实验(1)写操作(置数操作)拨动二进制数据开关向 DR1 和 DR2 寄存器置数,具体操作步骤如下:结果分析:当 CBA=000,CE=0,SW-B=1 时,数据开关的数据将会送至总线,令LDDR1=1 或 LDDR2=1 时,则实现了总线数据的共享,从而将数据存储到了数据中。运算单元中 R1 显示的为:65、R2 显示的为 A7。(2)读操作(运算寄存器内容送总线)首先关闭数据输入三态控制端(SW-B=0),存储器控制端 CE 保持为 0,令LDDR1=0、LDDR2=0,然后打开 ALU 输出三态门(CBA=010),置 M、S0、S1、S2、S3 为1111
4、1,再按【单步】键,数据总线单元显示 DR1 的内容,若把 M、S0、S1、S2、S3 置为10101,再按【单步】键,数据总线单元显示 DR2 的内容。结果分析:当 CBA=010,SW-B=0,CE=0 时,将运算单元的数据送至数据总线,当制M,S0,S1,S2,S3 为 1111 时,将作用于控制 LDDR1 的 181,输出 R1,为 65,当M、S0、S1、S2、S3 为 10101 时,输出 R2,为 A7。 算术运算(不带进位加)置 CBA=010,CN、M、S0、S1、S2、S3 状态为 101001,按【单步】键,此时数据总线单元应显示 00001100(0CH)。结果分析:
5、当 CN、M、S0、S1、S2、S3 为 101001 时,机器实现的是 R1 与 R2 的加法。R1=01100101,R2=10100111,则 R1 与 R2 的不带进位加结果为 00001100.而 CBA=010 则是将结果传至数据总线。(二)进位控制实验 进位位清零操作在“L”状态下,按动【复位】按钮,进位标志灯 CY“灭”,实现对进位位的清零操作。(当进位标志灯“亮”时,表示 CY=1)。 用二进制数据开关向 DR1 和 DR2 寄存器置数首先关闭 ALU 输出三态门(CBA=000)、CE=0,开启输入三态门(SW-B=1),设置数据开关,向 DR1 存入 01010101(5
6、5H),向 DR2 存入 10101010(AAH)。操作步骤如下:结果分析:当 CBA=000,CE=0,SW-B=1 时,数据开关的数据将会送至总线。令LDDR1=1 或 LDDR2=1 时,则实现了总线数据的共享,从而将数据存储到了数据中。运算单元中 R1 显示的为:55;R2 显示的为 AA。 验证带进位运算的进位锁存功能关闭数据输入三态门(SW-B=0)、CE=0,使 CBA=010,AR=1,置CN、M、S0、S1、S2、S3 的状态为 101001,按【单步】键,此时数据总线单元显示的数据为 DR1 加 DR2,若进位标志灯 CY“亮”,表示有进位;反之无进位。结果分析:当 CN
7、、M、S0、S1、S2、S3 为 101001 时,机器实现的是 R1 与 R2 的加法。R1+R2=11111111,无进位,所以 CY 不亮。而 CBA=010 则是将结果传至数据总线。(三)逻辑运算实验 写操作(置数操作)拨动二进制数据开关向 DR1 和 DR2 寄存器置数,具体操作步骤如下: 结果分析:运算单元中 R1 显示的为:65;R2 显示的为 A7。 读操作(运算寄存器内容送总线)首先关闭数据输入三态控制端(SW-B=0),存储器控制端 CE 保持为 0,令LDDR1=0、LDDR2=0,然后打开 ALU 输出三态门(CBA=010),置 M、S0、S1、S2、S3 为1111
8、1,再按【单步】键,数据总线单元显示 DR1 的内容,若把 M、S0、S1、S2、S3 置为10101,再按【单步】键,数据总线单元显示 DR2 的内容。结果分析:当 M、S0、S1、S2、S3 为 11111 时,控制 LDDR1 的 181 将 R1 的内容传至数据总线,显示为 :65。当 M、S0、S1、S2、S3 为 10101 时,控制 LDDR2 的 181 将 R1的内容传至数据总线,显示为 :A7。 逻辑或非运算逻辑或非运算的方法是置 CBA=010,M、S0、S1、S2、S3 状态为 11000,按【单步】键,此时数据总线单元应显示 00011000(18H)。结果分析:S0
9、、S1、S2、S3 为 1000 时,M=1 时,逻辑运算为 R1、R2 的或非。而 R1与 R2 的或为 11100111。四、实验思考验证 74LS181 的算术逻辑运算功能:M=0(算术运算)DR1 DR2 S3 S2 S1 S0 CN=1无进位CN=0有进位M=1(逻辑运算)65 A7 0 0 0 0 F=( 65 ) F=( 66 ) F=( 9A )65 A7 0 0 0 1 F=( E7 ) F=( E8 ) F=( 18 )65 A7 0 0 1 0 F=( 7D ) F=( 7E ) F=( 82 )0 1 0 0 F=( A5 ) F=( A6 ) F=( DA )0 1
10、0 1 F=( 27 ) F=( 28 ) F=( 58 )0 1 1 0 F=( BD ) F=( BE ) F=( C2 )0 1 1 1 F=( 3F ) F=( 40 ) F=( 40 )1 0 0 0 F=( 8A ) F=( 8B ) F=( 6F )1 0 0 1 F=( 0C ) F=( 0D ) F=( 3D )1 0 1 0 F=( A2 ) F=( A3 ) F=( A7 )1 0 1 1 F=( 24 ) F=( 25 ) F=( 25 )1 1 0 0 F=( CA ) F=( CB ) F=( FF )1 1 0 1 F=( 4C ) F=( 4D ) F=( 7D
11、 )1 1 1 0 F=( E2 ) F=( E3 ) F=( E7 )1 1 1 1 F=( 64 ) F=( 65 ) F=( 65 )结果分析:在给定 DR1 和 DR2 的情况下,通过二进制控制单元中 S0、S1、S2、S3 来改变运算器的功能,从而得出了当 M=1、M=0 时 F 的值。五、实验总结通过实验一,了解了如何在运算单元中置数,掌握了运算器的数据传送方式,验证了运算器的功能发生器以及进位控制的组合功能,了解了三态门的运算。实验完成了不带进位加法、带进位加法以及数据的逻辑运算。实验二 通用寄存器器实验一、实验目的 熟悉通用寄存器概念。 熟悉通用寄存器的组成和硬件电路。二、实验
12、原理图 2表 1C B A 选择1 0 0 R0-B1 0 1 R1-B1 1 0 R2-B二进制开关 R1、R2、R0 连接一个 273 通过三个与门,分别连接三个 8 位字长的374,开关 CBA 连接一个 273 之后相连一个 138,CBA 通过译码产生数据输出选通信号,T2 信号为译码产生数据的脉冲。LDR0、LDR2、LDR3 都是高电平有效,T4 信号为寄存器写入的脉冲。当 CBA 产生的选通信号作用于对应的 374 时将会将对应的数据传入数据总线。三、实验内容及结果分析(一)通用寄存器的写入拨动二进制数据开关向 R0 和 R1 寄存器置数,具体操作步骤如下:注:【单步】键的功能
13、是启动时序电路产生 T1T4 四拍单周期脉冲结果分析:寄存器单元中 R0 显示的为:01、R1 显示的为 80。(二)通用寄存器的读出关闭数据输入三态(SW-B=0),存储器控制端 CE=0,令 LDR0=0、LDR1=0、LDR2=0,分别打开通用寄存器 R0、R1、R2 输出控制位,置 CBA=100 时,按【单步】键,数据总线单元显示 R0 中的数据 01H;置 CBA=101 时,按【单步】键。数据总线单元显示 R1 中的数据80H;置 CBA=110 时,按【单步】键,数据总线单元显示 R2 中的数据(随机)。结果分析:当 CBA=100、101、110 时,都是将寄存器中的数据传送
14、至数据总线中。CBA=100 时,选择 R0-B,R0-B 作用于与 LDR0 相连的 374,将 R0 传送到数据总线,数据总线显示 01。CBA=101 时,选择 R1-B,R1-B 作用于与 LDR1 相连的 374,将 R1 传送到数据总线,数据总线显示 80。CBA=110 时,选择 R2-B,R2-B 作用于与 LDR2 相连的 374,将 R2 传送到数据总线,数据总线显示 FF。四、实验总结通过实验二,了解了通用寄存器的组成与硬件电路,完成了利用寄存器数据的置数、左移、右移等功能。掌握了通用寄存器的数据写入与读出。实验三 移位寄存器器实验一、实验目的 了解移位寄存器的硬件电路,
15、验证移位控制与寄存的组合功能。 利用寄存器进行数据传输。二、实验原理图 3299 为移位发生器,为 8 输入和输出,T4 信号为移位信号,在上升沿有效。299-B 为信号控制端,当 299-B 为低电平时有效。S1、S0、M 为控制端,S0、S1、M 为不同的信号时,299 发生不同的移位。表 2299-B S1 S0 M 功 能0 0 0 任意 保持0 1 0 0 循环右移0 1 0 1 带进位循环右移0 0 1 0 循环左移0 0 1 1 带进位循环左移任意 1 1 任意 装数说明:令 CBA=011 时表中 299-B=0。三、实验内容及结果分析(一) 移位寄存器置数首先置 CBA=00
16、0,然后按下面所列流程图操作:注:【单步】键的功能是启动时序电路产生 T1T4 四拍单周期脉冲结果分析:运算单元显示为:65.(二)寄存器移位首先置 CBA=011(299-B=0)、SW-B=0、CE=0,然后参照表 7-2-1 改变 S0、S1、M 的状态,按动【单步】命令键观察移位结果。结果分析:当 299-B 为 0 时:S1、S0、M 为 000 时,运算单元显示 65;S1、S0、M为 100 时,运算单元显示为 B2;S1、S0、M 为 101 时,运算单元显示为 59;S1、S0、M为 010 时,运算单元显示为 B2;S1、S0、M 为 011 时,运算单元显示为 65。当
17、299-B 为1 时,S1、S0、M 为 111 时,运算单元显示为 FF。(三)移位结果的寄存把移位寄存器移位后的内容寄存到通用寄存器(以 R0 为例),首先按图 7-2-2 所示连接实验电路。在移位操作后保持 CBA=011(即 299-B=0)、置 S0=0、S1=0,令LDR0=1,再按动【单步】命令键即可完成移位结果保存到通用寄存器 R0 的操作。结果分析:移位操作之后,运算单元中存储的为 FF,通用寄存器中 R0 位置处显示的为 FF.(四)移位结果的读出置 CBA=100、SW-B=0、CE=0,按【单步】键,数据总线单元显示 R0 寄存器的内容,该内容应与移位寄存器的内容一致。结果分析:当 CBA=100,SW-B=0,CE=0 时,数据总线单元显示都为为 FF,与寄存器中的数据一致。四、实验总结通过实验三的数据与理论分析进行比较,了解了寄存器的硬件电路,验证了移位控制与寄存的组合功能,了解了寄存器的应用,熟悉了移位寄存器的数据传送方式。