x86的控制寄存器CR0,CR1,CR2,CR3
来源:互联网 发布:艺动网络ceo 编辑:程序博客网 时间:2024/05/21 09:55
状态和控制寄存器组除了EFLAGS、EIP ,还有四个32位的控制寄存器,它们是CR0,CR1,CR2和CR3。
这几个寄存器中保存全局性和任务无关的机器状态。
CR0中包含了6个预定义标志,0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。1位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理器不能使用”的出错信号。第3位是任务转换位(Task Switch),当一个任务转换完成之后,自动将它置1。随着TS=1,就不能使用协处理器。CR0的第2位是模拟协处理器位 EM (Emulate coprocessor),如果EM=1,则不能使用协处理器,如果EM=0,则允许使用协处理器。第4位是微处理器的扩展类型位ET(Processor Extension Type),其内保存着处理器扩展类型的信息,如果ET=0,则标识系统使用的是287协处理器,如果 ET=1,则表示系统使用的是387浮点协处理器。CR0的第31位是分页允许位(Paging Enable),它表示芯片上的分页部件是否允许工作。
CR1是未定义的控制寄存器,供将来的处理器使用。
CR2是页故障线性地址寄存器,保存最后一次出现页故障的全32位线性地址。
CR3是页目录基址寄存器,保存页目录表的物理地址,页目录表总是放在以4K字节为单位的存储器边界上,因此,它的地址的低12位总为0,不起作用,即使写上内容,也不会被理会。
这几个寄存器是与分页机制密切相关的,因此,在进程管理及虚拟内存管理中会涉及到这几个寄存器,读者要记住CR0、CR2及CR3这三个寄存器的内容
这几个寄存器中保存全局性和任务无关的机器状态。
CR0中包含了6个预定义标志,0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。1位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理器不能使用”的出错信号。第3位是任务转换位(Task Switch),当一个任务转换完成之后,自动将它置1。随着TS=1,就不能使用协处理器。CR0的第2位是模拟协处理器位 EM (Emulate coprocessor),如果EM=1,则不能使用协处理器,如果EM=0,则允许使用协处理器。第4位是微处理器的扩展类型位ET(Processor Extension Type),其内保存着处理器扩展类型的信息,如果ET=0,则标识系统使用的是287协处理器,如果 ET=1,则表示系统使用的是387浮点协处理器。CR0的第31位是分页允许位(Paging Enable),它表示芯片上的分页部件是否允许工作。
CR1是未定义的控制寄存器,供将来的处理器使用。
CR2是页故障线性地址寄存器,保存最后一次出现页故障的全32位线性地址。
CR3是页目录基址寄存器,保存页目录表的物理地址,页目录表总是放在以4K字节为单位的存储器边界上,因此,它的地址的低12位总为0,不起作用,即使写上内容,也不会被理会。
这几个寄存器是与分页机制密切相关的,因此,在进程管理及虚拟内存管理中会涉及到这几个寄存器,读者要记住CR0、CR2及CR3这三个寄存器的内容
- x86的控制寄存器CR0,CR1,CR2,CR3
- x86的控制寄存器CR0,CR1,CR2,CR3
- 控制寄存器(CR0,CR1,CR2,CR3)
- 控制寄存器(CR0,CR1,CR2,CR3)
- 控制寄存器(CR0,CR1,CR2,CR3)
- 控制寄存器(CR0,CR1,CR2,CR3)
- 控制寄存器(CR0,CR1,CR2,CR3)
- 控制寄存器(CR0,CR1,CR2,CR3,CR4)
- 控制寄存器CR0,CR1,CR2,CR3
- 控制寄存器(CR0,CR1,CR2,CR3,CR4)
- 控制寄存器(CR0,CR1,CR2,CR3)
- 控制寄存器(CR0,CR1,CR2,CR3,CR4)
- 控制寄存器(CR0,CR1,CR2,CR3)的说明
- 控制寄存器 (CR0, CR1, CR2, CR3)(转载整理)
- 控制寄存器 (CR0, CR1, CR2, CR3)(转载整理)
- 控制寄存器(CR0,CR1,CR2,CR3)和CR4
- 控制寄存器 cr0,cr2,cr3
- 0.driverbase-控制寄存器(CR0~CR3)
- linux查看系统版本(distribution && version)
- 如何防止蹭网
- java 泛型讲解
- 解决腾讯微博错误{"data":null,"errcode":-103,"msg":"check sign error","ret":3}
- DirectShow编程(3.8) - 关于DirectShow - 插件发布者(Plug-in Distributors)
- x86的控制寄存器CR0,CR1,CR2,CR3
- nor flash与nand flash介绍
- Jaguar.Yuan 的Linux驱动之行——Platform驱动框架介绍(一)
- DirectShow中常见的RGB/YUV格式
- 【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别
- 一种显示函数被调用的堆栈信息的方法
- SRM 538 450
- Merkaartor介绍
- URL ajax 传递带有特殊符号参数的问题