Öğr.Gör. Dr. Bülent ÇOBANOĞLU



Benzer belgeler
Yrd. Doç. Dr. Bülent ÇOBANOĞLU

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

MİKROİŞLEMCİLER. MİKROBİLGİSAYARLAR ve MİKROİŞLEMCİ MİMARİSİ. Doç.Dr. Mehmet Recep BOZKURT ADAPAZARI MESLEK YÜKSEKOKULU

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

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

Mikrobilgisayar Sistemleri ve Assembler

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

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

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

MİKROİŞLEMCİLER. Mikroişlemcilerde Kullanılan Yeni Teknolojiler ve Mikroişlemcilerin Rakipleri

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

MİKROİŞLEMCİLER. Mikroişlemcilerin Tarihsel Gelişimi

Bilgisayar Mimarisi ve Organizasyonu Giriş

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Hacettepe Robot Topluluğu

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

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

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

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

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

Bilgisayar Mimarisi Nedir?

MEKATRONİĞİN TEMELLERİ

EEM 419-Mikroişlemciler Güz 2017

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

Bilgisayar Donanım 2010 BİLGİSAYAR

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

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

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

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

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

Mikrobilgisayar Mimarisi ve Programlama

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

Bilgisayar Sistemleri

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

İşletim Sistemleri (Operating Systems)

GAZİANTEP ÜNİVERSİTESİ

İşletim Sistemlerine Giriş

BÖLÜM Mikrodenetleyicisine Giriş

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

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

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ı

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 Dersi. PIC Mikro denetleyiciler ve Programlama

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

GÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1

EEM 419-Mikroişlemciler Güz 2016

BM-311 Bilgisayar Mimarisi

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

Yrd.Doç.Dr. Celal Murat KANDEMİR

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 2. Hafta. Öğr. Gör. Dr. Barış Doğru

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

SORULAR (37-66) Aşağıdakilerden hangisi günümüz anakartlarının en çok kullanılan veriyoludur?

BİLGİSAYAR MİMARİSİ. Mimariye Giriş. Özer Çelik Matematik-Bilgisayar Bölümü

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

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

BM-311 Bilgisayar Mimarisi

Gömülü Sistemler, Uygulama Alanları ve Dünya daki Ekonomik Boyutu

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

Gömülü Sistemler. (Embedded Systems)

Temel Bilgi Teknolojileri -1

DERS 1 GİRİŞ İÇERİK - PIC DSP

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

Bilgisayar, elektronik bir cihazdır ve kendi belleğinde depolanan talimatları sırasıyla uygulayarak çalışır. İşler. Bilgi İşlem Çevrimi

1. PS/2 klavye fare 2. Optik S/PDIF çıkışı 3. HDMI Giriş 4. USB 3.0 Port 5. USB 2.0 Port 6. 6 kanal ses giriş/çıkış 7. VGA giriş 8.

Mikroişlemcili Sistemler ve Laboratuvarı

MİKROİŞLEMCİLER 1 Ders 1

Donanımlar Hafta 1 Donanım

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Bölüm 4. Sistem Bileşenleri. Bilgisayarı. Discovering. Keşfediyorum Computers Living in a Digital World Dijital Dünyada Yaşamak

Giris {\} /\ Suhap SAHIN

Optik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY DİSK Disket Monitör LCD LED Projeksiyon Klavye Mouse Mikrofon Tarayıcı

MİKRODENETLEYİCİLER. Yrd.Doç.Dr. İlker ÜNAL

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

Bir mikroişlemci temel olarak üç kısımdan oluşur. Bunlar merkezi işlem birimi (CPU), giriş çıkış birimi (G/Ç) ve bellektir.

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Ünite-2 Bilgisayar Organizasyonu.

BİLGİSAYAR KULLANMA KURSU

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

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

4. HAFTA KBT104 BİLGİSAYAR DONANIMI. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

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

William Stallings Computer Organization and Architecture 9 th Edition

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

Bilgisayar Donanımı. Temel Birimler ve Çevre Birimler. Öğr.Gör.Günay TEMÜR / KAYNAŞLI MESLEK YÜKSEOKULU

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

DOKUMANLAR

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

PIC16F877A nın Genel Özellikleri

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Mikrodenetleyiciler (MECE 308) Ders Detayları

Bilişim Teknolojilerine Giriş

Komutların Yürütülmesi

Temel Bilgisayar Bilgisi

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

Transkript:

Öğr.Gör. Dr. Bülent ÇOBANOĞLU B

'Bilgisayar' terimi, latincede hesaplamak anlamına gelen 'computere' kelimesinden üretilen 'computer' sözcüğünün Türkçe'ye çevrilmesinden gelmektedir. Bilgisayar sistemleri iki temel öğeden oluşmaktadır. Bunlar; yazılım ve donanımdır. Her ikisi de birbirinin tamamlayıcıdır, birisi olmazsa diğeri pek bir anlam ifade etmez. Bilgisayarın gözle görülen, elle dokunulan fiziksel parçalarına donanım, donanıma hayat veren onun çalışmasını sağlayan her türlü program ise yazılım olarak adlandırılır.

