İçeriğe atla

MESI Protokolü

MESI Durum Diyagramı.
MESI protokolünün aktivite diyagramı. "Main mem." (Ana bellek) işlemci mimarisine bağlı olarak "L2 ön belleği" olarak değiştirilebilir.

Aynı zamanda Illinois protokolü olarak da bilinen MESI protokolü yaygın olarak kullanılan bir ön bellek tutarlılığı protokolüdür. Intel'in Pentium işlemcilerinde kullanılan ön belleklerde verimliliği artırmak için kullanılmıştır.

Durumlar

MESI protokolünde her ön bellek satırı (ek iki bitle kodlanmış olarak) aşağıdaki dört durumdan birisinde olarak belirtilir:

  • M - Modified (Değiştirilmiş): Verinin son hali yalnızca ilgili ön bellekte tutulmaktadır ve bu nedenle kirli olarak tanımlanır. Saklanan veri ana bellekteki veriden farklıdır. Verinin yeniden ana bellekten okunmasından önce ilgili ön bellek satırının ana belleğe geri yazılması gerekir.
  • E - Exclusive(Özel): İlgili ön bellek satırının verinin son durumunu tuttuğunu gösterir. Saklanan veri ana bellekteki veriyle aynıdır ve bu durumda verinin temiz olarak tanımlanır.
  • S - Shared (Paylaşımda): İlgili ön bellek satırının aynı makinedeki başka ön belleklerde de saklanıyor olabileceğini gösterir.
  • I - Invalid (Geçersiz): Ön bellek satırının geçersiz olduğunu gösterir.

Çalışma mantığı

Tipik bir sistemde çok sayıda ön bellek ana belleğe giden ortak bir veri yolunu paylaşırlar. Aynı zamanda her birinin bağlı olduğu okuma ve yazma isteklerinde bulunan bir işlemci vardır. Ön belleklerin ortak amacı paylaşılan ana belleğin kullanımını minimize etmektir.

Bir ön bellek geçersiz ("I"-Invalid) dışındaki her durumda okuma isteğini karşılar. "I" durumundaki bir ön bellek satırının ise okuma isteğini karşılamak için veriyi getirmesi gerekir. Veriyi getirdiğinde ise "S" ya da "E" durumuna geçer.

Yazma isteği ise ancak ön bellek satırı değiştirilmiş ("M"-Modified) veya özel ("E"-Exclusive) durumunda ise karşılanabilir. Paylaşımda ("S"-Shared) durumunda olan bir ön bellek satırına yazma isteği gelirse, önce diğer ön belleklerdeki kopyaların geçersizleştirilmesi gerekir. Bu genellikle yazma isteğini diğer ön belleklere yayarak yapılır.

Bir ön bellek değiştirilmemiş bir satırı istediği zaman atabilir ve "I" durumuna geçer. "M" durumunda yani değiştirilmiş bir satır ise atılmadan önce ana belleğe geri yazılmalıdır.

Bir satırı "M" durumunda tutan bir ön bellek, ana belleğe diğer ön bellekler tarafından yapılan okuma isteklerini cevaplamak için gözetlemelidir (snoop). Bu genellikle okuma isteğini erteletmek, sonra da veriyi ana belleğe yazarak durumu "S"ye çevirmek şeklinde yapılır.

Bir satırı "S" durumunda tutan bir ön bellek başka ön belleklerden gelen geçersizleştirme veya yazma isteklerini dinlemeli ve bu takdirde satırı geçersiz ("I" durumu) yapmalıdır.

Bir satırı "E" durumunda tutan bir ön bellek de diğer ön belleklerden gelen okuma isteklerini gözetlemelidir ve bu takdirde satırı "S" durumuna değiştirmelidir.

"M" ve "E" durumundaki satıra sahip ön bellek, satırın sahibi durumundadır. "S" durumundaki satıra sahip ön bellek ise bir başka ön bellek "S" satırını atsa ve satırın tek sahibi olsa dahi "E" durumuna yükselemez.

Sahiplik isteği

Sahiplik isteği (Request for Ownership) veya Özel okuma isteği(Read Exclusive) ön bellek tutarlılığı protokollerinde okuma ve geçersizleştirme isteklerinin birleşimi olan bir işlemdir. Bu işlem "I" durumundaki bir ön bellek satırına yazmaya çalışan bir işlemci tarafından yapılır. Bu işlem diğer ön belleklerdeki kopyalarını "I" durumuna değiştirir. Bu işlem veriyi ön belleğe getirir ve diğer ön belleklerdeki kopyaları geçersizleştirir.

