BM-311 Bilgisayar Mimarisi

Benzer belgeler
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

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

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

Komutların Yürütülmesi

İşletim Sistemleri (Operating Systems)

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

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

Bölüm Bazı Temel Konseptler

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

Bilgisayar Mimarisi ve Organizasyonu Giriş

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Mikroçita. Mikroçita Rapor 2:

İşletim Sistemlerine Giriş

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

MİKROİŞLEMCİLER 1 Ders 1

BM-311 Bilgisayar Mimarisi

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

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

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

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

Bilgisayar Donanım 2010 BİLGİSAYAR

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Çalışma Açısından Bilgisayarlar

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

BM-311 Bilgisayar Mimarisi

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

BM-311 Bilgisayar Mimarisi

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

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

Mikrobilgisayar Mimarisi ve Programlama

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

Bilgisayar Mimarisi Nedir?

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

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

Mikrobilgisayar Sistemleri ve Assembler

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

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

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

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

William Stallings Computer Organization and Architecture 9 th Edition

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

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

İşletim Sistemlerine Giriş

Mikroişlemcili Sistemler ve Laboratuvarı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği 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ı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

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

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

Şekil. 64 Kelimelik Yığıtın Blok Şeması

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

BİLGİSAYAR MİMARİSİ. Halil Özmen

Anakart ve Bileşenleri CPU, bellek ve diğer bileşenlerinin bir baskı devre (pcb) üzerine yerleştirildiği platforma Anakart adı

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

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

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

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

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

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

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

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

ESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

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

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 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İ DENEY #6

BM-311 Bilgisayar Mimarisi

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

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

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

BİLGİSAYAR MİMARİLERİ

SPARC v8 İŞLEMCİ SİMÜLASYONU

YZM 3102 İşletim Sistemleri

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

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

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

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İ

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ı

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

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

HDL Dilleri VHDL. Son olarak, spesifik ASIC teknolojisi için devrenin yerleşimi netlist tanımlamalarından gelen diğer araçlarla oluşturulmuş olunur.

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ü

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

Mikroişlemcili Sistemler ve Laboratuvarı

EEM 419-Mikroişlemciler Güz 2017

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.

Yazılım Mühendisliği 1

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

1. İŞLEMCİLER. İlk İşlemci

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

Transkript:

1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi

2 Giriş Mikroişlemciler instruction ları çalıştırırken çok sayıda alt işlemi gerçekleştirir. Bir komut kümesi oluşturulduktan sonra her komut için yapılacak alt işlemlerin donanımsal veya yazılımsal olarak tasarlanması gereklidir. Bir mikroişlemcinin instruction ları çalıştırmak için mikroişlemci dışındaki bileşenleri de bilmesi gereklidir. Aşağıdaki bileşenler mikroişlemcinin fonksiyonel ihtiyaçları olarak tanımlanır: Opcode lar Adresleme modları Register lar I/O module arayüzleri Memory modül arayüzleri Interrupt lar Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi

3 Mikro işlemler Bir programı çalıştırırken her komut için instruction cycle tekrarlanır. Programın çalıştırılması sırasında komutlar yazıldığı sırada çalıştırılmayabilirler. Programın çalıştırılması sırasında zamana göre sıralı olarak çalıştırılırlar. Her bir instruction, belirli sayıda küçük iş parçaları halinde oluşturulur. Bu küçük iş adımlarına mikro işlem (micro-operation) denilmektedir. Mikro işlemler Mikro işlemler bir mikroişlemcinin atomik işlemleridir. Bir program çalıştırılırken her instruction için alt işlemler sırasıyla yerine getirilir.

4 Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi Fetch cycle Fecth cycle her komut döngüsünün başlangıcında gerçekleşir. Mikroişlemcide MAR, MBR, PC ve IR bulunmaktadır. MAR (Memory Address Register): Hafıza üzerindeki okuma ve yazma adresini tutar. MBR (Memory Buffer Register): Hafızadan okunan veya hafızaya yazılan verinin tutulduğu kayıtçıdır. PC (Program Counter): Sonrak ikomutun adresini tutar. IR (Instruction Register): Fetch edilen son komutun tutulduğu kayıtçıdır.

5 Fetch cycle Fetch cycle aşağıdaki alt işlemler ile gerçekleştirilir. 1 2 3 Fetch cycle Fetch cycle aşağıdaki sıralı zaman aralıklarında gerçekleştirilir. Alternatif 1 Alternatif 2

6 Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi Indirect cycle Indirect cycle da aşağıdaki işlemler zaman sıralı gerçekleştirilir: Komut içerisindeki adres alanındaki değer ile hafızaya gidilir. Hafızadan okunan değer MBR a aktarılır. MBR daki adres değeri komut içerisindeki adres olarak güncellenir.

