第1章 绪论 1
1.1 计算机的发展史 1
1.1.1 发展经历 1
1.1.2 摩尔定律 2
1.2 计算机的基本组成 4
1.2.1 硬件系统 4
1.2.2 软件系统 7
1.3 计算机的分层组织结构 8
1.3.1 计算机分层结构形式 8
1.3.2 计算机系统结构、组成与实现 9
1.4 计算机的分类及性能描述 10
1.4.1 计算机的分类 10
1.4.2 计算机的性能描述 12
习题 19
第2章 计算机中的数据表示 21
2.1 数据编码 21
2.1.1 数值数据的编码 21
2.1.2 数据的浮点表示 28
2.1.3 BCD码 34
2.2 非数值数据的编码 36
2.2.1 ASCII码 36
2.2.2 汉字编码 37
2.3 检错与纠错编码 40
2.3.1 奇偶校验码 40
2.3.2 海明码 41
2.3.3 循环冗余校验码 44
习题 46
第3章 运算方法与运算器 50
3.1 定点数运算 50
3.1.1 加减运算 50
3.1.2 乘法运算 58
3.1.3 除法运算 69
3.2 算术逻辑单元 76
3.2.1 单元电路 76
3.2.2 算术逻辑单元 78
3.2.3 运算器的结构 80
3.3 浮点运算 81
3.3.1 浮点加减运算 81
3.3.2 浮点乘除运算 84
3.3.3 浮点运算的实现 87
习题 87
第4章 指令系统 91
4.1 指令格式 91
4.1.1 概述 91
4.1.2 指令信息及格式 92
4.1.3 指令设计 94
4.2 寻址方式 97
4.2.1 主存中数据存储方式 98
4.2.2 寻址方式 98
4.3 指令系统 106
4.3.1 传送指令 106
4.3.2 算术运算指令 107
4.3.3 逻辑运算指令 109
4.3.4 移位及循环移位指令 111
4.3.5 程序控制指令 112
4.3.6 处理器控制指令 113
4.3.7 串操作指令 113
4.3.8 位操作指令 114
4.3.9 其他指令 115
4.4 精减指令集计算机 115
4.4.1 指令系统的从简到繁 115
4.4.2 精减指令集计算机的特点 116
习题 117
第5章 中央处理器CPU 120
5.1 CPU的结构 120
5.1.1 CPU的功能 120
5.1.2 构成CPU的主要部件 121
5.2 指令系统设计 123
5.2.1 设计CPU的寻址方式 123
5.2.2 指令的设计 124
5.3 CPU执行指令的过程 128
5.3.1 指令时序 128
5.3.2 指令执行过程分析 131
5.4 CPU的部件设计 137
5.4.1 熟悉部件的回顾 137
5.4.2 指令执行的详细说明 139
5.4.3 组合逻辑控制器设计 143
5.4.4 微程序控制器设计 145
习题 157
第6章 流水线技术 161
6.1 概述 161
6.1.1 流水线概述 161
6.1.2 流水线的分类 163
6.2 流水线的性能分析 166
6.2.1 吞吐率 166
6.2.2 加速比 169
6.2.3 效率 170
6.3 流水线中的相关 172
6.3.1 概述 172
6.3.2 结构相关 173
6.3.3 数据相关 174
6.3.4 控制相关 177
6.3.5 流水线的中断处理 182
6.3.6 带成功开销的流水线性能 184
6.4 指令级并行 185
6.4.1 指令级并行概述 185
6.4.2 提高指令级并行的方法 186
6.5 其他有关技术 195
6.5.1 超标量处理机 195
6.5.2 超流水线处理机 196
6.5.3 超标量超流水线处理机 197
6.5.4 超长指令字处理机 198
习题 199
第7章 存储系统 201
7.1 存储系统概述 201
7.1.1 存储系统的层次结构 201
7.1.2 存储器的分类 201
7.1.3 存储器的性能指标 202
7.2 内部存储器(主存储器) 203
7.2.1 随机读写存储器(RAM) 203
7.2.2 只读存储器(ROM) 214
7.2.3 动态读写存储器(DRAM) 217
7.2.4 主存储器校验 224
7.2.5 其他存储器 228
7.3 高速缓冲存储器 232
7.3.1 工作原理 232
7.3.2 替换算法 238
7.3.3 主存—Cache内容的一致性问题 239
7.3.4 Cache性能分析 240
7.3.5 Pentium的Cache 242
7.4 虚拟存储器 243
7.4.1 虚拟存储器的概念 243
7.4.2 虚拟存储器的管理 243
7.4.3 几点说明 247
7.4.4 Pentium虚拟存储器 247
习题 249
第8章 输入输出系统 254
8.1 总线 254
8.1.1 概述 254
8.1.2 总线的信息传送 256
8.1.3 典型总线介绍 260
8.2 输入输出基本原理 268
8.2.1 外部设备 268
8.2.2 程序控制输入输出技术 290
8.3 中断方式 294
8.3.1 中断的基本概念 294
8.3.2 中断优先级控制 296
8.4 直接存储器存取 298
8.4.1 DMA概述 298
8.4.2 DMA的一般过程 300
8.5 通道方式 301
8.5.1 通道方式的特点 301
8.5.2 通道的类型 302
8.5.3 通道的发展 302
习题 303
第9章 多机系统 305
9.1 概述 305
9.1.1 并行处理 305
9.1.2 并行计算机分类 306
9.2 多机互连网络 310
9.2.1 互连函数 310
9.2.2 静态互连网络 314
9.2.3 动态互连网络 317
9.3 对称多处理机系统 328
9.3.1 对称多处理机(SMP)构成 328
9.3.2 多机系统的性能分析 331
9.3.3 对称多处理机系统Cache一致性 333
9.3.4 多处理机系统的调度与负载平衡 339
9.4 分布式共享存储器多机系统 345
9.4.1 分布式共享存储器多机系统结构 345
9.4.2 CC-NUMA系统 346
9.5 多机系统其他结构形式 348
9.5.1 大规模并行处理系统 348
9.5.2 集群系统 349
9.5.3 向量处理机 352
9.5.4 高性能计算机的发展 354
习题 358
第10章 基于EDA的计算机设计 360
10.1 概述 360
10.1.1 数字系统设计的发展 360
10.1.2 数字系统的设计方法 361
10.2 设计语言与工具 362
10.2.1 EDA工具软件分类 362
10.2.2 硬件描述语言VHDL 363
10.2.3 System C 373
10.2.4 QuartusⅡ 374
10.3 基于VHDL的CPU设计 376
10.3.1 单元电路的设计 376
10.3.2 CPU设计概要 387
10.4 SOC设计 399
10.4.1 概述 399
10.4.2 SOC片内总线 404
10.4.3 IP核设计与复用 411
10.4.4 SOC设计举例 417
10.5 基于可配置处理器的SOC设计 420
10.5.1 问题的由来 420
10.5.2 Tensilica Xtensa可配置处理器 421
习题 428
参考文献 429