跳到内容
分享网

从零搭一台计算机:Nand2Tetris 把硬件和软件连起来

学习资料 Linux macOS Web Windows 1 小时前更新 浏览 7 ↓ 直达下载

计算机原理课最容易断在中间:硬件课讲完门电路,软件课另起一头,指令怎么从代码走到电路没人交代。Nand2Tetris 的做法是让同一条线走到底——从最简单的逻辑门出发,一路搭出运算器、内存和处理器,再往上写汇编器、虚拟机和编译器。

它解决什么问题

学过逻辑门也学过处理器,但两者之间怎么衔接始终是模糊的。

只会用高级语言写业务,程序跑不动或者变慢时,没有能力往底层追。

核心能力

能力 具体能做到什么
两部分结构 第一部分做硬件,第二部分做软件,项目的编号前后衔接
从单个门开始 起手项目只需要实现最基础的门,后面每层都复用它
配套工具链 提供硬件模拟器,以及面向这套机器的汇编、虚拟机等工具
项目驱动 每章都有可运行的项目,做完看得见自己搭的机器跑起来
资料在线可取 讲义与项目说明放在网站上,工具套件按导览页说明下载
面向自学者 不绑定学校与学期,节奏完全可以自己安排
Nand2Tetris — 从门电路到软件栈(免费学习资源)
Nand2Tetris · 从门电路到软件栈

一块一块按顺序做,别急着跳

关键是别抱着「先把硬件全搞懂再动手」的想法。第一个项目往往只有一页说明,照着做出基础门电路就够了,更复杂的运算器和处理器都是在这些小门上拼出来的。卡住时先照项目说明里给的真值表逐行推,比回头翻书本快;每做完一个项目先跑一遍随身附带的测试脚本,通过了再往下走,不要攒着一起调。

第二部分会明显变难,编译器和操作系统那几章是很多人停下的地方。建议把主要精力放在虚拟机和编译器上,看清高级语言如何一步步落到指令;操作系统部分先实现基础功能,剩下的当作选做。每做完一个项目随手记两行当时的思路,隔一段时间回头看,比重新做一遍省事。

同类工具怎么选

工具 授权 差别在哪
CS50 官方免费资源 编程入门的广度课,不聚焦于从门电路搭到软件这条线
Computation Structures 官方免费资源 同样从门电路往上讲,更偏数字系统设计与体系结构
Build Your Own X 开源免费 按主题收集造轮子教程,覆盖面比一门课杂得多

谁适合用

  • 计算机专业想补上软硬件断层的学生
  • 自学编程、想弄懂程序怎么在机器上跑的开发者
  • 需要给学生找动手项目的课程老师

怎么开始

  1. 打开 nand2tetris.org,先读导览页了解两个部分各自的项目安排。
  2. 按说明下载工具套件,在本机解压并确认模拟器能正常打开。
  3. 从第一个项目开始,实现最基础的门电路并用测试脚本验证。
  4. 第一部分做完后进入第二部分,依次实现汇编器、虚拟机与编译器。
  5. 每个项目通过测试再进下一个,做不出来的先记下问题回头补。

常见问题

完全零基础能跟吗?
第一部分基本不需要编程经验,第二部分要写汇编器和编译器,至少要会一门语言。

有在线判题系统吗?
没有。项目的正确性靠配套测试脚本在本地验证,具体方式以项目说明为准。

一定要买配套教材吗?
不必须。网站上的项目说明与工具是免费获取的,是否买书看个人习惯。

学完能去做什么?
能对「代码如何变成机器动作」有一条完整认识,但离独立做芯片设计或编译器开发还有距离。

授权与合规

课程网站上的讲义、项目说明与工具套件均可免费获取,配套教材另行出版,不影响跟着做项目。 官网:www.nand2tetris.org

继续找同类资源

这条属于「学习资料」栏目,同栏目还有更多可直接使用的免费资源,可以在 学习资料全部资源 里按需翻阅。

相关资源

同栏目下这几条也常被一起翻到:

资源信息
界面语言 英文
授权方式 官方免费资源
适用平台 Linux / macOS / Web / Windows
获取方式 直链下载
资源更新 2026-09-20
页面更新 2026-09-20

获取资源

点击按钮直接前往资源页面。