描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302583295丛书名: 21世纪高等学校计算机类课程创新系列教材·微课版
“十三五”江苏省高等学校重点教材,配套微课视频。
引入RISC-V开源指令集架构,系统阐述CPU微架构设计方法。
优化升级JUC-3教学模型计算机,易教易学,拒绝抽象。
配套实验资源,课堂教学与实验教学一脉相承。
本书系统地介绍了计算机的基本组成、基本原理和基本分析方法。本书共9章,分别是计算机系统概述、信息表示、逻辑电路基础、运算方法与运算器、存储器、微程序控制计算机、精简指令集计算机、存储体系、输入输出系统,讲述计算机从部件到整机的组织结构和工作原理。 本书内容深入浅出,每章均附有习题,可作为高等院校计算机类各专业及相关专业本科生的教材,也可作为相关技术人员的参考书。
第1章计算机系统概述
1.1计算机的发展历程
1.2计算机硬件的基本组成
1.2.1存储器
1.2.2运算器
1.2.3控制器
1.2.4输入输出设备
1.2.5总线
1.3程序设计语言和计算机的层次结构
1.4计算机的主要性能指标
1.4.1机器字长
1.4.2运行速度
习题
第2章信息表示
2.1进位计数制及其相互转换
2.1.1进位计数制
2.1.2数制转换
2.2数值数据的表示
2.2.1定点数的表示
2.2.2浮点数的表示
2.2.3C语言中定点数和浮点数的表示
2.2.4十进制数的二进制编码
2.3非数值数据的表示
2.3.1逻辑类型数据表示
2.3.2字符编码
2.3.3汉字编码
2.3.4多媒体数据的表示
2.4可靠性编码
2.4.1格雷码
2.4.2奇偶校验码
2.4.3海明码
2.4.4循环冗余校验码
习题
第3章逻辑电路基础
3.1逻辑代数基础
3.1.1逻辑常量、逻辑变量
3.1.2逻辑代数的基本运算
3.1.3基本逻辑公式、定理和规则
3.1.4逻辑函数
3.1.5逻辑函数化简
3.2逻辑电路
3.2.1逻辑门电路
3.2.2门电路的实现
3.2.3集成电路
3.2.4可编程逻辑电路
3.2.5逻辑电路的设计模式
3.3计算机中常用的组合逻辑电路
3.3.1加法器
3.3.2译码器
3.3.3多路选择器
3.3.4三态门
3.4计算机中常用的时序逻辑电路
3.4.1基本RS触发器和D触发器
3.4.2锁存器
3.4.3数据寄存器
3.4.4移位寄存器
3.4.5计数器
习题
第4章运算方法与运算器
4.1定点数加减法运算
4.1.1原码加减运算方法
4.1.2补码加减运算方法
4.1.3补码加减运算的逻辑实现
4.1.4运算结果的特征标志
4.1.5移码加减运算
4.2定点数移位运算
4.2.1逻辑移位
4.2.2算术移位
4.2.3循环移位
4.3定点乘法运算
4.3.1原码乘法运算
4.3.2补码乘法运算
4.3.3阵列乘法器
4.4定点除法运算
4.4.1原码除法运算
4.4.2补码除法运算
4.4.3阵列除法器
4.5浮点数的四则运算
4.5.1浮点加减运算
4.5.2浮点乘除运算
4.6运算器的组织
4.6.1算术逻辑单元设计实例
4.6.2数据通路的结构类型
4.6.3运算器数据通路
4.6.4浮点运算器的组成与结构
习题
第5章存储器
5.1存储器概述
5.1.1存储器的分类
5.1.2存储器的性能指标
5.2半导体随机存取存储器
5.2.1静态随机存取存储位元
5.2.2动态随机存取存储位元
5.2.3半导体随机存取存储芯片
5.2.4DRAM的发展
5.3非易失性半导体存储器
5.3.1掩模型只读存储器
5.3.2一次可编程只读存储器
5.3.3可擦除可编程只读存储器
5.3.4电可擦除可编程只读存储器
5.3.5Flash存储器
5.3.6铁电存储器
5.3.7磁性随机存储器
5.3.8相变存储器
5.4主存储器的组织
5.4.1CPU与主存储器的连接
5.4.2主存储器容量的扩充
5.4.3主存储器的编址方式
5.4.4哈佛结构
5.5多模块存储器
5.6辅助存储器
5.6.1磁记录原理及记录方式
5.6.2磁盘存储器
5.6.3磁带存储器
5.6.4光盘存储器
习题
第6章微程序控制计算机
6.1指令系统
6.1.1指令和指令系统
6.1.2指令的格式
6.1.3指令的类型
6.1.4寻址方式
6.1.5符号指令和汇编语言
6.1.6指令系统设计实例
6.2控制器概述
6.2.1控制器的基本组成
6.2.2控制器的工作过程
6.3CPU数据通路
6.3.1Intel 8080的数据通路
6.3.2VAX11/780的数据通路
6.3.3JUC3的数据通路
6.4指令执行流程
6.4.1取指令阶段
6.4.2取操作数阶段
6.4.3执行阶段
6.4.4指令执行的微操作序列举例
6.5微程序控制器
6.5.1微程序控制基本原理
6.5.2微指令编码方式
6.5.3后继微指令地址的形成
6.5.4微程序控制的时序
6.6微程序控制器设计实例
6.6.1微指令编码设计
6.6.2微转移方式
6.6.3取指令的微程序设计
6.6.4取操作数的微程序设计
6.6.5执行阶段的微程序
6.7JUC汇编语言程序设计
6.7.1符号指令与功能
6.7.2顺序结构程序设计
6.7.3分支程序设计
6.7.4循环程序设计
6.7.5堆栈及子程序
习题
第7章精简指令集计算机
7.1RISC概述
7.1.1RISC的产生及发展
7.1.2RISC的主要特点
7.1.3RISC与CISC的比较
7.2硬布线控制
7.2.1单周期数据通路的控制
7.2.2多周期数据通路的控制
7.2.3流水线数据通路的控制
7.3RISCV开源指令集架构
7.3.1RISCV指令集
7.3.2RISCV的寻址方式
7.3.3RV32I指令举例
7.4RISCV的单周期微架构设计
7.4.1数据通路设计
7.4.2控制器的设计方法
7.5RISCV的流水线微架构设计
7.5.1流水线的基本原理
7.5.2RISCV流水线设计
7.5.3RISCV流水线数据通路
7.5.4RISCV流水线控制
7.6流水线的性能
7.6.1流水线的性能指标
7.6.2指令流水线的相关与冲突
7.6.3流水线的指令调度
7.6.4超标量与超流水线
习题
第8章存储体系
8.1存储体系的层次结构
8.2高速缓冲存储器
8.2.1Cache的基本原理
8.2.2相联存储器
8.2.3全相联映像方式
8.2.4直接映像方式
8.2.5组相联映像方式
8.2.6Cache的读策略和替换算法
8.2.7Cache的写策略
8.2.8多级Cache
8.3虚拟存储器
8.3.1虚拟存储器的基本概念
8.3.2页式虚拟存储器
8.3.3段式虚拟存储器
8.3.4段页式虚拟存储器
8.3.5快速地址变换
8.4多级存储的性能指标
习题
第9章输入输出系统
9.1输入输出系统概述
9.1.1输入输出系统的组成
9.1.2输入输出设备
9.1.3输入输出接口
9.1.4输入输出接口与主机的信息传送控制方式
9.2程序查询方式
9.2.1程序查询传送工作流程
9.2.2查询输入接口
9.2.3查询输出接口
9.3程序中断方式
9.3.1中断概述
9.3.2中断请求的表示与控制
9.3.3中断响应
9.3.4中断服务和中断返回
9.3.5中断嵌套
9.3.6中断优先级的动态分配
9.4DMA方式
9.4.1DMA概述
9.4.2DMA控制器
9.4.3DMA传送方式
9.4.4DMA传送过程
9.5总线
9.5.1总线的特性和性能指标
9.5.2总线仲裁
9.5.3总线操作和定时
9.5.4典型总线标准
习题
附录ARISCV指令系统
A.1RISCV概述
A.2RISCV指令系统的模块化结构
A.3RISCV的指令长度编码
A.4基本整数指令集RV32I
A.4.1RV32I的寄存器模型
A.4.2RV32I的指令格式
A.4.3RV32I指令集详解
A.5标准扩展指令集
A.5.1乘法/除法扩展指令集RV32M
A.5.2压缩扩展指令集RV32C
A.6RISCV汇编语言程序设计
A.6.1RISCV的伪指令
A.6.2RISCV寄存器使用约定
A.6.3RISCV汇编语言程序设计实例
参考文献
第3版前言
本次修订再版的主要动因是补充精简指令集计算机(RISC)方面的内容。虽然第2版也有RISC相关的内容,但仅限于指令系统特性的介绍,未涉及RISC的数据通路和控制器的设计。第3版以RISCV开源指令集架构为例,介绍了单周期和流水线的数据通路以及控制器的设计方法,并且将第2版指令流水线的相关内容合并到RISC这一章,补充了解决数据冲突的数据通路实例。
为了使读者能够更清楚地理解指令系统、数据通路以及控制器设计方法上的内在联系,在章节组织上,将微程序控制的复杂指令集计算机和硬布线控制的精简指令集计算机各独立为一章,均从指令系统到一般性原理,再到具体实例,使读者从中体会微架构的发展变化。同时,第3版改变了以总线等信息传送通道分类数据通路的方法,不再强调数据通路结构的单总线或多路径,而是强调控制方法和性能的差别,分为单周期、多周期和流水线的数据通路。
第3版的另一个主要修订是JUC系列教学模型机,将第2版的JUCⅡ模型机改进为JUC3。为便于教学实施,JUC3分成基本模块和扩展模块,本书主要介绍基本模块,扩展模块留待实验环节讨论。JUC3主要对ALU电路进行了改进,优化数据通路设计,相应地修改了微指令格式,此外还有一些细节修改。
本次修订延续了前两版理论与实践结合的特点。书中介绍的RISCV单周期和流水线结构以及
JUC3模型机已经在FPGA上设计实现,并且经过了两轮实验教学的检验。
课程组开发了远程FPGA虚拟实验平台,建设了实验
慕课资源,与理论课程配合开展实验教学。
各章的具体修订情况如下。第1章中计算机的主要性能指标增加了平均指令周期,这个概念在第2版中是放在控制器一章的,改到第1章便于理解与其他性能指标的联系。第2章补充了多媒体数据的表示。第3章扩充了例题和习题。第4章的修订主要涉及
4.1.3节补码加减运算的逻辑实现和4.6节运算器的组织,修改了算术运算电路和ALU电路实例,它们将用于JUC3教学模型机; 补充了数据通路的结构类型,通过一个简单的例子阐明单周期、多周期、流水线数据通路的概念,为第7章的硬布线控制打基础。第5章修订了非易失性半导体存储器的相关内容,并且将原第8章中的多模块存储器改到这一章。第6章抽取了第2版微程序控制和复杂指令系统的相关内容,教学模型机升级为JUC3,内容上进行了精简。第7章从单周期、多周期和流水线的角度重写了硬布线控制方法,增加了RISCV开源指令集构架、RISCV的单周期微架构设计和RISCV的流水线微架构设计,同时将第2版第6章RISC相关内容和第7章流水线相关内容融合到这一章。第8章主要修改了高速缓存三种映像方式的组织结构图,相应地重写了文字讲解并补充了例题; 虚拟存储器部分没有修改。第9章基本没有修改。后增加了一个附录,比较详细地介绍了RISCV的指令系统。
第3版的修订工作主要由肖铁军、丁伟、葛桂萍和马学文完成。肖铁军负责第1章、第4章、第6章和第8章的修订,丁伟负责第2章、第3章的修订,葛桂萍负责第5章的修订,第7 章的修订工作由丁伟、葛桂萍和肖铁军合作完成,马学文编写了附录。肖铁军和丁伟承担了全书的统稿工作。邹婷婷、杨旭东参加了本书第1版和第2版的编写工作。
由于编者的水平有限,尤其RISCV是近年的新架构,如果书中有疏漏之处,欢迎读者提出意见和建议。
本书配套微课视频,请读者先用手机微信扫描封底刮刮卡,获得权限,再扫描书中章节标题
旁的二维码,即可观看相应的教学视频。其他教学资源可扫描下方二维码获得。本书还配套了在线作业系统,读者可扫描封底刮刮卡,登录作业系统,即可在线答题。
教学资源
编者
2021年7月
第2版前言
本书第1版出版后不少教师和读者发来电子邮件,提出了许多宝贵的意见和建议。为了使本书能够更好地适应不同学校、专业的教学计划,反映计算机技术的发展,第2版对书中内容做了一些补充和修改、调整。第2版还配套了实践教程,便于结合理论课开展实践教学,倡导“从设计的角度理解计算机的组成和工作原理”的教学理念。
近年有些学校尝试教学改革,将硬件相关基础课程打通为一门“计算机组成原理”或“计算机硬件基础”,为此本书第2版增加了“信息表示”和“逻辑电路基础”两章,其中“信息表示”一章除了介绍进位计数制和定点数、浮点数的表示等内容外,还增加了如何理解C语言数据类型的内容。“逻辑电路基础”一章除了逻辑代数基础知识外,着重从应用的角度介绍计算机中常用的基本逻辑模块的功能。考虑到有的专业没有单独开设汇编语言课程,“指令系统”这一章补充了汇编语言程序设计的基础知识。存储器与存储体系分为两章,“存储器”一章增加了相变存储器等新型非易失性存储器; “存储体系”一章重点对高速缓存做了修改。“控制器和中央处理器”一章介绍的模型机升级为JUCⅡ,该模型机已经在FPGA上实现,配套实践教程设计了相应的实验和课程设计项目; 这一章安排在“存储体系”之前,有利于更早地建立整机的概念,更好地理解高速缓存、虚拟存储与CPU的关系。将第1版的“输入输出系统”和“系统总线”两章合并为一章,删除了教学中一般较少涉及的输入输出设备内部结构原理以及I/O通道等内容,重新组织了内容。
本书第2版主要由肖铁军、丁伟、邹婷婷、杨旭东、马学文共同编写,刘芳参加了第9章的部分编写工作。欢迎读者一如既往地对本书提出意见和建议。
编者
2014年9月
第1版前言
本书适用于高等院校计算机类各专业及相关专业的本科生。“计算机组成原理”作为计算机专业的一门重要的核心专业基础课程,主要讨论计算机从部件到整机的组织结构和工作原理,在课程体系中起着承上启下的作用。
本书讲述的是一般性原理,并不针对任何具体的商业机型,而是综合了国内外计算机类型中较为成熟的先进技术,兼顾计算机发展的新技术、新成果,力求做到深入浅出。为了避免一般性的抽象原理不利于分析理解,本书既从面上反映不同的典型结构,也有深入的分析,点面结合; 通过一个模型机的实例将相关章节联系起来,终形成一个整机的概念,系统性较强。本书设计的JUC1教学微处理器已经在FPGA上设计实现,可用于配套的实践教学。
本书共分7章,授课学时为70~90学时,在教学中可根据具体情况对书中内容进行取舍。
第1章计算机系统概论首先透过计算机的发展历程探究计算机技术飞速发展的动力所在,然后介绍了冯·诺依曼结构计算机的基本组成,使读者建立整体概念,了解计算机各部件之间的关系,有利于后续的学习。
第2章讨论运算方法和运算器,包括数制与编码的基础知识、数据的表示方法和校验方法、定点数和浮点数的四则运算及溢出判断方法、运算器的组织结构及数据加工流程。
第3章介绍存储器和存储体系。存储器以存储位元—存储器芯片—主存储器为主线,讲述相关的半导体存储器原理和主存储器的构成; 存储体系以高速缓存—主存—虚拟存储为层次,讨论如何解决速度与容量的矛盾。
第4章是指令系统,讲述指令系统的一般设计原则、寻址技术,后以JUC1教学模型机为例,介绍了它的指令系统。
第5章是很关键的一章,通过这一章的学习将建立起计算机主机的概念,并通过指令执行流程,理解计算机的工作原理。在讲述了控制器的基本原理之后,以JUC1教学模型机为例,具体讲解了微程序控制器设计方法。这一章的后还介绍了指令流水线。
第6章和第7章讲解输入输出系统和系统总线,包括常用外部设备、辅助存储器、主机与外设的数据传送方式、总线仲裁等内容。
本书由计算机组成原理课程组的6位老师合作编写,第1章和第5章由肖铁军编写,第2章由邹婷婷编写,第3章主要由杨旭东编写,第4章由丁伟编写,第6章由袁晓云编写,马学文编写了第7章以及第3章的一部分。研究生于洋参加了JUC1教学模型机的FPGA设计和验证工作。由于编者水平有限,书中难免有疏漏之处,敬请读者批评指正。
编者
2010年3月
评论
还没有评论。