计算机组成原理作为计算机专业的核心课程,是理解计算机系统运作机制的基石。本书全面而深入地介绍了计算机的基本组成和内部工作原理,旨在为读者提供一个坚实的理论基础和实践指导。其内容包括计算机系统概论、计算机中数的表示、运算单元设计、存储器系统、指令系统、CPU的结构与设计、系统总线和输入输出系统。此外,为了适应现代教育的需求,本书配套有慕课课程,使得自学变得更加轻松高效。
本书可作为高等学校计算机专业的教材,也可作为考研学生的参考资料,还适合计算机爱好者自学使用。
本书自出版以来,深受广大读者的欢迎,并获得了高度评价。在本次修订中,我们结合读者的宝贵建议与技术领域的快速发展,对本书进行了全面升级。不仅更新了部分习题以提升学习效果,还特别补充了人工智能基础及其与计算机组成原理关联的内容,旨在为读者提供更广阔的视角。此外,鉴于RISC-V指令系统的崛起及其对未来计算架构可能产生的深远影响,我们新增了相关内容,详细介绍了RISC-V指令系统。这些更新和补充,确保本书能够继续作为连接理论与实践的桥梁,满足读者的需求。
计算机组成原理是计算机专业的核心必修课程,在整个计算机类课程体系中具有承上启下的作用。通过本课程的学习,学生可掌握计算机基本组成部件(包括运算器、控制器、存储器、输入/输出设备)的结构与工作原理、信息加工处理及控制过程的分析设计方法,培养硬件系统设计及开发应用能力。
本书与慕课资源相结合,为培养学生的自主学习能力提供了强大的资源和工具。慕课资源观看方式:用计算机浏览器打开智慧树网址( />编者结合多年教学经验,将课程涉及的知识点以简单易懂的文字展现出来,并配有相应的例题,使学生能够由浅入深地掌握计算机组成原理。本书分为8章:第1章介绍计算机的发展及简介、计算机系统的硬件组成和性能指标;第2章介绍计算机中数的表示方法;第3章介绍计算机的运算方法和运算器的组成;第4章介绍存储器(包括主存储器、高速缓冲存储器、虚拟存储器和辅助存储器);第5章介绍指令系统和RISC技术;第6章介绍CPU的结构与设计方法;第7章介绍系统总线;第8章介绍输入输出系统的组成和数据输入输出的控制方式。附录中还简要介绍了与课程相关的数字电路基础知识。
本书由杨泽雪任主编,负责第3章、第5章、附录的编写以及最后的统稿工作,第1章、第6章由邢传军编写,第4章、第7章由曲天伟编写,第2章及第8章中的8.5、8.6节由李雅编写,第8章中的8.1 ~ 8.4节由李春辉编写,闵莉负责资料的收集和整理工作。在本书编写过程中,得到了作者单位和机械工业出版社的大力支持,同时参考了很多专家学者的文献资料,在此表示衷心感谢。
由于编者水平有限,书中难免存在不妥之处,恳请读者谅解并提出宝贵意见。
杨泽雪,女,1978.5,工学博士,CCF会员。主要研究方向为空间数据查询、大数据、计算机系统结构、数据库应用理论等,在国内外重要学术刊物上发表学术论文30余篇,主持国家级项目1项,主持省级和厅级项目3项,参与国家社科基金、教育部人文社科基金、省自然科学基金等科研项目多项,获校科技一等奖1项,申请实用新型专利5项,发明专利4项,并主持参与省级、学校教育教学改革等多项教改项目,主编或参编出版教材3部。
前言
第1章 计算机系统概论1
1.1 计算机发展简史1
1.1.1 计算机的产生及发展1
1.1.2 计算机的分类4
1.1.3 计算机的应用场景8
1.1.4 计算机的发展趋势9
1.2 计算机系统简介11
1.2.1 软硬件系统11
1.2.2 计算机层次结构12
1.3 计算机系统的硬件组成14
1.3.1 冯·诺依曼原理14
1.3.2 计算机的硬件组成16
1.4 计算机系统的性能指标18
1.5 习题20
第2章 计算机中数的表示21
2.1 进位计数制及进制转换21
2.2 数的符号表示23
2.2.1 无符号数表示23
2.2.2 有符号数表示24
2.2.3 BCD码27
2.2.4 字符数据表示29
2.3 数的定点表示和浮点表示31
2.3.1 定点表示32
2.3.2 浮点表示32
2.4 实例:IEEE 754标准35
2.5 数据校验37
2.5.1 奇偶校验码38
2.5.2 海明校验码38
2.5.3 循环冗余校验码40
2.6 习题42
第3章 运算单元设计45
3.1 逻辑运算和移位运算45
3.1.1 基本逻辑运算45
3.1.2 移位运算46
3.2 定点运算49
3.2.1 加减法运算49
3.2.2 乘法运算54
3.2.3 除法运算63
3.3 浮点运算69
3.3.1 加减法运算70
3.3.2 乘除法运算72
3.4 算术逻辑单元(ALU)75
3.4.1 并行加法器与快速进
位链75
3.4.2 ALU的逻辑符号与功能80
3.5 习题81
第4章 存储器系统84
4.1 存储器的分类及层次结构84
4.1.1 存储器的分类84
4.1.2 存储器的层次结构86
4.2 主存储器88
4.2.1 概述88
4.2.2 随机存储器(RAM)92
4.2.3 只读存储器(ROM)99
4.2.4 存储器与CPU的连接105
4.2.5 存储器的扩展106
4.3 高速缓冲存储器112
4.3.1 概述112
4.3.2 Cache的工作原理113
4.3.3 Cache的调度与替换116
4.4 虚拟存储器119
4.4.1 页式虚拟存储器119
4.4.2 段式虚拟存储器121
4.4.3 段页式虚拟存储器122
4.5 辅助存储器122
4.5.1 磁记录原理与记录
方式123
4.5.2 硬磁盘存储器125
4.5.3 光盘及其他辅助存储器127
4.6 习题129
第5章 指令系统132
5.1 机器指令132
5.1.1 指令格式132
5.1.2 指令的地址码133
5.1.3 指令的操作码134
5.1.4 指令字长136
5.2 指令类型与数据类型138
5.2.1 指令类型138
5.2.2 数据类型140
5.3 寻址方式142
5.3.1 指令寻址142
5.3.2 数据寻址143
5.3.3 寻址方式综合例题150
5.4 RISC技术152
5.4.1 RISC的原理152
5.4.2 RISC的特点153
5.4.3 RISC与CISC的比较154
5.5 RISC-V指令系统154
5.6 习题155
第6章 CPU的结构与设计160
6.1 CPU的功能和组成160
6.1.1 CPU的功能160
6.1.2 CPU的组成162
6.2 多级时序与时序系统169
6.2.1 时序控制方式169
6.2.2 指令周期与多级时序171
6.3 组合逻辑控制器设计175
6.3.1 模型机基本设计176
6.3.2 微操作的节拍安排178
6.3.3 模型机组合逻辑控制器
设计180
6.4 微程序控制器设计183
6.4.1 微程序基本原理183
6.4.2 微程序控制器基本
结构183
6.4.3 微指令格式设计185
6.4.4 模型机微程序设计189
6.5 改进与提升CPU性能的技术193
6.5.1 流水线技术193
6.5.2 同时多线程与超线程199
6.5.3 多核技术199
6.6 习题200
第7章 系统总线203
7.1 概述203
7.1.1 总线的基本概念203
7.1.2 总线的分类205
7.1.3 总线的特性和性能
指标206
7.2 总线结构和总线标准化207
7.2.1 单总线结构208
7.2.2 多总线结构210
7.2.3 总线的标准化212
7.3 总线控制215
7.3.1 总线的判优控制215
7.3.2 总线的通信控制及信息
传送方式218
7.4 习题223
第8章 输入输出系统226
8.1 I/O设备226
8.1.1 I/O设备的分类226
8.1.2 输入设备227
8.1.3 输出设备229
8.1.4 其他I/O设备238
8.2 I/O接口241
8.2.1 接口的概念241
8.2.2 主机与I/O设备的信息
交换242
8.2.3 接口的功能243
8.2.4 接口的结构243
8.2.5 接口的编址方式244
8.3 程序直接控制方式245
8.3.1 无条件传送方式245
8.3.2 条件传送方式245
8.4 程序中断方式248
8.4.1 中断的基本概念248
8.4.2 中断的处理过程248
8.4.3 程序中断方式接口电路和
I/O中断的处理过程253
8.5 DMA方式254
8.5.1 DMA方式的基本概念254
8.5.2 DMA传送方式254
8.5.3 DMA控制器的组成及
功能256
8.5.4 DMA的工作过程257
8.5.5 DMA控制器与系统的
连接方式258
8.5.6 选择型和多路型DMA
控制器259
8.5.7 DMA方式的特点261
8.6 习题262
附录264
附录A 基本逻辑门电路264
附录B 组合逻辑器件264
附录C 基本时序电路266
参考文献268