Kaynakça

Dış bağlantılar

  • İnteraktif bir MESI simulasyonu(İngilizce)3 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
  • M. S. Papamarcos and J. H. Patel, "A low-overhead coherence solution for multiprocessors with private cache memories," Proc. 11th Annual Int. Symp. on Computer Architecture, pp. 348–354, June 1984. (This is where Illinois Cache Protocol was first published).

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">HTTP</span> iletişim protokolü

HTTP bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, World Wide Web için veri iletişiminin temelidir; burada köprü metni belgeleri, örneğin bir fare tıklamasıyla veya bir web tarayıcısında ekrana dokunarak kullanıcının kolayca erişebileceği diğer kaynaklara köprüler içerir.

i386

Intel 80386 veya i386, 80286'dan sonraki Intel mikroişlemcisi.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

<span class="mw-page-title-main">DRAM (bilgisayar)</span>

Dinamik Rastgele Erişimli Bellek, dinamik rastgele erişimli bellek bir tümleşik devre içinde her bir veri bitini ayrı bir kapasitör içinde saklayan Rastgele Erişimli Bellek türüdür. Kapasitörler yapıları gereği bir süre sonra boşalacağından yenileme/tazeleme (refresh) devresine ihtiyaçları vardır. Bu yenileme ihtiyacından dolayı DRAM, SRAM ve diğer statik belleklerin zıddı durumundadır. DRAM’in SRAM üzerindeki avantajı onun yapısal basitliğidir: 1 bit için 1 transistör ve 1 kapasitör DRAM için yeterliyken SRAM için 6 transistör gerekir. DRAM, yenileme devresinden dolayı çok yer kaplar. Güç kaynağı açık olduğu durumda DRAM ve SRAM sakladığı verileri korur bu nedenle her iki bellek aygıtı da volatiledir.

İşlemci önbelleği, CPU'nun hafızadaki verilere ulaşma süresini azaltan bir donanımdır. Ana belleğe(RAM) kıyasla küçük, hızlı ve işlemci çekirdeğine yakındır. Sık kullanılan veriler ya da en güncel veriler işlemci önbelleğinde saklanır. Günümüzde pek çok CPU, birden çok seviyede önbellek içerir, bu önbellekler verilerin yanı sıra komutları da bünyesinde tutar.

NUMA, Düzensiz Bellek Erişimi veya Düzensiz Bellek MimarisiNon-Uniform Memory Access veya Non-Uniform Memory Architecture” (NUMA) çok işlemcililerde bellek erişim zamanının belleğin işlemci üzerindeki yerine bağlı olduğu bir bilgisayar belleği tasarımıdır. NUMA altında bir işlemci kendi yerel belleğine yerel olmayan bellekten daha hızlı bir şekilde ulaşır, diğer bir ifadeyle, bir başka işlemcinin yerel belleğinden veya işlemciler arasında paylaşılan bellekten daha hızlı erişir.

Boru hattı yöntemi bilgisayar mimarisi ve diğer sayısal ürünlerin tasarımında başarımı artırmak için uygulanan bir yöntemdir. Komutları, boru hattı yöntemi ile işleyip daha kısa süre içinde bitmesini sağlar. Asıl amacı saat sıklığını artırarak başarımı artırmaktır. Farklı kaynakları aynı anda, farklı işler tarafından kullanarak çalışır.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

<span class="mw-page-title-main">Etkin sayfalar ön belleği</span> Bilgisayar bileşeni

Etkin sayfalar ön belleği (ESÖ) (Translation Lookaside Buffer ) sanal bellek kullanan işlemcilerde adres dönüştürme işleminin hızlandırılmasını sağlayan bir tekniktir.

<span class="mw-page-title-main">Yazmaç öbeği</span>

Yazmaç öbeği, bir merkezi işlem birimindeki işlemci yazmaçlarının bir dizisini ifade etmektedir. Modern tümleşik devre tabanlı yazmaç öbekleri genellikle çok portlu hızlı durağan rastgele erişimli bellekleri (SRAM) kullanılarak sistemlere tümleştirilmektedirler. Bu tür rastgele erişimli bellekleri kullandıkları okuma ve yazma girişlerine göre ayrılır, fakat normal çok portlu durağan rastgele erişimli bellekler okuma ve yazma işlemlerini aynı girişleri kullanarak gerçekleştirebilmektedirler.

