没有合适的资源?快使用搜索试试~ 我知道了~
首页IA-32卷3:系统编程指南.pdf
IA-32卷3:系统编程指南.pdf
需积分: 25 157 浏览量
更新于2023-05-30
评论
收藏 1.56MB PDF 举报
IA-32 架构软件开发人员手册 第 3 卷:系统编程指南 (中文版-部分)
资源详情
资源评论
资源推荐

IA-32 架构软件开发人员手册
第 3 卷:系统编程指南
(中文版-部分)


目 录
第 1 章 导 读.............................................................................................................................1
1.1.本手册涵盖的 IA-32 处理器 .............................................................................................1
1.2.《第 3 卷:系统开发指南》简介.....................................................................................1
1.3.《第 1 卷:基础架构》简介.............................................................................................3
1.4.《第 2 卷:指令集参考》简介.........................................................................................5
1.5.符号约定.............................................................................................................................5
1.5.1.位和字节顺序..........................................................................................................6
1.5.2.保留位与软件兼容性..............................................................................................6
1.5.3.指令操作数..............................................................................................................7
1.5.4.十六进制和二进制数..............................................................................................7
1.5.5.分段寻址..................................................................................................................8
1.5.6.异常..........................................................................................................................8
1.6.相关文献.............................................................................................................................8
第 2 章 系统架构概况...................................................................................................................10
2.1.系统级架构概况...............................................................................................................10
2.1.1.全局和局部描述符表............................................................................................11
2.1.2.系统段、段描述符和门........................................................................................12
2.1.3.任务状态段和任务门............................................................................................13
2.1.4.中断和异常处理....................................................................................................13
2.1.5.内存管理................................................................................................................14
2.1.6.系统寄存器............................................................................................................14
2.1.7.其它系统资源........................................................................................................15
2.2.运行模式...........................................................................................................................15
2.3.EFLAGES 寄存器中的系统标志和域 ............................................................................17
2.4.内存管理寄存器...............................................................................................................19
2.4.1.全局描述符表寄存器(GDTR).........................................................................20
2.4.2.局部描述符表寄存器(LDTR)
.........................................................................20
2.4.3.中断描述符表寄存器(IDTR)...........................................................................20
2.4.4.任务寄存器(TR)...............................................................................................21
2.5.控制寄存器.......................................................................................................................21
2.5.1.CPUID 识别控制寄存器标志...............................................................................28
2.6.系统指令汇总...................................................................................................................28
2.6.1 装载和保存系统寄存器........................................................................................30
2.6.2.检查访问特权........................................................................................................31
2.6.3.装载和保存调试寄存器........................................................................................31
2.6.4.使高速缓存和转换后备缓冲区(TLB)失效 ....................................................31
2.6.5.控制处理器............................................................................................................32
2.6.6.读取性能监测和时间戳计数器............................................................................33
2.6.7.读写模型相关寄存器............................................................................................33
第 3 章 保护模式内存管理...........................................................................................................34
3.1.内存管理概述...................................................................................................................34

