李庚睿的毕业论文(保护模式) - 图文 下载本文

标题 作者 说明 毕业论文 李超 ?所有版权作者保留 题目 时间 页数 80386保护模式与Linux内核引导分析 2005-4-1 共91页 路漫漫其修远兮,吾将上下而求所。

保护模式。 全局描述表寄存器(GDTR)与局部描述符表寄存器(LDTR)

Global Descriptor Table Register (GDTR) The GDTR register holds the 32-bit base address and 16-bit table limit for the GDT. The base address specifies the linear address of byte 0 of the GDT; the table limit specifies the number of bytes in the table. The LGDT and SGDT instructions load and store the GDTR register, respectively. On power up or reset of the processor, the base address is set to the default value of 0 and the limit is set to FFFFH. A new base address must be loaded into the GDTR as part of the processor initialization process for protected-mode operation. 全局描述表寄存器(GDTR) 全局描述表寄存器拥有32位基地址和16位表界限。基地址指明GDT线性地址开始的位置。表界限指出表的大小。LGDT与SGDT指令分别用于完成对GDTR寄存器的导入和导出。当给处理器加电或重启处理器时,GDT的基地址默认为0,表界限默认设置为全1。在保护模式下,作为处理器初始化的一部分,新的基地址必须导入到GDTR中。 Local Descriptor Table Register (LDTR) The LDTR register holds the 16-bit segment selector, 32-bit base address, 16-bit segment limit, and descriptor attributes for the LDT. The base address specifies the linear address of byte 0 of the LDT segment; the segment limit specifies the number of bytes in the segment. The LLDT and SLDT instructions load and store the segment selector part of the LDTR register, respectively. The segment that contains the LDT must have a segment descriptor in the GDT. When the LLDT instruction loads a segment selector in the LDTR, the base address, limit, and descriptor attributes from the LDT descriptor are automatically loaded into the LDTR. When a task switch occurs, the LDTR is automatically loaded with the segment selector and descriptor for the LDT for the new task. The contents of the LDTR are not automatically saved prior to writing the new LDT information into the register. On power up or reset of the processor, the segment selector and base address are set to the default value of 0 and the limit is set to FFFFH. 第29页

标题 作者 说明 毕业论文 李超 ?所有版权作者保留 题目 时间 页数 80386保护模式与Linux内核引导分析 2005-4-1 共91页 路漫漫其修远兮,吾将上下而求所。

局部描述符表寄存器(LDTR) LDTR寄存器由16位段选子,32位基地址,16位段界限及16位的LDT描述任属性组成。基地址指出LDT段线性地址的开始。段界限指明段内字节的大小。指令LLDT和SLDT分别用于为LDTR寄存器导入或导出段选子部分。包含LDT的段必须在GDT中有一个段描述符。当使用LLDT指令将一个段选子导入到LDTR后,LDT描述符的段基址、段界限及描述符属性自动导入到了LDTR中。当任务切换发生时,LDTR自动装入了新任务的段选子及它的LDT描述符。在新的LDT信息写到LDTR寄存器之前,LDTR寄存器中的内容不会自动保存起来。当处理器加电或复位时,LDTR中的段选子和段基址默认为全0,而段界限则默认为全1。 IDTR寄存器

IDTR Interrupt Descriptor Table Register The IDTR register holds the 32-bit base address and 16-bit table limit for the IDT. The base address specifies the linear address of byte 0 of the IDT; the table limit specifies the number of bytes in the table. The LIDT and SIDT instructions load and store the IDTR register, respectively. On power up or reset of the processor, the base address is set to the default value of 0 and the limit is set to FFFFH. The base address and limit in the register can then be changed as part of the processor initialization process. 中断描述表寄存器IDTR IDTR寄存器拥有32位基址地和16位表界限。基地址指出IDT在线性地址空间中的位置。表界限指明表尺寸的大小。指令LIDT和SIDT分别用于导入或导出IDTR寄存器。当处理器加电或重启时基地址默认为全0,表界限默认为全1。寄存器的基地址和表界限可以在处理器初始化时改变。 任务寄存器(TR)

