1 / 47

BİLGİSAYAR MİMARİLERİ 4.Hafta : Bellek Hiyerarşisi-2

BİLGİSAYAR MİMARİLERİ 4.Hafta : Bellek Hiyerarşisi-2. Doç.Dr . Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü. Ders Planı. Giriş Ön belleğin iç yapısı Ön bellek ile ilgili temel sorular Adresleme yöntemleri

elisa
Télécharger la présentation

BİLGİSAYAR MİMARİLERİ 4.Hafta : Bellek Hiyerarşisi-2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BİLGİSAYAR MİMARİLERİ4.Hafta: Bellek Hiyerarşisi-2 Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümü

  2. Ders Planı • Giriş • Ön belleğin iç yapısı • Ön bellek ile ilgili temel sorular • Adresleme yöntemleri • Direk map, fullyassociative, set associative ön bellekler

  3. Giriş • Geçen hafta bilgisayarın bellek hiyerarşisi aşağıdaki gibi anlatıldı: • Bugünün ön (cache) bellek nasıl çalışır?

  4. Ön belleğin iç yapısı?

  5. Blok yapısı ve bellek adresi • Blok bellek ile ön bellek arasında veri transfer birimi • Büyük blok boyutu avantaj oluşturur. • Daha az etiket (tag) yer kaybı • DRAM’dan bir defada hızlı bir şekilde büyük oranda veri transferi • Geniş bus üzerinden çok miktarda veri transferi

  6. Ön bellek: 4 temel tasarım sorusu? • Soru 1: Veri bloğu üst seviyede nereye konulabilir? • Blok yerleştirme (placement) • Soru 2: Aranan blok üst seviyede değilse, nasıl bulunacak? • Blok tanımlama • Soru 3: Miss durumunda hangi blok değiştirilecek? • Üzerine yazılacak blok seçimi (blok re-placement) • Soru 4: Yazma işlemi nasıl yapılacak? • Yazma stratejisi

  7. Soru 1: Blok yerleştirme • Veri bloğu üst seviyede nereye konulabilir? • Ön bellek içinde önceden belirlenmiş bir yere: Direk map • Adresin bir kısmı blok yerini belirlemek için kullanılır. • Blok var/yok testi, ön bellek içindeki sadece bir adresteki bloğun etiketi (tag) üzerinden yapılır. • Ön bellek içindeherhangi bir yere: Fully-associative • Ön bellek içindeki tüm blokların etiketlerine (tag) karşılaştırma yoluyla bakılır. • Sınırlı bir kümenin içinde bir yere: Set-associative • Adresin bir kısmı küme (set) belirlemek için kullanılır (direk map’te olduğu gibi). • Küme içindeki her bloğun etiketkerine (tag) karşılaştırma yoluyla bakılır. • Bu yöntem direk-map ile fully-associative modelin bir orta karışımıdır.

  8. Direk-map blok yerleştirme

  9. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 1: Adres map: 0 modulo 4 = 0

  10. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 1: Adres map: 0 modulo 4 = 0

  11. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 2: Adres map: 8 modulo 4 = 0

  12. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 2: Adres map: 8 modulo 4 = 0

  13. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 3: Adres map: 0 modulo 4 = 0

  14. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 3: Adres map: 0 modulo 4 = 0

  15. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 4: Adres map: 6 modulo 4 = 2

  16. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 4: Adres map: 6 modulo 4 = 2

  17. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 5: Adres map: 8 modulo 4 = 0

  18. Örnek: Direk-map ön belleğe erişim • Direk map ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim paterni (adres sırası) : 0, 8, 0, 6, 8 olsun buna göre: • Erişim 5: Adres map: 8 modulo 4 = 0

  19. Direk-map genel durum • İyi tarafı: Veri hızlı olarak bulunabilir. • Kötü tarafı: Ya veri erişimi hep 00001 ve 10001 şeklinde olursa? (bir patern takip ederse) • Her erişim bir miss olurdu.

  20. Direk map ön bellek yapısı

  21. Fully-associative ön bellek • Blok ön bellekte herhangi bir yere gidebilir.

  22. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 1: Adres: 0 • NOT: Blok yerleştirme kuralı “LRU: Leastrecentlyused” olsun. (LRU: Yakın zamanda kullanılmayan)

  23. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 1: Adres: 0

  24. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 2: Adres: 8

  25. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 2: Adres: 8

  26. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 3: Adres: 0

  27. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 3: Adres: 0

  28. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 4: Adres: 6

  29. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 4: Adres: 6

  30. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 5: Adres: 8

  31. Örnek: Fully-associative ön bellek • Fullyassociative ön bellek 4 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 5: Adres: 8

  32. Fully-associative ön bellek: özet • Blok yerleştirmede hiçbir adresleme (map) kısıtı yok. • Örnek: 1 set, 8 blok FA ön bellek • Avantaj: İhtiyaç duyulan verinin kaldırılma ihtimali düşük • Dezavantaj: Hit/miss için tüm ön bellek taranmalı

  33. Fully-associativeveri yerleştirme • 3. sorunun cevabı: Yeni gelen bir blok olduğunda, her yer dolu ise; yer açmak için hangi blok atılacak? • 1. Random • 2. LRU:Leastrecentlyused (yakın zamanda kullanılmayan) • Ön belleğin LRU durumu her erişimde güncellenmeli • Gerçekleme ancak çok küçük sayıda kümeler için mümkün (örneğin 2) • Sözde LRU gerçeklemeleri 4, 5 kümeler için yapılabilir • 3. FIFO:First in firstout (ilk gelen ilk çıkar) • Yüksek oranda blok bulunduran (highlyassociative) ön belleklerde kullanılır. Round-Robin gibi. • 4. NLRU: Not leastrecentlyused, mostrecentlyused (yakın zamanda kullanılan)

  34. Fullyassociative ön bellek yapısı

  35. Set-associativeön bellek • Blok ön bellekte bir küme içinde herhangi bir yere gidebilir. Küme seçimi direk map yöntemi ile yapılır.

  36. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 1: Adres: 0, mapping: 0 mod 2

  37. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 1: Adres: 0, mapping: 0 mod 2

  38. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 2: Adres: 8, mapping: 8 mod 2

  39. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 2: Adres: 8, mapping: 8 mod 2

  40. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 3: Adres: 0, mapping: 0 mod 2

  41. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 3: Adres: 0, mapping: 0 mod 2

  42. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 4: Adres: 6, mapping: 6 mod 2

  43. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 4: Adres: 6, mapping: 6 mod 2

  44. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 5: Adres: 8, mapping: 8 mod 2

  45. Örnek: Set-associativeön bellek • 2 kümeli associativeön bellek 2 kümeli her kümede 1 adet 1 word (4 Byte) blok içersin. Erişim adres sırası: 0, 8, 0, 6, 8 olsun buna göre: • Erişim 5: Adres: 8, mapping: 8 mod 2

  46. Set-associativeön bellek: özet • Blok yerleştirmede maping var. Küme içinde associative yöntemler kullanılabilir. • Örnek: 4 set2-way, toplam 8 blok SA ön bellek • Avantaj: Blok bulması kolay ve her zaman üstüne yazması gerekmiyor • Dezavantaj: Hit/miss için küme içinde arama yapılmalı

  47. Set associative ön bellek yapısı

More Related