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

Benzer belgeler
Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

BM-311 Bilgisayar Mimarisi

8086 Mikroişlemcisi Komut Seti

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

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

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

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

MTM 305 MĠKROĠġLEMCĠLER

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

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

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

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

BM-311 Bilgisayar Mimarisi

İşletim Sistemlerine Giriş

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

CISC Complex Instruction Set Computers

Mikroişlemcili Sistemler ve Laboratuvarı

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

Bölüm 4 Veri Aktarma Komutları

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

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

Komutların Yürütülmesi

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

Mikrobilgisayar Donanımı

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

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

İşletim Sistemlerine Giriş

Mikrobilgisayar Mimarisi ve Programlama

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

MTM 305 MİKROİŞLEMCİLER

16 bitlik işlemciler basit olarak 8 bitlik işlemciler gibi Kaydedici ALU Zamanlama/kontrol

BM-311 Bilgisayar Mimarisi

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

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

İşletim Sistemleri (Operating Systems)

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

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

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

İ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Ş

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

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

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

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

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

K uark projesi. Temel Özellikler :

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

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Mikroçita. Mikroçita Rapor 2:

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

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

ÖNEMLİ AÇIKLAMA: Bu derslerdeki sunumların kısa bir özetini göstermek için hazırlanmıştır. Burada türkçeleştirilmemiş olan kısımlar sorulmayacak

Yrd. Doç. Dr. Caner ÖZCAN

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

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

MTM 305 MĠKROĠġLEMCĠLER

Bölüm 6. Veri Türleri ISBN

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ı

Yrd. Doç. Dr. Caner ÖZCAN

İşletim Sistemlerine Giriş

Göstericiler (Pointers)

Komut Seti Mimarisi (ISA)

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

PROGRAMLAMAYA GİRİŞ DERS 2

BÖLÜM in Bellek Organizasyonu

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

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

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

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

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

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

BM-311 Bilgisayar Mimarisi

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

Bilgisayar Sistemlerine Genel Bakış

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

8086 Mikroişlemcisi Komut Seti

PC Donanım Birimleri. Öğr. Gör. Dr. Şirin Karadeniz. Anakart (Mother Board)

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR

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

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER

Mikroişlemciler. Öğr. Gör. Kürşat Mustafa KARAOĞLAN Güz

Pointer Kavramı. Veri Yapıları

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

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

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

Assembly Programlama

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

Eln 1002 Bilgisayar Programlama II

Öğr. Gör. Kürşat Mustafa KARAOĞLAN Güz

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Bilgisayarların Gelişimi

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

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

BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI

8. İŞARETCİLER (POINTERS)

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

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

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

80x86 MICROPROCESSOR Instructions

Transkript:

ÖZT Ders 3 Hafıza Hakkında Hafızayı adresleme Veri (data) tipleri MOV komutu dresleme modları Komut formatı Öğr. Gör. ren RNR İBÜ/DMYO Temeller x işlemcilerin hafıza yapısı byte adreslenebilir şeklindedir. dres yolunda bir adres bilgisi oluştuğunda, bu adres bilgisi hafızada sadece 1 bytelık bilginin yerini gösterir. Byte temel hafıza birimidir Fakat bir byte tan daha fazla bilgileri bir defada hafızayı adresleyerek, okuyup/yazabiliriz. 1-bit words, ard-arda gelen byte lar, 3-bit doubleword, ard-arda gelen byte lar, şeklinde düşünülebilir. Lojiksel ve Hiziksel Hafıza Lojik Hafıza, bilgisayar programcısına görünen hafıza şeklidir. Birçok byte, bir dizi (array) byte olarak görünür byte, word veya doubleword şeklindeki bilgileri okuyup, yazabiliriz. Programcı hafızadan bilginin nasıl alınıp-getirildiği ile ilgilenmez, sadece hafıza erişiminde, bilginin 1, veya byte lık olup olmadığı ile ilgilenir. Fiziksel Hafıza Hafıza hücrelerinin fiziksel organizasyonu, programcı tarafından görünmez. Fiziksel hafıza birimi, data bus (veri yolu) genişliği ile aynıdır. Örneğin işlemcisinde bir defada hafızaya 1 bit yazılırken, 3 işlemcisinde bu 3 bittir. nın Fiziksel Hafıza Yapısı x byte düzeni. adresten byte okunursa: SONUÇ=. adresten word okunursa: SONUÇ =B. adresten doubleword okunursa: SONUÇ =551B. ve 1. bellek konumları ve B bilgisini taşıyor. Fakat. adresten word okunursa bu işlemci tarafından B olarak değerlendiriliyor x ters sıralı byte düzenini kullanır. B örneğinde; Küçük adreseki () bilgi, düşük değerlikli byte olarak değerlendirilir, Büyük adresteki (1) bilgi ise, yüksek değerlikli byte olarak değerlendirilir.

