安腾体系结构-理解64位处理和EPIC原理

编辑:吞吐网互动百科 时间:2020-06-04 23:16:25
编辑 锁定
本词条缺少信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
《安腾体系结构-理解64位处理和EPIC原理》是2004年清华大学出版社出版的图书,作者是James S.Evans等。
安腾体系结构-理解64位处理和EPIC原理[1] 
作者:James S.Evans等著、蒋敬旗等译
图书详细信息:
  ISBN:9787302096085
  定价:49.8元
  印次:1-1
  装帧:平装
  印刷日期:2004-12-6

安腾体系结构-理解64位处理和EPIC原理图书简介:

编辑
本书全面介绍了新型的64拉安腾体系结构及其具有突破性的性能。通过使用标准命令行工具和大量实例,循序渐进地介绍了安腾汇编语言,并结合当代计算机体系结构的发展,详细阐述了安腾体系结构设计。
  本书每章都包括翔实的数字、论述以及编程练习,并且提供了大量的参考文献和丰富的网上资源。本书可作为计算机及相关专业学生学习计算机体系结构或汇编语言的教材,也是研究人员系统了解安腾体系结构的必备资源。

安腾体系结构-理解64位处理和EPIC原理目录:

编辑
第1章体系结构和实现方法1
1.1类比:钢琴的体系结构1
1.2计算机语言的类型2
1.3为什么要学习汇编语言3
1.4二进制倍数的词头4
1.5指令集体系结构4
1.6计算机体系结构的生命周期5
1.6.132位Intel体系结构及其先前结构5
1.6.2AlphaTM体系结构及其先前结构6
1.6.3安腾体系结构及其先前结构7
1.6.4体系结构和实现方法的命名8
1.7SQUARES:第一个编程实例9
1.7.1C、FORTRAN和COBOL语言描述9
1.7.2安腾体系结构的汇编语言描述11
1.8记数系统的回顾13
1.8.1位置系数和权值13
1.8.2二进制和十六进制表示14
1.8.3带符号整数15
本章总结16
参考文献16
练习题18
第2章计算机结构和数据表示20
2.1计算机结构20
2.1.1中央处理器21
2.1.2存储器21
2.1.3输入输出系统23
2.2指令的执行24
2.3指令集体系结构的类别25
2.4向64位体系结构过渡26
2.5安腾体系结构的信息单位和数据类型28
2.5.1整数29
2.5.2浮点数29
2.5.3字母数字字符32
本章总结35
参考文献35
练习题36
第3章汇编程序和调试程序38
3.1编程环境38
3.2程序开发步骤39
3.3比较源文件的不同41
3.4汇编语句的类型42
3.4.1语句格式42
3.4.2符号地址43
3.4.3汇编语言操作符的种类43
3.5符号汇编程序的功能44
3.5.1常量44
3.5.2符号或标识符45
3.5.3存储器分配45
3.5.4单元计数器47
3.5.5表达式48
3.5.6控制语句49
3.5.7清单文件的组成部分49
3.6汇编过程51
3.7连接过程52
3.8调试程序55
3.8.1调试程序的功能55
3.8.2使用gdb(Linux和HPUX)运行SQUARES56
3.8.3使用adb(HPUX)运行SQUARES57
3.8.4调试命令举例58
3.9编写程序的约定61
本章总结62
参考文献62
练习题63
第4章安腾指令格式和寻址方式65
4.1安腾指令格式概述66
4.1.1指令包66
4.1.2指令位字段格式67
4.1.3安腾指令类型67
4.2整数算术指令69
4.2.1加法和减法69
4.2.2算术溢出70
4.2.3左移相加指令71
4.2.4算术操作的特殊情况71
4.2.516位带符号整数的乘法72
4.2.6全宽度的乘法和除法73
4.3安腾指令的位编码73
4.4HEXNUM:使用算术指令76
4.5数据存取指令78
4.5.1安腾高速缓存结构78
4.5.2整型存储指令80
4.5.3整型装入指令80
4.5.4长立即数传送指令81
4.5.5存取简单的记录结构82
4.5.6存取专用CPU寄存器83
4.6其他ALU指令84
4.6.1符号扩展指令84
4.6.2零扩展指令85
4.6.3宽度小于64位的指令85
4.7DOTPROD:使用数据存取指令85
4.8安腾寻址方式88
4.8.1立即寻址88
4.8.2寄存器直接寻址88
4.8.3寄存器间接寻址88
4.8.4自动增量寻址89
4.8.5安腾寻址方式小结89
4.8.6前面程序中的寻址细节89
4.9其他体系结构中的寻址94
4.9.1基于寄存器间接寻址的方式94
4.9.2基于偏移寻址的方式94
4.9.3体系结构寻址方式的比较95
本章总结96
参考文献96
练习题96
第5章比较、转移和判断99
5.1控制流的硬件基础99
5.1.1条件码100
5.1.2状态管理方法100
5.1.3谓词寄存器101
5.2整数比较指令102
5.2.1带符号比较和等式102
5.2.2无符号比较103
5.3程序转移104
5.3.1普通转移指令104
5.3.2转移的时间考虑105
5.3.3if…then…else结构106
5.3.4循环结构108
5.3.5转移的寻址范围109
5.3.6局部性和程序性能109
5.4DOTLOOP:使用计数循环110
5.5暂停、指令组和性能111
5.5.1DOTLOOP中的暂停和分组111
5.5.2数据相关性的简化规则113
5.5.3安腾汇编程序处理暂停的方法115
5.5.4循环的局部标号115
5.5.5循环、转移和整体性能115
5.6DOTCLOOP:使用循环计数寄存器115
5.7其他结构化程序设计成分117
5.7.1无条件比较指令118
5.7.2嵌套的if…then…else结构118
5.7.3多路转移119
5.7.4简单的分情况结构120
5.8MAXIMUM:使用条件指令122
本章总结123
参考文献124
练习题124
第6章逻辑操作、移位操作和字节操作126
6.1逻辑函数126
6.1.1两个变量的布尔函数126
6.1.2逻辑指令128
6.1.3逻辑函数的应用128
6.1.4一位测试指令129
6.1.5并行(逻辑)条件130
6.1.6加法的逻辑基础131
6.2HEXNUM2:使用逻辑掩码132
6.3位操作和字段操作134
6.3.1移位指令134
6.3.2移位操作的应用135
6.3.3右移对指令135
6.3.4提取指令和存放指令135
6.4SCANTEXT:处理字节137
6.5整数乘法和除法138
6.5.1乘法的Booth算法138
6.5.2无符号乘法141
6.5.3使用已知倒数的除法141
6.6DECNUM:将整数转换成十进制格式143
6.7使用C语言进行ASCII输入和输出145
6.7.1GETPUT:封装C函数146
6.7.2IO_C:一个简单的测试程序146
6.7.3其他概念148
6.8BACKWARD:使用字节操作148
本章总结151
参考文献151
练习题152
第7章子例程、过程和函数155
7.1存储器栈155
7.1.1CISC体系结构的栈寻址155
7.1.2装入/存储体系结构的栈寻址156
7.1.3安腾体系结构的栈寻址156
7.1.4用户定义的栈158
7.2DECNUM2:使用栈操作159
7.3寄存器栈161
7.3.1SPARC寄存器窗162
7.3.2安腾寄存器栈163
7.3.3alloc指令163
7.3.4寄存器栈引擎(RSE)164
7.3.5存储体寄存器164
7.4程序分段165
7.4.1源级模块性165
7.4.2传统子例程166
7.4.3协同例程166
7.4.4过程和函数167
7.4.5共享库函数167
7.5调用约定167
7.5.1寄存器竞争和使用约定168
7.5.2调用和返回转移指令168
7.5.3变元传送:位置171
7.5.4变元传送:方法172
7.5.5开始部分和结束部分172
7.5.6.regstk命令176
7.6DECNUM3和BOOTH:建立一个函数176
7.6.1定义接口176
7.6.2BOOTH:可调用的函数177
7.6.3DECNUM3:测试程序178
7.6.4位置独立的代码180
7.7整数商和余数181
7.7.1高级语言使用的例程181
7.7.2Intel公司的开放源例程182
7.8RANDOM:一个可调用的函数182
7.8.1选择一个算法183
7.8.2RANDOM:函数的开发183
7.8.3高级语言调用程序186
本章总结187
参考文献188
练习题189
第8章浮点操作191
8.1整数指令和浮点指令之间的并行性191
8.2浮点值的表示192
8.2.1IEEE特殊值192
8.2.2安腾浮点寄存器中的值193
8.3复制浮点数据194
8.3.1浮点存储指令194
8.3.2浮点装入指令195
8.3.3浮点装入对指令196
8.3.4用于寄存器寄存器复制的浮点伪指令197
8.3.5浮点合并指令198
8.4浮点算术指令198
8.4.1加法、减法和乘法198
8.4.2熔丝型乘加和乘减指令199
8.4.3规范化为另一个特例200
8.4.4最大值和最小值操作200
8.4.5舍入、异常和浮点控制200
8.5HORNER:计算一个多项式201
8.6基于浮点值的判断203
8.6.1浮点比较指令204
8.6.2浮点类指令204
8.7浮点执行部件中的整数操作205
8.7.1数据转换指令206
8.7.2整数乘法指令208
8.7.3乘法策略209
8.7.4浮点逻辑指令209
8.8倒数和平方根的近似209
8.8.1浮点倒数的近似210
8.8.2倒数平方根的近似211
8.8.3浮点除法211
8.8.4Intel公司的开放源例程212
8.9APPROXPI:使用浮点指令212
本章总结216
参考文献216
练习题217
第9章文本的输入和输出219
9.1文件系统220
9.1.1UnixI/O软件220
9.1.2LinuxI/O软件221
9.2键盘和显示器I/O221
9.2.1未格式化的I/O行221
9.2.2格式化的I/O222
9.3SCANTERM:使用C的标准I/O223
9.4SORTSTR:排序串226
9.5文本文件I/O230
9.5.1目录级的访问230
9.5.2未格式化的I/O行231
9.5.3格式化的I/O232
9.6SCANFILE:文件的输入输出232
9.7SORTINT:对文件中的整数进行排序236
9.8二进制文件240
本章总结241
参考文献241
练习题241
第10章性能考虑244
10.1处理器级的并行性244
10.1.1简化的指令流水线244
10.1.2超标量流水线245
10.1.3安腾2处理器流水线246
10.1.4流水线冒险247
10.2指令级并行性249
10.2.1RISC方法249
10.2.2VLIW思想250
10.2.3EPIC:体系结构发展的一个方向250
10.3安腾处理器中的显式并行性250
10.3.1指令模板251
10.3.2数据相关和猜测254
10.3.3控制相关和猜测257
10.3.4组合的控制和数据猜测258
10.4软件流水线循环258
10.4.1传统的循环展开259
10.4.2软件流水线259
10.4.3循环式寄存器260
10.4.4循环阶段260
10.4.5软件流水线的转移指令261
10.5按模调度一个循环262
10.5.1DOTCTOP:独立实现的调度262
10.5.2DOTCTOP2:安腾2处理器的调度266
10.5.3进一步的考虑267
10.6程序优化因素269
10.6.1指令宽度269
10.6.2寻址方式270
10.6.3指令能力270
10.6.4程序长度270
10.6.5将数据预取到高速缓存中271
10.6.6直接插入式函数的使用271
10.6.7指令重新排序271
10.6.8递归及相关因素272
10.7斐波纳契数272
10.7.1FIB1:使用递归的函数273
10.7.2FIB2:无递归的函数275
10.7.3FIB3:使用寄存器栈的函数275
10.7.4TESTFIB:显示递归的开销276
本章总结278
参考文献278
练习题279
第11章查看编译程序的输出281
11.1类RISC系统的编译程序281
11.1.1开放源码编译程序的优化级别282
11.1.2Intel编译程序的优化级别283
11.1.3HPUX编译程序的优化级别284
11.1.4附加的优化可能性284
11.2编译一个简单程序285
11.2.1比较gcc和ecc(Linux)的输出286
11.2.2比较gcc和g77(Linux)的输出289
11.2.3比较cc_bundled和f90(HPUX)的输出292
11.3优化一个简单程序295
11.3.1比较g77(Linux)的-O1级别和-O2级别的输出296
11.3.2编译程序信息298
11.3.3f90(HPUX)的循环的长度和优化299
11.4直接插入式优化304
11.5剖面制导的优化或其他优化306
11.6调试经过优化的程序306
11.7重访斐波纳契数的递归307
本章总结309
参考文献310
练习题311
第12章并行操作313
12.1计算系统的分类313
12.2整数并行操作315
12.3整数乘法的应用316
12.3.1源操作数32×32位得到32位无符号乘积316
12.3.2源操作数32×32位得到64位无符号数317
12.4机遇和挑战319
12.5浮点并行操作319
12.6支持并行处理的信号量320
12.6.1先前的体系结构321
12.6.2安腾体系结构321
本章总结324
参考文献324
练习题325
第13章实现方法的变异326
13.1为什么改变实现方法327
13.1.1需求和机遇327
13.1.2摩尔定律的含义327
13.1.3期望体系结构具有较长的生命周期328
13.2如何改变实现方法328
13.3最初的安腾处理器329
13.3.1与安腾2处理器的对比329
13.3.2高速缓存的层次结构330
13.3.3执行部件和发射端口331
13.3.4流水线331
13.3.5等待因子332
13.3.6转移预测332
13.3.7其他区别和特征334
13.4软件的主要作用334
13.4.1新的体系结构335
13.4.2新的实现方法335
13.4.3新的指令或者更多的寄存器336
13.5IA32指令集模式337
13.6确定扩展和实现方案337
本章总结338
参考文献338
练习题340
附录A命令行环境341
参考文献344
练习题344
附录B推荐的系统资源345
B.1系统硬件345
B.1.1安腾工作站或服务器345
B.1.2IA32 Linux系统上的Ski模拟器345
B.1.3Linux虚拟机上的Ski模拟器346
B.1.4其他模拟器346
B.2系统软件347
B.2.1Linux347
B.2.2HPUX347
B.2.3Ski模拟器348
B.2.464位Windows350
B.2.5FreeBSD350
B.2.6OpenVMS351
B.3桌面客户访问软件351
B.3.1Linux个人计算机351
B.3.2Macintosh个人计算机351
B.3.3Windows个人计算机352
参考文献353
附录C安腾指令集354
表C1按功能排列的安腾指令354
表C2按汇编程序操作码排列的安腾指令360
参考文献366
附录D安腾寄存器及其用途367
D.1指令指示字367
D.2通用寄存器和NaT位367
D.3谓词寄存器369
D.4转移寄存器369
D.5浮点寄存器370
D.6应用寄存器370
D.7状态管理寄存器372
D.8系统信息寄存器373
D.9系统控制寄存器373
参考文献374
附录E条件汇编和宏(GCC汇编程序)375
E.1显式停止的干扰375
E.2重复块376
E.2.1简单重复块376
E.2.2使用.irp命令的不定重复块377
E.2.3使用.irpc命令的不定重复块378
E.3条件汇编379
E.4宏的处理380
E.4.1宏的定义381
E.4.2宏的调用381
E.4.3定位参数的处理383
E.4.4默认值和关键词参数的处理383
E.4.5串参数的处理384
E.5宏标号的使用384
E.6递归宏385
E.7目标文件段386
E.8MONEY:用于说明段的宏387
本章总结389
参考文献390
练习题390
附录F直接插入式汇编392
F.1HPUX的C编译程序392
F.2用于Linux 的GCC 编译程序394
F.3Intel的Linux编译程序395
参考文献395
参考文献汇总396
部分练习题答案及提示403
术语表410
参考资料
词条标签:
文化 出版物