计算机组成与系统结构(第2版) / 21世纪大学本科计算机专业系列教材
¥44.50定价
作者: 袁春风主编、杨若瑜等
出版时间:2015年8月
出版社:清华大学出版社
- 清华大学出版社
- 9787302408642
- 2-1
- 132287
- 16开
- 2015年8月
- 工学
- 计算机科学与技术
- TP303
- 计算机
- 本专科、高职高专
内容简介
《计算机组成与系统结构(第2版)》主要介绍计算机组成与系统结构涉及的相关概念、理论和技术内容,主要包括指令集体系结构、数据的表示和存储,以及实现指令集体系结构的计算机各部件的内部工作原理、组成结构及其相互连接关系。全书共9章:第1章对计算机系统及其性能评价进行概述性介绍,第2、3章主要介绍数据的机器级表示、运算以及运算部件的结构与设计,第4~6章介绍指令系统以及各种CPU设计技术,第7章主要介绍包含主存、cache和虚拟存储器在内的存储器分层体系结构,第8章介绍总线互连以及输入输出系统,第9章介绍并行处理计算系统的基本硬件结构和并行程序设计编程模型。
《计算机组成与系统结构(第2版)》内容详尽,概念清楚,通俗易懂,实例丰富,并提供大量典型习题供读者练习。《计算机组成与系统结构(第2版)》可以作为计算机专业本科或大专院校学生计算机组成原理与系统结构课程的教材,也可以作为有关专业研究生或计算机技术人员的参考书。
《计算机组成与系统结构(第2版)》内容详尽,概念清楚,通俗易懂,实例丰富,并提供大量典型习题供读者练习。《计算机组成与系统结构(第2版)》可以作为计算机专业本科或大专院校学生计算机组成原理与系统结构课程的教材,也可以作为有关专业研究生或计算机技术人员的参考书。
目录
CONTENTS第1章计算机系统概述1
1.1计算机的发展历程1
*1.1.1通用电子计算机的诞生1
*1.1.2第一代计算机2
*1.1.3第二代计算机2
*1.1.4第三代计算机3
*1.1.5第四代计算机3
1.2计算机系统的基本组成4
1.2.1计算机硬件4
1.2.2计算机软件8
1.3计算机系统的层次结构8
1.3.1计算机系统抽象层的转换9
1.3.2计算机系统的不同用户10
1.4程序开发与执行过程12
1.4.1从源程序到可执行程序12
1.4.2可执行文件的启动和执行14
1.4.3程序与指令的关系15
1.4.4指令的执行过程16
1.5计算机系统性能评价17
1.5.1计算机性能的定义18
1.5.2计算机性能的测试18
1.5.3用指令执行速度进行性能评估20
1.5.4用基准程序进行性能评估21
1.6本章小结 22
习题23
第2章数据的机器级表示25
2.1数制和编码25
*2.1.1信息的二进制编码25
*2.1.2进位记数制27
2.1.3定点与浮点表示31
2.1.4定点数的编码表示31
目录计算机组成与系统结构(第2版)2.2整数的表示36
2.2.1无符号整数的表示36
2.2.2带符号整数的表示36
2.2.3C语言中的整数类型36
2.3实数的表示38
2.3.1浮点数的表示格式38
2.3.2浮点数的规格化39
2.3.3IEEE 754浮点数标准39
2.3.4C语言中的浮点数类型44
2.4十进制数的表示45
*2.4.1用ASCII码字符表示45
*2.4.2用BCD码表示46
2.5非数值数据的编码表示46
2.5.1逻辑值46
*2.5.2西文字符47
*2.5.3汉字字符48
2.6数据的宽度和存储50
2.6.1数据的宽度和单位50
2.6.2数据的存储和排列顺序51
2.7数据校验码54
2.7.1奇偶校验码55
2.7.2海明校验码56
2.7.3循环冗余校验码60
2.8本章小结62
习题62
第3章运算方法和运算部件66
3.1高级语言和机器指令中的运算66
*3.1.1C程序中涉及的运算66
*3.1.2MIPS指令中涉及的运算69
3.2基本运算部件70
3.2.1串行进位加法器71
3.2.2并行进位加法器72
3.2.3带标志加法器73
3.2.4算术逻辑部件74
3.3定点数运算75
3.3.1补码加减运算75
*3.3.2原码加减运算77
*3.3.3移码加减运算77
3.3.4原码乘法运算78
3.3.5补码乘法运算81
*3.3.6快速乘法器83
3.3.7原码除法运算85
*3.3.8补码除法运算90
3.4浮点数运算93
3.4.1浮点数加减运算93
*3.4.2浮点数乘除运算97
3.5运算部件的组成100
*3.5.1定点运算部件100
*3.5.2浮点运算部件102
3.6本章小结103
习题104
第4章指令系统107
4.1指令格式设计107
4.1.1指令地址码的个数107
4.1.2指令格式设计原则108
4.2指令系统设计108
4.2.1基本设计问题109
4.2.2操作数类型110
4.2.3寻址方式110
4.2.4操作类型112
4.2.5操作码编码114
4.2.6标志信息的生成与使用116
4.2.7指令系统设计风格118
4.3指令系统实例120
*4.3.1IA32指令系统120
*4.3.2ARM指令系统123
4.4程序的机器级表示125
4.4.1MIPS汇编语言和机器语言125
*4.4.2选择结构的机器代码表示129
*4.4.3循环结构的机器代码表示130
*4.4.4过程调用的机器代码表示131
4.5本章小结138
习题139
第5章中央处理器142
5.1CPU概述142
5.1.1指令执行过程142
5.1.2CPU的基本功能和基本组成143
5.1.3数据通路的基本结构144
5.2单周期处理器设计152
5.2.1指令功能的描述153
5.2.2数据通路的设计154
5.2.3控制逻辑单元的设计162
5.2.4时钟周期的确定168
5.3多周期处理器设计169
*5.3.1信号竞争问题169
*5.3.2指令执行状态分析170
*5.3.3硬连线路控制器设计172
5.4微程序控制器设计175
5.4.1微程序控制器的结构175
*5.4.2微命令编码176
*5.4.3微指令地址的确定181
5.5异常和中断处理184
5.5.1基本概念184
5.5.2异常处理过程186
*5.5.3带异常处理的处理器设计187
5.6本章小结189
习题190
第6章指令流水线194
6.1流水线概述194
6.1.1流水线的执行效率194
6.1.2适合流水线的指令集特征195
6.2流水线处理器的实现196
6.2.1每条指令的流水段分析196
6.2.2流水线数据通路的设计197
6.2.3流水线控制器的设计202
6.3流水线冒险及其处理203
6.3.1结构冒险203
6.3.2数据冒险205
6.3.3控制冒险211
6.4高级流水线技术219
*6.4.1静态多发射处理器220
*6.4.2动态多发射处理器223
*6.4.3Pentium 4处理器的流水线结构227
6.5本章小结230
习题232
第7章存储器分层体系结构235
7.1存储器概述235
7.1.1存储器的分类235
7.1.2主存储器的组成和基本操作236
7.1.3存储器的主要性能指标237
7.1.4存储器的层次化结构238
7.2半导体随机存取存储器239
7.2.1基本存储元件239
7.2.2SRAM芯片和DRAM芯片240
7.2.3SDRAM芯片技术244
7.3存储器芯片的扩展及其与CPU的连接245
7.3.1内存条和内存条插槽245
7.3.2存储器芯片的扩展247
7.4半导体只读存储器和Flash存储器248
7.4.1半导体只读存储器248
7.4.2半导体Flash存储器248
7.5并行存储器结构技术250
7.5.1双口存储器250
7.5.2多模块存储器250
7.6高速缓冲存储器252
7.6.1程序访问的局部性253
7.6.2cache的基本工作原理255
7.6.3cache行和主存块之间的映射方式257
7.6.4cache中主存块的替换算法264
7.6.5cache的一致性问题267
*7.6.6cache性能评估268
*7.6.7影响cache性能的因素269
*7.6.8cache 结构举例272
7.7虚拟存储器274
*7.7.1进程与进程的上下文切换274
*7.7.2存储器管理275
7.7.3虚拟地址空间277
7.7.4虚拟存储器的实现279
*7.7.5存储保护286
7.8本章小结287
习题288
第8章互连及输入输出组织294
8.1外部设备的分类与特点294
8.1.1外设的分类294
8.1.2外设的特点295
8.2输入设备和输出设备295
*8.2.1键盘295
*8.2.2鼠标器297
*8.2.3打印机297
*8.2.4显示器299
8.3外部存储设备301
8.3.1磁表面存储原理301
8.3.2硬磁盘存储器303
8.3.3冗余磁盘阵列307
8.3.4U盘和固态硬盘309
8.4外设与CPU、主存的互连310
8.4.1总线概述310
8.4.2基于总线的互连结构312
8.5I/O接口317
8.5.1I/O接口的功能317
8.5.2I/O接口的通用结构317
8.5.3I/O端口及其编址319
8.6I/O数据传送控制方式320
8.6.1程序直接控制I/O方式320
8.6.2程序中断I/O方式323
8.6.3DMA方式 333
8.7I/O子系统概述336
8.8内核空间I/O软件339
8.8.1与设备无关的I/O软件339
8.8.2设备驱动程序341
8.8.3中断服务程序342
8.9本章小结344
习题345
*第9章并行处理系统349
9.1并行处理系统概述349
9.1.1并行处理的主要技术问题349
9.1.2并行处理系统的分类351
9.2多处理器系统353
9.2.1UMA多处理器结构354
9.2.2NUMA多处理器结构356
9.2.3多处理器系统中的互连网络358
9.2.4片级多处理器和多线程技术359
9.3多计算机系统360
9.3.1集群多计算机系统360
9.3.2网格多计算机系统364
9.4向量处理机和SIMD技术364
9.4.1向量处理机364
9.4.2Intel架构中的SIMD技术366
9.4.3GPU架构368
9.5并行处理编程模式简介371
9.6本章小结374
参考文献376
目录计算机组成与系统结构(第2版)2.2整数的表示36
2.2.1无符号整数的表示36
2.2.2带符号整数的表示36
2.2.3C语言中的整数类型36
2.3实数的表示38
2.3.1浮点数的表示格式38
2.3.2浮点数的规格化39
2.3.3IEEE 754浮点数标准39
2.3.4C语言中的浮点数类型44
2.4十进制数的表示45
*2.4.1用ASCII码字符表示45
*2.4.2用BCD码表示46
2.5非数值数据的编码表示46
2.5.1逻辑值46
*2.5.2西文字符47
*2.5.3汉字字符48
2.6数据的宽度和存储50
2.6.1数据的宽度和单位50
2.6.2数据的存储和排列顺序51
2.7数据校验码54
2.7.1奇偶校验码55
2.7.2海明校验码56
2.7.3循环冗余校验码60
2.8本章小结62
习题62
第3章运算方法和运算部件66
3.1高级语言和机器指令中的运算66
*3.1.1C程序中涉及的运算66
*3.1.2MIPS指令中涉及的运算69
3.2基本运算部件70
3.2.1串行进位加法器71
3.2.2并行进位加法器72
3.2.3带标志加法器73
3.2.4算术逻辑部件74
3.3定点数运算75
3.3.1补码加减运算75
*3.3.2原码加减运算77
*3.3.3移码加减运算77
3.3.4原码乘法运算78
3.3.5补码乘法运算81
*3.3.6快速乘法器83
3.3.7原码除法运算86
*3.3.8补码除法运算90
3.4浮点数运算93
3.4.1浮点数加减运算93
*3.4.2浮点数乘除运算97
3.5运算部件的组成100
*3.5.1定点运算部件100
*3.5.2浮点运算部件102
3.6本章小结103
习题103
第4章指令系统107
4.1指令格式设计107
4.1.1指令地址码的个数107
4.1.2指令格式设计原则108
4.2指令系统设计108
4.2.1基本设计问题109
4.2.2操作数类型110
4.2.3寻址方式110
4.2.4操作类型115
4.2.5操作码编码114
4.2.6标志信息的生成与使用116
4.2.7指令系统设计风格118
4.3指令系统实例120
*4.3.1IA32指令系统120
*4.3.2ARM指令系统123
4.4程序的机器级表示125
4.4.1MIPS汇编语言和机器语言125
*4.4.2选择结构的机器代码表示129
*4.4.3循环结构的机器代码表示130
*4.4.4过程调用的机器代码表示131
4.5本章小结138
习题139
第5章中央处理器142
5.1CPU概述142
5.1.1指令执行过程142
5.1.2CPU的基本功能和基本组成143
5.1.3数据通路的基本结构144
5.2单周期处理器设计152
5.2.1指令功能的描述153
5.2.2数据通路的设计154
5.2.3控制逻辑单元的设计162
5.2.4时钟周期的确定168
5.3多周期处理器设计169
*5.3.1信号竞争问题169
*5.3.2指令执行状态分析170
*5.3.3硬连线路控制器设计172
5.4微程序控制器设计175
5.4.1微程序控制器的结构175
*5.4.2微命令编码176
*5.4.3微指令地址的确定181
5.5异常和中断处理184
5.5.1基本概念184
5.5.2异常处理过程186
*5.5.3带异常处理的处理器设计187
5.6本章小结189
习题190
第6章指令流水线194
6.1流水线概述194
6.1.1流水线的执行效率194
6.1.2适合流水线的指令集特征195
6.2流水线处理器的实现196
6.2.1每条指令的流水段分析196
6.2.2流水线数据通路的设计197
6.2.3流水线控制器的设计202
6.3流水线冒险及其处理203
6.3.1结构冒险203
6.3.2数据冒险205
6.3.3控制冒险211
6.4高级流水线技术219
*6.4.1静态多发射处理器220
*6.4.2动态多发射处理器223
*6.4.3Pentium 4处理器的流水线结构227
6.5本章小结230
习题232
第7章存储器分层体系结构235
7.1存储器概述235
7.1.1存储器的分类235
7.1.2主存储器的组成和基本操作236
7.1.3存储器的主要性能指标237
7.1.4存储器的层次化结构238
7.2半导体随机存取存储器239
7.2.1基本存储元件239
7.2.2SRAM芯片和DRAM芯片240
7.2.3SDRAM芯片技术244
7.3存储器芯片的扩展及其与CPU的连接245
7.3.1内存条和内存条插槽245
7.3.2存储器芯片的扩展247
7.4半导体只读存储器和Flash存储器248
7.4.1半导体只读存储器248
7.4.2半导体Flash存储器248
7.5并行存储器结构技术250
7.5.1双口存储器250
7.5.2多模块存储器250
7.6高速缓冲存储器252
7.6.1程序访问的局部性253
7.6.2cache的基本工作原理255
7.6.3cache行和主存块之间的映射方式257
7.6.4cache中主存块的替换算法264
7.6.5cache的一致性问题267
7.6.6cache性能评估268
*7.6.7影响cache性能的因素269
*7.6.8cache 结构举例272
7.7虚拟存储器274
*7.7.1进程与进程的上下文切换274
*7.7.2存储器管理275
7.7.3虚拟地址空间277
7.7.4虚拟存储器的实现279
*7.7.5存储保护285
7.8本章小结287
习题287
第8章互连及输入输出组织293
8.1外部设备的分类与特点293
8.1.1外设的分类293
8.1.2外设的特点294
8.2输入设备和输出设备294
*8.2.1键盘294
*8.2.2鼠标器296
*8.2.3打印机296
*8.2.4显示器298
8.3外部存储设备300
8.3.1磁表面存储原理300
8.3.2硬磁盘存储器302
8.3.3冗余磁盘阵列306
8.3.4U盘和固态硬盘308
8.4外设与CPU、主存的互连309
8.4.1总线概述309
8.4.2基于总线的互连结构311
8.5I/O接口316
8.5.1I/O接口的功能316
8.5.2I/O接口的通用结构316
8.5.3I/O端口及其编址318
8.6I/O数据传送控制方式319
8.6.1程序直接控制I/O方式319
8.6.2程序中断I/O方式322
8.6.3DMA方式 332
8.7I/O子系统概述335
8.8内核空间I/O软件338
8.8.1与设备无关的I/O软件338
8.8.2设备驱动程序340
8.8.3中断服务程序341
8.9本章小结343
习题344
第9章并行处理系统348
9.1并行处理系统概述348
9.1.1并行处理的主要技术问题348
9.1.2并行处理系统的分类350
9.2多处理器系统352
9.2.1UMA多处理器结构353
9.2.2NUMA多处理器结构355
9.2.3多处理器系统中的互连网络357
9.2.4片级多处理器和多线程技术358
9.3多计算机系统359
9.3.1集群多计算机系统359
9.3.2网格多计算机系统363
9.4向量处理机和SIMD技术363
9.4.1向量处理机363
9.4.2Intel架构中的SIMD技术365
9.4.3GPU架构367
9.5并行处理编程模式简介370
9.6本章小结373
参考文献375
第1章计算机系统概述1
1.1计算机的发展历程1
1.1.1通用电子计算机的诞生1
1.1.2第一代计算机2
1.1.3第二代计算机2
1.1.4第三代计算机3
1.1.5第四代计算机3
1.2计算机系统的基本组成4
1.2.1计算机硬件4
1.2.2计算机软件8
1.3计算机系统的层次结构8
1.3.1计算机系统抽象层的转换9
1.3.2计算机系统的不同用户10
1.4程序开发与执行过程11
1.4.1从源程序到可执行程序11
1.4.2可执行文件的启动和执行13
1.4.3程序与指令的关系14
1.4.4指令的执行过程15
1.5计算机系统性能评价16
1.5.1计算机性能的定义17
1.5.2计算机性能的测试17
1.5.3用指令执行速度进行性能评估19
1.5.4用基准程序进行性能评估20
1.6本章小结 21
习题22
第2章数据的机器级表示24
2.1数制和编码24
2.1.1信息的二进制编码24
2.1.2进位记数制26
2.1.3定点与浮点表示30
2.1.4定点数的编码表示30
目录计算机组成与系统结构(第2版)2.2整数的表示35
2.2.1无符号整数的表示35
2.2.2带符号整数的表示35
2.2.3C语言中的整数类型35
2.3实数的表示37
2.3.1浮点数的表示格式37
2.3.2浮点数的规格化38
2.3.3IEEE 754浮点数标准38
2.3.4C语言中的浮点数类型43
2.4十进制数的表示44
2.4.1用ASCII码字符表示44
2.4.2用BCD码表示45
2.5非数值数据的编码表示45
2.5.1逻辑值45
2.5.2西文字符46
2.5.3汉字字符47
2.6数据的宽度和存储49
2.6.1数据的宽度和单位49
2.6.2数据的存储和排列顺序50
2.7数据校验码53
2.7.1奇偶校验码54
2.7.2海明校验码55
2.7.3循环冗余校验码59
2.8本章小结61
习题61
第3章运算方法和运算部件65
3.1高级语言和机器指令中的运算65
3.1.1C程序中涉及的运算65
3.1.2MIPS指令中涉及的运算68
3.2基本运算部件69
3.2.1串行进位加法器70
3.2.2并行进位加法器71
3.2.3带标志加法器72
3.2.4算术逻辑部件73
3.3定点数运算74
3.3.1补码加减运算74
3.3.2原码加减运算76
3.3.4原码乘法运算77
3.3.5补码乘法运算80
3.3.6快速乘法器82
3.3.7原码除法运算85
3.3.8补码除法运算89
3.4浮点数运算92
3.4.1浮点数加减运算92
3.4.2浮点数乘除运算96
3.5运算部件的组成99
3.5.1定点运算部件99
3.5.2浮点运算部件101
3.6本章小结102
习题102
第4章指令系统106
4.1指令格式设计106
4.1.1指令地址码的个数106
4.1.2指令格式设计原则107
4.2指令系统设计107
4.2.1基本设计问题108
4.2.2操作数类型109
4.2.3寻址方式109
4.2.5操作码编码113
4.2.6标志信息的生成与使用115
4.2.7指令系统设计风格117
4.3指令系统实例119
4.3.1IA32指令系统119
4.3.2ARM指令系统122
4.4程序的机器级表示124
4.4.1MIPS汇编语言和机器语言124
4.4.2选择结构的机器代码表示128
4.4.3循环结构的机器代码表示129
4.4.4过程调用的机器代码表示130
4.5本章小结137
习题138
第5章中央处理器141
5.1CPU概述141
5.1.1指令执行过程141
5.1.2CPU的基本功能和基本组成142
5.1.3数据通路的基本结构143
5.2单周期处理器设计151
5.2.1指令功能的描述152
5.2.2数据通路的设计153
5.2.3控制逻辑单元的设计161
5.2.4时钟周期的确定167
5.3多周期处理器设计168
5.3.1信号竞争问题168
5.3.2指令执行状态分析169
5.3.3硬连线路控制器设计171
5.4微程序控制器设计174
5.4.1微程序控制器的结构174
5.4.2微命令编码175
5.4.3微指令地址的确定180
5.5异常和中断处理183
5.5.1基本概念183
5.5.2异常处理过程185
5.5.3带异常处理的处理器设计186
5.6本章小结188
习题189
第6章指令流水线193
6.1流水线概述193
6.1.1流水线的执行效率193
6.1.2适合流水线的指令集特征194
6.2流水线处理器的实现195
6.2.1每条指令的流水段分析195
6.2.2流水线数据通路的设计196
6.2.3流水线控制器的设计201
6.3流水线冒险及其处理202
6.3.1结构冒险202
6.3.2数据冒险204
6.3.3控制冒险210
6.4高级流水线技术218
6.4.1静态多发射处理器219
6.4.2动态多发射处理器222
6.4.3Pentium 4处理器的流水线结构226
6.5本章小结229
习题231
第7章存储器分层体系结构234
7.1存储器概述234
7.1.1存储器的分类234
7.1.2主存储器的组成和基本操作235
7.1.3存储器的主要性能指标236
7.1.4存储器的层次化结构237
7.2半导体随机存取存储器238
7.2.1基本存储元件238
7.2.2静态SRAM芯片和DRAM芯片239
7.2.3SDRAM芯片技术243
7.3存储器芯片的扩展及其与CPU的连接244
7.3.1内存条和内存条插槽244
7.3.2存储器芯片的扩展246
7.4半导体只读存储器和Flash存储器247
7.4.1半导体只读存储器247
7.4.2半导体Flash存储器247
7.5并行存储器结构技术249
7.5.1双口存储器249
7.5.2多模块存储器249
7.6高速缓冲存储器251
7.6.1程序访问的局部性252
7.6.2cache的基本工作原理254
7.6.3cache行和主存块之间的映射方式256
7.6.4cache中主存块的替换算法263
7.6.5cache的一致性问题266
7.6.6cache性能评估267
7.6.7影响cache性能的因素268
7.6.8cache 结构举例271
7.7虚拟存储器273
7.7.1进程与进程的上下文切换273
7.7.2存储器管理274
7.7.3虚拟地址空间276
7.7.4虚拟存储器的实现278
7.7.5存储保护284
7.8本章小结286
习题286
第8章互连及输入输出组织292
8.1外部设备的分类与特点292
8.1.1外设的分类292
8.1.2外设的特点293
8.2输入设备和输出设备293
8.2.1键盘293
8.2.2鼠标器295
8.2.3打印机295
8.2.4显示器297
8.3外部存储设备299
8.3.1磁表面存储原理299
8.3.2硬磁盘存储器301
8.3.3冗余磁盘阵列305
8.3.4U盘和固态硬盘307
8.4外设与CPU、主存的互连308
8.4.1总线概述308
8.4.2基于总线的互连结构310
8.5I/O接口315
8.5.1I/O接口的功能315
8.5.2I/O接口的通用结构315
8.5.3I/O端口及其编址317
8.6I/O数据传送控制方式318
8.6.1程序直接控制I/O方式318
8.6.2程序中断I/O方式321
8.6.3DMA方式 331
8.7I/O子系统概述334
8.8内核空间I/O软件337
8.8.1与设备无关的I/O软件337
8.8.2设备驱动程序339
8.8.3中断服务程序340
8.9本章小结342
习题343
第9章并行处理系统347
9.1并行处理系统概述347
9.1.1并行处理的主要技术问题347
9.1.2并行处理系统的分类349
9.2多处理器系统351
9.2.1UMA多处理器结构352
9.2.2NUMA多处理器结构354
9.2.3多处理器系统中的互连网络356
9.2.4片级多处理器和多线程技术357
9.3多计算机系统358
9.3.1集群多计算机系统358
9.3.2网格多计算机系统362
9.4向量处理机和SIMD技术362
9.4.1向量处理机362
9.4.2Intel架构中的SIMD技术364
9.4.3GPU架构366
9.5并行处理编程模式简介369
9.6本章小结372
参考文献374
第1章计算机系统概述1
1.1计算机系统的基本组成及其层次结构1
1.2计算机硬件的5个功能部件及其功能4
1.3计算机系统主要的技术与性能指标7
1.4计算机的体系结构、组成和实现概述9
1.5计算机发展进步、分类和拓展应用的进程10
本章内容小结和学习方法建议13
习题与思考题14
第2章数字电路基础和常用器件15
2.1数字电路的基本元件15
2.1.1晶体二极管与三极管15
2.1.2应用案例16
2.2数字电路基础及其相关处理方法18
2.2.13种基本逻辑关系18
2.2.2逻辑函数及其描述方法21
2.2.3逻辑函数的特性、规则与应用22
2.3组合逻辑电路及时序逻辑电路23
2.3.1常用逻辑门器件23
2.3.2时序逻辑电路26
2.3.3存储器芯片简介30
2.3.4几个专用功能器件和存储器芯片的引脚图30
2.4现场可编程逻辑器件及其应用31
2.4.1现场可编程器件概述31
2.4.2CPLD和FPGA的编程与应用34
本章内容小结和学习方法建议35
习题与思考题35
第3章数据表示、运算算法和线路实现37
3.1数字化信息编码的概念和二进制编码知识37
3.1.1数字化信息编码的概念37
3.1.2二进制编码和码制转换38
3.1.3检错纠错码44
3.2数据表示48
3.2.1逻辑类型数据的表示48
3.2.2字符类型数据的表示48
3.2.3多媒体信息编码51
3.2.4数值类型数据的表示53
3.3二进制数值数据的编码方案与运算算法58
3.3.1原码、反码、补码的定义58
3.3.2补码加、减运算规则和电路实现62
3.3.3原码一位乘法、除法的实现方案64
3.3.4实现乘法、除法的其他方案69
本章内容小结和学习方法建议74
习题与思考题75
目录计算机组成与体系结构(第2版)第4章运算器部件77
4.1算术逻辑运算单元的功能设计与线路实现77
4.2定点运算器79
4.2.1定点运算器部件的功能、组成与控制概述79
4.2.2运算器芯片Am2901实例与使用80
4.2.3MIPS多指令周期CPU系统的运算器的组成及其功能84
4.2.4简化TEC2000计算机的运算器部件的功能、组成与设计85
4.3浮点运算和浮点运算器91
4.3.1浮点数的运算规则91
4.3.2浮点运算器举例95
本章内容小结和学习方法建议97
习题与思考题98
第5章指令系统和汇编语言程序设计101
5.1指令格式和指令系统概述101
5.1.1指令的定义和指令格式101
5.1.2操作码的组织与编码102
5.1.3操作数的指定与使用103
5.1.4指令的分类104
5.1.5指令周期及其对计算机性能和硬件结构的影响105
5.2基本寻址方式概述107
5.3指令系统举例109
5.3.1Pentium Ⅱ计算机的指令系统110
5.3.2MIPS32计算机的指令系统112
5.3.3PDP11计算机的指令系统113
5.3.4TEC2000 计算机的指令系统115
5.4TEC2000计算机的汇编语言程序设计118
5.4.1汇编语言及其程序设计中的有关概念118
5.4.2教学计算机的汇编程序设计举例120
本章内容小结和学习方法建议125
习题与思考题126
第6章控制器128
6.1控制器的功能与组成概述128
6.2硬连线控制器129
6.2.1硬连线控制器的组成和运行原理简介130
6.2.2MIPS32计算机的控制器简介131
6.2.3TEC2000和THFPGA计算机控制器概述136
6.2.4简化TEC2000的CPU系统的设计146
6.3微程序控制器部件157
6.3.1微程序控制器的基本组成和运行原理157
6.3.2微程序设计中的下地址形成逻辑和微程序设计160
本章内容小结和学习方法建议163
习题与思考题164
第7章多级结构存储器系统和主存储器168
7.1存储器系统概述168
7.1.1存储器分类168
7.1.2存储器系统目标169
7.1.3多级结构存储器系统171
7.2主存储器172
7.2.1主存储器概述172
7.2.2动态存储器的存储原理174
7.2.3静态存储器的存储原理175
7.2.4存储器容量扩展176
7.3教学计算机的主存储器实例178
7.4提高主存储器性能的途径181
本章内容小结和学习方法建议183
习题与思考题183
第8章高速缓冲存储器和虚拟存储器185
8.1高速缓冲存储器185
8.1.1Cache的运行原理185
8.1.2Cache的3种映像方式187
8.1.3Cache实用中的问题189
8.2虚拟存储器部件192
8.2.1虚拟存储器的概念介绍192
8.2.2段式存储管理192
8.2.3页式存储管理193
本章内容小结和学习方法建议195
习题与思考题195
第9章外部存储器设备198
9.1外存设备概述198
9.1.1主要技术指标198
9.1.2磁记录原理与记录方式199
9.2磁盘设备201
9.2.1磁记录介质201
9.2.2磁盘驱动器202
9.2.3磁盘控制器203
9.3磁盘阵列204
9.4光盘设备207
9.4.1只读光盘207
9.4.2可刻光盘208
9.4.3可擦写光盘210
9.4.4DVD210
9.4.5BluRay211
本章内容小结和学习方法建议211
习题与思考题211
第10章输入输出设备212
10.1输入输出设备概述212
10.2常用的输入设备213
10.3常用的输出设备215
10.3.1点阵式输出设备基本原理215
10.3.2显示器的组成和运行原理216
10.3.3打印机的组成和运行原理220
10.3.4计算机终端223
本章内容小结和学习方法建议224
习题与思考题224
第11章输入输出系统225
11.1计算机输入输出系统概述225
11.2计算机总线226
11.2.1总线概述226
11.2.2总线结构228
11.2.3总线宽度229
11.2.4总线时钟230
11.2.5总线仲裁232
11.2.6总线举例234
11.3输入输出接口240
11.3.1输入输出接口的功能240
11.3.2通用可编程接口组成240
11.3.3输入输出接口举例241
11.4输入输出方式244
11.4.1程序直接控制方式244
11.4.2程序中断传送方式244
11.4.3直接存储器访问方式247
11.4.4I/O通道控制方式249
11.4.5外围处理机方式249
本章内容小结和学习方法建议249
习题与思考题250
第12章流水线技术252
12.1流水线的基本概念252
12.1.1流水线的概念252
12.1.2流水线的表示方法254
12.1.3流水线的特点255
12.1.4流水线的分类方法256
12.2流水线的性能指标259
12.2.1流水线的吞吐率259
12.2.2流水线的加速比262
12.2.3流水线的效率262
12.2.4流水线的最佳段数263
12.3DLX指令集与DLX流水线263
12.3.1DLX指令集结构介绍263
12.3.2DLX的一种简单实现268
12.3.3DLX流水线的实现原理270
12.4流水线中的相关问题273
12.4.1结构相关273
12.4.2数据相关275
12.4.3控制相关281
12.5指令级并行技术285
12.5.1基本概念285
12.5.2多指令发射技术286
本章内容小结和学习方法建议289
习题与思考题289
第13章并行计算机体系结构291
13.1并行计算机体系结构概述291
13.1.1计算机体系结构的发展291
13.1.2计算机体系结构的分类292
13.1.3并行计算机体系结构分类294
13.2并行计算机系统的设计问题295
13.2.1并行计算机系统的互联网络295
13.2.2并行计算机系统的性能问题300
13.2.3并行计算机系统的软件问题302
13.3SIMD计算机简介303
13.3.1阵列处理机303
13.3.2向量处理机304
13.4共享内存的多处理机系统306
13.4.1一致性内存访问的UMA多处理机系统307
13.4.2非一致性内存访问的NUMA多处理机系统312
13.4.3基于Cache内存访问的COMA多处理机系统314
13.5基于消息传递的多计算机系统314
13.5.1大规模并行处理机316
13.5.2工作站集群316
本章内容小结和学习方法建议317
习题与思考题318
主要参考书319
1.1计算机的发展历程1
*1.1.1通用电子计算机的诞生1
*1.1.2第一代计算机2
*1.1.3第二代计算机2
*1.1.4第三代计算机3
*1.1.5第四代计算机3
1.2计算机系统的基本组成4
1.2.1计算机硬件4
1.2.2计算机软件8
1.3计算机系统的层次结构8
1.3.1计算机系统抽象层的转换9
1.3.2计算机系统的不同用户10
1.4程序开发与执行过程12
1.4.1从源程序到可执行程序12
1.4.2可执行文件的启动和执行14
1.4.3程序与指令的关系15
1.4.4指令的执行过程16
1.5计算机系统性能评价17
1.5.1计算机性能的定义18
1.5.2计算机性能的测试18
1.5.3用指令执行速度进行性能评估20
1.5.4用基准程序进行性能评估21
1.6本章小结 22
习题23
第2章数据的机器级表示25
2.1数制和编码25
*2.1.1信息的二进制编码25
*2.1.2进位记数制27
2.1.3定点与浮点表示31
2.1.4定点数的编码表示31
目录计算机组成与系统结构(第2版)2.2整数的表示36
2.2.1无符号整数的表示36
2.2.2带符号整数的表示36
2.2.3C语言中的整数类型36
2.3实数的表示38
2.3.1浮点数的表示格式38
2.3.2浮点数的规格化39
2.3.3IEEE 754浮点数标准39
2.3.4C语言中的浮点数类型44
2.4十进制数的表示45
*2.4.1用ASCII码字符表示45
*2.4.2用BCD码表示46
2.5非数值数据的编码表示46
2.5.1逻辑值46
*2.5.2西文字符47
*2.5.3汉字字符48
2.6数据的宽度和存储50
2.6.1数据的宽度和单位50
2.6.2数据的存储和排列顺序51
2.7数据校验码54
2.7.1奇偶校验码55
2.7.2海明校验码56
2.7.3循环冗余校验码60
2.8本章小结62
习题62
第3章运算方法和运算部件66
3.1高级语言和机器指令中的运算66
*3.1.1C程序中涉及的运算66
*3.1.2MIPS指令中涉及的运算69
3.2基本运算部件70
3.2.1串行进位加法器71
3.2.2并行进位加法器72
3.2.3带标志加法器73
3.2.4算术逻辑部件74
3.3定点数运算75
3.3.1补码加减运算75
*3.3.2原码加减运算77
*3.3.3移码加减运算77
3.3.4原码乘法运算78
3.3.5补码乘法运算81
*3.3.6快速乘法器83
3.3.7原码除法运算85
*3.3.8补码除法运算90
3.4浮点数运算93
3.4.1浮点数加减运算93
*3.4.2浮点数乘除运算97
3.5运算部件的组成100
*3.5.1定点运算部件100
*3.5.2浮点运算部件102
3.6本章小结103
习题104
第4章指令系统107
4.1指令格式设计107
4.1.1指令地址码的个数107
4.1.2指令格式设计原则108
4.2指令系统设计108
4.2.1基本设计问题109
4.2.2操作数类型110
4.2.3寻址方式110
4.2.4操作类型112
4.2.5操作码编码114
4.2.6标志信息的生成与使用116
4.2.7指令系统设计风格118
4.3指令系统实例120
*4.3.1IA32指令系统120
*4.3.2ARM指令系统123
4.4程序的机器级表示125
4.4.1MIPS汇编语言和机器语言125
*4.4.2选择结构的机器代码表示129
*4.4.3循环结构的机器代码表示130
*4.4.4过程调用的机器代码表示131
4.5本章小结138
习题139
第5章中央处理器142
5.1CPU概述142
5.1.1指令执行过程142
5.1.2CPU的基本功能和基本组成143
5.1.3数据通路的基本结构144
5.2单周期处理器设计152
5.2.1指令功能的描述153
5.2.2数据通路的设计154
5.2.3控制逻辑单元的设计162
5.2.4时钟周期的确定168
5.3多周期处理器设计169
*5.3.1信号竞争问题169
*5.3.2指令执行状态分析170
*5.3.3硬连线路控制器设计172
5.4微程序控制器设计175
5.4.1微程序控制器的结构175
*5.4.2微命令编码176
*5.4.3微指令地址的确定181
5.5异常和中断处理184
5.5.1基本概念184
5.5.2异常处理过程186
*5.5.3带异常处理的处理器设计187
5.6本章小结189
习题190
第6章指令流水线194
6.1流水线概述194
6.1.1流水线的执行效率194
6.1.2适合流水线的指令集特征195
6.2流水线处理器的实现196
6.2.1每条指令的流水段分析196
6.2.2流水线数据通路的设计197
6.2.3流水线控制器的设计202
6.3流水线冒险及其处理203
6.3.1结构冒险203
6.3.2数据冒险205
6.3.3控制冒险211
6.4高级流水线技术219
*6.4.1静态多发射处理器220
*6.4.2动态多发射处理器223
*6.4.3Pentium 4处理器的流水线结构227
6.5本章小结230
习题232
第7章存储器分层体系结构235
7.1存储器概述235
7.1.1存储器的分类235
7.1.2主存储器的组成和基本操作236
7.1.3存储器的主要性能指标237
7.1.4存储器的层次化结构238
7.2半导体随机存取存储器239
7.2.1基本存储元件239
7.2.2SRAM芯片和DRAM芯片240
7.2.3SDRAM芯片技术244
7.3存储器芯片的扩展及其与CPU的连接245
7.3.1内存条和内存条插槽245
7.3.2存储器芯片的扩展247
7.4半导体只读存储器和Flash存储器248
7.4.1半导体只读存储器248
7.4.2半导体Flash存储器248
7.5并行存储器结构技术250
7.5.1双口存储器250
7.5.2多模块存储器250
7.6高速缓冲存储器252
7.6.1程序访问的局部性253
7.6.2cache的基本工作原理255
7.6.3cache行和主存块之间的映射方式257
7.6.4cache中主存块的替换算法264
7.6.5cache的一致性问题267
*7.6.6cache性能评估268
*7.6.7影响cache性能的因素269
*7.6.8cache 结构举例272
7.7虚拟存储器274
*7.7.1进程与进程的上下文切换274
*7.7.2存储器管理275
7.7.3虚拟地址空间277
7.7.4虚拟存储器的实现279
*7.7.5存储保护286
7.8本章小结287
习题288
第8章互连及输入输出组织294
8.1外部设备的分类与特点294
8.1.1外设的分类294
8.1.2外设的特点295
8.2输入设备和输出设备295
*8.2.1键盘295
*8.2.2鼠标器297
*8.2.3打印机297
*8.2.4显示器299
8.3外部存储设备301
8.3.1磁表面存储原理301
8.3.2硬磁盘存储器303
8.3.3冗余磁盘阵列307
8.3.4U盘和固态硬盘309
8.4外设与CPU、主存的互连310
8.4.1总线概述310
8.4.2基于总线的互连结构312
8.5I/O接口317
8.5.1I/O接口的功能317
8.5.2I/O接口的通用结构317
8.5.3I/O端口及其编址319
8.6I/O数据传送控制方式320
8.6.1程序直接控制I/O方式320
8.6.2程序中断I/O方式323
8.6.3DMA方式 333
8.7I/O子系统概述336
8.8内核空间I/O软件339
8.8.1与设备无关的I/O软件339
8.8.2设备驱动程序341
8.8.3中断服务程序342
8.9本章小结344
习题345
*第9章并行处理系统349
9.1并行处理系统概述349
9.1.1并行处理的主要技术问题349
9.1.2并行处理系统的分类351
9.2多处理器系统353
9.2.1UMA多处理器结构354
9.2.2NUMA多处理器结构356
9.2.3多处理器系统中的互连网络358
9.2.4片级多处理器和多线程技术359
9.3多计算机系统360
9.3.1集群多计算机系统360
9.3.2网格多计算机系统364
9.4向量处理机和SIMD技术364
9.4.1向量处理机364
9.4.2Intel架构中的SIMD技术366
9.4.3GPU架构368
9.5并行处理编程模式简介371
9.6本章小结374
参考文献376
目录计算机组成与系统结构(第2版)2.2整数的表示36
2.2.1无符号整数的表示36
2.2.2带符号整数的表示36
2.2.3C语言中的整数类型36
2.3实数的表示38
2.3.1浮点数的表示格式38
2.3.2浮点数的规格化39
2.3.3IEEE 754浮点数标准39
2.3.4C语言中的浮点数类型44
2.4十进制数的表示45
*2.4.1用ASCII码字符表示45
*2.4.2用BCD码表示46
2.5非数值数据的编码表示46
2.5.1逻辑值46
*2.5.2西文字符47
*2.5.3汉字字符48
2.6数据的宽度和存储50
2.6.1数据的宽度和单位50
2.6.2数据的存储和排列顺序51
2.7数据校验码54
2.7.1奇偶校验码55
2.7.2海明校验码56
2.7.3循环冗余校验码60
2.8本章小结62
习题62
第3章运算方法和运算部件66
3.1高级语言和机器指令中的运算66
*3.1.1C程序中涉及的运算66
*3.1.2MIPS指令中涉及的运算69
3.2基本运算部件70
3.2.1串行进位加法器71
3.2.2并行进位加法器72
3.2.3带标志加法器73
3.2.4算术逻辑部件74
3.3定点数运算75
3.3.1补码加减运算75
*3.3.2原码加减运算77
*3.3.3移码加减运算77
3.3.4原码乘法运算78
3.3.5补码乘法运算81
*3.3.6快速乘法器83
3.3.7原码除法运算86
*3.3.8补码除法运算90
3.4浮点数运算93
3.4.1浮点数加减运算93
*3.4.2浮点数乘除运算97
3.5运算部件的组成100
*3.5.1定点运算部件100
*3.5.2浮点运算部件102
3.6本章小结103
习题103
第4章指令系统107
4.1指令格式设计107
4.1.1指令地址码的个数107
4.1.2指令格式设计原则108
4.2指令系统设计108
4.2.1基本设计问题109
4.2.2操作数类型110
4.2.3寻址方式110
4.2.4操作类型115
4.2.5操作码编码114
4.2.6标志信息的生成与使用116
4.2.7指令系统设计风格118
4.3指令系统实例120
*4.3.1IA32指令系统120
*4.3.2ARM指令系统123
4.4程序的机器级表示125
4.4.1MIPS汇编语言和机器语言125
*4.4.2选择结构的机器代码表示129
*4.4.3循环结构的机器代码表示130
*4.4.4过程调用的机器代码表示131
4.5本章小结138
习题139
第5章中央处理器142
5.1CPU概述142
5.1.1指令执行过程142
5.1.2CPU的基本功能和基本组成143
5.1.3数据通路的基本结构144
5.2单周期处理器设计152
5.2.1指令功能的描述153
5.2.2数据通路的设计154
5.2.3控制逻辑单元的设计162
5.2.4时钟周期的确定168
5.3多周期处理器设计169
*5.3.1信号竞争问题169
*5.3.2指令执行状态分析170
*5.3.3硬连线路控制器设计172
5.4微程序控制器设计175
5.4.1微程序控制器的结构175
*5.4.2微命令编码176
*5.4.3微指令地址的确定181
5.5异常和中断处理184
5.5.1基本概念184
5.5.2异常处理过程186
*5.5.3带异常处理的处理器设计187
5.6本章小结189
习题190
第6章指令流水线194
6.1流水线概述194
6.1.1流水线的执行效率194
6.1.2适合流水线的指令集特征195
6.2流水线处理器的实现196
6.2.1每条指令的流水段分析196
6.2.2流水线数据通路的设计197
6.2.3流水线控制器的设计202
6.3流水线冒险及其处理203
6.3.1结构冒险203
6.3.2数据冒险205
6.3.3控制冒险211
6.4高级流水线技术219
*6.4.1静态多发射处理器220
*6.4.2动态多发射处理器223
*6.4.3Pentium 4处理器的流水线结构227
6.5本章小结230
习题232
第7章存储器分层体系结构235
7.1存储器概述235
7.1.1存储器的分类235
7.1.2主存储器的组成和基本操作236
7.1.3存储器的主要性能指标237
7.1.4存储器的层次化结构238
7.2半导体随机存取存储器239
7.2.1基本存储元件239
7.2.2SRAM芯片和DRAM芯片240
7.2.3SDRAM芯片技术244
7.3存储器芯片的扩展及其与CPU的连接245
7.3.1内存条和内存条插槽245
7.3.2存储器芯片的扩展247
7.4半导体只读存储器和Flash存储器248
7.4.1半导体只读存储器248
7.4.2半导体Flash存储器248
7.5并行存储器结构技术250
7.5.1双口存储器250
7.5.2多模块存储器250
7.6高速缓冲存储器252
7.6.1程序访问的局部性253
7.6.2cache的基本工作原理255
7.6.3cache行和主存块之间的映射方式257
7.6.4cache中主存块的替换算法264
7.6.5cache的一致性问题267
7.6.6cache性能评估268
*7.6.7影响cache性能的因素269
*7.6.8cache 结构举例272
7.7虚拟存储器274
*7.7.1进程与进程的上下文切换274
*7.7.2存储器管理275
7.7.3虚拟地址空间277
7.7.4虚拟存储器的实现279
*7.7.5存储保护285
7.8本章小结287
习题287
第8章互连及输入输出组织293
8.1外部设备的分类与特点293
8.1.1外设的分类293
8.1.2外设的特点294
8.2输入设备和输出设备294
*8.2.1键盘294
*8.2.2鼠标器296
*8.2.3打印机296
*8.2.4显示器298
8.3外部存储设备300
8.3.1磁表面存储原理300
8.3.2硬磁盘存储器302
8.3.3冗余磁盘阵列306
8.3.4U盘和固态硬盘308
8.4外设与CPU、主存的互连309
8.4.1总线概述309
8.4.2基于总线的互连结构311
8.5I/O接口316
8.5.1I/O接口的功能316
8.5.2I/O接口的通用结构316
8.5.3I/O端口及其编址318
8.6I/O数据传送控制方式319
8.6.1程序直接控制I/O方式319
8.6.2程序中断I/O方式322
8.6.3DMA方式 332
8.7I/O子系统概述335
8.8内核空间I/O软件338
8.8.1与设备无关的I/O软件338
8.8.2设备驱动程序340
8.8.3中断服务程序341
8.9本章小结343
习题344
第9章并行处理系统348
9.1并行处理系统概述348
9.1.1并行处理的主要技术问题348
9.1.2并行处理系统的分类350
9.2多处理器系统352
9.2.1UMA多处理器结构353
9.2.2NUMA多处理器结构355
9.2.3多处理器系统中的互连网络357
9.2.4片级多处理器和多线程技术358
9.3多计算机系统359
9.3.1集群多计算机系统359
9.3.2网格多计算机系统363
9.4向量处理机和SIMD技术363
9.4.1向量处理机363
9.4.2Intel架构中的SIMD技术365
9.4.3GPU架构367
9.5并行处理编程模式简介370
9.6本章小结373
参考文献375
第1章计算机系统概述1
1.1计算机的发展历程1
1.1.1通用电子计算机的诞生1
1.1.2第一代计算机2
1.1.3第二代计算机2
1.1.4第三代计算机3
1.1.5第四代计算机3
1.2计算机系统的基本组成4
1.2.1计算机硬件4
1.2.2计算机软件8
1.3计算机系统的层次结构8
1.3.1计算机系统抽象层的转换9
1.3.2计算机系统的不同用户10
1.4程序开发与执行过程11
1.4.1从源程序到可执行程序11
1.4.2可执行文件的启动和执行13
1.4.3程序与指令的关系14
1.4.4指令的执行过程15
1.5计算机系统性能评价16
1.5.1计算机性能的定义17
1.5.2计算机性能的测试17
1.5.3用指令执行速度进行性能评估19
1.5.4用基准程序进行性能评估20
1.6本章小结 21
习题22
第2章数据的机器级表示24
2.1数制和编码24
2.1.1信息的二进制编码24
2.1.2进位记数制26
2.1.3定点与浮点表示30
2.1.4定点数的编码表示30
目录计算机组成与系统结构(第2版)2.2整数的表示35
2.2.1无符号整数的表示35
2.2.2带符号整数的表示35
2.2.3C语言中的整数类型35
2.3实数的表示37
2.3.1浮点数的表示格式37
2.3.2浮点数的规格化38
2.3.3IEEE 754浮点数标准38
2.3.4C语言中的浮点数类型43
2.4十进制数的表示44
2.4.1用ASCII码字符表示44
2.4.2用BCD码表示45
2.5非数值数据的编码表示45
2.5.1逻辑值45
2.5.2西文字符46
2.5.3汉字字符47
2.6数据的宽度和存储49
2.6.1数据的宽度和单位49
2.6.2数据的存储和排列顺序50
2.7数据校验码53
2.7.1奇偶校验码54
2.7.2海明校验码55
2.7.3循环冗余校验码59
2.8本章小结61
习题61
第3章运算方法和运算部件65
3.1高级语言和机器指令中的运算65
3.1.1C程序中涉及的运算65
3.1.2MIPS指令中涉及的运算68
3.2基本运算部件69
3.2.1串行进位加法器70
3.2.2并行进位加法器71
3.2.3带标志加法器72
3.2.4算术逻辑部件73
3.3定点数运算74
3.3.1补码加减运算74
3.3.2原码加减运算76
3.3.4原码乘法运算77
3.3.5补码乘法运算80
3.3.6快速乘法器82
3.3.7原码除法运算85
3.3.8补码除法运算89
3.4浮点数运算92
3.4.1浮点数加减运算92
3.4.2浮点数乘除运算96
3.5运算部件的组成99
3.5.1定点运算部件99
3.5.2浮点运算部件101
3.6本章小结102
习题102
第4章指令系统106
4.1指令格式设计106
4.1.1指令地址码的个数106
4.1.2指令格式设计原则107
4.2指令系统设计107
4.2.1基本设计问题108
4.2.2操作数类型109
4.2.3寻址方式109
4.2.5操作码编码113
4.2.6标志信息的生成与使用115
4.2.7指令系统设计风格117
4.3指令系统实例119
4.3.1IA32指令系统119
4.3.2ARM指令系统122
4.4程序的机器级表示124
4.4.1MIPS汇编语言和机器语言124
4.4.2选择结构的机器代码表示128
4.4.3循环结构的机器代码表示129
4.4.4过程调用的机器代码表示130
4.5本章小结137
习题138
第5章中央处理器141
5.1CPU概述141
5.1.1指令执行过程141
5.1.2CPU的基本功能和基本组成142
5.1.3数据通路的基本结构143
5.2单周期处理器设计151
5.2.1指令功能的描述152
5.2.2数据通路的设计153
5.2.3控制逻辑单元的设计161
5.2.4时钟周期的确定167
5.3多周期处理器设计168
5.3.1信号竞争问题168
5.3.2指令执行状态分析169
5.3.3硬连线路控制器设计171
5.4微程序控制器设计174
5.4.1微程序控制器的结构174
5.4.2微命令编码175
5.4.3微指令地址的确定180
5.5异常和中断处理183
5.5.1基本概念183
5.5.2异常处理过程185
5.5.3带异常处理的处理器设计186
5.6本章小结188
习题189
第6章指令流水线193
6.1流水线概述193
6.1.1流水线的执行效率193
6.1.2适合流水线的指令集特征194
6.2流水线处理器的实现195
6.2.1每条指令的流水段分析195
6.2.2流水线数据通路的设计196
6.2.3流水线控制器的设计201
6.3流水线冒险及其处理202
6.3.1结构冒险202
6.3.2数据冒险204
6.3.3控制冒险210
6.4高级流水线技术218
6.4.1静态多发射处理器219
6.4.2动态多发射处理器222
6.4.3Pentium 4处理器的流水线结构226
6.5本章小结229
习题231
第7章存储器分层体系结构234
7.1存储器概述234
7.1.1存储器的分类234
7.1.2主存储器的组成和基本操作235
7.1.3存储器的主要性能指标236
7.1.4存储器的层次化结构237
7.2半导体随机存取存储器238
7.2.1基本存储元件238
7.2.2静态SRAM芯片和DRAM芯片239
7.2.3SDRAM芯片技术243
7.3存储器芯片的扩展及其与CPU的连接244
7.3.1内存条和内存条插槽244
7.3.2存储器芯片的扩展246
7.4半导体只读存储器和Flash存储器247
7.4.1半导体只读存储器247
7.4.2半导体Flash存储器247
7.5并行存储器结构技术249
7.5.1双口存储器249
7.5.2多模块存储器249
7.6高速缓冲存储器251
7.6.1程序访问的局部性252
7.6.2cache的基本工作原理254
7.6.3cache行和主存块之间的映射方式256
7.6.4cache中主存块的替换算法263
7.6.5cache的一致性问题266
7.6.6cache性能评估267
7.6.7影响cache性能的因素268
7.6.8cache 结构举例271
7.7虚拟存储器273
7.7.1进程与进程的上下文切换273
7.7.2存储器管理274
7.7.3虚拟地址空间276
7.7.4虚拟存储器的实现278
7.7.5存储保护284
7.8本章小结286
习题286
第8章互连及输入输出组织292
8.1外部设备的分类与特点292
8.1.1外设的分类292
8.1.2外设的特点293
8.2输入设备和输出设备293
8.2.1键盘293
8.2.2鼠标器295
8.2.3打印机295
8.2.4显示器297
8.3外部存储设备299
8.3.1磁表面存储原理299
8.3.2硬磁盘存储器301
8.3.3冗余磁盘阵列305
8.3.4U盘和固态硬盘307
8.4外设与CPU、主存的互连308
8.4.1总线概述308
8.4.2基于总线的互连结构310
8.5I/O接口315
8.5.1I/O接口的功能315
8.5.2I/O接口的通用结构315
8.5.3I/O端口及其编址317
8.6I/O数据传送控制方式318
8.6.1程序直接控制I/O方式318
8.6.2程序中断I/O方式321
8.6.3DMA方式 331
8.7I/O子系统概述334
8.8内核空间I/O软件337
8.8.1与设备无关的I/O软件337
8.8.2设备驱动程序339
8.8.3中断服务程序340
8.9本章小结342
习题343
第9章并行处理系统347
9.1并行处理系统概述347
9.1.1并行处理的主要技术问题347
9.1.2并行处理系统的分类349
9.2多处理器系统351
9.2.1UMA多处理器结构352
9.2.2NUMA多处理器结构354
9.2.3多处理器系统中的互连网络356
9.2.4片级多处理器和多线程技术357
9.3多计算机系统358
9.3.1集群多计算机系统358
9.3.2网格多计算机系统362
9.4向量处理机和SIMD技术362
9.4.1向量处理机362
9.4.2Intel架构中的SIMD技术364
9.4.3GPU架构366
9.5并行处理编程模式简介369
9.6本章小结372
参考文献374
第1章计算机系统概述1
1.1计算机系统的基本组成及其层次结构1
1.2计算机硬件的5个功能部件及其功能4
1.3计算机系统主要的技术与性能指标7
1.4计算机的体系结构、组成和实现概述9
1.5计算机发展进步、分类和拓展应用的进程10
本章内容小结和学习方法建议13
习题与思考题14
第2章数字电路基础和常用器件15
2.1数字电路的基本元件15
2.1.1晶体二极管与三极管15
2.1.2应用案例16
2.2数字电路基础及其相关处理方法18
2.2.13种基本逻辑关系18
2.2.2逻辑函数及其描述方法21
2.2.3逻辑函数的特性、规则与应用22
2.3组合逻辑电路及时序逻辑电路23
2.3.1常用逻辑门器件23
2.3.2时序逻辑电路26
2.3.3存储器芯片简介30
2.3.4几个专用功能器件和存储器芯片的引脚图30
2.4现场可编程逻辑器件及其应用31
2.4.1现场可编程器件概述31
2.4.2CPLD和FPGA的编程与应用34
本章内容小结和学习方法建议35
习题与思考题35
第3章数据表示、运算算法和线路实现37
3.1数字化信息编码的概念和二进制编码知识37
3.1.1数字化信息编码的概念37
3.1.2二进制编码和码制转换38
3.1.3检错纠错码44
3.2数据表示48
3.2.1逻辑类型数据的表示48
3.2.2字符类型数据的表示48
3.2.3多媒体信息编码51
3.2.4数值类型数据的表示53
3.3二进制数值数据的编码方案与运算算法58
3.3.1原码、反码、补码的定义58
3.3.2补码加、减运算规则和电路实现62
3.3.3原码一位乘法、除法的实现方案64
3.3.4实现乘法、除法的其他方案69
本章内容小结和学习方法建议74
习题与思考题75
目录计算机组成与体系结构(第2版)第4章运算器部件77
4.1算术逻辑运算单元的功能设计与线路实现77
4.2定点运算器79
4.2.1定点运算器部件的功能、组成与控制概述79
4.2.2运算器芯片Am2901实例与使用80
4.2.3MIPS多指令周期CPU系统的运算器的组成及其功能84
4.2.4简化TEC2000计算机的运算器部件的功能、组成与设计85
4.3浮点运算和浮点运算器91
4.3.1浮点数的运算规则91
4.3.2浮点运算器举例95
本章内容小结和学习方法建议97
习题与思考题98
第5章指令系统和汇编语言程序设计101
5.1指令格式和指令系统概述101
5.1.1指令的定义和指令格式101
5.1.2操作码的组织与编码102
5.1.3操作数的指定与使用103
5.1.4指令的分类104
5.1.5指令周期及其对计算机性能和硬件结构的影响105
5.2基本寻址方式概述107
5.3指令系统举例109
5.3.1Pentium Ⅱ计算机的指令系统110
5.3.2MIPS32计算机的指令系统112
5.3.3PDP11计算机的指令系统113
5.3.4TEC2000 计算机的指令系统115
5.4TEC2000计算机的汇编语言程序设计118
5.4.1汇编语言及其程序设计中的有关概念118
5.4.2教学计算机的汇编程序设计举例120
本章内容小结和学习方法建议125
习题与思考题126
第6章控制器128
6.1控制器的功能与组成概述128
6.2硬连线控制器129
6.2.1硬连线控制器的组成和运行原理简介130
6.2.2MIPS32计算机的控制器简介131
6.2.3TEC2000和THFPGA计算机控制器概述136
6.2.4简化TEC2000的CPU系统的设计146
6.3微程序控制器部件157
6.3.1微程序控制器的基本组成和运行原理157
6.3.2微程序设计中的下地址形成逻辑和微程序设计160
本章内容小结和学习方法建议163
习题与思考题164
第7章多级结构存储器系统和主存储器168
7.1存储器系统概述168
7.1.1存储器分类168
7.1.2存储器系统目标169
7.1.3多级结构存储器系统171
7.2主存储器172
7.2.1主存储器概述172
7.2.2动态存储器的存储原理174
7.2.3静态存储器的存储原理175
7.2.4存储器容量扩展176
7.3教学计算机的主存储器实例178
7.4提高主存储器性能的途径181
本章内容小结和学习方法建议183
习题与思考题183
第8章高速缓冲存储器和虚拟存储器185
8.1高速缓冲存储器185
8.1.1Cache的运行原理185
8.1.2Cache的3种映像方式187
8.1.3Cache实用中的问题189
8.2虚拟存储器部件192
8.2.1虚拟存储器的概念介绍192
8.2.2段式存储管理192
8.2.3页式存储管理193
本章内容小结和学习方法建议195
习题与思考题195
第9章外部存储器设备198
9.1外存设备概述198
9.1.1主要技术指标198
9.1.2磁记录原理与记录方式199
9.2磁盘设备201
9.2.1磁记录介质201
9.2.2磁盘驱动器202
9.2.3磁盘控制器203
9.3磁盘阵列204
9.4光盘设备207
9.4.1只读光盘207
9.4.2可刻光盘208
9.4.3可擦写光盘210
9.4.4DVD210
9.4.5BluRay211
本章内容小结和学习方法建议211
习题与思考题211
第10章输入输出设备212
10.1输入输出设备概述212
10.2常用的输入设备213
10.3常用的输出设备215
10.3.1点阵式输出设备基本原理215
10.3.2显示器的组成和运行原理216
10.3.3打印机的组成和运行原理220
10.3.4计算机终端223
本章内容小结和学习方法建议224
习题与思考题224
第11章输入输出系统225
11.1计算机输入输出系统概述225
11.2计算机总线226
11.2.1总线概述226
11.2.2总线结构228
11.2.3总线宽度229
11.2.4总线时钟230
11.2.5总线仲裁232
11.2.6总线举例234
11.3输入输出接口240
11.3.1输入输出接口的功能240
11.3.2通用可编程接口组成240
11.3.3输入输出接口举例241
11.4输入输出方式244
11.4.1程序直接控制方式244
11.4.2程序中断传送方式244
11.4.3直接存储器访问方式247
11.4.4I/O通道控制方式249
11.4.5外围处理机方式249
本章内容小结和学习方法建议249
习题与思考题250
第12章流水线技术252
12.1流水线的基本概念252
12.1.1流水线的概念252
12.1.2流水线的表示方法254
12.1.3流水线的特点255
12.1.4流水线的分类方法256
12.2流水线的性能指标259
12.2.1流水线的吞吐率259
12.2.2流水线的加速比262
12.2.3流水线的效率262
12.2.4流水线的最佳段数263
12.3DLX指令集与DLX流水线263
12.3.1DLX指令集结构介绍263
12.3.2DLX的一种简单实现268
12.3.3DLX流水线的实现原理270
12.4流水线中的相关问题273
12.4.1结构相关273
12.4.2数据相关275
12.4.3控制相关281
12.5指令级并行技术285
12.5.1基本概念285
12.5.2多指令发射技术286
本章内容小结和学习方法建议289
习题与思考题289
第13章并行计算机体系结构291
13.1并行计算机体系结构概述291
13.1.1计算机体系结构的发展291
13.1.2计算机体系结构的分类292
13.1.3并行计算机体系结构分类294
13.2并行计算机系统的设计问题295
13.2.1并行计算机系统的互联网络295
13.2.2并行计算机系统的性能问题300
13.2.3并行计算机系统的软件问题302
13.3SIMD计算机简介303
13.3.1阵列处理机303
13.3.2向量处理机304
13.4共享内存的多处理机系统306
13.4.1一致性内存访问的UMA多处理机系统307
13.4.2非一致性内存访问的NUMA多处理机系统312
13.4.3基于Cache内存访问的COMA多处理机系统314
13.5基于消息传递的多计算机系统314
13.5.1大规模并行处理机316
13.5.2工作站集群316
本章内容小结和学习方法建议317
习题与思考题318
主要参考书319