03 | 汇编:编程语言的诞生-笔记

话接上回,上回我们和专栏作者一起“解剖了”大厦的地基,现在我们再来跟着专栏作者一起学习编程语言。

CPU 指令序列执行的程序不是固定的

依赖存储中的数据

这些数据由软件工程师编写

计算机的程序可能被保存在 ROM 上(启动程序),

也有可能保存在外置存储设备上,并在适合的实际加载并执行。

没有程序就没有现代计算机的出现,程序的无限可能性成就了计算机的无限可能性。


## 编程编年史

史前时代

没有出现面向软件工程师的余元出现之前,大家只能通过理解CPU的二进制来讲二进制数据刻录到ROM或者硬盘

弊端

1. 无法表达想法

2. 更改程序非常难

不存在软件和硬件的工程师 写程序也不是一个纯软件行为 克隆程序到硬件上涉及到电路电气知识

汇编时代

文本符号表达机器指令

文本符号表达要操作的内存地址

文本符号表达要调用的函数

文本符号表达要跳转的目标地址

自我迭代计算机(图灵机)

1. 键盘显示器驱动

2. 汇编程序编辑器

3. 汇编编译器

4. 可执行一段保存在外置设备的机器码程序


汇编语言早于操作系统,操作系统的核心目标是软件治理,只有PC需要管理多任务时 才需要操作系统

ROM 上的 BIOS

BIOS启动

外置存储设备驱动

基础外部设备驱动

汇编语言编辑器、编译器

程序源码写入磁盘 , 从磁盘读入的能力


上述自我迭代PC的稳定点和点变化点分别是什么?

你会设计那些子系统

每个子系统的规格是什么?

拓展需要考虑那些都关系?


极客时间版权所有: https://time.geekbang.org/column/article/91425



有疑问、勘误、请您在下方留言,感谢您的支持 ღ( ´・ᴗ・` )!

感谢您阅读,这篇文章归 极客点子版权所有.
如果转载,请注明出处: 极客点子版权所有(/page/928.html) 知识共享许可协议
本网站使用 创作共用 归属 - 非商业用途 - 共享4.0国际许可协议的相同方式 许可.

关于作者:

    简介:

    系统架构师 、作家、
    研究方向:数据分析、 深度学习、 服务器架构、 系统原理