• Sonuç bulunamadı

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
26
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

İç Bellek Mimarisi

Bilgisayar Mimarisi

İşlemci-Bellek Arabağlantısı

MAR MBR

PC IR

MİB Ana Bellek

G/Ç Modül

buffers

0 1 2

n

komut komut komut

...

...

veri veri veri Ön

Bellek AC

MİB = Merkezi İşlem Birimi AC = Akümlatör PC = Program Sayacı IR = Komut Kaydedicisi MAR = Bellek Adres Kaydedicisi MBR = Ara Bellek Kaydedicisi

disk

(2)

Giriş

Belleği, adres bitleri sayısıyla limitlenmiş, wordlerden oluşan bir dizi olarak düşünebiliriz.

maliyet

• hız

• boyut

• güç tüketimi

• volatility

• etc.

Bunların dışında bellek dizaynını etkileyecek başka ne gibi konular düşünülebilir?

Bilgisayar Ana Bellek Sistem – Genel Bakış

Bilgisayar Ana Bellek Sistemine Ait Anahtar Karakteristikler

Yer Başarım

MİB Erişim Zamanı

Dahili(ana, birincil) Çevrim Zamanı

Harici(ikincil) İletim hızı

Kapasite Fiziksel Tip

Kelime büyüklüğü Yarı iletken

Kelime sayısı Manyetik yüzey

Veri İletim Birimi Fiziksel Karakteristikler

Kelime Volatile/nonvolatile

Blok Silinebilir/Silinemez

Erişim Yöntemi Organizasyon

Sıralı Erişim Doğrudan Erişim Rastgele Erişim

İlişkilendirilebilir Erişim Bellek Hiyerarşisi

(3)

Karakteristikler - devam

 Kapasite: Byte veya kelime cinsinden ifade edilir.

 Kelime (Word): Bellek organizasyonunun doğal birimidir. VAX Makinelerinde 32-bitlik kelimeye sahipken, Cray-1’ler 64 bitlik kelimeye sahiptirler.

 Adreslenebilir birim sayısı: Eğer adres bilgisi A bit uzunluğunda ise adreslenebilir birim sayısı en fazla 2A olur

 Veri iletim birimi: Ana belleğe yazılan veya ana bellekten okunan bit sayısıdır.

 Erişim yöntemi:

Sıralı, Doğrudan, Rastgele ve İlişkilendirilebilir

Başarın Ölçütleri:

 Erişim Zamanı: rastgele erişimli bellekler için okuma veya yazma işlemini gerçekleştirmek için gerekli zamandır; bu zaman, bellekte erişilecek adresin adres yoluna konulmasından erişimi yapılan belleğe anlık veri saklanması veya o adresteki bellekten anlık veri okunması için geçen süredir.

 Bellek çevrim zamanı: RAM’e uygulanabilen bir kavramdır. Birim bilgiye (bellek bölgesine) erişmek ve ikinci erişimin başlatılmasından önce, geçiş için

gerekli ek süreyi kapsar.

 Veri iletim hızı: Bellek birimine ve bellek biriminden veri iletimi gerçekleştirmek için ihtiyaç olan süredir.

RAM için, 1/(çevrim süresi) olarak formülize edilir.

Karakteristikler - devam

(4)

Bazı Bellek Özellikleri

Sembol Tanım Intel Intel IBM/Moto.

8088 8086 601

w MİB Kelime Büyüklüğü 16bits 16bits 64 bits

m Mantıksal Bellek Adresindeki bit Sayısı 20 bits 20 bits 32 bits s En küçük adreslenebilir birimdeki bit sayısı 8 8 8

b Veri yolu büyüklüğü 8 16 64

2m Bellek kelime kapasitesi 220 220 232 2mxs Bellek bit kapasitesi 220x8 220x8 232x8

Bellek Hiyerarşisi - Diagram

(5)

Bellek Hiyerarşisi

 Birçok bellek teknolojisi için aşağıdaki kurallar geçerlidir:

- Daha küçük erişim zamanı, bit başına maliyet artar - Daha büyük kapasite, bit başına maliyette düşüş - Daha büyük kapasite, daha büyük erişim zamanı

 Bellek hiyerarşisinde aşağı doğru gidildikçe:

a. Bit başına maliyet azalır b. Kapasite artar

c. Erişim zamanı artar

