图书介绍

64位微处理器系统编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

64位微处理器系统编程
  • 周明德编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302126429
  • 出版时间:2006
  • 标注页数:323页
  • 文件大小:41MB
  • 文件页数:342页
  • 主题词:微处理器-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

64位微处理器系统编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

第1篇 AMDx86-64系统编程1

第1章 AMDx86-64系统编程概要2

1.1 内存模型2

1.1.1 内存寻址2

1.1.2 存储器组织4

1.1.3 规范地址形式4

1.2 存储管理5

1.2.1 段5

1.2.2 分页5

1.2.3 混合分段和分页6

1.2.4 实寻址7

1.3 操作模式8

1.3.1 长模式8

1.3.2 传统模式10

1.3.3 系统管理模式11

1.4 系统寄存器11

1.5 系统数据结构13

1.6 中断14

1.7 附加的系统编程特性15

1.7.1 硬件多任务15

1.7.3 软件调试16

1.7.4 性能监视16

1.7.2 机器检查16

第2章 x86和x86-64体系结构的区别17

2.1 操作模式17

2.1.1 长模式17

2.1.2 传统模式17

2.1.3 系统管理模式18

2.2 存储器模型18

2.2.1 存储器寻址18

2.2.2 页转换18

2.2.3 分段19

2.4.2 128位多媒体寄存器21

2.4.4 指令指针21

2.4.3 标志寄存器21

2.4 寄存器21

2.4.1 通用寄存器21

2.3 保护检查21

2.4.5 堆栈指针22

2.4.6 控制寄存器22

2.4.7 调试寄存器22

2.4.8 扩展的特征寄存器(EFER)22

2.4.9 存储类型范围寄存器(MTRR)22

2.4.10 其他模型特定的寄存器(MSR)22

2.5.4 地址计算23

2.5.2 在64位模式中段超越前缀23

2.5.3 操作数和结果23

2.5.1 REX前缀23

2.5 指令系统23

2.5.5 引用RSP的指令24

2.5.6 分支25

2.5.7 NOP指令26

2.5.8 单字节INC和DEC指令27

2.5.9 MOVSXD指令27

2.5.10 无效指令27

2.5.11 FXSAVE和FXRSTOR指令28

2.6 中断和异常28

2.6.4 IRET指令29

2.6.3 堆栈切换29

2.6.2 推入的堆栈帧29

2.6.1 中断描述符表29

2.6.5 任务特权寄存器(CR8)30

2.6.6 新异常条件30

2.7 硬件任务切换30

2.8 长模式与传统模式的区别30

第3章 系统资源32

3.1 系统控制寄存器32

3.1.1 CR0寄存器33

3.1.2 CR2和CR3寄存器35

3.1.3 CR4寄存器36

3.1.7 RFLAGS寄存器39

3.1.6 CR8(任务特权寄存器,TPR)39

3.1.5 64位模式扩展的控制寄存器39

3.1.4 CR1和CR5~CR7寄存器39

3.1.8 扩展的特征启用寄存器(EFER)42

3.2 模型特定的寄存器43

3.2.1 系统配置寄存器44

3.2.2 系统链接寄存器45

3.2.3 内存类型寄存器45

3.2.4 调试扩展寄存器46

3.2.5 性能监视寄存器46

3.2.6 机器检查寄存器47

3.3 处理器的特征标识47

4.1 实模式分段49

第4章 分段虚拟存储器49

4.2 虚拟8086模式段50

4.3 保护模式分段内存模式50

4.3.1 多段模型50

4.3.2 平面内存模型50

4.3.3 64位模式中的段51

4.4 段数据结构和寄存器51

4.5 段选择子和寄存器52

4.5.1 段选择子52

4.5.2 段寄存器53

4.5.3 64位模式下的段寄存器54

4.6.2 全局描述符表寄存器55

4.6 描述符表55

4.6.1 全局描述符表55

