探索计算机系统构建之旅:从基础逻辑门到完整系统
1. 计算机系统之旅的开端
学习计算机系统的构建,主要有三个目标:了解计算机系统的工作原理、学会将复杂问题分解为可管理的模块,以及掌握构建大规模硬件和软件系统的方法。这是一次需要亲自动手的旅程,我们将从零开始创建一个完整且可运行的计算机系统。通过这个过程所学到的经验教训,远比计算机本身更为重要。
以简单的 “Hello World” 程序为例,这个用 Jack 语言编写的程序看似简单,仅仅是显示 “Hello World” 文本并终止。但实际上,要在计算机上运行这样的程序,背后有着复杂的过程。程序本质上只是存储在文本文件中的一串普通字符,计算机只能理解机器语言指令。所以,要执行该程序,首先要解析高级代码的字符字符串,揭示其语义,即弄清楚程序的意图,然后生成用目标计算机的机器语言重新表达该语义的低级代码。这个精心设计的翻译过程称为编译,其结果是一个可执行的机器语言指令序列。
而机器语言也是一种抽象,是一组约定好的二进制代码。要将这种抽象变为具体,需要通过某种硬件架构来实现。硬件架构由一组芯片组成,如寄存器、存储单元、加法器等。每个硬件设备又由更低级的基本逻辑门构建而成,这些逻辑门可以由与非门(Nand)和或非门(Nor)等原始门组成。原始门由多个开关设备构成,通常由晶体管实现。不过,再深入下去就涉及到物理学领域了。
现代计算机系统就像一座水下冰山,大多数人只看到了冰山一角,对计算机系统的了解只是粗略和表面的。如果想深入探索其背后的奥秘,那么从零开始构建一个完整的计算机系统是最好的方式。
2. Nand 到 Tetris 的概念
所有通用计算机,如个人电脑、智能手机或服务器
超级会员免费看
订阅专栏 解锁全文
1364

被折叠的 条评论
为什么被折叠?



