

1. 布尔门
布尔门是对布尔函数的物理实现,简单的布尔门相互连接可以实现复杂芯片的功能
1.1 布尔代数/布尔函数
- 布尔代数处理布尔型(二进制型)数值
- 布尔函数是指输入输出数值均为布尔型数值的函数
计算机硬件基于二进制数据表示和处理,所以布尔函数在硬件体系结构的描述,构建和优化过程中扮演着十分重要的角色,如何正确地表达和分析布尔函数是迈向构建计算机体系结构地第一步
每个布尔函数,不管有多复杂都可以只用三个布尔算子And,Or,Not来完全表示(在布尔中,我们处于有限的世界)
比如对于下面的真值表
| x | y | z | f |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 0 |
首先构建仅对| 0 | 0 | 0 | 1 |成立的布尔函数
(NOT(x) AND NOT(y)AND NOT(z))
再构建仅对| 0 | 1 | 0 | 1 |成立的布尔函数
(NOT(x)AND y AND NOT(z))
再构建仅对| 1 | 0 | 0 | 1 |成立的布尔函数
(x AND NOT(y) AND NOT(z))
三个表达式进行或运算即为最终结果
(NOT(x)AND NOT(y)AND NOT(z)) OR
(NOT(x)AND y AND NOT(z)) OR
(x AND NOT(y) AND NOT(z))
对于任何布尔函数我们都能只用AND和NOT两个布尔算子来表示
为了证明这点我们仅需证明OR可以使用AND和NOT两个布尔算子来表示
(x OR y) = NOT(NOT(x) AND NOT(y))
对于任何布尔函数我们都能只用NAND布尔算子来表示

最低0.47元/天 解锁文章

1139

被折叠的 条评论
为什么被折叠?



