3高级计算机体系结构Intel86体系结构2ppt课件_第1页
3高级计算机体系结构Intel86体系结构2ppt课件_第2页
3高级计算机体系结构Intel86体系结构2ppt课件_第3页
3高级计算机体系结构Intel86体系结构2ppt课件_第4页
3高级计算机体系结构Intel86体系结构2ppt课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、保护模式下寻址过程示意图保护模式下寻址过程示意图: 选择子选择子 偏移量偏移量15 0 15 0+段基地址段基地址23 0描述子表基地址寄存器描述子表基地址寄存器存贮器存贮器被访单元被访单元描述子表描述子表.描述子描述子描述子描述子描述子描述子.虚地址虚地址(选择子选择子, 偏移量偏移量)高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 3、描述子和选择子、描述子和选择子 (1) 数据数据/代码段描述子代码段描述子 描述子是一个数据结构描述子是一个数据结构, 用于描述所对应的用于描述所对应的(或所描述的或所描述的)那个存储段的

2、访问属性。那个存储段的访问属性。访问属性主要包括访问属性主要包括:一个存储段可以被哪一特权级的任务访问一个存储段可以被哪一特权级的任务访问该段的大小该段的大小该段的读写该段的读写/可执行权限可执行权限该段的基地址该段的基地址高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 Intel 公司保留公司保留P DPL S TYPE A BASE2316 BASE150 Limit (段限段限)6420753115 0数据数据/代码段描述子的结构代码段描述子的结构 BASE2316 BASE150 : Limit (段限段限):描述子

3、所描述的那个段的段基地址描述子所描述的那个段的段基地址该段的最后一个字节的偏移量该段的最后一个字节的偏移量, 指明该段的大小。指明该段的大小。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 A: 所描述的段是否被访问所描述的段是否被访问 该位与时钟相结该位与时钟相结合合, 可进行段淘汰可进行段淘汰该段已被访问过该段已被访问过, 那么那么 A 1该段未被访问过该段未被访问过, 那么那么 A 0 S: 描述子类型描述子类型 0 系统描述子系统描述子(如门描述子如门描述子/任务状态段描述子任务状态段描述子)1 数据代码段描述子数据

4、代码段描述子 Intel 公司保留公司保留P DPL S TYPE A BASE2316 BASE150 Limit (段限段限)6420753115 0高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 TYPE: 由三位构成由三位构成, 即数据段即数据段(E, ED, W) 或或代码段代码段(E, C, R)。 P: 0 该描述子所描述的段不在物理空间该描述子所描述的段不在物理空间1 该描述子所描述的段在物理空间该描述子所描述的段在物理空间 DPL: 规定可以访问该描述子所描述的那个段的规定可以访问该描述子所描述的那个段的任

5、务的最低特权级。任务的最低特权级。 Intel 公司保留公司保留P DPL S TYPE A BASE2316 BASE150 Limit (段限段限)6420753115 0高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 若该段为代码段若该段为代码段, 那么那么 E=1 CR0 非一致性代码段非一致性代码段 访问和被访问代码段特权级相同访问和被访问代码段特权级相同1 一致性代码段一致性代码段 访问和被访问代码段特权级可以不同访问和被访问代码段特权级可以不同0 代码段只能执行代码段只能执行, 不能读不能读1 代码段可以执行代

6、码段可以执行, 也可以读也可以读E=1 若该段为数据段,那么若该段为数据段,那么 E=0 ED0: 段向上生长段向上生长, 则要求偏移量则要求偏移量 段限段限1: 段向下生长段向下生长, 则要偏移量则要偏移量 段限段限W0: 数据段只能读数据段只能读, 不能写不能写1: 数据段可读、可写数据段可读、可写E=0 高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286根据描述子中的内容和定义根据描述子中的内容和定义, 将保护模式下的将保护模式下的寻址过程描述为寻址过程描述为: 得到描述子得到描述子 由程序给出由程序给出访问描述子表访问描

