发表于2024-11-26
本书主要提供“计算机组成和体系结构”课程的教学内容,包括计算机组成的原理知识,计算机硬件的设计技术,以及简单的实例计算机系统的工程实现,重点强调计算机硬件系统的组成原理、设计技术、工程实现三个方面的内容。作为计算机硬件课程的教材,本书涉及数字电路基础与逻辑设计基础知识、完整的计算机组成原理知识与设计实现技术、计算机系统结构的基础知识和概念等三门课程的有关内容,期望在有限的学时范围内,初步学习到计算机专业关键的三门硬件类课程的基本知识,强调所学知识的系统性和实用程度,强调培养学生的开创意识和实际工作能力。
? 本版的书名增加了“基本原理、设计技术与工程实现”的副标题,特意指出书中提供三类不同性质的教学内容。*一类内容是计算机组成原理与运行机制的核心知识,属于学生一定要掌握的原理性基础知识,在绝大多数同类教材中都会重点讲解;*二类内容是计算机硬件系统的基本设计技术,多数同类教材中讲解不多也欠具体应用实例;*三类内容是计算机硬件系统的入门性工程实现问题,其他教材中较少涉及,在这一版本的教材中对上述三类内容都有适度的讲解。
? 本版增加了计算机系统的工程实现的内容,又对计算机硬件设计技术的内容进行了重点修订,在对有关设计技术进行必要讲解之后,还要进一步给出描述计算各功能部件的组成与功能、使用与控制的ABEL-HDL程序的部分源码,这个程序的结构与实现功能容易读懂,更能方便地实现扩展新的指令和添加新的系统功能。
? 计算机各个功能部件的组成、运行原理和控制使用是课程教学的重点内容,在本版教材中,在强调讲清基本原理和基础概念的基础上,还要提供组成简单、能够实用的功能部件实例,*终还可以使用这些部件实例构建成能够正常运行的教学计算机系统,而这些设计实现的主要工作将交由学生以教学实验的方式来完成,这对培养学生承担实际工作的能力和大有益处,比较充分地体现出作者在主持建设“计算机组成原理”国家精品课程的教学理念。
? 在教材中强调把指令格式选择和指令系统设计、机器语言和汇编语言编程作为重点教学内容之一,为此需要提供使用这套指令系统设计完成的实例计算机系统的监控程序,从而使计算机组成原理课程教学摆脱了硬软件完全分割的局面,有利于加深学生对计算机整机系统的正确理解,这在其他同类教材中是很少见到的。
本书包括数字电路基础(先修部分)、计算机组成(主体部分)、计算机体系结构(提高部分)3部分内容,共13章,重点讲解计算机系统的完整组成和提高性能的可行途径。作为硬件课程教材,兼顾到计算机科学与技术专业中偏工程技术方向、偏软件方向的本科生,也可用于软件学院和计算机应用方向的学生。
宋佳兴,请华大学计算机科学与技术系副研究员,博士。主要研究方向为计算机网络、分布式信息系统等。在相关领域承担多项科研项目,发表论文20余篇,获省部级科技进步奖2项。是清华大学国家精品课“计算机组成原理”课程主要成员,获省部级教学成果奖1项。主讲数据库技术及应用、计算机组成与系统结构课程。
王诚,多年在清华大学计算机系教学和科研第一线工作,出版了十余本书,教学取得优异业绩,科研工作也有十余项重要成果。在长达十七、八年的教学过程中,重点主讲“计算机组成原理”、“计算机组成与体系结构”等课程,计算机组成原理课被评为国家、北京市、清华大学三个级别的精品课程,获北京市高教教学成果一等奖。出版多本主教材和实验指导书,其中有2本被评为北京市精品教材,进入国家ji“十五”和“十一五”规划教材。开发研制了教学硬件实验设备及其软件模拟系统,制作了教学课件,在全国有较大影响。
CONTENTS
第1章计算机系统概述1
1.1计算机系统的基本组成及其层次结构1
1.2计算机硬件的5个功能部件及其功能4
1.3计算机系统主要的技术与性能指标7
1.4计算机的体系结构、组成和实现概述9
1.5计算机发展进步、分类和拓展应用的进程12
本章内容小结和学习方法建议15
习题与思考题15
第2章数字电路基础和常用器件17
2.1数字电路的基本元件17
2.1.1晶体二极管与三极管17
2.1.2应用案例19
2.2数字电路基础及其相关处理方法20
2.2.13种基本逻辑关系20
2.2.2逻辑函数及其描述方法23
2.2.3逻辑函数的特性、规则与应用24
2.3组合逻辑电路及时序逻辑电路25
2.3.1常用逻辑门器件26
2.3.2时序逻辑电路29
2.3.3存储器芯片简介31
2.3.4几个专用功能器件和存储器芯片的引脚图32
2.4现场可编程逻辑器件及其应用34
2.4.1现场可编程器件概述34
2.4.2CPLD和FPGA的编程与应用37
本章内容小结和学习方法建议37
习题与思考题37
第3章数据表示、运算算法和线路实现39
3.1数字化信息编码的概念和二进制编码知识39
3.1.1数字化信息编码的概念39
3.1.2二进制编码和码制转换40
3.1.3检错纠错码45
3.2数据表示50
3.2.1逻辑类型数据的表示50
3.2.2字符类型数据的表示50
3.2.3多媒体信息编码53
3.2.4数值类型数据的表示55
3.3二进制数值数据的编码方案与运算算法60
3.3.1原码、反码、补码的定义60
3.3.2补码加、减运算规则和电路实现65
3.3.3原码一位乘法、除法的实现方案66
3.3.4实现乘法、除法的其他方案71
本章内容小结和学习方法建议76
习题与思考题77
目录计算机组成与体系结构(第3版)第4章运算器部件79
4.1算术逻辑运算单元的功能设计与线路实现79
4.2定点运算器81
4.2.1定点运算器部件的功能、组成与控制概述81
4.2.2设计实现一个简单的原理性8位运算器模型82
4.2.3运算器芯片Am2901实例与使用86
4.2.4MIPS多指令周期CPU系统的运算器的组成及其功能90
4.3浮点运算和浮点运算器92
4.3.1浮点数的运算规则92
4.3.2浮点运算器举例96
本章内容小结和学习方法建议98
习题与思考题99
第5章指令系统和汇编语言程序设计102
5.1指令格式和指令系统概述102
5.1.1指令的定义和指令格式102
5.1.2操作码的组织与编码103
5.1.3有关操作数的类型、个数、来源、去向和地址安排104
5.1.4指令的分类105
5.1.5指令周期及其对计算机性能和硬件结构的影响106
5.2基本寻址方式概述108
5.3指令系统举例111
5.3.1Pentium Ⅱ计算机的指令系统111
5.3.2MIPS32计算机的指令系统113
5.3.3PDP��11计算机的指令系统114
5.3.4教学计算机的指令系统116
5.4教学计算机的汇编语言程序设计120
5.4.1汇编语言及其程序设计中的有关概念120
5.4.2教学计算机的汇编程序设计举例121
本章内容小结和学习方法建议127
习题与思考题127
第6章控制器部件130
6.1控制器的功能与组成概述130
6.2硬布线控制器132
6.2.1硬布线控制器的组成和运行原理简介132
6.2.2MIPS32计算机的控制器简介133
6.2.3TEC_XP_Ⅱ教学计算机的硬布线控制器的设计与实现139
6.3微程序控制器部件149
6.3.1微程序控制器的基本组成和运行原理150
6.3.2微程序设计中的下地址形成逻辑和微程序设计152
6.3.3TEC�瞂P�并蚪萄Ъ扑慊�的微程序控制器的设计与实现155
本章内容小结和学习方法建议161
习题与思考题162
第7章多级结构存储器系统和主存储器166
7.1存储器系统概述166
7.1.1存储器分类166
7.1.2存储器系统目标167
7.1.3多级结构存储器系统169
7.2主存储器170
7.2.1主存储器概述170
7.2.2动态存储器的存储原理172
7.2.3静态存储器的存储原理173
7.2.4存储器容量扩展174
7.3教学计算机的主存储器实例176
7.4提高主存储器性能的途径179
本章内容小结和学习方法建议181
习题与思考题181
第8章高速缓冲存储器和虚拟存储器183
8.1高速缓冲存储器183
8.1.1Cache的运行原理183
8.1.2Cache的3种映像方式185
8.1.3Cache实用中的问题187
8.2虚拟存储器190
8.2.1虚拟存储器的概念介绍190
8.2.2段式存储管理190
8.2.3页式存储管理191
本章内容小结和学习方法建议193
习题与思考题193
第9章外部存储器设备196
9.1外存设备概述196
9.1.1主要技术指标196
9.1.2磁记录原理与记录方式197
9.2磁盘设备199
9.2.1磁记录介质199
9.2.2磁盘驱动器200
9.2.3磁盘控制器201
9.3磁盘阵列202
9.4光盘设备205
9.4.1只读光盘205
9.4.2可刻光盘206
9.4.3可擦写光盘208
9.4.4DVD208
9.4.5Blu�睷ay209
本章内容小结和学习方法建议209
习题与思考题209
第10章输入输出设备210
10.1输入输出设备概述210
10.2常用的输入设备211
10.3常用的输出设备212
10.3.1点阵式输出设备基本原理212
10.3.2显示器的组成和运行原理214
10.3.3打印机的组成和运行原理217
10.3.4计算机终端221
本章内容小结和学习方法建议221
习题与思考题222
第11章输入输出系统223
11.1计算机输入输出系统概述223
11.2计算机总线224
11.2.1总线概述224
11.2.2总线结构226
11.2.3总线宽度227
11.2.4总线时钟228
11.2.5总线仲裁230
11.2.6总线举例232
11.3输入输出接口238
11.3.1输入输出接口的功能238
11.3.2通用可编程接口组成239
11.3.3输入输出接口举例239
11.4输入输出方式242
11.4.1程序直接控制方式242
11.4.2程序中断传送方式243
11.4.3直接存储器访问方式245
11.4.4I/O通道控制方式247
11.4.5外围处理机方式247
本章内容小结和学习方法建议247
习题与思考题248
第12章流水线技术250
12.1流水线的基本概念250
12.1.1流水线的概念250
12.1.2流水线的表示方法252
12.1.3流水线的特点253
12.1.4流水线的分类方法254
12.2流水线的性能指标257
12.2.1流水线的吞吐率257
12.2.2流水线的加速比260
12.2.3流水线的效率260
12.2.4流水线的最佳段数261
12.3DLX指令集与DLX流水线261
12.3.1DLX指令集结构介绍261
12.3.2DLX的一种简单实现266
12.3.3DLX流水线的实现原理268
12.4流水线中的相关问题271
12.4.1结构相关271
12.4.2数据相关273
12.4.3控制相关279
12.5指令级并行技术284
12.5.1基本概念284
12.5.2多指令发射技术284
本章内容小结和学习方法建议287
习题与思考题288
第13章并行计算机体系结构289
13.1计算机体系结构概述289
13.1.1计算机体系结构的发展289
13.1.2计算机体系结构的分类290
13.1.3并行计算机体系结构分类292
13.2并行计算机系统的设计问题293
13.2.1并行计算机系统的互联网络293
13.2.2并行计算机系统的性能问题298
13.2.3并行计算机系统的软件问题300
13.3SIMD计算机简介301
13.3.1阵列处理机301
13.3.2向量处理机302
13.4共享内存的多处理机系统304
13.4.1一致性内存访问的UMA多处理机系统305
13.4.2非一致性内存访问的NUMA多处理机系统310
13.4.3基于Cache内存访问的COMA多处理机系统312
13.5基于消息传递的多计算机系统312
13.5.1大规模并行处理机314
13.5.2工作站集群315
本章内容小结和学习方法建议315
习题与思考题316
参考文献317
第3章数据表示、运算算法和线路实现运算器最重要的功能是加工数据,为此必须很好地掌握各种基本类型的数据及其在计算机内的表示和存储方式,以及完成运算所用的算法和实现这些算法所用的原理性电路。这些内容又以数字化信息编码、布尔代数、数字电路与逻辑设计为基础。布尔代数、数字电路与数字逻辑设计在本教材第2章进行了简要介绍。因此,本章将从数字化信息编码讲起,引出二进制编码,数制转换,插入部分检错纠错码知识;接下来介绍各种基本类型数据的表示;数值数据算术运算的有关方法。
二进制编码,数制转换,定点小数和整数的原码、反码、补码表示是本章的核心重点内容。
检错纠错码概念,讲到的两种常用的检错、纠错码的实现原理应较好理解,而对它们所用的具体线路简单了解即可。
应该掌握定点小数、整数、浮点数在计算机内的表示,补码加减法的运算规则,原码一位乘除法的原理性算法和完成算术运算用到的原理性逻辑线路。补码乘除法、加速乘除运算的可行方案简单了解即可。
本章作业较多,对深入理解所学知识和比较熟练地完成必要的计算很有必要,也是更好地学习运算器知识的基础,应认真完成。
3.1数字化信息编码的概念和二进制编码知识[*2]3.1.1数字化信息编码的概念计算机最重要的功能是处理信息,如数值、文字、符号、语音、图形和图像等。在计算机内部,各种信息都必须采用数字化的形式被保存、加工与传送。掌握信息编码的概念和技术是至关重要的。
所谓编码,就是用少量、简单的基本符号,选用一定的组合规则,以表示大量复杂多样的信息。基本符号的种类和这些符号的组合规则构成编码的两大要素。例如,用10个阿拉伯数字表示数值,用26个英文字母构成英文词汇,就是现实生活中编码的典型例子。
当要使用的基本符号数量较多时,往往还要采取措施,以便首先使用更少量的简单符号来编码以表示那些量大而复杂的基本符号,再用这些基本符号来表示信息,这就构成了多重编码。多重编码的典型例子是汉字编码,若把上万个汉字都作为基本符号就太多了,可以首先用笔形字画、偏旁部首、拼音或其他方式对其进行编码,以解决汉字输入问题。
在计算机中,广泛采用的是仅用0和1两个基本符号组成的基二码,亦称为二进制码。主要有以下3个方面的原因。
(1)基二码在物理上最容易实现,即容易找到具有两个稳定状态且能方便地控制状态转换的物理器件;可以用两个状态分别表示基本符号0和1。
(2)用基二码表示的二进制数,其编码、计数和算术运算规则简单,容易用数字电路实现,为提高计算机的运算速度和降低实现成本奠定了基础。
(3)基二码的两个基本符号0和1能方便地与逻辑命题的“否”和“是”,或称“假”和“真”相对应,为计算机中的逻辑运算和程序中的逻辑判断提供了便利条件。
计算机中的各种类型的数据,通常都是用二进制编码形式来表示、存储、处理和传送的。
数据表示、运算算法和线路实现第3章计算机组成与体系结构(第3版)3.1.2二进制编码和码制转换1.数制与进位计数法在采用进位计数的数字系统中,如果只用r个基本符号(例如0,1,2,…,r-1),通过排列起来的符号串表示数值,则称其为基r数制(Radix�瞨NumberSystem),r被称为该数制的基(Radix)。假定用m+k个自左向右排列的符号Di(-k≤i≤m-1)表示数值N,即N=Dm-1Dm-2…D1D0D-1D-2…D-k(3.1)式中的Di(-k≤i≤m-1)为该数制采用的基本符号,可取值0,1,2,…,r-1,小数点位置隐含在D0与D-1位之间,则Dm-1…D0为N的整数部分,D-1…D-k为N的小数部分。
如果每个Di的单位值都赋以固定的值Wi,则称Wi为该位的权(Weight),此时的数制称为有权的基r数制(WeightedRadix�瞨NumberSystem)。此时N代表的实际值可表示为N=∑m-1i=-kDi×Wi(3.2)如果该数制编码还符合“逢r进位”的规则,则每位的权(简称位权)可表示为Wi=ri式中的r是数制的基,i是位序号。式3.2又可以写为N=∑m-1i=-kDi×ri(3.3)式中的符号:
r——是这个数制的基;
i——表示这些符号的排列次序,即位序号;
Di——是位序号为i的一位上的符号;
ri——是第i位上的一个1所代表的值(位权);
Di×ri——是第i位上的符号所代表的实际值;
∑——表示对m+k位的各位的实际值执行累加求和;
N——代表一个数值。
此时该数制被称为r进位数制(PositionalRadix�瞨NumberSystem),简称r进制。下面是计算机中常用的几种进位数制:
二进制r=2,基本符号0,1
八进制r=8,基本符号0,1,2,3,4,5,6,7
十六进制r=16,基本符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
其中A~F分别表示十进制数10,11,12,13,14,15
十进制r=10,基本符号0,1,2,3,4,5,6,7,8,9
如果每一数位都具有相同的基,即采用同样的基本符号集来表示,则称该数制为固定基数制(FixedRadixNumberSystem),这是计算机内普遍采用的方案。在个别应用中,也允许对不同的数位或位段选用不同的基,即混合采用不同的基本符号集来表示,则该数制被称为混合基数制(MixedRadixNumberSystem)。
2.二进制编码和二进制数据
二进制编码是计算机内使用最多的码制。它只使用两个基本符号0和1,并且通过由这两个符号组成的符号串来表示各种信息(各种类型的数据)。二进制的数值类型的数据亦是如此,计算其所代表的数值的运算规则是N=∑m-1i=-kDi×2iDi的取值为0或1(3.4)例如(1101.0101)2=(13.3125)10。
等号左右两边括号内的数字为两个不同进制的数字,括号右下角的2和10分别指明左右两边的数字为二进制和十进制的数。按式(3.4),计算二进制数1101.0101的实际值为1×23+1×22+0×21+1×20+0×2-1+1×2-2+0×2-3+1×2-4
=8+4+1+0.25+0.0625=13.3125从式中可以进一步看到,由于二进制只用0和1两个符号,在计算二进制位串所代表的实际值时,只需把符号为1的那些位的位权相加即可,则上式变为:23+22+20+2-2+2-4=13.3125熟练地记清二进制数每位上的位权是有益的 计算机组成与体系结构(第3版)——基本原理、设计技术与工程实现(21世纪大学本科计算机专业系列教材) 下载 mobi epub pdf txt 电子书 格式
计算机组成与体系结构(第3版)——基本原理、设计技术与工程实现(21世纪大学本科计算机专业系列教材) 下载 mobi pdf epub txt 电子书 格式 2024
计算机组成与体系结构(第3版)——基本原理、设计技术与工程实现(21世纪大学本科计算机专业系列教材) 下载 mobi epub pdf 电子书评分
评分
评分
评分
评分
评分
评分
评分
计算机组成与体系结构(第3版)——基本原理、设计技术与工程实现(21世纪大学本科计算机专业系列教材) mobi epub pdf txt 电子书 格式下载 2024