第1篇 计算机系统组成基础 2
第1章 计算机系统概论 2
1.1 计算机的基本概念 2
1.1.1 存储程序的工作方式 2
1.1.2 信息的数字化表示 2
1.1.3 计算机体系结构、组成与实现 4
1.2 计算机系统的硬、软件组成 5
1.2.1 计算机硬件系统 5
1.2.2 计算机软件系统 7
1.3 层次结构模型 8
1.3.1 从语言功能角度划分层次结构 8
1.3.2 软、硬件在逻辑上的等价 10
1.4 计算机的工作过程 10
1.4.1 处理问题的步骤 10
1.4.2 计算机的解题过程 12
1.5 微型计算机的主要技术指标 15
1.6 计算机的发展与应用 16
1.6.1 电子计算机的诞生 17
1.6.2 第一代计算机 18
1.6.3 第二代计算机 18
1.6.4 第三代计算机 18
1.6.5 第四代计算机 19
1.6.6 新一代计算机 21
1.6.7 我国计算机的发展 21
思考题与习题 22
第2章 计算机中的信息表示 23
2.1 无符号数和有符号数 23
2.1.1 无符号数 23
2.1.2 有符号数 23
2.2 数的定点表示和浮点表示 30
2.2.1 定点表示 31
2.2.2 浮点表示 31
2.2.3 定点数和浮点数的比较 32
2.2.4 举例 33
2.2.5 IEEE 754 34
2.3 定点运算 35
2.3.1 移位运算 35
2.3.2 加法与减法运算 37
2.3.3 乘法运算 40
2.3.4 除法运算 47
2.4 浮点四则运算 50
2.4.1 浮点加减运算 50
2.4.2 浮点乘除运算 55
2.4.3 浮点运算所需的硬件配置 57
2.5 算术逻辑单元 58
2.5.1 ALU电路 58
2.5.2 快速进位链 60
2.6 字符的表示 65
2.6.1 ASCII码 65
2.6.2 Unicode编码 67
2.6.3 汉字编码简介 68
2.7 指令信息的表示 70
2.7.1 指令格式 71
2.7.2 常用的寻址方式 72
2.7.3 指令类型 74
2.7.4 Pentium指令格式 76
2.8 校验技术 78
2.8.1 奇偶校验码 79
2.8.2 循环冗余校验码 79
思考题与习题 82
第2篇 计算机系统分层结构 86
第3章 微体系结构层——CPU的构成 86
3.1 CPU的组成和功能 86
3.1.1 CPU的组成 86
3.1.2 CPU的功能 87
3.1.3 指令的执行过程 88
3.2 CPU模型机的数据通路及指令流程分析 88
3.2.1 单总线结构 88
3.2.2 双总线结构 90
3.2.3 三总线结构 92
3.3 组合逻辑控制器原理 94
3.3.1 模型机的指令系统 94
3.3.2 模型机的时序系统与控制方式 96
3.3.3 模型机主要组成部分的门级设计及控制信号 98
3.3.4 指令流程及控制信号序列 101
3.3.5 组合逻辑控制器的设计步骤 103
3.4 微程序控制器原理 105
3.4.1 微程序控制的基本概念 105
3.4.2 微指令的编码方式 107
3.4.3 微程序控制器中的分支控制 108
3.4.4 微指令格式 110
3.4.5 模型机的微指令格式设计及微程序编写 110
3.5 精简指令系统计算机 111
3.5.1 RISC与CISC的概念 112
3.5.2 精简指令系统计算机的技术特点 112
3.6 指令流水技术 113
3.6.1 流水线的基本概念 113
3.6.2 DLX流水线 113
3.6.3 流水线的效率 115
3.6.4 流水线中的相关 115
思考题与习题 118
第4章 指令系统层 120
4.1 概述 120
4.2 80x86 CPU 122
4.2.1 8086/8088微处理器 122
4.2.2 80386微处理器 123
4.2.3 Pentium微处理器 124
4.2.4 Pentium Ⅳ微处理器 125
4.3 基本执行环境 127
4.3.1 操作模式 127
4.3.2 存储管理 128
4.3.3 80x86 CPU的寄存器结构 133
4.4 80x86 CPU的指令系统 136
4.4.1 80x86数据类型 136
4.4.2 80x86指令格式 138
4.4.3 80x86寻址方式 138
4.4.4 80x86 CPU指令的分类 141
思考题与习题 162
第5章 汇编语言层 166
5.1 概述 166
5.2 汇编语言语句类型及格式 167
5.2.1 语句类型 167
5.2.2 语句格式 167
5.3 80x86宏汇编伪指令 170
5.3.1 符号定义伪指令 170
5.3.2 数据定义伪指令 171
5.3.3 指令集选择伪指令 175
5.3.4 段结构伪指令 175
5.3.5 定位伪指令 177
5.3.6 过程定义伪指令 178
5.3.7 标题伪指令 178
5.3.8 结束伪指令 178
5.3.9 包含伪指令 179
5.3.10 简化段定义伪指令 179
5.4 宏指令 180
5.5 汇编语言程序的设计步骤 185
5.6 汇编语言程序设计的基本技术 188
5.6.1 顺序结构程序设计 188
5.6.2 分支结构程序设计 190
5.6.3 循环结构程序设计 201
5.6.4 子程序设计 210
5.6.5 系统功能的调用 226
思考题与习题 229
第3篇 存储系统与输入/输出系统第6章 存储系统 234
6.1 概述 234
6.1.1 存储器的分类 234
6.1.2 主存的主要技术指标 236
6.2 存储原理 237
6.2.1 半导体存储器的存储原理 237
6.2.2 磁表面存储器的存储原理 243
6.2.3 光存储器的存储原理 247
6.3 主存储器的组织 249
6.3.1 主存储器的逻辑设计 249
6.3.2 主存储器与CPU的连接 256
6.3.3 Pentium CPU的存储器组织 260
6.3.4 高级DRAM 260
6.4 高速缓冲存储器 267
6.4.1 Cache的基本原理 267
6.4.2 Cache的组织结构 271
6.4.3 Cache的性能分析 272
6.4.4 改进Cache性能的方法 273
6.4.5 PentiumⅡCPU的Cache组织结构 283
6.5 外部存储器 284
6.5.1 硬磁盘存储器 284
6.5.2 U盘存储器 288
6.5.3 光盘存储器 290
6.5.4 磁带存储器 291
6.6 物理存储系统的组织 293
6.6.1 存储系统的层次结构 293
6.6.2 磁盘冗余阵列 295
6.6.3 并行存储技术 299
6.7 虚拟存储系统的组织 303
6.7.1 虚拟存储器 303
6.7.2 虚拟存储器的组织方式 304
6.7.3 Pentium CPU支持的虚拟存储器 307
思考题与习题 308
第7章 输入/输出系统 311
7.1 I/O系统概述 311
7.1.1 I/O系统的组成 311
7.1.2 设计I/O系统应考虑的三个要素 311
7.1.3 主机与I/O设备间的连接方式 312
7.2 I/O接口 313
7.2.1 I/O接口的功能和组成 313
7.2.2 I/O端口的编址方式 314
7.2.3 接口的分类 315
7.3 直接程序控制方式 316
7.3.1 立即程序传送方式 316
7.3.2 程序查询方式 316
7.3.3 直接程序控制方式适应的场合及缺点 318
7.4 程序中断方式 318
7.4.1 程序中断方式的基本思想和作用 318
7.4.2 I/O接口中的中断逻辑及中断驱动程序流程 319
7.4.3 中断请求和中断判优 321
7.4.4 中断响应 322
7.4.5 多重中断与中断屏蔽 323
7.5 DMA方式 325
7.5.1 DMA接口组成 325
7.5.2 DMA的数据传送方式与传送过程 326
7.5.3 DMA接口的类型 328
7.6 通道与IOP 330
7.6.1 通道 330
7.6.2 IOP与外围处理机 333
7.7 系统总线 334
7.7.1 总线的概念与特性 334
7.7.2 总线的分类 335
7.7.3 总线的性能指标与总线标准 336
7.7.4 总线使用的控制 338
7.8 典型的外设接口 340
7.8.1 ATA接口 340
7.8.2 USB接口 341
思考题与习题 342
第8章 I/O设备 345
8.1 概述 345
8.1.1 I/O设备的分类 345
8.1.2 主机对I/O控制的4个层次 346
8.2 键盘 346
8.2.1 键开关与键盘类型 346
8.2.2 编码键盘的工作原理 347
8.2.3 非编码键盘的工作原理 348
8.3 显示器 349
8.3.1 CRT显示器 349
8.3.2 液晶显示器 353
8.3.3 等离子显示器 355
8.4 打印机 356
8.4.1 针式打印机 356
8.4.2 激光打印机 358
8.4.3 喷墨打印机 360
思考题与习题 364
第4篇 计算机系统部件设计 366
第9章 现代计算机系统部件设计 366
9.1 现代计算机设计技术 366
9.1.1 EDA技术 366
9.1.2 可编程逻辑器件 367
9.1.3 硬件描述语言 368
9.2 计算机组成部件设计 368
9.2.1 算术逻辑运算部件的设计 368
9.2.2 简单计算机结构设计 378
思考题与习题 396
参考文献 397