İş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.
Gelişim süreci ve bilgisayar mimarîsindeki yeri
Moore Yasası’nın belirttiği üzere işlemci başarımının bellek başarımına oranı yılda yaklaşık %50 artar. Bu da zaman geçtikçe, işlemci hızının bellek hızından çok daha büyük olmasına sebep olur. Gün geçtikçe artan bu fark, bilgisayar mimarîsinde çeşitli sorunlar meydana getirmiş, işlemci hızının oldukça yüksek değerlere ulaşmasına rağmen, bu hızın tam verimle kullanılamamasına sebep olmuştur. Yani bellek konusunda bir darboğaz oluşmuştur. Bu yüzden 1980 lerde, işlemci saati 20 Mhz değerlerine ulaşmaya başladığında mimarî geliştiricileri, işlemciyle bellek arasında bir tampon görevi gören ön belleği üretmişler ve işlemci yongası üstünde kullanmaya başlamışlardır.
Yerellik (İngilizce: principle of locality)
Ön belleğin çalışma ilkelerinden biri "yerellik ilkesi" (İng. İngilizce: principle of locality)’dir. Yerellik ilkesine göre iki tür yerellik vardır.
Zamanda yerellik
İşlemcinin son ulaştığı ögeye yakın bir zamanda yeniden ulaşmak istemesi olasıdır. Bu sebeple son ulaşılan ögelerin işlemciye yakın tutulması gerekir.
Alanda yerellik
Bellekten okunan bir ögenin yakınındaki adreslerde bulunan ögelere ulaşmak istemesi olasıdır. Bu sebeple okunan ögenin yakınındaki adreslerde bulunan verilerin işlemciye yakın tutulması gerekir.
Yerellik ilkesinden yararlanarak, çalıştırılan programların büyük ölçüde hızlanması sağlanır çünkü pek çok program yüksek sayıda içerir ve yerellik sayesinde bellekte yakın adreslerde tutulan döngü komutları ön belleğe alınıp oldukça hızlı bir şekilde işlenebilir. Tasarımda istenenlere göre büyük boyutlu, ama yüksek zaman erişimine sahip ya da yüksek zaman erişimli, ama düşük kapasiteli bellek kullanılır.
Çeşitleri ve çalışma şekilleri
Ön belleğin artırmak için tasarımcılar çeşitli yollar düşünmüşlerdir. Ön bellekte başarımı artırmak için üç yöntem uygulanabilir.
- Bulamama oranını azaltmak,
- Bulma gecikmesini azaltmak,
- Ön belleğin erişim süresini azaltmak,
Bu başarım ilkelerini gerçekleştirirken mühendisliğin pek çok dalında olduğu gibi birinden kazanç sağlamak için diğer ilkeden ödün verilmesi çoğu zaman kaçınılmazdır.
Ön bellekte, gerekli başarımı sağlamak için aranan verinin ön bellekte olup olmaması ve varsa nasıl bulunacağı konusu önemli bir konudur. Bu da ön bellekteki öbeklerin (İng. İngilizce: cache line) ana bellekteki adreslerle nasıl ilişkilendirileceği (eşleneceği) sorusunun cevabıdır. İlişkilendirme şekillerine göre doğrudan ilişkili, tam ilişkili ve küme ilişkili olmak üzere üç tür ön bellek vardır.
Doğrudan ilişkili ön bellek
Bir ön bellekte, bir alt seviye bellekte bulunan her bir veri ögesi, ön bellekte sadece bir yerde tutulabiliyorsa bu tür ön belleğe doğrudan ilişkili ön bellek denir. Bu tür ilişkilendirmede alt seviyedeki birden fazla veri ön bellekte aynı konumu paylaşır. Verilerin ön bellekteki adresi, bellek adreslerinin ön belleğin öbek boyutuna bölümünden kalan hesaplanarak bulunur. Adresin 2N satırlık bir ön bellekte aranılan sözcüğü bulması için öncelikle adres üç parçaya ayrılır. Son M biti bayt seçimi için kullanılır. (Kelime boyutu 2M bayt olduğu için). Sondan M bit ayrıldıktan sonra kalan kısmın son N biti satırı seçmek için kullanılır. Adresin ön bellekteki satır sayısına bölünmesiyle bulunur. Geriye kalan kısım ise ön bellekte verinin olarak saklanır.
Başarımı arttırmak için ön belleğin öbek boyutunu arttırmak etkili bir çözüm olarak düşünülebilir. Ama öbek boyutu arttıkça alanda yerellikten yararlanmak kolaylaşsa da öbeklerin dolma zamanı ve bellekte bulunamama süreleri artacağından belli bir noktadan sonra ön belleğin oldukça yavaş çalışmasına sebep olur.
Tam ilişkili ön bellek
Tam ilişkili ön bellekte doğrudan ilişkili ön belleğin aksine adres satırı bölündüğünde konumu tutan bir adres parçası olmaz. Örneğin 32 bitlik öbeklere sahip bir ön bellekte 27 bit etiket, geri kalan bitler ise bayt seçimi için kullanılır. Bu ön bellekte satır numarası tutulmadığından etiketlerle verinin adresi aynı anda karşılaştırılır. Bu tür bir ön bellekte iki veri ögesi aynı ön bellek satırında tutulamayacağından çatışmadan dolayı bulamama 0’dır.
Kümeli ilişkili ön bellek
Bu ön bellek türü, doğrudan ilişkili ön belleğin iki, dört veya daha fazla küme şeklinde ilişkilendirilmesiyle oluşturulmuştur. Yine doğrudan ilişkili ön bellekte olduğu gibi bellek adresi parçalara bölünür ve etiket, satır numarası ve bayt seçimi olarak ayrılır. Her bir satır yine satır numarasıyla kontrol edilir. Doğrudan ilişkili ön bellekten farklı olarak satır numarasıyla her bir küme sütunundan öbekler alınır ve etiketle karşılaştırıldıktan sonra eğer veri öbekte bulunduysa küme sayısı kadar girişi olan çoklayıcıyla (İng. İngilizce: MUX) istenen veri öbeği seçilip alınır.
Kümeli ilişkili ön belleğin, doğrudan ilişkili ön bellekle farkı, küme ilişkisi kadar doğrudan eşlemeli ön belleğin aynı anda çalışıp sonuç üretmesidir. Fakat N yollu kümeli ilişkili ön bellek içinde N tane karşılaştırma barındırırken, doğrudan ilişkili ön bellek sadece bir karşılaştırma barındırır. Ayrıca çoklayıcı da kullanıldığından belli bir çoklayıcı gecikmesini sahiptir. Doğrudan ilişkili ön bellekte veri bulundu/bulunamadı kararından önce hazırken burada karardan sonra veri hazır hale gelebilir. İşleme veri bulunmuş gibi devam edilip, bulunamadıysa düzeltilme yapılıp devam edilir.
Günümüzde her üç ilişkilendirme türü de tasarımın işlevine ve tasarım örüntülerine göre çeşitli ön bellek türlerinde kullanılmaktadır.
Yaz-sil denetimi (İngilizce: replacement policy)
Yeni gelen öbeklere yer açmak için, ön belleğin içinde bulunan öbek veya öbeklerin silinmesi gerekir. Hangi öbeklerin ön bellekten boşaltılacağını belirlemek için kullanılan kurala “yaz-sil denetimi” (İng. İngilizce: replacement policyreplacement policy) denir. Yaz-sil denetiminin ana sorunu ileride en az kullanılacak olan öbeğin tahmin edilip ön bellekten silineceğini belirlemektir. Donanımın hangi öbeğin en az kullanılacağını belirlemesi oldukça zordur. Günümüzde hangi öbeğin ön bellekten silineceğini belirlemek için kullanılan iki yöntem vardır:
- Rastgele öbek çıkarılması: Ön bellekteki herhangi bir konumdaki öbek silinir ve bellekten getirilen öbek bu konuma yazılır. Bu yöntem pek sağlıklı değildir. Ön bellekte sık erişilen bir öbeğin silinmesine ve zaman kayıplarına yol açabilir.
- En eski öbeğin çıkarılması: Bu yöntemde “ilk giren ilk çıkar” (FIFO) mantığı kullanılır.
- Son zamanda en az kullanılan öbeğin çıkarılması: (İng. İngilizce: Least Recently Used - LRU) Ön bellekte bir konuma veri yazılacaksa, öbeklerden son zamanda en uzun süredir erişim yapılmayan öbek çıkarılır. Ön belleğin dinamik kullanımı hakkında bilgi gerektirir. Bu sebeple maliyet daha fazladır, ancak FIFO yönteminden daha başarılıdır.
- Optimum yaz-sil denetimi: Gelecekte hangi öbeklere hangi sıra ile erişim olacağını bilmeyi gerektirir. Bu sıra tahmin edilebilir ya da kod daha önce çalıştırılarak görülebilir. Ancak maliyet yüksektir.
Ön bellekte verinin bulunamamasının sebepleri
Aranılan öbek her zaman ön bellekte olmayabilir. Bunun sebepleri şunlardır:
- İşlemci bir öbeğe ilk kez erişmek istediğinde: Bu durumda bulamamayı engellemek için yapılabilecek bir şey yoktur çünkü tahmini de hemen hemen imkânsızdır. Ama işlenen buyruk sayısı oldukça fazla ise bu tür bir bulamama durumu önemsiz kalır.
- Birden çok bellek konumunun aynı ön bellek satırına eşlenmesi sonucu oluşan çatışma: Bu sorunun üstesinden gelmek için ön belleğin boyutu arttırılabilir ya da ilişkilendirme sayısı arttırılıp bir satırda daha fazla öbek olması sağlanabilir. Böylece eşlenme sayısı artacağından çatışma riski azalır.
- Boyut yetersizliği: Ön bellek gerektiği kadar öbeği saklayacak sığaya sahip değilse çalıştırılan programlar ihtiyaç duydukları öbeklere ön bellekten erişemez ve hız düşer. Bu ön belleğin boyutu arttırılarak giderilebilir. Ama ön bellek boyutu çok fazla arttırılırsa ana bellek gibi davranmaya başlayacağından belli değerlerin üstüne çıkması başarımı düşürür. Günümüzde ön bellekler genellikle 2 MB ve altı sığalarda üretilmektedir.
- Geçersizleştirme: Eğer belleğe erişim sonucu bellek içeriği değişirse ön bellek öbeği anlamsız kalır.
Yazma denetimi (İngilizce: write policy)
Bir veri öbeği, yazma aşamasına geldiğinde ön belleğe yazıldığı gibi ana belleğe de yazılmalıdır. Bunu kontrol eden denetime yazma denetimi (İng. İngilizce: write policy), denetimin davranış şekline de yazma-yazmama tayini (İng. İngilizce: write, no-write allocation) denir.
Yazma tayini (İngilizce: write allocation)
Bu atama şeklinde temelde kullanılan iki yöntem vardır.
Sonra geri yaz (İng. İngilizce: write-back): Bu yöntemde veri öbeği öncelikle sadece ön belleğe yazılır. Bu öbek daha sonra ön bellekten çıkarılacağı zaman alt seviyedeki belleğe yazılır. Bu tür bir yazma, karmaşık bir denetim gerektirir. Veri ön belleğe yazıldığında “kirli” (İng. İngilizce: dirty) olarak tanımlanır. Öbek ön bellekten çıkarılırken kirli olup olmadığı denetlenir ve kirliyse ana belleğe yazılır. Bu yöntemin avantajı her yazma işlemi yapıldığında ana belleğe yinelenen yazma işlemleri yapmayı önlemesidir. Veriler sadece ön bellekten çıkarken ana belleğe yazılır.
Tümüne yaz (İng. İngilizce: write thorough): Bu yöntemde veri ön belleğe yazıldığı anda alt seviyedeki belleklere de yazılır. Bu yöntem her aşamada belleğe erişimi ve yeniden yazmayı gerektirir.
Bu tür denetimde ön belleğin, ana belleğe yazma işlemini beklememesi için yazma ara bellekleri kullanılır. Ön bellekten çıkarılan veriler belleğe yazılmak üzere bir ara belleğe alınır. Dört ilâ sekiz satır gibi küçük bir boyuta sahip olan bu ara bellek “ilk giren ilk çıkar” (İng. İngilizce: FIFO) mantığıyla çalışır. Veri ön bellekten geldikçe daha önce gelmiş olan veriler ana belleğe yazılmaya devam edilir.
Ara bellek kullanılması ana belleğe yazılma işlemini hızlandırsa da bâzı sorunlara yol açabilir. Eğer ara belleğin belleğe yazım hızı çok düşükse, kısa süre sonra ara bellek dolar ve daha fazla veri alamamaya başlar. Bu durumda bütün sistem yavaşlayacağından ara belleğin hızlı çalışması gerekir.
Yazma ara belleğinin doymasını önlemek için seviyeli bellek yapısı kullanılır. Yazma ara belleği ile ana bellek arasına ikinci seviye bir ön bellek daha eklenir ve “sonra geri yaz” mantığı kullanılır. Genellikle ikinci seviye ön bellek ana bellek yongası üstünde bulunan SRAM yapıda küçük bir alandır. Bu uygulama bulamama gecikmesini azaltır.
Yazmama tayini (İngilizce: write no-allocate)
Eğer ön bellekte yazma işlemi gerçekleştirilmiyorsa, yazma işlemini yapmamak için sadece işlemci erişimi ön belleğe kaydediliyorsa bu duruma yazmama tayini (İng. İngilizce: write no-allocate) denir.
Çalışması
Bir ön belleğin çalışması, kabaca özetlenirse, işlemci yeni bir veri istediğinde belleğe erişmek istemesiyle başlar. Veri öbeği önce ön bellekte aranır ve bulunursa gerekli öbek işlemci tarafından alınır. Bulunamaması durumunda ise aranılan veri için bir üst seviye bellek kontrol edilir. Bu kullanılan yapıya göre ana bellek veya ikinci seviye bir ön bellek olabilir. Aranılan veri bu bellekten çekildikten sonra, ön belleğe de yazılması gerekir. Bunun için yaz-sil denetimi kullanılarak seçilen öbeklerin yerine yenileri yerleştirilir.
İşlemcinin ön belleğe yazım işlemini gerçekleştirmesi için ise yazma denetimi kullanılır. Yazma denetiminin kararına göre veri ön bellekle, belleğe aynı anda veya öbekler ön bellekten çıkarılırken yazılır. Bu aşamada genellikle bir yazma ara belleği kullanılır. Yazılacak veriler ara belleğe yerleştirilir ve bir üst seviyee yazma işlemini bu ara bellek gerçekleştirir.
Uygulamaları
Ön bellekler günümüzde işlemci dışındaki alanlarda veya işlemcide çeşitli farklı işlemleri gerçekleştirmek için kullanılırlar.
Özelleştirilmiş ön bellek
Boru hattı kullanan MİB’ler (Merkezi İşlem Birimi yani CPU) belleğe boru hattındaki birkaç noktadan erişirler. Bunlar buyruğun yakalanması, sanal-fiziksel adres dönüşümü ve veri yakalanmasıdır. Bu noktaların her biri için farklı fiziksel ön bellekler kullanılır, böylece hiçbir fiziksel kaynak boru hattında iki noktaya hizmet vermek zorunda kalmaz. Sonuç olarak boru hattı her biri farklı görevde özelleşmiş en az üç farklı ön bellek ile biter.
Geri dönüşüm ön belleği
Geri dönüşüm ön belleği, çakışma veya kapasite azlığından meydana gelen bulamama durumlarından dolayı işlemci ön belleğinden çıkan öbekleri atmak için kullanılır. Geri dönüşüm ön belleği, ana bellek ve onun tekrar dolma yoluna dayanır ve sadece bulamama durumunda öbekleri atar. Bu teknik, bulamama durumunun gecikmesini azaltmak için kullanılır.
İz ön belleği
İz ön belleği, buyruğun önceden yakalanmış ve çözülmüş izlerini saklayarak buyruk yakalama artırmak ve güç tüketimini azaltmak için kullanılır.
İz ön belleği, buyrukları çözüldükten veya işlendikten (İng. İngilizce: retire) sonra saklar. Genel olarak, buyruklar iz ön belleğe yalnız basit öbekler ya da hareketli buyruk izleri şeklinde gruplar halinde eklenir. Basit öbek dallanmayla biten, dallanma olmayan buyruk gruplarından oluşur. Hareketli iz (iz yolu), yalnızca sonuçları en son kullanılan buyrukları içerir ve dallanmaları takip eden buyrukları eler. Hareketli iz, birkaç basit öbeğin birbirine bağlanmasından oluşabilir. Bu, işlemcinin buyruk yakalama biriminin basit öbekleri, çevrimde olan dallanmaları önemsemeden getirmesine izin verir.
İz çizgileri izdeki ilk buyruğun program sayacı ve bir dallanma tahmini kümesine dayanacak şekilde iz ön belleğinde saklanır. Bu, aynı adresle başlayan, her biri farklı dallanma gösteren farklı iz yollarını saklamak için kullanılır. Bir boru hattının buyruk yakalama aşamasında, o anki program sayacı bir dallanma tahmini kümesi ile birlikte iz ön belleğinde erişim için kontrol edilir. Eğer erişim varsa iz çizgisi düzenli bir ön belleğe ya da belleğe gitmeyen buyrukların yakalanmasını sağlar. İz ön belleği, iz çizgisi bitene ya da boru hattında bir yanlış tahmin olana kadar yakalama birimini beslemeye devam eder. Bulamama durumu olduğunda yeni bir iz yaratılmaya başlanır.
Çok aşamalı ön bellekler
Büyük ön bellekler daha iyi bulma oranına sahiptirler fakat gecikme süresi fazladır. Bu sorunu çözmek için birçok bilgisayarda büyük ve yavaş ön bellekler tarafından desteklenen küçük ve hızlı ön bellekler kullanılır.
Çok aşamalı ön bellekler genellikle çalışmaya en küçük (aşama 1) ön bellekle başlar ve eğer erişebilirse bu işlemci yüksek hızda çalışır. Eğer küçük ön bellekte bulunamazsa büyük ön bellek (aşama 2) kontrol edilir ve tüm bellek kontrol edilene kadar devam eder.
Diğer uygulamalar
Diğer işlemciler,diğer tür tahmin ediciler ve gelecekteki işlemcilerde gelişmesi muhtemel olan çeşitli özelleştirilmiş tahmin ediciler kullanır. Bu tahmin ediciler hesaplaması masraflı bilgiler saklayan ön belleklerdir. İşlemci içinde dallanma tahminleri vb. işlemleri gerçekleştiren tahmin ediciler de ön bellek yapısına sahiptir. Ayrıca sanal bellek uygulamalarında sanal adreslerin gerçek adreslere dönüştürülmesinde de adres dönüştürme ön belleği (İng. İngilizce: Translation Lookaside Buffer) kullanılır
Kaynakça
- ^ . acm.org. 19 Mayıs 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Kasım 2007.
Ayrıca bakınız
Dış bağlantılar
- Ön bellek prensibini anlatan HowStuffWorks sayfası 24 Aralık 2007 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Islemci onbellegi CPU nun hafizadaki verilere ulasma suresini azaltan bir donanimdir Ana bellege RAM kiyasla kucuk hizli ve islemci cekirdegine yakindir Sik kullanilan veriler ya da en guncel veriler islemci onbelleginde saklanir Gunumuzde pek cok CPU birden cok seviyede onbellek icerir bu onbellekler verilerin yani sira komutlari da bunyesinde tutar Gelisim sureci ve bilgisayar mimarisindeki yeriMoore Yasasi nin belirttigi uzere islemci basariminin bellek basarimina orani yilda yaklasik 50 artar Bu da zaman gectikce islemci hizinin bellek hizindan cok daha buyuk olmasina sebep olur Gun gectikce artan bu fark bilgisayar mimarisinde cesitli sorunlar meydana getirmis islemci hizinin oldukca yuksek degerlere ulasmasina ragmen bu hizin tam verimle kullanilamamasina sebep olmustur Yani bellek konusunda bir darbogaz olusmustur Bu yuzden 1980 lerde islemci saati 20 Mhz degerlerine ulasmaya basladiginda mimari gelistiricileri islemciyle bellek arasinda bir tampon gorevi goren on bellegi uretmisler ve islemci yongasi ustunde kullanmaya baslamislardir Yerellik Ingilizce principle of locality On bellegin calisma ilkelerinden biri yerellik ilkesi Ing Ingilizce principle of locality dir Yerellik ilkesine gore iki tur yerellik vardir Zamanda yerellik Islemcinin son ulastigi ogeye yakin bir zamanda yeniden ulasmak istemesi olasidir Bu sebeple son ulasilan ogelerin islemciye yakin tutulmasi gerekir Alanda yerellik Bellekten okunan bir ogenin yakinindaki adreslerde bulunan ogelere ulasmak istemesi olasidir Bu sebeple okunan ogenin yakinindaki adreslerde bulunan verilerin islemciye yakin tutulmasi gerekir Yerellik ilkesinden yararlanarak calistirilan programlarin buyuk olcude hizlanmasi saglanir cunku pek cok program yuksek sayida icerir ve yerellik sayesinde bellekte yakin adreslerde tutulan dongu komutlari on bellege alinip oldukca hizli bir sekilde islenebilir Tasarimda istenenlere gore buyuk boyutlu ama yuksek zaman erisimine sahip ya da yuksek zaman erisimli ama dusuk kapasiteli bellek kullanilir Cesitleri ve calisma sekilleriOn bellegin artirmak icin tasarimcilar cesitli yollar dusunmuslerdir On bellekte basarimi artirmak icin uc yontem uygulanabilir Bulamama oranini azaltmak Bulma gecikmesini azaltmak On bellegin erisim suresini azaltmak Bu basarim ilkelerini gerceklestirirken muhendisligin pek cok dalinda oldugu gibi birinden kazanc saglamak icin diger ilkeden odun verilmesi cogu zaman kacinilmazdir On bellekte gerekli basarimi saglamak icin aranan verinin on bellekte olup olmamasi ve varsa nasil bulunacagi konusu onemli bir konudur Bu da on bellekteki obeklerin Ing Ingilizce cache line ana bellekteki adreslerle nasil iliskilendirilecegi eslenecegi sorusunun cevabidir Iliskilendirme sekillerine gore dogrudan iliskili tam iliskili ve kume iliskili olmak uzere uc tur on bellek vardir Dogrudan iliskili on bellek Bir on bellekte bir alt seviye bellekte bulunan her bir veri ogesi on bellekte sadece bir yerde tutulabiliyorsa bu tur on bellege dogrudan iliskili on bellek denir Bu tur iliskilendirmede alt seviyedeki birden fazla veri on bellekte ayni konumu paylasir Verilerin on bellekteki adresi bellek adreslerinin on bellegin obek boyutuna bolumunden kalan hesaplanarak bulunur Adresin 2N satirlik bir on bellekte aranilan sozcugu bulmasi icin oncelikle adres uc parcaya ayrilir Son M biti bayt secimi icin kullanilir Kelime boyutu 2M bayt oldugu icin Sondan M bit ayrildiktan sonra kalan kismin son N biti satiri secmek icin kullanilir Adresin on bellekteki satir sayisina bolunmesiyle bulunur Geriye kalan kisim ise on bellekte verinin olarak saklanir Basarimi arttirmak icin on bellegin obek boyutunu arttirmak etkili bir cozum olarak dusunulebilir Ama obek boyutu arttikca alanda yerellikten yararlanmak kolaylassa da obeklerin dolma zamani ve bellekte bulunamama sureleri artacagindan belli bir noktadan sonra on bellegin oldukca yavas calismasina sebep olur Tam iliskili on bellekte iliskilendirmeTam iliskili on bellek Tam iliskili on bellekte dogrudan iliskili on bellegin aksine adres satiri bolundugunde konumu tutan bir adres parcasi olmaz Ornegin 32 bitlik obeklere sahip bir on bellekte 27 bit etiket geri kalan bitler ise bayt secimi icin kullanilir Bu on bellekte satir numarasi tutulmadigindan etiketlerle verinin adresi ayni anda karsilastirilir Bu tur bir on bellekte iki veri ogesi ayni on bellek satirinda tutulamayacagindan catismadan dolayi bulamama 0 dir Kumeli iliskili on bellek Bu on bellek turu dogrudan iliskili on bellegin iki dort veya daha fazla kume seklinde iliskilendirilmesiyle olusturulmustur Yine dogrudan iliskili on bellekte oldugu gibi bellek adresi parcalara bolunur ve etiket satir numarasi ve bayt secimi olarak ayrilir Her bir satir yine satir numarasiyla kontrol edilir Dogrudan iliskili on bellekten farkli olarak satir numarasiyla her bir kume sutunundan obekler alinir ve etiketle karsilastirildiktan sonra eger veri obekte bulunduysa kume sayisi kadar girisi olan coklayiciyla Ing Ingilizce MUX istenen veri obegi secilip alinir Kumeli iliskili on bellegin dogrudan iliskili on bellekle farki kume iliskisi kadar dogrudan eslemeli on bellegin ayni anda calisip sonuc uretmesidir Fakat N yollu kumeli iliskili on bellek icinde N tane karsilastirma barindirirken dogrudan iliskili on bellek sadece bir karsilastirma barindirir Ayrica coklayici da kullanildigindan belli bir coklayici gecikmesini sahiptir Dogrudan iliskili on bellekte veri bulundu bulunamadi kararindan once hazirken burada karardan sonra veri hazir hale gelebilir Isleme veri bulunmus gibi devam edilip bulunamadiysa duzeltilme yapilip devam edilir Gunumuzde her uc iliskilendirme turu de tasarimin islevine ve tasarim oruntulerine gore cesitli on bellek turlerinde kullanilmaktadir Yaz sil denetimi Ingilizce replacement policy Yeni gelen obeklere yer acmak icin on bellegin icinde bulunan obek veya obeklerin silinmesi gerekir Hangi obeklerin on bellekten bosaltilacagini belirlemek icin kullanilan kurala yaz sil denetimi Ing Ingilizce replacement policy replacement policy denir Yaz sil denetiminin ana sorunu ileride en az kullanilacak olan obegin tahmin edilip on bellekten silinecegini belirlemektir Donanimin hangi obegin en az kullanilacagini belirlemesi oldukca zordur Gunumuzde hangi obegin on bellekten silinecegini belirlemek icin kullanilan iki yontem vardir Rastgele obek cikarilmasi On bellekteki herhangi bir konumdaki obek silinir ve bellekten getirilen obek bu konuma yazilir Bu yontem pek saglikli degildir On bellekte sik erisilen bir obegin silinmesine ve zaman kayiplarina yol acabilir En eski obegin cikarilmasi Bu yontemde ilk giren ilk cikar FIFO mantigi kullanilir Son zamanda en az kullanilan obegin cikarilmasi Ing Ingilizce Least Recently Used LRU On bellekte bir konuma veri yazilacaksa obeklerden son zamanda en uzun suredir erisim yapilmayan obek cikarilir On bellegin dinamik kullanimi hakkinda bilgi gerektirir Bu sebeple maliyet daha fazladir ancak FIFO yonteminden daha basarilidir Optimum yaz sil denetimi Gelecekte hangi obeklere hangi sira ile erisim olacagini bilmeyi gerektirir Bu sira tahmin edilebilir ya da kod daha once calistirilarak gorulebilir Ancak maliyet yuksektir On bellekte verinin bulunamamasinin sebepleriAranilan obek her zaman on bellekte olmayabilir Bunun sebepleri sunlardir Islemci bir obege ilk kez erismek istediginde Bu durumda bulamamayi engellemek icin yapilabilecek bir sey yoktur cunku tahmini de hemen hemen imkansizdir Ama islenen buyruk sayisi oldukca fazla ise bu tur bir bulamama durumu onemsiz kalir Birden cok bellek konumunun ayni on bellek satirina eslenmesi sonucu olusan catisma Bu sorunun ustesinden gelmek icin on bellegin boyutu arttirilabilir ya da iliskilendirme sayisi arttirilip bir satirda daha fazla obek olmasi saglanabilir Boylece eslenme sayisi artacagindan catisma riski azalir Boyut yetersizligi On bellek gerektigi kadar obegi saklayacak sigaya sahip degilse calistirilan programlar ihtiyac duyduklari obeklere on bellekten erisemez ve hiz duser Bu on bellegin boyutu arttirilarak giderilebilir Ama on bellek boyutu cok fazla arttirilirsa ana bellek gibi davranmaya baslayacagindan belli degerlerin ustune cikmasi basarimi dusurur Gunumuzde on bellekler genellikle 2 MB ve alti sigalarda uretilmektedir Gecersizlestirme Eger bellege erisim sonucu bellek icerigi degisirse on bellek obegi anlamsiz kalir Yazma denetimi Ingilizce write policy Bir veri obegi yazma asamasina geldiginde on bellege yazildigi gibi ana bellege de yazilmalidir Bunu kontrol eden denetime yazma denetimi Ing Ingilizce write policy denetimin davranis sekline de yazma yazmama tayini Ing Ingilizce write no write allocation denir Yazma tayini Ingilizce write allocation Bu atama seklinde temelde kullanilan iki yontem vardir Sonra geri yaz Ing Ingilizce write back Bu yontemde veri obegi oncelikle sadece on bellege yazilir Bu obek daha sonra on bellekten cikarilacagi zaman alt seviyedeki bellege yazilir Bu tur bir yazma karmasik bir denetim gerektirir Veri on bellege yazildiginda kirli Ing Ingilizce dirty olarak tanimlanir Obek on bellekten cikarilirken kirli olup olmadigi denetlenir ve kirliyse ana bellege yazilir Bu yontemin avantaji her yazma islemi yapildiginda ana bellege yinelenen yazma islemleri yapmayi onlemesidir Veriler sadece on bellekten cikarken ana bellege yazilir Tumune yaz Ing Ingilizce write thorough Bu yontemde veri on bellege yazildigi anda alt seviyedeki belleklere de yazilir Bu yontem her asamada bellege erisimi ve yeniden yazmayi gerektirir Bu tur denetimde on bellegin ana bellege yazma islemini beklememesi icin yazma ara bellekleri kullanilir On bellekten cikarilan veriler bellege yazilmak uzere bir ara bellege alinir Dort ila sekiz satir gibi kucuk bir boyuta sahip olan bu ara bellek ilk giren ilk cikar Ing Ingilizce FIFO mantigiyla calisir Veri on bellekten geldikce daha once gelmis olan veriler ana bellege yazilmaya devam edilir Ara bellek kullanilmasi ana bellege yazilma islemini hizlandirsa da bazi sorunlara yol acabilir Eger ara bellegin bellege yazim hizi cok dusukse kisa sure sonra ara bellek dolar ve daha fazla veri alamamaya baslar Bu durumda butun sistem yavaslayacagindan ara bellegin hizli calismasi gerekir Yazma ara belleginin doymasini onlemek icin seviyeli bellek yapisi kullanilir Yazma ara bellegi ile ana bellek arasina ikinci seviye bir on bellek daha eklenir ve sonra geri yaz mantigi kullanilir Genellikle ikinci seviye on bellek ana bellek yongasi ustunde bulunan SRAM yapida kucuk bir alandir Bu uygulama bulamama gecikmesini azaltir Yazmama tayini Ingilizce write no allocate Eger on bellekte yazma islemi gerceklestirilmiyorsa yazma islemini yapmamak icin sadece islemci erisimi on bellege kaydediliyorsa bu duruma yazmama tayini Ing Ingilizce write no allocate denir CalismasiBir on bellegin calismasi kabaca ozetlenirse islemci yeni bir veri istediginde bellege erismek istemesiyle baslar Veri obegi once on bellekte aranir ve bulunursa gerekli obek islemci tarafindan alinir Bulunamamasi durumunda ise aranilan veri icin bir ust seviye bellek kontrol edilir Bu kullanilan yapiya gore ana bellek veya ikinci seviye bir on bellek olabilir Aranilan veri bu bellekten cekildikten sonra on bellege de yazilmasi gerekir Bunun icin yaz sil denetimi kullanilarak secilen obeklerin yerine yenileri yerlestirilir Islemcinin on bellege yazim islemini gerceklestirmesi icin ise yazma denetimi kullanilir Yazma denetiminin kararina gore veri on bellekle bellege ayni anda veya obekler on bellekten cikarilirken yazilir Bu asamada genellikle bir yazma ara bellegi kullanilir Yazilacak veriler ara bellege yerlestirilir ve bir ust seviyee yazma islemini bu ara bellek gerceklestirir UygulamalariOn bellekler gunumuzde islemci disindaki alanlarda veya islemcide cesitli farkli islemleri gerceklestirmek icin kullanilirlar Ozellestirilmis on bellek Boru hatti kullanan MIB ler Merkezi Islem Birimi yani CPU bellege boru hattindaki birkac noktadan erisirler Bunlar buyrugun yakalanmasi sanal fiziksel adres donusumu ve veri yakalanmasidir Bu noktalarin her biri icin farkli fiziksel on bellekler kullanilir boylece hicbir fiziksel kaynak boru hattinda iki noktaya hizmet vermek zorunda kalmaz Sonuc olarak boru hatti her biri farkli gorevde ozellesmis en az uc farkli on bellek ile biter Geri donusum on bellegi Geri donusum on bellegi cakisma veya kapasite azligindan meydana gelen bulamama durumlarindan dolayi islemci on belleginden cikan obekleri atmak icin kullanilir Geri donusum on bellegi ana bellek ve onun tekrar dolma yoluna dayanir ve sadece bulamama durumunda obekleri atar Bu teknik bulamama durumunun gecikmesini azaltmak icin kullanilir Iz on bellegi Iz on bellegi buyrugun onceden yakalanmis ve cozulmus izlerini saklayarak buyruk yakalama artirmak ve guc tuketimini azaltmak icin kullanilir Iz on bellegi buyruklari cozuldukten veya islendikten Ing Ingilizce retire sonra saklar Genel olarak buyruklar iz on bellege yalniz basit obekler ya da hareketli buyruk izleri seklinde gruplar halinde eklenir Basit obek dallanmayla biten dallanma olmayan buyruk gruplarindan olusur Hareketli iz iz yolu yalnizca sonuclari en son kullanilan buyruklari icerir ve dallanmalari takip eden buyruklari eler Hareketli iz birkac basit obegin birbirine baglanmasindan olusabilir Bu islemcinin buyruk yakalama biriminin basit obekleri cevrimde olan dallanmalari onemsemeden getirmesine izin verir Iz cizgileri izdeki ilk buyrugun program sayaci ve bir dallanma tahmini kumesine dayanacak sekilde iz on belleginde saklanir Bu ayni adresle baslayan her biri farkli dallanma gosteren farkli iz yollarini saklamak icin kullanilir Bir boru hattinin buyruk yakalama asamasinda o anki program sayaci bir dallanma tahmini kumesi ile birlikte iz on belleginde erisim icin kontrol edilir Eger erisim varsa iz cizgisi duzenli bir on bellege ya da bellege gitmeyen buyruklarin yakalanmasini saglar Iz on bellegi iz cizgisi bitene ya da boru hattinda bir yanlis tahmin olana kadar yakalama birimini beslemeye devam eder Bulamama durumu oldugunda yeni bir iz yaratilmaya baslanir Cok asamali on bellekler Buyuk on bellekler daha iyi bulma oranina sahiptirler fakat gecikme suresi fazladir Bu sorunu cozmek icin bircok bilgisayarda buyuk ve yavas on bellekler tarafindan desteklenen kucuk ve hizli on bellekler kullanilir Cok asamali on bellekler genellikle calismaya en kucuk asama 1 on bellekle baslar ve eger erisebilirse bu islemci yuksek hizda calisir Eger kucuk on bellekte bulunamazsa buyuk on bellek asama 2 kontrol edilir ve tum bellek kontrol edilene kadar devam eder Diger uygulamalar Diger islemciler diger tur tahmin ediciler ve gelecekteki islemcilerde gelismesi muhtemel olan cesitli ozellestirilmis tahmin ediciler kullanir Bu tahmin ediciler hesaplamasi masrafli bilgiler saklayan on belleklerdir Islemci icinde dallanma tahminleri vb islemleri gerceklestiren tahmin ediciler de on bellek yapisina sahiptir Ayrica sanal bellek uygulamalarinda sanal adreslerin gercek adreslere donusturulmesinde de adres donusturme on bellegi Ing Ingilizce Translation Lookaside Buffer kullanilirKaynakca acm org 19 Mayis 2010 tarihinde kaynagindan arsivlendi Erisim tarihi 8 Kasim 2007 Ayrica bakinizAra bellek Bellek Islemci Sanal bellekDis baglantilarOn bellek prensibini anlatan HowStuffWorks sayfasi 24 Aralik 2007 tarihinde Wayback Machine sitesinde