d. MİB tarafından erişim sıklığı azalır

Big-Endian ve Little-Endian Depolama

En küçük adreslenebilir birimden daha büyük boyutu olan bir kelimeye sahip veri tipleri belleğe depolandığında şu sorular oluşur;

“Kelimenin en düşük mertebeli kısmı mı daha düşük adrese depolanır

(little Endian, little end first) veya

Kelimenin en yüksek mertebeli kısmı mı daha düşük adrese depolanır

(big Endian, big end first)”?

Örnek: The hexadecimal 16-bit sayıABCDH, saklansın

AB CD

msb ... lsb

ABCD

0 1

CDAB

0 1

Little Endian Big Endian

(6)

Yarı İletken Bellekler

 RAM

 Tüm yarı iletken bellekler hatalı olarak RAM diye isimlendirilirler.

 Okuma/yazma yapılabilir.

 Enerjisi kesildiğinde sakladığı veriler silinir.

(Volatile)

 Geçici saklama birimidir

 Statik veya dinamik olabilir

Dinamik RAM

 Bitler kapasitörlerde yük olarak saklanır

 Yük boşalabilir

 Enerji verildiğinde dahi tazelemeye gerek vardır.

 Tazeleme devrelerine ihtiyaç duyar.

 Yapımı kolaydır

 Bit başına küçüktür

 Daha az pahalıdır

 Yavaştır

 Ana bellek

 Esasen analogtur

 Yük seviyesi değeri belirler

(7)

Statik RAM

 Bitler aç/kapa anahtarlar şeklinde saklanır.

 Yük boşalması söz konusu değildir.

 Güç verildiğinde tazelemeye ihtiyaç duymaz

 Tazeleme devrelerine ihtiyaç duymaz

 Oldukça karmaşık yapıdadırlar

 Fiziksel boyut olarak bit başına daha büyük boyutludur

 Daha pahalıdır

 Daha hızlıdır

 Ön bellek

 Sayısal devreler

 Flip-floplar kullanırlar

SRAM ve DRAM Karşılaştırması

 Har ikisi de volatil’dir

 Veriyi tutabilmek için güce ihtiyaç vardır

 Dinamik hücre

 Yapımı kolay, daha küçük

 Daha yoğundur

 Daha az pahalıdır

 Tazelemeye ihtiyaç vardır

 Daha yüksek kapasitede birimler

 Statik Hücre

 Daha hızlı

 Ön bellek

(8)

Salt Okunur Bellekler

Read Only Memory (ROM)

 Kalıcı saklama birimleridir.

 Enerji kesildiğinde sakladığı veriler kaybolmaz.

(Nonvolatile)

 Mikroprogramlamaları

 Kütüphane altprogramları

 Sistem programları (BIOS)

 Fonksiyon tabloları

Gibi programları saklamak amacıyla kullanılır.

ROM Tipleri

 Üretim aşamasında yazılanlar

 Küçük yürütmeler için oldukça pahalıdır.

 Programlanabilri bellek (birkez)

 PROM

 Programlamak için özel ekipmanlara ihtiyaç duyar.

 Daha çok okunan

 Silinebilir Programlanabilir(EPROM)

 UV ile silinebilir

 Elektriksel silinebilir. (EEPROM)

 Yazma için okumadan daha uzun sürer

 Flash bellek

 Tüm bellek elektriksel olarak silinebilir.

(9)

Yarı İletken Bellek Tipleri – Özet

Ön Bellek (Cache memory)

Bilgisayar Mimarisi

(10)

BELLEKLER

YAZMAÇ ÖN

BELLEK

ANA BELLEK

DİSK ÖN BELLEĞİ

DİSK

HIZ

KAPASİTE MALİYET

Önbellek

İşlemci

Bellek

İkincil Bellek

ÖNBELLEK GÖRÜNTÜ BELLEK

(11)

Önbellek

 Küçük boyutlu hızlı bir bellektir.

 Ana bellek ve MİB arasında yeralır.

 MİB çipi veya ayrı bir modül üzerinde bulunabilir.

 MİB önce önbelleğe erişir ve aradığı veri yoksa ana belleğe erişir.

 Eğer aranan veri ana bellekte ise içinde bulunduğu blok ile birlikte alınarak

Önbelleğe ve MİB’ne aktarılır.

