Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

‘CACHE’ Bellek İşlemci Bellek İkincil Bellek ‘CACHE’ BELLEK GÖRÜNTÜ BELLEK.

Benzer bir sunumlar


... konulu sunumlar: "‘CACHE’ Bellek İşlemci Bellek İkincil Bellek ‘CACHE’ BELLEK GÖRÜNTÜ BELLEK."— Sunum transkripti:

1 ‘CACHE’ Bellek İşlemci Bellek İkincil Bellek ‘CACHE’ BELLEK GÖRÜNTÜ BELLEK

2 BELLEKLER YAZMAÇ ‘CACHE’ BELLEK ANA BELLEK DİSK ‘CACHE’ BELLEĞİ DİSK HIZ KAPASİTE MALİYET

3 ‘CACHE’ Bellek İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek

4 ‘CACHE’ Bellek Sınıflandırmaları •İçeriklerine Göre (Unified / Split) •Yazma Yöntemine Göre (WriteThrough / CopyBack) •Erişim Yöntemine Göre (Fully Associative / Set Associative / Direct Mapping)

5 ‘Split’ ve ‘Unified’ ‘Cache’ İşlemci Komut ‘cache’ Belleği Veri ‘cache’ Belleği İşlemci Komut/Veri ‘cache’ Belleği •Sadece Okuma •Komutlar Ardışık •Küçük Döngülerin İyileştirilmesi

6 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Read hit’ ‘WriteThrough Cache’

7 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Read miss’ ‘WriteThrough Cache’

8 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Write hit’ ‘WriteThrough Cache’

9 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘ Write miss’ ‘WriteThrough Cache’

10 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Read hit’ ‘CopyBack Cache’

11 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Write hit’ ‘CopyBack Cache’

12 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Read miss’ ‘CopyBack Cache’

13 İşlemci Adres Bilgileri Denetim Birimi Veriler Ana Bellek ‘Write miss’ ‘CopyBack Cache’

14 Erişim yöntemine göre •‘Fully Associative Cache’ •‘Set Associative Cache’ •‘Direct Mapping Cache’

15 ‘Fully Associative Cache’ ======= Adres hit/miss AdreslerVeriler

16 ‘Set Associative Cache’ Adres hit/miss Adres EkleriVeriler = N-1 = = = 0 1 2

17 ‘Direct Mapping Cache’ Adres hit/miss Adres Ekleri Veriler = N

18 ‘Fully Associative Cache’ L=4 = = = = = = = Adres hit/miss AdreslerVeriler

19 ‘Set Associative Cache’ L=4 Adres hit/miss Adres EkleriVeriler = N-1 = = = 0 1 2

20 ‘Direct Mapping Cache’ L=4 Adres hit/miss Adres Ekleri Veriler = N-1

21 ‘Cache’ bellek ve adres bitleri Adres log 2 Nlog 2 L Satır içi adresi Set Numarası Adres eki ‘cache’ bellek sığası = KLN N = 1 ‘Fully Associative Cache’ bellek K = 1 ‘Direct Mapping Cache’ bellek

22 İşlemci Adres Bilgileri 128 bit veri Ana Bellek

23 ‘cache’ belleğe yeni gelen veriye yer açma stratejileri • LRU ‘Least Recently Used’ •Geliştirilmiş LRU

24 Least Recently Used (LRU) Adres EkleriVeriler N-1 Most Recently Used... Least Recently Used

25 Geliştirilmiş LRU Adres EkleriVeriler N N Gölge Adres Ekleri •Geçici ‘miss’ = Hem ‘cache’ bellekte hem de gölge adres eklerinde yok •Gölge ‘miss’ = ‘cache’ bellekte yok, gölge adres eklerinde var Geçici olarak işaretlenmiş veriler çıkarılmaya aday. Geçici

26 Ön belleklerde tutarlılık İşlemci Adres Bilgileri Veriler Ana Bellek DMA Denetleyici G/Ç Birimi Adres Veri Ön bellekteki veriyi geçersiz kılma eklentisi •“write through”: çözüm? •“copy back”: DMA öncesi güncelle

27 Ön belleklerde tutarlılık “Copy back” türü ön bellekteki verilerin durum bilgileri Geçerli (valid) İkili Değişmiş (dirty) İkili Durum 0XGeçersiz ön bellek satırı 10Geçerli ön bellek satırı. Ana bellekteki değerle aynı. 11Geçerli ön bellek satırı. Ön bellekteki değer daha güncel.

