首页>参考读物>计算机科学与技术>计算机组织与体系结构

64位微处理器及其编程
作者 : 王占杰
出版日期 : 2005-10-09
ISBN : 7-111-17113-6
定价 : 38.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 343
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

64位微处理器 本书覆盖了计算机体系结构、汇编语言、操作系统和编译技术等课程的内容。重点讨论了64位微处理器的体系结构、64位指令集及编程方法,并论述了有关64位架构的中断、异常及系统性能优化等方面的实现技术,可帮助读者深入理解64位机的工作原理,开发64位操作系统、驱动程序及应用软件。

主要内容:
●详尽描述常用64位指令集及编程方法
●中断与异常处理技术
●机器检验与处理器初始化
●系统管理模式与任务管理
●包含调试与性能优化的技术

图书特色

图书前言

本书是以AMD64有关技术文献和资料为基础编译而成的。在编译过程中,为满足教学的要求,按64位微处理器的结构特点和编程的基本需求进行了组织,集中介绍64位微处理器的新功能、新特点以及64位模式下的编程技术。前两章介绍了AMD64架构的特点,与传统的操作模式进行了比较,描述了寄存器的扩展和新的操作模式。第3章介绍了64位架构的存储模式,第4章至第8章介绍了64位编程模式、64位通用指令和系统指令,并对某些指令的工作过程进行了描述,以便更深入地理解64位微处理器的工作原理。此外,还详细论述了计算机指令集结构设计中的一些问题,包括寻址技术、指令集的功能设计、操作数的类型和大小、指令格式等。第9、10章介绍了64位架构的段式虚拟内存、异常与中断处理的有关知识,以及64位的寻址方式和中断处理方式。第11、12、13章介绍了机器检验、处理器初始化、系统管理模式与任务管理以及系统调试和性能监控等。
  本书对指令分类以及高性能计算方法、向量计算、指令级并行处理进行了讨论,并论述如何利用这些技术开发软件,包括指令调度、分支处理技术和超长指令字技术。本书也论述了高速缓存的基本知识,降低高速缓存失效的方法,减少高速缓存失效开销的方法以及减少命中时间的方法,并对主存和虚拟存储器进行讨论。
  在本书的初期文献翻译工作中,刘艳博、曹江波、金全凯、周小兵、王媛、赵殿奎、肖侯亮、查峰、刘力协、傅一凡、李贤、宋丹、赵丹等计算机网络与控制研究室的全体人员参加了翻译整理工作,在此表示感谢。
  本书由于泽源教授、刘日升教授主审,提出了许多宝贵的修改意见。在本书编写过程中,得到了美国AMD公司和AMD中国分公司苏清新博士以及有关技术人员的大力支持,并得到了软件学院沈宏书教授、电信学院及计算机系领导和师生的多方面帮助,在此一并表示衷心的感谢。
  由于作者水平有限,书中难免有错误和不妥之处,敬请读者批评指正。

王占杰
2005年9月

图书序言

电脑的出现深刻地改变了这个世界,也改变了人们的工作、学习和生活方式。人们对于信息技术不断增长的需求强烈地推动着电脑以更低的价格提供更高的性能。承担这一关键使命的是电脑心脏—微处理器。微处理器技术的不断创新和突破一直是推动信息技术发展的动力和源泉。
  AMD在2003年4月推出了全球第一款兼容32位的64位x86处理器(AMD64),标志着64位计算普及时代的全面到来。使64位技术从高端走向实际应用,从服务器走向台式机和笔记本电脑。Linux和Solaris操作系统成功地支持AMD64计算,支持AMD64技术的64位Windows也已正式推出,64位计算正成为主流的桌面计算技术。
  伴随着AMD64技术应用在我国的迅速普及,广大高校师生和科研工作者迫切需要了解和掌握AMD64技术,以便能充分利用领先的成果进行应用开发和技术创新。大连理工大学的专家们及时地编写了这本AMD64位架构及其编程的教材,相信它会对我国高校的计算机教学、科研和64位应用软件开发以及我国信息技术和产业发展大有帮助。


AMD中国
2005年9月

作者简介

王占杰:暂无

图书目录

