BM-311 Bilgisayar Mimarisi

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

William Stallings Computer Organization and Architecture 9 th Edition

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

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

Spatial locality nin getirdigi avantaji kullanmak

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

BM-311 Bilgisayar Mimarisi

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

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

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

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

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

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

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

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

Bellek. Hiyerarşisi. Statik RAM SRAM (Static RAM):

PC is updated PS güncellenir

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

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

Bölüm Bazı Temel Konseptler

İşletim Sistemleri (Operating Systems)

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

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

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

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

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

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

Memory. Amac. Baslangictan beri programcilar unlimited hizli memory ler hayal etmisler 1972, PDP-11/20. Oku H&P sections 7.1, 7.2

Background (Arka Plan)

İşletim Sistemlerine Giriş

Bilgisayarların Gelişimi

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

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

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

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

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

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

Bilgisayar Mimarisi ve Organizasyonu Giriş

Sanal Bellek (Virtual Memory)

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

Embedded(Gömülü)Sistem Nedir?

BM-311 Bilgisayar Mimarisi

İşletim Sistemlerine Giriş

MİKROİŞLEMCİLER 1 Ders 1

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

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

BM-311 Bilgisayar Mimarisi

6.4.1 Önbellek Eşleme Planları

BM-311 Bilgisayar Mimarisi

İşletim Sistemlerine Giriş

William Stallings Computer Organization and Architecture 9 th Edition

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

YZM 3102 İşletim Sistemleri

BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ

İşletim Sistemlerine Giriş

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

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

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

BİL-142 Bilgisayar Programlama II

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

BELLEK YÖNETY. Bellek Yönetimi

(Random-Access Memory)

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

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

Mikroişlemcili Sistemler ve Laboratuvarı

İşletim Sistemlerine Genel Bakış

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

BİL-142 Bilgisayar Programlama II

Büyük Veri Analitiği (Big Data Analytics)

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. Örnek MİB ile Adresleme. Adresleme Yöntemleri. Doğal Adresleme. İvedi Adresleme

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

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Bölüm 8: Ana Bellek 8.1

Zeki Optimizasyon Teknikleri

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

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.

1. Hafıza Depolama Araçları. 2. Hafıza Çeşitleri. 3. Hafıza Ölçümü. 4. Bilgisayar Performansı

Web Madenciliği (Web Mining)

Zeki Optimizasyon Teknikleri

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

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

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

BELLEK YÖNETY NETİMİ. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi Teknikleri

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

İşletim Sistemleri (Operating Systems)

BİLGİSAYAR MİMARİLERİ

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

İletişim Ağları Communication Networks

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

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

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

Transkript:

1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Hafıza sistemleri karakteristikleri Hafıza hiyerarşisi Önbellek prensipleri Cache size Mapping function Replacement algorithms Write policy Line size Number of caches

2 Hafıza sistemleri karakteristikleri Location Processor Internal (main memory) External (secondary, hdd, cd, ) Capacity Word size Number of words Unit of transfer Word Block Access method Sequential Direct Random Associative Performance Access time Cycle time Transfer rate Physical type Semiconductor Magnetic Optical Magneto-optical Physical characteristics Volatile/nonvolatile Erasable/nonerasable Organization Hafıza sistemleri karakteristikleri Location Processor: Register lar, control unit memory. Internal: Main memory, cache. External: hdd, tape, I/O kontrol ile erişelenler.

3 Hafıza sistemleri karakteristikleri Capacity Word size: Internal memory için bit olarak external memory için byte olarak ifade edilir. Bir satırın boyutudur. Number of words: Toplam satır sayısını ifade eder. Hafıza sistemleri karakteristikleri Unit of transfer Word: Bir seferde bir word boyutunda veri okunur veya yazılır. Block: Bir seferde bir block veri okunur veya yazılır.

