在上篇博文中(算术逻辑单元),做而论道介绍了做 “8 位算术逻辑运算” 的组成电路。在电路中,采用了两片集成电路芯片 74LS181。 74LS181 是专门进行算术逻辑运算的 ALU 芯片,可以对两个 4 位数(A、B)进行 32 种运算!
做而论道总结的 74LS181 功能表如下所示。
由于 74LS181 具有 “算术、逻辑” 两种运算功能,因此,加号(+)运算符,就是两用的。按照常规,在逻辑运算中,+ 就是 “或” 运算,在算术运算中,+ 就是 “加” 运算。 但是,在 181 的算术运算中,还夹杂着 “逻辑或” 运算,这就比较混乱了。 所以,在英文的 PDF 文件中,就弄得很滥了,加减运算符,竟然用上了英文单词! 做而论道把 逻辑或,用竖线(|)表示,这样看起来,就正规多了。 至于与运算和非运算,都是按照常规,分别用 “ . ” 和 “ / ” 表示。
74LS181 的输出共有 5 位二进制数,分别是:Cn+4、F3 F2 F1 F0。进行算术运算时,Cn+4 就是进/借位。此时,输出与输入的关系,就是一个函数,其表达式为:
Cn+4 F3 F2 F1 F0 = f (A3 A2 A1 A0,B3 B2 B1 B0,Cn)。
在进行逻辑运算时,Cn+4 和 Cn 都是没有意义的。此时,输出与输入的关系式为:
F3 F2 F1 F0 = f (A3 A2 A1 A0,B3 B2 B1 B0)。
用 PROTEUS 软件搭建的 ALU 芯片 74LS181 功能测试电路,如下所示。
本电路中,使用了两片 74LS181 芯片,故此,本电路就是 “8 位算术逻辑单元(ALU)”。
在 M 端输入算术逻辑运算选择电平,在 S3S2S1S0 端输入功能选择代码、74LS181 就会按指定功能函数,算出运算结果并输出。
本电路的 A、B,均使用了固定值,其中 A = 65H、B = A7H,均为八位二进制数。 进行逻辑运算时,Cn 和 Cn+4,都没有意义。所以,本电路逻辑运算的八位测试结果,就非常简单了,如下所示。
74LS181 的逻辑运算功能,还挺齐全的。 常用的运算,如:A、/A、B、/B、A.B、/(A.B)、A + B、/(A + B)、A ⊕ B、A ⊙ B、全 0、全 1,在这块芯片中,全都有啊! 而且,仔细看看上图中的实验结果,可以发现:它算的,还都挺对的。
另外,还可以看出:在逻辑运算时,前八种和后八种的输出,是反相的。
在这 16 种逻辑运算中,有四种:/A . B、A . /B、/A + B、A + /B,这几个逻辑功能都比较奇怪。 它们都有什么用处呢? 哪位网友知道,可留言解惑。
--本文完--