‘CACHE’ Bellek Bellek İkincil Bellek İşlemci ‘CACHE’ BELLEK

Slides:



Advertisements
Benzer bir sunumlar
EXCELDE KULLANILAN FORMÜLLERDEN BAZILARI
Advertisements

“ODTÜ’de Sağlık Hizmetlerinden Faydalanma”
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
EXCEL ŞAHİN AKDAĞ 1.
Ayrık Yapılar Algoritma Analizi.
EXCELDE KULLANILAN FORMÜLLERDEN BAZILARI
BBY 302 Bilgi Teknolojisi ve Yönetimi
AES (Advanced Encryption Standart)
Bilgi Teknolojisinin Temel Kavramları
Ayrık Yapılar Matlab Notları
Algoritma ve Akış Diyagramları
Ana Bellek Yönetimi Bir bilgisayar sisteminin en önemli donanımsal kaynaklarından biri olan ana belleğin, görevler arasında paylaştırılması ana belleğin.
Öğr.Gör. Dr. Şirin KARADENİZ
Bilgisayar Yapısı-Genel
Öğretmen Yeterlikleri
Rastgele Erişimli Bellekler (RAM)
Bilgisayar (2) Öğr. Gör. Feyza Tekinbaş.
Microsoft Excel.
Bellek Yönetimi Process H 2 KB
İşletim Sistemi.
İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim
Bölüm 1: Introductions (Tanıtım,Tanım)
İleri Mikroişlemci Özellikleri
Dağıtık Ortak Hafızalı Çoklu Mikroişlemcilere Sahip Optik Tabanlı Mimari Üzerinde Dizin Protokollerinin Başarım Çözümlemesi I. Ulusal Yüksek Başarım ve.
EXCEL FORMÜLLERİ Hazırlayan Kağan GÜL.
Algoritma ve Akış Diyagramları
EXCELDE KULLANILAN FORMÜLLERDEN BAZILARI
Orta Doğu Teknik Üniversitesi Çevre Mühendisliği Bölümü LIFE Projesi, III.Çalıştay 9-10 Aralık 2004 ODTÜ, Ankara 1 Klavuz B Dış Ortamdaki Koku Seviyesi.
Excel.
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
HESAP TABLOSU PROGRAMLARI
Temel Bilgisayar Bilimleri Dersi
Temel Bilgi Teknolojileri
Excel.
Görsel C# ile Windows Programlama
Bilgisayar Programlama
VERİ İLETİŞİM HİZMETLERİ VERİ İLETİŞİM HİZMETLERİ Yrd. Doç. Dr. Ersoy ÖZ.
Register ve Türleri Nihal GÜNGÖR.
Bilgisayar Programlama Güz 2011
Intel P6 Architecture Mustafa Çayır.
ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT)
HESAP TABLOSU PROGRAMLARI
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
1- BİLGİSAYAR AĞLARINA GİRİŞ
ÖĞRETMENLİK MESLEĞİ GENEL YETERLİKLERİ
SAYFALARI BÖLMEK Uzun veri listeleriyle çalışıldığında verilerin satırlarca aşağıya inmesi durumunda hangi verinin hangi kategoriye ait olduğunu hatırlamak.
Bilişim Teknolojileri Öğretmeni İsmail ÖZTÜRK
Orta Doğu Teknik Üniversitesi Çevre Mühendisliği Bölümü LIFE Projesi-Eğitim Semineri ODTÜ, 1-2 Nisan 2004 Ankara 1 İmisyon Ölçümleri HAZIRLAYANLAR: Prof.
C# Veri Tipleri ve Değişkenler
Lojik Laboratuvarı deneyleri
TRANSİT TAŞIMA (TRANSSHIPMENT)
Öğretmen Yeterlikleri
CACHE MEMORY Ersin ERSOY
BİLGİSAYAR MİMARİLERİ 12.Hafta: Çok İşlemcili Sistemler
BİLGİSAYAR MİMARİLERİ 4.Hafta: Bellek Hiyerarşisi-2
BELLEK YÖNETİMİ Memory Management
BİLGİSAYAR MİMARİLERİ 6.Hafta: Sanal Bellek
BİLGİSAYAR MİMARİLERİ 5.Hafta: Bellek Hiyerarşisi-3
BİLGİSAYAR MİMARİLERİ 3.Hafta: Bellek Hiyerarşisi-1
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
ISL429-Yönetim Bilişim Sistemleri İletişim ve Ağ Sistemleri.
BİLGİSAYAR MİMARİLERİ 13
Bölüm 7 Coklu regresyon.
FAT VE NTFS DOSYA YAPISI
Ağ Donanımları Ağ Nedir ? Ağ Donanımları Bridge Hub Switch Router
SUNUM KONU BAŞLIKLARI->
Berkay Ak STORAGE.
BİLİŞİM TEKNOLOJİLERİ
Ağ Topolojileri.
Algoritma ve Akış Diyagramları
Sunum transkripti:

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

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

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