7、述子表 特权级检查特权级检查 段限检查段限检查 读写读写/执行权限检查执行权限检查 提供目标段基地址提供目标段基地址虚地址虚地址(选择子选择子, 偏移量偏移量 )物理地址物理地址高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286系统提供三个寄存器存放描述子表的基地址系统提供三个寄存器存放描述子表的基地址, 称为描述子表基地址寄存器称为描述子表基地址寄存器, 分别为分别为: LDTR23 0 GDTR23 0 IDTR23 0局部描述子表基地址寄存器局部描述子表基地址寄存器全局描述子表基地址寄存器全局描述子表基地址寄存器中断描述子

8、表基地址寄存器中断描述子表基地址寄存器程序如何访问描述子程序如何访问描述子? (描述子的地址在哪里描述子的地址在哪里?)高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 选择子选择子 指明使用该选择子的任务的特权级指明使用该选择子的任务的特权级 指明所要访问的描述子在描述子表中的偏移量指明所要访问的描述子在描述子表中的偏移量 指明访问全局描述子表还是访问局部描述子指明访问全局描述子表还是访问局部描述子 偏偏 移移 量量 TI RPL15 3 2 1 0 RPL: 请求特权级请求特权级, 用以表示使用该选择子用以表示使用该选择子

9、的任务的特权级的任务的特权级当前运行的任务的特权级称为当前特权级当前运行的任务的特权级称为当前特权级CPL。一般有一般有: RPL= CPL高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 TI: 区分访问全局描述子还是局部描述子区分访问全局描述子还是局部描述子: 1 访问局部描述子访问局部描述子 TI=0 访问全局描述子访问全局描述子 偏移量偏移量D15D3:所要访问的描述子在描述子表中的偏移量所要访问的描述子在描述子表中的偏移量(以以描述子表基地址寄存器的内容为基地址描述子表基地址寄存器的内容为基地址)。高级计算机系统结构

10、高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 偏偏 移移 量量 TI RPL15 3 2 1 0偏移量偏移量(13位位)低位补低位补3个个0形成形成16位偏移量位偏移量描述子表基地址寄存器描述子表基地址寄存器描述子描述子描述子描述子描述子描述子.描述子描述子描述子表描述子表 某一任务某一任务 . 描述子表描述子表 描述子描述子 选择子选择子 段偏移量段偏移量段基地址段基地址段偏移量段偏移量某一存储段某一存储段. LDTR高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286描述子

11、和选择子的引出描述子和选择子的引出, 可将保护模式下存储段的访可将保护模式下存储段的访问过程描述如下问过程描述如下: 一个描述子对应一个存储段一个描述子对应一个存储段, 段的最大空间段的最大空间64K, 因此可访问的最大存储空间因此可访问的最大存储空间(虚地址空虚地址空间间)为为: 虚存空间的计算虚存空间的计算 可以访问的描述子的数量为可以访问的描述子的数量为213=8K (个描个描述子述子) TI位区分了全局描述子或局部描述子位区分了全局描述子或局部描述子, 因此因此可以访问的描述子的总数为可以访问的描述子的总数为: 2 8K=16K (=214个个)16K64K=1000M高级计算机系统结

12、构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 加快访问速度加快访问速度选择子选择子CSDSSSES15 0访问权限访问权限 段基地址段基地址BASE 段限段限Limit47 40 39 16 15 0隐隐Cache隐隐Cache的内容随着段寄存器的修改而被重新装入的内容随着段寄存器的修改而被重新装入,这种装入操作对程序员透明。这种装入操作对程序员透明。 高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 关于关于“数据数据/ /代码段描述子寻址过程例代码段描述子寻址过程例假

13、设一个假设一个32位的虚地址位的虚地址: 005E 0100 选择子选择子 偏移量偏移量选择子选择子 005E=0 0 0 0 0 0 0 0 0 1 0 1 1 1 10 TI=1, 访问访问局部描述子局部描述子RPL=2低位补低位补3个个0, 为为0058H,作为访问作为访问LDT的偏移量的偏移量为什么低位补为什么低位补3个个0?每个描述子为每个描述子为8个字节个字节, 意味着选择子中的偏移量每意味着选择子中的偏移量每增减一个单位增减一个单位, 应指向另一个描述子应指向另一个描述子(偏移偏移8个字节个字节), 因此偏移量的因此偏移量的D2D1D0保持为保持为0, 增减一个单位均在增减一个单

