Mikroişlemciler. Giriş

Benzer belgeler
Mikroişlemciler. Giriş

Veri Yapıları ve Algoritmalar. Giriş

Veri Yapıları ve Algoritmalar. Giriş (Genel Tanımlar ve Kavramlar) Dr. Öğr. Üyesi M. Ozan AKI

MTM 305 MĠKROĠġLEMCĠLER

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

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

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

b) Aritmetik İşlem Komutları

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

8086 Mikroişlemcisi Komut Seti

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

PIC16F877A nın Genel Özellikleri

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Mikrobilgisayar Mimarisi ve Programlama

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

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

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

PİC BASİC PROFESSİONAL

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

BİLGİSAYARIN TARİHÇESİ Tarihsel olarak en önemli eski hesaplama aleti abaküstür; 2000 yildan fazla süredir bilinmekte ve yaygın olarak

Mikrobilgisayar Mimarisi ve Programlama

Mikroişlemciler Laboratuar Deney Föyü

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

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

Mikrobilgisayar Sistemleri ve Assembler

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

BİLİŞİM TEKNOLOJİLERİ

Komut Seti Mimarisi (ISA)

LCD (Liquid Crystal Display )

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

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

B.Ç. / E.B. MİKROİŞLEMCİLER

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

ONDOKUZ MAYIS ÜNİVERSİTESİ

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil Bahar-Final

MTM 305 MĠKROĠġLEMCĠLER

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

BİLGİSAYAR SİSTEMLERİ

Assembly Programlama Dili T e m m u z

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

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

İ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

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

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

LCD (Liquid Crystal Display)

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

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

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

80x86 MICROPROCESSOR Instructions

Prepared By IcEN. >> IcEN. Bu makalemizde 80x86 gerçek mod komutlar inceleyece iz.

Assembly. Programlama Dili. T e m m u z

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

Hacettepe Robot Topluluğu

Bilgisayar Mimarisi Nedir?

KONFİGÜRASYON BİTLERİ

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

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

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB= BCF STATUS,5 ;bank0 a geçiş

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir.

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİLER 1

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

Bölüm 4 Veri Aktarma Komutları

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

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

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

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

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

Giris {\} /\ Suhap SAHIN

PIC MİKRODENETLEYİCİ KULLANARAK BİR SİSTEMİN TELEFONLA UZAKTAN KONTROLÜ

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

Jalv2 ile PIC Programlama 1.BÖLÜM. Sercan TEK. Temmuz Temel JALv2 Kavramları

EA-16F877 Mikrodenetleyici Eğitim Seti. Kullanım ve Uygulama Kitabı. Eyüp ÖZAVCI

Bilgisayar Mimarisi ve Organizasyonu Giriş

KBÜ. TBP111 Bilgisayar Donanımı. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

MTM 305 MİKROİŞLEMCİLER

Haftalık Ders Saati Okul Eğitimi Süresi

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

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

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

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

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

AND Komutu. and hedef, kaynak

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

Günümüz. Intel Core i nm teknolojisi 1.86 Milyar tranzistör. Intel Core i nm teknolojisi 1.4 Milyar tranzistör

ÖĞRENME FAALİYETİ-1 1. MİKRODENETLEYİCİ PROGRAMI YAZMA

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

Transkript:

Mikroişlemciler Giriş Öğr. Gör. M. Ozan AKI r1.1

Mikroişlemcilerin Kısa Tarihçesi Hesaplama makinelerinin temelleri çok eskiye dayanır; İlk olarak Çin de kullanılmaya başlayan Abaküs, tamamen elle çalışan ilk mekanik hesaplama aracı sayılır İlk mekanik hesaplama cihazı 1642 Yılında Fransız Bilim Adamı Blasie Pascal Tarafından Yapılmıştır. Charles Xavier Thomas dört işlem yapabilen ilk ticari hesap makinesini 1820 de geliştirmiştir. Charles Babbage Fark Makinesi adını verdiği ve bir talimat programıyla kumada edilen tam otomatik hesaplama makinesini geliştirmiştir. 1937 Yılında Mark-1 adı verilen ve elektromekanik rölelerle çalışan ilk otomatik hesaplama makinesi olan bilgisayar Howard Hathaway Aiken in yönettiği ekip tarafından geliştirildi.