Mikrobilgisayar kavramını tanıyacak Bir mikrobilgisayar sistemi, klasik bilgisayar sistemleri gibi ve aşağıdaki blok şemadaki görülen mikroişlemci, bellekler, giriş-çıkış birimleri ve her birimi birbirine bağlayan yollardan oluşur. Ancak bu birimler mikrobilgisayarlar için farklı donanımlarla gerçekleştirilebilir. Örneğin bir mikrobilgisayar sisteminde genellikle geleneksel bir klavyeden daha çok tuş takımları, bir ekrandan daha çok LED veya bir kaç satırlık LCD göstergeler bulunur. Giriş ve çıkışları da PCI, PCI-E, SATA gibi gelişmiş portlardan ziyade 8-bitlik paralel portlar, USB veya RS232 gibi seri portlardır. Temel Bilgisayar Sisteminin Bileşenleri Bellek birimleri de son derece küçük boyutta (Kilobayt) olup hızları da (10-40Mhz) PC belleklerin yanında çok düşük kalır. Mikrobilgisayarlarda kullanılan mikroişlemci de düşük hızlarda çalışan bir işlemcidir ve genellikle hızları bir kaç 100Mhz den fazla olamaz.

Mikrobilgisayar kavramını tanıyacak Mikrobilgisayar terimi 1980li yıllardan önce küçük boyutlu bilgisayarları (PC, Commodore 64, Apple II) ifade etmek için kullanılsa da, VLSI (Very Large Scale Integrated Circuit- Çok Geniş Ölçekli Tümleşik Devre) tasarım ve üretim tekniğinin gelişmesi ile farklı bir tasarım mimarisine kavram olarak hizmet etmeye başlamıştır. Günümüzde de kullandığımız kişisel bilgisayarların (PC) mikro bir modeli olan mikrobilgisayarlar; tek bir çip içerisinde bilgisayar yeteneklerinin düşük performanslı olarak bir araya getirilmesini ifade eder. Doğal olarak bir bilgisayarın bir çipe sığdırılmasında bazı parametrelerden feragat etmek zorunludur. Bu parametrelerin başında da kapasite ve hız gelir. Bu yüzden mikrobilgisayarlar, sadece bir veya bir kaç belirlenmiş görev için tasarlanan gömülü sistemlerde (embedded systems) kullanılır. Mikrobilgisayarlardan mikroişlemcili genel bir bilgisayarın (PC) yeteneklerini beklemek mantıklı değildir. Ancak özellikle cep telefonu ve avuç-içi bilgisayar alanındaki teknolojik gelişmeler, mikrobilgisayarların kullanım alanlarını süratle artırmaktadır.

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek MİKROİŞLEMCİ Mikroişlemci bir bilgisayar sisteminde programların işletilmesinden sorumlu olan ve tüm bileşenleri merkezi şekilde kontrol eden tümleşik devredir. Aşağıdaki şekilde görüldüğü gibi, temel dört birimden oluşur: ALU: Aritmetik ve mantıksal hesaplamalardan, transferlerden, kaydırmalardan sorumlu olan işlemcinin en önemli birimidir. ALU içerisindeki yazmaçlar ile mikroişlemcinin kaç bitlik bir işlemci olduğu belirlenir. Kontrol birimi: Tüm işlemlerin sırasını belirler ve gerekli denetim işaretlerini üretir. Aynı zamanda bellekten okunan kodların çözümü de bu birimde yapılır Kaydediciler: Hesaplama ve transfer için gerekli olan değerlerin tutulduğu kaydedicilerdir. Sayıları her mikroişlemci ailesi için farklı olabilir. Dahili Yollar: Mikroişlemci içindeki tüm birimlerin veri alışverişini ve birimlerin kontrolünü sağlamak için birimleri birbirine bağlayan yollara denir. Adres, veri ve kontrol yolları olarak üç tiptir. Yolların bit genişliği mikroişlemcilere özeldir. Bununla birlikte, günümüz mikroişlemcileri cep bellek (cache), grafik hızlandırma birimleri (MMX), matematik işlemci birimi (FPU) ve diğer birimleri de içermektedir.

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Veri,adres ve kontrol yolu Kontrol Birimi ve Kod Çözücü ALU Kaydediciler Veri,adres ve kontrol yolu Merkezi İşlem Biriminin iç yapısı Dikkat: Mikroişlemci ile Merkezi İşlem Birimi (MİB, CPU) aynı kavram değildir. Temel mikroişlemci birimleri ile MİB birimleri aynı birimleri kapsamaktadır. Ancak mikroişlemci daha kapsamlı bir kavramdır. Bu iki terim birbirinin yerine kullanılmakla birlikte ifade ettikleri kavramlar farklı birimleri içerebilir.

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek MİKRODENETLEYİCİ Mikrodenetleyici kavramı hem MİB hem de mikroişlemci kavramlarını içermektedir. Mikrodenetleyici kavramı aynı zamanda mikrobilgisayar kavramı ile örtüşmektedir, çünkü mikrodenetleyici çevresel birimleri de içeren bir mikrobilgisayardır. Mikrodenetleyiciler yukarıdan da görüldüğü gibi temel bir bilgisayar sisteminde bulunması gereken mikroişlemci, RAM (veri belleği), ROM (program belleği) birimleri yanında Giriş/Çıkış portları, osilatör ve zamanlayıcı/sayıcı birimlerini de kapsayabilmektedir.

