Ana içeriğe geç
Donanım

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ı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.