Önbellek

 MİB ile Önbellek arasında kelime transferi

 Ana bellek ile önbellek arasında ise kelimenin bulunduğu bloğun transferi söz konusudur.

MİB Önbellek Ana Bellek

Kelime Transfer

Blok Transfer

(12)

Line Number: Hat numarası: Önbellekteki yuva (slot) numarası

Tag: Etiket: Bloktaki verilerin anabellekteki adreslerinin bulunmasında kullanılan bilgi.

Block: Blok: Ana bellekte ardışıl olarak bulunan K adet kelime.

Word: Kelime: Ana bellekteki herbir satıra karşılık gelir.

K words: K kelime: Ana bellekteki K adet satıra karşılık gelir.

Word length: Kelime uzunluğu 8-bit, 16-bit v.s.

Block length: Blok uzunluğu: K adet kelimeden oluşan bloğun uzunluğu.

Memory address: Bellek adresi: n adres hattına sahip bellekte 2n adet satır bulunmaktadır. Adre snumaraları 0 ile 2n -1 arasında değişir.

Main memory: Ana Bellek.

Cache memory: Önbellek

Önbellek

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek

(13)

Önbellek Ölçütleri

 Hit oranı: program parçasının önbellekte bulunması

 Miss oranı= 1 - Hit Oranı: program parçasının önbellekte bulunmaması

 Hit zamanı (tönbellek): önbelleğe erişim zamanı

 Miss cezası (tanabellek): önbellekte bulunmayan bloğun değiştirilmesi için harcanan zaman.

 Erişim zamanı: önbellekte bulunmayan bloğa anabellekte erişim zamanı.

 Transfer zamanı: Blok transferi geçen zaman

 Ortalama bellek erişim zamanı

= Hit süresi + Miss oranı x Miss cezası

Önbellek Tasarım Bileşenleri

 İçeriklerine Göre

 Birleşik (Unified):

 Komut ve veriler birlikte önbelleklenir.

 Hit oranı yüksektir. Komut ve veri arasındaki getirme (fetch) yoğunluğuna göre kendini günceller.

 Tek önbellek olduğu için kolay meydana getirilir.

(14)

Önbellek Tasarım Bileşenleri

 Bölünmüş (Split):

 Komut ve veriler birbirinden ayrı olarak önbelleklenir.

 Bölünmüş önbelleğin en önemli avantajı, komut döngüsünde (instruction cycle) komut getir/çöz birimi (instruction fetch/decode unit) ile çalıştırma (execution) birimi bağımsız yapar. Ardışık düzen çalışma (Pipeline) için önemlidir.

 L1 önbellek bölünmüş, L2 önbellek birleşik yapıdadırlar.

İçeriklerine Göre

 Yazma Yöntemine Göre

 Doğrudan Yazma (WriteThrough)

 Geriplanda yazma (Writeback/CopyBack)

Önbellek Tasarım Bileşenleri

(15)

 Doğrudan yazma: Veri hem önbellekteki bloğa hem de ana belleğe aynı anda yazılır.

 Geri planda yazma: Veri sadece önbellekteki bloğa yazılır. İçeriği değişen önbellek

(güncellenen önbellek) ait olduğu blok anabelekteki başka bir bellek ile

yerdeğiştireceği zaman ana belleğe yazılır.

 Bloğun yazılıp yazılmayacağı bloktaki GÜNCELLEME (update) biti kullanımıyla belirlenir.

Önbellek Tasarım Bileşenleri

Yazma Yöntemine Göre

 Avantaj ve Dezavantajlar:

 Doğrudan yazma

 Okuma esnasında önbellekte bulunmama (read miss) belleğe yazma işlemini etkilemez.

 Gerçeklemesi kolaydır

 Ana belleğe yazarkenki gecikmeyi engellemek için her zaman yazma tampon bellekleri ile birleştirilerek kullanılırlar.

 Geri planda yazma

 Düşük bellek trafiği

 Yazma işlemleri önbellek hızında gerçekleşir.

Önbellek Tasarım Bileşenleri

Yazma Yöntemine Göre

(16)

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Veriler önbellekte bulunuyorsa okuma (Read hit)

Doğrudan Yazma Önbellek (WriteThrough Cache)

İstenen program/veri bloğu önbellekte ise okuma yapılır.

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Veriler önbellekte bulunmuyorsa (Read miss)