MİKRODENETLEYİCİ Mikro denetleyici (Microcontroller, MCU veya µc ), işlemci (CPU), hafıza (RAM/ROM) ve giriş-çıkış (I/O ports) birimlerinin tek bir entegre paketi içerisine yerleştirilmesi ile gerçekleştirilmiş özel amaçlı bir mikro bilgisayardır. Günümüzde üretilen birçok mikro denetleyici, özellik ve türlerine göre PWM, ADC, USB, USART, CAN, SPI, I 2 C gibi ara birim ve özel amaçlı kaydedicilere de sahiptir. Günümüzde entegre üretimi yapan birçok firma (Intel, Atmel, Michrochip, National Semiconductror, Texas Instruments, vb.) mikro denetleyici üretmektedir. Mikro denetleyiciler birbirlerinden sahip oldukları üniteler(adc, PWM, Zamanlayıcı, SPI, vb), giriş/çıkış bacak sayıları, çalışma hızları, veri ve program yolu genişliği, bellek kullanım şekilleri açılarından farklılıklar arz etmektedirler.

Mikro denetleyici temel bileşenleri Bir mikro denetleyici genel olarak aşağıdaki birimlerden oluşur: 1. Mikroişlemci 2. Bellek 3. Giriş/çıkış birimi 4. Saat darbe üretici Formülize edersek; MCU = CPU + RAM/ROM + I/O portları + Saat darbe üreteci

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Mikrodenetleyici temel olarak dört bileşenden oluşur: 1-MİB (Merkezi İşlem Birimi): CPU( Central Processing Unit) olarak bilinen işlemci çekirdeği programın çalışması için gerekli aritmetik ve mantıksal işlemleri yürütür. Çekirdek aynı zamanda bellek ünitelerindeki verileri okur veya depolar. Mikrodenetleyici çekirdeği saklayıcılar, Aritmetik Mantık Birimi (ALU-Arithmetic Logic Unit), sayıcılar, yığın işaretçisi/göstericisi gibi fonksiyonel birimlerden oluşmaktadır. 2- Bellek birimleri: ROM program kodunun depolandığı, RAM ise geçici veya program verilerinin depolandığı bellek türüdür. RAM bir bakıma mikrodenetleyicinin kullandığı bir çeşit müsvedde kağıttır. Bu bellek sürekli yazılır ve silinir; ancak ROM bellek bir kere programlandıktan sonra programın çalışması boyunca değiştirilmez (IAP Uygulama Esnası Programlama teknolojisi hariç). 3-Giriş/çıkış birimi :Mikrodenetleyiciden dış dünyaya giden sinyallerin gönderilmesinde veya dış dünyadan mikrodenetleyiciye gelen sinyallerin alınmasında kullanılır. 4-Saat darbe üretici: Tümdevre içerisindeki birçok fonksiyonel birimin senkronize bir şekilde çalışması için gerekli olan saat işaretini üretir.

Mikro denetleyici temel bileşenleri

Mikro denetleyici temel bileşenleri

Mikro denetleyici uygulama devresi bileşenleri Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ; Besleme devresi, Reset sinyali, Osilatör devresi, Uygulama devresi elemanlarına İhtiyaç vardır.

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Mikrodenetleyiciler: Yalnız başlarına çalışabilirler Tek-tümdevre elemandırlar Sistem kararları genellikle harici sinyallere bağlıdır Elektronik bir cihazın davranışlarını denetlerler Bir devrenin beyni konumundadırlar. Genel olarak bir mikrodenetleyici aşağıdaki birimlerden oluşmaktadır: Bir mikroişlemci çekirdeği (CPU) Program ve veri belleği (ROM, RAM) Giriş/Çıkış (I/O) birimleri Saat darbesi üreteçleri Zamanlayıcı/Sayıcı birimleri Kesme kontrol birimi A/D ve D/A (Analog/Dijital Dijital/Analog) çeviriciler Darbe genişlik üreteci (PWM) Seri Haberleşme Birimi (UART, RS-232, CAN, I2C vb.) Diğer çevresel birimler Mikrodenetleyiciler, harici işaretleri temel alarak sistem kararlarını verebilecek tüm donanımlara sahiptirler. Diğer bir değişle, bir mikrodenetleyici özel bir elektronik sistem veya bir cihazın, fonksiyon ve davranışlarını kontrol etmede bir beyin gibi rol oynar

