Paylalan Bellek Mimarisi Shared Memory Architecture Murat Olcay
Paylaşılan Bellek Mimarisi (Shared Memory Architecture) Murat Olcay ÖZCAN Trakya Üniversitesi Bilgisayar Mühendisliği Anabilim Dalı
Giriş �Paylaşımlı bellek sistemleri mikroişlemcilerde ana konulardan biridir. Tüm işlemciler bir genel belleği paylaşırlar. Farklı işlemciler üzerinde yürütülen görevler arasındaki iletişim genel bellekten okuyarak ve yazarak gerçekleştirilir. �Süreçler arası koordinasyon ve senkronizasyon genel bellek üzerinde sağlanır.
�Bir paylaşılan bellek bilgisayar sistemi bağımsız işlemcilerden, bellek modüllerinden ve ara bağlantı ağından oluşur.
Paylaşılan Bellek Sistemlerinin Sınıflandırılması �En basit paylaşılan bellek sistemi iki işlemci tarafından ulaşılabilen bir bellek modülünden oluşur. İstekler iki port aracılığıyla belleğe ulaşır. �Modüldeki bir çözümleme(arbitration) modülü gelen isteklerin yönetilmesinden sorumludur. �Kullanılan ara bağlantı ağına göre paylaşılan bellek sistemleri şu bölümlere sınıflandırılır.
UMA (Uniform Bellek Erişimi) �UMA sisteminde paylaşılan belleğe tüm işlemciler tarafından ara bağlantı ağı üzerinden sanki tek bir işlemci belleğine ulaşıyormuş gibi ulaşılır. �Tüm işlemcilerin bellekteki her hangi bir yere eşit erişim süresi hakkı vardır. �Paylaşılan belleğe erişim dengeli olduğundan bu sistemlere SMP(simetrik mikroişlemci) sistemleri de denir.
UMA
NUMA (düzensiz Bellek Erişimi) �Her işlemcinin kendisine ilişik belleği vardır. Belleğin tek bir adres alanı vardır. Herhangi bir işlemci direkt olarak gerçek adresiyle bellek alanına ulaşabilir.
COMA (Cache-only Bellek Mimarisi) �NUMA ya benzer olarak her işlemcinin kendi paylaşılan belleği vardır. Fakat paylaşılan bellek önbelleğe sahiptir.
Veri Yolu Tabanlı Simetrik Mikroişlemciler �Paylaşılan bellek sistemleri veri yolu tabanlı yada anahtar bazlı ara bağlantı ağlarıyla dizayn edilebilirler. �Birden çok işlemci paylaşılan belleğe ulaşmaya çalıştığında veriyolu dolu hale gelebilir. Bu sorunu çözmek için önbellekler kullanılmaktadır. �Eğer bir işlemci tüm komutlarını ve verilerini önbellekte bulabiliyorsa hit rate %100 denir. �Önbellek tarafından karşılanamayan veri genel bellekten önbelleğe kopyalanmalıdır.
Basit Önbellek Tutarlılığı Metodları �Eğer tüm önbellekteki veri aynı ise tutarlı demektir. Ama işlemcilerden biri önbelleğin üzerine yazarsa tutarlılık bozulur. �Bu tutarsızlığı engellemek için şu metodlar kullanılmaktadır: ØÖnbellek – Bellek Tutarlılığı ØÖnbellek – Önbellek Tutarlılığı ØPaylaşılan Bellek Sistem Tutarlılığı
Gözetleme Protokolleri (Snooping Protocols) �Gözetleme protokolleri veriyolu aktivitelerini izleyerek gerektiğinde uygun tutarlılık komutlarını taşımakla görevlidir. �Önbellek tutarlılığını sağlamada ullanılan gözetleme protokollerinden bazı örnekler şunlardır:
Write-Invalidate ve Write. Through
Write-Invalidate Write Back Protocol
Write Once
Write-Update – Partial Write. Through
Write-Update and Write-Back
Dizin Tabanlı Protokoller �Bazı ara bağlantı ağlarının doğası gereği ve paylaşılan bellek sisteminin büyüklüğüne göre önbelleklerin gözetleme protokolleri ile yönetimi pratik olmayabilir. �Gözetleme protokollerindeki broadcasting teknikleri yerine sadece güncelleme gereken önbelleklere tutarlılık komutları gönderilmesini temel almaktadır. �Dizinler işlemcilerdeki bilgilerin tutulduğu veri yapılarıdır.
Protokol Sınıflandırılması �Çoğu dizin bazlı protokoller 3 kategori altında incelenebilir. ◦ Tam-harita dizinler ◦ Sınırlı dizinler ◦ Zincir dizinler
Tam Haritalanmış Dizin
Sınırlı Dizin
Zincir Dizin
- Slides: 21