Doğrudan Yazma Önbellek (WriteThrough Cache)

İstenen blok önbellekte değilse ana belllekten önbelleğe getirilir ve okuma yapılır.

(17)

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Veriler önbellekte bulunuyorsa (Write hit)

Doğrudan Yazma Önbellek (WriteThrough Cache)

Tüm yazma işlemlerinde önbelleğe yazma ile aynı anda ana belleğe yazma yapılır. Gereksiz ana bellek yazma işlemi oranı yüksektir.

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Doğrudan Yazma Önbellek (WriteThrough Cache)

Yazılacak veri önbellekte yoksa doğrudan ana belleğe yazma yapılır.

Veriler önbellekte bulunmuyorsa (Write miss)

(18)

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Geri Planda Yazma (Write Back Cache)

Veriler önbellekte bulunuyorsa okuma (Read hit)

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Geri Planda Yazma (Write Back Cache)

Veriler önbellekte bulunmuyorsa okuma (Read miss)

(19)

Veriler önbellekte bulunuyorsa (Write hit) Geri Planda Yazma (Write Back Cache)

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek

Veri güncellemeleri önbellekte gerçekleşir. Bir güncelleme olduğunda ilgili verinin bulunduğu yuvada (slot) bulunan güncelleme (UPDATE) biti 1 (set) yapılır. Sadece güncelleme biti 1 olan bloklar ana belleğe yazılır. Gereksiz bellek erişimi ortadan kalkar.

İşlemci

Adres Bilgileri Denetim Birimi

Veriler

Ana Bellek Veriler önbellekte bulunmuyorsa (Write miss)

Geri Planda Yazma (Write Back Cache)

(20)

Erişim Yöntemine – Eşleştirme Fonksiyonuna Göre

 Önbellekteki satır sayısı ana bellekten çok az olduğu için eşleştirme fonksiyonu kullanılarak aktarma yapılır.

 Eşleştirme fonksiyonu (Mapping function) hafızadaki bir bloğun

önbelleğe nasıl yerleştirileceğini belirler.

 Kullanılan üç eşleştirme tekniği bulunmaktadır:

 Doğrudan Eşleştirme

 (Direct Mapping Cache)

 Tam Çağrışımlı Eşleştirme

 (Fully Associative Cache)

 Kümeli Çağrışımlı Eşleştirme

 (Set Associative Cache)

Erişim Yöntemine – Eşleştirme Fonksiyonuna Göre

Önbellek Tasarım Bileşenleri

(21)

Erişim Yöntemine – Eşleştirme Fonksiyonuna Göre Doğrudan Eşleştirme

 Her bir bloğun önbellekte bulunabileceği sadece bir yuva (slot) mevcuttur.

 Tam Çağrışımlı Eşleştirme

 Her bir blok önbellekte herhangi bir yuvada bulunabilir.

 Küme Çağrışımlı Eşleştirme

 Her bir blok önbellekte sınırlı yuva kümesi içinde bulunabilir.

 Eğer bir kümede n blok varsa; n-yollu küme çağrışımlı eşleştirme olarak isimlendirilir.

Önbellek Tasarım Bileşenleri

Doğrudan Eşleştirme

Ana Bellek

Blok 0 Blok 1

Blok 127 Blok 128 Blok 129 Önbellek

Blok (K kelime)

Yuva Büyüklüğü Blok+Etiket Uzunluğu Yuva 0 Yuva 1 Yuva 2

Yuva 125 Yuva 126 Yuva 127

Blok 8190 Blok 8191

• Blok 0, 128, 256, … 8064 Yuva 0 ile

• Blok 1, 129, 257, … 8065 Yuva 1 ile

• Blok 127, 255,

…8191 Yuva 128 ile eşleştirilir.

•Aynı önbellek yuvasında aynı etiket değerine sahip iki ana bellek bloğu bulunamaz.

•Önbellek içeriği yuva numarası ve etiket değeri kontrol edilerek bulunur.

•Blok 0, 128, 256, …8064 bloklarına ait etiket değerleri 0, 1, 2, …,63 olmaktadır.

(22)