2
3.2.段的使用...........................................................................................................................36
3.2.1.基本平坦模型........................................................................................................36
3.2.2.保护平坦模型........................................................................................................37
3.2.3.多段模型................................................................................................................37
3.2.4.分页与分段............................................................................................................38
3.3.物理地址空间...................................................................................................................39
3.4.逻辑地址和线性地址.......................................................................................................39
3.4.1.段选择子................................................................................................................40
3.4.2.段寄存器................................................................................................................41
3.4.3.段描述符................................................................................................................42
3.5.系统描述符类型.......................................................................................................47
3.5.1.段描述符表............................................................................................................48
3.6.分页(虚拟内存)概述...................................................................................................50
3.6.1.分页选项................................................................................................................51
3.6.2.页表和页目录表....................................................................................................52
3.7.使用 32 位物理寻址的页变换.........................................................................................53
3.7.1.线性地址转换(4KB 页) ...................................................................................53
3.7.2.线性地址转换(4MB 页)...................................................................................54
3.7.3.混合使用 4KB 和 4MB 页 ....................................................................................55
3.7.4.内存别名................................................................................................................55
3.7.5.页目录表基地址....................................................................................................55
3.7.6.页目录表项和页表项............................................................................................56
3.7.7.不存在的页目录表项和页表项............................................................................60
3.8.使用 PAE 分页机制的 36 位物理寻址............................................................................60
3.8.1.开启 PAE 的线性地址变换(4KB 页) ..............................................................61
3.8.2.开启 PAE 的线性地址变换(2MB 页)..............................................................62
3.8.3.
使用扩展页表结构访问全部扩展物理地址空间 ................................................63
3.8.4.启用扩展寻址的页目录表项和页表项................................................................63
3.9.使用 PSE-36 分页机制的 36 位物理寻址.......................................................................66
3.10.段到页的映射.................................................................................................................67
3.11.转换后备缓冲区(TLB) .............................................................................................69
第 4 章 保 护...........................................................................................................................71
4.1.启用/禁用段保护和页保护..............................................................................................71
4.2.用于段级和页级保护的域和标志...................................................................................72
4.3.界限检验...........................................................................................................................74
4.4 类型检验...........................................................................................................................75
4.4.1.空段选择子的检验................................................................................................77
4.5.特权级...............................................................................................................................77
4.6.访问数据段时的特权级检验...........................................................................................79
4.6.1.访问代码段中的数据............................................................................................81
4.7.装载 SS 寄存器时的特权级检验 ....................................................................................81
4.8.在代码段之间进行程序控制转移时的特权级检验.......................................................81
4.8.1.直接调用或者跳转到代码段................................................................................82
4.8.2.门描述符................................................................................................................84

4.8.3.调用门....................................................................................................................85
4.8.4.通过调用门访问代码段........................................................................................86
4.8.5.栈切换....................................................................................................................89
4.8.6.从被调例程返回....................................................................................................91
4.8.7.使用 SYSENTER 和 SYSEXIT 指令快速调用系统例程 ...................................93
4.9.特权指令...........................................................................................................................94
4.10.指针验证.........................................................................................................................95
4.10.1.检验访问权限(LAR 指令).............................................................................95
4.10.2.检验读写权限(VERR 和 VERW 指令).........................................................96
4.10.3.检验指针偏移是否在段界限内(LSL 指令)..................................................96
4.10.4.检验调用者的访问权限(ARPL 指令)...........................................................97
4.10.5.对齐检验..............................................................................................................99
4.11.页级保护.........................................................................................................................99
4.11.1.页保护标志..........................................................................................................99
4.11.2.限定可寻址区间................................................................................................100
4.11.3.页类型................................................................................................................100
4.11.4.联合使用两级页表的保护................................................................................101
4.11.5.取代页保护........................................................................................................101
4.12.联合使用页保护和段保护...........................................................................................101
第 5 章 中断和异常处理.............................................................................................................103
5.1.中断和异常概述.............................................................................................................103
5.2.异常和中断向量.............................................................................................................104
5.3.中断源.............................................................................................................................105
5.3.1.外部中断..............................................................................................................105
5.3.2.可屏蔽硬件中断..................................................................................................106
5.3.3.软件产生的中断..................................................................................................106
5.4.异常源.............................................................................................................................107
5.4.1.
程序错误异常......................................................................................................107
5.4.2.软件产生的异常..................................................................................................107
5.4.3.机器检测异常......................................................................................................108
5.5.异常分类.........................................................................................................................108
5.6.程序或任务重新开始.....................................................................................................109
5.7.不可屏蔽中断(NMI).................................................................................................110
5.7.1.处理多个 NMI.....................................................................................................110
5.8.打开和关闭中断.............................................................................................................110
5.8.1.屏蔽可屏蔽硬件中断.......................................................................................... 111
5.8.2.屏蔽指令断点......................................................................................................112
5.8.3.栈切换时屏蔽中断和异常..................................................................................112
5.9.并发异常或中断的优先关系.........................................................................................112
5.10.中断描述符表(IDT) ................................................................................................114
5.11.IDT 描述符 ...................................................................................................................115
5.12.异常和中断处理...........................................................................................................115
5.12.1.异常或中断处理例程........................................................................................116
5.12.2.中断任务............................................................................................................119
剩余264页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0