28 Ön belleklerde tutarlılık İşlemci Adres Bilgileri Veriler Ana Bellek DMA Denetleyici G/Ç Birimi Adres Veri Ön bellek aracılığıyla DMA gerçekleştirilmesi

29 Ön belleklerde tutarlılık İşlemci Adres Bilgileri Veriler Ana Bellek DMA Denetleyici G/Ç Birimi Adres Veri Ön bellekteki verileri dışardan izleyebilmek için kullanılan ek Adres İzleme Bilgileri

30 Ön belleklerde tutarlılık İşlemci Adres Bilgileri Veriler Ana Bellek DMA Denetleyici G/Ç Birimi Adres Veri Ön bellekteki verilerin dışardan koşut olarak izlenmesi Adres İzleme Bilgileri

31 Ön belleklerde tutarlılık İşlemci 2 Adres Bilgileri Veriler Ana Bellek Adres İki işlemci tarafından ortak kullanılan ön bellek İşlemci 1 Veri

32 Ön belleklerde tutarlılık Ana Bellek İşlemci Adres Bilgileri Veriler Adres İzleme Bilgileri İşlemci Adres Bilgileri Veriler Adres İzleme Bilgileri Çok işlemcili bir sistemde ön belleklerin izlenmesi... İşlemci Adres Bilgileri Veriler Adres İzleme Bilgileri

33 Görüntü Bellek İşlemci Bellek İkincil Bellek ‘CACHE’ BELLEK GÖRÜNTÜ BELLEK

34 Görüntü Bellek Görüntü Adres Adres Dönüştürücü Fiziksel Adres Ana Bellek Sayfa Hatası

35 Görüntü Bellek Filozofisi •Sık kullanılan kod kesimleri ana bellekte tutulur. •Kod kesimleri az kullanılmaya başladıkça daha yavaş belleklere taşınır. •Eğer yönetim algoritması başarılıysa maliyeti yavaş belleğin maliyetine, performansı da hızlı belleğin performansına yakın olacaktır.

36 Görüntü ve ‘Cache’ bellek farklılıkları •Aranan verinin veya sayfanın bulunup bulunmaması –‘Cache’ bellekte verinin bulunamaması bulunmasından 4-20 kez daha islemi yavaslatir –Sayfanın bellekte bulunamaması bulunmasından kez islemi yavaslatir.

37 Görüntü ve ‘Cache’ bellek farklılıkları •Teknolojilerdeki ilerleme –20 yılda bellek teknolojisi 1000 kat hızlanmış. –Aynı sürede diskler 10 kat hızlanmış. • Yer değiştirme sürecinin uzunluğu –‘Cache’ bellekte verinin bulunamaması durumunda işlemciye başka görev atanamaz. –Aranan sayfanın bellekte bulunamaması durumunda sayfa diskten kopyalanırken işlemciye başka görevler atanabilir.

38 Görüntü ve ‘Cache’ bellek farklılıkları •Gecikme –Bellekte bulunamayan bir verinin belleğe getirilmesi komut süre tutabilir. –‘Cache’ bellekte bulunmayan bir verini ana bellekten getirilmesi bir komut işletimi kapsamındadır.

39 Görüntü adres fiziksel adres dönüşümü GörüntüAdres Sayfa Numarası Sayfa içi adres Adres Dönüştürücü Sayfa Sayfa başlangıç adresi Sayfa Bulunamadı

40 Hızlı adres dönüşümü GörüntüAdres Sayfa Numarası Sayfa içi adres Adres Dönüştürücü Sayfa Sayfa başlangıç adresi Hızlı Adres Dönüştürücü Sayfa Bulunamadı

41 Hızlı adres dönüşümü GörüntüAdres Sayfa içi adres Sayfa Segment Numarası Sayfa Numarası Sayfa başlangıç adresi

42 Görüntü Bellekte Yer Değiştirme •Sayfa hataları çok uzun süre. Hangi sayfanın çıkarılacağı kararı çok önemli. •Sayfa hatası oluştuğunda karar vermek için yeterince zaman var. •Sayfa hatası oluştuğunda başka görevler işlemciye anahtarlanabilir.

43 Görüntü ve Fiziksel Adres Evrenleri Görüntü Adres Evreni Fiziksel Adres Evreni

44 Adres Dönüştürme Sayfa Numarası Sayfa başlangıç adresleri N : Görüntü Adres Evrenindeki Sayfa Sayısı N - 1 N - 2

45 Adres Dönüştürme ======= Sayfa Numarası Sayfa Bulundu/Bulunamadı Sayfa Numaraları Sayfa başlangıç adresleri Fiziksel bellekteki sayfa sayısı kadar