‘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)

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

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

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

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

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

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

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

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

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

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

‘Fully Associative Cache’ Adres Adresler Veriler = = = = = = = hit/miss

‘Set Associative Cache’ Adres Ekleri Veriler 1 Adres 2 = N-1 1 2 = N-1 1 2 = N-1 1 2 = N-1 hit/miss

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

‘Fully Associative Cache’ L=4 Adres Adresler Veriler = = = = = = = hit/miss

‘Set Associative Cache’ L=4 Adres Ekleri Veriler 1 Adres 2 = N-1 1 2 = N-1 1 2 = N-1 1 2 = N-1 hit/miss

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

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

Ana İşlemci Adres Bellek Bilgileri 128 bit veri 30 28 28 28 128 128 2 32 32 32 128 32 32

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

Least Recently Used (LRU) Most Recently Used Adres Ekleri Veriler 1 2 3 4 5 ... Least Recently Used N-1

Geliştirilmiş LRU Adres Ekleri Veriler Gölge Adres Ekleri Geçici 1 1 2 2 N N 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.

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

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

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

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

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

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

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

Görüntü Bellek Bellek İkincil Bellek İşlemci ‘CACHE’ BELLEK

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

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.

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 1000-10000 kez islemi yavaslatir .

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.

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

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

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

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

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.

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

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

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

‘Pipeline’ ‘Pipeline’ Aşamaları 1 2 3 4 5 6 7

‘Pipeline’ ‘Pipeline’ Aşamaları 1 2 3 4 5 6 7 A B C Zaman D

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

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

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ı.

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

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

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

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

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

Ç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ü =110000 Toplama işleminden sonra Çarpma işlemi gelmesi durumunda çakışma vektörü =11010000 Çarpma işleminden sonra Toplama işlemi gelmesi durumunda çakışma vektörü =000000 Toplama işleminden sonra Toplama işlemi gelmesi durumunda çakışma vektörü =10000000

‘Pipeline’ Performansının Analizi 1001011 8 8 2 3 1101111 1011011 8 2 5 3 5 5 1111011 1101011 8 5 3 8 En iyi Performans = 4 / (3+5+3+2) = 0.3077 işlem/birim zaman

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ı

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 cmp d,e mov a,b je xxx je xxx mov a,b

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

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

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.

Sırasız komut işletiminde sorun yaratan durumlar: 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

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

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

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

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

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

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

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

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

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;

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

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

Vektör Bilgisayarlar P4 1 2 3 4 5 6 P3 1 2 3 4 5 6 7 P2 1 2 3 4 5 6 7 8 P1 1 2 3 4 5 6 7 8 9 M7 A7 B7 M6 A6 B6 M5 A5 B5 C5 M4 A4 B4 C4 M3 A3 B3 C3 A11 M2 A2 B2 C2 A10 B10 M1 A1 B1 C1 A9 B9 M0 A0 B0 C0 A8 B8

Vektör Bilgisayarlar ... M0 M1 M7 Koşut erişim sağlayan bellek sistemi Yastık Bellek A M1 P1 P2 P3 P4 B ... C M7

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

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

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

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

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

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

Koşut Bilgisayarlar a b c t1 t2 t3 while(TRUE) { recv(a, ...); P1 a P2 b P3 c t1 t2 t3 while(TRUE) { recv(a, ...); //işlem 1 send(b, ...); } while(TRUE) { recv(b, ...); //işlem 2 send(c, ...); } while(TRUE) { recv(c, ...); //işlem 3 send(d, ...); }

Koşut Bilgisayarlar t1 t2 t3 while(TRUE) { P(dolu0); oku=veri0; M1 bos0 M2 M3 1 bos1 1 bos2 1 dolu0 dolu1 dolu2 veri0 veri1 veri2 while(TRUE) { P(dolu0); oku=veri0; V(bos0); yaz=islem1(oku); P(bos1); veri1=yaz; V(dolu1) } 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.

Koşut Bilgisayarlar while(TRUE) { <<if(P kimliği tek sayı) gönder(A,4) else al(B,2) >> <<if(P kimliği çift sayı) gönder(A,4) else al(B,2)>> <<A=B>> <<C=işlem(A,C)>> } P Denetim 1 P1 P2 P3 P4 P5 P6 2 4 3

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

Koşut Bilgisayar Ağ Topolojileri “Crossbar”

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

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

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

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

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

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

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

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

Koşut Bilgisayar Ağ Topolojileri 3D Torus

Koşut Bilgisayar Ağ Topolojileri HyperCube ...

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

Koşut Bilgisayar Ağ Topolojileri