hafta1_tefpic

Transkript

hafta1_tefpic
B
Öğr.Gör. Dr. Bülent ÇOBANOĞLU
'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.
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
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, 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.
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 (DIDecode 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
FI
DI
EI
WB
FI
DI
EI
WB
FI
Aşaması
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
2
3
4
5
Tamamlanan Komut adedi
1
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?
14. Bütün komutların aynı uzunlukta olmaları
2.Mikroişlemci kapasitesini belirleyen unsur nedir?
nedeniyle donanımı basit ve komutların icra
3.‘CISC’ terimini açıklayınız?
süresinin kısa olduğu mikroişlemci / mikro
4.‘RISC’ terimini tanımlayınız?
denetleyici mimarisi hangisidir?
5.‘CISC’ yapısında komut işleme şeklini detaylandırınız?
15. Program ve verilerin aynı belleği
6.‘CISC’ yapısını kullanan mikroişlemcilere örnekler veriniz?
kullandığı ilk mikroişlemci / mikro denetleyici
7.‘RISC’ yapısını kullanan mikroişlemcilere örnekler veriniz?
mimari yapısı hangisidir?
8. PIC Mikro denetleyiciler hangi mimarileri kullanır?
16.‘RISC’ mimarisinin CISC’e göre üstünlüklerini
9. Von Neuman mimarisinin diğer adı nedir?
sıralayınız?
10. Komutların karmaşık ve daha yetenekli olduğu, düşük
17. Veri ve program komutlarının farklı belleği
ana belleğin daha etkili kullanımının sağlandığı mikroişlemci
kullandığı mikroişlemci / mikro denetleyici
/ mikro denetleyici mimarisi hangisidir?
mimari yapısı 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

Benzer belgeler

Mikroişlemciler

Mikroişlemciler 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ör...

Detaylı

MATEMATİK BİLGİSAYAR BÖLÜMÜ

MATEMATİK BİLGİSAYAR BÖLÜMÜ 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 kul...

Detaylı

indir

indir 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: • Mim...

Detaylı

Tam Sayfa Görünüm

Tam Sayfa Görünüm  MİB ve ALU’da işlenen komutlar ve yapılan işlemler ikili sayı düzeninde gerçekleştirilir. Komut, işlem, veri, vb. kavramların ikili sayı sistemi ile ifadesi, ‘makine kodu’ olarak isimlendirilir. ...

Detaylı

Test Çalışma Notları

Test Çalışma Notları 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, ...

Detaylı