Mikroişlemcilerin Kısa Tarihçesi 1938 Yılında Lowa State Collage da matematik ve fizik profesörü olan Dr. John Vincent Atanasoff, adı ABC (Atanasoff-Berry Computer) olan ilk elektronik kişisel bilgisayarı tasarladı. Bu çalışmaların ışığında 1940 lı Yıllarda A.B.D. Ordusu tarafından finanse edilen ENIAC projesi yapıldı. Bu, 18000 vaku tüpü ile çalışan 30 ton ve 140 metrekarelik bir bilgisayardı. Saniyede 300 çarpma işlemi yapabiliyordu. Aynı yıllarda John Von Neumann bu bilgisayarlarda ikili (binary) sayı sisteminin kullanılabileceğini gösterdi. 1960 lı yılların başında transistörün keşfiyle elektronik devreler küçüldü, hızlandı ve daha az enerjiyle çalışabildiler. 1965 li yıllarda ise, çok sayıda transistörün çok çüçük bir yüzey üzerinde üretilebilmesine olanak tanıyan Entegre Devre teknolojisi ile ilk mikroişlemciler doğmuş oldu.

Mikroişlemcilerin Gelişimi

Mikroişlemcilerin Gelişimi Intel 4004 (1970) Intel 8086 (1977) Intel 80386 (1985) Intel Core i7 (2010)

Mikroişlemcili Bir Sistemin Yapısı

Bir Mikroişlemcide üç temel birim vardır; Mikroişlemcinin İç Yapısı ALU (Aritmetik Lojik Birim) Registers (Kaydediciler) Control (Kontrol Birimi)

Mikroişlemci ile ilgili Kavramlar Reset Vektörü : Mikroişlemcinin, enerji verildiğinde ilk komutunu alacağı bellek adresidir. (Genellikle 0x0000) Fetch & Execution : Mikroişlemcinin çalışma sırasında komutu bellekten alıp getirmesi & komutun gereğinin yapılması (icra etme) (Pipeline?) Instruction Set : Mikroişlemci Komut Seti ALU (Arithmatic Logic Unit) : Aritmetik ve Lojik işlemlerin yapıldığı birim. Register : Kaydedici, Yazmaç. Mikroişlemcinin içinde, geçici işlem verileri ve sonuçlarının yazıldığı 1 WORD uzunluğundaki bellek bölgeleri

Mikroişlemci ile ilgili Kavramlar Interrupt : Kesme. Donanımsal ya da Yazılımsal bir istek üzerine mikroişlemcinin rutin program akışını keserek daha önce tanımlanmış başka bir program parçasını işletmesi ve tekrar geri dönerek kaldığı yerden çalışmaya devam etmesi. CISC (Complex Instruction Set Computer) : Karmaşık komut setine sahip bilgisayar, mikroişlemci. Bu sınıftaki mikroişlemciler çok sayıda komuta sahiptir. RISC (Reduced Instruction Set Computer) : Azaltılmış komut setine sahip bilgisayar, mikroişlemci. Bu sınıftaki mikroişlemciler daha az sayıda komuta sahiptir.

Mikroişlemci ile ilgili Kavramlar Flags (PSW Program Status Word) / STATUS Çalışma durumu ve komutların çalışma sonuçları ile ilgili bilgilerin bit olarak tutulduğu kaydedicidir. Instruction Pointer (IP) / Program Counter (PC) Komutları sırasıyla çalışmasını sağlayan sayaçtır. Bu sayaç dallanma komutları ile değiştirilerek komut işleyişinin sırası değiştirilir. (Kaç bit olmalı?)

Mikroişemci 8086 Program Status Word (PSW) Flag Register

