IntelX86CPU系列的寄存器.ppt

上传人:max****ui 文档编号:8297646 上传时间:2020-03-28 格式:PPT 页数:26 大小:286KB
返回 下载 相关 举报
IntelX86CPU系列的寄存器.ppt_第1页
第1页 / 共26页
IntelX86CPU系列的寄存器.ppt_第2页
第2页 / 共26页
IntelX86CPU系列的寄存器.ppt_第3页
第3页 / 共26页
点击查看更多>>
资源描述
IntelX86CPU系列的寄存器 系统软件开发指南系列 主要内容 学习寄存器知识的意义32位CPU系统寄存器和数据结构寄存器分类介绍通用寄存器标志寄存器控制寄存器调试寄存器中断和异常管理寄存器内存管理寄存器在操作系统上用到的寄存器 学习寄存器知识的意义 掌握系统软件设计汇编嵌入在C语言中的编写Bootloader的设计 BSP 理解IntelCPU的发展趋势深刻理解平台的体系结构编写更高质量的代码编译器底层的优化 32位CPU系统级寄存器和数据结构 1 大家在这张图中 注意寄存器类别之间的关系 1 2 2 3 3 4 32位CPU系统级寄存器和数据结构 2 逻辑地址 线性地址 物理地址转换图 页框 逻辑地址 线性地址 寄存器分类介绍 1 通用寄存器 堆栈指针 源地址 基址指针 目的地址 指针寄存器 变址寄存器 数据寄存器 通用寄存器 如果前面带由大写字母E 代表32位寄存器 寄存器分类介绍 2 标志寄存器 EFLAGSregister onlyone作用 控制任务状态和模式切换 中断处理 指令追踪和访问权限控制 寄存器中的标志位需要特权指令代码才可以修改 特权指令 运行在内核态下的代码 Figure SystemFlagsintheEFLAGSRegister 置标志位的有效位看你具体要做什么 对应的位置置有效的标志位 寄存器分类介绍 3 控制寄存器 CR0 CR1 CR2 CR3 andCR4 作用 控制寄存器决定处理器的操作模式和当前执行任务的一些特征种类 CR0 控制系统的工作模式和处理器的状态CR1 保留CR2 保留出错的线性地址CR3 页目录基址的物理地址和PCD和PWT标志位 和CACHE有关 CR4 一些结构的扩展 表明对于特定的处理器和操作系统执行支持 由实模式转换到保护模式 二级页面映射机制的建立 中断处理等等 会用到这些寄存器 寄存器分类介绍 4 控制寄存器 CR0 CR1 CR2 CR3 andCR4 在这些寄存器中 设置标志位的主要集中在CR0与CR4 寄存器分类介绍 5 控制寄存器 CR0 CR1 CR2 CR3 andCR4 CR0PG 分页有效时 置位为1 清空时为0 与PE一同使用 该指令表明是否使用页表将线性地址转换成物理地址CD cache缺失设置位NW 直写无效 直写 高速缓存中的数据始终保持与主存储器中数据匹配 AM 对齐功能屏蔽 与EFLAGS寄存器中AC标志位一同使用 WP 写保护NE 数字错误标志位 与浮点协处理器共同使用 ET 扩展类型 设置有效位时 支持ntel387DX数学协处理器指令 TS 每当任务切换时就设置该位 并且在解释协处理器指令之前测试该位EM 该位表明是否需要仿真协处理器的功能MP 协处理器监视标志位PE 保护模式使能 当设置有效位 CPU工作在保护模式 反之 实模式 寄存器分类介绍 6 控制寄存器 CR0 CR1 CR2 CR3 andCR4 CR3 PCD 控制当前页目录表的缓冲 当设置清空时 缓冲 置位时 缓冲无效 与CR0中的CD或PG一同使用PWT 控制cache采取直写还是回写的策略 当设置清空时 回写有效 当置位时 直写有效 CR4 VME 虚地址模式 当清空时 无效 PVI 保护模式虚中断 当清空时 无效TSD 时间戳允许标志位 当清空时 允许RDTSC指令执行在任务特权级上 当置位时 只允许工作在特权级0 DE 调试扩展 置位 表明DR4与DR5将产生没有定义的异常PSE 当置位 使用4M的页面 清空 使用4K的页面PAE 置位 使用36物理内存的分页机制 清空时 使用32位分页机制MCE 置位 使用机器检查异常机制 PGE 置位 启动全局页面 当写CR3时 也不会被替换 PCE 置位 表明使RDPMC指令工作在任何保护级别 OSFXSR 置位 表明操作系统支持FXSAVEandFXRSTOR指令OSXMMEXCPT 置位 表明操作系统支持不可屏蔽的SIMD浮点异常 寄存器分类介绍 7 调试寄存器作用 调试寄存器主要作用是调试应用代码 系统代码 开发多任务操作系统 来监视代码的运行和处理器的性能 DR0 DR3 调试地址寄存器DR4 DR5 保留 还没有定义DR6 调试状态寄存器DR7 调试控制寄存器 在开发底层系统时 会用到这些寄存器 寄存器分类介绍 8 调试寄存器 设置标志位集中在DR7 寄存器分类介绍 9 调试寄存器DR0 DR3 保留32位断点的线性地址 DR6B0 B3 断点状态的监测BD 调试寄存器访问监测 置位 表明在指令流中 下一条指令将访问其中的一个调试寄存器BS 单步执行标志位BT 任务转换标志位DR7 L0 L3 局部断点使能标志位G0 G3 全局断点使能标志位LEANDGE 置位 表明处理器可以监测导致数据断点的指令 推荐置位为1 GD 通用监测使能标志位 表明是否开启调试寄存器保护 LEN0throughLEN3 用来表明相应断点地址寄存器内存位置的大小 R W0throughR W3 相应断点的状态 寄存器分类介绍 10 中断和异常管理寄存器 中断描述符表 IDT 中断描述符和每一个中断和异常向量的门描述符有关 而门描述符就是每一个中断或异常处理程序的入口地址 Figure RelationshipoftheIDTRandIDT 中断门和陷阱门都是间接的指向一个过程 该过程将在当前执行任务上下文中执行 门描述符中的段选择符指向GDT或当前LDT中的一个可执行段的描述符 门描述符的偏移字段值指向中断或者异常处理过程的开始处 中断的执行或者异常处理过程的方式与CALL指令调用过程相似 只是在堆栈的使用上略有不同 call调用使用的是CS与IP 还有返回地址 中断需要保存的上下文要多一些 中断门和陷阱门的区别在于对中断允许标志位IF的影响 对于中断门 在转移过程中把IF置为0 使得在处理程序执行期间屏蔽掉INTR中断 对于陷阱门 在转移过程中保持IF位不变 即如果IF位原来是1 那么通过陷阱门转移到处理程序之后仍允许INTR中断 寄存器分类介绍 11 中断和异常管理寄存器 寄存器分类介绍 12 中断和异常管理寄存器 IDTDESCRIPTORS任务门描述符中断们描述符陷阱门描述符 寄存器分类介绍 13 内存管理寄存器 GDTR 全局段描述符表寄存器LDTR 局部段描述符表寄存器IDTR 中断描述符表寄存器 指向中断向量表 前面已讲 Taskregister 任务寄存器 指向处理器当前所需当前任务的信息 全局段描述符表寄存器 GDTR 在IntelX86CPU系列的寻址模式一讲中 实模式下的段寄存器在保护模式下不是传统意义上的代表地址的概念 而变成了指向段描述符的一个索引 因此我们看到的六个寄存器都变成了segmentselector 寄存器分类介绍 14 内存管理寄存器 Figure1 segmentselector Figure2 segmentregisters 寄存器分类介绍 15 内存管理寄存器 全局段描述符表寄存器 GDTR BASE Segmentbaseaddress 段基址 DPL Descriptorprivilegelevel 段描述符特权级 LIMIT SegmentLimit 段限 P Segmentpresent 段存在位 寄存器分类介绍 16 内存管理寄存器 任务管理系统中 一个任务由两部分组成 任务的运行空间和任务状态段 TSS 任务的运行空间包括一个代码段 一个堆栈段 若干数据段 TSS指明了任务的运行空间和任务的状态 在多任务系统中 TSS还提供了连接任务的机制 Figure StructureofaTask 寄存器分类介绍 17 内存管理寄存器 TSS 任务状态段TaskState段寄存器 指明了当前任务运行空间 CS DS SS ES FS andGS 通用寄存器的状态EFLAGS寄存器的状态 EIP寄存器的状态 CR3寄存器的状态 任务寄存器的状态 LDTR寄存器的状态 I O映射基地址和I O地址 指向特权0 1 and2的堆栈的堆栈指针 指向先前的运行任务 Figure1 32 BitTask StateSegment TSS 这是一个数据结构 一个任务的所有信息存储在这各字段内 这些字段分为两类 第一 处理器只读其中信息的静态字段集 第二 每次任务切换时 处理器将会更新的动态字段集 寄存器分类介绍 19 内存管理寄存器 TSS 任务状态段我们在上图中看到 TSS是一种特殊的数据结构 提供一种有效的 受保护的多任务机制 TSS可以出落在线性空间的任何位置 和其它段一样 它是使用段描述符来定义的 访问TSS描述符会导致任务间的切换 我们可以将描述符的DPL字段设置为0 最高优先级 只允许可信任的软件执行任务的切换 TSS的描述符只能放在全局描述符表GDT中 寄存器分类介绍 20 内存管理寄存器 任务寄存器作用 支持多任务运行任务描述符通过指向TSS来确定当前执行的任务 有16位可见部分和16位不可见部分 可见部分的选择符用于在GDT表中选择一个TSS描述符 不可见部分来存放描述符中的基地址和段限长值 提供对TSS间接 受保护引用的任务门描述符 这种描述符是在一般段描述符格式的基地址位15 0字段中存放的是一个TSS描述符的选择符 在操作系统上用到的寄存器 举一些例子 从实模式到保护模式的转换 CR0 二级页式内存管理 CR3 CR4 中断处理 IDT IDTdescriptor 任务调度 TSS
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!