Mikro denetleyici Kullanım Alanları Mikro denetleyici uygulama alanlarına veya mikrodenetleyicilerin kullanıldığı cihazlara örnek olarak; yalnızca evimizde kullandığımız buzdolabı, çamaşır ve bulaşık makineleri, mikrodalga fırın, TV, video, vb cihazlar değil, kullandığımız otomobildeki motor kontrol ünitelerini, ABS fren sistemlerini ve hız sabitleyicileri (cruise control) ile birlikte modern yaşamın parçası olarak gördüğümüz dijital kameralarını, cep telefonlarını, telefon ve faks cihazlarını, lazer yazıcıları, fotokopileri, vb cihazları sıralayabiliriz.

Mikro denetleyici seçimi Başlangıçta 'Intel' ve 'Texas Instruments' firmaları tarafından üretilen mikrodenetleyiciler günümüzde, birçok firma { Motorola, Microchip, Hitachi, Siemens, AMD, Intel, Atmel, Dallas Semiconductor, vb.} tarafından üretilmektedir. Entegre üretimi yapan birçok firma aynı zamanda mikro denetleyici de üretmektedir. En büyük iki üretici olan Microchip ve Motorola yı NXP(Philips) ve Texas, National, Renesas (Hitachi), Atmel ve diğerleri izlemektedir. Yaşanan teknolojik gelişmelerin yanında, firmalar arası rekabet de mikrodenetleyici fiyatlarının önemli ölçüde ucuzlamasını sağlamıştır. Fiyatlarının düşmesine paralel olarak içerdikleri özel fonksiyonel birimlerin çeşit (A/D çevirici, EEPROM bellek, CAN ve I2C seri haberleşme, ve farklı sensorlar) ve sayılarının artması daha ekonomik, hızlı ve esnek sistemlerin tasarlanabilmesi sonucunu doğurmuştur. Günümüzde yaygın olarak kullanılan mikro denetleyiciler ve üretici firmaları şunlardır; * Motorola tarafından geliştirilen 68HC serisi. * Atmel tarafından geliştirilen AVR serisi. * Intel tarafından geliştirilen 8051 veya MSC-51 ailesi. * Microchip firması tarafından geliştirilen PIC mikro denetleyici ailesi. * Texas Instruments firması tarafından geliştirilen MSP430 ve ARM ailesi Her mikro denetleyici üreticisi, ürün yelpazesinde birçok farklı mikro denetleyici bulundurmaktadır. Bu kadar çok çeşit içinden hangisinin seçileceğine karar vermek için mikro denetleyicilerin genel özelliklerini bilmek gerekir.

Mikro denetleyici seçimi * Farklı üreticiler tarafından üretilen mikro denetleyicilerin çekirdekleri/mimarileri de farklı yapıda ve özellikte üretilmektedir. Mikro denetleyiciler arasında aşağıdaki farklar bulunabilir: * Mimari farkı: Harvard, Von Neuman. * Kelime genişliği: 4, 8, 16, 32, 64 bit. * Komut setleri: RISC, CISC komut işleme tekniği. * Kaydedici çeşitleri ve sayıları, * Adresleme yöntemleri. * Kesme sayıları ve özellikleri. * Hız / güç / boyut özellikleri, * Çalışma frekansları * Gerekli çevresel birimler (USART,CAPTURE/COMPARE/PWM CCP modülü vs) * Programlama dilleri çeşitliliği (Basic, C, Pascal, Assembly, vs) Hangi üreticinin seçileceği konusunda genellikle tasarımcılar komut setini, programlamasını ve programlama için gerekli programları iyi bildikleri üreticiyi seçmektedir. Zaten her üreticinin bir ürünü için, bir başka üreticinin ürettiği hemen hemen aynı işi yapacak bir ürün bulunabilmektedir. Hangi üreticinin seçileceğine karar verildikten sonra sıra o üreticiye ait hangi mikrodenetleyicinin seçileceğine gelmiştir.

Mikro denetleyici seçimi * Piyasada birçok mikro denetleyici üreten firma olduğundan bahsetmiştik. Bunlar içinde neden Microchip firmasının ürettiği PIC'lerin seçildiği sorusu akla gelebilir. * Bunun en temel sebebi Microchip firmasının web sayfalar ı üzerinden sağladığı teknik destektir. Tüm mikrodenetleyicilere ilişkin ayrıntılı bilgiler ve farklı mikrodenetleyiciler ile yapılmış, farklı uygulama örnekleri firma tarafından ücretsiz olarak dağıtılmaktadır. Hepsinden önemlisi, firma devamlı geliştirme kte olduğu MPLAB adlı simülasyon programını da ücretsiz olarak dağıtmaktadır. Böylece PIC programlamak isteyen bir kişi, assembly editor, derleyici, simülatör ve programlayıcı ihtiyaçlarının hepsini tek bir program ile ve ücretsiz olarak gidermiş olmaktadır. Ayrıca bir çok programlama dili ile PIC programlayıcı programlanabilmektedir. * Firmanın sağladığı bu desteğe bağlı olarak gelişen bir başka avantaj ise, bu konu ile ilgili kaynağın çok olmasıdır.

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Mikrodenetleyiciler hakkında bazı yanlış kanılar birçok insanın bu alanı uzmanlara bırakmalarına neden olmuştur. Bunlardan bazıları şunlardır: Öğrenilmelerinin uzun bir süreci gerektirmesi Geleneksel dijital entegrelerden pahalı olması Çok pahalı geliştirme ve destek cihazlarına ihtiyaç duyması Üretici firmalardan yakın destek alınamaması Zor ve özel şartlar için geliştirilmiş örneklerin kolayca elde edilememesi Tek elemanlı çözümlerin gerçekleştirilmesinin zor olması ve harici elemanlara olan ihtiyaç Bu kanıların birçoğu teknolojik gelişmelerin sonucu olarak artık tarihe gömülmüştür. Örnek olarak, şu anda piyasada satılan bazı mikrodenetleyicilerin fiyatları çok basit fonksiyonlu geleneksel sayısal tümdevrelerden daha da ekonomik hale gelmiştir. Buna bağlı olarak mikrodenetleyicilere ait geliştirme donanımları (emulatörler, lojik analizörler) ve yazılımları (derleyiciler, simülatörler ve kaynak kodu analizörleri) çok daha ucuza alınabilir hale gelmiştir. Artık kaliteli bir C dili derleyicisi 500 $ civarında elde edilebilmektedir. Bundan 10 yıl öncesi böyle bir kolaylık ve maddi erişilebilirlik söz konusu değildi.