14、位均在D3上进行上进行, 以保证偏移以保证偏移8字节。字节。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286假设假设 LDTR=100000H第一步第一步:第二步第二步:将描述子表基地址将描述子表基地址LDTR+选择子偏移量选择子偏移量 =100000H+0058H=100058H由物理地址由物理地址100058H访问并得到相应的描述子访问并得到相应的描述子, 检查对该描述子访问的合法性检查对该描述子访问的合法性(比较比较CPL和和DPL), 假设假设DPL=3, 则则CPL=RPL=2DPL(数值数值上上), 访问是合法的。

15、访问是合法的。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286第三步第三步: 第四步第四步: 由描述子中的访问权字段由描述子中的访问权字段(TYPE)检查本次访问检查本次访问的访问权限的访问权限, 假设通过检查假设通过检查, 将虚地址中的偏移将虚地址中的偏移量量(即即0100H)与描述子中的段限与描述子中的段限Limit进行比较进行比较, 以确定访问是否越界以确定访问是否越界, 假设描述子中给出的段基假设描述子中给出的段基地址位地址位046000H, Limit=2000H, 有偏移量有偏移量0100段限段限2000H, 未越

16、界。未越界。 形成物理地址形成物理地址046000+0100=046100H, 以此访问以此访问存储单元的物理地址存储单元的物理地址, 得到所需要的数据。得到所需要的数据。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286(2) 系统描述子之一系统描述子之一: 门描述子门描述子 用途用途 用于代码段之间的转移控制和保护用于代码段之间的转移控制和保护, 以及任务之以及任务之间的切换间的切换:第一第一: 控制同一个任务内不同代码段之间的转移控制同一个任务内不同代码段之间的转移第二第二: 控制任务之间的切换控制任务之间的切换 类别及格

17、式类别及格式四种类型四种类型: 控制同一个任务内不控制同一个任务内不同代码段之间的转移同代码段之间的转移控制任务之控制任务之间的切换间的切换调用门、中断门、自陷门、任务门调用门、中断门、自陷门、任务门高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286(不用于描述某个存储段的属性不用于描述某个存储段的属性)调用门调用门 中断门中断门 自陷门自陷门主程序调用子程主程序调用子程序、转移指令序、转移指令中断引起的中断引起的代码段转移代码段转移自陷引起的自陷引起的代码段转移代码段转移区别仅在于调用中断区别仅在于调用中断门时要将门时要将IF

18、置置0, 调用调用自陷门则不管自陷门则不管IF标志标志 调用门调用门/中断门中断门/自陷门的应用范围自陷门的应用范围高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286若是任务门若是任务门, 则则表示表示TSS描述描述子的选择子子的选择子仅调用门使用仅调用门使用该偏移量对该偏移量对任务门无效任务门无效门描述子的格式门描述子的格式 P 0 该描述子内容无效该描述子内容无效1 该描述子内容有效该描述子内容有效 TYPE 4: 调用门调用门5: 任务门任务门6: 中断门中断门7: 自陷门自陷门 Intel公司保留公司保留P DPL 0

19、0 TYPE 字计数字计数(5位位) 目标代码段描述子的选择子目标代码段描述子的选择子 目标代码段的偏移量目标代码段的偏移量 DPL: 与数据代码段与数据代码段中的中的DPL相同相同高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286对任务门对任务门 Intel公司保留公司保留P D P L 0 0 T Y P E TSS描述子的选择子描述子的选择子 无效无效任务门与任务状态段描述子一起任务门与任务状态段描述子一起, 控制任务之间控制任务之间的切换。的切换。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel

20、 系列处理器系列处理器8028680286 通过中断门通过中断门/自陷门实现代码段转移调用的过程自陷门实现代码段转移调用的过程: 中断类型码中断类型码8(作作为访问为访问IDT表的选表的选择子择子), 结合结合IDTR访问中断描述子访问中断描述子表表IDT得到中断得到中断门门/自陷门自陷门由中断门由中断门或自陷门或自陷门得到服务程序代码段得到服务程序代码段描述子的选择子以及描述子的选择子以及代码段的偏移量代码段的偏移量由该选择子由该选择子访问服务程序访问服务程序代码段描述子代码段描述子由代码段描述子中提供由代码段描述子中提供的基地址和中断的基地址和中断/自陷自陷门中的代码段偏移量门中的代码段偏

21、移量得到得到服务程序入口地址服务程序入口地址高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 通过调用门实现代码段调用的过程通过调用门实现代码段调用的过程 程序中给出调用门描述子的程序中给出调用门描述子的选择子结合选择子结合LDTR或或GDTR 访 问 调 用 门访 问 调 用 门描述子描述子得到目标代码段描得到目标代码段描述子的选择子以及述子的选择子以及代码段的偏移量代码段的偏移量由该选择子由该选择子访问并得到访问并得到目标代码段目标代码段描述子描述子由代码段描述子中提由代码段描述子中提供的基地址和调用门供的基地址和调用门中

22、的代码段偏移量中的代码段偏移量转移到转移到目标代码段目标代码段高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器80286802861 流程中的地址转换过程流程中的地址转换过程, 只要访问描述子只要访问描述子, 都需都需要作的保护性检查要作的保护性检查, 比如仅当比如仅当CPLDPL时转时转换过程才能继续往下进行。换过程才能继续往下进行。 阐明阐明: 在保护模式下在保护模式下, 同一任务的不同代码段同一任务的不同代码段, 也有也有不同的特权级不同的特权级, 意味着主调代码段与被调代意味着主调代码段与被调代码段可能处于不同的特权级码段可能处于不同的特

23、权级, 因此需要指明因此需要指明目标代码段特权级目标代码段特权级, 并由此实现这种同一任并由此实现这种同一任务特权级的改变。务特权级的改变。2 为什么需要两次访问描述子为什么需要两次访问描述子(第一次是访问门第一次是访问门描述子描述子, 第二次是访问目标代码段描述子第二次是访问目标代码段描述子)高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 为实现特权级的改变为实现特权级的改变, 经过经过 “门这样一个描门这样一个描述子中提供目标代码段描述子的选择子述子中提供目标代码段描述子的选择子, 该选该选择子的低择子的低2位位(RPL

24、)指明目标代码段的特权级。指明目标代码段的特权级。假设假设: 源代码段的特权级为源代码段的特权级为CPL1; 转换过程如下图所示转换过程如下图所示: 目标代码段的特权级为目标代码段的特权级为CPL2; 高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286CALL 选择子选择子 偏移量偏移量源代码段源代码段CPL1CPL1与与“门中的门中的DPL比比较较 , 判 明 是 否 满 足判 明 是 否 满 足CPL1DPLD1D0(RPL)即为即为CPL2, 与与目 标 代 码 段 描 述 子 中 的目 标 代 码 段 描 述 子 中 的

25、D P L 比 较比 较 , 如 果 满 足如 果 满 足CPL2DPL目标代码段目标代码段2 CPL2 DPL目标代码段描述子的选择子目标代码段描述子的选择子目标代码段偏移量目标代码段偏移量中断中断/自陷自陷/调用门调用门 目标代码段描述子目标代码段描述子 DPL目标代码段基地址目标代码段基地址3 中断中断/自陷自陷/调用门的使用场合调用门的使用场合: 同级特权级之间转移同级特权级之间转移可以使用也可以不使用可以使用也可以不使用“门门”。不使用。不使用“门意门意味着在指令中直接引用目标代码段描述子的选择味着在指令中直接引用目标代码段描述子的选择子来访问目标代码段描述子。即子来访问目标代码段描

26、述子。即: 选择子选择子目标代码段目标代码段描述子描述子 代码段代码段1 代码段代码段2高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286源代码段源代码段目标代码段目标代码段 向更低特权级转移向更低特权级转移可以使用也可以不使用调用门可以使用也可以不使用调用门, 但不管使用与但不管使用与否否, 都只能发生在都只能发生在RET或或IRET两种情况。可以两种情况。可以直接引用目标代码段描述子的选择子直接引用目标代码段描述子的选择子, 此时此时,该该选择子中的选择子中的RPL将成为新的将成为新的CPL2。 向更高级转移向更高级转移向更

