控制寄存器用于控制和确定CPU的操作模式。
CrO Cr1 Cr2 Cr3 Cr4
Cr1保留
Cr3页目录表基址
CR0
说明:
- PE: CRO的位0是启用保护(ProtectionEnable)标志。PE=1保护模式PE=0实地址模式这个标志仅开启段级保护,而并没有启用分页机制。若要启用分页机制,那么PE和PG标志都要置位。
- PG:当设置该位时即开启了分页机制。在开启这个标志之前必须已经或者同时开启PE标志。
PG=0且PE=0处理器工作在实地址模式下,
PG=0且PE=1处理器工作在没有开启分页机制的保护模式下
PG=1且PE=0在PE没有开启的情况下无法开启PG (不存在的)
PG=1且PE=1处理器工作在开启了分页机制的保护模式下
- WP:对于Intel 80486或以上的CPU, CR0的位16是写保护(Write Proctect)标志· 当设置该标志时,处理器会禁止超级用户程序(例如特权级0的程序)向用户级只读页面执行写操作;
当CPL<3的时候:(系统级的用户)
如果WP=0可以读写任意用户级物理页,只要线性地址有效
如果WP=1可以读取任意用户级物理页,但对于只读的物理页,则不能写.
CR2
当CPU访问某个无效页面时,会产生缺页异常,此时CPU会将引起异常的线性地址存放在CR2中。
CR4
PAE/PSE说明:
PAE=1是2-9-9-12分页,PAE=0是10-10-12分页。
PSE:
PDE/PTE都有个PS位用来判断大页还是小页,PSE=1时PS位才有用。
还有很多细节没说,可以参考下白皮书…