2、探索计算机系统构建:从Nand到Tetris的奇妙之旅

探索计算机系统构建:从Nand到Tetris的奇妙之旅

1. 开启发现之旅

真正的发现之旅不在于前往新的地方,而在于拥有新的视角。在计算机领域,我们即将踏上一段独特的发现之旅,学习三件重要的事情:计算机系统如何工作、如何将复杂问题分解为可管理的模块,以及如何构建大规模的硬件和软件系统。这将是一次亲自动手的实践之旅,我们将从零开始创建一个完整且可运行的计算机系统。

1.1 “Hello, World”背后的奥秘

如果你有编程经验,可能在早期训练中就遇到过类似下面这样的程序:

// 假设这是一个用Jack语言编写的Hello World程序
class Main {
    function void main() {
        do Output.printString("Hello World");
        return;
    }
}

这个程序看似简单,只是显示“Hello World”然后终止。但实际上,要在计算机上运行这样一个程序,背后有着复杂的过程。

程序本质上只是存储在文本文件中的一串普通字符,计算机只能理解机器语言指令。所以,要执行这个程序,首先要解析高级代码的字符字符串,揭示其语义,即弄清楚程序要做什么,然后生成用目标计算机的机器语言重新表达该语义的低级代码。这个精心设计的翻译过程称为编译,其结果是一个可执行的机器语言指令序列。

而机器语言也是一种抽象,是一组约定好的二进制代码。要将这种抽象变为现实,需要通过某种硬件架构来实现。硬件架构由一组芯片组成,如寄存器、内存单元、加法器等。每

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值