1) Mikrodenetleyici ve mikroişlemci arasındaki fark nelerdir? 2) Bir mikrodenetleyicinin temel birimleri nelerdir? 3) Mikrodenetleyicilerin popüler olma sebepleri nelerdir? 4) Mikrodenetleyici seçiminde dikkat edilecek kriterleri listeleyiniz? 5) Mikrodenetleyicili sistemlerin endüstriyel alanlarda kullanılırken karşılaşılabilecek zorlukları ve uygulama sınırlandırmalarını maddeler halinde yorumlayınız? 6) Niçin PIC MCU ları tercih ederiz?

Bilgisayar Mimarisi kavramını açıklayabilmek Mikroişlemcili bir sistemde bulunan mikroişlemcinin temel işlevi; işlenen ve kullanılan verileri birimler arasında iletme, iletilen verileri işleme, verileri bir durumdan diğerine çevirme ve verileri uygun yerde saklamadır. Verileri iletme/işleme işlevlerini gerçekleştiren ve bir programın mantıksal çalışmasına doğrudan etki eden mikroişlemcinin mimarisini; mikroişlemci içerisinde bulunan birimlerin özellikleri, yapıları, birimler arasında oluşan veri iletimi ile verilerin saklanma şekli ve mikroişlemcide kullanılan komut seti belirler. Diğer bir değişle, mikroişlemci mimarisi; mikroişlemci kapasitesi, bellek yapısı ve tasarım felsefesi tarafından şekillendirilir. Mikroişlemcinin kapasitesi; mikroişlemcide bulunan birimlerin özellikleri, kaydedici sayısı, kaydedicilerin büyüklüğü, kullanılan yollardaki hat sayısı, kayar noktalı hesaplama birimi, vb. etkenler tarafından belirlenir. Mikroişlemci bellek yapısı; bellek bölgelerinin sayısı, her bir bellek bölgesinde saklanabilecek bit sayısı, adreslenebilecek toplam bellek bölgesi sayısı ve bir bellek bölgesine erişim şekline göre tanımlanır. 21

Bilgisayar Mimarisi kavramını açıklayabilmek Mikroişlemcinin tasarım felsefesi; Komut Kümesi-yazılım Mimarisi (Instruction Set Architecture ISA) ve Donanım Sistem Mimarisi (Hardware System Architecture HSA) ölçütlerine göre farklılık arz eder. Mikroişlemci tarafından kullanılan komut yapısı ve sayısı, yani komut seti ve komut setinde bulunan komutların özellikleri bakımından iki tür mimari ön plana çıkmıştır: Karmaşık komut kümeli mikroişlemciler (Complex Instruction Set Computers CISC) Azaltılmış komut kümeli mikroişlemciler (Reduced Instruction Set Computers - RISC) Mikroişlemcinin bellekleri kullanım şekli ve bellek yapısı da farklı iki mimariye yön vermiştir: Von Neuman Mimarisi (Tümleşik Tek bellek) Harvard Mimarisi (Yalıtılmış Çift bellek) Mikroişlemcileri yukarıdaki ölçütlerin dışında da sınıflamak mümkündür. Örneğin bit sayısı, çekirdek sayısı, güvenirlilik, dayanıklılık, enerji verimliliği gibi bir çok parametre kullanılarak sınıflandırma yapılabilir. Ayrıca bu mimarilerin dışında da bir çok mimari türü mevcuttur. Ancak bir mikroişlemcinin performansını ve çalışma şeklini belirleyen en önemli kriterler bellek kullanımı ve komut yapısıdır. 22

