- 积分
- 92
- 最后登录
- 2024-5-31
- 精华
- 0
- 阅读权限
- 20
- 主题
- 4
- UID
- 447361
- 帖子
- 64
- PB币
- 105
- 威望
- 11
- 贡献
- 0
- 技术
- 0
- 活跃
- 454
- UID
- 447361
- 帖子
- 64
- PB币
- 105
- 贡献
- 0
- 技术
- 0
- 活跃
- 454
|
44F
发表于 2023-6-27 12:16:18
IP属地四川
|只看该作者
我觉得发文之前好歹看下AMD64几种工作模式的定义吧,这种事情多说几次我觉得都算造谣了。
AMD64分成两种模式,64位的长模式和32位的传统模式。
64位长模式又分成两种
- 纯64位模式,64位操作系统跑64位应用程序。这个没什么好说的,纯正的原生的支持。
- 兼容模式,64位操作系统跑32位应用程序。这个是从硬件上提供了长模式下对传统32位保护模式的兼容,从内存段配置到指令集都是完全由硬件支持的,而不是楼主说的转译什么的,除开用不到x64多出来的寄存器,别的CPU性能都可以完完整整的享受到。
然后是传统模式
32位传统模式分3种 虚模式 实模式 保护模式,前两种基本完全被抛弃了,实模式也就开机启动的时候用一下。无论32位linux还是32位windows,实际都是工作在保护模式下,这种情况都是32位系统跑32位应用程序。长模式的兼容模式兼容的也就是这种。
再来看看X86S,X86S要做的其实就是砍掉传统模式,当然也就无法再使用32位操作系统,但是对于64位长模式秋毫无犯。
简单的说你在X86S的64位操作系统下和以前一样,无论是跑32位应用程序还是64位应用程序,CPU都提供完整的硬件支持,无需转译,无性能损失。
|
|