BM-311 Bilgisayar Mimarisi

Benzer belgeler
BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

BM-311 Bilgisayar Mimarisi

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

BM-311 Bilgisayar Mimarisi

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

BM-311 Bilgisayar Mimarisi

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

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

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

ÖZET. Lojiksel ve Hiziksel Hafıza. x86 byte düzeni nın Fiziksel Hafıza Yapısı. Ders 3. Temeller

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

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

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

8086 Mikroişlemcisi Komut Seti

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

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

MTM 305 MĠKROĠġLEMCĠLER

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

İşletim Sistemlerine Giriş

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

Bölüm 4 Veri Aktarma Komutları

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

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

İşletim Sistemleri (Operating Systems)

YZM 3102 İşletim Sistemleri

İşletim Sistemlerine Giriş

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

Bildiğiniz gibi programları oluşturan kodlar ve veriler hafızaya yüklendikten sonra işlemci tarafından satırsatır icra edilirler.

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

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Mikroçita. Mikroçita Rapor 2:

Göstericiler (Pointers)

BM-311 Bilgisayar Mimarisi

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ü

BM-311 Bilgisayar Mimarisi

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

Yrd. Doç. Dr. Caner ÖZCAN

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

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

Pointers (İşaretçiler)

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

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

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

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

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

Yrd. Doç. Dr. Caner ÖZCAN

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

Bileenler arasndaki iletiim ise iletiim yollar ad verilen kanallar yardm ile gerçekleir: 1 Veri Yollar 2 Adres Yollar 3 Kontrol Yollar

Bilgisayar Mimarisi ve Organizasyonu Giriş

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

8086 Mikroişlemcisi Komut Seti

8. İŞARETCİLER (POINTERS)

Mikroişlemcili Sistemler ve Laboratuvarı

BM-311 Bilgisayar Mimarisi

Mikrobilgisayar Sistemleri ve Assembler

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

CISC Complex Instruction Set Computers

Ozet. Review pointers (in C) Memory Addressing

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

5.2 Komut Biçimleri Komut Setleri İçin Tasarım Kararları

Yrd. Doç. Dr. Caner ÖZCAN

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

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

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

Yrd. Doç. Dr. Caner ÖZCAN

MİKROİŞLEMCİ MİMARİLERİ

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Giris {\} /\ Suhap SAHIN

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

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

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

Nesne Yönelimli Programlama

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

Arama metodlarında temel işlem anahtarları karşılaştırmaktır.

BLM1011 Bilgisayar Bilimlerine Giriş I

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

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

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

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

BİL-142 Bilgisayar Programlama II

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

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

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

BİLGİSAYAR MİMARİLERİ

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

Mikrobilgisayar Mimarisi ve Programlama

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.

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

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

Windows Eski Sürümleri Bellek Yapısı

PIC16F877A nın Genel Özellikleri

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

Mikroişlemcili Sistemler ve Laboratuvarı

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

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

Transkript:

BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 1

Adresleme modları Komutlar, işlem yapmak için gerekli operandları farklı adresleme modlarıyla belirler. Adresleme modlarını belirlerken adres aralığı, adresleme esnekliği, memory adres sayısı ve adres hesaplama karmaşıklığı arasında seçim yapılır. Temel adresleme modları: Immediate Direct Indirect Register Register indirect Displacement Stack Adresleme modları 2

Adresleme modları Adresleme modları Kullanılan notasyonlar aşağıda verilmiştir. A = komuttaki adres alanını içeriği R = komuttaki register ı gösteren adres alanının içeriği EA = komuttaki operandla referans gösterilen efektif adres (X) = hafızadaki X alanının veya X register ının içeriği Temel adresleme modları aşağıdaki gibi gösterilebilir. 3

Adresleme modları Immediate (hemen) adresleme En basit adresleme modudur. Operand doğrudan komut içinde verilir. Operand = A Genellikle sabitlerde ve değişkenlerin başlangıç değerlerinin verilmesinde kullanılır. Sayılar 2 tümleyen aritmetiğinde ifade edilir. Avantaj / dezavantaj En büyük avantajı hafıza erişimi gerektirmemesidir. Dezavantajı ise sayının boyutu ayrılan bit sayısına bağlıdır. Çoğu komutta az sayıda bit kullanılır. Adresleme modları Direct (doğrudan) adresleme Komut içindeki adres alanı operandın efektif adresine sahiptir. EA = A İlk jenerasyon bilgisayarlarda yaygın kullanılmıştır. Günümüzdeki modern mikroişlemcilerde yaygın kullanılmamaktadır. Bir hafıza erişimi gerektirir ve fazladan hesaplama gerektirmez. Avantaj / dezavantaj En büyük avantajı fazladan adres hesaplama gerektirmemesidir. Dezavantajı ise sınırlı adresleme kapasitesine sahip olmasıdır. 4

