arrow
返回

RISCing it All: Accelerating Binary Translation Using Software-Only Validated Flag Speculation

delete2026-07-29
delete0
PRE
AI
J
James Yen
J
Jiarui Wang
Z
Zhixiang Wei
Z
Zhibai Huang
Z
Ziyang Zhang
Y
Yicheng Gu
S
Senhao Yu
C
Chen Chen
汪芸 封面图
汪芸 (Yun Wang)
X
Xingzi Yu
H
Hao Wang
Z
Zhengwei Qi
DOI:10.1109/tmc.2026.3718184delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
ARM处理器正从移动设备扩展到笔记本电脑、台式机和服务器,但x86软件生态系统仍然是采用的主要障碍。动态二进制翻译提供了一条实用的兼容性路径,但性能常受条件码处理的限制。x86在大多数算术操作后隐式更新EFLAGS,而ARM仅在请求时更新条件码,且缺乏对所有x86标志位的硬件支持。因此,保守的翻译方法在软件中显式处理标志位,增加了指令数量并将标志提取置于关键路径上。我们提出Cascade,一个纯软件的x86到ARM64二进制翻译框架,通过三种互补技术显著降低EFLAGS开销。首先,逐标志的后向活性分析识别出可证明未使用的标志更新,并通过持久缓存将分析成本分摊到多次执行中。其次,对于剩余的活跃标志,Cascade在语义允许时将SF、ZF、CF和OF直接映射到ARM的NZCV,通过硬件进位链在ADC和SBB序列中传递进位状态,并将常见的测试-分支惯用法融合为单条ARM指令。第三,Cascade通过逐块的接口摘要传播标志有效性,跨越翻译块边界,指导代码生成使块读取其前驱已建立的标志而非重新计算,只要跨块需求可被证明。我们在Box64中实现了Cascade,并在三个ARM平台上进行了评估。Cascade将7-Zip LZMA吞吐量最高提升2.4倍,将Geekbench 6多核分数最高提升36%,并将Unigine Heaven和Valley基准分数最高提升10.6%,同时编译开销较小。
Keyword:
ARM architecture
x86 architecture
binary translation
software portability
mobile computing

期刊

IEEE Transactions on Mobile Computing 封面图
IEEE Transactions on Mobile Computing
IF:
9.2
论文数:
5.8K
被引数:
1.8W

机构

S
Shanghai Jiao Tong University
学者数:
928
论文数: 282
被引数: 0
S
Stevens Institute of Technology
学者数:
13
论文数: 8
被引数: 0
引用论文

引用论文

暂无论文信息