Week2
为什么学这章的内容及学习目标
围绕着电脑计算展开,现在的我们知道CPU是计算机大量计算的关键部分,而在CPU内最关键处理计算的Chip是一个叫ALU(Arithmetic Logic Unit)中文名叫算术逻辑单元这样的一个东东,它的作用是处理字节运算和逻辑运算。Week2这章的内容目的是设计一个简单的ALU(属于From Nand to Tetris的一个ALU),这个ALU是专门属于你的,也是From Nand to Tetris这门课想要带给你,它被大量简化,只有加减法的计算功能。所以,难度适中,不用担心学不会的问题,但学习这个过程中带给你的爽感就像你真的设计了一个ALU,乃至未来的PC。
这章的内容以什么形式呈现
既然是计算,最简单的模型莫过于,两个分别为1个bit的信息进行相加计算了。这个模型抽象具体化为In a, b Out sum,carry
输出的结果分别为1bit的内容,carry代表的是进位,sum表示二进制相加的most significant的一位。我们将这个模型抽象为一个叫做HalfAdd的Chip。
计算不可能只计算一位吧,我们计算的内容可能是很多位进行相加。那么想想会遇到什么情况呢?当只有1位进行相加的时候,我们发现是HalfAdd的情况,But,wait.如果有很多位呢?我们将多位的情况先从最简单的方式进行思考,也就是两位的情况,会发生什么呢?我们发现如果carry为0的时候,就是HalfAdd的模型,但是当carry等于1的时候,那就相当于是有三个分别为1bit的内容进行加法计算了。
于是,有了FullAdd的模型Chip。In a,b,