46 ‘Pipeline’ ‘Pipeline’ Aşamaları

47 ‘Pipeline’ A A A A A A A Zaman B B B B B B B ‘Pipeline’ Aşamaları C C C C C C C D D D D D D D

48 ‘Pipeline’ Performansı A A A A A A A Zaman B B B B B B B ‘Pipeline’ Aşamaları C C C C C C C D D D D D D D

49 Bir Komutun Evreleri Komut Getir Komut Yorumla Adres Hesapla İşlenenleri Getir Komut Uygula Sonucu Sakla Program Sayacını Güncelle

50 Komut uygulama ‘pipeline’ için sorun yaratan durumlar: •Koşullu sapmalar. •Bir komutun sonraki komutun kullanacağı veriyi üretmesi. •Bir komutun önceki komut tarafından kullanılan yazmaca yazması. •Ardışık iki komutun aynı yazmaca yazması.

51 Çok Fonksiyonlu ‘Pipeline’ Add Exponents Form Partial Products Accumulator Normalize Round Renormalize Subtract Exponents Partial Shift Add Mantissas Find Leading 1 Round Renormalize Partial Shift Çarpma Toplama

52 Çok Fonksiyonlu ‘Pipeline’ Add/Subtract Exponents Partial Shift Add Mantissas Find Leading 1 Round Renormalize Partial Shift Form Partial Products

53 Çok Fonksiyonlu ‘Pipeline’ Çarpma için rezervasyon tablosu Toplama için rezervasyon tablosu

54 Çok Fonksiyonlu ‘Pipeline’ Çarpma işleminden sonra çarpma için çakışma vektörünün hesaplanması çakışma vektörü =1 Adım 1 çakışma vektörü =11 Adım 2 çakışma vektörü =110 Adım 3

55 Çok Fonksiyonlu ‘Pipeline’ Çarpma işleminden sonra çarpma için çakışma vektörünün hesaplanması çakışma vektörü =1100 Adım 4 çakışma vektörü =11000 Adım 5 çakışma vektörü = Adım 6

56 Çok Fonksiyonlu ‘Pipeline’ Çarpma ve Toplama işlemleri için Çakışma vektörleri Çarpma işleminden sonra Çarpma işlemi gelmesi durumunda çakışma vektörü = Çarpma işleminden sonra Toplama işlemi gelmesi durumunda çakışma vektörü = Toplama işleminden sonra Çarpma işlemi gelmesi durumunda çakışma vektörü = Toplama işleminden sonra Toplama işlemi gelmesi durumunda çakışma vektörü =

57 ‘Pipeline’ Performansının Analizi En iyi Performans = 4 / ( ) = işlem/birim zaman

58 Koşullu Sapmalar ve ‘pipeline’ İşlemcilerin komut al-getir ve işletimini gerçekleştiren ‘pipeline’, koşullu sapmalarda boşaltılmak durumunda kalabilir. Verimlilik düşüren bu durumu önlemek için kullanılan yöntemlerden bazıları: •Gecikmeli Sapma •Çoklu Durum Yazmacı kullanımı •Sabit Sapma kestirimi •Eski Sapmaların Kayıtları

59 Koşullu Sapmalar ve ‘pipeline’ •Gecikmeli Sapma Sapma gerçekleşsin veya gerçekleşmesin koşullu sapma komutundan sonraki belirli sayıda komutun uygulanması esasına dayanır. Koşullu sapmalarda ‘pipeline’ın boşaltılmasına gerek kalmaz. Koşullu sapma komutundan sonra uygulanabilecek komutlar gereklidir.cmp d,e mov a,bje xxx je xxxmov a,b

60 Koşullu Sapmalar ve ‘pipeline’ •Çoklu Durum Yazmacı kullanımı Birden fazla durum yazmacı kullanılarak durum yazmacını kuran komut ile koşullu sapma komutu arasında belirli bir uzaklık sağlanır. Koşullu sapma komutu ‘pipeline’a girerken koşullu sapmanın sonucu kesin bellidir. cmp 1,d,e cmp 2, f,g mov a,b je 1,xxx je 2,yyy Durum Yazmacı 1 Durum Yazmacı 2

61 Koşullu Sapmalar ve ‘pipeline’ •Sabit Sapma kestirimi Döngülerde kullanılan koşullu sapmaların iyileştirilmesini sağlayan bu yöntemde koşullu sapmanın yönüne göre bir sapma kestirimi yapılır. Örneğin, ‘bulunduğu adresten daha öncesine sapmanın gerçekleşeceği’ varsayımıyla çalışan bir işlemci için döngülerde bu varsayıma uygun kod üretilmişse, döngünün sonu hariç ‘pipeline’ın boşaltımasına gerek kalmayacaktır. mov a, 100 xxx: … decrement a jnz xxx

