K uark projesi. Temel Özellikler :

Benzer belgeler
KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

CITIUS-ALTIUS-FORTIUS

CPU TURKEY CPU-KULIS MİKROİŞLEMCİSİ ÇALIŞMA RAPORU

CITIUS-ALTIUS-FORTIUS

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ı

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR

İşlem Buyrukları MİKROİŞLEMCİ SİSTEMLERİ. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları

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.

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

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

TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011

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

Mikrobilgisayar Mimarisi ve Programlama

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

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

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

BM-311 Bilgisayar Mimarisi

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

80x86 MICROPROCESSOR Instructions

SelCPU. Version Temmuz Proje Ekibi. Selçuk BAŞAK Bilgisayar Bilimleri Mühendisi (YTÜ 1998)

BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

AND Komutu. and hedef, kaynak

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

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

Tek Vuruşluk Đşlemci. -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği

FPGA Kullanarak 16 Bitlik Mikroişlemci Tasarımı Designing of a 16 bit Microprocessor by Using FPGA

8086 Mikroişlemcisi Komut Seti

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

8086 Mikroişlemcisi Komut Seti

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

Arithmetic ve Logical Operations

Mikroçita. Mikroçita Rapor 2:

KASIRGA PROJESİ 2. GELİŞME RAPORU

CPU TURKEY CPU-KULIS MİKROİŞLEMCİSİ ÇALIŞMA RAPORU

DSP DONANIMI. Pek çok DSP için temel elemanlar aşağıdaki gibidir.

Kasırga [Gizli] KASIRGA PROJESİ 3. GELİŞME RAPORU Ankara

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

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

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

Mikrobilgisayar Mimarisi ve Programlama

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

Komut Seti Mimarisi (ISA)

Aritmetiksel Komutlar

KASIRGA 4. GELİŞME RAPORU

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

b) Aritmetik İşlem Komutları

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

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

Mikrobilgisayar Donanımı

MTM 305 MİKROİŞLEMCİLER

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

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

8086 dan core2 ya yazaç yapısını tanımak. Bayrak yazacının içeriğinde yer alan bayrakların görevlerini tanımlamak. Real mod çalışmada bellek

Yığın MİKROİŞLEMCİ SİSTEMLERİ. Yığın. Örnek MİB için Yığın. Yığma İşlemi. Çekme İşlemi

MTM 305 MĠKROĠġLEMCĠLER

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI

BÖLÜM 7 Kesmeler.

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

MTM 305 MĠKROĠġLEMCĠLER

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

Mikrobilgisayar Sistemleri ve Assembler

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

MTM 305 MĠKROĠġLEMCĠLER

Komutların Yürütülmesi

Bilgisayar Yapısı MİKROİŞLEMCİ SİSTEMLERİ. Bilgisayar Temel Birimleri. Kütükler. Kütükler. Merkezi İşlem Biriminin İç Yapısı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

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

SPARC v8 İŞLEMCİ SİMÜLASYONU

Bilgisayar Yapısı MİKROİŞLEMCİ SİSTEMLERİ. Bilgisayar Temel Birimleri. MİB Yapısı. Kütükler. Kütükler

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

HAZIRLAYA MOME TUM PROJE GRUBU

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

Assembly. Programlama Dili. T e m m u z

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Bitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER

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

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

C DERSĐ Programlamaya Giriş. Çağıltay, Selbes, Tokdemir, Turhan Bölüm 1 Genel Kavramlar 2

BÖLÜM 20 ADD_I ENO IN2 OUT

BLM1011 Bilgisayar Bilimlerine Giriş I

Basit Işık Kontrolü. 1. Bit, Byte, Word, Double Word kavramları:

Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz.

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

KONTROL VE OTOMASYON KULÜBÜ

Bilgisayarların Gelişimi

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

MTM 305 MİKROİŞLEMCİLER

BM-311 Bilgisayar Mimarisi

Bilgisayar Donanım 2010 BİLGİSAYAR

BM-311 Bilgisayar Mimarisi

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BM-311 Bilgisayar Mimarisi

BLM 221 MANTIK DEVRELERİ

Hacettepe Robot Topluluğu

İŞLEMCİ DURUM KAYDEDİCİSİ (PROCESSOR STATUS REGISTER)

Transkript:

K uark projesi Temel Özellikler : Kuark işlemcisi 16 bit kelime uzunluğuna sahip bir işlemcidir. Veri ve komut belleği aynıdır ve en fazla 4 Gigabyte bellek adresleyebilir. İşlemcimiz paralel çalışabilecek şekilde tasarlanacaktır ve her bir komutu tek saat çevriminde tamamlayabilecektir. Doğrudan ve dolaylı adresleme modlarını desteklemektedir. Değişken uzunluklu komut formatı kullanılmıştır ve bir komut boyu en fazla 48 bittir. Aşağıda işlemcimizde kullanılan kütükler ve açıklamaları, komut formatı ve tüm komutların opkodları(komut kodları) açıklamalarıyla birlikte verilmiştir. Muhammet Dinç M. Fatih Uslu Recep Özçelik

Komut Formatı Komut uzunluğumuz azami 48 bit tir. Değişken uzunluklu komut formatı kullanılmıştır. Adres Modu 0: Doğrudan Adresleme 1: Dolaylı Adresleme Komut Türü 00: Bellek referanslı komutlar 01: Kütük referanslı komutlar 10: Giriş / Çıkış komutları 11: Kesme komutları Bellek referanslı komutlar: 48 bit uzunluğundadır. Birinci işlenen ile bellek arasında işlem yapıp sonucu 1. işlenene yazar.