Adresleme modları Indirect (dolaylı) adresleme Komut içindeki adres alanı hafızada bir adresi gösteririr. Operandın efektif adresi bu adresten alınır. EA = (A) Adreslenebilir aralık 2 N olur (N = word length). Doğrudan komutla adreslenebilir alan 2 K olur (K = komuttaki bit sayısıdır). Bazı işlemciler kaskad çok seviyeli dolaylı adresleme kullanır. EA = ( (A) ) (A) ) Avantaj / dezavantaj En büyük avantajı daha fazla adreslenebilir alan oluşturmasıdır. Dezavantajı iki kez hafıza erişimi gerektirmesidir. Adresleme modları Register adresleme Direct adreslemeye benzer. Hafıza yerine register adresler. EA = R Hafıza erişimi ve adres hesaplama yapılmadığı için çok hızlıdır. Avantaj / dezavantaj Avantajı register sayısı az olduğu için adresleme için komuttaki bit sayısının az olmasıdır. Hafıza erişimi i i gerektirmez. Dezavantajı adres aralığının az olmasıdır. 5

Adresleme modları Register indirect adresleme Indirect adreslemeye benzer. EA = (R) Hafıza erişimi gerektirir. Adres aralığı register adreslemeden fazladır. Avantaj / dezavantaj Avantajı register sayısı az olduğu için adresleme için komuttaki bit sayısının azolmasıdır olmasıdır. Dezavantajı hafıza erişimi gerektirmesidir. Adresleme modları Displacement adresleme Direct adresleme ve register indirect adreslemenin güçlü yönlerini birleştirir. EA = A + (R) Displacement adresleme en az iki operand gerektirir. Birisi dolaylı olabilir. Örnekte A direct adresleme ile göstrilmiştir. Diğer adres opcode ile dolaylı gösterilebilir. Aşağıdaki 3 displacement adresleme modu yaygın kullanılır: Aşağıdaki 3 displacement adresleme modu yaygın kullanılır: Relative addressing Base-register addressing Indexing 6

Adresleme modları Displacement adresleme Relative addresing PC değerine göre göreceli adresleme yapar. Hafıza adreslemeler genellikle yakın yerlere yapılıyorsa kullanılır. Adres alanı iki tümleyen şeklinde gösterilir. Displacement adresleme Base-register addresing Adreslenen register hafızada bir adresi gösterir, komut içindeki adres oraya göre yer değiştirmeyi belirler. Register doğrudan ğ d veya dolaylı l gösterilebilir. Adreslenebilecek register sayısı N ise ve komut içindeki adres bit sayısı K ise, N farklı bölgede 2 K boyutunda alan adreslenebilir. Adresleme modları Displacement adresleme Indexing Base-register adreslemenin tersi çalışmaya sahiptir. Komut içindeki adres hafızada bir adresi gösterir, register oraya göre yer değiştirmeyi belirler. Adres alanı iki tümleyen şeklinde gösterilir. Register boyutu, komut içindeki adres alanından daha büyüktür. Tekrarlı işlemlerde performansı artırır. Sadece register değeri değiştirilerek adresleme yapılabilir. EA = A + (R) EA = A + (R) (R) (R) + 1 7

Adresleme modları Stack adresleme Stack önceden ayrılmış belirli bir bloktur. Stack üzerinde en üstteki eleman bir işaretçi (pointer) ile gösterilir. Stack üzerinde adresleme register indirect adreslemedir. Genellikle procedure call/return işlemlerinde ve geçici konfigürasyon saklamak için kullanılır. Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 8

Pentium ve PowerPC adresleme modları Pentium adresleme modları Pentium işlemcilerde adresleme birimi tarafından effective veya virtual adres denilen segmentin offset adresi elde edilir. Segmentin başlangıç adresi (segment register lar ile belirtilir) ile efektif adresin toplamıyla linear adres elde edilir. Segment register ları descriptor register lardan birisini seçer. Descriptor register lar segment base adresini, limitini ve erişim haklarını belirler. Pentium ve PowerPC adresleme modları Pentium adresleme modları 9

Pentium ve PowerPC adresleme modları Pentium adresleme modları -devam Pentium işlemcilerde çok sayıda adresleme modu vardır. Pentium ve PowerPC adresleme modları Pentium adresleme modları -devam Immediate mode: Operand komut içinde verilir (byte, word, doubleword). Register operand mode: Operand register ile verilir (EAX, EBX,...). Displacement mode: Operand ın offset adresi komut içinde verilir (8, 16 veya 32 bit olabilir). Base mode: Offset adres bir base register ile verilir (8, 16 veya 32 bit olabilir). Base with displacement mode: Komut içinde base register a eklenecek bir displacement değeri verilir. 10