62 Koşullu Sapmalar ve ‘pipeline’ •Eski Sapmaların Kayıtları Koşullu sapma komutlarının bir önceki uygulanışlarındaki durumun (sapmanın olup olmaması) aynısının şimdiki uygulamada da ortaya çıkacağını varsayan bu yaklaşımla döngülerin iyileştirilmesi mümkündür. Döngünün kontrolunda kullanılan koşullu sapma komutları, döngünün sonu hariç aynı biçimde davranacaklardır. Örneğin, 100 kez sapma gerçekleşecek, döngünün sonunda sapma olmayacaktır. Bu yöntemde, ‘Cache’ bellek benzeri bir yapıda, her koşullu sapma komutunun bir önceki uygulanışındaki durum bilgisi tutulur.

63 Sırasız Komut İşletme Sırasız komut işletiminde sorun yaratan durumlar: •Komutlar arasında OKU/YAZ, YAZ/OKU ve YAZ/YAZ türü bağımlılıklar •"Pipeline" çakışmaları •Koşullu sapmalar

64 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] DY[2] DY[3] DY[4] DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları TOP ÇRP BÖL MNT OKU YAZ

65 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] DY[2] DY[3] DY[4] DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları Y[1]:=A Y[2]:=Y[1]x500 Y[1]:=5 TOP ÇRP BÖL MNT OKU YAZ

66 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] DY[2] DY[3] DY[4] DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge A2 İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları Y[1]:=A Y[2]:=Y[1]x500 Y[1]:=5 TOP ÇRP BÖL MNT OKU YAZ

67 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] DY[2] DY[3] DY[4] DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge 5002 A 5 2 İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları Y[1]:=A Y[2]:=Y[1]x500 Y[1]:=5 TOP ÇRP BÖL MNT OKU YAZ

68 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] DY[2] 5 DY[3] DY[4] DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge 5002 A 5 2 İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları Y[1]:=A Y[2]:=Y[1]x500 Y[1]:=5 TOP ÇRP BÖL MNT OKU YAZ

69 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] A DY[2] 5 DY[3] DY[4] DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları Y[1]:=A Y[2]:=Y[1]x500 Y[1]:=5 TOP ÇRP BÖL MNT OKU YAZ

70 Sırasız Komut İşletme Y[1] Y[2] Y[3] Y[4] DY[1] A DY[2] 5 DY[3] DY[4] Ax500 DY[5] DY[6] DY[7] DY[8] Değer Serbest Sayaç Gösterge İşlenen 1 İşlenen 2 Değer Sonuç SS Rezervasyon Durakları Y[1]:=A Y[2]:=Y[1]x500 Y[1]:=5 TOP ÇRP BÖL MNT OKU YAZ

71 “Pipeline” - Ön bellek - Görüntü Bellek Görüntü Adres Adres Dönüştürücü Adres bilgileriVeri Yastık Karşılaştır

72 Vektör Bilgisayarlar •Vektör birimi yardımcı işlemcidir •Vektör işlemleri içeren programların hızlandırılmasını amaçlar... for(i=0 ; i < N ; i++) c[i]=a[i]+b[i];... C=A+B;...

73 Vektör Bilgisayarlar MVektör Birimi (Pipeline) MMM Vektör 1 Vektör 2 Sonuç Vektörü Koşut erişim sağlayan bellek sistemi

74 Vektör Bilgisayarlar A0 A1 B0 A2 B1 A3 B2 A4 B3 A5 B4 A6 B5 A7 B6 B7 A8 A9 B8 A10 B9 A11 B10 Modül 7 Modül 6 Modül 5 Modül 4 Modül 3 Modül 2 Modül 1 Modül 0 A12 A13 A14 A15 B11 B12 B13 B14 B15 A16 A17 B16 B17... C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17...

75 Vektör Bilgisayarlar A0 A1 B0 0 A2 B1 0 1 A3 B A4 B A5 B A6 B5 C A7 B6 C B7 C2 A C3 A9 B C4 A10 B C5 A11 B10 P4 P3 P2 P1 M7 M6 M5 M4 M3 M2 M1 M0

76 Vektör Bilgisayarlar M0M1M7 A B C Koşut erişim sağlayan bellek sistemi Yastık Bellek P1P2P3P4...

