William Stallings Computer Organization and Architecture 9 th Edition

Benzer belgeler
BM-311 Bilgisayar Mimarisi

William Stallings Computer Organization and Architecture 9 th Edition

BİLGİSAYAR MİMARİSİ-II İÇERİK ADRESLEMELİ BELLEK

Background (Arka Plan)

İşletim Sistemlerine Giriş

Görüntü Bellek. Ana Bellek. Fiziksel Adres. Belek Uzayı. Bellek hiyerarşisi. Hız Maliyet (+) Ana Bellek. Boyut (+) DISK. Görüntü Adres.

Sanal Bellek (Virtual Memory)

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

BİL 423 Bilgisayar Mimarisi 1. Ara Sınavı

BM-311 Bilgisayar Mimarisi

(Random-Access Memory)

Dosya Saklama Ortamları (Sabit Diskler) Kütük Organizasyonu 1

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bilgisayarların Gelişimi

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

BM-311 Bilgisayar Mimarisi

Bilgisayar Mimarisi ve Organizasyonu Giriş

BM-311 Bilgisayar Mimarisi

DONANIM KURULUMU. Öğr. Gör. Murat YAZICI. 1. Hafta.

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

Spatial locality nin getirdigi avantaji kullanmak

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

İşletim Sistemleri (Operating Systems)

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Fiziksel Veritabanı Modelleme

Yrd.Doç.Dr. Celal Murat KANDEMİR

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

William Stallings Computer Organization and Architecture 9 th Edition

İşletim Sistemlerine Giriş

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

Donanımlar Hafta 1 Donanım

Bilgisayar Mimarisi ve Örgütleşimi (COMPE 331) Ders Detayları

Bölüm 9: Sanal Bellek

İşletim Sistemlerine Giriş

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

T E M E L K AV R A M L A R. Öğr.Gör. Günay TEMÜR / Teknoloji F. / Bilgisayar Müh.

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

Veri ve Dosya Yapıları. Kütük Organizasyonu 1

DİSK DEPOLAMA ALANLARI

MİKROİŞLEMCİ MİMARİLERİ

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Mikroişlemcili Sistemler ve Laboratuvarı

BM-311 Bilgisayar Mimarisi

Windows Eski Sürümleri Bellek Yapısı

BİLGİSAYAR KULLANMA KURSU

Bölüm 8: Ana Bellek 8.1

İşletim Sistemlerine Giriş

6 Bellek Organizasyonu (İç / Dış) 6.1 Bellek Hiyerarşisi:

Temel Bilgi Teknolojileri -1

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

MİKROİŞLEMCİLER 1 Ders 1

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1

BM-311 Bilgisayar Mimarisi

İşletim Sistemlerine Giriş

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

BELLEKLER. Kelime anlamı olarak RAM Random Access Memory yani Rastgele Erişilebilir Bellek cümlesinin kısaltılması ile oluşmuş bir tanımdır.

İşletim Sistemlerine Giriş

DOSYA ORGANİZASYONU. Giriş ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Mikrobilgisayar Sistemleri ve Assembler

7. BELLEK BİRİMİ. Şekil 7-1 Bellek Birimlerinin Bilgisayar Sistemindeki Yeri

6 Bellek Organizasyonu (İç / Dış) 6.1 Bellek Hiyerarşisi:

Ünite-2 Bilgisayar Organizasyonu.

Dosyaların Özellikleri (Attribute) Dosya İşlemleri. İki Seviyeli Katalog Sistemleri. Tek Seviyeli Katalog Sistemleri. Hiyerarşik Katalog Sistemleri

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

Cache-Hızlı Hafıza Birimi. Bilgisayar Sistemi Bilgisayarların Anakart Organizasyonu

Bilgilerin Uzun Vadeli Saklanması

Mikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin

Dosya Saklama Ortamları (Devam) Kütük Organizasyonu 1

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

İleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

VERİ YAPILARI VE PROGRAMLAMA

Bilgisayar Donanımı. Computer Organization Ders 1 - Giriş Kadir Atilla TOKER

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

Bilgisayar Donanım 2010 BİLGİSAYAR

BELLEK YÖNETY. Bellek Yönetimi

BLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemleri (Operating Systems)

Bilgisayar Mimarisi. İç Bellek Mimarisi. İşlemci-Bellek Arabağlantısı MAR MBR. komut komut komut. Ön Bellek. veri veri. G/Ç Modül.

Merkezi İşlem Birimi (CPU)

Bellek. Hiyerarşisi. Tek işlemcinin saniyedeki ortalama bellek erişimi isteği. Kaynak: Hennesy, Patterson, Computer Architecture, 5/e

BM-311 Bilgisayar Mimarisi

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Dağıtık Ortak Hafızalı Çoklu Mikroişlemcilere Sahip Optik Tabanlı Mimari Üzerinde Dizin Protokollerinin Başarım Çözümlemesi

İleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları

İşletim Sistemlerine Genel Bakış

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

BIL410 GELİŞMİŞ BİLGİSAYAR MİMARİLERİ. Kayhan İmre

BİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü

Bilgisayar Donanımı. Temel Birimler ve Çevre Birimler. Öğr.Gör.Günay TEMÜR / KAYNAŞLI MESLEK YÜKSEOKULU

Bilgisayar en yavaş parçası kadar hızlıdır!

Computer Architecture. RAID: (Redundant Array of Independent/Inexpensive Disks)

Transkript:

William Stallings Computer Organization and Architecture 9 th Edition

Bölüm 4 Cache Bellek

Bilgisayar Hafıza Sisteminin Ana Karakteristikleri Table 4.1 Key Characteristics of Computer Memory Systems

Bilgisayar Hafıza Sisteminin Ana Karakteristikleri Konum İç Hafıza mı, Dış Hafıza mı olduğu? Genellikle ana hafıza için kullanılır. İşlemci, kendi içerisinde register şeklinde hafızaya ihtiyaç duyar. Cache, iç hafızanın bir başka çeşididir. Dış hafıza, işlemci tarafından giriş çıkış cihazları kullanılarak erişilen hafızaya verilen isimdir. Kapasite Genellikle byte cinsinden verilen boyut Transfer birimi İç hafıza için, hafıza modülüne gelen/giden elektrik hatlarının sayısı. Bir word uzunluğunda olabilir. Ama genellikle daha büyüktür (128,256 gibi) Word: genellikle bir tam sayı veya komutun uzunluğu.

Veri Birimlerine Erişim Yöntemleri Sıralı Erişim: Tape Doğrudan Erişim: Arama, konumlanma ve erişme. Ör: Disk Rasgele Erişim: Adreslenebilen her bir hafıza adresi bağımsız olarak erişilebilir. Ör: RAM Asosyatif (Çağrışımsal): Veriye, içeriğinin bir parçası temel alınarak erişilir. Ör: Cache

Kapasite ve Performans Erişim Zamanı (Gecikmesi): Rasgele erişim için, okuma/yazma zamanı. Rasgele olmayan erişim için, konumlanma zamanı. Hafıza Çevrim Zamanı: Genellikle rasgele erişimli hafıza için geçerlidir. İki hafıza erişimi arasında geçmesi gereken süre. Hattaki eski sinyalin sönmesi lazım. Bu kavram, işlemci ile ilgili değil. Sistem yolu ile ilgili. Transfer Oranı: Birim zamanda hafıza modülünden transfer edilebilen veri miktarı.

Hafıza En bilinen biçimleri: Yarı iletken Manyetik yüzeyli Optik Manyetik-optik Bir hafızanın önemli birçok özelliği vardır: Geçici Hafıza Geçici Olmayan Hafıza Manyetik Yüzeyli Hafızalar Kalıcı Yarıiletken Hafızalar Geçici de olabilir kalıcı da olabilir. Silinemeyen Hafıza Fiziksel olarak yok edilmedikçe silinemeyen hafıza read-only memory (ROM) Rasgele erişim organizasyonu önemli. Organizasyon: bitlerin fiziksel olarak bir word oluşturmak üzere düzenlenmesi

Hafıza Hiyerarşisi Bit başına maliyet düşer Kapasite artar Erişim süresi artar İşlemci tarafından erişilme sıklığı azalır.

Cache ve Ana Hafıza İşlemci önce cache e bakar. İstenen word yoksa, bu word u barındıran bir blok cache e alınır. Böylece, gelecekteki muhtemel erişimler için önceden tedbir alınır.

Cache/Ana Hafıza Yapısı

Cache Okuma İşlemi

Tipik Cache Organizasyonu Ana hafızadan okunan veri aynı anda cache ve işlemciye iletilir. Diğer organizasyon da; verinin cache e okunması ve oradan işlemciye iletilmesidir.

Cache Tasarımının Unsurları Table 4.2 Elements of Cache Design

Cache Adresleri Sanal Hafıza Sanal Hafıza Programların hafızayı, ana hafızanın boyutunu göz önüne almadan adresleyebilmeleri için bir yöntemdir. Sanal hafıza kullanıldığında, komutların adres kısımları sanal adresler barındırır. Bütün okuma/yazma işlemleri için bir donanım (hardware memory management unit -MMU) sanal adresleri fiziksel adreslere çevirir.

Mantıksal Cache ve Fiziksel Cache

