【发布时间】:2011-09-07 00:54:08
【问题描述】:
?是否可以在 i686 Linux(x86,32 位)上启动 x86_64 代码?我的 CPU 是现代 Core 2,它本身可以运行 x86_64 64 位代码,但操作系统是 32 位的。
开始的代码是纯数学的,几乎不需要与操作系统交互。
我想测量,与 32 位模式相比,我的程序在 64 位模式下的速度有多快。该程序旨在解决巨大的组合问题,全尺寸运行数十小时。
我可以用 qemu 启动 64 位代码,但它不是原生执行,qemu 中的速度与实际 cpu 速度无关。
【问题讨论】:
-
理论上您可以编写一个内核模块来接管内核并用 64 位内核替换它,同时保持数据结构(经过一些转换)完整。但我猜你不会那样做。