系统资料(2)
系统控制寄存器
CR2 ,64位,存放页故障线性地址,由页转换机制使用。
当代码所访问的页不在内存时,处理器自动把页地址存入CR2,并引起缺页异常,此时缺页异常处理程序从硬盘中载入页到内存。
CR3,64位,
位0-2保留,必须是0
位3,PWT,控制页映射级4的写通或回写缓存策略。当PWT=1时,启用写通缓存,PWT=0,启用回写缓存。
位4,PCD,控制页映射级4的缓存,PCD=1,禁止页映射级4缓存,PCD=0,可以页页映射级4缓存,
位5-11,保留,必须是0
位12-51存放页映射级4的基地址
位52-63保留必须是0
CR4,64位,低32位同IA32,高32位保留必须是0
位0,VME,VME=1,对于运行在虚拟8086模式的软件启用硬件支持性能增强,VME=0禁止启用硬件支持性能增强。
当VME=1时,虚拟的可屏蔽中断控制和通知用在RFLAGS中VIF和VIP位
用在TSS中的中断改向位图实现有选择的阻止软件中断
位1,PVI,PVI=1,启用支持保护模式虚拟中断,PVI=0禁止保护模式虚拟中断。当PVI=1时,启用RFLAGS中的两位VIF和VIP的硬件支持。
位2 ,TSD,TSD=0,运行在任意特权级的软件都可以使用RDTSC指令读取时戳计数器,TSD=1,只有特权级0的软件才能执行RDTSC指令。
位3,DE,DE=1,启用I/O断点功能并使DR4和DR5寄存器按保留对待,此时访问DR4,DR5会引起无效操作码异常#UD
当DE=0时,禁止启用I/O断点功能,此时DR4和DR5分别是DR6和DR7的别名
位4,PSE,PSE=1,物理页尺寸在4KB 和4MB之间,用PS字 段选择,PSE=0禁止使用4MB物理页,并把所有物理页限制位4KB
64位模式时,此位被忽略
位5 ,PAE,PAE=1,启用物理地址扩展和2MB物理页
位6,MCE,MCE=1,启用机器检查异常机制,MCE=0,禁止启用机器检查异常机制。
当MCE=1时,遇到无法改正的机器检查错时,引起机器检查异常#MC
位7,PGE,PGE=1,启用全局页机制,PGE=0,禁止全局页机制。
位8,PCE,PCE=1,允许运行在任意特权级的软件使用RDPMC指令,软件用RDPMC指令读取4个星期监视MSR,即PerfCTR[3:0],
PCE=0,只允许特权级0的软件使用RDPMC指令。
位9 ,OSFXSR,OSFXSR=1,启用128位媒体指令,此时可以使用FXSAVE和FXRSTOR指令保存和恢复对于X87,64位,128位媒体指令的处理器状态。当OSFXSR=0时,使用FXSAVE和FXRSTOR指令时,引起无效操作码异常#UD
位10,OSXMMEXCPT,当操作系统支持处理未屏蔽的128位媒体浮点差错的SIMD浮点异常#XF时,必须OSXMMEXCPT=1,
OSXMMEXCPT=0,不支持指示#XP处理程序,此时未屏蔽的128位媒体浮点异常将引起无效操作码异常#UD
CR1,CR5-CR7寄存器保留,若软件使用这些寄存器,引起未定义操作码异常#UD
CR8,任务特权寄存器,TPR,使用REX前缀可访问。