算术逻辑单元(ALU)
ALU功能:
(1)算术运算:加,减,乘,除等
(2)逻辑运算:与,或,非,异或等
(3)辅助功能:移位,求补等
当M=0时,做算术运算,当M=1时,做逻辑运算;当M=1时,做逻辑运算。s3~s0,能指明进行的是哪种运算。例如:M=1时,s3~s0=1001,做逻辑运算A异或B。
最简单的逻辑运算:
与(类似于C语言中的&&) 或(类似于C语言中的||) 非(类似于C语言中的!)
表达式 Y=AB Y=A+B Y=!A
真值表 A B Y A B Y A Y
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
逻辑与门电路: 逻辑或门电路; 逻辑非门电路::
优先级:与大于或
与或运算满足分配律,结合律:
A(C+D)=AC+BD
ABC=A(BC)
A+B+C=A+(B+C)
本质上,逻辑表达式是对电路的数字化描述,简化逻辑表达式就是在简化电路。
符合逻辑:
如果用最简单的逻辑运算电路表示符合逻辑中的异或电路呢?
一位全加器:
串行加法器:
进位触发器用于保存‘进位’。
串行加法器:只有一个加法器,数据位逐位串行进入加法器中进行运算。进位触发器用来寄存进位信号,以便参与下一次运算。
如果操作数长N位,加法就要分N次进行,每次产生一位和,并且串行逐位地送回寄存器。
并行加法器:
串行进位的并行加法器:把N个全加器串接起来,就可以进行两个N位数的相加。
串行进位又称为行波进位,每一级进位直接依赖于前一级的进行,即进位信号是逐级进行的。