热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么保留x86CR1控制寄存器?

如何解决《为什么保留x86CR1控制寄存器?》经验,有好办法吗?

从i386 CPU开始,英特尔处理器具有公开的控制寄存器,允许内核配置处理器并指定当前正在执行的任务/进程/线程的特征.根据英特尔系统编程手册(第2-13节),CR1控制寄存器为"保留".也就是说,内核操作控制寄存器会CR1导致未定义的行为.正如文章指出,也有CR2, CR3, CR4CR8控制寄存器,虽然他们都没有保留.

为什么CR1保留?奇怪的是,英特尔会引入一个保留的控制寄存器,然后开始添加非保留的控制寄存器,而不是简单地添加功能,CR1因为这样做不会导致任何向后兼容性中断(这是保留它的全部要点).http://www.pagetable.com/?p=364推测CR1保留了第二个可用于架构配置的寄存器,但正如文章中提到的那样,CR4在i486推出时使用了.


推荐阅读
author-avatar
聆听最遥远的歌声
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有