4 Hafıza sistemleri karakteristikleri Access method Sequential: Okuma /yazma mekanizması bulunulan konumdan istenen konuma kadar tüm kayıtları okuyarak gider. (Örn:. Tape) Direct: İstenen konuma doğrudan konumlanılır. İstenen konum okuma/yazma mekanizmasının altına gelene kadar beklenir. Erişim süresi önceki bulunulan konuma bağlıdır. (Örn:. HDD, CD) Random: İstenen konuma doğrudan gidilir. Erişim süresi önceki konuma bağlı değildir. (Örn:. Main memory) Asociative: Arama adrese göre değil içeriğe göre yapılır. Aranan veriyle tüm hafıza alanları eşzamanlı karşılaştırılır. (Örn:. Cache) Hafıza sistemleri karakteristikleri Performance Access time (latency): Random access memory için adres bilgisinin verilmesinden datanın alınmasına kadar geçen süredir. Diğerleri için okuma/yazma mekanizmasının istenen konuma ulaşması için geçen süredir. Memory cycle time: Random access memory için erişim süresi ile ikinci erişim için geçen süre toplamıdır. Transfer rate: Veri aktarım hızıdır. Random access memory için (1/cycle time)*block size ile ifade edilir. Non-random access memory için T N = T A + (N / R) ile ifade edilir. Burada T N, N adet bit için okuma veya yazma süresidir. T A, Ortalama erişim süresi, N, bit sayısı ve R aktarım hızı (bps).

