Bölüm Bazı Temel Konseptler

Benzer belgeler
BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

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

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

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

BM-311 Bilgisayar Mimarisi

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

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

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

MİKROİŞLEMCİLER 1 Ders 1

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ

İşletim Sistemleri (Operating Systems)

Komutların Yürütülmesi

BM-311 Bilgisayar Mimarisi

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

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

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

(Random-Access Memory)

İşletim Sistemlerine Giriş

Geçtiğimiz hafta# Dizisel devrelerin tasarımı# Bu hafta# Örnek: Sekans algılayıcı# Örnek: Sekans algılayıcı# 12/11/12

BÖLÜM 2 SAYI SİSTEMLERİ

BİLGİSAYAR MİMARİSİ. Mimariye Giriş. Özer Çelik Matematik-Bilgisayar Bölümü

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ı

Mikroçita. Mikroçita Rapor 2:

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

BM-311 Bilgisayar Mimarisi

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Mikrobilgisayar Mimarisi ve Programlama

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

William Stallings Computer Organization and Architecture 9 th Edition

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

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

Bölüm 4 Aritmetik Devreler

Bilgisayarların Gelişimi

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol

Bu deney çalışmasında kombinasyonel lojik devrelerden decoder incelenecektir.

İşletim Sistemlerine Giriş

Deney 5: Shift Register(Kaydırmalı Kaydedici)

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6

Sequential (SEQ, Ardışıl) Y86 İşlemci Uygulaması (Devamı)

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2006

Mikroişlemcili Sistemler ve Laboratuvarı

BM-311 Bilgisayar Mimarisi

Mimari. risi. Yazar: İşlemci Mimar. bulunmasını istediğimiz. mimariyi. Şekil 1

18. FLİP FLOP LAR (FLIP FLOPS)

Bilgisayar Mimarisi ve Organizasyonu Giriş

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

8. MİKROİŞLEMCİ MİMARİSİ

ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BLM 221 MANTIK DEVRELERİ

Deney 2: Flip-Floplar

Bilgisayar Mimarisi Nedir?

Bilgisayar Donanım 2010 BİLGİSAYAR

BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

İŞLEMCİ İşlemcilerin Temel Birimleri, İşlemcinin Çalışma Sistemi ve Komutlar, İşlemci ve Hafıza Arasındaki İlişki, İşlemci Teknolojileri, Modern

7.Yazmaçlar (Registers), Sayıcılar (Counters)

İşlemci Tasarımı ve Aşamaları

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Temel Flip-Flop ve Saklayıcı Yapıları. Mikroişlemciler ve Mikrobilgisayarlar

Logical signals. Active high or asserted logic. Logic threshold, yaklasik 1.4 volts. Read H&P sections B.3, B.4, B.5 Read H&P sections 5.1 and 5.

Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

T.C. İstanbul Medeniyet Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Elektrik-Elektronik Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

Mantık Devreleri Laboratuarı

BM-311 Bilgisayar Mimarisi

BLG2109 BİLGİSAYAR DONANIMI DERS 3. Öğr. Grv. Aybike ŞİMŞEK

Pre-requisite : EE240

İşletim Sistemi. BTEP205 - İşletim Sistemleri

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

İşletim Sistemlerine Giriş

Mikrobilgisayar Sistemleri ve Assembler

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

Sayısal Sistemler (MECE 305) Ders Detayları

BSE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits)

Mikroişlemcili Sistemler ve Laboratuvarı

SELÇUK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ ELEKTRĠK-ELEKTRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ LOJĠK DEVRE TASARIM DERS NOTLARI

1. İŞLEMCİLER 1.2. İşlemcinin Görevi 1.3. İşlemcinin Yapısı

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

GİRİŞ-ÇIKIŞ (INPUT / OUTPUT) ORGANİZASYONU

Bilgisayar Sistemlerine Genel Bakış

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

KASIRGA 4. GELİŞME RAPORU

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

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

Lecture 7. Assembler language nedir? Language in 3 seviyesi. Language 3 seviyesi. Nicin onu ogreniriz?

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

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER

BM-311 Bilgisayar Mimarisi

Transkript:

Bölüm 7 Bu ve bundan sonraki bölümde, makine komutlarını işleten ve diğer birimlerin faaliyetlerini düzenleyen işlem birimi üzerine yoğunlaşacağız. Bu birim genellikle Komut Seti Mimarisi (Instruction Set Architecture - ISA) ya da kısaca işlemci olarak adlandırılır. Dahili yapısını ve bir programın komutlarını alıp getirme (fecthing), çözme (decoding) ve işletme (execution) görevlerini nasıl yerine getirdiğini inceleyeceğiz. İşlem birimi merkezi işlem birimi olarak da bilinir. Buradaki merkezi terimini kullanmak günümüzde pek uygun değildir, çünkü modern bilgisayar sistemleri çok sayıda işlem birimine sahiptir. İşlemcilerin organizasyonu, yıllar içinde teknolojide yaşanan gelişmeler ve diğer taraftan performansa olan ihtiyaç sayesinde oldukça gelişti. Yüksek performanslı işlemcilerin geliştirilmesindeki yaygın bir stratejiye göre çeşitli fonksiyonları yerine getiren birimler mümkün olduğunca paralel bir şekilde çalışmalıdır. Yüksek performanslı işlemciler ardışık (pipelined) bir organizasyona sahiptir. Bir komutun işletilmesine önceki komutun işletilmesi bitmeden önce başlanır. Süper skalar işletim adı verilen bir başka yaklaşıma göre, aynı anda çok sayıda komut getirilip işletilir. Bu bölümde tüm işlemcilerde yaygın olan temel fikirler üzerinde yoğunlaşacağız. Tipik bir hesaplama görevi (computing task), bir programı oluşturan makine komutları dizisi tarafından belitilmiş olan adımlardan oluşur. Bir komut, bir dizi temel işletimin (operation) gerçekleştirilmesiyle işletilir. Bu işletimler ve nasıl kontrol edildikleri bu bölümün temel konusudur. 7.1 Bazı Temel Konseptler Bir program işletmek için, işlemci birim zamanda bir komut getirir ve belirtilen işlemi uygular. Komutlar, bir dallanma veya bir atlama komutuna rastlayana kadar ardışık hafıza alanlarından getirilir. İşlemci, program sayacını (Program Counter - PC) kullanarak, getirilecek bir sonraki komutu içeren hafıza alanının adresini saklar. Bir komutu getirdikten sonra, PC nin içeriği dizideki bir sonraki komutu gösterecek şekilde güncellenir. Bir dallanma komutu PC ye farklı bir değer yükleyebilir. İşlemcideki bir başka anahtar yazmaç ise komut yazmacıdır (Instruction Register - IR). Her bir komutun 4 bayttan meydana geldiğini ve tek hafıza wordünde depolandığını varsayalım. Bir komutu işletebilmek için, işlemci aşağıdaki adımları uygulamalıdır:

1. PC tarafından gösterilen hafıza alanının içeriğini getir. Bu alanın içeriği işletilecek bir komut olarak yorumlanır. Bu nedenle bu içerik IR ye yüklenir. Bu durum sembolik olarak aşağıdaki gibi ifade edilebilir: IR [[PC]] 2. Hafızanın bayt adreslenebilir olduğunu varsayarak, PC nin içeriğini 4 arttır. Yani: PC [PC] + 4 3. IR deki komut tarafından belirtilen faaliyetleri yerine getir. Şekil 7.1 İşlemci içindeki tek yollu veriyolu organizasyonu Bir komutun bir wordden fazla yer kaplaması durumunda 1. ve 2. adımlar tüm komutun getirilebilmesi için gerektiği kadar tekrarlanmalıdır. Bu iki adım genellikle getirme evresi (fetch phase), 3. adım ise işletme evresi (execution phase) olarak adlandırılır. Bu işletimleri

