第1章 计算机系统概论 1
1.1计算机系统简介 1
1.1.1计算机系统的组成 1
1.1.2从应用程序透视计算机系统 2
1.1.3计算机系统的层次结构 6
1.1.4计算机组成和系统结构 9
1.2计算机系统的发展与应用 10
1.2.1计算机系统发展概况 10
1.2.2计算机应用分类 15
1.3计算机硬件的组成 16
1.3.1冯·诺依曼计算机的特点 16
1.3.2计算机硬件的基本组成 17
1.3.3从程序运行透视计算机组成 18
1.4计算机系统的性能 26
1.4.1性能的定义 26
1.4.2影响性能的因素 26
1.5本书主要内容及组织结构 29
思考题与习题 30
第2章 指令系统 32
2.1概述 32
2.2指令系统的发展 33
2.2.1指令系统的演变过程 33
2.2.2 CISC与RISC指令系统的特点 34
2.3指令系统的功能 36
2.3.1指令系统的设计原则 36
2.3.2数据类型 37
2.3.3操作类型 44
2.3.4指令系统实例 46
2.3.5通过程序透视CISC和RISC 49
2.4指令格式 50
2.4.1指令的组成 50
2.4.2指令字长 55
2.4.3操作码扩展技术 56
2.4.4指令格式举例 58
2.5寻址方式 60
2.5.1寻址方式 60
2.5.2程序定位方式 69
附录2A IA-32指令格式 72
附录2B ASCII 76
思考题与习题 78
第3章 主存储器 83
3.1主存储器概述 83
3.1.1存储器的分类 83
3.1.2主存储器与CPU的连接 86
3.1.3主存储器的性能指标 86
3.2半导体主存储器 87
3.2.1主存储器的基本组成 88
3.2.2 SRAM 90
3.2.3 DRAM 94
3.2.4新型DRAM 100
3.2.5只读存储器和闪速存储器 102
3.2.6存储器容量扩展及其与CPU的连接 107
3.2.7微处理器与存储器的连接举例 113
3.3高速主存储器 117
3.3.1双端口存储器 118
3.3.2多体交叉存储器 120
思考题与习题 124
第4章 存储系统 127
4.1存储系统的层次结构 127
4.2相联存储器 129
4.3高速缓冲存储器 132
4.3.1 cache的工作原理 132
4.3.2 cache的设计要素 135
4.3.3 cache与主存储器间的调度举例 142
4.4辅助存储器 146
4.4.1概述 146
4.4.2硬磁盘存储器 148
4.4.3磁盘阵列 154
4.4.4其他辅助存储器 158
4.5虚拟存储器 162
4.5.1虚拟存储器的基本原理 162
4.5.2虚存存储器的地址映射及变换 165
4.5.3存储保护 171
4.6 Pentium 4系列机的存储器 172
4.6.1 Pentium 4的cache结构 173
4.6.2 Pentium 4的虚拟存储管理 174
思考题与习题 177
第5章 总线与输入输出系统 180
5.1总线 180
5.1.1总线的概念 180
5.1.2总线的分类 181
5.2总线的管理和控制 182
5.2.1总线仲裁机制 183
5.2.2总线通信方式 185
5.3总线结构和标准 189
5.3.1总线结构 189
5.3.2总线标准及特性 190
5.3.3总线举例 192
5.4输入输出系统 195
5.5 I/O设备 196
5.5.1外设的基本组成和分类 196
5.5.2输入设备 197
5.5.3输出设备 202
5.6 I/O接口 213
5.6.1 I/O接口的作用和组成 213
5.6.2 I/O接口的通信方式 214
5.7 I/O数据传送控制方式 217
5.7.1程序查询方式 217
5.7.2程序中断方式 219
5.7.3 DMA方式 227
思考题与习题 232
第6章 数据的表示与运算 236
6.1计算机中表示信息的基本方法 236
6.1.1计算机中常用的信息类型 236
6.1.2非数值数据的表示 237
6.1.3十进制数据的编码表示 243
6.1.4数据校验码 246
6.2定点数的表示 259
6.2.1计算机中常用进位计数制及其相互转换 259
6.2.2真值与机器数 263
6.2.3常用机器码的表示 265
6.3定点运算 272
6.3.1运算部件的基本结构 272
6.3.2定点加减运算 274
6.3.3移位运算 281
6.3.4定点乘法运算 288
6.3.5定点除法运算 298
6.3.6阵列乘除法器 307
6.3.7十进制运算 311
6.3.8基本的逻辑运算 315
6.4定点运算器的实现 317
6.4.1加法器的进位技术 317
6.4.2算术逻辑单元 323
6.4.3定点运算器的基本结构 328
6.5浮点数的表示与运算 336
6.5.1浮点数的基本格式 336
6.5.2浮点阶的移码表示 337
6.5.3浮点表示法 339
6.5.4 IEEE754浮点标准 347
6.5.5规格化浮点加减运算 349
6.5.6规格化浮点乘除运算 353
6.5.7浮点运算的实现 358
6.5.8 C语言数据操作的机内透视 360
6.5.9提高运算器性能的措施 363
思考题与习题 365
第7章 中央处理器 370
7.1 CPU的功能和组成 370
7.1.1 CPU的功能 371
7.1.2 CPU的基本结构 372
7.2 CPU的设计方法 373
7.2.1 CPU的设计过程 373
7.2.2寄存器传输语言 374
7.3 CPU数据通路的结构和组成 376
7.3.1数据通路的操作分析 376
7.3.2数据通路的基本部件 378
7.3.3 CPU结构分类 381
7.3.4目标指令集假设 383
7.4中断系统 384
7.4.1中断源分类 384
7.4.2中断响应 385
7.5单周期CPU数据通路 387
7.5.1数据通路 388
7.5.2指令周期流程 392
7.5.3指令周期与CPU性能 394
7.5.4支持内部中断的数据通路 397
7.6多周期数据通路 398
7.6.1数据通路的基本设计方法 399
7.6.2分散互连结构 399
7.6.3单总线结构 406
7.6.4双总线和三总线结构 409
7.6.5指令周期及机器性能 413
7.7指令流水处理器 414
7.7.1指令流水原理 414
7.7.2指令流水线性能 421
7.7.3流水CPU数据通路 422
思考题与习题 429
第8章 控制器 435
8.1控制器的基本结构和设计方法 435
8.1.1控制器的功能 435
8.1.2控制器的组成和设计方法 437
8.2计算机的控制方式 438
8.2.1计算机中的时序系统 438
8.2.2控制方式 439
8.2.3时序信号产生器 442
8.3组合逻辑控制器 443
8.3.1硬布线控制器 444
8.3.2门阵列控制器 446
8.4微程序控制器 453
8.4.1微程序控制器的设计思想 453
8.4.2微程序控制单元的基本结构 453
8.4.3微指令格式设计 455
8.4.4微指令格式和微程序设计实例 461
8.4.5微程序控制单元运行实例 468
8.4.6微程序控制单元的操作定时 469
8.4.7动态微程序设计 470
8.5混合式控制器 471
8.6流水线控制器 472
8.6.1流水线控制器的基本结构 472
8.6.2避免冒险的流水线控制器 474
思考题与习题 477
参考文献 481