BYT DÜZNİ BYT SIRLMSI Ters sıralı ve Düz sıralı yapı; Düz sıralı erişimde bilgi, talep edilen adresten direk olarak alınır ve aynen değerlendirilir. Birçok UNIX server da bu düzen kullanılır. Byte düzeni işlemcinin mimarisi ile alakalıdır.. dresten word okunduğunda data(15:)=b,data(7:)= bytelık bu bilgi data bus ta doğru şekilde görülür Bu sıralı hafıza erişimidir. BYT SIRLMSI BYT SIRLMSI Peki 1. adresten word okursak ne değişir? Bu da geçerli bir hafıza erişimidir, herzaman tek numaralı adreslerden hafızaya erişebilirsiniz, Burada da sonuç 1B olur. Fakat data bus ta görülen byte lar sıralı değildir! data(15:)=b,data(7:)=1 Hafızadan 1den fazla byte okunduğunda, bu bilgilerin yerini gösteren adres bus taki adres bilgisi, işlemci mimarisi tarafından düzenli bir sıraya konulur. dres 1 den word okuduğumuzda, adres deki bilgi data bus a yüksek değerlikli byte olarak ve adres 1 deki bilgi düşük değerlikli byte olarak yüklenmeli. Günümüzdeki mikroişlemciler bu işi programcıya bırakmadan kendileri hallederler... BYT SIRLMSI VRİ (DT) TİPLRİ Peki hafızadaki sıralı olmayan bilgilerin bir dezavantajı varmıdır? Şayet programınızın hızlı çalışmasını istiyorsanız VT! İşlemci sıralı olmayan hafıza erişiminde; odd byte ı okur (1. hafıza erişimi) even byte ı okur (. hafıza erişimi) Sonra bu iki byte ı sıraya koyar Sıralı hafıza erişiminde ise işlemci; even byte ı okur (tek hafıza erişimi yapılır) Sıralı erişim en az iki kat daha hızlıdır. Tam sayılar Bit ler, Nibble lar, Byte lar, Word ler, Doubleword ler İşaretli/İşaretsiz Kayar noktalı sayılar Tam sayılardan farklı bir formatları vardır. Metin (Text) 7-bit SII karakterler (harfler, karakterler) -bit SII kodlama, fazladan 1 adet grafik sembolünü içerir. String (Harf-dizi): Karakterlerin ard-arda gelmesinden oluşur. Dökümanlar (Document): Dizilerden oluşur.

