实验一运算器实验
简介:运算器是数据的加工处理部件,是 CPU的重要组成部分,各类计算机的运算 器结构可能有所不同,但是他们的最基本的结构中必须有算术 /逻辑运算单元、数据缓冲 寄存器、通用寄存器、多路转换器的数据总线的逻辑构件。
一、 实验目的
1、 了解算术逻辑运算器(74LS181 )的组成和功能。 2、 掌握基本算术和逻辑运算的实现方法。
二、 实验内容
运用算术逻辑运算器 74LS181进行有符号数/无符号数的算术运算和逻辑运算。
三、 实验元器件
1、 算术逻辑运算器(74LS181 )。
2、 三态门(74LS244、74LS245)及寄存器(74LS273、74LS373)。 3、 二进制拨码开关 SW-SPDT
四、 实验原理
NJUJL4
aIH4I 鼻 Itokt
图1.1运算器电路原理图
本实验的算术逻辑运算器电路如图
1.1所示:输入和输出单元跟上述实验相同: 缓冲
输入区八位拨码开关用来给出参与运算的数据,并经过三态门 74LS245和数据总线
BUS相连,在控制开关 SW_BUS处于高电平时允许输出到数据总线。
运算器则由两个
74LS181以串行进位形式构成 8位字长的算术/逻辑运算单元
(ALU): ALU_L4B 的进位输出端 CN+4与ALU_H4B 的进位输入端 CN相连,使低 4位运算产生的进位送进高 4位运算中。其中ALU_L4B为低4位运算芯片,参与低四位 数据运算,ALU H4B为高4位运算芯片,参与高四位数据运算。 ALU L4B的进位输入
端CN通过三态门连接到二进制开关 CN,控制运算器仅为,ALU_H4B的进位输出端CN+4 经过反相器74LS04,通过三态门接到溢出标志位 CF指示灯(CF=1,即ALU运算结果 溢出)。
ALU除了溢出标志位 CF夕卜,还有两个标志位:零标志位 ZF( ZF=1,即ALU运算 结果为0, ZF对应发光二极管点亮)和符号标志位 SF( SF=1,即运算结果为负数;SF=0 即运算结果为正数或 0对应发光二极管点亮)。
S S S S S S B B B B B B 3 4 5 7 6 8 U5 A 5 U 4 U 3 2 U U 1 U A BE A C B B B B B B B 74LS245 U9:A 18 16 14 12 Y2 Y3 2 4 A2 6 A3 8 OE 10 'I CF・ H PG 4 = F F F F N A PALU_H4B T4 LDDR1 AND DR1_CLK C G 4 B N A C ALU_L4B 74LS181 74LS181 MS S S S N B B B B A A A A T4 LDDR2 AND DR2_CLK rni 3 2 8 3 4 5 6 7蹄 尹聲 1f1 0 1 1 9 8 SSSS 3 2 1 0 SSSS W 3 2 lo N KSSSSC U U B B K K A
RP1 DIN [0..7] DIN 0 2 U1 A0 A1 A2 A3 A4 A5 A6 A7 19 1 ___ CE AB/BA B0 B1 B2 B3 B4 B5 B6 B7 18 17 BU 16 BU 15 BU 14 BU 0 S 1 S 2 S 3 S 4 Q Q 5 4 3 2 Q Q Q Q Q Q 74LS273 0 DR2 DR1 74LS273 M C DDDDDDDD 13 BU S 5 12 BU S 6 11 BU S 7 7 4 3 7 4 3 8 1 5 4 3 2 1 0 S S S S S S S U U U U U U 74LS245 缓冲输入
SW_BUS 图1.2运算器通路图
ALU的工作方式可通过设置两个 74181芯片的控制信号 (S0、S1、S2、S3、M、CN)
来实现,其74LS181逻辑功能表由表 1-1给出,运算器 ALU的输出经过三态门(两片 74LS244或一片74LS245)和数据总线 BUS相连。当二进制控制开关 CBA=010状态时, 通过138译码选通输出ALU_BUS运算器运行结果。运算器 ALU的两个数据输入端分 别由两个数据暂存器(74LS273)DR1、DR2锁存,74LS181将DR1、DR2内的数据 作为上述表 1.1中参与运算的数 A和B。由于 DR1、DR2已经把数据锁存,只要
74LS181的控制信号不变,那么
的时候,总线
74LS181的输出数据也不会发生改变。数据缓冲寄存器
DR1、DR2的输入端 D0~D7连至8位数据总线 BUS,在 DR1_CLK和DR2_CLK 端出 现上升沿跳变
BUS的数据分别打入 DR1、DR2锁存。
五、实验步骤
1、二进制拨码开关初始状态确定
运行仿真,拨动二进制拨码开关设定均为低电平状态(如图
SSSB BS R R R9 AP 1.2所示)。
二进制开关单元 2 AAAAAAAA A B C A D D U6 74LS138 I* f j V ' H »■ M ' »lj _L 1.2二进制开关单元
2、将65H和A7分别写入到数据换从寄存器
DR1和DR2,拨码开关向数据暂存器
DR1、DR2分别打入有符号数 +65H,A7 (即 A= 65H, B= A7 )。
3、通过拨动 M、CN、S3、S2、S1、S0控制运算器进行运算,将结果填入表格
器CBA=010译码输出ALU_BUS,观察运算器结果输出值和标志位状态, 中,并与理论值比较、验证 4LS181的功能。
1-2.
填入表1.2
改变运算器的控制信号 (M,CN,S3,S2,S1,S0)的组合,运算器运算结果通过 74LS138 译码
六、实验结果与分析
1、 完成实验步骤2,在显示结果后将指示灯显示的值与输入的数据进行比较; 2、 完成实验步骤3,填写运算器功能实验表
结果进行分析。(要求有详细的理论数据对比)
1.2,比较理论分析值与实验结果值;并 对
七、实验思考题
1、 74LS181组成的运算器通路, 可以区分有符号数运算和无符号数运算么?两者的 运算过
程有不同么?两者的数值表示范围各是多少?
2、 在74181组成的运算器通路中,输入锁存器 出端连接的 245缓冲器的作用是什么?
DR1、DR2的作用是什么?运算结 果输
表1.1 74LS181逻辑功能表 S3 S2 S1 S0 0 M=0 (算术运算) CN=1 无进位 CN=0有进位 F=A 加 1 F=( A +B )力口 1 M=1 (逻辑运算) 0 0 0 0 0 0 F= A 1 F= A +B F= A F= A 十B 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 F= A+B 1 F=0 减 1 0 F= A 力口 AB 1 F= ( A+B )力口 AB 0 F= A减B减1 1 F= AB 减 1 0 F= A 加 AB 1 F= A 力口 B 0 F= ( A+B )力口 AB 1 F= AB 减 1 0 F= A 力口 A 1 F= ( A+B )力口 A 0 F= ( A+B )力口 A 1 F= A 减 1 F= ( A + B )力口 1 F=0 F= A加 AB 力口 1 F= ( A+B )力口 AB 加 1 F= A 减 B F= AB F= A 力口 AB 力口 1 F= A 力口 B 力口 1 F= ( A + B )力口 AB 力口 1 F= AB F= A 力口 A 力口 1 F= ( A+B )力口 A 力口 1 F= ( A+\"B )力口 A 力口 1 F= A F= AB F=0 F= AB F= B F= A㊉ B F= AB F= A + B F= A㊉ B F= B F= AB F=1 F= A + B F= A+B F= A 注:表中“A和 “B分别表示参与运算的两个数, “ +表示逻辑或, 加”表示算术求
和。 & ”表示逻辑异或, “ /表示逻辑非,“ AB'逻辑与 表1.2 运算器功能实验表
DR1 DR2 S3 S2 S1 S0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M=0 (算术运算) CN=1无进位 CN=0有进位 M=1 (逻辑运算) 65 A7 0 65 A7 0 65 n A7 I 0 65 A7 0 65 n A7 I 0 65 A7 0 65 1 A7 r 0 65 A7 0 65 1 A7 r 1 65 A7 65 1 A7 65 A7 65 1 A7 65 A7 65 65 F=( 65) F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=(66) F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=(9A) F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() F=() 1 r 1 1 1 1 1 1 A7 A7
因篇幅问题不能全部显示,请点此查看更多更全内容