计算机组成原理 第2版
作者:任国林
出版时间:2018年版
内容简介
本书系统地介绍了计算机的组成及其工作原理。全书共分7章,第1章概要介绍计算机的硬件结构、工作过程及性能指标;第2章介绍数据的表示与运算方法,以及运算部件组成;第3章介绍存储系统的层次结构,以及主存、Cache及虚拟存储器的组成与工作原理;第4章介绍指令系统的基本组成;第5章介绍CPU的组成原理、设计方法,以及流水线技术;第6~7章介绍总线互连及I/O系统。本书内容全面、概念准确、通俗易懂,注重通过大量例题分析来加深对各知识点的理解与掌握,重视知识点的融合以及整机概念的形成,兼顾基本原理在新技术中的应用。本书既可作为高等院校计算机专业计算机组成原理课程的教材,也可作为相关专业科技人员的参考书。
目录
目 录
第1章 计算机系统概述 1
1.1 计算机的功能与软硬件 1
1.2 计算机的发展历程 2
1.3 计算机的硬件组成 4
1.3.1 冯?诺依曼计算机 4
1.3.2 计算机的结构与部件 5
1.3.3 计算机的部件互连 7
1.4 计算机系统的层次结构 9
1.4.1 计算机的层次结构 9
1.4.2 软件与硬件的关系 11
1.4.3 计算机的结构与组成 11
1.5 计算机系统的工作过程 12
1.5.1 计算机的工作方式 12
1.5.2 程序执行过程 13
1.6 计算机系统的性能指标 15
习题1 19
第2章 数据的表示与运算 21
2.1 数据的编码 21
2.1.1 数制及其转换 21
2.1.2 机器数及其编码 24
2.1.3 十进制数编码 28
2.1.4 字符编码 29
2.1.5 数据校验码 30
2.2 数据的表示 37
2.2.1 数据的表示方法 37
2.2.2 整数的表示 38
2.2.3 实数的表示 40
2.2.4 非数值数据的表示 44
2.2.5 数据表示举例 46
2.3 定点数的运算 48
2.3.1 常用的逻辑部件 48
2.3.2 加减运算 53
2.3.3 移位运算 57
2.3.4 乘法运算 59
2.3.5 除法运算 67
2.4 浮点数的运算 74
2.4.1 浮点加减运算 74
2.4.2 浮点乘除运算 78
2.5 十进制数的加减运算 80
2.6 运算器的组成 82
2.6.1 ALU的组成 82
2.6.2 运算器的组织 83
习题2 86
第3章 存储系统 89
3.1 存储系统概述 89
3.1.1 存储器的分类 89
3.1.2 存储器的主要技术指标 90
3.1.3 层次结构存储系统 91
3.2 半导体存储技术 93
3.2.1 静态存储器 93
3.2.2 动态存储器 97
3.2.3 半导体只读存储器 101
3.3 主存储器 104
3.3.1 主存储器的基本组成 104
3.3.2 主存储器的逻辑设计 105
3.3.3 主存储器与CPU的连接 108
3.3.4 提高访存速度的技术 111
3.4 高速缓冲存储器 115
3.4.1 Cache的基本原理 115
3.4.2 Cache的地址映射 119
3.4.3 Cache的替换算法 123
3.4.4 Cache的写策略 125
3.4.5 Pentium的Cache组织 126
3.5 虚拟存储器 128
3.5.1 存储管理的相关概念 128
3.5.2 虚拟存储器的基本原理 130
3.5.3 虚拟存储器的存储管理 131
3.5.4 页式虚拟存储器的实现 133
习题3 137
第4章 指令系统 140
4.1 指令系统组成 140
4.1.1 指令功能 140
4.1.2 指令格式 143
4.2 操作数的存放方式 145
4.3 寻址方式 148
4.3.1 指令寻址方式 148
4.3.2 数据寻址方式 148
4.3.3 指令格式分析及其应用 152
4.4 指令系统举例 154
4.4.1 MIPS指令系统 155
4.4.2 Pentium指令系统 160
4.5 指令系统发展 163
习题4 165
第5章 中央处理器 168
5.1 CPU的组成与工作流程 168
5.1.1 CPU的功能 168
5.1.2 CPU的组成 169
5.1.3 CPU的工作流程 171
5.1.4 指令的执行过程 172
5.2 数据通路的组织 175
5.2.1 数据通路的组成 175
5.2.2 数据通路的设计方法 182
5.2.3 单周期数据通路的设计 184
5.2.4 多周期数据通路的设计 190
5.3 控制器的组成 193
5.3.1 控制器的基本结构 193
5.3.2 时序信号的形成 195
5.3.3 μOP控制信号的形成 199
5.4 硬布线控制器的设计 199
5.4.1 控制单元的设计步骤 200
5.4.2 单周期控制单元的设计 201
5.4.3 多周期控制单元的设计 202
5.5 微程序控制器的设计 205
5.5.1 微程序控制思想 205
5.5.2 微程序控制器的组成与工作原理 206
5.5.3 微指令格式 208
5.5.4 微程序控制单元的设计 211
5.6 异常及中断的处理 214
5.6.1 异常及中断的基本概念 214
5.6.2 异常及中断的处理过程 215
5.6.3 支持异常处理的CPU设计 218
5.7 指令流水线技术 219
5.7.1 指令流水线概述 220
5.7.2 指令流水线的冒险处理 223
5.7.3 指令流水线的设计 229
5.7.4 指令流水线的并行技术 234
习题5 236
第6章 总线 240
6.1 总线概述 240
6.1.1 总线的分类 240
6.1.2 总线的特性 242
6.1.3 总线的性能指标 242
6.1.4 总线的操作过程 243
6.2 总线仲裁 245
6.2.1 集中式仲裁 245
6.2.2 分布式仲裁 247
6.3 总线定时与传输 248
6.3.1 总线定时方式 248
6.3.2 总线传输模式 251
6.3.3 总线标准 252
6.4 总线结构与互连 254
6.4.1 总线结构 254
6.4.2 总线互连 257
习题6 258
第7章 输入/输出系统 260
7.1 I/O系统概述 260
7.1.1 I/O系统的组成 260
7.1.2 外设与主机的联系 261
7.1.3 I/O的传送控制方式 263
7.2 外部设备 265
7.2.1 输入设备 265
7.2.2 输出设备 267
7.2.3 存储设备 271
7.3 I/O接口 280
7.3.1 I/O接口的功能 280
7.3.2 I/O接口的组成 280
7.3.3 对I/O接口的访问 282
7.4 程序直接控制I/O方式 282
7.4.1 程序查询方式的I/O控制流程 282
7.4.2 程序查询方式的I/O接口组织 284
7.4.3 直接传送方式的I/O组织 285
7.5 程序中断I/O方式 286
7.5.1 中断的概念 286
7.5.2 中断接口的组织 291
7.5.3 中断系统的结构 292
7.5.4 多重中断与中断屏蔽的组织 294
7.6 DMA方式 297
7.6.1 DMA的传送方式 297
7.6.2 DMA接口的功能与结构 299
7.6.3 DMA的传送过程 300
7.6.4 DMA接口的组织 301
习题7 304
参考文献 307