Lobsters | 📄 原文链接 | 2026-11-10 收录

不把指令语义写死在代码里:运行时加载语义的 x86 全系统模拟器

来源:liblisa.nl — 2026-11-06

📋 概述

Sem86 是一个 x86 全系统模拟器,但它不在代码里硬编码指令语义,而是在运行时从输入文件加载。这样切换语义就变成换一个文件,可以精确复现未定义行为与未文档化指令。尽管语义无法在编译期被优化、而且用的是 LLVM 而不是专门磨过的 JIT,它并不慢:速度是 Bochs 的 1.9 倍,达到 QEMU 的约 42%。工作发表在 QRS'26。长期目标是把 libLISA 自动推断出的语义接进来,实现所谓「CPU 克隆」:分析一颗 CPU、抽出它的语义、再启动一个精确模拟这颗 CPU 的模拟器。

🔑 核心要点

💡 金句

它的速度是 Bochs 的 1.9 倍,达到 QEMU 性能的约 42%。
← 返回 Lobsters 首页