4.6.3 局部描述符表56

4.6.4 局部描述符表寄存器57

4.6.5 中断描述符表58

4.6.6 中断描述符表寄存器59

4.7 传统段描述符59

4.7.1 描述符格式59

4.7.2 码段描述符61

4.7.3 数据段描述符62

4.7.4 系统描述符64

4.7.5 门描述符65

4.8.1 码段描述符66

4.8 长模式段描述符66

4.8.2 数据段描述符67

4.8.3 系统段描述符68

4.8.4 门描述符69

4.8.5 长模式描述符小结71

4.9 段保护概要72

4.9.1 特权级概念73

4.9.2 特权级类型73

4.10 数据访问特权检查74

4.10.1 访问数据段74

4.10.2 访问堆栈段75

4.11.1 直接控制传送76

4.11 控制传送特权检查76

4.11.2 控制传送通过调用门78

4.11.3 返回控制传送83

4.12 界限检查84

4.13 类型检查85

4.13.1 在传统和兼容模式的类型检查85

4.13.2 长模式类型检查的区别86

第5章 页转换和保护88

5.1 页转换概要88

5.1.4 页尺寸扩展(PSE)位90

5.1.3 物理地址扩展(PAE)位90

5.1.2 页转换启用(PG)位90

5.1.1 页转换选项90

5.1.5 页目录91

5.2 传统模式转换91

5.2.1 CR3寄存器92

5.2.2 正常(非PAE)分页92

5.2.3 PAE分页94

5.3 长模式页转换97

5.3.1 规范的地址形式97

5.3.2 CR397

5.3.3 4KB页转换98

5.3.4 2MB页转换99

5.4 页转换表项字段101

5.5 转换查找缓冲器(TLB)104

5.5.1 全局页104

5.5.2 TLB管理105

5.6 页保护检查105

5.6.1 非执行(NX)位105

5.6.2 用户/管理员(U/S)位106

5.6.3 读/写(R/W)位106

5.6.4 写保护(CR0.WP)位106

5.7 跨越分页层次保护106

5.8 段保护的作用108

第6章 系统管理指令109

6.1 快速系统调用和返回指令111

6.1.1 SYSCALL和SYSRET111

6.1.2 SYSENTER和SYSEXIT(只在传统模式)112

6.1.3 SWAPGS指令113

6.2 系统状态和控制113

6.2.1 处理器特征标识符(CPUID)114

6.2.2 访问控制寄存器114

6.2.3 访问RFLAGS寄存器114

6.2.4 访问调试寄存器114

6.3.1 访问段寄存器115

6.3.2 访问描述符表寄存器115

6.2.5 访问模型特定的寄存器115

6.3 段寄存器和描述符寄存器访问115

6.4 保护检查116

6.4.1 检查访问权力116

6.4.2 检查段界限116

6.4.3 检查读/写权力116

6.4.4 调整访问权力116

6.5 处理器暂停117

6.6 缓存和TLB管理117

6.6.1 缓存管理117

6.6.2 TLB无效117

第7章 内存系统118

7.1.2 写顺序120

7.1 内存访问顺序120

7.1.1 读顺序120

7.1.3 读写栅栏121

7.2 内存一致性和协议121

7.3 内存类型124

7.4 缓冲和组合内存写125

7.4.1 写缓冲125

7.4.2 写组合126

7.5 内存检查127

7.5.1 缓存组织和操作127

7.5.2 缓存控制机制128

7.5.3 缓存和内存管理指令130

7.5.4 串行化指令131

7.6.1 MTRR类型字段132

7.6 内存类型范围寄存器132

7.6.2 MTRR133

7.6.3 使用MTRR138

7.6.4 MTRR和页缓存控制138

7.6.5 多处理器环境中的MTRR140

7.7 页属性表机制140

7.7.1 PAT寄存器140

7.7.2 PAT索引141

