x86 에뮬레이션의 골칫거리: ARM에서 x86-TSO 메모리 모델을 흉내내는 고통

The Scourge of x86 Emulation

FEX-Emu가 x86 애플리케이션을 ARM에서 에뮬레이션할 때 겪는 근본적인 문제를 다룬다. x86의 강한 TSO 메모리 모델과 ARM의 약한 일관성 모델 간의 차이 때문에, ARMv8.0에서는 모든 로드/스토어를 acquire/release로 변환해야 했고 성능이 크게 떨어졌다. ARMv8.3의 LRCPC 확장과 Apple Silicon의 TSO 하드웨어 토글이 해결책으로 제시된다. 정렬되지 않은 접근과 split-lock 문제도 주요 걸림돌이다.

x86-TSO 메모리 모델을 에뮬레이션하는 것은 ARM이 정의한 약한 순서 메모리 모델 위에서 다면적이며 여러 문제를 포괄한다.

이 날의 다른 글

2026-09-18