27、高特权级转移向更高特权级转移, 必需必需“门来实现。门来实现。即即: 门描述子门描述子目标代码段描目标代码段描述子的选择子述子的选择子 代码段代码段1 代码段代码段2目标代码段描述子目标代码段描述子高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286任务门可在任务门可在LDT、GDT和和IDT任何一个表中。任何一个表中。4 任务门的存放位置任务门的存放位置如果将任务门放在如果将任务门放在IDT表中表中, 即可以通过访问即可以通过访问IDT表来访问任务门表来访问任务门, 则可以达到由于中断而发则可以达到由于中断而发生任务切换的目的。

28、生任务切换的目的。任务之间的切换过程不同于代码段之间的转任务之间的切换过程不同于代码段之间的转移过程移过程, 任务切换还涉及其它描述子的支持任务切换还涉及其它描述子的支持, 即任务状态段描述子即任务状态段描述子 。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286(3) 系统描述子之二系统描述子之二: 任务状态段描述子任务状态段描述子 任务状态段任务状态段 多个任务运行过程例多个任务运行过程例(按优先级剥夺方式按优先级剥夺方式)Task2Task1Task3t0 t5t1 t2 t3 t4 优先级优先级高高低低在每一个时间点在每

29、一个时间点(t0、 t1 、 t2 、 t3 、 t4、t5)都存都存在在: (设置新任务状态设置新任务状态) 或者或者(保护前一任务状态保护前一任务状态, 切换到新任务状态切换到新任务状态) 或者或者(恢复前一任务状态恢复前一任务状态)高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286显然显然, TSS中的内容随着任务执行的推进不断发中的内容随着任务执行的推进不断发生变化。生变化。 TSS的内容主要包括的内容主要包括: 任务状态段任务状态段(Task State Segment TSS): 用于存放在任务被切换时刻的处理器现场

30、的用于存放在任务被切换时刻的处理器现场的一个存储段。每个任务都有一个一个存储段。每个任务都有一个TSS。 由此可知由此可知, 系统应为每一个任务提供一种保存任系统应为每一个任务提供一种保存任务状态的场所务状态的场所, 在在Intel8086系统中称为任务状系统中称为任务状态段。态段。高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 DS SS CS ES DI SI BP SP AX BX CX DX FR 在各特权层的堆栈指针等在各特权层的堆栈指针等 任务状态段任务状态段TSS任务之间的任务之间的切换必须通切换必须通过访问过

31、访问TSS来进行来进行, 以以实现实现CPU状态切换状态切换高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8028680286 任务状态段描述子任务状态段描述子 Intel公司保留公司保留P DPL 0 段基地址段基地址2316 段基地址段基地址150 段限段限与与“门的门的P位含义相位含义相同同段基地址即为段基地址即为TSSTSS的基地址。的基地址。为什么任务状态段描述子不提供任务状态为什么任务状态段描述子不提供任务状态段的偏移量?段的偏移量? 高级计算机系统结构高级计算机系统结构 第二章第二章 Intel Intel 系列处理器系列处理器8

32、028680286 任务切换可由任务切换可由JMP、CALL指令或中断指令或中断(INT)指令指令, 异常或外部中断引起。异常或外部中断引起。 JMP、CALL指令可以直接引用一个任务状指令可以直接引用一个任务状态段态段, 也可以先引用一个也可以先引用一个GDT或或LDT中的任中的任务门务门, 再由任务门的选择子引用任务状态段描再由任务门的选择子引用任务状态段描述子述子, 进而访问任务状态段而实现任务转换。进而访问任务状态段而实现任务转换。 中断类的指令则必须先从中断类的指令则必须先从IDT中引用任务门中引用任务门,再由任务门中再由任务门中TSS的选择子引用状态任务段的选择子引用状态任务段描述子而实现任务转换。描述子而实现任务转换。IRET指令通过引用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论