Önden yürütüm işlemcinin ön bellekte bulamama durumunda boşa harcayacağı çevrimlerin beklemekte olan buyrukların önceden yürütülmesi ile faydalı şekilde kullanılması esasına dayalı bir bilgisayar mimarisi tekniğidir. Bu şekilde önceden yürütülecek olan buyruklar ile gelecekte oluşacak olan önbellekte bulamama durumları tespit edilerek, işlemcinin boşta olan yürütüm kaynakları kullanılarak faydalı buyruk ve veri ön yüklemeleri yapılması sağlanır.

<span class="mw-page-title-main">Önbellek tutarlılığı</span>

Ön bellek tutarlılığı, paylaşılan kaynağın yerel ön belleğinde kaydedilen verinin tutarlılığını ifade eder. Bir bilgisayar sistemindeki istemciler ortak bir bellek kaynağının ön belleğini kullandıklarında, tutarsız verilerle ilgili sorunlar ortaya çıkabilir. Bu, bilhassa, çoklu işleme yapan sistemlerdeki merkezi işlem birimi için geçerlidir.

MSI protokolü temel bir ön bellek tutarlılığı protokolü olup, çoklu işlemci sistemlerinde çalışır. Diğer ön bellek tutarlılığı protokollerinde olduğu gibi, protokol isminin baş harfleri ön bellek satırının bulunabileceği olası durumların İngilizce isimlerini söyler. .MSI dosya uzantılı bir dosya bir Windows Installer Paketi dosyasıdır. MSI için, ön bellekte bulunan her öbek olası üç durumdan birinde olabilir:

MOESI diğer ön bellek tutarlılığı protokollerinin çoğunda kullanılan durumları kapsayan tam bir protokoldür. Yaygın olan dört yaygın MESI durumları yanında, bu protokolde beşinci bir "Sahip (Owned)" durumu mevcuttur ki hem değiştirilmiş hem de paylaşılan veriyi ifade eder. Bu değiştirilmiş veriyi paylaşmadan önce ana belleğe geri yazma ihtiyacını ortadan kaldırır. Neticede veri yine de ana belleğe yazılmak zorunda olsa da, bu yazma ertelenmiş olur.

MERSI protokolü PowerPC G4 işlemcisinde kullanılan bir önbellek tutarlılığı protokolüdür. Bu protokol beş durumdan oluşur. M, E, S ve I durumları MESI protokolündekiyle aynıdır. Farklı olarak bulunan Güncel (Recent) "R" durumu ise, "E" durumuna benzer olarak, geçerli ve ana bellekle aynı olan tek veri olması durumunu ifade eder. "E" durumundan farklı olarak ise, önbellek "R" durumundayken veride değişiklik yapmak (yazmak) istediğinde öncelikle sahipliği için istekte bulunması gerekir. Hem MESI hem MERSI protokollerinde "E" durumundan "M" durumuna geçiş yerel olarak yapılabilir.

MESIF protokolü Intel tarafından ön bellek tutarlı düzensiz bellek erişimi için geliştirilmiş bir ön bellek tutarlılığı protokolüdür. Bu protokol beş durumdan oluşur. Bunlardan "M", "E", "S" ve "I" durumları MESI protokolündeki gibidir. "F" durumu ise "S" durumunun özelleşmiş bir çeşididir ki ilgili ön bellek satırı için herhangi bir istek geldiğinde bu ön bellek cevap verir. Protokole göre eğer herhangi bir ön bellek bir satırı "S" durumunda tutuyorsa, en fazla bir (diğer) ön bellek onu "F" durumunda tutar.

<span class="mw-page-title-main">Önbellek</span>

Hesaplamada, önbellek ; veri depolayan bir donanım veya yazılım bileşenidir, böylece bu veriler için gelecekteki talepler daha hızlı bir şekilde yerine getirilebilir; Bir önbellekte depolanan veriler daha önceki bir hesaplamanın sonucu veya başka bir yerde depolanan verilerin bir kopyası olabilir. İstenen veriler bir önbellekte bulunduğunda, önbellek kaçması, yapamadığında önbellek kaçırma şeklinde göründüğünde önbellek isabet oluşur. Önbellek isabetleri, bir sonucu yeniden hesaplamadan veya daha yavaş bir veri deposundan okumadan daha hızlı olan önbellekten veri okuyarak yapılır; bu nedenle, önbellekten ne kadar fazla istek yapılabiliyorsa, sistem o kadar hızlı çalışır.

Bellek tutarlılığı, ortak bir bellek alanı paylaşan bir veya daha fazla işlemci veya çekirdek içeren bilgisayar sistemlerinin tasarımını etkileyen bir konudur.