5 Hafıza sistemleri karakteristikleri Physical type Semiconductor: Random access memory ler kullanılır. Magnetic: Disk ve tape ünitelerinde kullanılır. Optical ve Magneto-optical: CD ve DVD lerde kullanılır. Hafıza sistemleri karakteristikleri Physical characteristics Volatile/nonvolatile: Elektrik kesildiğinde veri kaybolan (semconductor) ve kaybolmayan (magnetic-surface) hafıza birimleri. Erasable/nonerasable: İçeriği silinebilen (EEPROM ve silinemeyen (ROM) hafıza birimleridir.

6 Hafıza sistemleri karakteristikleri Organization Random access memory için word oluşturmak için bitlerin yerleşimini ifade eder. (interleaved, sequential) Konular Hafıza sistemleri karakteristikleri Hafıza hiyerarşisi Önbellek prensipleri Cache size Mapping function Replacement algorithms Write policy Line size Number of caches

7 Hafıza hiyerarşisi Hafıza birimlerinde erişim süresi kısaldıkça, bit başına maliyet artar. Kapasite arttıkça bit başına maliyet düşer. Kapasite arttıkça erişim süresi artar. Hafıza hiyerarşisi Birim maliyet artar Erişim süresi azalır Boyut azalır CPU ya yaklaşır Kullanım sıklığı artar

8 Hafıza hiyerarşisi Örnek: Bir CPU iki seviyeli hafızaya erişiyor. Birinci seviye 1000 word ve ikinci seviye 100.000 word kapasiteye sahiptir. Birinci seviye hafızaya erişim süresi 0,01 s ve ikinci seviye hafızaya erişim süresi 0,1 s dir. CPU ilkönce birinci seviyeye yoksa ikinci seviyeye erişmektedir. Şekilde birinci seviye hafızada bulunma oranına göre erişim süresi görülmektedir. Birinci seviye önbelleği ifade eder ve aranan verinin birinci seviyede bulunma oranı %95 ise ortalama erişim süresi nedir? T 1 + T 2 (0,95)(0,01 s) + (0,05)(0,01 s + 0,1 s) = T 0,0095 + 0,0055 = 0,015 s 2 Ortalama erişim süresi 0,01 s daha yakındır çünkü %95 oranında birinci seviyede bulunmuştur. Ortalama erişim süresi Şekilde T 1 birinci seviyeye T 2 ise ikinci seviyeye erişim süresidir. T 1 0 1 Birinci seviyede bulunma oranı (hit ratio) Hafıza hiyerarşisi Hafıza hiyerarşi listesi Registers L1 Cache L2 Cache L3 Cache Main memory Disk cache Disk Optical Tape

9 Konular Hafıza sistemleri karakteristikleri Hafıza hiyerarşisi Önbellek prensipleri Cache size Mapping function Replacement algorithms Write policy Line size Number of caches Önbellek prensipleri Önbellek, main memory ile CPU arasına yerleştirilir. CPU önce önbelleğe erişir ve aradığı veri yoksa main memory ye erişir. Eğer aranan veri main memory de ise içinde bulunduğu blok ile birlikte alınır. Önbelleğe ve CPU ya aktarılır.

10 Önbellek prensipleri Önbellek ve main memory yapısı şekilde görülmektedir. M blok sayısıdır ve M = 2 n / K ile ifade edilir. C << M dir. Önbellek prensipleri Önbellek işlemi CPU bir adres içeriğini ister. Önbelleğe bakılır. Önbellekte bulunursa alınır. İstenen veri önbellekte yoksa hafızada içinde bulunduğu blok alınır ve önbelleğe aktarılır. Önbellekten CPU ya aktarılır.

11 Önbellek prensipleri Önbellek işlemi Önbellek prensipleri Önbellek organizasyonu

12 Konular Hafıza sistemleri karakteristikleri Hafıza hiyerarşisi Önbellek prensipleri Cache size Mapping function Replacement algorithms Write policy Line size Number of caches Cache size Cache satır boyutu Cache satır sayısı Mapping function Direct Associative Set associative Replacement algorithms Least recently used (LRU) First in first out (FIFO) Least frequently used (LFU) Random Write policy Write through Write back Write once Line size Satıra alınan blok boyutu Number of caches Single or multilevel Unified or split

13 Cache size Önbellek boyutu azaldıkça toplam maliyet düşer. Önbellek boyutu arttıkça hit oranı arttığı için erişim süresi düşer. Önbellek boyutu arttıkça kullanılan devre daha karmaşık hale gelir ve azda olsa yavaşlama olur. Mapping function Önbellekteki satır sayısı main memory den çok az olduğu için eşleştirme fonksiyonu kullanılarak aktarma yapılır. Mapping function hafızadaki bir bloğun önbelleğe nasıl yerleştirileceğini belirler. Direct, associative ve set associative olarak üç teknik kullanılır.

14 Direct mapping Şekilde önbellek satır boyutu 32-bit alınmıştır. Hafızada her satır 4-byte (1 blok) kapasitedir. Önbellek adresleme 3-bit ile yapılmaktadır. Hafıdaki 256 blok önbellekteki 8 satıra eşleştirilmektedir. Direct mapping devam Eşleştirme modüler aritmetiğe göre yapılır. i = j mod m i = önbellek satır numarası j = main memory blok numarası m = önbellekteki satır sayısı Her hafıza adresi 3 alandan oluşur. Tag, Line ve Word. Line önbellekte satırı seçmek için, tag seçilen satırın etiketini belirtmek için word ise bulunan satırın bir elemanını seçmek için kullanılır.

15 Direct mapping devam 2 1 3 Direct mapping devam Adres boyutu = (s+w) bit Adreslenebilir alan sayısı = 2 s+w word Blok boyutu = satır boyutu = 2 w word Hafızadaki blok sayısı = (2 s+w ) / (2 w ) = 2 s word Önbellekteki satır sayısı = m = 2 r Tag boyutu = (s - r) bit Avantaj / dezavantaj Oluşturmak basit ve ucuzdur. Bir blok sadece bir satıra yazılabilir. Aynı satıra eşleşen iki blok sürekli çalıştıığında performans düşer.

16 Associative mapping Direct mapping teki bir bloğun sadece satıra eşleştirilmesi dezavantajı ortadan kaldırılır. Bir blok önbellekte istenilen satıra eşleştirilir. Aranan bilginin önbellekte olup olmadığı tüm satırlarda eşzamanlı kontrol edilir. Hafızadan alınan bloğun önbellekte hangi satıra yazılacağı replacement algoritmasıyla belirlenir. Associative mapping devam 1 2

17 Associative mapping devam Adres boyutu = (s+w) bit Adreslenebilir alan sayısı = 2 s+w word Blok boyutu = satır boyutu = 2 w word Hafızadaki blok sayısı = (2 s+w ) / (2 w ) = 2 s word Önbellekteki satır sayısı = tanımlı değil Tag boyutu = s bit Avantaj / dezavantaj Yapısı karmaşıktır. Bir blok uygun olan bir satıra yazılabilir. Önbellekte eşzamanlı arama hızı düşüktür. Set associative mapping Direct mapping ve associative mapping birleşimidir. Önbellek belirli sayıda kümeden oluşur. Her küme kendi içinde associative yapıdadır ve hafızadan alınan bloğun kümede hangi satıra yazılacağı replacement algoritmasıyla belirlenir.

18 Set associative mapping devam 2 1 3 Set associative mapping devam Adres boyutu = (s+w) bit Adreslenebilir alan sayısı = 2 s+w word Blok boyutu = satır boyutu = 2 w word Hafızadaki blok sayısı = (2 s+w ) / (2 w ) = 2 s word Kümedeki satır sayısı = k Küme sayısı = v = 2 d Önbellekteki satır sayısı = k. v = k. 2 d Tag boyutu = (s-d) bit Avantaj / dezavantaj Yapısı direct mapping e göre karmaşıktır. Bir blok sadece kendisine ait bir kümedeki istenilen satıra yazılabilir. Önbellekte küme içinde eşzamanlı arama hızı düşüktür.

19 Replacement algorithms Direct mapping te sadece bir satır seçilebildiği için replacement algoritması kullanılmaz. Associative ve set associative eşleştirme fonksiyonlarında önbellekte yazılacak satır için replacement algoritmaları kullanılır. Least recently used (LRU): En uzun süre kullanılmayan satıra yazılır. Her satır için USE field kullanılır. First in first out (FIFO): İlk gelen satıra yazılır. Least frequently used (LFU): En az kullanılan satıra yazılır. Her satır için counter kullanılır. Random: Rastgele bir satır seçilir ve o satıra yazılır. Write policy Önbellekteki data değişmişse üzerine yeni data yazılmadan önce hafızaya aktarılması gerekir. Eğer hafıza birden fazla cihaz tarafından ortak kullanılıyorsa önbellekteki değişimin hafızaya aktarılma yöntemi oldukça önemlidir. Write through: Önbellekteki her yazma işlemi doğrudan hafızayada aktarılır. Birden çok şlemcili sistemlerde bus sürekli izlenir ve değişiklikler güncellenir. Bus üzerindeki trafik fazladır. Write back: Önbellekteki bir veri değişir değişmez değil sadece atılacağı zaman hafızaya yazılır. Her satır için UPDATE field kullanılır. Bus trafiği write through a göre daha azdır. Write once: Birden çok işlemcili sistemlerde cache coherence için kullanılan protokoldür. İlk değişiklikler hemen yazılır diğerleri hemen yazılmaz.

20 Line size Önbellekte bir veri bulunamadığında, hafızadan sadece o veri değil bir blok alınır. Satır boyutu arttıkça ilk önceleri hit ratio artar daha sonra düşmeye başlar. Blok boyutu arttıkça yakın zamanda kullanılmayacak verilerde alınmaya başlar. Number of caches Önbellekler birden fazla seviyede veya veri ve komut için ayrı ayrı oluşturulabilirler. Multilevel caches On-chip ve off-chip olarak oluşturulabilir. L1, L2 ve L3 şeklinde üç seviyeli kullanımı vardır. On-chip önbellek CPU nun external bus trafiğini azaltır. Unified / split caches Split önbelleklerde bir kısmı sadece komut için bir kısmı ise sadece data için kullanılır. Unified önbelleklerde hit oranı yüksektir. Çünkü komut ve data arasındaki fetch yoğunluğuna göre kendini update eder. Tek önbellek kullanıldığı için oluşturulması basittir. Split önbelleğin en önemli avantajı, instruction cycle da instruction fetch/decode unit ile execution unit i bağımsız yapar. Pipeline için önemlidir.

21 Ödev Cache coherence ve cache coherence için kullanılan protokoller hakkında detaylı bir araştırma ödevi hazırlayınız.