模拟内存访问有多难?FEX-Emu 详解 x86 转 ARM 的坑
blaizedsouza · x · 2026-09-19
Hackaday 文章解读 FEX-Emu 开发者在 x86→ARM 模拟中处理内存访问的难点。
- 内存一致性模型差异:x86 采用强保证的 Total Store Ordering,而 ARM 刻意用更弱的内存模型换取性能,一个 CPU 写入的数据另一个 CPU 何时可见并不显然。
- 补偿手段:模拟器可把 x86 内存操作翻译成 ARM 的 acquire/release,但对几乎每条内存引用都这样做代价高昂;LRCPC 等 ARM 新扩展帮助很大,Apple Silicon 则直接加入 x86 兼容的 TSO 模式,开销极小。
- 更麻烦的情况:x86 软件常见非对齐访问与缓存行内强原子性保证,FEX 有时需捕获对齐错误并动态给翻译后的代码打 barrier;split-lock 操作最糟,部分要经内核与信号处理,可慢数百到数千倍。
「Infra」频道最新
- 单卡 3090 实测 8 款视频 VLM:吞吐与首 token 延迟横向对比 — SkyLordOmega · 2026-09-19
- 数据中心耗水争议新论据:产一加仑牛奶耗水628加仑 — dfinke · 2026-09-19
- 拆解 Google Zanzibar 的 Leopard 索引:两次查询搞定任意深度权限判断 — arpit_bhayani · 2026-09-19
- BONSAI SWARM:浏览器里跑 P2P 推理网络,夜间共享 GPU 换算力 — airesearch12 · 2026-09-19
- 开源模型烧钱量首超 OpenAI,Vercel 网关开源 token 占 78% — soumitrashukla9 · 2026-09-19
- 8 风扇强冷仍压不住:多卡机箱中间两张 GPU 满载破 90°C — TheZachMueller · 2026-09-19