主题
抽象
- 向上 —— 唯有处于高抽象层,才有较好工作效率。
- 向下 —— 实然,系统的组件总会出错,你必须具备修复能力。
软硬件不是两回事
- 硬件:计算机。你要知悉其运作。
- 软件:指示计算机工作的程序。
重要思想
万能计算设备
历史上,人类发明的计算机器可分为两类:模拟机器和数字机器。
数字机器通过操作有限数字、字母集执行计算。
计算机之前,数字机器便已流行,但它们的计算领域限定,无法增设。因此,计算机才叫“万能计算设备”。
计算机科学认为,只要给予计算机足够的内存和时间,则其可执行任何计算。
图灵定义,可执行任何计算的机器称为图灵机。这引申出图灵论题:每种计算都能由某种计算机执行。此论题未得证,最可能的答案由图灵本人抛出:若存在超越图灵机的机器,它必能模拟全部图灵机。
计算机之所以“万能”,是因为它可编程。
抽象层
程序的成功执行,经历了层层转换。
从语言到电子 |
---|
问题 |
算法 |
语言 |
机器架构 |
微架构 |
逻辑电路 |
设备 |
-
问题:自然语言。
-
算法:有限,确定,可计算。
-
语言:编程语言,汇编语言。一门高级语言编译到不同ISA,需要不同编译器。汇编语言由汇编器翻译成ISA。
-
机器架构
- 指令集架构:ISA is the complete specification of the interface between programs that have been written and the underlying computer hardware that must carry out the work of those programs.
- 操作码:表示指令要做什么。
- 操作对象:指令所操作的数据。ISA制订了数据类型,用于指定对数据的操作。
- 寻址模式:执行指令时,知道数据来源。
- 微架构:系ISA的具体实现。设计者可自由取舍各种特性,设计一款处理器。例如,x86指令集架构就有8086、80286、80386、80486等微架构。