布尔算数和ALU
布尔逻辑(Boolean Logic)
布尔运算(Boolean Operation)
And(与门):两输入一输出,输入均为1时输出为1,否则输出为0。
Or(或门):两输入一输出,输入任意为1时输出为1,否则输出为0。
Not(非门):单输入一输出,输入为1时输出为0,输入为0时输出为1。
布尔函数(Boolean function)
两种表达方式:
-
公式:f(x,y,z)=(x AND y) OR (NOT(x) AND z)
-
真值表(Truth table) :
x y z f(x,y,z) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1
特性:
- 结合律:A AND (B AND C) = (A AND B) AND C
- 分配律:A AND (B OR C) = (A AND B) OR (A AND C)
- 交换律:A AND B = B AND A
- 德摩根律:NOT(A AND B) = NOT A OR NOT B;NOT(A OR B) = NOT A AND NOT B
布尔函数综合(Boolean Function Synthesis)
我们设计电路一定从功能开始,那么最直观的就是真值表。但真值表不包含运算逻辑,因此要从真值表推导出表达式。方法如下:
- 找出所有输出为 1 的,列出仅满足该输入条件时才输出为 1 的表达式
- 将这些表达式 OR 起来,得到整个电路的表达式
注意:至今也没有一个方法能够找到等效最短的逻辑表达式。
定理1:任何布尔函数都能用包含 AND OR NOT 运算的表达式表示。
定理2:任何布尔函数都能用包含 AND 和 NOT 运算的表达式表示。(OR 可以用 De Morgan 律式转换为 AND 和 NOT)
NAND 运算:x NAND y = NOT(x AND y)
定理3:任何布尔函数都能用仅包含 NAND 运算的表达式表示。(NOT(x)=x NAND x)
逻辑门(Logic Gates)
逻辑门就是布尔逻辑的物理实现。
至于它们如何被造出来属于电气工程的内容,God bless them,我们学计算机的不考虑这些。
芯片接口(chip interface):用户关系芯片的功能是什么(输入和输出的关系)
芯片实现(chip implementation):工程师需要关心芯片内部的实现
硬件描述语言(Hardware Description Language)
硬件描述语言(HDL)是一种用来描述硬件的语言,它可以用来描述电路、逻辑门、时序逻辑、存储器、接口等。
项目首页 从非门到俄罗斯方块项目笔记