一口气看完45个寄存器,CPU核心技术大揭秘( 五 )
这里选取三个代表性的MSR简单介绍一下:
IA32_SYSENTER_CS
IA32_SYSENTER_ESP
IA32_SYSENTER_EIP
这三个MSR寄存器是用来实现快速系统调用 。
在早期的x86架构CPU上 , 系统调用依赖于软中断实现 , 类似于前面调试用到的int 3指令 , 在Windows上 , 系统调用用到的是int 2e , 在Linux上 , 用的是int 80 。
软中断毕竟还是比较慢的 , 因为执行软中断就需要内存查表 , 通过IDTR定位到IDT , 再取出函数进行执行 。
系统调用是一个频繁触发的动作 , 如此这般势必对性能有所影响 。 在进入奔腾时代后 , 就加上了上面的三个MSR寄存器 , 分别存储了执行系统调用后 , 内核系统调用入口函数所需要的段寄存器、堆栈栈顶、函数地址 , 不再需要内存查表 。 快速系统调用还提供了专门的CPU指令sysenter/sysexit用来发起系统调用和退出系统调用 。
在64位上 , 这一对指令升级为syscall/sysret 。
总结以上就是全部要介绍的寄存器了 , 需要说明一下的是 , 这并不是x86CPU全部所有的寄存器 , 除了这些 , 还存在XMM、MMX、FPU浮点数运算等其他寄存器 。
这篇文章以x86/x64架构CPU为目标 , 通过对CPU内部寄存器的阐述 , 串讲了CPU执行代码机制、内存寻址技术、中断与异常处理、多任务管理、系统调用、调试原理等多种计算机底层知识 。
作者:轩辕之风
【一口气看完45个寄存器,CPU核心技术大揭秘】来源:编程技术宇宙(ID:xuanyuancoding)
- 关华为P50Pro|华为P50Pro概念图:半圆形6摄,看完iPhone12劝你暂时别买
- 猫腻|为什么拼多多上商品价格那么便宜还包邮?有什么猫腻?看完明白了
- 经济总量|美国经济总量世界第一,究竟是靠哪些产业支撑的呢?看完长知识了
- 系列|Redmi Note9系列开售:三个亮点和一个缺点,看完再买也不迟
- 用OPPOFindX2Pro超广角|Find X2 Pro超广角大片来袭,多名大V晒样张,看完网友都这么说
- 纸条|女子网购买了一双鞋,收货后发现一张纸条,看完她怒了
- 为什么手机大厂们都喜欢搞子品牌?看完算长知识了
- 现在入手苹果11值吗,它跟12相比到底好在哪?看完算搞懂了
- 你居然还在花钱重装系统,看完我的教程让你不再花这笔冤枉钱
- 安卓面试必备的JVM虚拟机制详解,看完之后简历上多一个技能