Mikroişlemci ile ilgili Kavramlar Frekans, Cycle: Her mikroişlemci, çalışabilmesi için bir saat frekansına (sürekli bir lojik kare dalga) ihtiyaç duyarlar. Bu saat darbelerini üreten devreye osilatör devresi, bunu sağlayan devre elemanına ise kristal denir. Üretilen frekans osilatör frekansına bağlıdır. Her bir komut, belirli sayıdaki saat darbeleri boyunca işlemini tamamlar. Her bir komutun kaç cycle işlem yaptığı ise mikroişlemcinin Instruction Set kataloğunda verilir. T = 1 / F ve F = 1 / T formülünden, her bir cycle (saat darbesi) ne kadar süre olduğu bulunur. Daha sonra her bir komutun cycle zamanı ile çarpılarak bu komutun toplam işletim zamanı bulunabilir.

CISC / RISC Komut Seti CISC (Complex Instruction Set Computer) Örn: 8086/8088 AAA, AAD, AAM, AAS, ADC, ADD, AND, CALL, CBW, CLC, CLD, CLI, CMC, CMP, CMPSB, CMPSW, CWD, DAA, DAS, DEC, DIV, ESC, HLT, IDIV, IMUL, IN, INC, INT, INTO, IRET, JA, JAE, JB, JBE, JC, JCXZ, JE, JG, JGE, JL, JLE, JNA, JNAE, JNB, JNBE, JNC, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JNZ, JO, JP, JPE, JPO, JS, JZ, JMP, LAHF, LDS, LEA, LES, LOCK, LODSB, LODSW, LOOP, MOV, MOVSB, MOVSW, MUL, NEG, NOP, NOT, OR, OUT, POP, POPF, PUSH, PUSHF, RCL, RCR, REP, REPE, REPNE, REPNZ, REPZ, RET, RETN, RETF, ROL, ROR, SAHF, SAL, SAR, SBB, SCASB, SCASW, SHL, SHR, STC, STD, STI, STOSB, STOSW, SUB, TEST, WAIT, XCHG, XLAT, XOR RISC (Reduced Instruction Set Computer) Örn: PIC16F84A ADDWF, ANDWF, CLRF, CLRW, COMF, DECF, DECFSZ, INCF, INCFSZ, IORWF, MOVF, MOVWF, NOP, RLF, RRF, SUBWF, SWAPF, XORWF, BCF, BSF, BTFSC, BTFSS, ADDLW, ANDLW, CALL, CLRWDT, GOTO, IORLW, MOVLW, RETFIE, RETLW, RETURN, SLEEP, SUBLW, XORLW

CISC CMP A,B JB X MOV AX,[A] JMP Z X: MOV AX,[B] Z: MOV [C],AX CISC vs RISC A ve B Bellek adreslerindeki iki sayıyı karşılaştıralım ve büyük olan sayıyı C adresine yazalım RISC MOVF B,W SUBWF A,W BTFSS STATUS,C GOTO X MOVF A,W GOTO Z X: MOVF B,W Z: MOVWF C

Donanım Mimarileri DEP (Data Execution Preventation) Win7: Bilgisayarım -> Özellikler -> Gelişmiş Ayarlar -> Sistem özellikleri -> Advanced - > Performance -> Ayarlar -> Data Execution Prevention

Fiziksel Ortamına Göre Bellek Çeşitleri

Erişim Durumuna Göre Bellek Çeşitleri Analoji: Depo -> Toptancı -> Market, Bakkal -> Dolap, Buzdolabı -> Tabak Bardak

Belleğin Adreslenmesi Register Doğrudan kaydedici adı ile kullanılırlar, bellek adresleri söz konusu değildir. (Instruction Word içerisinde kodlanmıştır) Bellek Bellek adresi ile kullanılırlar. Her adres bir bellek hücresine işaret eder. Her hücre, veriyolu bit sayısı kadar veri saklar