Doğrudan Eşleştirme Avantaj- Dezavantaj

 Basit

 Ucuz

 Ana bellekte verilen bir blok için sabit bir önbellek yuvasının mevcut olması

 Eğer program tarafından aynı yuvaya eşleştirilmiş 2 bloğa tekrar tekrar erişilmek istenirse önbellek miss oranı çok yüksek olmaktadır.

Tam Çağrışımlı Eşleştirme

 Doğrudan eşleştirmedeki bir bloğun sadece tek yuvaya eşleştirilmesi dezavantajı ortadan kaldırılır.

 Bir blok önbellekte istenilen yuvaya eşleştirilir.

 Aranan bilginin önbellekte olup olmadığı tüm yuvalarda eşzamanlı kontrol edilir.

 Hafızadan alınan bloğun önbellekte hangi yuvaya yazılacağı yerine koyma

(replacement) algoritmasıyla belirlenir.

(23)

Tam Çağrışımlı Eşleştirme

Ana Bellek

Blok 0 Blok 1

Blok j

Önbellek

Blok (K kelime)

Yuva 0 Yuva 1

Yuva 125 Yuva 126 Yuva 127

Blok 8190 Blok 8191

Yuva Büyüklüğü Blok+Etiket Uzunluğu ( K kelime=77 bit)

Tam Çağrışımlı Eşleştirme 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.

(24)

Kümeli Çağrışımlı Eşleştirme

 Doğrudan ve tam çağrışımlı eşleştirme birleşimidir.

 Önbellek belirli sayıda kümeden oluşur.

 Her küme kendi içinde tam çağrışımlı

yapıdadır ve hafızadan alınan bloğun kümede hangi satıra yazılacağı yerine koyma

(replacement) algoritmasıyla belirlenir.

Kümeli Çağrışımlı Eşleştirme

Ana Bellek

Blok 0 Blok 1

Blok 63 Blok 64 Blok 65 Önbellek

Blok (K kelime)

Blok 8190 Blok 8191

Yuva 0 Yuva 1

Yuva 2 Yuva 3

Yuva 126 Yuva 127

Yuva Büyüklüğü Blok+Etiket Uzunluğu ( K kelime=71 bit) Küme 0

Küme 63 Küme 1

(25)

Kğmeli Çağrışımlı Eşleştirme Avantaj-Dezavantaj

 Yapısı doğrudan eşleştirmeye 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.

Önbelleğe yeni gelen veriye yer açma stratejileri

 Yerine koyma Teknikleri

 Doğrudan eşleştirmede sadece bir satır seçilebildiği için yerine koyma

(replacement) algoritması kullanılmaz.

 Tam çağrışımlı ve Kümeli çağrışımlı eşleştirme fonksiyonlarında önbellekte yazılacak satır için yerine koyma

(replacement) algoritmaları kullanılır.

(26)

Önbelleğe yeni gelen veriye yer açma stratejileri

 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.

Referanslar

Benzer Belgeler

Bu çözümlerden bulut bilişim tabanlı yazılımlar kültürel bellek kurumlarının koleksiyonlarını tanımlama, dönüştürme, düzenleme ve erişime açma gibi olanaklar

 Uygulamadan başlayarak öğrencilerin bireysel ve genel, konu ile ilgili olarak değerlendirilmesi.  Konuya uygun eğitsel

• Öğrenci kendi gelişimi için ilerlemeye, araştırmaya ve bir program düzenleyip onu uygulamaya hazır olup olmadığını bilir. • Öğrenci öğretme-öğrenme

Kalem in rengini belirtilen d eğer kadar değiştirm ek için kullanılır.. Kalem in rengini belirtilen renk y a p m a k için

Yüksek Yoğunluk: Tek bir yonga içine daha çok bellek hücresi (transistör ve kondansatör) yerleştirilebilir ve bir bellek modülünü uygulamaya koymak için gerekli olan

Dış çevreden gelen uyarıcılar, bilgi depolarında bilgi formuna dönüştürülür, anlamlı yapılar halinde işlenir ve daha sonra kullanılmak üzere örgütlü bir

Murat Yılmaz, İstanbul Üniversitesi, Bilgi ve Belge Yönetimi Bölümü Elektronik Kültürel Bellek Merkezi

Literatürde depresyon ve otobiyografik bellek arasındaki ilişkiyi inceleyen araştırma- ların sık sık rapor ettiği bir başka bulgu da klinik depresyon ya da hafif depresyon