第1章  AMD64架构概述 1
1.1  综述 1
1.1.1  AMD64架构的特征 1
1.1.2  AMD64架构指令集的特点 5
1.1.3  REX指令前缀 6
1.2  操作模式 10
1.2.1  长模式 10
1.2.2  传统模式 12
1.2.3  系统管理模式 13
第2章  AMD64架构的特点 15
2.1  模式与模型 15
2.1.1  操作模式 15
2.1.2  存储模型 16
2.2  寄存器及指针 18
2.2.1  寄存器 18
2.2.2  指针 19
2.2.3  控制与调试寄存器 19
2.3  指令集 19
2.3.1  前缀 19
2.3.2  地址计算 20
2.3.3  其他特点 22
2.4  中断与异常 23
2.4.1  中断处理 24
2.4.2  其他特点 25
第3章  存储模式 27
3.1  内存组织结构 27
3.1.1  内存组织 27
3.1.2  虚拟存储器 28
3.1.3  物理存储器 28
3.1.4  地址转换 29
3.2  内存管理 30
3.2.1  分段与分页管理 30
3.2.2  实地址 33
3.2.3  系统数据结构 33
3.3  内存寻址 34
3.3.1  规范地址 35
3.3.2  有效地址 36
3.3.3  指针 38
第4章  编程模式 41
4.1  操作数 41
4.1.1  数据类型 41
4.1.2  数据类型的特性 45
4.1.3  数字编码 49
4.1.4  精度控制与舍入 54
4.1.5  操作数地址 56
4.1.6  数据对齐 57
4.2  指令通用规则 58
4.2.1  操作数大小 58
4.2.2  无效和重新指定的指令 59
4.2.3  默认64位指令 60
4.3  状态保存清除和传递 60
4.3.1  状态保存与恢复 60
4.3.2  状态保存 61
4.3.3  参数传递 61
4.3.4  混合编码 62
4.4  附加系统编程设施 62
4.4.1  硬件多任务处理器 62
4.4.2  机器检查及特征检测 63
第5章  64位指令系统 67
5.1  寄存器 67
5.1.1  通用编程寄存器 67
5.1.2  媒体编程寄存器 77
5.1.3  x87寄存器 79
5.1.4  段数据结构和寄存器 85
5.2  控制转移 88
5.2.1  概述 88
5.2.2  跳转指令 89
5.2.3  程序调用及返回 90
5.2.4  系统调用 92
5.2.5  64位模式下的转移 93
5.2.6  中断和异常 93
5.3  输入输出 96
5.3.1  I/O寻址 96
5.3.2  I/O顺序 96
5.3.3  保护模式I/O 97
5.4  内存优化 97
5.4.1  访问内存 98
5.4.2  强制内存顺序 99
5.4.3  高速缓存 100
5.5  性能 103
5.5.1  性能因素 103
5.5.2  性能 104
第6章  64位指令概述 109
6.1  语法 109
6.2  数据传送 110
6.2.1  数据传送 110
6.2.2  128位媒体数据传送 114
6.2.3  64位数据传送 117
6.3  数据转换 118
6.3.1  数据转换 118
6.3.2  128位数据转换 120
6.3.3  64位数据转换 122
6.4  装载指令 123
6.4.1  装载段寄存器 123
6.4.2  装载有效地址 124
6.4.3  数据传送与转换 124
6.5  算术运算 126
6.5.1  128位算术运算 127
6.5.2  64位算术运算 133
6.5.3  浮点算术运算 136
6.6  位移与比较 138
6.6.1  循环和移位 138
6.6.2  比较和测试 141
6.7  逻辑运算与串操作 147
6.7.1  逻辑运算 147
6.7.2  串操作 148
6.8  控制与恢复 149
6.8.1  控制转移 149
6.8.2  控制指令 152
6.8.3  标志指令 154
6.9  输入/输出 156
6.10  内存管理与系统调用 157
6.10.1  高速缓存和内存管理 157
6.10.2  系统调用 157
6.11  重排序与常量 158
6.11.1  数据重排序 158
6.11.2  常量 163
第7章  通用编程指令 167
ADC 带进位加 167
ADD 带符号加或不带符号加 167
AND 逻辑与 168
BOUND 检查数组界限 169
BT 位测试 169
BTC 位测试并取反 170
CALL(Near)近过程调用 171
CALL(Far)远过程调用 171
CLC 清除进位标志 172
CLD 清除方向标志 173
CMOVcc 条件传送 173
CMP 比较 174
CMPSx 串比较 175
CPUID 处理器识别 176
DEC 减1 180
DIV 无符号数除法 181
ENTER 建立过程堆栈帧 182
IDIV 有符号数除法 182
IMUL 有符号数乘法 183
IN 从端口输入 184
INC 增1 184
INSx 输入字符串 185
INT 中断指令 185
INTO 溢出中断指令 186
Jcc 条件转移指令 187
LEA 装载有效地址 188
LEAVE 释放程序堆栈帧 189
LODSx 装载字符串 189
LOOPcc 循环 190
MOV 传送 191
MOVD 传送双字和四倍字 192
MUL 无符号数乘法 194
NOP 空操作 194
OR 逻辑或 194
OUT 输出到端口 195
OUTSx 输出字符串 196
POP 弹出堆栈 197
PREFETCHx 预取L1数据缓存行 198
PUSH 压入堆栈 198
RCL 带进位的循环左移 199
RCR 带进位的循环右移 200
RET (Near) 从被调用程序近返回 201
RET (Far) 从被调用程序远返回 202
ROL 循环左移 202
ROR 循环右移 203
SAHF AH存入标志寄存器中 204
SAL和SHL 左移 204
SAR 算术右移 205
SBB 借位减 205
SUB 减法指令 206
TEST 位测试 207
XADD 交换相加 208
XCHG 交换 208
XLATx 查表 209
XOR 逻辑异或 209
第8章  系统指令 211
ARPL 调整请求者特权级别 211
CLI 清除中断标志 211
CLTS 清除CR0中的任务切换标志位 212
HLT 暂停指令 212
INT3 中断调试向量 213
LAR 装载访问权限字节 213
LGDT 装载全局描述符表寄存器 214
LIDT 装载中断描述符表寄存器 215
LMSW 装载机器状态字 215
LSL 装载段的界限 216
LTR 装载任务寄存器 216
MOV(CRn)传送控制寄存器 217
MOV(DRn)传送调试寄存器 217
RDMSR 读模式指定寄存器 218
RDPMC 读性能监控计数器 218
SGDT 存储全局描述符表寄存器 219
SIDT 存储中断描述符表寄存器 219
SMSW 存储机器状态字 219
STI 设置中断标志位 219
STR 存储任务寄存器 220
SWAPGS 内核GS基址MSR与GS寄存器交换 221
SYSCALL 快速系统调用 221
SYSENTER 系统调用 223
SYSEXIT 系统返回 223
SYSRET 快速系统返回 224
VERR 检验段可否读 224
VERW 检验段可否写 225
WRMSR 写模式指定寄存器 225
第9章  段式虚拟内存 227
9.1  段模式 227
9.1.1  实模式段 227
9.1.2  虚拟8086模式段 227
9.1.3  保护模式的分段存储模式 228
9.2  描述符 228
9.2.1  传统段描述符 228
9.2.2  长模式段描述符 233
9.3  描述符表 239
9.3.1  全局描述符表 239
9.3.2  局部描述符表 240
9.3.3  中断描述符表 241
9.4  分段管理 242
9.4.1  段保护 242
9.4.2  控制转移特权检查 243
9.4.3  数据访问特权检查 250
9.5  界限检查与类型检查 252
9.5.1  界限检查 252
9.5.2  类型检查 253
第10章  中断与异常 255
10.1  中断 255
10.1.1  一般特征 255
10.1.2  128位媒体异常 257
10.1.3  64位媒体异常 261
10.1.4  x87指令异常 262
10.2  中断向量 266
10.2.1  故障型异常 267
10.2.2  其他型异常 273
10.3  错误码及优先级 275
10.3.1  错误码 275
10.3.2  优先级 276
10.4  中断控制转移 279
10.4.1  实模式下的中断控制转移 279
10.4.2  传统保护模式下的中断控制转移 280
10.4.3  虚拟8086模式下的中断控制转移 283
10.4.4  长模式下的中断控制转移 284
10.5  虚拟中断 288
10.5.1  虚拟8086模式扩展 288
10.5.2  保护模式的虚拟中断 290
第11章  机器检验与处理器初始化 291
11.1  确定机器检验 291
11.1.1  确定机器检验的支持 291
11.1.2  机器检验错误 291
11.1.3  初始化机器检验机制 292
11.2  机器检验MSR 292
11.2.1  全局状态及控制寄存器 293
11.2.2  错误报告 294
11.3  使用机器检验特征 296
11.3.1  处理机器检验异常 297
11.3.2  报告可改正的机器检验错误 298
11.4  处理器复位与初始状态 298
11.4.1  复位状态 299
11.4.2  初始状态 299
11.5  处理器初始化 301
11.5.1  硬件配置 301
11.5.2  模式初始化 302
11.6  启动与退出长模式 304
11.6.1  激活与启动长模式 304
11.6.2  退出长模式 306
11.7  长模式初始化实例 306
第12章  系统管理模式与任务管理 311
12.1  SMM 资源 311
12.1.1  SMRAM 311
12.1.2  SMM修改标识符 315
12.2  使用SMM 316
12.2.1  系统管理中断 316
12.2.2  运行与重启 318
12.2.3  退出SMM 319
12.3  多任务管理 320
12.3.1  任务管理资源 320
12.3.2  任务状态段 323
12.4  硬件任务管理 327
12.4.1  任务内存映射 327
12.4.2  任务切换 327
12.4.3  任务嵌套 330
第13章  调试及性能 331
13.1  软件调试资源 331
13.2  断点 336
13.2.1  设置断点 336
13.2.2  使用断点 337
13.2.3  断点指令 339
13.2.4  控制转移断点的特性 340
13.3  性能优化 341
13.3.1  性能计数器 341
13.3.2  性能事件选择寄存器 341
13.3.3  使用性能计数器 343
13.3.4  时间戳计数器 343

教学资源推荐
作者: 袁春风,余子濠 编著
作者: Linda Null,Julia Lobur
作者: [美]胡文美(Wen-mei W. Hwu)编著
作者: [英]艾伦?克莱门茨(Alan Clements)著
参考读物推荐
作者: 陆平 赵培 左奇 等编著
作者: 邱郁惠
作者: 吴飞青,丁晓,李林功,练斌