Şimdi Ara

Cache Bellek Nedir?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
26
Cevap
2
Favori
4.850
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Arkadaşlar cache bellek ne işe yarıyor?



  • Bu tip şeyler için google'da yeterince açıklamak mevcut biraz araştırırsanız.
  • Google'a yaz cache bellek nedir diye bir sürü açıklama çıkıyor ordan cevabını alırsın...
  • quote:

    Orijinalden alıntı: utkuertunc

    Arkadaşlar cache bellek ne işe yarıyor?

    Forumda fazla aktif konu yok. Aslında uzun ve karmaşık bir konu ama zaman varken basitçe değinelim.

    Cache (önbellek) iki biçimde kullanılır. İşlemcilerde ve çevre birimlerinde. (disk mesela) Her ikisinde de amaç işlemciden çok daha yavaş olan çevre birimleri ve bellek ile işlemci arasına çok kullanılan bilgilerin saklandığı bir cache koyarak işlemciyi yavaş olan birimleri beklemekten kurtarmaktır.

    Önce işlemcilerden bahsedelim. Cacheden bahsederken Burst Mode ve Hizalama konusuna da değinmek lazım.
    Eski işlemcilerde cache ve burst mode yoktu. (Mesela 8086-286-386) Cache ilk defa 486 işlemciler ile kullanılmıştır X86 mimarisi işlemcilerde. Önce cache ve burst model olmayan bir işlemci düşünelim. İşlemcimiz 32 bit 1000 Mhz, ram ise 500 Mhz ve CL5 zamanlamalı tek kanal SDRAM olsun.

    İşlemci her belleğe eriştiğinde 32 bitlik (4 Byte) bir satırlık veri okur. CPU adres bilgisini çıkışa verdikten sonra 5.inci çevrimde okumayı yapar. Yani her 5 çevrimde bir satır (4 byte) veri okur. Bu da 500 MHz 32 bit belleğimiz için (500/5)*4=400 MB/s bellek bantgenişliği demektir.

    Şimdi de Burst Mode işine bakalım. BU bellek erişimini iyileştiren bir tekniktir. Burst Mode altında tek satır değil arka arkaya 4 satır okunur. İlk satır 5.inci çevrimde okunur ve devam eden 2-3-4 satırlar 6-7-8 çevrimlerde okunur. Yani 5 çevrimde 1 satır yerine 8 çevrimde 4 satır (2 çevrimde 1 satır) yani 16 byte okunmuş olur. Bu da (500/8)*16=1000 MB/s bant genişliği demektir. Belleğimiz aynı ama Burst Mode sayesinde 400 yerine 1000 MB okuyarak 2.5 kat daha hızlı bellek erişimi sağladık.

    Peki fazladan okuduğumuz bu 3 satır (12 byte) veri ne olacak. İşte burada cache devreye girer. Okunan 4 satır da cache içine alınır ilk satır aynı zamanda işlemciye de gönderilir. 3 satır ise daha sonra belleğe erişmeden cacheden gönderilir. Cache ise işlemciyle aynı hıza ve gecikmesiz çalışır. 1000 MHz işlemcimizin cache belleği de 1000 MHz ile çalışır. Ve her çevrimde 1 satır veriyi işlemciye gönderebilir. Bu da 1000*4=4000 MB/s demektir. Örneğimizde cachemiz bellekten 10 kat hızlı çalışmaktadır bu durumda.

    Günümüzde yaygın olan 1600-CL9 bellek ile 3.2 GHz işlemci düşünürsek Burst Mode olmaksızın bellek bantgenişliği (1600/9)/4=711 MB/s olurdu. Burst Mode ile 9+3 erişimle (1600/12)*16=2133 MB/s olur. CPU cache ise 3200*4=12800 MB/s değerine ulaşır. (Hepsi 32 bit tek kanal) Yani 711-2133-12800 gibi büyük hız farkları oluşur. (1-3-18 kat)



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 0:23:51 >




  • İşlemci cache uygulamada genelde iki farklı teknikle yapılır. Öne Bakan Cache ve Yana Bakan Cache.
     Cache Bellek Nedir?

    Öne bakan cache işlemci ile diğer bileşenler (aygıtlar ve bellek) arasında FSB veriyolu üzerinde bulunur. Genelde FSB kullanan eski işlemcilerde rastlanır. İşlemciden gidip gelen tüm trafiğe kendisi ile ilgisi olsun veya olmasın müdahil olur. Bunun da bazı kötü yanları vardır.

    1. Bellek erişiminde CPU adresi yola koyduğunda önce aranan adresteki veri bulunuyor mu diye cacheye bakılır. Veri bulunuyorsa (Hit-İsabet) işlemciye yollanır. Bulunmuyorsa (Miss-Iska) belleğe bakılır. Iska durumunda cacheye bakmak için geçen zaman boşa harcanmış olur ve buna bakış cezası denir. Iska miktarı yüksekse performans düşmeye başlar.

    2. DMA ve Flush sıkıntısı vardır. Normalde CPU cacheyi Writethrough (cacheye yaz, ihtiyaç olursa belleğe geri yaz) modunda kullanır. Bu durumda DMA (Direct Memory Access-aygıtların CPU 'dan bağımsız belleğe erişmesi) erişiminde sıkıntı ortaya çıkar. Örneğin bellekteki X numaralı adresteki veri cacheye alınmış olsun. DMA ile de (mesela disk) X numaralı belleğe yeni veri yazılmış olsun. Eğer CPU bundan sonra X numaralı adresten okumaya kalkarsa bellekteki güncel olan değil cachedeki geçersiz hale gelmiş olan hatalı veriye erişecektir. Yazmada da tersi geçerlidir. CPU cachedeki veriyi değiştirdiyse bellekteki geçersiz hale gelecektir. DMA ile bellekten okuma yapılırsa bu sefer de buradaki veri hatalı olur. Buna DMA uyuşmazlığı denir.

    Bunu önlemek için bir DMA talebi olduğunda CPU cache içindeki veriyi belleğe geri yazarak verileri günceller ve geçerli hale getirir. Cache-RAM arasında direkt bağlantı olmadığından cachedeki değişmiş tüm verinin ihtiyaç olup-olmadığına bakılmaksızın belleğe geri yazılması gerekir. Buna Flush denir ve cache verimliliğini düşüren bir işlemdir. Flush işlemini engellemek için cache Writethrough yerine Writeback (cacheye yaz, aynı anda belleğe yaz) modunda çalıştırılabilir. Ancak bellek cache hızına yetişemediğinden DMA harici zamanlarda cache performansı epey düşer.

    3. Cache FSB üzerinde olduğunan sürekli FSB yolunu meşgul eder. Mesela aynı anda belleğe veya alt sistem yoluna erişilemez. Biri diğerini beklemek zorunda kalır. Özellikle DMA ile bellek ve aygıtlar arasında blok veri transferi (Full Burst Mode) yapılırken sorun büyür. Mesela bellekten ses kartına 1 MB bir veri aktaracak olalım. Bu esnada CPU alt sistem yoluna (aygıtlar) erişemez. Belleğe de erişemez ve yeni komutları okuyamadığından boş boş beklemek zorunda kalır. Üstelik DMA kullanımı az rastlanan bir durum değildir. Ses kartı, diskler, ekran kartı, ağ cihazları vb vb tümü belleğe erişimini DMA ile yapar.

    Öne bakan cache tasarımının avantajı ise basit tasarım, kolay üretim ve maliyet avantajıdır. Kötü yanı her şeye maydanoz olmasıdır.



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 2:29:52 >




  • Yana Bakan Cache
     Cache Bellek Nedir?

    Yana bakan cache yol üzerinde bulunmaz. FSB yerine AMD HT (Hypertransport) veya INTEL QP (Quickpath=Kırpılmış HT versiyonu) kullanan işlemcilerde bulunur. Yani son model tüm işlemcilerde. AMD Athlon 64 ve Intel I3/I5/I7 ile kullanılmaya başlamıştır. Kenarda bulunur ve yola paralel bağlıdır. Öne bakan cachenin tüm mahzurlarını (Bakış cezası,DMA,Flush,Yol bloklama) gidermiştir.

    CPU yolunda gidip-gelen trafiğe her seferinde müdahil olmaz. İki adres yolunu (MEM/IO) sürekli izler ve kendini ilgilendiren bir adres varsa devreye girer. İlgilendirmiyorsa seyirci kalır ve yolu bloke etmez. Böylece işlemci aynı anda bellek ve alt sisteme ayrı yollardan beklemeden erişir. CPU-DMA da birbirini beklemeden paralel erişim yapabilir.

    1. CPU bellek adres yolunu yükleyince hem cache hem de bellek aynı anda adrese bakar. Bellek istenilen adresteki veriyi bellek çıkış tamponlarına koymaya çalışırken cache de istenen adresteki verinin kendinde olup olmadığına bakar. Varsa direkt işlemciye yollar ve belleğe de bir durdurma sinyali gider. Bellek boşa çıkar ve sonraki erişim için hazır olabilir. Yoksa cache bir şey yapmaz. Bellek veriyi çıkış tamponlarında hazır edince işlemci belleği okur. Bellek-cache aynı anda işe başladığından bakış cezası oluşmaz. İşlemci belleği okurken cache de bu veriyi kendine kopyalayarak kendi içeriğini güncel tutar. İlk satırdan sonraki üç satır işlemciye direkt gitmez ve bunu cache saklar sonraki okumalarda Cache Hit sağlanır.

    2. DMA ve Flush sorunu yoktur. DMA bir bellekten okuma isterse aynen işlemci okuması gibi olur. Cache istenen veri dizisinin kendinde olanları direkt sistem yoluna vererek DMA okumasını yapar ve belleği durdurur. Yoksa bellek cevap verir ancak cache DMA okumasını kendine almaz. CPU için önceliklidir. DMA yazmasında da tersi olur. Adres içeriği cachede varsa DMA bellek yerine cacheye yazar. Yoksa belleğe yazar ve cache bunu da almaz. Cache ve bellek aynı anda adresi kontrol ettiğinden veri geçersizliği (DMA uyuşmazlığı) da oluşmaz. Buna bağlı olarak flush ihtiyacı da yoktur. DMA için flush yapılmaz.

    3. Cache yol üzerinde olmadığından belleğe erişilirken yolu bloke etmez. DMA belleğe erişirken AMD CPU da kuzey köprüsüne erişebilir. Birbirini engellemez ve bekletmezler. Her ne kadar DMA ve CPU bu durumda ayın sistem üst yolunu kullanıyor gözükseler de AMD Hypertransport sistem yolu çift yönlü ve çift kanallıdır. Çift kanal birlikte tek yönde çalışabildiği gibi ayrı ayrı farklı yönlerde de çalışabilir. Böylece bir sorun ortaya çıkmaz. QT bunun daha zayıfıdır ve engelleme ortaya çıkabilir.

    4. Yana bakan cachede DMA ve Flush ihtiyacı olmadığından Writeback (cacheye ve belleğe aynı anda yaz) moduna ihtiyaç yok denecek kadar azdır. Cache çok büyük oranda Writethrough (cacheye yaz, ihtiyaç olursa belleğe yaz) modunda çalışabilir. Ancak Bellek-CPU okuması yapıldığında cachede yer kalmadıysa geri yazma gerekebilir. Cachede değişmemiş veri varsa önce bunun en az kullanılanı atılır ve yeni veri buraya alınır. Geri yazmaya gerek kalmaz. Değişmemiş veri yoksa sadece gerektiği kadar satır geri yazılır. Tüm değişmiş verinin geri yazılması gerekmez. Bu da cache performansını oldukça artırır.

    Bütün avantajlarının yanında Yana Bakan Cache sisteminin dezavantajı ise karmaşık tasarım ve nispeten yüksek maliyettir.

    Özetle
    ÖBC= Kötü yanları bakış cezası, DMA, Flush ve yol bloklama, iyi yanı basit tasarım, düşük maliyet
    YBC = Kötü yanları karmaşık tasarım ve yüksek maliyet, iyi yanları Bakış cezası,DMA-Flush sorunu olmaması, yolu kapamaması

    Burada cache birimini CPU dışında gösterdiysek de bu mantıksal bağlantıdır. Fiziksel olarak cache CPU içindedir. CPU dışına da Level 4 vb cache eklenebilir teknik olarak.



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 1:43:51 >




  • Yapay Zeka’dan İlgili Konular
    128 GB FLASH BELLEK Tavsiyesi
    6 yıl önce açıldı
    12 GB DDR3 ram gerekli mi?
    16 yıl önce açıldı
    Daha Fazla Göster
  • Kısaca: suyu sürahiden değil bardaktan içmektir.
  • Cachenin daha hızlı olmasının nedeni bellek yapı taşının farklı olmasıdır. Normal bellekte DRAM (Dinamik ram) modül kullanılırken Cache bellekte SRAM (Statik ram) modül kullanılır.

    DRAM: Dram bellekler bir bit veriyi depolamak için transistör ve kondansatör (kapasitör) birimlerinden meydana gelen hücrelerden oluşur. 4-3-2 ve 1 tansistörlü sistemler vardır. 4 tarnsistörlü sistamde IO ve refresh mantığı ile birlikte 11 transistör ve 2 kapasitör bulunur. 4 transistör ve 1 kapasitör bit hücresine diğerleri tazeleme ile satır-sütun seçme mekanizmasına aittir. 3 transistörlü istemde ise bit hücresi 3 transistör ve 1 kapasitörden oluşur. En belirgin özellikleri her bitin kendi refresh mekanizmasına sahip olması ve yine her bitin satır-sütun seçiminin bağımsız yapılabilmesidir.

    Tüm belleğin refresh edilmesi için bütün bitlerin P ucuna giden tek sinyal yeterli olur ve tüm bellek tek çevrimde refresh edilmiş olur. 2-1 transistör sistemlerinde ise bellek satırları sırayla refresh edilir. Her bit hücresinin ayrı satır-sütun çeçme mantığı da pratikte pek işe yaramaz. Zira küçük bellek birimi olarak BYTE (8bit) kullanılır ve 2-1 sistemlerinde satır-sütun seçme mekanizması 8 bitlik bloğa ortak uygulanır. 3-4 transistörlü (11-10 toplam) DRAM hüreleri SRAM bellekten bile fazla yer kaplamaları ve maliyet nedeni ile günümüzde nadir amaçlar için kullanılmaktadır.

    2 transistörlü DRAM:
     Cache Bellek Nedir?


    2 transistör ve 1 kapasitörden (kondansatör) oluşan hücre yapısı kullanır. Verinin 0 durumunu temsil eden hücre boşken, 1 durumunu temsil eden hücre doldurulmuştur. Bir transistör doldurma kapısını (yazma-refresh) kontrol ederken diğeri boşaltma kapısını (okuma) kontrol eder. Hızlı DRAM modellerinde kullanılır ama her hücre daha fazla yer kaplar ve bir bellek entegresine sığabilecek kapasite azalır. Her 8 bitlik bloğun adres seçme (satır-RAS seçimi) mantığı için de daha fazla yer gerekir. Ayrıca maliyet de yükselir.

    Veri yazılırken 1 için F ucu uyarılır ve sütun hattına daha önce verilmiş voltaj (precharge) sayesinde kapasitör şarj edilir. 0 için E ucu uyarılır ve kapasitör D ucundan deşarj edilir.


    1 Transistörlü DRAM:
     Cache Bellek Nedir?


    Tek transistörlü modeller iki transistörlü modellere nazaran daha yavaş çalışır. Burada tek transistör hem yazma-hem okumada kullanılan kanalı açıp kapar. Şarj-Deşarj işlemi FET transistöre uygulanan satır ve eşik (GND) gerilim farkı ile sağlanır. Transistör kutuplanması ayarlanarak sarj-deşarj sağlanır. Okuma (deşarj) için sütun kanalı boşaltılır ve satır kanalı uyarılarak transistör kanalı açılır. Kapasitör sütun kanalına deşarj olur. Yazma için 1 olacak bitlerin sütun kanalına voltaj yüklenir (precharge) ve satır kanalı uyarılarak kapasitör şarj edilir.

    Kapı açılınca veri hattında voltaj varsa kapasitör dolar, yoksa boşalır. Hücre daha az yer kaplar ve entegreye daha fazla kapasite sığar. Kapasite başına maliyet de düşer. Hız dezavantajını azaltmak için bellek entegrelerinde 4 kadar SRAM tampon bulunur. Bu tamponlar refresh için iki transistörlü olanda da kullanılır. Ayrıca okunan-yazılan verinin geçici tutulması ve okuma sonrası precharge için gereklidir. Bugün kullandığımız PC DRAM modelleri genelde tek transistör-kapasitörlüdür. Biz burada tek transistörlü olanla devam edelim.

    REFRESH: Hücrelerin yalıtkanlığı %100 değildir ve kaçak akım söz konusudur. Kaçak akım boş hücrelerin (0) zamanla bir miktar dolmasına neden olurken, dolu hücrelerin (1) boşalmasına neden olur. Uzun süre geçerse gerilim farkından dolayı kacak akım tüm hücreleri benzer doluluk haline getirir ve veri mantığı kaybolur, hatalı veri oluşur. Kaçak akım boşalması nedeniyle 1 değerli hücrelerin geçerliliğinin korunması gerekir. BU işleme memory refresh (bellek tazeleme) denir. Genelde her bellek hücresi saniyede birkaç yüz kez refresh edilebilir. Hücre kalitesine göre daha az veya çok da olabilir. Bu sürekli refresh ihtiyacından dolayı (yani bellek içeriği sabit olmadığından) bu belleklere dinamik RAM (DRAM) denir.

    Refresh işlemi için de bir okuma yapılması gerekir. Ve her okuma kapasitörlerin boşalması (satırdaki verinin kaybı) ile sonuçlanır. Okuma esnasında 1 olan kapasitörler sütun kanallarına deşarj olduğunda hatta bağlı SRAM belle girişlerini uyarır ve veri durumu SRAM içine saklanmış olur. Daha sonra sütun hatlarına voltaj yüklenir (precharge) ve SRAM tampondaki bit disizi satır girişlerine uygulanır. 1 değeri olanlar transistörü kutuplayarak kanalı açar ve sütün hattındaki voltaj kapasitörü şarj eder. Veni satıra tekrar yüklenerek korunmuş-refresh edilmiş olur.

    Her okuma da kapasitörü deşarj ettiğinden okuma sonrasında okunan satırın refresh edilmesi gerekir. İşlem yukarıdaki gibi yapılır. Ayrıca işlemci de SRAM tampondaki veriyi okur. Yazma işlemi biraz farklıdır. İşlemci veriyi SRAM tampona yazar. SRAM içindeki veriye göre 1 değerine karşılık olan sütun hatlarına voltaj yüklenir, 0 karşılığı olan sütun hatları boşaltılır. Arkasından satırın tüm bitlerinin girişleri uyarılarak transistör kanalı açılır. Voltaj yüklü olan sütun hatları kapasitörü şarj ederken (1 yazma), voltaj bulunmayan sütun hatları kapasitörün deşarj olmasını (0 yazma) sağlar.

    Yazma-okuma esnasında sütün hatlarına voltaj yükleme-boşaltma işlemi biraz zaman alır. Ayrıca kapasitörün dolup-boşalması da biraz zaman alır. Bu iki işlem için gereken zamana RAS Precharge Latency denir ve bellek zamanlamasında RAS to RAS Delay zamanlamasına etki eder. Bu gecikmeyi azaltmak için bellek mantıksal banklara ayrılır ve bir banda refresh/precharge devam (RtRD) ederken diğer banka erişilebilir.



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 12:20:45 >




  • Ek: cache bellek, bakkala ekmek almaya gitmişken yanında yumurta da alıp gelmektir.
  • quote:

    Orijinalden alıntı: melikulupinar

    SRAM: En küçük dram tipi bellek 1 transistör ve 1 kapasitörden oluşurken SRAM tipi olanlarda kapasitör bulunmaz. it değeri saklayan en küçük SRAM birimi bir FLIP-FLOP olarak adlandırılır.

    En basit FLIP-FLOP tipi T (Toggle) olandır.

    https://store.donanimhaber.com/39/b9/1a/39b91ad9126a904c718e88215c0a4b9f.jpg
    İki durumlu olarak da bilinir. Uyarma girişine sinyal uygulandığında durumu değişir. 1 ise 0, 0 ise 1 olur çıkışı. Ancak kontrolsüz olması ve istediğimiz veriyi yükleme imkanı olmadığından SRAM bit saklayıcı olarak kullanılamaz. Öreğin 1 değerini saklıyorsa ve satır yazarken değeri yine 1 olarak kalacaksa olmaz. Sinyal geldiğinde 1 olması gerekirken 0 değerine geçer.




    RS tipi (set-reset) Flip-Flop buna çare olabilir. Set ucu uyarılınca 1, reset ucu uyarılınca 0 değerini alır. Ancak yazma için 1-0 durumuna özel iki ayrı devre mantığı gerektirir. Bunu engellemek için S ucuna sinyal doğrudan uygulanırken R ucuna tersi uygulanır. Bu durumda 1 sinyali S ucunu uyarır, tersi 0 sinyali ise R ucunu uyaramaz ve 1 yüklenmiş olur. 0 için de S ucu uyarılamazken tersi 1 olunca R ucu uyarılır ve ve 0 yüklenir. Sakıncası bu tip FF ünitesinin
     Cache Bellek Nedir?

    Laboratuvarda bunlardan arka arkaya birkaç tane bağlayıp 4 bit sayaç yapmıştık :D Tabi aralarda "ve" geçitleri ve başka şeyler de vardı. Entegrelerin isimlerini unuttum ama 8 ile başlıyordu sanırım ve 4-5 hanelilerdi.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 23 Mayıs 2013; 13:11:01 >




  • SRAM: En küçük dram tipi bellek 1 transistör ve 1 kapasitörden oluşurken SRAM tipi olanlarda kapasitör bulunmaz. Bit değeri saklayan en küçük SRAM birimi bir FLIP-FLOP olarak adlandırılır.

    En basit Flip Flop Tipi RS tipi Flip Floptur.
     Cache Bellek Nedir?


    RS-FF devresi R (reset) ve S (set) girişlerinin uyarılması ile durumunu değiştirir. Bu haliyle asenkron çalışan bir devredir. Çıkış-girişi takip eder prensibine göre girişe uygulanan sinyalin sonucu çıkışa hemen yansır. Saat sinyali ile senkronizayson yoktur. Sakıncalı yani R ve S girişlerinin aynı ayna uyarılması halinde çıkışın kararsız olması ve hangi durumu alacağının bilinmemesidir.

    Bu sakıncayı gidermek için JK tipi Flip flop geliştirilmiştir. Burada bir hattın ters çıkışı diğer hattın girişine uygulanarak JK uçlarının aynı anda uyanılması engellenmiştir. Ayrıca senkronize sinyal ucu da bulunur. Fakat yine de Set-Reset uçları ayrıdır ve doğrudan bir data biti yükleme işi yapılmaz.


    T-tipi (Toggle) Flip Flop.
     Cache Bellek Nedir?


    İki durumlu olarak da bilinir. Uyarma girişine (T) sinyal uygulandığında durumu değişir. 1 ise 0, 0 ise 1 olur çıkışı. Ancak kontrolsüz olması ve istediğimiz veriyi yükleme imkanı olmadığından SRAM bit saklayıcı olarak kullanılamaz. Öreğin 1 değerini saklıyorsa ve satır yazarken değeri yine 1 olarak kalacaksa olmaz. Sinyal geldiğinde 1 olması gerekirken 0 değerine geçer. O çıkıştır (Out) O ise çıkışın tersi.


    D-tipi (data) flip Flop
     Cache Bellek Nedir?


    Bunların çözümü D (Data) tipi Flip-Flop kullanmaktır. D tipi RS tipinin RS uçları yerine tek D ucu ile verilen sinyali inverter ile RS uçlarına uygulamaktır. D ucuna uygulanan sinyal direkt set ucuna uygulanırken, tersi reset ucuna uygulanır. Sinyal 1 ise set girişi uyarılır, tersi olan 0 ise reset ucunu uyarmaz. Böylece 1 değeri yüklenmiş olur. Data sinyali 0 ise tersi olur. 0 sinyali set ucunu uyaramaz ama tersi 1 olur ve reset ucu uyarılarak 0 değeri yüklenir. Ayrıca senkron çalışma için bir kontrol sinyali CP (control pulse-genelde saat sinyali) de kullanılır.



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 14:06:45 >




  • quote:

    Orijinalden alıntı: melikulupinar

    SRAM: En küçük dram tipi bellek 1 transistör ve 1 kapasitörden oluşurken SRAM tipi olanlarda kapasitör bulunmaz. Bit değeri saklayan en küçük SRAM birimi bir FLIP-FLOP olarak adlandırılır.

    En basit Flip Flop Tipi RS tipi Flip Floptur.
     Cache Bellek Nedir?


    RS-FF devresi R (reset) ve S (set) girişlerinin uyarılması ile durumunu değiştirir. Bu haliyle asenkron çalışan bir devredir. Çıkış-girişi takip eder prensibine göre girişe uygulanan sinyalin sonucu çıkışa hemen yansır. Saat sinyali ile senkronizayson yoktur. Sakıncalı yani R ve S girişlerinin aynı ayna uyarılması halinde çıkışın kararsız olması ve hangi durumu alacağının bilinmemesidir.

    Bu sakıncayı gidermek için JK tipi Flip flop geliştirilmiştir. Burada bir hattın ters çıkışı diğer hattın girişine uygulanarak JK uçlarının aynı anda uyanılması engellenmiştir. Ayrıca senkronize sinyal ucu da bulunur. Fakat yine de Set-Reset uçları ayrıdır ve doğrudan bir data biti yükleme işi yapılmaz.


    T-tipi (Toggle) Flip Flop.
     Cache Bellek Nedir?


    İki durumlu olarak da bilinir. Uyarma girişine (T) sinyal uygulandığında durumu değişir. 1 ise 0, 0 ise 1 olur çıkışı. Ancak kontrolsüz olması ve istediğimiz veriyi yükleme imkanı olmadığından SRAM bit saklayıcı olarak kullanılamaz. Öreğin 1 değerini saklıyorsa ve satır yazarken değeri yine 1 olarak kalacaksa olmaz. Sinyal geldiğinde 1 olması gerekirken 0 değerine geçer. O çıkıştır (Out) O ise çıkışın tersi.


    D-tipi (data) flip Flop
     Cache Bellek Nedir?


    Bunların çözümü D (Data) tipi Flip-Flop kullanmaktır. D tipi RS tipinin RS uçları yerine tek D ucu ile verilen sinyali inverter ile RS uçlarına uygulamaktır. D ucuna uygulanan sinyal direkt set ucuna uygulanırken, tersi reset ucuna uygulanır. Sinyal 1 ise set girişi uyarılır, tersi olan 0 ise reset ucunu uyarmaz. Böylece 1 değeri yüklenmiş olur. Data sinyali 0 ise tersi olur. 0 sinyali set ucunu uyaramaz ama tersi 1 olur ve reset ucu uyarılarak 0 değeri yüklenir. Ayrıca senkron çalışma için bir kontrol sinyali CP (control pulse-genelde saat sinyali) de kullanılır.

    Hocam bukonudakileri biyerden alinti yaptiniz heralde,normal bi insanin bu kadar bilmemesi lazim

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • CMOS tipi SRAM devresi.
     Cache Bellek Nedir?


    Cache belleklerde kullanılan en basit bir bitlik SRAM hücresi 6 transistörden oluşur. (Mavi çerçeve) Yazma-Okuma mantığı ile birlikte bir hücre 10 transistörden oluşur. CMOS haricinde TTL tipi transistörler ile de devre kurulabilir. Ancak TTL tipi devreler 5 volt ile calışır ve akım miktarları da yüksektir. Ortalama bir işlemcide 1.2 milyar transistör ve büyük kısmı Cache. Bu kadar transistörü TTL yapsaydık işlemci KW. larca güç tüketirdi ve anında cozlardı.

    Yine NMOS tipinde de kapalı evirme devresi oldukça yüksek bir akıma neden olur. Bu da büyük miktarda NMOS transistör ile bu işi yapmayı olanaksız kılar. CMOS yapıda ise sürekli çekilen akım son derece düşüktür.Çok küçük jonksiyon kaçak akımları akar sadece ve çok az güç tüketir. Bu nedenle günümüzde işlemciler ve cache için CMOS tipi (BiCMOS) transistör-devre yapısı kullanılır.

    SRAM bellekler DRAM olanlardan çok çok hızlıdırlar. Ancak 2 parçadan (1 transistör-1 kapasitör) oluşan DRAM yanıda 10 transistörlük yapısı ile bit hücreleri çok daha fazla yer kaplarlar. Bu nedenle bir bellek entegresine sığacak kapasite düşük olur. Tasarım-üretim maliyeti de yüksektir. Bu nedenle tüm belleğin SRAM olarak kurulması ekonomik ve makul bir yol değildir. Bu nedenle ana bellekte ucuz ve yüksek kapasiteli DRAM kullanırken, hızın kritik olduğu cache vb yerlerde SRAM kullanılır. (Olsa iyi olurdu yani, DDR 8000 MHz CL-1 belleği kim istemez ki ?)



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 15:13:54 >




  • quote:

    Orijinalden alıntı: fukox
    Hocam bukonudakileri biyerden alinti yaptiniz heralde,normal bi insanin bu kadar bilmemesi lazim

    Garip bir iddia.

    Buna göre bunu alıntı yapmış olacağım adam da NORMAL DEĞİL demek.

    Ayrıcana şu çizdiğim grafiklerin vb yer aldığı bir kaynak göster bilgisayarımı yiyeyim.



    < Bu mesaj bu kişi tarafından değiştirildi melikulupinar -- 23 Mayıs 2013; 15:14:40 >
  • CACHE organizasyonu: (FIFO,LIFO,MUL - TagRAM, Line, crossbar, adres seçme - yüklü-kirli durumu, Hit sayıcısı - L1,L2,L3)

    Cacheler içeriğinin güncellenme algoritması bakımından temelde üçe ayrılır. FIFO, LIFO, MUL. Bu algoritmalarda cachede yer kalmadığında yeni veri yükleneceği zaman hangi satırın hangi mantıkla atılacağı belirlenir.

    FIFO: First In First Out (ilk giren ilk çıkar) : BU teknikte cachede yeni veri yüklemek için yer kalmadığında cacheye ilk yüklenen (en eski-yaşam süresi en uzun) satır cacheden atılır. Bunda mantık uzun süredir bekleyen bu satırın işinin bittiği, tekrar kullanma ihtimalinin düşük olduğu düşüncesidir. Pipeline (boru hattı) mantığı ile ile çalışır. Cacheye yeni satır yüklendikçe eski satırlar çıkışa doğru itilir-kaydırılır. Cache doluysa yeni satır başa eklenince, çıkıştaki satır cacheden dışarı kayar ve atılmış olur. Bir çeşit stream gibi düşünülebilir. İlk cache örneklerinde epeyce kullanılmıştır. Özellikle kod lineer akıyorsa oldukça da verimli olabilir.

    LIFO: Last In First Out (son giren ilk çıkar) : Bildiğimiz yığın (stack) mantığıdır. Bir kutuya üstüste tabak dizmek gibidir. Yeni tabağı/tabakları (satırı) en üste koyarsınız. Alırken de önce en üsttekileri alırsınız. Dolayısı ile cacheden ilk atılacak satır en son yüklenen satır olcaktır. Bu teknikte ilk yüklenen yani en dipteki (en eski-uzun yaşam süreli) satırın en değerli olduğu ve kullanma ihtimali yüksek olduğu varsayılır. Ancak verimi en düşük tekniktir. Genelde sık sık kullanılan verilerin en başta kalmasına ve sık atılmasına neden olur. Yığın tabanlı algoritmalar kullanan uygulamalarda (labirent-yol bulma, düğüm, izleme, satranç vb, dallanmalı akışlar, hash vb) gayet verimlidir ancak diğer uygulamalarda pek işe yaramaz.

    FIFO-LIFO tekniği lineer akışlı kodlarda oldukça iyi olmalarına rağmen yoğun döngü ve dallanma kullanan uygulamalarda çuvallarlar. Bu iki algoritmanın istenen verimi ve performansı sergileyememesi üzerine değişik cache teknikleri geliştirilmiştir. En uzun süre kullanılmayan satır, kullanılan satırdan önceki satırlar vb vb. Değişik denemelerden sonra ibrçok tekniğin iyi yönleri ele alınarak MUL tekniği (Minimum Used Line - en az kullanılan satır - ismini yanlış hatırlıyor olabilirim) geliştirilmiştir.

    Bu teknikte cachede cachede boş yer olduğu sürece satırlar atılmaz. Cache dolunca önce kirli olmayan (yazılmamış-değişmemiş) satırların en az kullanılanı bulunur ve atılır. Tüm satırlar kirliyse en az kullanılan belleğe geri yazılarak güncellenir (Writeback) ve atılır. Atılacak en uygun satırı bulmak için çok değişik teknikler-algoritmalar olmasına rağmen ana temeli budur ve benzer sonuçlara ulaşırlar. Bugün yaygın olarak kullanılan ve en iyi verimi sağlayan yöntem de budur.




  • quote:

    Orijinalden alıntı: melikulupinar

    quote:

    Orijinalden alıntı: fukox
    Hocam bukonudakileri biyerden alinti yaptiniz heralde,normal bi insanin bu kadar bilmemesi lazim

    Garip bir iddia.

    Buna göre bunu alıntı yapmış olacağım adam da NORMAL DEĞİL demek.

    Ayrıcana şu çizdiğim grafiklerin vb yer aldığı bir kaynak göster bilgisayarımı yiyeyim.

    Hocam tamamen yers anlamissinBen iyi anlamda soylemistim,yanlis anlamissiniz.
    O Cizimleri de siz yaptiysaniz pes valla

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: utkuertunc

    Arkadaşlar cache bellek ne işe yarıyor?

    ben sana basit bir bilgisayar kullanıcısı için özet olarak; l önbellekler ram gibidir. işlemcide işlenecek verileri tutarlar. bu sırasıyla l1 l2 l3 ve son olarak ramdir. ilk l1 deki sonra l2deki böyle gider. olay bundan ibaret. 14mb gibi az l önbellek konmasının sebebi de l önbelleklerin üretiminin zor olması ve kullanılan malzemenin pahalılığıdır
  • Çizimler electronics-work-bench programına benziyor yani gerçekten çalışan devre simülasyonu olabilir onlar. Yeni ek: cache, birden fazla işe odaklanabilmek demektir. Sakız çiğnerken koşabiliyorsan bu sürekli sakız çiğnemeyi hatırlamaya gerek olmadığını gösterir yani biryerlerde kısayolu var demektir mesela omurilik(cache). Koşmayı da sürekli hatırlamaya gerek duymuyorsundur çünkü omurilikte bir kısayolu vardır yani cache.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 24 Mayıs 2013; 17:24:47 >
  • Amma çok kişi digital systems dersini almış arkadaş
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.