# nand2tetris
**Repository Path**: liu-yi151/nand2tetris
## Basic Information
- **Project Name**: nand2tetris
- **Description**: 计算机系统要素-从零开始构建现代计算机
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 7
- **Created**: 2023-12-02
- **Last Updated**: 2023-12-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 计算机系统要素-从零开始构建现代计算机(nand2tetris)
如果完成了本书所有的项目 你将会获得以下成就
* 构建出一台计算机(在模拟器上运行)
* 实现一门语言和相应的语言标准库
* 实现一个简单的编译器
而且,这本书的门槛非常低,只要你能熟练运用一门编程语言即可
## [全套工具下载](https://github.com/woai3c/teocs-exercises/blob/master/nand2tetris.zip)
## [书籍下载 密码9ts8](https://pan.baidu.com/s/1iNQp1PXgbHBSYcs9Ufet4g)
## [本书作者制作的教学视频课程](https://www.coursera.org/learn/build-a-computer/home/welcome)
## [官方论坛](http://nand2tetris-questions-and-answers-forum.32033.n3.nabble.com/)
有问题可以去论坛上问,管理员解决问题速度非常快,一般24小时内,当时我做这本书的项目时,有很多不懂的地方都是在这上面问的,给了我非常大的帮助。
如果英语不好,可以用百度翻译,翻译完再去提问。
### 注意
我上传的只有答案 测试用例和工具请点击全套工具下载
有问题欢迎提[issues](https://github.com/woai3c/nand2tetris/issues)
### QQ交流群39014053
## 内容简介
>本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。
通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。
全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。
全书内容广泛、涉猎全面,适合计算机及相关专业本科生、研究生、技术开发人员、教师以及技术爱好者参考和学习。
## 硬件平台
### 1.布尔逻辑
介绍了各种基础逻辑门,并且所有门都是基于nand门实现的
* and and16
* dmux dmux4way dmux8way
* mux mux16 mux4way16 mux8way16
* not not16
* or or16 or8way
* xor
### 2.布尔运算
* 二进制数
* 二进制加法
* 半加器
* 全加器
* 加法器
* 增量器
* ALU
### 3.时序逻辑
#### 组合芯片
* 布尔芯片
* 算术芯片
#### 时序芯片
时序芯片基于大量的DFF门
* 时钟
* 触发器
* 寄存器
* 内存
* 计数器
### 4.机器语言
* A指令
* C指令
* 寻址方式:直接寻址、立即寻址、间接寻址
### 5.计算机体系结构
* 内存
* CPU
* 寄存器
* 输入输出
## 软件阶层体系
6. 汇编编译器
7. 虚拟机I:堆栈运算
8. 虚拟机II:程序控制
9. 高级语言
10. 编译器I:语法分析
11. 编译器II:代码生成
12. 操作系统
#### 如果对你有帮助,请给个Star