Эмуляция x86 на ARM: как FEX сражается с моделью памяти x86-TSO
The Scourge of x86 Emulation
FEX подробно разбирает, почему эмуляция x86-TSO на ARM с слабой моделью памяти обходится так дорого. Acquire/release-инструкции, обязательные в ARMv8.0-a, резко снижают производительность, а расширение FEAT_LRCPC и аппаратный TSO-режим Apple Silicon дают почти бесплатное ускорение. Отдельная головная боль — split-locks и невыровненные атомарные доступы, которые x86-приложения активно используют.
Это расширение разработано с учётом требований, необходимых для эмуляции x86, и, как ожидается, будет активно использоваться на аппаратном обеспечении, которое его реализует.