内容导读
第 3 版 · OCR 辅助 · 原书检索 · 文字用于定位,公式与图表请回原页核验 · 本次导入快照
# 袁春风 习题解答 第三版
<!-- page: 1 -->
# 主编简介
袁春风 南京大学计算机科学与技术系二级教授,中国计算机学会杰出教育奖和宝钢优秀教师奖获得者,南京大学赵世良讲座教授。兼任中国开放指令生态(RISC-V)联盟人才发展组组长、中国计算机学会体系结构专委会委员、江苏省计算机学会体系结构专委会副主任。主要研究领域为大数据与并行处理技术、Web信息检索与文本挖掘技术等,在相关领域承担科研项目50多项,发表科研论文100多篇,两次获江苏省科学技术进步奖二等奖,并获江苏省优秀软件一等奖。先后主持国家级精品课程和国家级精品资源共享课“计算机组成原理”,主持的“计算机系统基础”系列慕课中两门为国家级线上一流课程。出版《计算机组成与系统结构》及《计算机组成与系统结构习题解答和教学指导》(“十二五”普通高等教育本科国家级规划教材,江苏省精品教材)、《计算机系统基础》及《计算机系统基础习题解答与教学指导》(“十二五”江苏省重点建设教材,江苏省本科培优教材)、《计算机组成与设计》(“十三五”江苏省重点建设教材)等计算机系统类教材;荣获国家级教学成果奖一等奖、二等奖,江苏省教学成果奖特等奖,江苏省优秀多媒体课件特等奖和江苏省网络课件大赛一等奖等。
# 本书特色
本书作为主教材《计算机组成与系统结构(第3版)》的教辅资料,既可作为教师讲授“计算机组成原理”或“计算机组成与系统结构”课程的教师参考书,也可作为学生学习“计算机组成原理”或“计算机组成与系统结构”课程的学习参考书。主要内容与特色如下:
- 给出教学目标、基本要求和教学思路
给出各章节的教学总体目标和基本教学要求,并较为详细地说明课堂教学内容和学生课后阅读内容的安排,以及每章的主要教学思路或教学方法。
- 给出相应的主干知识框架结构和体系
对主教材中相应章节内容进行浓缩,形成主干知识框架结构,便于学生将全书内容串接起来,形成本课程的知识框架体系。
- 提供概念术语解释和常见问题解答
给出每个章节所涉及的基本术语的中英文对照和相应的解释说明,并提供了大量的常见问题及其解答。
- 提供丰富的习题以及详细的例题分析
对每个章节都给出了大量的课后自测题,并提供了相应的参考答案,以供自测检查。同时给出了丰富的综合分析题及其详尽的分析求解过程。
# 本书相关辅助教材及配套教学资源
《计算机组成与系统结构习题解答和教学指导(第3版)》(“十二五”普通高等教育本科国家级规划教材)
《计算机组成与系统结构(第3版)》电子教案(“十二五”普通高等教育本科国家级规划教材配套资源)
计算机组成与系统结构课程网站(“十二五”普通高等教育本科国家级规划教材配套资源)
课件下载·样书申请
清华大学出版社
书图
官方微信号
定价:59.99元
“十二五”普通高等教育本科国家级规划教材
普通高等教育“十一五”国家级规划教材
21世纪大学本科计算机专业系列教材
丛书主编 李晓明
# 计算机组成与系统结构习题解答和教学指导
袁春风 编著 (第3版)
教学资源
练习与测试
互动教学
智能学习
- 根据教育部“高等学校计算机科学与技术专业规范”组织编写
- 与美国ACM和IEEE CS Computing Curricula最新进展同步
- 国家级精品课程和国家级精品资源共享课程教材
<!-- page: 2 -->
21世纪大学本科计算机专业系列教材
丛书主编 李晓明
# 计算机组成与系统结构习题解答和教学指导(第3版)
袁春风 编著
<!-- page: 3 -->
# 内容简介
本书作为《计算机组成与系统结构(第3版)》(主教材)的教学指导用书,主要对主教材每个章节的教学目标和内容安排、主要内容提要、基本术语解释、常见问题解答等给出系统性的说明和描述,并在此基础上,提供了大量的单项选择题及其答案、分析应用题及其分析解答。
本书提供了系统性的教学指导和丰富的习题及其解答,适合作为高等学校计算机类专业“计算机组成原理”“计算机组成与系统结构”课程的教学辅助教材,也可以作为有关专业研究生或计算机技术人员的参考书。
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
版权所有,侵权必究。举报:010-62782989,beiqinquan@tup.tsinghua.edu.cn。
## 图书在版编目(CIP)数据
计算机组成与系统结构习题解答和教学指导/袁春风编著. —3版. —北京:清华大学出版社,2024.1
21世纪大学本科计算机专业系列教材
ISBN 978-7-302-65140-6
I. ①计… II. ①袁… III. ①计算机组成原理—高等学校—教学参考资料 ②计算机体系结构—高等学校—教学参考资料 IV. ①TP30
中国国家版本馆 CIP 数据核字(2023)第 244748 号
责任编辑:张瑞庆
封面设计:常雪影
责任校对:李建庄
责任印制:丛怀宇
出版发行:清华大学出版社
网 址:https://www.tup.com.cn, https://www.wqxuetang.com
地 址:北京清华大学学研大厦 A 座 邮 编:100084
社 总 机:010-83470000 邮 购:010-62786544
投稿与读者服务:010-62776969, c-service@tup.tsinghua.edu.cn
质量反馈:010-62772015, zhiliang@tup.tsinghua.edu.cn
课件下载:https://www.tup.com.cn, 010-83470236
印 装 者:三河市人民印务有限公司
经 销:全国新华书店
开 本:185mm×260mm 印 张:18.25 字 数:447 千字
版 次:2011 年 5 月第 1 版 2024 年 1 月第 3 版 印 次:2024 年 1 月第 1 次印刷
定 价:59.99 元
产品编号:103304-01
<!-- page: 4 -->
# 21世纪大学本科计算机专业系列教材编委会
主 任:李晓明
副主任:蒋宗礼 卢先和
委员:(按姓氏笔画为序)
马华东 马殿富 王志英 王晓东 宁洪
刘辰 孙茂松 李仁发 李文新 杨波
吴朝晖 何炎祥 宋方敏 张莉金海
周兴社 孟祥旭 袁晓洁 钱乐秋 黄国兴
曾明 廖明宏
秘书:张瑞庆
<!-- page: 5 -->
“计算机组成原理”和“计算机系统结构”是计算机学科各专业的核心基础课。有些高校将这两门课程分开上,也有些高校针对单处理器计算机系统开设了“计算机组成与系统结构”一门课程,而针对多核处理器、多处理机、并行处理机等高级体系结构的内容专门开设了“高级体系结构”课程。不管如何设置课程,计算机组成与系统结构涉及的基本内容都是一样的。这些内容位于软、硬件结合处,不仅涉及计算机硬件设计和计算机指令系统设计,还涉及操作系统、编译器和高级语言程序设计等部分软件设计技术,因此,这些内容是整个计算机系统中最核心的部分。
2022年5月,由清华大学出版社出版作者编写的主教材《计算机组成与系统结构(第3版)》主要针对单处理器计算机系统的组成与系统结构涉及的相关内容进行介绍。为了让学生能够更好地理解基本概念和基本原理,在主教材编写时,采用了“基本原理和实现细节相结合,历史发展过程和现实实际情况相结合”的方针,力求使学生能够全面、系统、准确、牢固地掌握相关知识。因而,主教材的内容涵盖面广、细节内容较多、篇幅较大,给教材的使用带来一些困难。
为了更好地协助教师用好主教材,作者编写了本辅助教材,对主教材中每一章的内容进行了概括总结,给出了以下6方面的教学辅助内容。
(1) 教学目标和内容安排:给出相应章节的教学总体目标和基本教学要求,并较为详细地说明课堂教学内容和学生课后阅读内容的安排,以及每章的主要教学思路或教学方法。
(2) 主要内容提要:对主教材中相应章节内容进行浓缩,形成主干知识框架结构,便于学生将全书内容串接起来,形成本课程的知识框架体系。
(3) 基本术语解释:给出相关章节所涉及的基本术语的解释说明,并给出名词术语的中英文对照。
(4) 常见问题解答:提供了大量的常见问题,并给出对每个问题的解释说明。这些常见问题是作者在长期的教学过程中发现的普遍存在于学生中的共性问题。
(5) 单项选择题:提供了相应章节内容的单项选择题及其参考答案,并对部分习题的答案进行分析解答。
(6) 分析应用题:提供了相应章节内容的分析应用题及其分析解答。
单项选择题和分析应用题这两个方面的教学辅助内容主要是为了巩固学生所学的基本原理而设置的。通过对一些具体问题的分析,能够提高学生对基本原理的认识。
需要说明,本书的部分数据通路由专用软件设计,逻辑门电路采用软件自带的美标
<!-- page: 6 -->
设计。
本书作为主教材的教学辅助资料,可以与主教材配套使用。同时,本书相对独立、自成体系,因此也可单独使用。本书既可作为“计算机组成原理”或“计算机组成与系统结构”课程的教师参考书,也可作为学生学习“计算机组成原理”或“计算机组成与系统结构”课程时的学习参考书。
在本书的编写过程中,得到了杨若瑜副教授的大力协助,对书稿的篇章结构、内容等方面提出了许多宝贵的意见,并对全书内容进行了全面细致的核查和校对。此外,黄宜华教授、武港山教授等也对本书提出了许多宝贵的意见。杨晓亮、肖韬、翁基伟、刘长辉、宗恒、莫志刚、叶俊杰等研究生对相关章节的内容和习题分别进行了校对和试做,并提出了许多宝贵的意见和修改建议。在此对以上各位老师和研究生一并表示衷心的感谢。
由于计算机组成与系统结构相关的基础理论和技术在不断发展,新的思想、概念、技术和方法不断涌现,加之作者水平有限,在编写中难免存在不当或遗漏之处,恳请同行专家和广大读者对本书的不足之处给予指正,以便在后续的版本中改进。在主教材或本教材使用过程中若有任何问题,都可与作者直接联系,联系方式:cfyuan@nju.edu.cn。
袁春风
2023年8月
<!-- page: 7 -->
# CONTENTS
## 第 1 章 计算机系统概述
1.1 教学目标和内容安排 1
1.2 主要内容提要 2
1.3 基本术语解释 3
1.4 常见问题解答 8
1.5 单项选择题 10
1.6 分析应用题 13
## 第 2 章 数据的机器级表示
2.1 教学目标和内容安排 19
2.2 主要内容提要 20
2.3 基本术语解释 20
2.4 常见问题解答 23
2.5 单项选择题 28
2.6 分析应用题 32
## 第 3 章 运算方法和运算部件
3.1 教学目标和内容安排 42
3.2 主要内容提要 43
3.3 基本术语解释 45
3.4 常见问题解答 48
3.5 单项选择题 49
3.6 分析应用题 54
## 第 4 章 指令系统
4.1 教学目标和内容安排 68
4.2 主要内容提要 69
4.3 基本术语解释 72
<!-- page: 8 -->
4.4 常见问题解答 78
4.5 单项选择题 83
4.6 分析应用题 89
## 第5章 中央处理器 102
5.1 教学目标和内容安排 102
5.2 主要内容提要 104
5.3 基本术语解释 112
5.4 常见问题解答 117
5.5 单项选择题 125
5.6 分析应用题 130
## 第6章 指令流水线 150
6.1 教学目标和内容安排 150
6.2 主要内容提要 151
6.3 基本术语解释 155
6.4 常见问题解答 159
6.5 单项选择题 162
6.6 分析应用题 166
## 第7章 存储器层次结构 178
7.1 教学目标和内容安排 178
7.2 主要内容提要 180
7.3 基本术语解释 184
7.4 常见问题解答 193
7.5 单项选择题 200
7.6 分析应用题 207
## 第8章 系统互连及输入输出组织 229
8.1 教学目标和内容安排 229
8.2 主要内容提要 231
8.3 基本术语解释 234
8.4 常见问题解答 241
8.5 单项选择题 249
8.6 分析应用题 258
## 第9章 并行处理系统 272
9.1 教学目标和内容安排 272
9.2 主要内容提要 273
<!-- page: 9 -->
9.3 基本术语解释 274
9.4 常见问题解答 277
9.5 单项选择题 279
9.6 分析应用题 280
参考文献 282
<!-- page: 10 -->
# 第 1 章 计算机系统概述
## 1.1 教学目标和内容安排
主要教学目标:概要了解整个计算机系统全貌以及本课程内容在计算机系统中的位置,并使学生掌握如何简单评价计算机系统的性能。
### 基本学习要求:
(1) 简单了解计算机的发展历程、计算机分代标志、摩尔定律的内容。
(2) 了解计算机系统中硬件和软件的基本概念及其相互关系。
(3) 了解冯·诺依曼结构计算机的特点,以及计算机硬件的基本组成和各部件功能。
(4) 了解计算机软件的分类,以及各类系统软件和应用软件的功能。
(5) 了解程序开发和执行过程,理解各种语言处理程序(翻译程序、编译程序、汇编程序)的概念。
(6) 理解计算机系统的层次化结构。
(7) 了解各类计算机用户在计算机系统中所处位置,以及本课程在计算机系统中所处位置。
(8) 了解如何对计算机的性能进行测量和评价。
(9) 了解有哪些因素会影响计算机的性能。
本章涉及的内容是计算机学科最基本的概念和知识,虽然没有特别难懂的部分,但是对于低年级学生来说,有些概念还是比较抽象和难以理解的,需要在对后面章节的不断学习过程中深化对它们的理解并熟练运用。遇到这些内容时,可以告诉学生相关内容在后面具体哪个章节中会详细介绍。
有关计算机发展历程的部分内容中,出现了许多学生难以理解的专业术语,因此,这部分内容可以跳过不讲,但是,对于冯·诺依曼计算机结构的特点、“存储程序”工作方式、“兼容性”概念、摩尔定律等内容,要求学生能够掌握和理解。
计算机系统层次化概念和计算机系统组成的内容是相互联系的,因为不同计算机用户眼中的计算机系统是不一样的。可以从最终用户感觉到的计算机硬件和软件的形态开始,逐步深入到系统管理员、应用程序员、系统程序员,以及系统架构师眼中的硬件和软件形态。这两部分内容对学生建立整个计算机系统全貌,以及了解本课程在计算机系统中的位置是非常重要的。
<!-- page: 11 -->
为了让学生能够深入理解高级语言源程序和机器语言目标代码之间的关系,建议让学生做一些编程实验,例如,可以让学生对主教材①1.4.1节给出的hello.c源程序进行编译、链接,最终生成可执行目标代码,并要求学生比较源程序和目标代码,找出对应关系,并找到函数printf()对应的机器代码段等。
## 1.2 主要内容提要
### 1. 冯·诺依曼计算机结构的主要特点
冯·诺依曼计算机结构的特点主要包括:①计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成;②指令和数据用二进制表示,两者形式上没有差别;③指令和数据存放在存储器中,按地址访问;④指令由操作码和地址码组成,操作码指定操作性质,地址码指定操作数地址;⑤采用“存储程序”方式进行工作。
### 2. 计算机硬件的基本组成和功能
运算器用来进行各种算术逻辑运算;控制器用来对指令译码并送出操作控制信号;存储器用来存放指令和数据;输入和输出设备用来实现计算机和用户之间的信息交换。
### 3. 计算机系统的层次结构
计算机系统分软件和硬件两部分,软件和硬件的界面是指令集体系结构(ISA)。计算机系统从高到低粗分为应用软件、系统软件和硬件三个层次;不同计算机用户工作在不同的层次,从高到低细分为应用程序级(最终用户)、高级语言虚拟机级(高级语言程序员或应用程序员)、汇编语言虚拟机级(汇编语言程序员)、操作系统虚拟机级(系统管理员)、机器语言机器级(机器语言程序员)。
### 4. 硬件和软件的相互关系
计算机硬件和软件两者相辅相成,缺一不可。两者都用来实现逻辑功能,同一功能可用硬件实现,也可用软件实现。
### 5. 程序开发和执行过程
首先用某种语言(高级语言或低级语言)编制源程序;然后用语言处理程序(编译程序或汇编程序)将源程序翻译成机器语言目标程序。通过某种方式启动目标程序(可执行代码)执行时,操作系统将指令和数据装入内存,然后从第一条指令开始执行。每条指令的执行过程为取指令、指令译码、取操作数,运算、送结果、PC指向下一条指令。可执行程序由若干指令组成,CPU周而复始地执行一条一条指令,直到程序所含指令全部执行完。
### 6. 基本性能指标和性能参数
计算机系统的基本性能指标包括响应时间和吞吐率。处理器的基本性能参数包括时钟周期(或主频)、CPI、MIPS、MFLOPS(或GFLOPS、TFLOPS、PFLOPS等)。
### 7. 性能的测量
一般把程序的响应时间划分成CPU时间和等待时间,CPU时间又分成用户CPU时间和操作系统CPU时间。因为操作系统对自身所用的时间进行测量时不十分准确,所以对
① 主教材是《计算机组成与系统结构(第3版)》,ISBN 978-7-302-59988-3,袁春风主编,北京:清华大学出版社,2022.5。
<!-- page: 12 -->
CPU 性能的测量一般是通过测量程序运行时的用户 CPU 时间来进行的。
## 8. 各种性能参数之间的关系
时钟周期和时钟频率互为倒数。CPU 执行时间可用“CPU 时钟周期数 × 时钟周期”来计算。CPU 时钟周期数可用“程序所含指令条数 × 程序的 CPI”来计算。
## 9. 性能评价程序
可采用一组性能评价程序(即基准程序)对机器性能进行评测。有些机器制造商会针对基准程序中频繁出现的语句采用专门的编译器进行优化,使基准程序的运行效率大幅提高,因此有时用基准程序得到的评测结果不能说明问题。
## 1.3 基本术语解释
### 系列机 (family machine)
系列机是指一个厂家生产的具有相同系统结构、不同组成和实现的一系列不同型号的机器。它应在指令系统、数据格式、字符编码、中断系统、输入/输出控制方式等方面保持统一,从而保证软件的兼容性。
### 兼容性 (compatibility)
兼容是一个广泛的概念,主要表示一种“互换”特性,包括软件兼容、硬件兼容等。
### 软件兼容 (software compatibility)
软件兼容是指在某档机型上开发的软件可以不加修改地在另外机型上正确运行。一般在同一系列机内的软件是兼容的,有向上兼容和向下兼容两种形式。向上兼容是指高档机型上的程序能在低档机型上运行,向下兼容是指低档机型上的程序能在高档机型上运行,一般系列机满足向下兼容性。因为系列机中高档机的指令系统包含了低档机中的所有指令。
### 硬件兼容 (hardware compatibility)
硬件兼容也就是设备或部件兼容,是指设备或部件可以不加改动地用于多种计算机。这要求设备或部件符合某种标准化设计。
- 小规模集成电路 (Small Scale Integrated circuits, SSI circuits)
- 小规模集成电路是指集成度为小于 100 的集成电路。
- 中规模集成电路 (Medium Scale Integrated circuits, MSI circuits)
- 中规模集成电路是指集成度为 100~1000 的集成电路。
- 大规模集成电路 (Large Scale Integrated circuits, LSI circuits)
- 大规模集成电路是指集成度为 1000~100 000 的集成电路。
- 超大规模集成电路 (Very Large Scale Integrated circuits, VLSI circuits)
- 超大规模集成电路是指集成度为 10 万~1000 万的集成电路。
- 极大规模集成电路 (Ultra Large Scale Integrated circuits, ULSI circuits)
- 极大规模集成电路是指集成度为 1000 万以上的集成电路。
### 摩尔定律 (Moore's law)
1965 年摩尔预测:“以后每年将缩小硅片中形成晶体管电路的细线尺寸的 10%,芯片制造商能够每 3 年发布新一代的芯片,其晶体管数为上一代的 4 倍”。后来摩尔定律被表述成:“由于集成电路技术的不断改进,每 18~24 个月,集成电路芯片上集成的晶体管数将翻
<!-- page: 13 -->
一番,速度将提高一倍,而价格将降低一半”。
通用电子计算机(general-purpose electronic computer)
通用电子计算机是和专用电子计算机对应的,专用机只能专门用于某种应用,而通用电子计算机从定义上来说可以解决任何问题,只要这个问题可以用程序来表示。通用电子计算机也被称为完备的图灵机。
算术逻辑单元(Arithmetic Logic Unit, ALU)
算术逻辑单元是指对数据进行算术运算和逻辑运算处理的部件。
数据通路(datapath)
数据通路是指指令在执行过程中数据所经过的部件以及部件之间的连接线路,主要由ALU和一组寄存器、存储器、总线等组成。国内许多教科书中提到的运算器即是运算数据通路。
控制器(control unit)
控制器也称为控制单元或控制部件。其作用是对指令进行译码,将译码结果和状态/标志信号、时序信号等进行组合,产生各种操作控制信号。这些操作控制信号被送到CPU内部或通过总线送到主存或I/O模块。送到CPU内部的控制信号用于控制CPU内部数据通路的执行,送到主存或I/O模块的信号控制CPU和主存或CPU和I/O模块之间的信息交换。控制单元是整个CPU的指挥控制中心,通过规定各部件在何时做什么动作来控制数据的流动,完成指令的执行。
中央处理器(Central Processing Unit, CPU)
中央处理器是计算机中最重要的部分之一,主要由运算器和控制器组成。其内部结构归纳起来可以分为控制部件、运算部件和存储部件三部分,它们相互协调,共同完成对指令的执行。
存储器(memory, storage)
存储器用于存储程序和数据,分为内存储器(memory,简称内存)和外存储器(storage,简称外存)。内存存取速度快、容量小、价格贵;外存容量大、价格低,但存取速度慢。
内存(memory)
从字面上来说,内存是内部存储器,应该包括主存(Main Memory, MM)和高速缓存(cache),但是,因为早期计算机中没有高速缓存,因而传统意义上内存就是主存,所以,目前也并不区分内存和主存。内存位于CPU之外,用来存放已被启动执行的程序及所用数据,包括ROM芯片和RAM芯片组成的相应ROM存储区和RAM存储区两部分。
外存(storage)
外存储器主要有磁盘存储器、固态硬盘、磁带存储器和光盘存储器等。磁盘和固态硬盘是目前最常用的外存储器。容量极大、价格便宜的磁带机和光盘组等称为海量存储器,常用作数据备份,也称为辅存(Accessorial Memory, AM)或二级存储器(secondary memory)。
系统软件(system software)
系统软件是介于计算机硬件与应用程序之间的各种软件,它与具体应用关系不大。系统软件包括操作系统(如Windows)、语言处理系统(如C语言编译器)、数据库管理系统(如Oracle)和各类实用程序(如磁盘碎片整理程序、备份程序)。
<!-- page: 14 -->