Ubuntu 14.04'te (tercihen Python gibi daha yüksek bir dilde) L1 ve / veya L2 önbelleğini devre dışı bırakmak mümkün müdür? Öyleyse nasıl?
Ayrıca, önbelleğin devre dışı bırakılması farklı mimariler arasında önemli ölçüde farklılık gösterecek mi? Eğer öyleyse, bir ARM Cortex-A15 ile daha fazla ilgileniyorum.
DÜZENLE
Önbelleğin nasıl devre dışı bırakılacağını araştırırken kernel.org belgelerinden / proc / sys / vm / dizinindeki "drop_caches" dosyasını öğrendim
"Buna yazmak çekirdeğin temiz önbelleklerin yanı sıra takma dişler ve inotlar gibi geri kazanılabilir levha nesnelerini düşürmesine neden olur. Bırakıldığında bellekleri serbest kalır."
...
"Bu dosya, çeşitli çekirdek önbelleklerinin büyümesini kontrol etmek için bir araç değil (inode, dentries, pagecache, vb.) Bu nesneler, sistemin başka bir yerine bellek gerektiğinde çekirdek tarafından otomatik olarak geri kazanılır."
Bu aradığım şey gibi görünmüyor, çünkü bu sadece önbelleği devre dışı bırakacak gibi görünmüyor, sanal belleğin donanımda değil işletim sisteminde olduğunu düşündüm. Amacım önbelleği devre dışı bırakmaktır, böylece istenen bellek RAM gibi başka bir yerde aranmalıdır.
DÜZENLE
Açıklığa kavuşturmak için önbelleği devre dışı bırakmanın sisteme ne yapacağını anlıyorum. Bununla birlikte, güvenlik açısından kritik uygulamalar için güvenilirliği artırmak amacıyla uzay uygulamalarında kullanılan yaygın bir tekniktir. İşte bu fenomeni belgeleyen bazı kaynaklar:
Önbelleklerle gömülü yazılım radyasyona bağlı arızaları azaltma
Uzay Radyasyon Ortamında Mikroişlemcilerin Yer Radyasyon Testi için Kılavuz
Konuyla ilgili kitaplar bile var:
Elektronikte İyonize Radyasyon Etkileri: Anılardan Görüntüleyicilere