Mikrobilgisayar Mimarisi ve Programlama



Benzer belgeler
MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Ayhan Yüksel. (Son güncelleme: Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

SAUEEE.ORG. Önce C 00 Sonrası C 00

BÖLÜM 4. Dahili veri hafıza transfer komutlarının genel yapısı, mov <hedef>, <kaynak> şeklindedir

8051 MİMARİSİ. Temel mimari yapısı Şekil 3.1 de görülmekte olan 8051 mikrodenetleyici ailesinin başlıca özellikleri aşağıda verilmiştir.

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

MİKROİŞLEMCİ LABORATUARI UYGULAMA ÖRNEKLERİ

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

ASSEMBLY DİLİNDE PROGRAMLAMA

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

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

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM in Bellek Organizasyonu

Mikrobilgisayar Mimarisi ve Programlama

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

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

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

Komut Seti Mimarisi (ISA)

PROGRAMCI KLAVUZU VE KOMUT SETLERİ

8086 Mikroişlemcisi Komut Seti

Komutların Yürütülmesi

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

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:

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

Mikroişlemciler-IMikrodenetleyiciler. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

Mikroişlemcili Sistemler ve Laboratuvarı

Aritmetiksel Komutlar

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

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

BM-311 Bilgisayar Mimarisi

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

BM-311 Bilgisayar Mimarisi

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

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

BÖLÜM MİKROİŞLEMCİSİ

MTM 305 MĠKROĠġLEMCĠLER

BÖLÜM 7 Kesmeler.

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ölüm 4 Veri Aktarma Komutları

BM-311 Bilgisayar Mimarisi

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İ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

Mikrobilgisayar Sistemleri ve Assembler

Mikroişlemcili Sistemler ve Laboratuvarı

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

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

Mikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin

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

MTM 305 MĠKROĠġLEMCĠLER

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ı

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

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

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

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

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

8051 DONANIM ÖZELLİKLERİ

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

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

BM-311 Bilgisayar Mimarisi

PIC16F877A nın Genel Özellikleri

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

MTM 305 MİKROİŞLEMCİLER

Mikrodenetleyiciler İ ZMİ R 8051 Uygulamaları

8051 Mikrokontrolcü Ailesi

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

Mikrobilgisayar Mimarisi ve Programlama

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

Bir analitik cihaza bir bilgisayar takılması için en az iki neden vardır: Ölçmelerin kısmen veya tamamen otomatikleştirilmesi.

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.

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

LCD EKRANIN SÜRÜLMESİ VE FLASH/EE HAFIZASININ KULLANILMASI

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

Bilgisayarların Gelişimi

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

MTM 305 MĠKROĠġLEMCĠLER

BÖLÜM 6 Seri Port Đşlemleri

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

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

İşletim Sistemleri (Operating Systems)

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

BÖLÜM I GİRİŞ. 1- Merkezi İşlem Birimi(Central Processing Unit-CPU) 2- Hafıza (Memory) 3- Giriş/ Çıkış(I/O) Birimleri

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

EEM 419-Mikroişlemciler Güz 2016

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

BM-311 Bilgisayar Mimarisi

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

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

Giris {\} /\ Suhap SAHIN

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

K uark projesi. Temel Özellikler :

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

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

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

Mikrobilgisayar Donanımı

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

Transkript:

Mikrobilgisayar Mimarisi ve Programlama 2. Hafta Bellek Birimleri ve Programlamaya Giriş Doç. Dr. Akif KUTLU Ders web sitesi: http://www.8051turk.com/ http://microlab.sdu.edu.tr

Bellekler Bellekler 0 veya 1 değerini alan bitlerin saklanabildiği entegre devrelerdir D in D Q D out WR EN RD 1 Bit (0 veya 1) saklayabilen temel bellek ünitesi: D Flip Flop D Flip Flop için doğruluk tablosunu hatırlayınız. Mikrobilgisayar Mimarisi ve Programlama 2

Bellek ünitelerine erişim Satır (Adres) Sütun (Veri) 1x1 EN D in WR EN D Q D out 1 bitlik hafıza hücresi RD 1x2 EN D7 D6 D5 D4 D3 D2 D1 D0 1x8 EN 1 Bayt A0? 2 Bayt 2x8 Mikrobilgisayar Mimarisi ve Programlama 3

Mikroişlemci Sayı sistemi RAM/ROM ADDRES Bellek Hücreleri 0 0 0 0 10110111 0 0 0 1 01110001 0 0 1 0 10001001 0 0 1 1 00001011 0 1 0 0 01000100 0 1 0 1 00000000 0 1 1 0 00001011 0 1 0 0 01110001 0 1 0 1 00001011 Kullanılan tüm sayılar ikilik sayı sistemindedir, neden? Donanımın daha basit ve maliyetin az olması Bilgi depolamanın basitliği Mikrobilgisayar Mimarisi ve Programlama 4

Örnek Soru: 8 adet bellek ünitesine erişebilmek için kaç adet Adres hattına ihtiyaç duyulur? 2 n =8 n=? A2 A1 A0 3 8 kod çözücü A2A1A0 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Bayt 7 Bayt 6 Bayt 5 Bayt 4 Bayt 3 Bayt 2 Bayt 1 Bayt 0 Soru: 65536 adet bellek ünitesine erişebilmek için kaç adet Adres hattına ihtiyaç duyulur? 2 n =65536 n=16 (A15...A0) Mikrobilgisayar Mimarisi ve Programlama 5

Bellek Türleri Mikroişlemci iç bellek türleri (8051) Kayıtçılar (registers) Akümülatör (A) B Kayıtçısı R0,R1,R2,R3,R4,R5,R6,R7 ( Bank0..Bank3 ) SP (Yığın İşaretçisi) PSW (Program Durum Kaydedicisi) DPTR (16-bit) PC (16-bit) Diğer özel fonkisyon Kayıtçıları (Mikrodenetleyici) RAM ve ROM (Mikrodenetleyici) Dış Bellek türleri RAM ve ROM ile türevleri Manyetik disk, teyp CD vs. Mikrobilgisayar Mimarisi ve Programlama 6

CPU Sadeleştirilmiş iç yapısı (8051) Komut Kayıtçısı (Instruction Register) IR Komut Çözme Ve Kontrol Ünitesi CPU Program Sayıcı (Program Counter) PC Kayıtçılar (Registers) Aritmetik ve Lojik işlem Ünitesi Mikrobilgisayar Mimarisi ve Programlama 7

Mikroişlemcilerde Temel İşlevler Komut Okuma Komut Çözme Çalıştırma Giriş işlemleri Çıkış işlemleri Mikrobilgisayar Mimarisi ve Programlama 8

Komut Yapsı Mnemonics Kayıtçı Adı İvedi Adresleme MOV A, #55h Anlamı: A 55h 0111 0100 + 0101 0101 (74) + (55) 2 Byte Opcode Operand Mikrobilgisayar Mimarisi ve Programlama 9

Örnek 8051 Komutları 8051 komut setleri bayt adedine göre üçe ayrılır: Tek baytlık komutlar İki baytlık komutlar Üç baytlık komutlar SORU: Komutun bayt sayısı çalıştırma hızını etkiler mi? Mnemonics Opcode + operand Anlam Cycle Bayt Adedi NOP 0000 0000 İşlem Yok 1 1 INC A 0000 1000 A=A+1 1 1 MOV A,#55h 0111 0100 + 0101 0101 (74 55) A 55h 1 2 MOV A,#0xAA 0111 0100 + 1010 1010 (74 AA) A AAh 1 2 MOV DPTR,#55AAh 1001 0000 + 0101 0101 (90 55 AA) DPTR 55AAh 2 3 Tüm komutların listesi için: philips_80c51 Family Programmer's Guide.pdf Mikrobilgisayar Mimarisi ve Programlama 10

CPU Komut İşleme Senaryosu (MOV A,#55h) 74h MOV A, # 55h Bayt 65535 Bayt 3 Bayt 2 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 0 FFFF 0003 0002 0001 0000 Mikrobilgisayar Mimarisi ve Programlama 11

CPU Komut İşleme Senaryosu (MOV Program A,#55h) Sayıcı Operand adresi adres Opcode un adresini yoluna verilir tutar CPU PC Adres Yolu Adres Adres yolu na verilir Veri Yolu IR Bayt 65535 FFFF Komut Çözme Ve Kontrol Ünitesi Kayıtçılar (Registers) Opcode çözülür ve MOV A, olduğu anlaşılır Komut İşlemci içindeki Komut Kaydedicisine aktarılır. A Operanda ulaşılır ve bilgi Veri yolu na iletilir Veri yolundaki bilgi A kayıtçısına gönderilir Bayt 3 Bayt 2 0 1 0 1 0 1 0 1 0 1 1 1 74h 0 1 0 0 55h Mikrobilgisayar Mimarisi ve Programlama 12 0003 0002 0001 0000 Opcode a ulaşılır ve Kod bilgisi Veri yolu na iletilir

KAYITÇILAR Mikrobilgisayar Mimarisi ve Programlama 13

Accumulator, A Kayıtçısı Verilerin bellek ve kayıtçılar arası transferinde Veri üzerinde mantıksal ve aritmetik işlemlerin gerçekleştirilmesinde kullanılır 8 Bit Uzunluğundadır Mikrobilgisayar Mimarisi ve Programlama 14

B Kayıtçısı Geçici verilerin depolandığı bir kaydedicidir MOV B, A ;B A (2 byte) MOV B,#55 ;B 55 MUL AB ; A ve B kaydedicilerini çarp Sonuc 16-bit: Sonuc_L=A, Sonuc_H=B DIV AB ; A yı B ye böl Bölüm=A, Kalan=B Mikrobilgisayar Mimarisi ve Programlama 15

Program Status Word (PSW) BIT SEMBOL ADRES BİT TANIMI PSW.7 CY D7H Elde bayrağı PSW.6 AC D6H Yardımcı elde bayrağı PSW.5 F0 D5H Bayrak 0 PSW.4 RS1 D4H Bank seçme 1 PSW.3 RS0 D3H Bank seçme 0 00 = bank 0; adres 00H-07H 01 = bank 1; adres 08H-0FH 10 = bank 2; adres 10H-17H 11 = bank 3; adres 18H-1FH PSW.2 OV D2H Taşma bayrağı PSW.1 - D1H PSW.0 P D0H Çift eşlik biti (Even Parity bit) Mikrobilgisayar Mimarisi ve Programlama 16

Program Status Word (PSW) Aritmetik işlemler sonucundaki değişen bayraklar CY: Carry Flag (Elde Bayrağı) Aritmetik işlemlerde bir elde ortaya çıktığında kurulur AC:Auxillary Carry (Harici Elde Bayrağı) D3 bitinden D4 bitine elde geçtiğinde kurulur, BCD işlemlerde kullanılır P: Parity (Eşlik biti) Çift eşlik (even) biti P=1, Akümülatör tek sayıda birlere sahipse Mikrobilgisayar Mimarisi ve Programlama 17

Örnek MOV A,#12h ADD A,#3Fh Toplama örneği 12 0001 0010 3F 0011 1111 + + 5 1 0101 0001 CY = 0 AC = 1 P = 1 Mikrobilgisayar Mimarisi ve Programlama 18

Kayıtçı Deposu (R0..R7) R0 dan R7 ye kadar toplam 8 kaydedici MOV A,R0 ;R0 kaydedicisini A kayıtçısına kopyala (1 byte) R0-R7 kaydedici grubları (Bank0..Bank3) RS0 PSW.3 RS1 PSW.4 RS1 RS0 R-BANK 0 0 Bank 0 0 1 Bank 1 1 0 Bank 2 MOV PSW, #18h ; Bank 3 seçildi MOV PSW, #08h ; Bank 1 seçildi 1 1 Bank 3 4 kayıtçı deposu ardışık adreslerdedir 4 kayıtçı deposu toplam 32byte Bank 0 varsayılan (Reset sonrası seçilen) banktır. Mikrobilgisayar Mimarisi ve Programlama 19

Örnek Bayt Adres FF F0 Bit Adres F7 F6 F5 F4 F3 F2 F1 F0 B MOV A,R7 SETB RS0 SETB RS1 MOV A,R7 E0 D0 E7 E6 E5 E4 E3 E2 E1 E0 D7 D6 D5 D4 1 D3 1 D2 - D0 ACC PSW = MOV A,0x1F MOV A,R7 (1 byte) MOV A,0x07 (2 byte) 1F 18 17 10 0F 08 07 00 BANK 3 BANK 2 BANK 1 İlk Kayıtçı Bankası R0-R7 Mikrobilgisayar Mimarisi ve Programlama 20

Veri İşaretçisi (DPTR) 8051 2 adet 16-bit kaydedici içerir DPTR 16-bittir Harici belleğin veya kod alanının Adresini tutar Harici bellekten veya kod alanından veri transfer için kullanılır 16-bit veri depolama için de kullanılabilir Başvuru tablolarında (Look-up Tables) çok kullanışlıdır Dolaylı Adresleme MOV DPTR, #0xFFAA MOVX A, @DPTR MOVC A,@A+DPTR ; DPTR FFAAh ; ACU RAM (FFAA) Mikrobilgisayar Mimarisi ve Programlama 21

Program Sayacı (PC) PC her zaman bir sonraki erişilecek komut adresini tutar 16-bit Uzunluğundadır Bellekten getirilen bir komuttan (1 veya daha fazla bayt) hemen sonra, bir sonraki komutun adresine yükseltilir Sadece MOVC A,@A+PC komutunda kullanılır Sadece okunabilir özelliktedir Mikrobilgisayar Mimarisi ve Programlama 22

SP (Yığın İşaretçisi, Stack Pointer) Yığın hafızası FILO tipindedir 8051 de yığın adresi artarak büyür (düşük değerli adresten, yüksek değerli adrese doğru) SP, yığındaki son kullanılan adresi gösterir Pop veriyi alır daha sonra SP bir azalır PUSH SP yi artırır, yeni adrese veriyi kopyalar SP, Reset işleminden sonra 07 ye kurulur Bank 1,2 ve 3 yığının normal depo alanıdır SP, başka bir adrese yönlendirilebilir PUSH ACC ;Akümülatörü yığına kopyala Mikrobilgisayar Mimarisi ve Programlama 23

8051 Komut Seti-1 Veri Transfer Komutları mov, movc, movx, push, pop, xch, xchd Mantıksal İşlem Komutları anl, orl, xrl, clr, cpl, rl, rlc, rr, rrc, swap Aritmetik İşlem Komutları add, addc, subb, inc, dec, mul, div Program Kontrol Komutları jmp, ajmp, ljmp, sjmp, jc, jnc, jb, jnb, jbc, jz, jnz, acall, lcall, cjne, djnz, ret, reti NOP Mikrobilgisayar Mimarisi ve Programlama 24

Önemli Assembly programı yazarken: Bütün komutları hatırlamak zorunda değilsiniz Sadece komutları mantıksal gruplara böl Komut setini önünüze koyarak, yapılmak istenen işi hangisinin hangi komutun veya komut grubunun yaptığını tespit et Her komutun farklı kaydedici ile çalıştırılması mümkün değildir MOV A,@DPTR (DOĞRU) MOV R0, @DPTR (YANLIŞ) Mikrobilgisayar Mimarisi ve Programlama 25

Çalışma Soruları Mikroişlemcileri farklı açılardan gruplandırınız. 8051 de kullanılan genel kaydediciler hangileridir? Komut seti nedir? Assembly dilinin genel özellikleri nelerdir? Mikrobilgisayar Mimarisi ve Programlama 26

Mikrobilgisayar Mimarisi ve Programlama 27