从零开始构建现代计算机--第一章,01-用与非门实现与戓非
简介
这是《计算机系统要素:从零开始构建现代计算机》的学习笔记,刚刚启程学习,记录博客好提醒自己不要半途而废。
书籍获取,代码实现与书籍介绍,可关注这位大佬,视频课程:coursera/B站
偷一张大佬github截图作为介绍:

实现的逻辑门
使用与非门(Nand)实现与戓非三个基本逻辑块
Nand原理
与门图示

对与门取反就是与非门

Nand真值表
| x |
y |
Nand(x,y) |
| 0 |
0 |
1 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
0 |
由于所有逻辑门基本单元都是And/Or/Not,而And/Or/Not都可以使用Nand门构建,因此Nand门可以作为整个逻辑电路的基本构件,从而让工艺流程变得更简单
下面就用Nand门作为基本单元来构建与戓非门电路
符号约定
| 操作 |
表示 |
| 与 |
x⋅y |
| 戓 |
x+y |
| 非 |
xˉ |
用Nand实现And
真值表
| x |
y |
And(x,y) |
| 0 |
0 |
0 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
1 |
转换为Nand表示
使用公式:x=x=x⋅x
代入x⋅y:
x⋅y=x⋅y=x⋅y⋅x⋅y
电路连接
x与y先取一次Nand,再将结果分成两路输入Nand门,输出就是x⋅y

用Nand实现Or
真值表
| x |
y |
Or(x,y) |
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
1 |
转换为Nand表示
使用公式:x+y=xˉ⋅yˉ,xˉ=x⋅x
代入x+y:
x+y=xˉ⋅yˉ=x⋅x⋅y⋅y
电路连接
x与y先分别取一次Nand,再将结果输入同一个Nand门,输出就是x+y

用Nand实现Not
真值表
| x |
Not(x) |
| 0 |
1 |
| 1 |
0 |
转换为Nand表示
直接将x分两路输入同一个Nand门即可:
xˉ=x⋅x
电路连接