Kütük referanslı komutlar: 16 bit uzunluğundadır. İvedi argüman alabilen komutlar da kütük referanslı komutlar kategorisindedir ve komut uzunluğu 48 bittir. Birinci işlenen ile ikinci işlenen arasında işlem yapıp sonucu 1. işlenene yazar. Giriş / Çıkış komutları: 16 bit uzunluğundadır. Eğer komut giriş komutu ise giriş kütüğündeki veriyi 1. işlenene yazar. Eğer komut çıkış komutu ise 1. İşlenendeki veriyi çıkış kütüğüne yazar. Kesme komutları: 16 bit uzunluğundadır. Yazılım kesmesi, harici kesmelere izin verme, harici kesmelerin iznini kaldırma komutlarını içerir. Not: Sadece bellek referanslı komutlarda dolaylı adreslemeye izin verilir. Birinci işlenen: S onucun yazılacağı kütük numarasını içerir. İkinci işlenen: Kütük referanslı komutlarda işlenecek ikinci kütük numarasını içerir.

Kütük numaraları 16 bitlik kütükler 0000 A (akümülatör) 0001 B (yardımcı kütük) 0010 C (yardımcı kütük) 0011 D (yardımcı kütük) 0100 BVK (bellek veri kütüğü) 0101 GRK (giriş kütüğü) 0110 CK (çıkış kütüğü) 0111 DK (durum kütüğü) 32 bitlik kütükler 1000 YG (yığın göstergesi) 1001 HG (hedef göstergesi) 1010 KG (kaynak göstergesi) 1011 P S (program sayacı) 1100 BAK (bellek adres kütüğü) Kütüklerimizi Tanıyalım 16 bitlik kütükler: A: Akümülatör B: Yardımcı kütük C: Yardımcı kütük D: Yardımcı kütük

BVK: Bellek veri kütüğü (bellekten okuduğumuz verileri yazacağımız kütük) G RK: Giriş kütüğü C K: DK: Çıkış kütüğü Durum kütüğü T: Taşma Bayrağı 0: Taşma yok 1: Taşma var I: İşaret Bayrağı 0: İşaret pozitif 1: İşaret negatif K: Kesme Bayrağı 0: Kesme izni yok 1: Kesme izni var E: Elde Bayrağı 0: Elde yok 1: Elde var S: Sıfır Bayrağı (Eşitlik) 0: Son işlemin sonucu 0 değil 1: Son işlemin sonucu 0

32 bitlik kütüklerimiz YG: HG: K G: P S: Yığın göstergesi Hedef göstergesi Kaynak göstergesi Program sayacı BAK: Bellek adres kütüğü OPKODLA R Bellek referanslı komutlar için Add 00000 (Addition) Sub 00001 (Subtraction) Mul 00010 (Multiplication) Mulu 00011 (Multiplication unsigned) Cmp 00100 (Compare) And 00101 (AND) Or 00110 (OR) Xor 00111 (XOR) Lw 01000 (Load word: Bellekten birinci işlenene veri okuma) Sw 01001 (Store word: Birinci işlenenden belleğe veri yazma) Beq 01010 (Branch if equal to 0) Bne 01011 (Branch if not equal to 0) Ba 01100 (Branch always) BL 01101 (Branch and link) : Halt 11110 (Dur) Nop 11111 (no operation)

Kütük referanslı komutlar için Add 00000 (Addition) Addi 00001 (Addition immediate) Sub 00010 (Subtraction) Subi 00011 (Subtraction immediate) Mul 00100 (Multiplication) Muli 00101 (Multiplication immediate) Mulu 00110 (Multiplication unsigned) Cmp 00111 (Compare) And 01000 (AND) Andi 01001 (AND immediate) Or 01010 (OR) Ori 01011 (OR immediate) Not 01100 (NOT) Xor 01101 (XOR) Xori 01110 (XOR immediate) Sll 01111 (Logical shift left) Srl 10000 (Logical shift right) Sla 10001 (Arithmetic shift left) Sra 10010 (Arithmetic shift right) Mov 10011 (Move data between registers) Movi 10100 (Move data immediate) Clear 10101 (1. işlenendeki kütüğü sıfırlama) Sil S 10110 (Durum kütüğündeki sıfır bayrağını sıfırlama) Sil E 10111 (Durum kütüğündeki elde bayrağını sıfırlama) Sil K 11000 (Durum kütüğündeki kesme bayrağını sıfırlama) Sil I 11001 (Durum kütüğündeki işaret bayrağını sıfırlama) Sil T 11010 (Durum kütüğündeki taşma bayrağını sıfırlama)

Yig 11011 (Yığına 1. işlenendeki veriyi at) Cek 11100 (Yığından 1. işlenene veriyi al) : Halt 11110 (Dur) Nop 11111 (no operation) Giriş / Çıkış komutları için Gir 00000 (1. işlenene GRK daki veriyi al) Cik 00001 (1. işlenendeki veriyi CK ya yaz) : Halt 11110 (Dur) Nop 11111 (no operation) Kesme komutları için Syscall 00000 (Software Interrupt) ION 00001 (Harici kesmeye izin ver) IOFF 00010 (Harici kesme iznini iptal et) : Halt 11110 (Dur) Nop 11111 (no operation)