ARM üzerinde x86 öykünmesinde bellek modeli engelleri aşılamıyor
Öne çıkanlar
- ARM üzerindeki katı x86-TSO öykünmesi çekirdeklerde ciddi başarım kayıplarına yol açıyor.
- Hizalanmamış bellek erişimleri standart ARM çekirdeklerinde performansı yaklaşık yüzde 50 düşürüyor.
- Apple M1, donanımsal TSO modu sayesinde hizalama cezalarını neredeyse tamamen ortadan kaldırdı.
FEX-Emu geliştirici ekibi, ARM mimarisi üzerinde x86 uygulamalarını çalıştırırken karşılaşılan en büyük performans engelinin bellek modelleri arasındaki uyumsuzluk olduğunu açıkladı. x86 mimarisinin katı Toplam Depolama Sıralaması (TSO) kuralı, ARM'ın gevşek bellek modeline aktarılırken büyük verim kaybı yaratıyor. İşlemciler arasındaki bellek tutarlılığını sağlamak için kullanılan ek komutlar yazılım performansını düşürüyor.
Yayımlanan analiz ve mikro kıyaslama testleri, ARMv8.0 dönemindeki bellek bariyerlerinin ve yükleme-yazma kısıtlarının işlemcileri zorladığını gösterdi. Cortex-X4, Cortex-X925, Qualcomm Oryon-3 ve AmpereOne gibi modern çekirdeklerde LRCPC gibi yeni komut seti eklentileri test edildi. Ancak x86 uygulamalarının bellek hizalamasına dikkat etmemesi, yazılımsal yama noktaları ve bariyer komutları nedeniyle yüzde 50'ye varan performans kayıplarına yol açtı.
Ekip, donanım düzeyinde doğrudan x86-TSO desteği sunan Apple M1 mimarisinin en başarılı sonucu verdiğini kaydetti. Apple Silicon çiplerinde yer alan donanımsal TSO anahtarı sayesinde, hizalanmamış bellek erişimlerinde bile kayıp yüzde 5 seviyesinde kaldı. Geliştiriciler, standart ARM yongalarında yüksek başarımlı x86 öykünmesi için donanımsal TSO modunun şart olduğunu vurguladı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.