Linux内核源代码情景分析读书笔记(1)-Intel X86CPU寻址方式
2007-08-03 20:23
246 查看
1.CPU的位数,如16位或32位,是指处理器中“算术逻辑单元(ALU)”的宽度。通常,系统总线中的数据部分(数据总线),与ALU具有相同的宽度(但也有例外)。
2.Intel采用分段方法进行寻址,且对于段寄存器的访问指令不属于特权级,因此,称其为“实地址模式”。
3.80386的段式内存管理机制
CPU中增设两个寄存器:全局段描述表寄存器GDTR(global descriptor table register)和局部段描述表寄器LDTR(local descriptor table register)。访问这两个寄存器的指令被设计成为特权指令。
段寄存器的高13位被用作访问段描述表的偏移量,与GDTR或LDTR相加得到描述表项的起始地址。
4.80386页式内存管理机制
段式内存管理存在灵活性和效率性的缺陷,而页式内存管理可以解决弥补。本来页式管理与段式管理没有从属关系,但是由于Intel X86 CPU需要在段式管理中保存访问权限的信息,故只能在段式管理基础上加上页式管理。
页式管理的一个线性地址由目录(b31-b22),页表(b21-b12),偏移量(b11-b0)组成。其中目录中的值加上页面目录基址寄存器CR3寻址目录中的页面描述符,从目录描述符中再读取页表的基址加上线性地址中的偏移量形成最终的地址,到实际内存页面中去寻找地址。
另外,由于页面大小为4KByte,所以目录和页表中的地址低12位都为0。这12位可用于进行控制相关。
2.Intel采用分段方法进行寻址,且对于段寄存器的访问指令不属于特权级,因此,称其为“实地址模式”。
3.80386的段式内存管理机制
CPU中增设两个寄存器:全局段描述表寄存器GDTR(global descriptor table register)和局部段描述表寄器LDTR(local descriptor table register)。访问这两个寄存器的指令被设计成为特权指令。
段寄存器的高13位被用作访问段描述表的偏移量,与GDTR或LDTR相加得到描述表项的起始地址。
4.80386页式内存管理机制
段式内存管理存在灵活性和效率性的缺陷,而页式内存管理可以解决弥补。本来页式管理与段式管理没有从属关系,但是由于Intel X86 CPU需要在段式管理中保存访问权限的信息,故只能在段式管理基础上加上页式管理。
页式管理的一个线性地址由目录(b31-b22),页表(b21-b12),偏移量(b11-b0)组成。其中目录中的值加上页面目录基址寄存器CR3寻址目录中的页面描述符,从目录描述符中再读取页表的基址加上线性地址中的偏移量形成最终的地址,到实际内存页面中去寻找地址。
另外,由于页面大小为4KByte,所以目录和页表中的地址低12位都为0。这12位可用于进行控制相关。
相关文章推荐
- Intel x86CPU系列的寻址方式
- Intel X86 CPU 系列的寻址方式与段式内存管理机制
- Intel X86 CPU 系列的寻址方式与段式内存管理机制
- Intel X86 CPU 系列的寻址方式与段式内存管理机制
- linux 内核源代码情景分析——Intel X86 CPU 系列的寻址方式
- intel x86 cpu系列的寻址方式
- 1.2 Intel X86 CPU系列的寻址方式
- Intel X86系列的寻址方式总结
- X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编
- X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编
- Intel X86系列的寻址方式总结
- linux kernel 学习中, #define ICPU(model){ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, } 的用法
- x86 系列 CPU 内存寻址模式总结
- 哪些CPU支持AMD-V(Pacifica)或者Intel VT~~~~X86 virtualization
- 不要再被误导了,64位X86 CPU是没有64位寻址能力的!
- ARM CPU与Intel x86 CPU性能比较
- 32位cpu的寻址方式
- 大话8086/8088cpu寻址方式
- 汇编语言3——8086CPU的寻址方式
- 8086 CPU 寻址方式