从零开始构建现代计算机--第一章,01-用与非门实现与戓非

简介

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

实现的逻辑门

使用与非门(Nand)实现与戓非三个基本逻辑块

Nand原理

与门图示
从零开始构建现代计算机--第一章,01-用与非门实现与戓非
对与门取反就是与非门
从零开始构建现代计算机--第一章,01-用与非门实现与戓非

Nand真值表

xx yy 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门作为基本单元来构建与戓非门电路

符号约定

操作 表示
xyx \cdot y
x+yx+y
xˉ\bar{x}

用Nand实现And

真值表

xx yy And(x,y)And(x,y)
0 0 0
0 1 0
1 0 0
1 1 1

转换为Nand表示

使用公式:x=x=xxx = \overline{\overline{x}} = \overline{\overline{x} \cdot \overline{x}}
代入xyx \cdot y
xy=xy=xyxy x \cdot y = \overline{\overline{x \cdot y}} = \overline{\overline{x \cdot y} \cdot \overline{x \cdot y}}

电路连接

x与y先取一次Nand,再将结果分成两路输入Nand门,输出就是xyx \cdot y
从零开始构建现代计算机--第一章,01-用与非门实现与戓非

用Nand实现Or

真值表

xx yy Or(x,y)Or(x,y)
0 0 0
0 1 1
1 0 1
1 1 1

转换为Nand表示

使用公式:x+y=xˉyˉ,xˉ=xxx + y = \overline{\bar{x} \cdot \bar{y}}, \bar{x} = \overline{x \cdot x}
代入x+yx + y
x+y=xˉyˉ=xxyy x + y = \overline{\bar{x} \cdot \bar{y}} = \overline{\overline{x \cdot x} \cdot \overline{y \cdot y}}

电路连接

x与y先分别取一次Nand,再将结果输入同一个Nand门,输出就是x+yx + y
从零开始构建现代计算机--第一章,01-用与非门实现与戓非

用Nand实现Not

真值表

xx Not(x)Not(x)
0 1
1 0

转换为Nand表示

直接将x分两路输入同一个Nand门即可:
xˉ=xx \bar{x} = \overline{x \cdot x}

电路连接

从零开始构建现代计算机--第一章,01-用与非门实现与戓非