RISC ve CISC mimarilerinin farklarını sayabilmek Bellek gereksiniminin en aza indirilmesini sağlayan temel CISC mimarisi mikroişlemcinin karmaşıklığını artırsa da ve mikroişlemci performansının düşmesine neden olsa da, programlama işlemlerini basit hale getirmektedir. Bu mimaride mikroişlemci çok sayıda komut içerir ve her eylem için bir komut tanımlanmıştır. CISC mimaride "donanım yazılımdan hızlıdır" prensibi geçerlidir. Böylece CISC işlemciler karmaşık kodları çözmek için daha yoğun donanım kullanırlar bu da çipin maliyetini artıran bir unsurdur. Ayrıca daha fazla güç de tüketirler. Karmaşık yapıda ve farklı uzunluktaki komutlara sahip olan CISC mimarisi, birden fazla işlem ile ilgili emirleri bir komut içerisine yerleştirmesi nedeni ile komut sayısında ve gerekli bellek gereksiniminde tasarruf sağlar. 1960 larda geliştirilen ve ilk mimari yapı olan CISC mimarisi, az bellek kapasitesine gereksinim duyulan yerlerde yaygın olarak kullanılması yanında, Intel 80x86, Pentium ve Motorola 68030, vb. gibi işlemciler ile IBM 360 ve DEL WAX gibi büyük sistemlerde kullanılmaktadır. CISC tasarım felsefesi ile geliştirilen mikroişlemcili sistemlerde, kademeli komut işleme tekniği olarak adlandırılan ve aynı anda yalnızca bir komut üzerinde işlem yapılan komut işleme tekniği kullanılır. 23

RISC ve CISC mimarilerinin farklarını sayabilmek Komut kodu bellekte ve işlenecek verilerin MİB deki kaydedicilerde bulunduğu varsayılarak, kademeli komut işleme tekniğinde oluşacak işlem sırası listelenirse; 1. Program sayıcısının gösterdiği adresten (bellekten) komutu al getir (FI-Fetch Instruction) 2. Getirilen komutun kodunun çözülmesi ve mikro-kodların elde edilmesi (DI- Decode Instruction) 3. Komutun ALU da çalıştırılması (EI-Execute Instruction) 4. Sonucun ilgili kaydediciye yüklenmesi (WB- Write back Result) Açıklanan bu işlemlere göre, bir komutun işlenebilmesi dört adımda gerçekleştirilir. Gerçekleştirilen adımlardan birisi bitmeden diğer adıma geçilemez. Dört adım sonucunda tek bir komutun işlemesi biter ve yeni bir komut işlenmeye başlar. Komut Aşaması FI DI EI WB FI DI EI WB FI Zaman CISC bir komutun çalışma evreleri 24

RISC ve CISC mimarilerinin farklarını sayabilmek CISC mimarisinde oldukça çeşitli olan komutları çalıştırmak için mikro-kod kullanılmaktadır. Farklı uzunlukta olan bu komutların çözümünde oldukça karmaşık devrelere (kod çözücülere) ihtiyaç vardır. CISC bir komutun mikrokod çevrimi 25

RISC ve CISC mimarilerinin farklarını sayabilmek Neredeyse hiç kimse bir CISC makinedeki karmaşık assembly dili komutlarının tamamını kullanmamaktadır. Günümüzde programcılar tüm karmaşık komut kümelerini neredeyse hiç kullanmayan yüksek-düzeyli dil derleyicilerini tercih etmektedirler. Karmaşık komut seti kullanan mimarilerin işlemlerin belirli bir hızda yapılması gereksinimini karşılayamaması, komutların basitleştirilmesine ve RISC işlemci mimarisinin oluşmasına neden oldu. RISC işlemcilerde işlemler, az sayıda basit komut ile gerçekleştirilir. RISC işlemciler hala hazırda, IBM, DEC, HP, Motorola, APPLE ve SUN gibi süper bilgisayarlar yanında işistasyonları ve PC lerde kullanılmaktadırlar. İşlemcilerin kullandığı komutların basitleştirilmesi ve komutların sayısının azaltılması, komut işleme hızını artırır. Diğer bir deyişle, daha az sayıda ve basit yapıya sahip komutlar kullanan işlemci, karmaşık komut seti kullanan işlemciye göre daha hızlı çalışır. RISC işlemlerde işlemcinin performansını artıran önemli bir etken, Kanal Komut İşleme Tekniği (pipelining) olarak isimlendirilen ve aynı anda birden fazla komutun işlenmesini sağlayan teknolojidir. Bu teknolojinin kullanımı, daha fazla bellek ve daha gelişmiş derleme tekniği gereksinimlerini ortaya çıkarır. Bu gereksinimleri tam anlamıyla karşılayabilen çok geniş ölçekli entegre (VLSI) teknolojisinin 1990 larda geliştirilmesi ile RISC işlemciler büyük sistemlerin yanı sıra PC lerde kullanılmaya başlandı. 26