7 Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi Interrupt cycle Interrupt cycle da aşağıdaki işlemler zaman sıralı gerçekleştirilir: PC değeri MBR a aktarılır. Mevcut adres, hafızada belirlenen adrese (Save_Address) saklanır. Interrupt için atlanacak adres PC a aktalır. MBR a aktarılan dönüş adresi hafızada belirlenen adrese (Save_Address) aktarılır.

8 Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi Execute cycle Fetch cycle, indirect cycle ve interrupt cycle basittir ve belirsizlik yoktur. Execute cycle da yapılacak işleme göre hem zaman aralığı sayısı hem de sıralama farklı olmaktadır. ADD komutu aşağıdaki gibi gerçekleştirilir: Komut içerisindeki adres MAR a aktarılır. Hafızadan okunan değer MBR a aktarılır. Toplama işlemi execute edilir.

9 Execute cycle ISZ komutu aşağıdaki gibi gerçekleştirilir: Komut içerisindeki adres MAR a aktarılır. Hafızadan okunan değer MBR a aktarılır. MBR değeri 1 artırılır. MBR değeri hafızaya aktarılır. Toplama işlemi execute edilir. MBR=0 ise PC değeri Instruction boyutu kadar artırılır. Execute cycle BSA (Branch and Save PC Address) komutu aşağıdaki gibi gerçekleştirilir (call/return de procedure başına adres yazar): Komut içerisindeki adres MAR a aktarılır. PC değeri MBR a aktarılır Komut içerisindeki adres PC a aktarılır. MBR değeri hafızaya aktarılır. PC değeri instruction boyutu kadar artırılır.

10 Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi sinyalleri Hardwired kontrol birimi Instruction cycle Instruction cycle ın her aşaması zamana göre sıralı küçük işlemler halinde gerçekleştirilir. Her aşama için sadece bir tane sıralı işlem kümesi vardır. Her komut için opcode içerisinde kendisine ait kod oluşturulur. Her aşama için aşağıdaki komut döngü kodlarının (Instruction Cycle Code - ICC) atandığını varsayalım: 00: Fetch 01: Indirect 10: Execute 11: Interrupt

11 Instruction cycle Instruction cycle için akış şeması aşağıdaki gibi tanımlanabilir. Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi Hardwired kontrol birimi

12 Mikroişlemcinin denetimi Fonksiyonel gereksinimler Mikroişlemci tasarımında öncelikle kontrol biriminin fonksiyonel gereksinimleri belirlenir. Fonksiyonel gereksinimler kontrol biriminin yapmak zorunda olduğu işlerdir. Mikroişlemcinin tasarımında aşağıdakilerin belirlenmesi gereklidir: İşlemcinin temel bileşenlerinin tanımlanması İşemcinin mikro işlemlerinin belirlenmesi Mikro işlemlerin gerçekleşmesi için kontrol biriminin yapması gereken işlevlerin tanımlanması Mikroişlemcinin denetimi İşlemcinin temel bileşenleri Aşadığıda işlemcinin temel bileşenleri verilmiştir: ALU: Temel aritmetik mantık işlem birimi Register lar: İşlemci içerisinde internal veri saklama birimleri Internal data paths: Register lar arasında veya register lar ile ALU arasında veri aktarımı için kullanılır. External data paths: Register lar ile hafıza ve I/O modülleri arasında veri aktarımı için kullanılır. Control unit: İşlemci içerisindeki işlemleri organize eder.

13 Mikroişlemcinin denetimi Mikro işlemler bir zaman aralığında aşağıdakilerden birisini yapar: Bir register dan diğerine veri aktarımı Bir register dan bir external arayüze veri aktarımı Bir external arayüzden bir register a veri aktarımı Register lar giriş ve çıkış olmak üzere aritmetik ve mantık işlemin gerçekleştirilmesi Kontrol birimi temel olarak iki işlevi gerçekleştirir: Sıralama (Sequencing): Çalıştırılan mikro işlemlerin doğru sırada çalıştırılmasını sağlar. Çalıştırma (Execution): Kontrol birimi her mikro işlemin gerçekleştirilmesini sağlar. Mikroişlemcinin denetimi Kontrol sinyalleri Kontrol biriminin her mikro işlemi gerçekleştirebilmesi için gerekli girişleri alması gereklidir. Kontrol birimi, aldığı girişlere göre gerekli işlemi gerçekleştirecek birimlerin aktif yapılması için kontrol sinyallerini üretir. Kontrol birimi, CPU içerisindeki birimlere iletilecek sinyalleri CPU internal bus ı aracılığıyla iletir. Yukarıdaki işlemlerin tümünün gerçekleştirilmesi için gerekli kod bilgisi instruction register da bulunan opcode içerisinden alınır.

14 Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi Hardwired kontrol birimi Kontrol birimi Kontrol biriminin temel bileşenleri aşağıdadır.

