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

Slides:



Advertisements
Benzer bir sunumlar
X86 Assembly Programlama Dilinde
Advertisements

ALPER LAÇİN SERDAR TAŞAN
SelCPU Temmuz 2008 Bilg.Bil.Müh.Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri
‘CACHE’ Bellek Bellek İkincil Bellek İşlemci ‘CACHE’ BELLEK
HTTP’yi (istemci tarafı) kendi kendinize deneyin
Bilişim Teknolojileri ve Yazılım
Öğr.Gör. Dr. Şirin KARADENİZ
KOŞUL İFADELERİ onbirc.com/133.
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü SürümA
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
Numbers of Opcodes Nihal Güngör.
4 Kontrol Yapıları: 1.Bölüm.
Bellek Yönetimi Process H 2 KB
Bellek Yönetimi.
CLUSTER COMPUTİNG (KÜME HESAPLAMA )
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.
FLY VISIONNEDİR?FLY VISIONNEDİR? Flyvision, özel tasarım cihazları ile ürünleri yerçekimsiz ortamda havada asılı kalma ve hareket etme ilüzyonu yaratan.
Kural ve Sorgu Örüntülerinin Düzenlenmesi ile Rete Tabanlı bir Çıkarsama Motorunun Eniyilenmesi Dr. Tuğba Özacar Öztürk Ege Üniversitesi.
BÖLÜM 2: BİLGİSAYAR SİSTEM YAPILARI
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
Marmara Ünv. Bilgisayar Mühendisliği Bölümü
Register ve Türleri Nihal GÜNGÖR.
Temel Bilgisayar Yapısı ve Devreleri
Arama ile sorun çözme Ders 3.
Deney Tasarımı.
AFYON KOCATEPE ÜN İ VERS İ TES İ PROJE ADI : BÖLÜM ADI : SUNANIN ADI :
Nesneye Dayalı Programlama
Tetkik Aşamaları Vildan MEVSİM.
Makine Öğrenmesinde Yeni Problemler
CACHE MEMORY Ersin ERSOY
ISO/TS 16949:2009 (Hafta 10) ISO 9001:2008’E GÖRE FARKLAR.
Dyned sunusu.
Ethernet Anahtarlama.
Temel Bilgi Teknolojilerinin Kullanımı Öğr.Gör. Abdullah ŞENER.
BİLGİSAYAR MİMARİLERİ 12.Hafta: Çok İşlemcili Sistemler
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
BELLEK YÖNETİMİ Memory Management
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
BİLGİSAYAR MİMARİLERİ 2.Hafta: Bilgisayar Bileşenleri
BİLGİSAYAR MİMARİLERİ 6.Hafta: Sanal Bellek
Fatih VPN Konica Minolta Çok Fonksiyonlu Yazıcı Ayarları
BİLGİSAYAR MİMARİLERİ 5.Hafta: Bellek Hiyerarşisi-3
BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci
BİLGİSAYAR MİMARİLERİ 3.Hafta: Bellek Hiyerarşisi-1
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
AMAÇ VE HEDEF BELİRLEME
BİLGİSAYAR MİMARİLERİ 11.Hafta: Pipeline Sorunları
BİLGİSAYAR MİMARİLERİ 13
BİLGİSAYAR MİMARİLERİ 10.Hafta: Pipeline İşlemci
ELEKTRONİK TABLOLAMA PROGRAMI: EXCEL
BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi.
SINAVMATİK SUNUMU HEDEFİMİZ ÜNİVERSİTEMİZDEKİ EĞİTİM KALİTESİNİ YÜKSELTMEKTİR.
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
Bilgisayar Mühendisliğine Giriş
Bilgisayar Mühendisliği Bölümü
Bellek Yönetimi(Memory management)
11. SINIF: ELEKTRİK ve MANYETİZMA ÜNİTESİ Transformatörler
Turgutlu Meslek Yüksek Okulu Bilgisayar Programcılığı
Makine Öğrenmesinde Yeni Problemler
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
ÖĞRENCİ AD SOYAD, ÖĞRENCİ AD SOYAD, ÖĞRENCİ AD SOYAD
Önbellek Hafızalar BIL-304: Bilgisayar Mimarisi
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

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 Direk map, fully associative, set associative ön bellekler

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?

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

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

Ö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

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.

Direk-map blok yerleştirme

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

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.

Direk map ön bellek yapısı

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

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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

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ı

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)

Fully associative ön bellek yapısı

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.

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

Ö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

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ı

Set associative ön bellek yapısı