Mantıksal Cache ve Fiziksel Cache Mantıksal Cache in Avantajı hızlı olmasıdır. Dezavantajı: Çoğu sanal adresleme sistemi, programları aynı hafıza uzayı ile adresler. Yani, bütün programların sanal hafızaları 0 dan başlar. Bu durumda bir programdan diğer programa geçildiğinde Cache i tamamen boşaltmak gerekir. Ya da, Cache deki blokların yanlarında hangi programa ait oldukları bilgisini tutan bitler eklenebilir.

Table 4.3 Bazı İşlemilerin Cache Boyutları a / ayrılan değerler komut ve veri cache değeleridir. b ayrılmamış cache ler yalnızca komut tutar.

Cache Boyutu Cache boyutunu seçerken, bit başına düşen maliyetin, sistemde yalnızca ana hafıza olduğu duruma yakın olması; aynı zamanda erişim süresinin, sistemde yalnızca cache olduğu duruma yakın olması istenir. Cache in küçük olması için daha fazla motivasyonumuz var: Daha büyük cache i adreslemek için daha fazla kapıya ihtiyaç var. Aynı malzemeden yapılıp, aynı yere konumlandırılsalar bile küçük cache ler büyük cache lerden daha hızlı çalışır. Chip boyutu, cache boyutunu sınırlar.

Haritalama (Mapping) Fonksiyonları Cache de, Ana hafızada bulunan adres bloklarından daha az line olduğu için bir haritalama fonksiyonuna ihtiyaç vardır. Kullanılabilecek 3 teknik var: Doğrudan Asosyatif Küme Asosyatif

Doğrudan Haritalama i = j mod m i = cache line numarası j = ana hafıza blok numarası m = cache deki line sayısı

Doğrudan Haritalamalı Cache Organizasyonu

Doğrudan Haritalama: Özet Adres Uzunluğu= (s + w) bits Adreslenebilir birim sayısı= 2 s+w word ya da byte w Blok boyutu= line boyutu= 2 word ya da byte Ana hafızadaki blok sayısı = 2 s+ w /2 w = 2 s Cache deki line sayısı= m = 2r Etiketin boyutu= (s r) bit

Asosyatif Cache Organizasyonu

Asosyatif Organizasyon: Özet Adres Uzunluğu= (s + w) bit Adreslenebilir birim sayısı= 2 s+w word ya da byte w Blok boyutu = line boyutu = 2 word ya da byte Ana hafızadaki blok sayısı = 2 s+ w /2 w = 2 s Cache deki line sayısı= belirsiz Etiketin boyutu= s bit

Küme Asosyatif Haritalama Doğrudan ve Asosyatif Haritalama tekniklerinin güçlü yönlerini kullanarak dezavantajlarını azaltır. Cache belirli bir sayıda küme içerir Her küme belirli bir sayıda line içerir Bir ana hafıza bloğu, belirli bir küme içerisindeki herhangi bir line ile eşleştirilebilir. Ör: Bir kümede 2 line olsun 2-way asosyatif Bir ana hafıza bloğu, belirli olan bir küme içerisindeki 2 line dan biri ile eşleştir.

Ana Hafızadan Cache e Haritalama: k-way Küme Asosyatif

k-way Küme Asosyatif Organizasyonu

Küme Asosyatif Haritalama: Özet Adres Uzunluğu= (s + w) bit Adreslenebilir birim sayısı= 2 s+w word ya da byte Blok boyutu= line boyutu = 2 w word ya da byte Ana hafızadaki blok sayısı = 2 s+w/ 2 w= 2 s Bir kümedeki line sayısı = k Küme sayısı = v = 2 d Cache deki line sayısı = m=kv = k * 2 d Cache in boyutu = k * 2 d+w word ya da byte Etiketin boyutu = (s d) bit

Değiştirme Algoritmaları Cache dolu olduğunda, yeni bir bloğun cache e taşınması gerekiyorsa, var olan bir blok cache den çıkarılmalıdır. Doğrudan adreslemede bu işlem kolaydır. Çünkü, bir bloğun yer alabileceği yalnızca bir tane line vardır. Asosyatif ve Küme Asosyatif teknikleri için değiştirme algoritmalarına ihtiyaç var. Yüksek hız için, algoritmanın donanım olarak gerçekleştirilmesi gerekli.

3 Temel Değiştirme Algoritması: Least recently used (LRU) En Uzun Süredir Kullanılmayana Etkin bir yöntem Cache deki en uzun süredir kullanılmayan bloğu çıkarır. Gerçekleştirim kolaylığından dolayı en popüler algoritmadır. Kullanım biti gerektirir. 2-way küme asosyatif organizasyon için 1 bit yeterli. Son kullanılanın bitini 1 yap, diğerini 0 yap. Daha büyük kümeler için ayrı bir liste gerekli. Son kullanılan bloğu listenin başına al; değiştirme işlemini sondaki bloklardan yap. First-in-first-out (FIFO) İlk Giren İlk Çıkar Cache e en erken alınmış olan bloğu çıkarır Round-robin ile kolayca gerçekleştirilebilir. Least frequently used (LFU) En Seyrek Kullanılan En az kullanılan bloğu çıkarır. Her bir line için bir sayaç değeri kullanarak gerçekleştirilebilir.