7.7.3 标识PAT支持142

7.7.4 PAT访问142

7.7.5 MTRR和PAT的组合影响142

7.8.1 扩展的固定范围MTRR类型字段编码143

7.8 内存映射的I/O143

7.8.2 IORR145

7.8.3 IORR的重叠146

7.8.4 内存的顶146

第8章 异常和中断148

8.1 概要148

8.2 通用特性148

8.3 向量150

8.3.1 #DE(被零除差错异常-向量0)152

8.3.2 #DB(调试异步异常-向量1)153

8.3.5 #OF(溢出异常-向量4)154

8.3.4 #BP(断点异常向量3)154

8.3.3 NMI(非屏蔽中断异常-向量2)154

8.3.6 #BR(边界异常-向量5)155

8.3.7 #UD(无效操作码异常-向量6)155

8.3.8 #NM(设备不可用异常-向量7)156

8.3.9 #DF(双故障异常-向量8)156

8.3.10 Coprocessor-Segment-Overrun(协处理器段超越异常-向量9)157

8.3.11 #TS(无效TSS异常-向量10)157

8.3.12 #NP(段不存在异常-向量11)158

8.3.13 #SS(堆栈异常-向量12)159

8.3.14 #GP(通用保护异常-向量13)159

8.3.16 #MF(x87浮点异常挂起-向量16)161

8.3.15 #PF(页故障异常-向量14)161

8.3.17 #AC(对齐检查异常-向量17)162

8.3.18 #MC(机器检查异常-向量18)163

8.3.19 #XF(SIMD浮点异常-向量19)163

8.3.20 用户定义的中断(向量32~255)164

8.4 任务切换期间的异常165

8.5 差错码165

8.5.1 选择子差错码165

8.5.2 页故障差错码166

8.6 优先权166

8.6.1 浮点异常优先权167

8.6.2 外部的中断优先权168

8.7 实模式下的中断控制传送169

8.8 传统保护模式下的中断控制传送170

8.8.1 定位中断处理程序171

8.8.2 中断至相同特权级171

8.8.3 中断至更高特权级172

8.8.4 特权检查173

8.8.5 从中断过程返回175

8.9 虚拟8086模式中断控制传送175

8.9.1 保护模式处理程序控制传送176

8.9.2 虚拟8086处理程序控制传送177

8.10 长模式下的中断控制传送177

8.10.1 中断门和陷阱门178

8.10.2 定位中断处理程序178

8.10.3 中断堆栈179

8.10.4 中断堆栈表180

8.10.5 从中断过程返回181

8.11 虚拟中断182

8.11.1 虚拟8086模式扩展182

8.11.2 保护模式虚拟中断187

8.11.3 修改指令的影响187

第9章 机器检查机制189

9.1 确定机器检查机制189

9.2 机器检查差错189

9.3 机器检查MSR190

9.3.1 全局状态和控制寄存器191

9.3.2 差错报告寄存器体192

9.3.3 差错码193

9.4 初始化机器检查机制195

9.5 使用机器检查特征196

9.5.1 处理机器检查异常196

9.5.2 报告可改正的机器检查差错197

第10章 系统管理模式198

10.1 SMM资源198

10.1.1 SMRAM199

10.1.2 SMBASE寄存器199

10.1.3 SMRAM状态保存区200

10.2.1 系统管理中断(SMI)204

10.2 使用SMM204

10.1.4 SMM版本标识符204

10.2.2 SMM操作环境205

10.2.3 异常和中断205

10.2.4 使缓存无效206

10.2.5 保存附加的处理器状态207

10.2.6 操作在保护模式和长模式207

10.2.7 自动暂停重启动207

10.2.8 I/O指令重启动208

10.3 离开SMM208

第11章 128位、64位和x87编程210

11.1 系统软件考虑的概要210

11.2 确定支持的媒体和x87特征210

11.4 媒体和处理器状态211

