2013-04-02 23 views
6

Diyelim ki, 4 iş parçacığı çok çekirdekli bir x86 işlemcinin 4 ayrı çekirdeğinde çalışıyor ve herhangi bir veri paylaşmıyorlar, progamatik olarak 4 çekirdekler, paylaşılan L2 önbelleğinin ayrı ve önceden tanımlanmış bölümlerini kullanır.Paylaşılan L2 önbelleklerinin parçalarını farklı çekirdeklere atamak mümkün mü

+3

İşte bu konuyla ilgili ilginç bir makale, http://www.eecg.toronto.edu/~tamda/papers/softpart.pdf – MetallicPriest

+0

Özellikle sorunlu * terimi gibi… ;-) – Axel

+0

Oh, Yazımsal olarak yazdığımda yazım denetçisinin önerisinin sorunsal olduğunu görmedim, LOL! – MetallicPriest

cevap

2

İki terim, L1, L2, L3, L4 önbellekleri yerine özel ve paylaşılan önbellekleri kullanalım. Farklı CPU aileleri önbelleği farklı düzeylerde paylaşmaya başlar. Sunulan terimlerle asıl soru şudur: paylaşımlı önbelleği parçalara ayırmak mümkün mü, her biri yalnızca CPU/çekirdeklerinden biri tarafından kullanılacak mı? Net bir cevap yok. Üstelik birbirinin karşısında iki cevap var.

1) İlk ve genel cevap: NO. Önbellek, donanım tarafından yönetilen tasarımdır. Tüm bellek veya tanımlı bellek bölgesi için önbelleği etkinleştirme/devre dışı bırakma gibi önbellek temizleme için yalnızca birkaç denetim kolu vardır, önbellek temizleme için belirtilen ilkeyi uygular (yazma/geri yazma). NO aslında, donanımdan yönetilmek üzere tasarlandığından dolayı. Bu yüzden yazılımda incelikle yönetmeyi sağlayacak kullanışlı bir arayüz yok.

2) İkinci cevap: Evet. Aslında, önbellekteki her satırın belirtilen bellek satırlarından veri kaydedebileceği şekilde tasarlanan önbellek. Bu nedenle, bellek yöneticisi garanti veriyorsa, aynı CPU bir CPU/çekirdeğin kendisinin olduğundan ve aynı önbellek hattına atanan tüm bellek hatlarını kullanmasından sonra, bellek yöneticisi bu önbellek hattının sadece bu CPU tarafından kullanılacağını garanti eder. Bu çok zor bir çözümdür. Ve çok sınırlı yararları var ve ciddi dezavantajları var: bellek düzeni çok parçalanmış, önbellek kullanımı dengesiz, karmaşık bellek yönetimi, çok hasrware bağımlı (Ayrıntılar "MetallicPriest" tarafından sağlanan kağıda bulunabilir). Özgeçmiş: teoride mümkündür ve pratikte neredeyse imkansızdır.