Task Register (TR) The task register holds the 16-bit segment selector, 32-bit base address, 16-bit segment limit, and descriptor attributes for the TSS of the current task. It references a TSS descriptor in the GDT. The base address specifies the linear address of byte 0 of the TSS; the segment 第30页

标题 作者 说明 毕业论文 李超 ?所有版权作者保留 题目 时间 页数 80386保护模式与Linux内核引导分析 2005-4-1 共91页 路漫漫其修远兮,吾将上下而求所。

limit specifies the number of bytes in the TSS. The LTR and STR instructions load and store the segment selector part of the task register, espectively. When the LTR instruction loads a segment selector in the task register, the base address, limit, and descriptor attributes from the TSS descriptor are automatically loaded into the task register. On power up or reset of the processor, the base address is set to the default value of 0 and the limit is set to FFFFH. When a task switch occurs, the task register is automatically loaded with the segment selector and descriptor for the TSS for the new task. The contents of the task register are not automatically saved prior to writing the new TSS information into the register. 任务寄存器(TR) 任务寄存器由当前任务的TSS(任务状态段)的16位段选子,32位段基址,16位段界限及16位描述符属性组成。TR指向GDT中的TSS描述符。基地址指出了TSS在线性地址空间的位置。段界限指明了TSS的大小。指令LTR与STR分别用于导入或导出任务寄存器的段选子部分。当LTR指令导入段选子到任务寄存器时,它就从TSS描述符得到的段基址、段界限及段属性,然后自动导入到任务寄存器中。当处理器加电或复位时,段基址默认为全0,界限默认为全1。当发生任务交换时,任务寄存器通过段选子,自动导入新任务的TSS描述符。在写新TSS信息到TR寄存器之前不会自动保存任务寄存器的内容。 控制寄存器

CONTROL REGISTERS The control registers (CR0, CR1, CR2, CR3, and CR4) determine operating mode of the processor and the characteristics of the currently executing task, as described below: ? CR0—Contains system control flags that control operating mode and states of the processor. ? CR1—Reserved. ? CR2—Contains the page-fault linear address (the linear address that caused a page fault). ? CR3—Contains the physical address of the base of the page directory and two flags (PCD and PWT). This register is also known as the 第31页

标题 作者 说明 毕业论文 李超 ?所有版权作者保留 题目 时间 页数 80386保护模式与Linux内核引导分析 2005-4-1 共91页 路漫漫其修远兮,吾将上下而求所。

page-directory base register (PDBR). Only the 20 most-significant bits of the page-directory base address are specified; the lower 12 bits of the address are assumed to be 0. The page directory must thus be aligned to a page (4-KByte) boundary. The PCD and PWT flags control caching of the page directory in the processor’s internal data caches (they do not control TLB caching of page-directory information). When using the physical address extension, the CR3 register contains the base address of the page-directory-pointer table . ? CR4—Contains a group of flags that enable several architectural extensions, and indicate operating system or executive support for specific processor capabilities. 控制寄存器 控制寄存器(CR0~CR4)决定了处理器的操作模式,当前执行任务的特性。如下所述: ·CR0:包括系统控制标记。标志位控制操作模式及处理机的状态。 ·CR1:保留。 ·CR2:包含页错误状态的线性地址(引起页错误异常的线性地址)。 ·CR3:包含页目录的物理基地址和两个标志位(PCD 和 PWT)。这个寄存器就是大家所熟知的页目录基址寄存器(PDBR)。只有页目录基地址最重要的20位被指明。低12位假设为0(不考虑)。页目录必须是以页边界(4K)对齐的。PCD和PWT标志位控制页目录的高速缓存,它存放在处理器内部高速缓存中。(他们不控制页目录信息的TLB高速缓存)。当使用物理地址扩展时,CR3寄存器包含页目录表的基地址。 ·CR4:包含一组标志位。这组标志位能使几个架构扩展,指出操作系统或管理程序对特殊处理器能力的支持。 小结

以上是对80386保护模式的架构综述,主要说明了80386的总体架构模型,以及80386保护模式中用到的各个关键名词的解释。只因觉得这些解释只有INTEL才最有发言权,所以,在这里,我只是作了翻译的工作。又因自己英语水有限,所以特将原文附在其上,以使读者在阅读时随时校对。这一章中,几乎所有的信

第32页