RISC ve CISC mimarilerinin farklarını sayabilmek RISC mimari, daha basit komutlar kullanarak tümdevre karmaşıklığını azaltmaktadır. Ancak RISC komutlarının daha kısa olması belirli bir görevin tamamlanabilmesi için daha fazla komuta gereksinim duyulmasına yol açabilir. Ayrıca RISC mimariler için üretilen derleyiciler daha önce CISC mimarisinde bulunan donanım birimlerinin görevini üstlenmek üzere ekstra komutlar kullanmaktadır. RISC işlemci çekirdeği çalışma akışı Komut evreleri FI DI EI WB FI DI EI WB FI DI EI WB FI DI EI FI DI EI WB FI DI FI DI EI WB FI FI DI EI WB Tamamlanan Komut adedi 1 2 3 4 5 RISC mimariye uyumlu kanal işleme (pipelining) tekniği ile komutların işletilmesi 27

RISC ve CISC mimarilerinin farklarını sayabilmek RISC ve CISC işlemciler birbirleri ile hızlarına, komut işleme tekniklerine, kullanılan transistor sayılarına, vb. kriterlere göre karşılaştırılabilirler. İki mimari arasındaki farklar şöyle özetlenebilir: 1- Hız: İki işlemci mimarisinin karşılaştırılmasından ilk önemli farkın; hızları olduğu bulunur. İki işlemci mimarisi arasındaki hız farkı, kullanılan komut işleme teknikleri sonucu oluşur. RISC işlemciler, genellikle aynı saat frekansında çalışan CISC işlemcilere göre daha hızlıdır. 2- Komut işleme tekniği: Mimariler arasındaki ikinci önemli fark; komut işleme tekniğidir. CISC işlemcilerde kademeli komut işleme tekniği kullanılırken, RISC işlemcilerde kanal komut işleme tekniği (pipeline) kullanılır. CISC tekniği ile aynı anda tek bir komut işlenebildiği ve komutun, işlenmesi bitmeden yeni bir komut üzerinde çalışmaya başlanamaz. RISC tekniğinde ise, aynı anda çok sayıda komut işlenmektedir. Komutların birbirini takip etmesi nedeni ile her bir komut bir birim uzunluktadır ve her işlem adımında bir komuta ait işlemler bitirilir. 3- Transistör sayısı: CISC ve RISC yapıları arasındaki üçüncü önemli fark; işlemcilerde kullanılan transistor sayısıdır. CISC işlemcilerde kullanılan transistor sayısı, RISC işlemcilere göre daha fazladır. Daha fazla sayıda transistor kullanılması, daha geniş alan gereksinimi ve daha fazla ısı ortaya çıkarır, Oluşan daha fazla ısı nedeniyle soğutma ihtiyacı ortaya çıkar ve soğutma işlemi, ısı dağıtıcısı veya fanlar kullanılarak gerçekleştirilir. 4- Donanımsal yapı (Tasarım şekli): İki mimari arasındaki bir diğer fark; donanımsal yapıları ve tasarım şekilleridir. RISC işlemciler, CISC işlemcilere göre daha basit yapıda olduklarından daha kolay tasarlanırlar. 5. Komut yapısı; RISC mimarisi, CISC in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. RISC mimaride aynı uzunlukta basit komutlar kullanılırken CISC mimaride karmaşık yapıda değişken uzunlukta komutlar kullanılır. 28

