《计算机组成原理》主要介绍计算机单机系统的组成原理及内部工作机制,包括计算机各大部件的工作原理、设计方法、逻辑实现及互连构成计算机整机的技术。《计算机组成原理》共分9章,内容包括计算机系统概论、计算机中数据信息的表示方法、运算方法与运算器设计、存储系统、指令系统、控制器的工作原理与设计方法、流水线的基本概念、系统总线技术、输入输出设备及其组织结构和工作原理。
《计算机组成原理》综合了编者多年的教学经验,并借鉴吸收了国内外经典教材的优点。在内容选取上,既重点论述了经典内容,又尽可能与国际先进教材的内容接轨,并选取一些反映计算机系统新发展的部分知识。内容充实、思路清晰、概念明确、重点突出、通俗易懂,并附有大量的例题、习题和课外实践内容。
《计算机组成原理》可作为高等学校计算机及相关专业计算机组成原理课程的教材,也可作为有关专业研究生或计算机工程技术人员的参考书。
计算机组成原理”(Computer Organization)是计算机类各专业的一门核心专业基础课。主要讨论计算机各大功能部件的基本组成原理及其互连构成整机的技术。本课程在计算机学科系列课程中起承上启下的作用,其先导课程包括“数字逻辑电路”和“汇编语言程序设计”,后续课程为“计算机系统结构”和“微机接口技术”。因此,该课程的教学过程中要注重站在计算机硬件系列课程的角度,引导学生如何利用在前导课中所学的基本知识,设计计算机各大功能部件并构成整机系统,同时要为后续课程的学习奠定坚实的基础。
本书以层次结构的观点来描述计算机各主要功能部件及组成原理;以数据信息和控制信息的表示、处理为主线来组织全书的内容。全书共分9章,第1章为计算机系统概论,简单介绍计算机系统的软、硬件组成、计算机系统的多级层次结构以及计算机的性能指标等内容;第2章为数据信息的表示,主要介绍数值数据和非数值数据的表示方法及信息校验方法;第3章为信息处理,主要介绍定点数和浮点数的四则运算、逻辑运算及运算器的组成和工作原理;第4章讲述存储器系统,主要讨论存储器分级结构的概念、半导体存储器的工作原理、高速缓冲存储器(cache)的工作原理、cache和主存之间的各种映射和替换算法、并行存储器、虚拟存储器的基本概念以及磁表面存储器和廉价磁盘冗余阵列RAID等内容;第5章论述指令系统,首先介绍了计算机指令系统的基本知识,然后讨论了指令系统设计与优化的有关问题,最后较详细地介绍典型RISC处理器的指令实例--MIPS指令系统。第6章讲述中央处理器,主要介绍CPU的功能和基本结构、指令执行流程、数据通路的基本组成与结构、时序控制、微程序控制器和硬布线控制器的基本结构。本章还分别以一个基于总线结构和一个类MIPS的模型机为例,详细讲解数据通路的建立以及硬布线控制器和微程序控制器的设计原理和设计方法;第7章为流水线技术,讲述流水线的基本概念和性能分析,介绍了流水线中的相关问题及解决方法;第8章介绍总线的基本概念、总线的连接方式、总线的仲裁、总线的定时等基本内容,同时还对总线标准的发展和流行的总线标准进行了分析;第9章讲述输入输出系统的一些基本知识,主要包括I/O系统的特性、I/O接口的功能与组织结构、常见的几种输入输出方式,并简要介绍几种常见输入输出设备的工作原理。
本书是编者在总结多年从事计算机组成原理及相关计算机硬件系列课程理论及实践教学的基础上,借鉴并吸取国内外经典教材优点编写而成。在内容选取上,既重点论述了经典的内容,又尽可能与国际先进教材的内容接轨,并选取一些反映计算机系统发展的部分内容。在编写方式上,本书力求去繁求简,用最简单的语言来阐述教材的内容。全书具有内容充实、结构合理、概念清晰、重点突出的优点,符合高等学校计算机科学与技术专业公共核心知识体系与课程中对“计算机组成原理”课程知识点的要求。本书可按层次和模块化结构组织教学,授课教师可以根据教学需要及课时的多少,对内容进行灵活的取舍。教学课时可以安排为56~72学时。
本书第1, 3, 4, 5, 6, 8, 9等章由秦磊华编写,第2章及输入输出设备的部分内容由莫正坤编写,第7章由吴非编写。全书由秦磊华主编并修改。在本书的编写过程中,得到了清华大学出版社、华中科技大学计算机学院及华中科技大学教务处的大力支持与帮助。另外,本书直接或间接地引用了许多国内外专家和学者的文献及著作,在此向他们一并表示衷心的感谢,这些文献和著作已经在参考文献部分一一列出。
由于计算机技术的不断发展,新的思想、概念、技术和实现方法不断涌现,加之作者水平有限,书中难免有错误和不妥之处,敬请同行和广大读者批评指正。
使用该教材的教师可通过电子邮件(a)索取课程PPT和课后习题参考解答。
作 者2010年12月于华中科技大学
第1章 计算机系统概论
1.1 计算机的发展与应用
1.1.1 国内外计算机发展概况
1.1.2 摩尔定律
1.1.3 计算机的发展趋势
1.1.4 多核处理器
1.1.5 嵌入式计算机
1.1.6 计算机的应用
1.2 计算机系统的组成
1.2.1 计算机硬件系统
1.2.2 计算机软件系统
1.3 计算机的性能指标和性能评价
1.3.1 基本性能指标
1.3.2 与执行时间有关的性能指标
1.3.3 CPU性能公式及其应用
1.3.4 性能测试
1.3.5 计算机系统的可靠性及其评价
1.4 计算机系统的层次结构
1.4.1 计算机系统的层次结构及各层简介
1.4.2 各层之间的关系
1.4.3 硬件和软件逻辑功能的等价性
本章小结
习题1
课外实践
第2章 数据信息的表示
2.1 数据表示的目的及设计数据格式应考虑的因素
2.2 数值数据的表示
2.2.1 数的机器码表示
2.2.2 数的定点表示
2.2.3 浮点数据表示
2.2.4 十进制数的二进制编码与运算
2.3 非数值数据的表示
2.3.1 字符的表示方法
2.3.2 汉字编码
2.4 数据信息的校验
2.4.1 码距与数据校验
2.4.2 奇偶校验
2.4.3 海明校验
2.4.4 循环冗余校验(CRC)
本章小结
习题2
课外实践
第3章 运算方法与运算器
3.1 定点补码加减法运算
3.1.1 补码加减法运算方法
3.1.2 溢出及检测
3.1.3 补码加减法的逻辑实现
3.2 移码加减运算及实现逻辑
3.3 定点乘法运算
3.3.1 机器数的移位操作
3.3.2 原码一位乘法
3.3.3 补码一位乘法
3.3.4 阵列乘法器
3.4 定点除法运算
3.4.1 原码一位除法
3.4.2 基于不恢复余数的补码一位除法
3.4.3 阵列除法器
3.5 浮点运算
3.5.1 浮点数加减运算
3.5.2 浮点乘法运算
3.5.3 浮点除法运算
3.6 逻辑运算
3.7 运算器
3.7.1 定点运算器
3.7.2 浮点运算器
3.7.3 基本算术逻辑运算单元的设计
本章小结
习题3
课外实践
第4章 存储系统
4.1 存储器概述
4.1.1 存储器分类
4.1.2 主存的主要技术指标
4.1.3 主存中数据的存放
4.1.4 主存的基本结构和工作过程
4.1.5 存储系统层次结构
4.2 半导体存储器
4.2.1 静态MOS存储器(SRAM)
4.2.2 动态MOS存储器(DRAM)
4.2.3 只读存储器
4.2.4 新型存储器
4.3 主存的组织及与CPU的连接
4.3.1 存储器的扩展
4.3.2 存储器接口
4.4 并行主存系统
4.5 高速缓冲存储器(CACHE)
4.5.1 程序访问的局部性原理
4.5.2 CACHE的工作原理
4.5.3 相联存储器
4.5.4 CACHE的地址映射及变换方法
4.5.5 替换算法
4.5.6 CACHE的写策略
4.5.7 多CACHE结构
4.6 虚拟存储器
4.6.1 虚拟存储器的工作原理
4.6.2 虚拟存储器的地址映射与变换
4.6.3 页式虚拟存储器
4.6.4 段式虚拟存储器
4.6.5 段页式虚拟存储器
4.7 存储保护
4.8 辅助存储器
4.8.1 磁表面存储器
4.8.2 光盘存储器
4.8.3 冗余磁盘阵列
本章小结
习题4
课外实践
第5章 指令系统
5.1 指令系统概述
5.2 指令格式
5.2.1 操作码
5.2.2 地址码
5.2.3 关于指令长度的有关概念
5.3 指令和操作数的寻址方式
5.3.1 指令的寻址方式
5.3.2 操作数寻址方式
5.3.3 寻址方式举例
5.4 指令系统类型
5.5 指令格式设计及优化
5.5.1 指令格式的设计
5.5.2 指令格式的优化
5.6 CISC和RISC的基本概念
5.6.1 复杂指令系统计算机(CISC)
5.6.2 精简指令系统计算机(RISC)
5.7 指令系统举例
5.7.1 80886指令系统
5.7.2 PENTIUMⅱ指令系统
5.7.3 MIPS指令系统
本章小结
习题5
课外实践
第6章 中央处理器
6.1 中央处理器的功能与组成
6.1.1 中央处理器的功能
6.1.2 中央处理器的组成
6.2 指令周期
6.2.1 指令执行的一般流程
6.2.2 指令周期的基本概念
6.2.3 寄存器级传送语言RTL
6.3 数据通路的构成及指令操作流程
6.3.1 基于单总线结构的数据通路
6.3.2 基于专用通路结构的数据通路
6.4 时序与控制
6.4.1 中央处理器的时序
6.4.2 控制方式
6.5 微程序控制器
6.5.1 微程序控制的基本概念
6.5.2 微程序控制器组成原理
6.5.3 微指令及其编码方法
6.5.4 微程序设计举例
6.6 硬布线控制器
6.6.1 硬布线控制器的模型
6.6.2 硬布线控制器的设计举例
6.7 中央处理器举例
本章小结
习题6
课外实践
第7章 流水线技术概述
7.1 流水线的基本概念
7.2 流水线的分类
7.3 流水线的性能分析
7.4 流水线的性能分析举例
7.5 流水线中的相关和冲突问题
7.5.1 经典5段MIPS指令流水线
7.5.2 流水线的冲突和相关
7.6 指令级高度并行技术
本章小结
习题7
课外实践
第8章 系统总线
8.1 总线基本概念
8.1.1 总线的分类
8.1 。2总线的特性
8.1.3 三态门与总线
8.1.4 总线事务类型
8.1.5 信号线的类型
8.1.6 总线性能指标
8.2 总线的连接方式
8.3 总线的仲裁方法
8.4 总线的定时方式
8.5 总线的信息传送
8.6 总线标准
8.6.1 总线发展概述
8.6.2 几种典型的流行总线标准
本章小结
习题8
课外实践
第9章 输入输出系统
9.1 输入输出特性
9.2 IO接口
9.2.1 IO接口的功能
9.2.2 IO接口的结构
9.2.3 接口的分类
9.2.4 IO的连接方式
9.2.5 IO设备的编址
9.3 输入输出数据传输控制方式概述
9.4 程序查询控制方式
9.4.1 程序查询控制方式的接口
9.4.2 设备状态寄存器的格式
9.4.3 程序查询方式数据输入输出流程
9.5 程序中断控制方式
9.5.1 中断的概念
9.5.2 中断请求的建立与传送
9.5.3 中断响应
9.5.4 中断源识别以及获得中断服务程序人口地址的方法
9.5.5 中断处理流程
9.6 DMA方式
9.6.1 DMA的基本概念
9.6.2 DMA传送方式
9.6.3 DMA操作过程
9.6.4 DMA控制器的基本组成
9.6.5 选择型和多路型DMA控制器
9.7 通道方式
9.7.1 通道概念
9.7.2 通道的类型
9.7.3 CPU对通道的控制
9.7.4 通道结构的发展
9.8 输入输出设备
9.8.1 输入输出设备分类
9.8.2 输入设备的工作原理
9.8.3 输出设备
本章小结
习题9
课外实践
参考文献
读者可参考的资源网站