这个问题问的好奇怪诶.... 74283(或74LS283;54HC283等等)就是一个可以直接用的组合逻辑电路加法器啊?!一颗芯片上有4-bit,那么两颗就可以算8-bit了。
74LS283 Datasheet
使用方法很简单:
如果要计算3+2,
A4, A3, A2, A1对应加数A:0011
B4, B3, B2, B1 对应加数B:0010
E4, E3, E2, E1 是运算结果:0101
C0是Carry In,不用的话一定要接低电平,因为这个芯片自带上拉电阻,不接低电平就永远在往系统里加一,如果要算减法的话,这个是有用的。
C4是Carry Out,两片或多片接起来加更大的数时,C4接到更高位芯片的C0上,否则不用接。
假如要运算8-bit的数,只需要再加一块芯片,准备芯片A,B:
计算60+76
B{A4, A3, A2, A1}代表B芯片的A4, A3, A2, A1
A{A4, A3, A2, A1}代表A芯片的A4, A3, A2, A1,以此类推。
B{A4, A3, A2, A1}, A{A4, A3, A2, A1}对应加数:0011 1100
B{B4, B3, B2, B1}, A{B4, B3, B2, B1} 对应加数:0100 1100
B{E4, E3, E2, E1}, A{E4, E3, E2, E1} 是运算结果:1000 1000
A芯片的C0接低电平,A芯片的C4接B芯片的C0。
试着画一画电路图,应该就能推导出怎样用4个芯片算16-bit的数了。
哇... 希望我讲清楚了.....
也许楼主是想问74LS283是用什么组合逻辑电路设计的,那么我也说一下吧...
首先这里有几个基础的Boolean Logic Gate(布尔逻辑门??...)
AND Gatehttps://en.wikipedia.org/wiki/AND_gateOR Gatehttps://en.wikipedia.org/wiki/OR_gateNOT Gatehttps://en.wikipedia.org/wiki/Inverter_(logic_gate)
然后把NOT Gate接在AND和OR Gate的输出上,就有了
NAND Gatehttps://en.wikipedia.org/wiki/NAND_gateNOR Gatehttps://en.wikipedia.org/wiki/NOR_gate
这两个门也被叫做Universal Gate,如果你仔细钻研一下就会发现,一定数量和方式的NAND或NOR Gate的组合可以替换任何其他的门,甚至可以互相替换,也就是说,一个组合逻辑电路中,可以只有NAND或NOR Gate。但... 这只是数学上行得通而已,不要这样去干......
//话说an and gate 和anand gate 念起来太像了,很难区分的好吧.....
这里还有一个非常特殊的成员:
XOR Gate (Exclusive-OR Gate)https://en.wikipedia.org/wiki/XOR_gate
XOR与OR的区别是:当输入是两个1时,XOR输出0,OR输出1。
也就是说,XOR在只有两个输入不同的时候输出1。
仔细想想,XOR的行为模式很符合我们2进制加法的模式啊,我们给他输入两个0,输出0,就像0+0=0。输入1和0,输出1,就像1+0=1。但是1+1时,等于10,XOR可以正确的输出第一位的0,但处理不了Carry的那一位1。
即使是这样,也阻止不了XOR成为加法器的重要角色,他只是需要帮手。Carry只在输入都是1的时候产生,那么有个门的行为正好是这样,他就是AND Gate。
Half Adder
这样,我们就做出了一个半加器,但是他能输出一个Carry,不能接受Carry啊,算11+11怎么办?那就用两个XOR加两个加数和Carry然后用两个AND判断有没有输出Carry然后将Carry OR起来。呼... 胡言乱语了一通,还是看电路图吧....
Full Adder
Beautiful,计算机算数的基础,就这样诞生了。
电路图可以简化成这样:
然后就能丧心病狂的堆了。
4-bit Adder
至于怎样算减法,改天再说吧,给个预告:1-1 == 1+(-1)。