RISC ve CISC mimarilerinin farklarını sayabilmek RISC mimarisinin yukarıdaki üstünlükleri yanında bazı mahsurları da bulunmaktadır. Sakıncalar olarak; daha fazla bellek kapasitesi gereksinimi ve güçlü komutlara sahip olunmaması sayılabilir. RISC mimarisi, CISC in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. Diğer bir deyişle, RISC mimarisinin sakıncası, CISC mimariye göre daha karmaşık yazılımlara gereksinim duymasıdır. Sistemde güçlü komut eksikliği, ikinci bir yardımcı işlemci yada ayrı bir pipeline bölümü yardımı ile giderilebilir. Yarı iletken teknolojisindeki gelişmeler, CISC sisteminin az bellek gereksinimi ve basit program yazılımı gibi üstünlüklerin öneminin kaybolması sonucunu ortaya çıkarmakta ve RISC mimarisine daha önem kazandırmaktadır. Bu karsılaştırma sonucunda, 'hangi mikro denetleyici mimarisi tercih edilmelidir?' sorusunun tam olarak tek bir cevabı yoktur. Bu sorunun cevabı, tasarımcının hangi kriterleri önemsediği ile ilgidir. Bu kriterler; yonga alanı ve esnekliktir. Daha hızlı çalıştıklarından dolayı günümüzde çoğu mikro denetleyici ve işlemciler RISC mimarisi kullanmaktadırlar. Bununla beraber her iki mimarinin özelliklerini de ta ş ıyan karma mimariler de söz konusudur. 29

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek Giriş: Mikroişlemci ve mikrodenetleyiciler bellek kullanımı açısından Von Neuman ve Harvard olarak adlandırılan iki mimariden biri üzerine tasarlanırlar. Von Neuman mimarisi Princeton Üniversitesi tarafından diğeri de adından da anlaşılacağı üzere Harvard Üniversitesi tarafından tasarlanmıştır. O günkü teknolojiye uygun olan Von Neuman mimarisi tercih edilse de ilerideki yıllarda teknolojinin uygun hale gelmesi sonucu Harvard mimarisi 1970 li yılların sonlarında özellikle mikrodenetleyici tasarımında standart hale gelmiştir. Günümüzde her iki mimari yapının özelliklerini içeren mikrodenetleyiciler (MAXQ ailesi) de bulunmaktadır. Bu mikrodenetleyiciler karma mimariye sahip olup iki mimarinin üstün olan özelliklerini kullanarak performans artışı elde ederler. Von Neuman Mimarisi İşlem biriminin bellek biriminden ayrıştırılması bu mimarinin en önemli özelliğidir. Komut ve veri için aynı belleğin kullanıldığı Von Neuman Mimarisinde, komut ve veriler aynı yol kullanılarak iletilirler. Bu durum, komut ve verinin iletilmesinin gerektiği durumlarda veri ile ilgili iletişim sistemlerinin, komut ile ilgili iletişim işlemlerini beklemesini gerektirir. Von Neuman Mimarisi kullanan mikroişlemcilerde de komutlar bellekten alındıktan sonra kodu çözülerek gerekli işlemler gerçekleştirilir ve elde edilen sonuçlar belleğe tekrar gönderilir. Bu işlemler sırasında, yolların hızının mikroişlemcinin hızına yetişememesi nedeni ile sistemde darboğaz (bottleneck) olarak isimlendirilen olay gerçekleşebilir. Bu sakıncanın yanında oluşabilecek diğer bir sakıncalı işlem; veri ve komutların aynı bellekte sıralı olarak bulunması nedeni ile bu iki bilginin birbirine karışması ihtimalinin yüksek olmasıdır. 30

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek Von Neuman (Princeton) mimari blok diyagramı Detaylandırılan iki sakıncayı ortadan kaldırmaya ve Von Neuman Mimarisi kullanan sistemlerin performansını artırmaya yönelik olarak önbellek (cache) sistemi geliştirilmiştir. Önbellekler, işlenecek komutların ve verilerin ana bellekten getirilerek işlem birimine yakın bir bellekte tutulması amacıyla kullanılmaktadır. Ana bellekten alınan komut ve veriler ayrı önbelleklere yerleştirilerek hem ayrıştırılması sağlamakta, hem de oluşan darboğaz ortadan kaldırılmaktadır. Günümüz kişisel bilgisayarları da Von Neuman mimarisinde çalışmaktadırlar sistemde sadece tek bellek (RAM) vardır ve tüm komutlar ve veriler aynı ortamda saklanır. Mikroişlemcili sistemlerin büyük çoğunluğu Von Neuman mimarisinde çalışırken mikrodenetleyici sistemlerin çoğu Harvard mimaride çalışır. 31

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek Harvard Mimarisi Komutlar ve veri ile ilgili bilgilerin ayrı belleklerde saklandığı Harvard Mimarisi kullanan mikroişlemcili sistemlerde, veri ve komutları iletmek amacıyla kullanılan yollar birbirinden bağımsızdır. İletim için kullanılan yolların farklı olması, aynı anda veri ve komutun iletilmesini mümkün hale getirir. Diğer bir ifadeyle, komut kod bellekten okunurken, komutun gerçekleştirilmesi sırasında ihtiyaç duyulan veri, veri belleğinden okunabilir. Harvard Mimarisi, performansın çok önemli olduğu sistemlerde ve günümüzde özellikle sayısal işaret işleme görevini yapan tümleşik devrelerde (DSP: Digital Signal Processor) ve güvenliğin önemsendiği mikrodenetleyicilerde tercih edilmektedir. Harvard mimari blok diyagramı 32

1.Mikroişlemci sistem mimarisi neyi ifade etmektedir? 2.Mikroişlemci kapasitesini belirleyen unsur nedir? 3. CISC terimini açıklayınız? 4. RISC terimini tanımlayınız? 5. CISC yapısında komut işleme şeklini detaylandırınız? 6. CISC yapısını kullanan mikroişlemcilere örnekler veriniz? 7. RISC yapısını kullanan mikroişlemcilere örnekler veriniz? 8. PIC Mikro denetleyiciler hangi mimarileri kullanır? 9. Von Neuman mimarisinin diğer adı nedir? 10. Komutların karmaşık ve daha yetenekli olduğu, düşük ana belleğin daha etkili kullanımının sağlandığı mikroişlemci / mikro denetleyici mimarisi hangisidir? 11. RISC yapısında komut işleme aşamalarını açıklayınız? 12. CISC yapısında komut işleme aşamalarını açıklayınız? 13. RISC ve CISC yapılarını karşılaştırınız? 14. Bütün komutların aynı uzunlukta olmaları nedeniyle donanımı basit ve komutların icra süresinin kısa olduğu mikroişlemci / mikro denetleyici mimarisi hangisidir? 15. Program ve verilerin aynı belleği kullandığı ilk mikroişlemci / mikro denetleyici mimari yapısı hangisidir? 16. RISC mimarisinin CISC e göre üstünlüklerini sıralayınız? 17. Veri ve program komutlarının farklı belleği kullandığı mikroişlemci / mikro denetleyici mimari yapısı hangisidir? 33