版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-Intel X86 CPU系列的存放器系统软件开发指南系列主要内容n学习存放器知识的意义n32位CPU系统存放器和数据构造n存放器分类引见n通用存放器n标志存放器n控制存放器n调试存放器n中断和异常管理存放器n内存管理存放器n在操作系统上用到的存放器学习存放器知识的意义n掌握系统软件设计n汇编嵌入在C言语中的编写nBoot loader的设计(BSP)n了解Intel CPU的开展趋势n深化了解平台的体系构造n编写更高质量的代码n编译器底层的优化32位CPU系统级存放器和数据构造(1)大家在这张图中大家在这张图中,留意存留意存放器类别之间的关系放器类别之间的关系.12233432位CPU系统
2、级存放器和数据构造(2) 逻辑地址逻辑地址 线性地址线性地址物理地址转换图物理地址转换图页框选择符偏移量CR3描画符表1503100223112 1121段描画符基地址+页目录页表项页内偏移值页目录表页表页目录项页表项物理地址逻辑地址线性地址存放器分类引见(1) -通用存放器AXBXCXDXSPBPSIDI堆栈指针源地址基址指针目的地址指针存放器变址存放器数据存放器通用存放器假设前面带由大写字母E,代表32位存放器存放器分类引见(2)n标志存放器(EFLAGS register) -only onen作用: 控制义务形状和方式切换、中断处置、指令追踪和访问权限控制.存放器中的标志位需求特权指令
3、代码才可以修正(特权指令:运转在内核态下的代码)Figure : System Flags in the EFLAGS Register置标志位的有效位看他详细要做什么,对应的位置置有效的标志位存放器分类引见(3)n控制存放器(CR0, CR1, CR2, CR3, and CR4)n作用:控制存放器决议处置器的操作方式和当前执行义务的一些特征n种类:nCR0: 控制系统的任务方式和处置器的形状nCR1: 保管nCR2 :保管出错的线性地址nCR3:页目录基址的物理地址和PCD和PWT标志位(和CACHE有关)nCR4:一些构造的扩展.阐明对于特定的处置器和操作系统执行支持. 由实方式转换到维
4、护方式、二级页面映射机制的建立、中断处置等等,会用到这些存放器,.存放器分类引见(4)n控制存放器(CR0, CR1, CR2, CR3, and CR4)在这些存放器中, 设置标志位的主要集中在CR0与CR4.存放器分类引见(5)n控制存放器(CR0, CR1, CR2, CR3, and CR4)nCR0nPG:分页有效时,置位为1,清空时为0.与PE一同运用.该指令阐明能否运用页表将线性地址转换成物理地址nCD: cache 缺失设置位nNW:直写无效(直写:高速缓存中的数据一直坚持与主存储器中数据匹配 )nAM: 对齐功能屏蔽(与EFLAGS存放器中 AC标志位一同运用)nWP:写维护
5、nNE: 数字错误标志位(与浮点协处置器共同运用)nET: 扩展类型.设置有效位时,支持 ntel 387 DX 数学协处置器指令.nTS: 每当义务切换时就设置该位,并且在解释协处置器指令之前测试该位nEM;该位阐明能否需求仿真协处置器的功能nMP:协处置器监视标志位nPE: 维护方式使能,当设置有效位,CPU任务在维护方式.反之,实方式.存放器分类引见(6)n控制存放器(CR0, CR1, CR2, CR3, and CR4)nCR3:nPCD:控制当前页目录表的缓冲,当设置清空时,缓冲.置位时,缓冲无效.与CR0中的CD或PG一同运用nPWT:控制cache采取直写还是回写的战略.当设置
6、清空时,回写有效.当置位时,直写有效.nCR4:nVME:虚地址方式.当清空时,无效.nPVI:维护方式虚中断,当清空时,无效nTSD:时间戳允许标志位.当清空时,允许RDTSC指令执行在义务特权级上.当置位时,只允许任务在特权级0.nDE:调试扩展.置位,阐明DR4与DR5将产生没有定义的异常nPSE:当置位,运用4M的页面;清空,运用4K的页面nPAE:置位,运用36物理内存的分页机制.清空时,运用32位分页机制nMCE:置位,运用机器检查异常机制.nPGE:置位,启动全局页面.当写CR3时,也不会被交换.nPCE:置位,阐明使RDPMC指令任务在任何维护级别.nOSFXSR:置位.阐明操
7、作系统支持FXSAVE and FXRSTOR指令nOSXMMEXCPT:置位.阐明操作系统支持不可屏蔽的SIMD浮点异常.存放器分类引见(7)n调试存放器n作用:调试存放器主要作用是调试运用代码、系统代码、开发多义务操作系统.来监视代码的运转和处置器的性能.nDR0-DR3:调试地址存放器nDR4DR5:保管.还没有定义nDR6: 调试形状存放器nDR7: 调试控制存放器在开发底层系统时,会用到这些存放器.存放器分类引见(8)n调试存放器设置标志位集中在DR7存放器分类引见(9)n调试存放器调试存放器nDR0-DR3:保管保管32位断点的线性地址位断点的线性地址.nDR6nB0B3:断点形状
8、的监测断点形状的监测nBD:调试存放器访问监测调试存放器访问监测.置位置位,阐明在指令流中阐明在指令流中,下一条指令将访问其下一条指令将访问其中中n 的一个调试存放器的一个调试存放器nBS:单步执行标志位单步执行标志位nBT:义务转换标志位义务转换标志位nDR7:nL0L3:部分断点使能标志位部分断点使能标志位nG0-G3: 全局断点使能标志位全局断点使能标志位nLE AND GE:置位置位,阐明处置器可以监测导致数据断点的指令阐明处置器可以监测导致数据断点的指令.引荐置引荐置位为位为1.nGD:通用监测使能标志位通用监测使能标志位.阐明能否开启调试存放器维护阐明能否开启调试存放器维护.nLE
9、N0 through LEN3 : 用来阐明相应断点地址存放器内存位置的大用来阐明相应断点地址存放器内存位置的大小小.nR/W0 through R/W3: 相应断点的形状相应断点的形状存放器分类引见(10) -中断和异常管理存放器n中断描画符表(IDT)n中断描画符和每一个中断和异常向量的门描画符有关.而门描画符就是每一个中断或异常处置程序的入口地址.Figure : Relationship of the IDTR and IDTn中断门和圈套门都是间接的指向一个过程,该过程将在当n 前执行义务上下文中执行.门描画符中的段选择符指向n GDT或当前LDT中的一个可执行段的描画符.门描画符的
10、n 偏移字段值指向中断或者异常处置过程的开场处.n中断的执行或者异常处置过程的方式与CALL指令调用过n 程类似.只是在堆栈的运用上略有不同(call调用运用的是CS与IP,还有前往地址;中断需求保管的上下文要多一些).n中断门和圈套门的区别在于对中断允许标志位IF的影响对于中断门,在转移过程中把IF置为0,使得在处置程序执行期间屏蔽掉INTR中断;对于圈套门,在转移过程中坚持IF位不变,即假设IF位原来是1,那么经过圈套门转移四处置程序之后仍允许INTR中断。.存放器分类引见(11) -中断和异常管理存放器存放器分类引见(12) -中断和异常管理存放器nIDT DESCRIPTORSn义务门
11、描画符n中断们描画符n圈套门描画符存放器分类引见(13) -内存管理存放器nGDTR:全局段描画符表存放器nLDTR: 部分段描画符表存放器nIDTR: 中断描画符表存放器,指向中断向量表(前面已讲)nTask register: 义务存放器,指向处置器当前所需当前义务的信息.n全局段描画符表存放器(GDTR)n在Intel X86 CPU系列的寻址方式一讲中,实方式下的段存放器在维护方式下不是传统意义上的代表地址的概念,而变成了指向段描画符的一个索引.因此我们看到的六个存放器都变成了segment selector.存放器分类引见(14) -内存管理存放器Figure1: segment s
12、electorFigure2: segment registers存放器分类引见(15) -内存管理存放器n全局段描画符表存放器(GDTR)BASE Segment base address(段基址)DPL Descriptor privilege level(段描画符特权级)LIMIT Segment Limit (段限)P Segment present (段存在位)存放器分类引见(16) -内存管理存放器n义务管理n系统中,一个义务由两部分组成:义务的运转空间和义务形状段(TSS).义务的运转空间包括一个代码段、一个堆栈段、假设干数据段.TSS指明了义务的运转空间和义务的形状.在多义务系
13、统中,TSS还提供了衔接义务的机制.Figure . Structure of a Task存放器分类引见(17) -内存管理存放器nTSS-义务形状段nTask Staten段存放器:指明了当前义务运转空间 (CS, DS, SS, ES, FS, and GS).n通用存放器的形状n EFLAGS存放器的形状、EIP存放器的形状、CR3存放器的形状、义务存放器的形状、LDTR存放器的形状.nI/O映射基地址和I/O地址 、指向特权0, 1, and 2的堆栈的堆栈指针、指向先前的运转义务. Figure 1: 32-Bit Task-State Segment (TSS)这是一个数据构造,
14、一个义务的一切信息存储在这各字段内.这些字段分为两类:第一: 处置器只读其中信息的静态字段集;第二:每次义务切换时,处置器将会更新的动态字段集.存放器分类引见(19) -内存管理存放器nTSS-义务形状段n我们在上图中看到,TSS是一种特殊的数据构造.提供一种有效的、受维护的多义务机制.nTSS可以出落在线性空间的任何位置,和其它段一样,它是运用段描画符来定义的.访问TSS描画符会导致义务间的切换.我们可以将描画符的DPL字段设置为0(最高优先级).只允答应信任的软件执行义务的切换.TSS的描画符只能放在全局描画符表GDT中.存放器分类引见(20) -内存管理存放器n义务存放器n作用:支持多义务运转n义务描画符n经过指向TSS来确定当前执行的义务.有1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年商业用地租赁权转授权合同
- 2024年学校服装供应合同
- 2024年度工程变更与居间服务合同
- 我们身体课件教学课件
- 2024北京市车指标租赁期间保险服务合同
- 2024年大型活动策划与执行服务合同
- 2024的保安服务委托合同范文
- 2024年度卫星通信服务与租赁合同
- 2024年建筑工程水电施工合同
- 2024年建筑工程施工总包合同精粹
- GB/T 42455.2-2024智慧城市建筑及居住区第2部分:智慧社区评价
- 2024年认证行业法律法规及认证基础知识
- YYT 0653-2017 血液分析仪行业标准
- 刑事受害人授权委托书范本
- 《文明上网健康成长》的主题班会
- 框架结构冬季施工方案
- 手术室各级护士岗位任职资格及职责
- 班组建设实施细则
- 毕业设计(论文)汽车照明系统常见故障诊断与排除
- 人工智能技术在电气自动化控制中的应用分析
- 医疗技术临床应用及新技术新项目管理制度考核试题及答案
评论
0/150
提交评论