Skip to content

Commit cc7f815

Browse files
committed
update chapter2.md
1 parent 64e9459 commit cc7f815

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

Notes/第二章:运算器件.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# 第二章:运算器件
2+
3+
> 本章的内容为一步一步实现ALU,由于作者认为乘法除法等可以在软件层面较方便地实现,所以现行的架构不会实现乘法电路。大致实现顺序为: Add.hdl->HalfAdder.hdl-> FullAdder.hdl->Add16.hdl->Inc16.hdl->ALU.hdl
4+
5+
回忆一下数字逻辑电路的知识,计算器可以使用异或实现`无进位的加法`,而进位则可以通过逐项运算过程中携带的`1 Bit`的进位来实现。
6+
7+
能想到这一点,整个项目就已经完成了一半。
8+
9+
`ALU`的设计是基于前面我们所设计的所有器件来构建的,相当于一个控制台,只负责中转的逻辑,添加了一些控制位,查表,得知`ALU`的控制位,于是进行跳转,当然这里的功能的跳转实际上是由门电路实现的,并没有像写汇编的那么清楚。
10+
11+
<img src="/Users/wocaibujiaoquanmei/iCloud 云盘(归档)/GitHub/nand2tetris/Images/ALU.png" alt="image-20210923141609907" style="zoom:50%;" />
12+
13+
除了`ALU`稍微困难些之外,其他的都是比较简单的。
14+
15+
### 源码

0 commit comments

Comments
 (0)