Mikroişlemci Yazılımı (Software) Makine Dili (Machine Language) Belirli bir formata sahip ikilik tabandaki sayı dizilerinden oluşan mikroişlemci komutlarıdır. Mikroişlemci bu komutları doğrudan işletir. Birleştirici Dil (Assembly) Makine dilinin, insan tarafından okunabilir ve anlaşılabilir OPCODE lar şeklinde ifade edilmiş halidir. Birleştirici dil doğrudan makine diline dönüştürülebilir. Kaynak Kod (Source Code) Yüksek seviyeli dillerin kurallarına ve veri yapılarına göre yazılmış, okunabilir ve anlaşılabilir komutlar ve veriler bütünüdür. Compiler (Derleyici) Kaynak kodları, mikroişlemcinin anlayacağı makine diline dönüştüren yazılım araçlarıdır. Cross Compiler (Çapraz Derleyici) Kaynak kodları, üzerinde çalışmakta olduğu platformdan farklı, başka bir mikroişlemci için derleyen derleyicilere denir. Linker (Bağlayıcı) Daha önce derlenmiş olan object dosyaları ve kütüphane bağlantılarını birleştirerek çalıştırılabilir (COM, EXE, BIN, HEX) dosyayı oluşturan yazılım araçlarıdır.

Mikrodenetleyiciler Mikrodenetleyiciler, mikroişlemcilerin spesifik görevler için özelleştirilmiş halidir. Mikrodenetleyiciler, çalışmaları için gerekli ROM (Flash), RAM, Osilatör gibi birimleri aynı çip üzerinde barındırır. Böylece, neredeyse hiç bir çevre birimine ihtiyaç duymadan çalışabilirler. Ancak mikrodenetleyiciler, hız, bellek ve işlem hacmi bakımından mikroişlemcilerden çok çok küçük boyutlardadır. Mikrodenetleyiciler, özel ve spesifik olarak tanımlanmış görevlerde kullanılırlar. Belirli bir işletim sistemleri olmayabilir, genellikle doğrudan kullanıcı kodunu çalıştırırlar.

Mikrodenetleyiciler Yaygın olarak kullanılan mikrodenetleyici üreticileri şunlardır. Microchip PIC -> www.microchip.com Atmel AVR -> www.atmel.com Texas Instruments -> www.ti.com Cypess PSoC -> www.cypress.com Renesas -> www.renesas.eu Philips NXP -> www.nxp.com STMicroelectronics -> www.st.com

Mikrodenetleyicilerin Programlanması DOS/Windows ortamında çalıştırılabilir ikili dosyalar.exe dosyalarıdır. Linux ortamında ise Executable özellikteki ikili dosyalar çalıştırılabilirdir. Mikrodenetleyicilerde ise, derleme ve bağlama işlemlerinden sonra elde edilen çalıştırılabilir dosya.hex ya da.bin ya da.elf dosyalarıdır. Bu dosyaların mikrodenetleyici içerisinde bulunan ROM / Flash belleğe aktarılması gerekir. Bunun için ise programlayıcıler kullanılır.

Programlayıcılar Programlama işlemleri şu şekillerde olabilir; Mikrodenetleyici, bir programlama cihazına takılarak programlanır, ve oradan çıkarılarak tekrar çalışacağı devreye takılır. Mikrodenetleyicinin devre üzeri programlama (In Circuit Serial Programming ICSP, JTAG) uçları kullanılarak devreden hiç sökülmeden programlanır. Daha önce mikrodenetleyiciye yüklenmiş olan bir bootloader kullanılarak HEX dosya seri ya da USB port ile doğrudan programlanır.

Ders ile ilgili Kaynaklar Mikroişlemciler www.intel.com www.amd.com Mikrodetleyiciler www.microchip.com www.atmel.com Arduino www.arduino.cc ozanaki.blogspot.com Proteus (Simülasyon) www.labcenter.com NI Multisim (Simülasyon) www.ni.com Board Şema Çizimi www.fritzing.org