11.3 启用128位媒体指令211

11.4.1 128位媒体状态212

11.4.2 64位媒体状态212

11.4.3 x87状态213

11.4.4 保存媒体和x87处理器状态214

第12章 任务管理223

12.1 硬件多任务概要223

12.2 任务管理资源224

12.2.1 TSS选择子225

12.2.2 TSS描述符225

12.2.3 任务寄存器226

12.2.4 传统任务状态段227

12.2.5 任务门描述符(只是传统模式)231

12.3 在传统模式的硬件任务管理232

12.3.1 任务存储映像232

12.3.2 任务切换233

12.3.3 用任务门进行任务切换234

12.3.4 嵌套任务235

第13章 调试和性能资源237

13.1 软件调试资源237

13.2 断点243

13.2.1 设置断点243

13.2.2 使用断点245

13.2.4 控制传送断点特征248

13.2.3 断点指令(INT3)248

13.3 性能优化249

13.3.1 性能计数器249

13.3.2 性能事件选择寄存器250

13.3.3 使用性能计数器251

第14章 处理器初始化和长模式激活253

14.1 复位和初始化253

14.1.1 内置自测试(BIST)253

14.1.2 时钟倍频选择254

14.1.3 处理器初始化状态254

14.2.1 处理器实现信息256

14.2 硬件配置256

14.1.5 取第一条指令256

14.1.4 多处理器初始化256

14.2.2 启用内部缓存257

14.2.3 初始化媒体和x87处理器状态257

14.3 初始化实模式259

14.4 初始化保护模式259

14.5 初始化长模式260

14.6 启用和激活长模式260

14.6.1 激活长模式261

14.6.2 一致性检查262

14.6.3 更新系统描述符表引用262

14.7 离开长模式263

14.8 长模式初始化举例263

14.6.4 重定位页转换表263

第2篇 Intel Itanium系统编程概要267

第1章 Intel Itanium系统环境268

1.1 处理器引导顺序268

1.2 Intel Itanium系统环境概要269

第2章 系统状态和编程模型270

2.1 特权级270

2.2 顺序化270

2.2.1 指令顺序化271

2.2.2 数据顺序化271

2.3.1 系统状态概要272

2.3 系统状态272

2.2.3 正在处理的(in-flight)资源的定义272

2.3.2 处理器状态寄存器(PSR)273

2.3.3 控制寄存器279

2.3.4 全局控制寄存器281

2.3.5 中断控制寄存器284

2.3.6 外部中断控制寄存器289

2.3.7 分体的通用寄存器289

第3章 基于Itanium操作系统与IA-32应用程序交互模型291

3.1 指令集转换291

3.2 系统寄存器模型291

3.3 IA-32系统段寄存器293

3.3.2 IA-32系统EFLAG寄存器295

3.3.1 IA-32当前特权级295

3.3.3 IA-32系统寄存器298

3.4 对于IA-32码的寄存器上下文切换指南302

3.4.1 进入IA-32过程302

3.4.2 退出IA-32过程302

3.5 IA-32指令集行为小结303

3.6 系统内存模型309

3.6.1 虚拟存储器引用310

3.6.2 IA-32虚拟内存引用310

3.6.3 IA-32物理内存引用311

3.6.4 超级用户访问311

3.6.6 原子操作312

3.6.5 内存对齐312

3.7 I/O端口空间模型313

3.7.1 虚拟I/O端口寻址314

3.7.2 物理I/O端口寻址315

3.7.3 IA-32 IN/OUT指令316

3.7.4 由装入和存储指令对I/O端口访问317

3.8 调试模型317

3.8.1 数据断点寄存器匹配318

3.8.2 指令断点寄存器匹配319

3.9 中断模型319

3.9.1 中断小结320

3.9.2 IA-32数字异常模型321

3.10 为支持IA-32应用处理器的总线考虑322

参考文献323

热门推荐