CPU düzeyinde bellek modeli, işlemcinin bellek işlemlerini yeniden sıralama özgürlüğünü tanımlar. Düşük seviyeli kodlar bu modeli dikkate almadığında, beklenmedik sorunlar ortaya çıkabilir. Farklı CPU'lar farklı bellek modelleri sunduğundan, bazı eşzamanlı yazılımların taşınabilirliği karmaşıklaşır. x86 mimarisi, "total store ordering" (TSO) adı verilen daha katı bir bellek modeline sahiptir. Bu model, yazma (store) işlemlerinin tüm CPU'lar tarafından yürütüldükleri sırayla görüleceğini garanti eder. Okuma işlemleri de yeniden sıralanmaz, bu da genellikle pahalı bellek bariyeri talimatlarına olan ihtiyacı azaltır.
Arm bellek modeli ise daha zayıftır ve CPU'ya işlemleri yeniden düzenleme konusunda daha fazla özgürlük tanır. Bu tasarım, daha basit bir uygulama ve sıralama garantilerinin gerekmediği durumlarda (ki çoğu zaman böyledir) daha iyi performans potansiyeli sunar. Ancak, bu durum eşzamanlı kod yazarken daha fazla dikkat gerektirebilir ve TSO gibi daha katı bir bellek modeli için yazılmış kodlar, Arm CPU'larda çalıştırıldığında (muhtemelen fark edilmesi zor) hatalara yol açabilir.
Arm'ın zayıf bellek modeli genellikle bir sorun teşkil etmese de, x86 işlemci emülasyonu sırasında problemler ortaya çıkmaktadır. Bir x86 emülatörü TSO bellek modelini de taklit etmezse, eşzamanlı kodlar muhtemelen başarısız olacaktır. Ancak TSO'yu taklit etmek, bellek bariyerleri eklemeyi gerektirdiğinden önemli bir performans düşüşüne neden olur. Özellikle oyunlar gibi bazı eşzamanlı x86 kod türlerini Arm CPU'larda çalıştırmak isteyen kullanıcılar, bu performans kaybıyla karşılaşmak istememektedir. Bu özelliği çekirdekte kullanılabilir hale getirme çabaları ise muhalefetle karşılaşmaktadır.
Arm CPU'larda x86 emülasyonu için TSO bellek modeli desteği, performans ve uyumluluk arasında önemli bir denge sorunu yaratıyor ve çekirdek geliştiricileri arasında görüş ayrılıklarına neden oluyor.