15 Kontrol birimi Kontrol birimine girişler Clock: Kontrol birimi her clock cycle da bir veya birkaç tane mikro işlemi yerine getirir. Instruction register: Opcode ve adresleme modu ile hangi mikro işlemlerin execute aşamasında çalışacağını belirler. Flags: ALU işlemlerinin sonucunda işlemcinin durumunu belirlemek için ihtiyaç duyulur. Kontrol bus tan alınan kontrol sinyalleri: Kontrol bus üzerinden kontrol birimine sinyaller alınır. Kontrol birimi Kontrol biriminden çıkışlar İşlemci içerisinde kontrol sinyalleri: Verilerin register lar arasında veri aktarılır veya ALU işlemi gerçekleştirilir. Kontrol bus a kontrol sinyalleri: Hafızaya ve I/O modüllerine kontrol sinyalleri iletilir. Fetch cycle için kontrol biriminin yapacağı işlemler: MAR içeriğini adres bus aktaracak kapı devreleri açılır. Kontrol bus a hafıza okuma işareti yerleştirilir. Kontrol sinyalleri data bus taki verileri MBR a aktarır. Kontrol sinyalleri PC değerini 1 artırarak sonucu PC a aktarır. Ardından MBR içeriğini IR a aktaracak kapı devresi açılır.

16 Kontrol birimi Kontrol sinyalleri örnek Şekilde veri yolları ve kontrol sinyalleri görülmektedir. Kontrol birimi Kontrol sinyalleri örnek Mikroişlemcide bir tane AC bulunmaktadır. C i ler kontrol sinyalleri olup sinyal geçişlerini kontrol etmektedir. Kontrol birimi giriş olarak, clock, instruction register ve flags leri alır. Her clock cycle da kontrol birimi tüm girişleri okur ve kontrol sinyallerini üretir. Kontrol sinyalleri aşağıdaki 3 hedefe gönderilir: Veri yolları: Kontrol birimi internal veri akışını kontrol eder. ALU: Kontrol birimi ALU nun yapacağı işlemleri farklı mantık devrelerini aktif yaparak denetler. System bus: Kontrol birimi sistem bus üzerinde READ, WRITE gibi kontrol komutlarını gönderir.

17 Kontrol birimi Kontrol sinyalleri örnek Kontrol birimi her clock pulse ile bir mikro işlemi yerine getirir. Her mikro işlem için bir veya daha fazla kontrol sinyali oluşturur. Kontrol birimi Mikroişlemci iç organizasyonu Mikroişlemcinin internal bus ı ile bileşenlerin bağlantısı şekildeki gibidir. Bir bus ile ALU ve tüm register lar arasındaki bağlantı yapılır. Şekildeki mikroişlemciye Y ve Z olarak iki adet register eklenmiştir. Bir ALU işlemi gerektiğinde girişlerden birisi internal bus ile Y üzerinden alınır diğeri ise AC den alınabilir. ALU kombinatorial devredir ve hafızaya sahip değildir. ALU çıkışı geçici olarak Z register ında tutulur.

18 Kontrol birimi Mikroişlemci iç organizasyonu AC registerine hafızadaki bir adresteki değerin eklenmesi aşağıdaki gibi gerçekleştirilebilir: Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction cycle Mikroişlemcinin denetimi Kontrol birimi Hardwired kontrol birimi

19 Hardwired kontrol birimi Kontrol birimi girişleri Kontrol birimi donanımsal (hardwired) veya mikroprogramlanmış (microprogrammed) şekilde oluşturulabilir. Donanımsal kontrol birimi bir durum makinesi devresidir. Kontrol biriminin temel girişleri, instruction register, clock, flags ve control bus sinyalleridir. Instruction register dan alınan opcode kontrol biriminin girişidir ve decoder tarafından kullanılır. Decoder n bit giriş için 2 n çıkış üretir. Clock girişi kontrol biriminin sıralı pulse lar üretmesini sağlar ve mikro işlemlerin süresine uygun olmalıdır. Clock girişleri t 1, t 2, t 3,... için yukarı sayıcı devresine giriş oluşturur ve her mikro işlemin sonunda sayıcı sıfırlanır. Hardwired kontrol birimi 4 giriş ve 16 çıkışa sahip decoder

20 Hardwired kontrol birimi Decode edilen girişlerle birlikte kontrol birimi Hardwired kontrol birimi Kontrol birim mantık devresi Kontrol birimi girişlerine göre çıkış sinyalleri oluşturur. Herhangi bir kontrol sinyali için Boolean expression yazılabilir. PQ instruction cycle daki aşamaları göstermektedir. C 5 için Boolean expression aşağıdaki gibidir.

21 Hardwired kontrol birimi Kontrol birim mantık devresi C 5 execute aşamasında da kullanılmaktadır. LDA, ADD ve AND işlemlerinde hafızadan okuma yapılıyor. C 5 için yeni Boolean expression aşağıdaki gibidir. Ödev Mikroprogramlanmış kontrol birimi konusunda detaylı bir ödev hazırlayınız. Hardwired kontrol birimiyle karşılaştırmalarını içeren araştırma makalesi inceleyip makalenin tam metni ile birlikte inceleme sonuçlarınızı ödev raporuna ekleyiniz.