第1章 计算机系统引论 1
1.1 计算机系统概论 1
1.1.1 计算机系统中的硬件和软件 1
1.1.2 冯·诺依曼计算机模型 3
1.1.3 计算机硬件的基本组成 5
1.1.4 计算机的体系结构、组成与实现 6
1.1.5 操作系统与计算机系统的层次结构 9
1.2 计算机的发展历程 12
1.3 计算机系统的分类 17
1.3.1 概述 17
1.3.2 弗林分类法 18
1.4 计算机的性能评价指标 19
1.5 微处理器与微型计算机 25
1.5.1 微处理器与微型计算机的产生与发展 25
1.5.2 多核处理器 28
1.6 中国计算机事业的发展历程 30
1.7 计算机的应用及发展趋势 32
1.7.1 计算机的应用 32
1.7.2 计算机发展的动力 36
1.7.3 计算机的发展趋势 37
第2章 计算机中信息的表示与运算 40
2.1 数据的表示 40
2.1.1 定点数的表示 40
2.1.2 浮点数的表示 44
2.2 定点数的运算 50
2.2.1 逻辑运算 50
2.2.2 移位运算 51
2.2.3 加法与减法运算 53
2.2.4 乘法运算 57
2.2.5 除法运算 63
2.2.6 算术逻辑单元 67
2.3 浮点数的运算 71
2.3.1 浮点数加、减运算 71
2.3.2 浮点数乘、除运算 74
2.4 面向错误检测与纠错的数据编码 74
2.5 字符与字符串 79
2.6 面向存储与传输的数据编码 83
第3章 处理器 87
3.1 处理器的指令集 87
3.1.1 概述 87
3.1.2 指令的操作码与操作数 88
3.1.3 寻址方式 89
3.1.4 指令的基本功能与指令集设计 93
3.1.5 指令的格式 98
3.1.6 面向多媒体处理的增强指令 101
3.2 处理器的组成与工作过程 103
3.2.1 处理器的基本功能和基本组成 103
3.2.2 计算机的工作过程 107
3.2.3 采用流水线技术的处理器 108
3.3 从CISC到RISC 114
3.3.1 RISC产生的背景 114
3.3.2 RISC的定义 116
3.3.3 指令级并行技术 117
3.4 Intel 80x86系列微处理器 125
3.4.1 Intel 8086/8088微处理器 125
3.4.2 Intel 80286、80386和80486微处理器 133
3.4.3 IntelPentium系列微处理器 136
3.5 ARM系列微处理器 139
3.5.1 概述 139
3.5.2 ARM微处理器的模式、工作状态和寄存器组织 140
3.5.3 ARM微处理器的存储器组织和寻址方式 143
3.5.4 ARM微处理器的指令集 146
第4章 控制器 153
4.1 概述 153
4.2 硬布线控制器 158
4.3 微程序控制器 161
第5章 总线技术 167
5.1 概述 167
5.2 总线的设计与实现 170
5.3 总线控制 173
5.3.1 总线仲裁 173
5.3.2 总线通信控制 177
5.4 总线的性能指标 180
5.5 总线标准 183
5.5.1 微型计算机的系统总线标准 183
5.5.2 微型计算机的局部总线标准 186
5.5.3 I/O总线标准举例 187
第6章 存储系统 190
6.1 存储器的分类与性能评价 190
6.1.1 存储器的分类 190
6.1.2 存储器的性能评价 190
6.2 存储器访问的局部性原理与层次结构的存储系统 191
6.2.1 存储器访问的局部性原理 191
6.2.2 层次结构的存储系统 191
6.3 半导体存储器 193
6.3.1 随机访问半导体存储器 193
6.3.2 只读存储器 200
6.4 主存储器 203
6.4.1 主存储器的组成 203
6.4.2 提高主存储器访问带宽的方法 206
6.4.3 Pentium微处理器的主存储器组成 209
6.4.4 存储芯片的发展 210
6.5 高速缓冲存储器 213
6.5.1 Cache的工作原理 213
6.5.2 地址映像与变换 216
6.5.3 替换算法 221
6.5.4 写入策略 223
6.5.5 两级Cache与分裂型Cache 224
6.5.6 Cache的性能评价 224
第7章 8086/8088汇编语言程序设计 228
7.1 引言 228
7.1.1 汇编语言的基本概念与学习汇编语言的重要性 228
7.1.2 8086/8088汇编语言的基本语法 229
7.2 顺序程序设计 233
7.2.1 概述 233
7.2.2 寻址方式的表示 234
7.2.3 表达式的使用 236
7.2.4 属性取代符 238
7.2.5 属性分离符/数值回送操作符 239
7.2.6 运算符的优先级 241
7.2.7 乘除法运算的实现 241
7.2.8 算术移位和逻辑移位 243
7.3 分支结构程序设计 244
7.4 循环结构程序设计 247
7.5 字符串操作程序设计 254
7.6 宏、条件汇编与重复汇编 257
7.7 子程序设计 263
7.8 8086/8088微处理器的其他指令与应用 270
第8章 计算机的外部设备 274
8.1 输入设备 274
8.1.1 键盘 274
8.1.2 鼠标 276
8.2 输出设备 277
8.2.1 阴极射线管显示器 277
8.2.2 平板显示器 282
8.2.3 打印机 283
8.3 辅存设备 285
8.3.1 硬盘 285
8.3.2 光盘 288
8.3.3 U盘和固态硬盘 289
第9章 I/O接口 291
9.1 I/O技术的发展 291
9.2 I/O接口的组成与工作原理 293
9.3 中断系统 297
9.3.1 中断的处理过程 297
9.3.2 中断屏蔽 300
9.3.3 中断控制器8259A 302
9.3.4 8086/8088微处理器的中断系统 304
9.4 DMA技术 306
9.5 通道技术 309
第10章 操作系统概述 311
10.1 操作系统的概念、特征、功能和提供的服务 311
10.1.1 操作系统的概念 311
10.1.2 操作系统的特征 312
10.1.3 操作系统的功能 313
10.1.4 操作系统提供的服务 313
10.2 操作系统的发展与分类 314
10.2.1 操作系统的发展 314
10.2.2 操作系统的分类 317
10.3 操作系统的运行环境 318
10.3.1 内核态与用户态 318
10.3.2 中断与异常 318
10.3.3 系统调用 318
10.3.4 操作系统的启动过程 319
10.4 现代操作系统的新发展 320
第11章 I/O管理 321
11.1 概述 321
11.2 I/O核心子系统 324
11.2.1 I/O调度 324
11.2.2 高速缓存与缓冲区 325
11.2.3 设备分配与回收 325
11.2.4 假脱机技术 326
11.2.5 I/O出错处理 327
第12章 文件管理 328
12.1 文件系统基础 328
12.1.1 文件概念 328
12.1.2 文件的逻辑结构 329
12.1.3 目录结构 330
12.1.4 文件共享 332
12.1.5 文件的访问控制 333
12.2 文件系统的实现 335
12.2.1 文件系统的层次结构 335
12.2.2 目录的实现 336
12.2.3 文件的实现 336
12.3 磁盘组织与管理 340
12.3.1 磁盘的组织 340
12.3.2 磁盘调度算法 341
12.3.3 磁盘中物理块的优化分布 342
12.3.4 磁盘的错误处理 343
第13章 进程管理与处理器调度 345
13.1 进程的状态与转换 345
13.2 进程的组织与控制 347
13.2.1 进程组织 347
13.2.2 进程控制 348
13.3 进程的同步与互斥 351
13.4 进程间通信 362
13.5 死锁及其处理 363
13.6 处理器调度 366
13.7 线程的概念与多线程模型 370
第14章 内存管理与虚拟存储器 373
14.1 内存管理基础 373
14.2 连续分配的内存管理 375
14.3 非连续分配的内存管理 378
14.3.1 段式存储管理 378
14.3.2 页式存储管理 379
14.3.3 段页式存储管理 381
14.4 虚拟存储器 382
14.5 页面替换与页面分配 386
14.5.1 页面替换 386
14.5.2 页面分配 387
14.6 Cache与虚拟存储器的协同 390
附录 394
附录A 图灵机模型 394
附录B 图灵奖历年获得者 394
附录C 数制及其转换 397
附录D EBCDIC码 400
附录E 8086/8088指令格式 401
附录F 相联存储器 402
参考文献 404