在x86(32位)Linux上启动x86_64代码,在x86_64 CPU上运行

2023-12-07

是否可以在 i686 Linux(x86,32 位)上启动 x86_64 代码?我的 CPU 是现代 Core 2,它本身可以运行 x86_64 64 位代码,但操作系统是 32 位。

启动的代码是纯数学的,几乎不需要与操作系统交互。

我想测量一下,与 32 位模式相比,我的程序在 64 位模式下的速度有多快。该程序是为了解决巨大的组合问题,完整的运行时间是几十个小时。

我可以使用 qemu 启动 64 位代码,但它不是本机执行,并且 qemu 中的速度与实际 CPU 速度无关。


如果没有某种形式的模拟,您将无法在 32 位内核上运行 x86_64 程序。 (相反的方式也可以正常工作,无需模拟。)

为了能够在 x86_64 上运行 64 位代码,您必须进入“长模式”,这需要设置适当的页表(除其他外)。 32 位内核不会执行任何 64 位页表或映射。所以用户空间代码无法进入64位模式。在一些内核帮助下也许可以实现这一点,但 32 位内核根本没有为这种事情做好准备。

由于您可以在 64 位内核上运行 32 位代码,因此现在没有真正的理由不使用 64 位内核,尤其如果您有一些可以从 64 位模式受益的代码(特别是更多寄存器)。

为什么不直接从 64 位 live-cd 启动呢?或者在单独的磁盘或分区上安装 64 位发行版?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在x86(32位)Linux上启动x86_64代码,在x86_64 CPU上运行 的相关文章

随机推荐

  • git merge 仅合并最后一次提交

    我前段时间工作过一个分支 我需要合并到我的主分支中 它有几个提交 但是当我尝试合并它时 它只合并到分支上的最后一个提交中 而不合并到其他尚未合并的分支中有没有办法可以有选择地合并提交 或者有什么方法可以解决这个问题 您可以选择该提交 git
  • 如何在网页上制作所见即所得的部分?

    我想了解网络上所见即所得页面的基本原理 我开始对其进行编码并使用文本区域进行制作 但很快我意识到我无法在文本区域中添加或显示图像或任何 HTML 所以我使用 DIV 制作它 但我不明白如何使其可编辑 所以 大体上来说 我想知道如何 原则上
  • 有没有办法为 Docker 编译和静态链接 ruby​​ 库?

    2015 年 6 月 29 日更新 InfraRuby 编译器和运行时 用于 JVM 上的静态类型 Rub y 我想要一个静态链接的二进制文件 通过一个简单的 ruby 爬虫来构建一个小型的 docker 容器 类似 Go 生成的东西 CG
  • 将值从 Windows 窗体应用程序发送到 Asp.Net Core Api

    我创建了一个简单的 Asp Net Api 来在 Winforms 应用程序中显示学生的信息 但是 现在我想要创建一个 Api 它接受来自 Windows 窗体应用程序的值并将这些值插入数据库 我怎样才能创造这样的东西 这是我到目前为止所尝
  • 如何对表示为字节向量的多列进行有效排序?

    我有一个名为Dataframe这本质上是一个std vector
  • jpql order by 子查询产生意外的 AST 节点异常

    我将一个工作 postgre sql 查询翻译为 jpql 但 hibernate 抛出了一个 org hibernate hql ast QuerySyntaxException 意外的 AST 节点 例外 这些是我的核心模型类 Enti
  • 只监听文档的变化而不是一直监听

    我只想监听 firebase 中文档的更改 但现在似乎它每时每刻都在监听 尽管没有任何更改 我可以看到这一点 因为当我将其打印到控制台时 它永远不会停止 FirebaseFirestore instance collection users
  • 回调的缺陷

    From http doc qt nokia com 4 7 signalsandslots html 回调有两个根本缺陷 首先 它们不是类型安全的 我们 永远无法确定 处理函数将调用 带有正确参数的回调 有人能解释一下 在什么情况下不能确
  • ASP.net MVC - 具有可为空属性的自定义属性错误消息

    我的视图模型中有一个属性可以接受整数和可为空的值 Display Name Code Postal public int CodePostal get set 当我输入字符串值时 如何显示默认消息之外的另一条消息 The field Cod
  • 如何在angular2中使用nativescript的WebView?

    我正在尝试插入一个web view在我的页面上并收听 loadFinishedEvent 但为了做到这一点 我需要在我的中找到网络视图成分 ts文件 通过nativescript方式我需要用标签包装我的xml UI
  • 自动更新 Windows 10 IoT Core 内的应用程序?

    最近我有一个问题 如果我编写一个 UWP 应用程序并安装到具有 Windows IoT Core 操作系统的 Raspberry Pi 中 是否可以在 Raspberry Pi 内为我的应用程序设置自动 OTA 更新 就像 Windows
  • 即使设置 date_default_timezone_set 之后,PHPExcel 也会得到错误的时区

    我在用着http phpexcel codeplex com在我的一个项目中 我遇到了一个问题 我想在单元格内写入 time 值 我正在这样做 function writeTimeLine objActiveSheet lineNumber
  • CORS 和内部服务器错误响应

    在 ASP NET WebApi2 中 如果存在内部服务器错误 则会发送 500 响应withoutAccess Control Allow Origin 标头 即使CORS 已启用 这会导致浏览器报告 CORS 错误 而不是内部服务器错误
  • 在 python 3.5 中安装 scrapy 时出错[重复]

    这个问题在这里已经有答案了 我正在 Python 3 5 中安装 Scrapy 我指的是安装指南here 我已经安装了pip and conda 我尝试了指南中提到的两种方法 但收到此错误 我已经安装了pip and minoconda c
  • Python:派生类访问同一内存位置中基类的字典

    我想知道为什么在基类中定义并从派生类访问的字典显然只存在于一个内存位置 一个简短的例子 class BaseClass testdict dict testint 0 def add dict entry self self testdic
  • MPMoviePlayerController 添加 UIButton 以随控件淡出的视图

    我正在尝试将 UIButton 添加到MP电影播放器 控制器以及标准控件 该按钮出现在视频上 并按预期接收触摸事件 但我希望它使用标准控件淡入和淡出 以响应用户触摸 我知道我可以通过滚动自己的自定义播放器控件来实现这一目标 但这似乎很愚蠢
  • 无法在 Mac OS 上使用 android sdk 创建 AVD

    我在Mac操作系统上安装了Android Studio和JDK1 8 我跟着说明并使用 API 15 作为最低 sdk 创建了一个新应用程序 我尝试从 AVD 管理器创建 AVD 通过选择创建新虚拟设备 gt nexus 6 gt loll
  • Python 中自增和自减运算符的行为

    如何使用预自增 自减运算符 就像在 C 中一样 为什么 count运行 但不改变变量的值 不是运营商 是两个 运营商 这 运算符是identity运算符 它什么也不做 澄清 and 一元运算符仅适用于数字 但我认为您不会期望假设的 操作符来
  • 使用 .htaccess 文件扩展名删除程序代码时,网站表单不携带任何值

    我在 HTACCESS 文件中有这段代码 它工作正常 因为它删除了 php 文件扩展名 它还允许加载没有扩展名的页面 For security reasons Option followsymlinks cannot be overridd
  • 在x86(32位)Linux上启动x86_64代码,在x86_64 CPU上运行

    是否可以在 i686 Linux x86 32 位 上启动 x86 64 代码 我的 CPU 是现代 Core 2 它本身可以运行 x86 64 64 位代码 但操作系统是 32 位 启动的代码是纯数学的 几乎不需要与操作系统交互 我想测量