在上篇博文中(计算机组成原理--同步减法器-CSDN博客),做而论道介绍了 “快速借位” 减法器的组成电路。虽然,限于篇幅,只给出了 “两位数-两位数-低位借位” 的电路,但是,也是具有代表意义的。按此思路,制成四位、八位、16 位数的减法器,理论上已经没有障碍,只是电路规模与复杂程度的问题了。
当前,是使用大规模集成电路芯片的时代,在芯片中集成一个实用的减法器,根本就不是难事。
在集成电路芯片 74LS181 中,集成了多种算术逻辑运算功能。这片芯片,英文简称是 ALU,中文的名称就是【算术逻辑单元】。
74LS181 是四位的 ALU,它的功能有很多了。其中就包括了四位二进制的加减运算,而且还是具有 “快速进/借位” 的特点的加减运算。如果再利用一片 74LS182 ( CLA 功能芯片 ),即可用四片 181 级联成具有 “快速进/借位” 的 16 位 ALU。
74LS181、182 已经问世很多年了。那么,在当时 CPU 中,也一定是有 ALU 的。因此,在当时的 CPU 中,显然就应该具有减法运算的能力。
既然 CPU 具有减法运算功能,那么,想要做减法,立刻就可以相减了。
再也不必讨论 “用补码相加” 来做减法了。
不用补码,那么,减法器所相减的两个数,就是一般的二进制数,也即 “无符号数”。
CPU 中的 ALU,具有减法功能。相减的数据,是无符号数,并非是补码!
下面,做而论道就用 74LS181 来验证这个事实。
74LS181 是一块集成电路芯片,厂家给出了 PDF 格式的数据手册。其中就给出了 74LS181 的内部电路如下图所示。
电路中的 M 是 “算术/逻辑运算” 选择端,M=0 时,做算术运算、M=1 时,就做逻辑运算。
电路中的 S3S2S1S0 是功能选择输入端,可以用来选择 16 种功能。
由此来看,74LS181,你竟然具有 32 种运算功能啊!
为了对 74LS181 进行测试,就用 PROTEUS 软件,搭建一个电路吧。电路截图如下。
在图中,使用了两片 74LS181,组成了一个 8 位的算术逻辑运算电路。
在左上角的 M、S3~0 处,接了一个 5 位的拨动开关,用来选择运算功能。
参加运算的数据 A、B 采用了固定值,低位借位 C-1 则可用开关选择输入电平。
这个电路的测试结果是什么呢?
限于篇幅,在下篇博文,再写吧。
(博文写的长了,屏幕就乱闪,还是下次再见吧。)
--本文完--