VRİ (DT) TİPLRİ VRİ (DT) TİPLRİ Diziler (array) Sayı ve karakterlerin sıralanmasından oluşur Dosyalar (Files) Resim (.jpg,.gif,.tiff, ) Video (MPG,.avi, Quicktime, ) Ses (.wav,.mp3, ) Herşey bilgisayarın hafızasındaki byte ların belli bir düzende sıralanmasından meydana gelir. Gerçekte veri tipleri, hafızaya nasıl eriştiğinize ve bu byte ları nasıl kullandığınıza bağlıdır! 1 adet bitlik tamsayı adet 1 bitlik word adet 3-bitlik doubleword nlamsız bir harfdizi Komutlar ve operanlar GRÇK (RL) ve KORUMLI (PROTTD) MOD PROTTD Gerçek modda hafızanın ilk megabyte ını (h-fh) adresleyebiliriz, -bit lik address bus ile sınırlı kalırız ve kaydedicilerin 1-bit lik kısımlarını kullanabiliriz. Korumalı modda hafızanın Gigabyte ını adresleyebilir 3-bit lik address bus ı ve 3-bit lik kaydedici leri kullanabiliriz. Not: Yukarıdaki örnek 3 bitlik bir mikroişlemci için verilmiştir. ve üstü işlemciler için geçerlidir Hafıza erişimi segment tabanlıdır Segment leri hafızayı koruma altına almak için oluşturulmuş bölgeler gibi düşünebiliriz (protected kelimesi buradan gelmiştir) Korumalı modda hafızayı anlamak ve düşünmek çok karışıktır Sabit segment:offset, segment 1-bit, offset 1-bit veya 3-bit Segment bölgesi bir pointer (işaretçi) tarafından kullanılır. Segment table (segment tablosu) fiziksel hafızada segmentin başlangıç adresini içerir Segment tablosunu kullnıcı modunda (user mode) düzenleyemezsiniz fakat ayrıcalıklı modda (privileged mode) segment tablosu düzenlenebilir, Örneğin işletim sistemi yazılıken... SGMNTLRİN KULLNIMI MOV KOMUTU Programınızın lojik bölümleri Orijinal SP SS:BP SS:SP S:IP Memory Kullanılan Yığın (stack) Kullanılmayan Yığın (stack) Kod (ode) (programınız) SS Veriyi taşı Hafızadan kaydediciye den hafızaya den başka bir kaydediciye Hafızadan hafızaya taşıma OLMZ! Kullanım şekli MOV hedef, kaynak Hedef (destination) ve kaynak (source) hafıza adresi veya kaydedici olabilir DS:DI DS:SI Veri (Data) (değişkenler) S DS

