实验报告 、实验名称 运算器实验—算术逻辑运算实验
、实验目的 1、了解运算器的组成原理。 2、掌握运算器的工作原理。 3、掌握简单运算器的数据传送通路。 4、验证运算功能发生器( 74LS181)的组合功能
三、实验设备 TDN-CM++ 计算机组成原理教学实验系统一套,导线若干 四、实验原理
实验中所用的运算器数据通路如图 1-1 所示。其中两片 74LSl81以串行方式 构成 8 位字长的 ALU, ALU 的输出经过一个三态门 (74LS245)和数据总线相连。 三态门由 ALU-R 控制,控制运算器运算的结果能否送往总线,低电平有效。 为实现双操作数的运算, ALU 的两个数据输入端分别由二个锁存器 DR1、 DR2 (由 74LS273实现)锁存数据。要将数据总线上的数据锁存到 DRl、DR2 中,锁 存器的控制端 LDDR1 和 DDR2必须为高电平,同时由 T4 脉冲到来。 数据开关“( INPUT DEVICE")用来给出参与运算的数据, 经过三态(74LS245) 后送入数据总线,三态门由 SW—B控制,低电平有效。数据显示灯 “( BUS UNIT") 已和数据总线相连,用来显示数据总线上的内容。 图中已将用户需要连接的控制信号用圆圈标明 (其他实验相同,不再说明 ), 其中除 T4 为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已 连至“W/R UNIT ”的相应时序信号引出端, 因此,在进行实验时, 只需将“W /R UNIT"的 T4接至“ STATE UNIT ”的微动开关 KK2 的输入端,按动微动开 关,即可获得实验所需的单脉冲。 ALU 运算所需的电平控制信号 S3、S2、S1、S0 、Cn、M、LDDRl、LDDR2 、 ALU-B 、SW-B均由“ SWITCH UNIT ”中的二进制数据开关来模拟,其中 Cn、ALU —B、SW 一 B 为低电平有效 LDDR1 、LDDR2 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。 五、实验内容 1.输入数据通过三态门 74LS245 后送往数据总线,在数据显示灯和数码显 示管 LED 上显示。 2.向 DRl(或 DR2)中置数,经 ALU 直传后,经过三态 245 送入数据总线, 在数据显示灯和数码显示管 LED 上显示 3.将输入 DRl 和 DR2 中的两个数进行算术逻辑运算,验证 AlU 的功能, 结果在数据显示灯和数码显示管 LED 上显示。
六、实验步骤 1、输入数据通过三态门 74LS245 后经过数据总线在数据显示灯和数码显示 管 LED 上直接显示
(1)按下图连接实验线路,仔细查线无误后,接通电源。 (2)用二进制数码开关输入数据 65H,观察总线数据显示灯和 LED 灯的变 化。设置:○1 SW-B=1;○2 从输入开关输入: 01100101;○3 打开三态门 SW-
B=0; ○4 数据在数码管上显示: LED-B=0 ,发 W/R 脉冲。 (3)观察实验结果。
2. 向 DRl(或 DR2)中置数,经ALU 直传后,经过三态 245送入数据总线, 在 数据显示灯和数码显示管 LED 上显示。 (1)重新连接电路,仔细检查无误之后,接通电源。 2)向DR1和DR2寄存器中置入数据 65H和 A7H。流程为: ○1 使 SWITCH UNIT 单元中的开关 SW-B=1; ○2 从输入开关输入: 01100101(数据显示:灯亮为 0,灯不亮为 1。下同); ○3 使开关 SW-B=0; ○4 设置 LDDR1=1 、LDDR2=0
○5 将数据打入 DR1[按 KK2 发 F4 脉冲],将总线上得数据在数码管上显示: LED-B=0 。 2)、用输入开关向寄存器 DR2 置数 .。 ○1 使 SWITCH UNIT 单元中的开关 SW-B=1; ○2 从输入开关输入: 10100111; ○3 使开关 SW-B=0; ○4 设置 LDDR1=0 、LDDR2=1 。 ○5 将数据打入 DR2[按 KK2 发 F4 脉冲],将总线上得数据在数码管上显示: LED-B=0 。 (3)、检验输入 DR1 和 DR2 寄存器中的数据是否正确。
1、关闭三态SW-B=1,关闭暂存器的输入: LDDR1=0 、 LDDR2=0 。 2、打开 ALU 输出三态门: ALU-B=0 ,设置运算器直传形式 S3S2S1S0M为 11111。 3、将总线上的数据在数码管上显示: LED-B=0 ,发 W/R 脉冲。 4、观察结果(即 DR1 中的数据)。
数据开关 寄存器 DR1 打开 数据开关
(01100101) (01100101) 三态门 (10100111)
1)、用
输
打开 寄存器 DR2
三态门 (10100111)
入开关向寄存器 DR1 置数 5、再次关闭三态门: SW-B=1。打开 ALU 输出三态门: ALU-B=0 。 6、设置运算器直传形式 S3S2S1S0M为 10101。 7、将总线上的数据在数码管上显示: LED-B=0 ,发 W/R 脉冲。 8、观察结果(即 DR2 中的数据)。
3、将输入 DR1 和 DR2 中的两个数进行算术逻辑运算,验证 ALU 的功能, 结果在数据显示灯和数码显示管 LED 上显示。
(1)、保持中数据不变,若不知道中是否有数据,可按实验步骤 2 中得( 3)去 检查。 (2)通过“ SWITCH UNIT ”改变开关 S3,S2,S1,S0,Cn,M 的值,可将两 数进行不同的运算。例如:设置 S3S2S1S0CnM=10010,运算器进行加法运算, 设置 S3S2S1S0CnM=01100,运算器进行减法运算。 最后根据运算结果填写下表: DR1 DR2 S3 S2 S1
S0
M=0( 算术运算 )
M=1 (逻辑运 算) Cn=1 无进位 Cn=0 有进
位
65 A7 0 0 0 0 F=(6 5) F=( 6 6 ) F=(9 A ) 65 A7 0 0 0 1 F=(E 7) F=( E8 ) F=( 1 8 ) 65 A7 0 0 1 0 F=(7 D) F=( 7 E ) F=( 82 ) 0 0 1 1 F=( ) F=( ) F=( )
0 1 0 0 F=( ) F=( ) F=( )
0 1 0 1 F=( ) F=( ) F=( )
01 1 0 F=( ) F=( ) F=( )
0 1 1 1 F=( ) F=( ) F=( )
1 0 0 0 F=( ) F=( ) F=( )
1 0 0 1 F=( ) F=( ) F=( )
1 0 1 0 F=( ) F=( ) F=( )
1 0 1 1 F=( ) F=( ) F=( )
1 1 0 0 F=( ) F=( ) F=( )
1 1 0 1 F=( ) F=( ) F=( )
1 1 1 0 F=( ) F=( ) F=( )
1 1 1 1 F=( ) F=( ) F=( )
七、实验结果 1、在实验步骤 1 第( 3)步观察到的结果是亮、暗、暗、亮、亮、暗、亮、暗, 即运算器最后存储的数据是 01100101,即 LED 显示为 65; 2、在实验步骤 2 第( 3)步观察到的结果是亮、暗、暗、亮、亮、暗、亮、暗, 即运算器最后存储的数据是 01100101,即 LED 显示为 65; 3、在实验步骤 2 第( 3)步观察到的结果是暗、亮、暗、亮、亮、暗、暗、暗, 即运算器最后存储的数据是 10100111,即 LED 显示为 A7; 4、步骤 3 中的运算结果如下:
DR1 DR2 S3 S2 S1
S0
M=0( 算术运算 )
M=1 (逻辑运 算) Cn=1 Cn=0 无进位 有进位
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 0 1 1 F=(FF) F=(00) F=(00 ) 0 1 0 0 F=(A5) F=(A6) F=(dA) 0 1 0 1 F=(27) F=(28) F=(58) 01 1 0 F=(BD) F=(BE) F=(C2) 0 1 1 1 F=(3F) F=(40) F=(4D) 1 0 0 0 F=(8A) F=(8B) F=(BF) 1 0 0 1 F=(0C) F=(0D) F=(3D) 1 0 1 0 F=( 4C) F=(AD) F=(7D) 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) 1 1 1 0 F=(E2) F=(E3) F=( E7) 1 1 1 1 F=( 64) F=(65) F=(65)
八、小结 通过这次实验, 我明白了要很好的完成实验首先一定要注意线路的连接, 需 要对应的要一一对应。 我掌握了算术逻辑运算器单元 ALU(74LS181)的工作原 理,并熟悉了怎样输入输出数据和验算由 74LS181 等组合逻辑思电路的运算功 能发生器运算功能等实验步骤和要求。