77 Koşut Bilgisayarlar Flynn’in Sınıflaması

78 Koşut Bilgisayarlar Dağıtık Bellekli MIMD Bilgisayar Bellek İşlemci Bellek İşlemci Bellek İşlemci Bellek İşlemci... Sistem Alan Ağı (System Area Network – SAN) Sistem Alan Ağı (System Area Network – SAN)

79 Koşut Bilgisayarlar Paylaşımlı Bellekli MIMD Bilgisayar Bellek İşlemci Bellek... Sistem Alan Ağı (System Area Network – SAN) Sistem Alan Ağı (System Area Network – SAN) Ön Bellek İşlemci Ön Bellek İşlemci Ön Bellek İşlemci Ön Bellek

80 Ana Bellek İşlemci Adres Bilgileri Denetim Birimi Veriler Koşut Bilgisayarlar İşlemci Adres Bilgileri Denetim Birimi Veriler Paylaşımlı Bellekli MIMD Bilgisayar Örneği

81 Koşut Bilgisayarlar SIMD Bilgisayar Bellek İşlemci Bellek İşlemci Bellek İşlemci Bellek İşlemci Bellek İşlemci Bellek İşlemci Bellek İşlemci... Sistem Alan Ağı (System Area Network – SAN) Sistem Alan Ağı (System Area Network – SAN)

82 Koşut Bilgisayarlar Paylaşımlı Bellekli MIMD Bilgisayar Bellek İşlemci Bellek... Sistem Alan Ağı (System Area Network – SAN) Sistem Alan Ağı (System Area Network – SAN) Ön Bellek İşlemci Ön Bellek İşlemci Ön Bellek İşlemci Ön Bellek

83 Koşut Bilgisayarlar P1 P2P3 t1t2t3 while(TRUE) { recv(a,...); //işlem 1 send(b,...); } abc while(TRUE) { recv(b,...); //işlem 2 send(c,...); } while(TRUE) { recv(c,...); //işlem 3 send(d,...); }

84 Koşut Bilgisayarlar P1 P2P3 t1t2t3 while(TRUE) { P(dolu0); oku=veri0; V(bos0); yaz=islem1(oku); P(bos1); veri1=yaz; V(dolu1) } M1 M2M3 bos0 1 dolu0 0 veri0 bos1 1 dolu1 0 veri1 bos2 1 dolu2 0 veri2 while(TRUE) { P(dolu1); oku=veri1; V(bos1); yaz=islem2(oku); P(bos2); veri2=yaz; V(dolu2) } while(TRUE) { P(dolu2); oku=veri2; V(bos2); yaz=islem3(oku); P(bos3); veri3=yaz; V(dolu3) } * “oku”, “yaz” yerel değişkenlerdir.

85 Koşut Bilgisayarlar P1 while(TRUE) { > } P2P3P4P5P P Denetim

86 Koşut Bilgisayar Ağ Topolojileri Ortak Yol (Bus) •İki bilgisayar arasındaki uzaklık sabit (1) •Bilgisayar sayısı arttıkça yolun trafiği yavaşlar

87 Koşut Bilgisayar Ağ Topolojileri “Crossbar”

88 Koşut Bilgisayar Ağ Topolojileri Çok aşamalı ağlar (Multistage) n = log p

89 Koşut Bilgisayar Ağ Topolojileri Complete omega network a.Pass-trough b.Cross-over P C C

90 Koşut Bilgisayar Ağ Topolojileri Tam ve yıldız bağlantı

91 Koşut Bilgisayar Ağ Topolojileri Doğrusal ve halka bağlantı

92 Koşut Bilgisayar Ağ Topolojileri Hasır Dokusu (Mesh)

93 Koşut Bilgisayar Ağ Topolojileri Simit (2D Torus)

94 Koşut Bilgisayar Ağ Topolojileri Simit (2D Torus)

95 Koşut Bilgisayar Ağ Topolojileri Üç boyutlu hasırÜç boyutlu torus

96 Koşut Bilgisayar Ağ Topolojileri 3D Torus

97 Koşut Bilgisayar Ağ Topolojileri HyperCube...

98 Koşut Bilgisayar Ağ Topolojileri Ağaç (Tree) işlemci anahtarlama

99 Koşut Bilgisayar Ağ Topolojileri


"‘CACHE’ Bellek İşlemci Bellek İkincil Bellek ‘CACHE’ BELLEK GÖRÜNTÜ BELLEK." indir ppt

Benzer bir sunumlar


Google Reklamları