控制寄存器
控制寄存器#
控制寄存器用于控制和确定CPU的操作模式
CR0 CR1 CR2 CR3 CR4
CR1保留,CR3是页目录表物理基址或页目录指针表物理基址。
CR0#
1、PE:CR0的位0是启用保护(Protection Enable)标志。
PE=1保护模式 PE=0 实地址模式 这个标志仅开启段级保护,而并没有启用分页机制。
若要启用分页机制,那么PE和PG标志都要置位。
2、PG:当设置该位时即开启了分页机制。在开启这个标志之前必须已经或者同时
开启PE标志。
PG=0且PE=0 处理器工作在实地址模式下
PG=0且PE=1 处理器工作在没有开启分页机制的保护模式下
PG=1且PE=0 在PE没有开启的情况下 无法开启PG
PG=1且PE=1 处理器工作在开启了分页机制的保护模式下
WP位:
3、WP:对于Intel 80486或以上的CPU,CR0的位16是写保护(Write Proctect)标志
当设置该标志时,处理器会禁止超级用户程序(例如特权级0的程序)向用户级只读页
面执行写操作;
当CPL<3的时候:
如果 WP=0 可以读写任意用户级物理页,只要线性地址有效.
如果 WP=1 可以读取任意用户级物理页,但对于只读的物理页,则不能写.
CR2寄存器#
说明:
当CPU访问某个无效页面时,会产生缺页异常,此时,CPU会将引起异常
的线性地址存放在CR2中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】