Geliştirici Cortex-A9 çekirdeklerinde önbellek tutarlılığını inceledi
Öne çıkanlar
- Terasic DE0-Nano-SOC üzerindeki çift Cortex-A9 işlemci için harici kütüphane kullanılmadan Rust ile bare-metal kod yazıldı.
- MMU devre dışıyken işlemcinin belleği katı sıralı görmesi atomik erişimleri ve hizasız okumaları engelledi.
- Derleme zamanında const fonksiyon yardımıyla 4.096 girdilik Seviye 1 sayfa tablosu oluşturuldu.
Bir gömülü sistem geliştiricisi, Altera Cyclone-V çipi barındıran Terasic DE0-Nano-SOC geliştirme kartı üzerinde çıplak donanım (bare-metal) Rust kodu çalıştırdı. Kart üzerindeki iki Arm Cortex-A9 çekirdeğini ve bellek yönetim birimini (MMU) düşük seviyede programlayan geliştirici, çekirdekler arası önbellek tutarlılığı (cache coherence) mekanizmasını devreye alma sürecini adım adım paylaştı.
Süreçte U-Boot önyükleyicisi üzerinden Motorola S-Record formatındaki derlenmiş Rust ikilileri seri bağlantıyla belleğe aktarıldı. Bellek yönetim biriminin devre dışı olduğu durumlarda bellek erişimlerinin katı sıralı (strongly-ordered) davranması ve atomik işlemlerin çalışmaması sebebiyle derleme anında 4.096 girdilik Seviye 1 sayfa tablosu üretildi. Geliştirici, donanım kaynaklarını ve çevre birimi sürücülerini sıfırdan yazarak iki çekirdek arasındaki veri paylaşım dinamiklerini ele aldı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.