Cache de olan bir blok değiştirileceği zaman birtakım durumlar meydana gelebilir: Write Policy Yazma Kuralları İki Problem Var: Eğer Cache içerisinde yer alan blok üzerindeki bilgilerde bir değişiklik yapılmamışsa; bu bloğu ana hafızaya yazmadan cache den çıkarabiliriz. Ana hafızaya erişim hakkı olan birden fazla aygıt olabilir. (İşlemci ve bir Giriş/Çıkış modülü gibi) Eğer Cache deki bir line daki en az bir word üzerinde bir yazma işlemi gerçekleştirilmişse, bu line daki blok cache den çıkarılmadan önce bu bloğun ana hafızaya yazılması gerekmektedir. Daha karmaşık bir problem, aynı sistem hattına bağlı ve kendi cache lerine sahip olan birden fazla işlemci olması durumunda ortaya çıkar. Cache lerden birindeki bir word değiştiğinde, diğer cache lerdeki ilgli blok geçersizdir.

Write Through and Write Back Write through Basit bir teknik Bütün yazma işlemleri hem cache e hem de ana hafızaya yapılır. Dezavantajı, büyük oranda yazma trafiği oluşturur. Write back Ana hafızaya yazma sayısını azaltır. Güncellemeler yalnızca cache üzerinde yapılır. Bu durumda, ana hafıza bloklarındaki veriler güncel değildir. Giriş/Çıkış modüllerinin ana hafıza erişimleri yalnızca cache üzerinden yapılır. Dirty bit kullanılır. Dezavantajı, daha karmaşık devreler gerektirir. Sıradan uygulamalarda hafıza işlemlerinin %15 kadarı yazma işlemidir. Yüksek Performanslı Hesaplama uygulamalarında bu oran %50 ye kadar çıkmaktadır. Çok işlemcili sistemlerde Write Through uygulanırsa, cache ler arası tutarsızlığı gidermek için bir şeyler yapmak gerekir.

Cache Coherency - Tutarlılığı Bus watching with write through Bütün cache kontrolcüleri (her bir işlemci için) adres hattını gözlemler. Eğer ana hafızadaki paylaşımlı bir bloğa bir yazma işlemi gerçekleşirse, kendi cache lerindeki ilgili bloğu geçersiz olarak işaretlerler. Hardware transparency Bu durumu gerçekleştirmek için bir donanım gerekir. Bir işlemci ana hafızada paylaşılan bir bloğa veri yazarsa, bir donanım diğer btün cache lerdeki ilgili bloğu günceller. Noncacheable memory Bu yöntemde hafızanın paylaşılan bir bölümü cahce lenemez olarak işaretlenir.

Çok Seviyeli Cache ler Daha küçük alanlara daha fazla kapı sığdırılabilir hale gelince, cache ler ana çip üzerine alındı. Çip üzerinde yer alan cache, işlemcinin dış hatta erişimini azaltır ve sistem performansını arttırır. İstenen komut ya da veri çip üzerindeki cache de varsa, dış hatta erişmeye gerek kalmaz. Çip üzerindeki cache, hat erişimini sıfırladığı için hissedilir düzeyde hızlıdır. Ayrıca bu süreçte yol işlemci tarafıdnan kullanılmadığı için diğer aygıtlar tarafından kullanılabilir. İki Seviyeli cache: İç cache level 1 (L1) Dış cache level 2 (L2) L1 cache de olmayan veri için ana hafızaya başvurmak işi yavaşlatır. L2 cache bu durumu kısmen çözer. L1 ve L2 cache ler, ana hafıza ile aynı yolu kullanmaz. 2 seviyeli cache kullanmak genel olarak performansı iyileştirir. Ancak, çok seviyeli cache kullanımı tasarımı zorlaştırır.

Birleşik vs. Ayrı Cache Cache leri ayırma: Bir tane komutlar için Bir tane veriler için Aynı seviyede olurlar. İkisinin de L1 olması gibi Birleşik cache in avantajı: İşlemcinin istediği şeyi cache de bulma oranı (hit rate) daha yüksek Komut ve veri arasında dengeyi doğal olarak sağlar. Tasarım ve gerçekleştirimi daha kolaydır. Genel eğilim, L1 seviyesindeki cache leri ayrı; daha üst seviyedekileri birleşik yapmak Ayrı cache in avantajları: Komutları alan ve çözen birim ile çalıştıran birim arasındaki cache çekişmelerini önler. Pipeline için önemli