Pentium ve PowerPC adresleme modları PowerPC adresleme modları RISC mimarisinin karakteristik özelliklerini taşıyan PowerPC işlemciler il Pentium işlemcilere il göre basit ve az sayıda adresleme moduna sahiptir. Pentium ve PowerPC adresleme modları PowerPC adresleme modları - load/store mimarisi Hafıza ile register lar arasında veri aktarma işlemleri için indirect ve indirect indexed adresleme modları kullanılır. 11

Pentium ve PowerPC adresleme modları PowerPC adresleme modları - load/store mimarisi - devam Indirect adresleme Komut 16 bit displacement değerine sahiptir ve base register a eklenir. Dizi, döngü işlemleri gibi tekrarlı işlemler için önceki adres update edilebilmektedir. Indirect indexed adresleme Bir index register ile bir base register toplanır. Dizi, döngü işlemleri gibi tekrarlı işlemler için önceki adres update edilebilmektedir. Pentium ve PowerPC adresleme modları PowerPC adresleme modları devam Branch adresleme 3 branch adresleme moduna sahiptir: absolute, relative ve indirect adresleme. Absolute: Şartsız atlama komutlarında kullanılır. Sonraki komutun efektif adresi komut içinde verilen 24-bit değerle bulunur. 24-bit değer 32-bit e sign extend edilir. Relative: Şartsız atlamalar için 24-bit değer, şartlı atlamalar için 14-bit değer ğ önce entend edilir sonra PC değerine ğ eklenir. Indirect: Sonraki komutun efektif adresi bir count register ı ile belirlenir. Count register döngü sayısını saklayabilir. 12

Pentium ve PowerPC adresleme modları PowerPC adresleme modları devam Aritmetik komutlar Integer aritmetik işlemlerde tüm operandlar register larda veya komutun içinde immediate olarak saklanır. Floating-point aritmetik işlemlerde tüm operandlar floatingpoint register larda saklanır ve bu durumda sadece register adresleme yapılır. Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 13

Komut formatları Komut formatları, komutların bit dizilimini ve her alanın işlevini gösterir. Bir komut formatı, opcode bulundurmak zorundadır, Doğrudan veya dolaylı l birden fazla operand bulundurabilir. bili Komut formatı, operandlar içib doğrudan veya dolaylı adresleme modları belirler. Komut uzunluğu Komut uzunluğu, hafıza boyutu, hafıza organizasyonu, bus yapısı, işlemci karmaşıklığı ve işlemci hızını etkiler. Komut uzunluğu arttıkça programcı için daha esnek hale gelir. Komut uzunluğu arttıkça operand sayısı ve adresleme modu sayısı artar. Komut formatları Bitlerin atanması Komut içindeki alanların işlevlerinin belirlenmesidir. Sabit genişlikteki komutlar için opcode boyutu arttıkça operandlar için ayrılan yer azalacaktır. Aşağıdaki faktörler bitlerin atanması ve komut uzunluğunu belirlerken gözönüne alınır: Adresleme modu sayısı: Adresleme modu dolaylı veya doğrudan belirlenebilir. Doğrudan belirlemede bir veya birkaç bit ayrılması gerekir. Operand sayısı: Günümüzde iki operandlı komutlar yaygın kullanılır. Register / hafıza seçimi: Tek ve dolaylı adreslenen register kullanılabilir (AC). Birden fazla register kullanımında birkaç bitin ayrılması gerekir. Günümüzde 8-32 arası user visible register kullanılmaktadır. Adres aralığı: Adres aralığı komut içinde ayrılan bitlerin sayısıyla ilgilidir., Orthogonality: Komutun bileşenleri opcode dan bağımsızdır. 14

Komut formatları Farklı uzunlukta (variable-length) komutlar Komut boyutlarının farklı olması işlemci karmaşıklığını artırır. RISC ve superscalar işlemciler fixed-length komutları kullanır. Komut uzunluklarının aynı olması decode işlemini kolaylaştırır. Komut uzunluklarının ve operandların aynı uzunlukta olması operand fetch ile decode işleminin aynı anda yapılmasına olanak sağlar. Ödev Pentium ve PowerPC mikroişlemcilerin komut yapıları ve komut kümelerini araştırınız. Birbirlerine göre avantaj ve dezavantajlarını detaylı karşılaştırınız. 15