detaylı inceleyebilmek için işlemcinin dahili organizasyonunu incelememiz gerekir. Bir işlemcinin temel yapı taşları Şekil 1.2 de gösterilmektedir. Bunlar organize edilebilir ve çeşitli yollarla birbirine bağlanabilir haldedir. Çok basit bir organizasyonla başlayacağız. Bu bölümün ilerleyen kısımlarında ve Bölüm 8 de yüksek performans sağlayan karmaşık yapıları göreceğiz. Şekil 7.1 deki organizasyonda aritmetik ve mantık birimi ALU ve tüm yazmaçlar tek ortak veriyoluyla birbirine bağlanmış halde görülüyor. Bu veriyolu işlemcinin içindedir ve işlemci, hafıza ve G/Ç aygıtlarını birbirine bağlayan harici veriyolu ile karıştırılmamalıdır. Şekil 7.1 de görüldüğü gibi, harici hafıza veriyolunun veri ve adres çizgileri, sırasıyla hafıza veri yazmacı (memory data register - MDR) ve hafıza adresi yazmacıyla (memory adress register - MAR) dahili işlemci veriyoluna bağlanıyor. MDR yazmacı iki girişe ve iki çıkışa sahiptir. Veri MDR a hafıza veriyolundan veya dahiliişlemci veriyolundan yüklenebilir. MDR da depolanan veri her iki veriyolu üzerinde de yer alabilir. MAR ın girişi dahili veriyoluna, çıkışı da harici veriyoluna bağlıdır. Hafıza veriyolunun kontrol çizgileri komut şifre çözücüsüne ve kontrol mantık bloğuna bağlıdır. Bu birimin görevi, işlemci içindeki tüm birimlerin faaliyetini kontrol eden sinyalleri dağıtmak ve hafıza veriyoluyla iletişim sağlamaktır. R0 dan R(n-1) e kadar olan işlemci yazmaçlarının sayısı ve kullanım şekli işlemciden işlemciye değişir. Yazmaçlar programcılar tarafından genel amaçlı kullanım için oluşturulabilir. Bazıları dizin yazmaçları ya da yığın yazmaçları gibi özel amaçlı yazmaçlar olabilir. Şekil 7.1 deki üç yazmaç Y, Z ve TEMP den daha önce bahsedilmemişti. Bu yazmaçlar programcıya saydamdır, yani programcının bu yazmaçlarla uğraşmasına gerek yoktur, çünkü bunlar herhangi bir komut tarafından referans gösterilemezler. Bazı komutların işletimi esnasında geçici depolama için işlemci tarafından kullanılırlar. Bu yazmaçlar, bir komutun bir başka komutun kullanımı için oluşturduğu veriyi depolamak için hiçbir zaman kullanılmaz. Çoklayıcı MUX, ALU nun A girişi olmak için Y yazmacının çıkışını ya da 4 sabit değerini seçer. 4 sabiti PC nin içeriğini arttırmak amacıyla kullanılır. MUX kontrol girişindeki Select iki değer alabilir: 4 sabitini seçebilmek için Select4 veya Y yazmacını seçebilmek için SelectY. Bir komut işletimi ilerlerken, veri bir yazmaçtan diğerine aktarılır, genellikle de bazı aritmetik ve mantık işlemlerini yapabilmek için ALU üzerinden geçer. Komut şifre çözücü (instruction decoder) ve kontrol mantık birimi (control logic unit), IR yazmacında bulunan komut tarafından belirtilen görevleri yapmakla yükümlüdür. Şifre çözücü, yazmaçları seçmek için gerekli kontrol sinyallerini üretir ve verinin aktarımını yönlendirir. Yazmaçlar, ALU ve bunları birbirine bağlayan veriyolu datapath veriyolu olarak adlandırılır.

