Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "BİLGİSAYAR MİMARİLERİ 4.Hafta: Bellek Hiyerarşisi-2"— Sunum transkripti:

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, fully associative, 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çinde herhangi 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 ve ş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
Fully associative ö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: Least recently used” olsun. (LRU: Yakın zamanda kullanılmayan)

23 Örnek: Fully-associative ön bellek
Fully associative ö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
Fully associative ö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
Fully associative ö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
Fully associative ö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
Fully associative ö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
Fully associative ö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
Fully associative ö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
Fully associative ö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
Fully associative ö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-associative veri 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: Least recently used (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 first out (ilk gelen ilk çıkar) Yüksek oranda blok bulunduran (highly associative) ön belleklerde kullanılır. Round-Robin gibi. 4. NLRU: Not least recently used, most recently used (yakın zamanda kullanılan)

34 Fully associative ö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 set 2-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ı


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

Benzer bir sunumlar


Google Reklamları