第一部分 应用层(第7层)
第1章 计算机系统
1.1抽象层次
1.1.1艺术中的抽象
1.1.2文档中的抽象
1.1.3机构中的抽象
1.1.4机器中的抽象
1.1.5计算机系统中的抽象
1.2硬件
1.2.1中央处理单元
1.2.2主存储器
1.2.3磁盘
1.3软件
1.3.1操作系统
1.3.2软件分析与设计
1.4数字信息
1.4.1空间量化
1.4.2时间量化
1.4.3快速响应码
1.4.4图像
1.5数据库系统
1.5.1关系
1.5.2查询
1.5.3语言结构
本章小结
练习
第二部分 高级语言层(第6层)
第2章 C
2.1变量
2.1.1 C编译器
2.1.2机器无关性
2.1.3 C的内存模型
2.1.4全局变量和赋值语句
2.1.5局部变量
2.2控制流
2.2.1 if/else语句
2.2.2 switch语句
2.2.3 while循环
2.2.4 do循环
2.2.5数组和for循环
2.3函数
2.3.1空函数和传值调用的参数
2.3.2函数的例子
2.3.3传引用调用的参数
2.4递归
2.4.1阶乘函数
2.4.2递归的思考方式
2.4.3递归加法
2.4.4二项式系数函数
2.4.5逆转数组元素顺序
2.4.6汉诺塔
2.4.7相互递归
2.4.8递归的成本
2.5动态内存分配
2.5.1指针
2.5.2结构
2.5.3链式数据结构
本章小结
练习
编程题
第三部分 指令集架构层(第3层)
第3章 信息的表示
3.1无符号二进制表示
3.1.1二进制存储
3.1.2整数
3.1.3基数转换
3.1.4无符号整数的范围
3.1.5无符号加法
3.1.6进位位
3.2二进制补码表示
3.2.1补码的表数范围
3.2.2基数转换
3.2.3数轴
3.2.4溢出位
3.2.5负数和零位
3.3二进制运算
3.3.1逻辑运算符
3.3.2寄存器传送语言
3.3.3算术运算符
3.3.4循环移位运算符
3.4十六进制与字符表示
3.4.1十六进制
3.4.2基数转换
3.4.3 ASCII字符
3.4.4 Unicode字符
3.5浮点数表示
3.5.1二进制小数
3.5.2余码表示
3.5.3隐藏位
3.5.4特殊值
3.5.5 IEEE 754浮点数标准
3.6模型
本章小结
练习
编程题
第4章 计算机体系结构
4.1硬件
4.1.1中央处理单元
4.1.2主存储器
4.1.3输入/输出设备
4.1.4数据和控制
4.1.5指令格式
4.2直接寻址
4.2.1停止指令
4.2.2字装入指令
4.2.3字存储指令
4.2.4加法指令
4.2.5减法指令
4.2.6与和或指令
4.2.7按位取反和取负指令
4.2.8字节装入和字节存储指令
4.2.9输入和输出设备
4.2.10大端顺序和小端顺序
4.3冯·诺依曼机器
4.3.1冯·诺依曼执行周期
4.3.2一个字符输出程序
4.3.3冯·诺依曼漏洞
4.3.4一个字符输入程序
4.3.5十进制转换为ASCII
4.3.6一个自我修改程序
4.4 ISA3层的编程
4.4.1只读存储器
4.4.2 Pep/9操作系统
4.4.3使用Pep/9系统
本章小结
练习
编程题
第四部分 汇编层(第5层)
第5章 汇编语言
5.1汇编程序
5.1.1指令助记符
5.1.2伪操作
5.1.3 .ASCII和.END伪操作
5.1.4汇编器
5.1.5 .BLOCK伪操作
5.1.6 .WORD和.BYTE伪操作
5.1.7使用Pep/9汇编器
5.1.8交叉汇编器
5.2立即数寻址和陷阱指令
5.2.1立即数寻址
5.2.2 DECI、 DECO和BR指令
5.2.3 STRO指令
5.2.4解释位模式:HEXO指令
5.2.5反汇编器
5.3符号
5.3.1带符号的程序
5.3.2一个冯☆诺依曼示例
5.4从HOL6层翻译
5.4.1 Printf()函数
5.4.2变量和类型
5.4.3全局变量和赋值语句
5.4.4类型兼容
5.4.5 Pep/9符号跟踪器
5.4.6算术移位和循环移位指令
5.4.7常量和.EQUATE
5.4.8指令与数据的放置
本章小结
练习
编程题
第6章 编译到汇编层
6.1栈寻址和局部变量
6.1.1栈相对寻址
6.1.2访问运行时栈
6.1.3局部变量
6.2分支指令和控制流
6.2.1翻译if语句
6.2.2优化编译器
6.2.3翻译if/else语句
6.2.4翻译while循环
6.2.5翻译do循环
6.2.6翻译for循环
6.2.7面条代码
6.2.8早期语言的控制流
6.2.9结构化编程定律
6.2.10 goto争论
6.3函数调用和参数
6.3.1翻译函数调用
6.3.2用全局变量翻译传值调用参数
6.3.3用局部变量翻译传值调用参数
6.3.4翻译非空函数调用
6.3.5用全局变量翻译传引用调用参数
6.3.6用局部变量翻译传引用调用参数
6.3.7翻译布尔类型
6.4变址寻址和数组
6.4.1翻译全局数组
6.4.2翻译局部数组
6.4.3翻译作为参数传递的数组
6.4.4翻译switch语句
6.5动态内存分配
6.5.1翻译全局指针
6.5.2翻译局部指针
6.5.3翻译结构
6.5.4翻译链式数据结构
本章小结
练习
编程题
第7章 语言翻译原理
7.1语言、语法和语法分析
7.1.1连接
7.1.2语言
7.1.3语法
7.1.4 C标识符的语法
7.1.5有符号整数的语法
7.1.6上下文相关的语法
7.1.7语法分析问题
7.1.8表达式的语法
7.1.9 C语法的一部分
7.1.10 C的上下文相关性
7.2有限状态机
7.2.1用有限状态机分析标识符
7.2.2简化的有限状态机
7.2.3非确定性有限状态机
7.2.4具有空转换的状态机
7.2.5多语言符号识别器
7.2.6语法与有限状态机
7.3实现有限状态机
7.3.1编译过程
7.3.2查找表分析器
7.3.3直接编码分析器
7.3.4输入缓冲区类
7.3.5多语言符号分析器
7.4代码生成
7.4.1语言翻译器
7.4.2语法分析器特性
本章小结
练习
编程题
第五部分 操作系统(第4层)
第8章 进程管理
8.1装载器
8.1.1 Pep/9操作系统
8.1.2 Pep/9装载器
8.1.3程序的终止
8.2陷阱
8.2.1陷阱机制
8.2.2 RETTR指令
8.2.3陷阱处理程序
8.2.4陷阱寻址方式断言
8.2.5陷阱操作数地址计算
8.2.6空操作陷阱处理程序
8.2.7 DECI陷阱处理程序
8.2.8 DECO陷阱处理程序
8.2.9 HEXO和STRO陷阱处理程序和操作系统向量
8.3并发进程
8.3.1异步中断
8.3.2操作系统中的进程
8.3.3多处理
8.3.4并发处理程序
8.3.5临界区
8.3.6第一次尝试实现互斥
8.3.7第二次尝试实现互斥
8.3.8 Peterson互斥算法
8.3.9信号量
8.3.10带信号量的临界区
8.4死锁
8.4.1资源分配图
8.4.2死锁策略
本章小结
练习
编程题
第9章 存储管理
9.1内存分配
9.1.1单道程序设计
9.1.2固定分区多道程序设计
9.1.3逻辑地址
9.1.4可变分区多道程序设计
9.1.5分页
9.2虚拟内存
9.2.1大程序的行为
9.2.2虚拟内存
9.2.3按需分页
9.2.4替换页
9.2.5页替换算法
9.3文件管理
9.3.1磁盘驱动器
9.3.2文件抽象
9.3.3分配技术
9.4错误检测与纠错码
9.4.1错误检测码
9.4.2编码要求
9.4.3纠正一位错误编码
9.5 RAID存储系统
9.5.1 RAID 0级:无冗余条带化
9.5.2 RAID 1级:镜像
9.5.3 RAID 01和10级:条带化和镜像
9.5.4 RAID 2级:内存风格的ECC
9.5.5 RAID 3级:位交叉奇偶校验
9.5.6 RAID 4级:块交叉奇偶校验
9.5.7 RAID 5级:块交叉分布奇偶校验
本章小结
练习
第六部分 逻辑门(第1层)
第10章 组合电路
10.1布尔代数和逻辑门
10.1.1组合电路
10.1.2真值表
10.1.3布尔代数
10.1.4布尔代数定理
10.1.5互补证明
10.1.6逻辑图
10.1.7其他表示方式
10.2组合分析
10.2.1布尔表达式和逻辑图
10.2.2真值表和布尔表达式
10.2.3两级电路
10.2.4无处不在的NAND
10.3组合设计
10.3.1范式
10.3.2三变量卡诺图
10.3.3四变量卡诺图
10.3.4对偶卡诺图
10.3.5无关条件
10.4组合设备
10.4.1视角
10.4.2复用器
10.4.3二进制译码器
10.4.4多路分配器
10.4.5加法器
10.4.6加法器/减法器
10.4.7算术逻辑单元
10.4.8 LG1层的抽象
本章小结
练习
第11章 时序电路
11.1锁存器与时钟触发器
11.1.1 SR锁存器
11.1.2钟控SR触发器
11.1.3主从SR触发器
11.1.4基本触发器
11.1.5 JK触发器
11.1.6 D触发器
11.1.7 T触发器
11.1.8激励表
11.2时序分析与设计
11.2.1时序分析问题
11.2.2预设置与清除
11.2.3时序设计
11.2.4一个时序设计问题
11.3计算机子系统
11.3.1寄存器
11.3.2总线
11.3.3内存子系统
11.3.4地址译码
11.3.5双端口寄存器组
本章小结
练习
第七部分 微代码(第2层)
第12章 计算机组成
12.1构建一个ISA3层机器
12.1.1 CPU数据区
12.1.2冯·诺依曼周期
12.1.3存储字节直接寻址指令
12.1.4总线协议
12.1.5存储字直接寻址指令
12.1.6加法立即数寻址指令
12.1.7装入字间接寻址指令
12.1.8算术右移指令
12.1.9 CPU控制区
12.2性能
12.2.1数据总线宽度和内存对齐
12.2.2内存对齐
12.2.3 n位计算机的定义
12.2.4高速缓存
12.2.5系统性能公式
12.2.6 RISC与CISC
12.3 MIPS机器
12.3.1寄存器组
12.3.2寻址方式
12.3.3指令集
12.3.4 MIPS的计算机组成
12.3.5流水线
12.4结论
12.4.1模型简化
12.4.2全局架构
本章小结
练习
编程题
附录Pep/9体系结构
部分练习参考答案