DRSLM MODLRI DRSLM MODLRI Register, en hızlısı! MOV X, BX MOV L, BL MOV DX, SI MOV DS, BX Kaynak ve hedef in boyutlarının aynı olması gerekir!!!!! Immediate ye bir değer yüklemede kullanılır MOV X, 13h Direct MOV X, [13h] Hafıza konumundan kaydediciye veri taşı 13h data segment te (DS) bir konumdur (adres) Register Indirect (base relative, veya indexed) dolaylı (taban göreli veya indeksli) MOV X,[BX] MOV X,[BP] MOV X,[SI] MOV X,[DI] Hafıza konumundaki bilgi kaydediciye deoplanır BX, SI, DI burada data segmentteki hafıza konumu dolaylı olarak gösterir BP stack segment teki konumu dolaylı olarak gösterir DRSLM MODLRI DRSLM MODLRI İL İLGİLİ ÖRNKLR Base plus index (base relative indexed) Taban artı-indeksli MOV X, [BX+DI] MOV X, [BX+SI] Taban BX veya BP, index SI veya DI Register relative göreli MOV X, [BX+13h] Parantez içindeki kaydedici sadece BX, BP, SI, veya DI olabilir Base relative plus index Taban göreli artı indeksli MOV X, [BX+DI+13h] MOV X, BX MOV X, DI MOV H, L MOV H, 1h MOV X, 13h MOV X, SBT MOV X, X MOV X, [13h] çıklama (omment) BX teki 1- bit lik değeri X e taşı DI daki 1- bit lik değeri X e taşı L deki - bit lik değeri H a taşı - bit lik 1H sayısını H a taşı 13h sayısını X e taşı SBT diye tanımlanmış sabit değeri X e taşı Değişken X değerini (adres yada offset) X e taşı 13h hafıza konumundan X e veri taşı dresleme Hafıza içeriği (Memory ontents) 9 D 9 F B 1 B 3 B lsb msb B lsb msb 1 3 1 DT DT1 DT1 DT1 MOV X, [X] DS:X hafıza konumundan X e veri taşı 1 lsb msb DRSLM MODLRI İL İLGİLİ ÖRNKLR DRSLM MODLRI İL İLGİLİ ÖRNKLR çıklama (omment) dresleme Hafıza içeriği (Memory ontents) çıklama (omment) dresleme Hafıza içeriği (Memory ontents) MOV [X], X MOV X, [DI] MOV [DI], X MOV X, [BX] X teki değeri DS:X ile gösterilen hafıza konumuna taşı DS:DI ile gösterilen 1- bit lik değeri X e taşı DS:DI hafıza konumuna X deki değeri taşı DS:BX in gösterdiği hafızakonumundaki 1-bit lik bilgiyi X e taşı İndeksli İndeksli Kaydedic 3 lsb msb B 5 DT1 9 5 B 7 MOV [BX + DI], X MOV X, [BX + DI + 13h] MOV word [BX + DI + 13h], 57h DS:[BX+DI] ile gösterilen hafıza konumuna X teki bilgiyi yükle DS:BX + DI + 13h ile gösterilen hafıza konumundaki bilgiyi X e taşı 57h değerini BX + DI + 13h ile Taban artı indeks Taban göreli artı indeks Taban göreli artı indeks 9 1 B 1 3 1 7 1 3 1 7 5 MOV [BX], X X teki 1- bit lik bilgiyi DS:BX in gösterdiği hafıza konumuna taşı 9 7 MOV [BP], X X teki 1- bitlik bilgiyi SS:BP ile 9 MOV X, TB[BX] DS:BX + TB ile gösterilen haffıza konumundaki değeri X e taşı Göreli B 7 lsb msb MOV TB[BX], X X teki değeri DS:BX + TB ile Göreli 9 7 lsb msb MOV X, [BX + DI] DS:BX + DI ile gösterilen hafıza konumundaki değeri X e taşı Taban artı Indeks B 1

MKİN DİLİ GNL KOMUT FORMTI Herşey (komutlar, operandlar, data lar) hafızada byte lar halinde depolanır Programınızda hata ayıklarken (debuging) byte lar şeklinde hafızaya dizilmiş bu bilgilerin anlamlarını çözmeye muktedir olmanız gerekir. Çünkü komut ve komuttan sonra gelen byte ları ayırd edip yorumlamanız gerekir. x komutları kompleks yapıdadır, komut satırlarının boyutları 1 ile 13 byte arasında değişebilir Op-kod Mod Hafıza Konumu Veri/ Operandı yok Örnek: N DT - bit data ile Örnek: MOV L, 15 DT1 1- bit data ile Örnek: MOV X, 13h DISP DISP1 DISP DISP1 - bit hafıza konumu ile Örnek: J +5 1- bit hafıza konumu ile Örnek: MOV L, [13h] dresleme modu kaydediciden kaydediciye Örnek: MOV L, H dresleme modu & - bit hafıza konumu Örnek: MOV [BX + 1], X dresleme modu & 1- bit hafıza konumu Örnek: MOV [BX+13], X KOMUT SSLRI Her komut hafıza konumunu gösteren tek-bir operanda sahip olabilir Operand ile komut uyumlu olmalıdır, örneğin mov al,bx hatalı bir komut satırıdır, L nin içine BX sığmaz dresleme modu, hangi kaydedicilerin komut tarafından kullanılacağını gösterir Veri boyutu mutlaka belirli olmalıdır, örneğin hafıza konumuna 1h mı yoksa 1h mı taşıyacağımızı mutlaka komur satırına belirtmeliyiz! MOV BYT [BX], 1h MOV [BX], WORD 1h