苹果不会去想橘子的问题。
目录
1.1实验目的
熟悉 4 位运算功能发生器(74LS181)的算术、逻辑运算功能。
熟悉简单运算器的电路组成。
掌握算术逻辑运算单元的工作原理。
1.2实验要求
做好实验预习,看懂电路图,熟悉实验中所用芯片各引脚的功能和连接方法。
按照实验内容与步骤的要求,认真仔细地完成实验。
写出实验报告。
1.3实验电路
本实验用到的主要数字功能器件有:4 位算术逻辑运算单元 74LS181,8 位数据锁存器74LS273,三态输出的 8 组总线收发器 74LS245,单脉冲、开关、数据显示灯等。芯片详细说明请见芯片数据手册。
图 2.1 为本实验所用的运算器电路图,图中尾巴上带加粗标记的线条为控制信号线, 其余为数据线。实验电路中涉及的控制信号如下:
- M:选择 ALU 的运算模式(M=0,算术运算;M=1,逻辑运算)。
- S3,S2,S1,S0:选择 ALU 的运算类型,例如在算术运算模式下设为 1001 则 ALU
做加法运算,详见 74LS181 功能表 3-1。
- Cn:向 ALU 最低位输入的进位信号,Cn=0 时有进位输入,Cn=1 时无进位输入。
- Cn+4:ALU 最高位向外输出的进位信号,为 0 时有进位输出,为 1 时无进位输出。
- P1:脉冲信号,在上升沿将数据打入 DR1。74LS273 触发器在时钟输入为高电平或低电平时,输入端的信号不影响输出,仅仅在时钟脉冲的上升沿,输入端数据才会发送到输出端,并将数据锁存。
- P2:脉冲信号,在上升沿将数据打入 DR2。
- MR:芯片 74LS273 的清零信号,低电平有效。当MR为电平时,74LS273 的数据输出引脚被置零。
- ALU − BUS:ALU 输出三态门使能信号,为0 时将 74LS245 输入引脚的值从输出引脚输出,从而将ALU 运算结果输出到数据总线。
- SW − BUS:开关输出三态门使能信号,为 0 时将 SW7~SW0 数据送到数据总线。
1.4 实验原理
运算器实验电路如图 2.1 所示。两片 4 位的 74LS181 构成了 8 位字长的 ALU。两个 8 位的 74LS273 作为工作寄存器 DR1 和 DR2,用于暂存参与运算的操作数。参与运算的数据由数据开关通过三态门 74LS245 送入工作寄存器,ALU 的运算结果也通过三态门74LS245 发送到数据显示灯上。
参与运算的操作数由 SW7~SW0 共 8 个二进制开关来设置,当SW − BUS=0 时,数据通过三态门 74LS245 输出到 DR1 和DR2。DR1 接ALU 的 A 输入端口,DR2 接 ALU 的 B 输入端口。在 P1 的上升沿将数据打入 DR1,送至 74LS181 的 A 输入端口;在 P2 的上升沿将数据打入 DR2,送至 74LS181 的 B 输入端口。
ALU 由两片 74LS181 构成,其中 74LS181(1)做低 4 位算术逻辑运算,74LS181(2)做高4 位算术逻辑运算,74LS181(1)的进位输出信号 Cn+4 与 74LS181(2)的进位输入信号 Cn 相连,两片 74LS181 的控制信号 S3~S0、M 分别相连。运算结果通过一个三态门 74LS245 输出到数据显示灯上。另外,74LS181(2)的进位输出信号 Cn+4 可另接一个指示灯,用于显示运算器进位标志信号状态。
1.5 实验内容与步骤
- 运行虚拟实验系统,按照图 2.1 绘制运算器实验电路,生成实验电路如图 2.2 所示:
2.进行电路预设置,具体步骤如下:
- 将ALU − BUS设为高电平,关闭 ALU 输出端的三态门;
- 将两片 74LS273 的MR都设为高电平,否则 74LS273 会一直处于清零状态。
- 打开电源开关。
- 将SW − BUS置 0,打开数据输入端的三态门;
- 将数据开关的 SW7~SW0 置为 01100101;
- 发出 P1 单脉冲信号,在 P1 的上升沿,数据打入寄存器 DR1;
- 将数据开关的 SW7~SW0 置为 10100111;
- 将SW − BUS置 1,关闭数据输入端的三态门;
5.检验 DR1 和 DR2 中存的数是否正确。其具体操作如下:
- ALU − BUS=0,打开 ALU 输出端的三态门;
- 设置 Cn=1,ALU 无进位输入;
- 将 S3、S2、S1、S0、M 置为 00000,指示灯应显示 DR1 中数据 01100101;
- 将 S3、S2、S1、S0、M 置为 10101,指示灯应显示 DR2 中数据 10100111。
6.验证 74LS181 的算术运算和逻辑运算功能(采用正逻辑)。在给定 DR1=65H,DR2=A7H 的情况下,改变运算器的功能模式,观察运算器的输出,并填入表 2-1,并和理论值进行比较、验证。
1.6 思考与分析
1. 运算器主要由哪些器件组成?这些器件是怎样连接的?
- 加法器:用于执行基本的二进制加法操作。
- 减法器:虽然你提到74LS181没有直接的减法指令,但一般运算器也会包含减法逻辑。
- 移位器:支持数据左移或右移操作。
- 比较器:用来判断两个数值的大小。
- 控制逻辑:决定运算的顺序和条件。
这些器件通常通过总线连接,如地址总线、数据总线和控制信号(如读写信号、运算选择信号)来交换信息并协同工作。它们之间的连接方式取决于具体的设计,可能是固定的硬件配置或是可编程的流水线设计。
- 2.芯片 74LS181 没有减法:A minus B 的指令,怎样实现减法功能?
- 首先将B的值取反(A-B等同于A+~B)。
- 然后与A进行逻辑加法。
- 控制逻辑会根据结果判断是否需要改变某些位,如借位标志。
- 3.74LS181 有哪两种级联方法?分别要用到哪些引脚?哪一种速度更快?
- 并行连接:多个74LS181芯片并排连接在地址线上,可以扩展位宽,但速度受到所有芯片的最慢部分限制。
- 串行连接:通过使用芯片的级联输入(如串行数据输入/输出)来逐位处理,速度取决于内部操作的时钟频率,但可能更灵活且适用于高速应用。
1.7 心得与体会
- 实践操作中理解硬件逻辑的重要性。
- 合理利用芯片功能和外部电路设计可以解决复杂计算问题。
- 调试过程中发现错误和解决问题的能力提升。
- 对于不同级联方法的性能对比和适用场景的认识。