Chap. 1 Data Storage
电路
组合逻辑电路:无环,用于计算,比较,数据移动,编码解码。
时序逻辑电路:数据保持或震荡,用于存储(计数器,寄存器)。
触发器 Flip-Flop:set & hold。
整数
原码,反码,补码(反码加一,便于实现运算部件)。
移码 \([X] = 2 ^ n + X\),主要表示浮点数的阶码。
浮点数
S1E3M4:一位符号位,三位阶码,四位尾数。第五个数一定是 1(太浪费!)。
Chap. 2 Data Manipulation
冯诺依曼架构
程序储存在内存,程序指令按顺序执行。
- CPU:运算逻辑单元 ALU,寄存器 Registers,控制器 Control。
- 内存:存放数据和程序。
- IO:和系统的数据交换。
系统总线:数据总线,地址总线和控制总线。
程序存储
程序就是数据,用数据表示操作。
程序运行
Program Counter,PC:指向下一个要执行的指令的地址。
Instruction Register,IR:存储当前执行的指令。
Chap. 3 Operating Systems
操作系统架构
硬件:冯诺依曼架构。
软件分为应用软件和系统软件,系统软件分为实用程序(Utility)和操作系统,操作系统分为壳程序(Shell)和操作系统核心(Kernel)。
机器运行
开机时首先启动引导程序,CPU 在 ROM 找到操作系统,将其从硬盘转移到内存。
程序运行
区分程序和进程:程序是一串指令,进程是执行程序的活动。
中断处理器会在进程之间来回切换。在中断之前需要保存数据。
系统选择优先级最高的 就绪 进程 运行。进程会被 抢占:高优先级进程就绪,或当前时间用完,此时重新回到就绪状态。进程也会遇到等待事件(如等待系统服务,启动操作无法立刻完成,需要的数据没有到达),进入 等待 状态。进程只能被别的进程或操作系统 唤醒,回到就绪状态。进程 结束 可以是正常退出,错误退出,致命错误或被其它进程所杀死。
程序运行具有并发性、独立性、制约性、动态性。
Chap. 4 Algorithms
太简单了。
Chap. 5 Programming Languages
编程语言的历史
机器语言 -> 汇编语言 -> 高级语言。
机器语言编写太麻烦了。
执行单元
太简单了。
Chap. 7 Data Structures
数组、列表、栈、队列、树。
数组:大小和形状固定。二维数组的行优先顺序。
列表:静态列表,邻接链表。
太简单了。
Chap. 8 File Structures
CD 和磁带上的文件是顺序存储的,但磁盘上的文件不是。
Sequential file 和 Indexed file。
Hashing 太简单了。
生日悖论太简单了。
Chap. 10 Artificial Intelligence
听了八百遍了都。
Chap. 11 Theory of Computation
图灵停机问题太简单了。
时间复杂度太简单了。
计算理论太简单了(?)。