Şekil 7.2 Şekil 7.1 deki yazmaçlar için giriş ve çıkış kapıları Bazı olağanüstü durumlarda, bir komut aşağıdaki işlemleri belirli bir düzende 1 ya da daha fazla sayıda uygulamalıdır: Bir işlemci yazmacından diğerine ya da ALU ya 1 word boyutunda veri aktar. Bir aritmetik veya bir mantık işlemi uygula ve sonucu işlemci yazmacında depola. Verilen bir hafıza alanının içeriğini getir ve işlemci yazmacına yükle. Bir işlemci yazmacındaki 1 word boyutunda veriyi verilen bir hafıza alanında depola. Şimdi ise Şekil 7.1 deki basit işlemci modelini kullanarak bu işlemlerin her birinin nasıl uygulandığını inceleyeceğiz.

7.1.1 Yazmaç Aktarımı Komut işletimi, verinin bir yazmaçtan diğerine aktarıldığı durumlarda bir dizi adımdan oluşur. Her yazmaç için, yazmacın içeriğini veriyoluna yerleştirmek veya veriyolundaki veriyi yazmaca yüklemek için iki kontrol sinyali kullanılır. Bu durum Şekil 7.2 de sembolik olarak gösterilmiştir. Ri yazmacının giriş ve çıkışları Ri in ve Ri out sinyallerinin kontrol ettiği anahtarlarla veriyoluna bağlıdır. Ri in 1 e eşitlendiğinde, veriyolundaki veri Ri ye yüklenir. Benzer bir şekilde, Ri out 1 e eşitlendiğinde Ri yazmacının içeriği veriyoluna yerleştirilir. Ri out 0 a eşit olduğunda, veriyolu diğer yazmaçlardan veri aktarmak için kullanılır. R1 yazmacının içeriğini R4 yazmacına aktarmak istediğimizi varsayalım. Bunu gerçekleştirmek için aşağıdaki işlemleri yapmalıyız: R1 out 1 e eşitlenerek R1 yazmacının çıkışı aktif hale getirilir. Böylece R1 in içeriği işlemci veriyoluna yerleştirilir. R4 in 1 e eşitlenerek R4 yazmacının girişi aktif hale getirilir. Böylece veri veriolundan R4 e taşınır. İşlemci içindeki tüm işlemler ve veri aktarımı işlemci saati (processor clock) tarafından belirlenen zaman dilimlerinde gerçekleştirilir. Belirli bir aktarımı yöneten kontrol sinyalleri saat çevriminin (clock cycle) başında öne sürülür. Örneğimizde R1 out ve R4 in 1 e eşitleniyor. Yazmaçlar kenar-tetikli (edge-triggered) flip-floplardan meydana gelir. Bundan dolayı, saatin bir sonraki etkin kenarında, R4 ü oluşturan flip-floplar girişlerinde bulunan veriyi yüklerler. Ancak çalışan farklı planların da olması mümkündür. Örneğin, veri aktarımı saatin yükselen ve alçalan kenarlarını kullanabilir. Eğer kenar-tetikli flip-floplar kullanılmazsa, iki veya daha çok saat sinyali düzgün veri aktarımını garanti etmelidir. Buna çok fazlı saatle denetim (multiphase clocking) denir. Örnek olarak Şekil 7.3 de Ri yazmacının bir biti için uygulama gösterilmektedir. İki girişli bir çoklayıcı (multiplexer) kenar-tetikli flip-flopun girişine uygulanan veriyi seçmek için kullanılır. Ri in kontrol girişi 1 e eşitlendiğinde, çoklayıcı veriyolundaki veriyi seçer. Bu veri saatin yükselen kenarındaki flip-flopa yüklenir. Ri in 0 a eşitlendiğinde, çoklayıcı o an flipflopta depolanan değeri karşılık verir. Flip-flopun Q çıkışı üç durumlu bir geçitle veriyoluna bağlıdır. Ri out 0 a eşit olduğunda geçidin çıkışı yüksek empedanslı (elektrik olarak bağlı olmayan) bir durumdadır. Bu da bir anahtarın açık devre (open-circuit) durumuna karşılık gelir. Şekil 7.3 Tek yazmaç biti için giriş ve çıkış kapıları

Şekil 7.4 MDR yazmacı için bağlantı ve kontrol sinyalleri

Şekil 7.5 Hafıza Read komutu için zaman değerleri