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

Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Embed Size (px)

Citation preview

Page 1: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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

B

Page 2: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

'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.

Page 3: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

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.

Temel Bilgisayar Sisteminin Bileşenleri

Page 4: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Page 5: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Page 6: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek

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.

Kontrol Birimi

ve Kod Çözücü ALU Kaydediciler

Veri,adres ve kontrol yolu

Veri,adres ve kontrol yolu

Merkezi İşlem Biriminin iç yapısı

Page 7: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Page 8: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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, I2C 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.

Page 9: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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

Page 10: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Page 11: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Mikro denetleyici temel bileşenleri

Page 12: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Mikro denetleyici temel bileşenleri

Page 13: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Mikro denetleyici uygulama devresi bileşenleri

Page 14: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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

Page 15: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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 Kullanım Alanları

Page 16: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Page 17: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

* 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

Page 18: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

* 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.

Mikro denetleyici seçimi

Page 19: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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.

Page 20: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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?

Page 21: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Bilgisayar Mimarisi kavramını açıklayabilmek

21

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.

Page 22: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Bilgisayar Mimarisi kavramını açıklayabilmek

22

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.

Page 23: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

23

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.

Page 24: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

24

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.

CISC bir komutun çalışma evreleri

Komut

Aşaması

FI DI EI WB FI DI EI WB FI

Zaman

Page 25: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

25

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

Page 26: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

26

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ı.

Page 27: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

27

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

Page 28: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

28

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.

Page 29: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

RISC ve CISC mimarilerinin farklarını sayabilmek

29

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.

Page 30: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

30

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.

Page 31: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

31

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.

Page 32: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

32

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ı

Page 33: Öğr.Gör. Dr. Bülent ÇOBANOĞLU · 2012-03-14 · Bir PIC mikro denetleyici ile uygulama ... (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler ... Artık kaliteli bir

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?

33

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?