SlideShare a Scribd company logo
1 of 99
MİKROPROGRAMLANMIŞ KONTROL
Muhammet ÖZER
ozermuhammet0@gmail.com
BİLGİSAYAR MİMARİSİ DERSİ
Cevriye HAYIRLI
cevriyehayirli@gmail.com
Ayhan DEMİRCİ
ayhandemirci.61@gmail.com
Aykut GÜNDOĞDU
aykut.gundogdu@yandex.com
Geçen Derste Ne İşledik ?
Bilgisayar Mimarisi2
 MİKROİŞLEMCİLERE GENEL BAKIŞ
 MİKROİŞLEMCİYİ OLUŞTURAN BİRİMLER VE GÖREVLERİ
 MİKRO İŞLEMLER VE KONTROL BİRİMİ
Bilgisayar Mimarisi3
Programlama Nedir Ve Türleri Nelerdir ?
Dallanma Yapıları Ve Çeşitleri
Kesmeler Ve Çeşitleri
Mikroişlemcilerin Programlanması
PIC Programlama
Bugün Konuşacaklarımız…
 Programlama dili, yazılımcının bir algoritmayı ifade etmek
amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının
tektipleştirilmiş yoludur.
 Bir programcı komutları yazmak için farklı programlama dilleri
kullanabilir.
 Programlama dilleri, programcının bilgisayara hangi veri üzerinde
işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi
koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını
sağlar.
 Şu ana kadar 2500'den fazla programlama dili yapılmıştır.
Bilgisayar Mimarisi4
PROGRAMLAMA DİLLERİ VE
ÖZELLİKLERİ
Bilgisayar Mimarisi5
 Donanım ve yazılımın bir veya daha
fazla yapılandırması o programı
çalıştırmak için bir tür yol sağlar.
 Programlama dili uygulamasında iki
yaklaşım vardır: Derleme
ve yorumlama.
 Herhangi bir tekniği kullanarak bir
programlama dili uygulamak
mümkündür.
PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
Bilgisayar Mimarisi6
 Genellikle donanım üzerinde çalışanlar yazılım üzerinde
yorumlananlardan daha hızlıdır.
 Yorumlanan programların performansını geliştirmek
için anında derleme programları kullanılır.
 Derleyiciden gelen çıktı ya donanım tarafından ya da
yorumlayıcı diye adlandırılan programlar tarafından
çalıştırılır.
 Programlama dilleri insanların algılamasına yakın olmasına
göre üç gruba ayrılır.
 Alt seviye programlama dilleri: Makine koduna oldukça yakın
programlama dilleridir.Makina hakimiyeti oldukca
gelişmiştir.Bu programlama dillerini bilen kişilerin mikro
işlemciler hakkında bilgi sahibi olması gereklidir.(Assembly
programlama dili gibi)
Bilgisayar Mimarisi7
PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
 Orta seviye programlama dilleri: Oldukça esnek olan bu
diller hem üst hem alt seviye programlama yapabilirler. Alt
seviye dillere oranla biraz daha anlaşılırdır. (C programlama
dili gibi.)
 Üst seviye programlama dilleri: Olay tabanlı programlama
dilleri olarak da adlandırılırlar yalnız bu programlama dilleri
sadece belirli fonksiyonlar etrafında çalışırlar ve
programlama hakimiyetini azaltırlar.
Bilgisayar Mimarisi8
PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
 Yüksek seviyeli programlama
dillerinde yazılan programın
çalışabilmesi için makine
diline çevrilmesi gerekir.
 Bunun için program hangi
yüksek seviyeli dil ile
yazıldıysa o dilin derleyicisi
kullanılır.
Bilgisayar Mimarisi9
PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
 Böylece yüksek seviyeli
programlama dili ile yazılmış
olan kaynak program,
makine dilindeki amaç
programa dönüştürülür.
 Kaynak programın içeriğinin
değiştirilmesi mümkündür,
ancak derlenmiş olan amaç
programın içeriğine
müdahale etme imkanı
yoktur.
Bilgisayar Mimarisi10
PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
Bilgisayar Mimarisi11
Assembly Programlama Dili
 Assembly dili alt seviye bir programlama dilidir ve
karmaşık programlar yazmak için kullanılır.
 Assembly insanlar tarafından anlaşılması zor olan
makina dilinin sayısal ifadelerini, daha kolay anlaşılır ve
programlanabilir olan alfabetik ifadelerle değiştirip alt
seviyede programlama için bir ortam oluşturur.
Assembly dilinin özel kullanım alanları
Bilgisayar Mimarisi12
1. Bilgisayar sistemini yakından tanımak için,
2. Device driver (cihaz sürücüleri) yazmak için,
3. Chip’lere program yüklemek için (PIC, microcontroller
gibi...)
4. İşletim sistemlerinin yapımında (OS),
5. Virüs programları yazmak için,
6. Elektronik tablo’lama (Excel gibi) programlarında.
Bilgisayar Mimarisi13
Basic Programlama Dili
 Basic (Beginner's All Purpose Symbolic Instruction
Code) dili 1964 yılında John Kemeny ve Thomas
Eugene Kurtz tarafından geliştirilmiş olup, eğitim amaçlı
bir programlama dilidir.
 Mikrobilgisayarlar için ilk Basic uygulamasını Microsoft
'un kurucuları olan Paul Allen ve Bill Gates yazmıştır.
 Öğrenmesi ve kullanımı kolay bir dil olan Basic dilinin
zamanla QBasic, Turbo Basic, Power Basic, BasicA,
Visual Basic, Visual Basic.Net gibi türevleri
geliştirilmiştir.
Bilgisayar Mimarisi14
C Programlama Dili
 1970'lerin başında Ken Thompson ve Dennis Ritchie
tarafından UNIX İşletim Sistemi için 1972 yılında
geliştirilmiş bir C programlama dili, günümüzde
neredeyse tüm işletim sistemlerinde kullanılmaktadır.
Dünya'nın en çok kullanılan sistem programlama dilidir.
Mikroprogramlama15
“ Mikrodenetleyiciler - PIC ile Örnek Uygulama “ videomuzu izleyelim.
Bilgisayar Mimarisi16
C++ Programlama Dili
 1980'lerin başlarında Bjarne Stroustrup tarafından
geliştirilen C 'yi kapsayan ve çok paradigmalı, yaygın
olarak kullanılan, genel amaçlı bir programlama dilidir.
 Genel olarak her C programı aynı zamanda bir C++
programıdır, ama her C++ programı bir C programı
değildir.
Bilgisayar Mimarisi17
C++ Programlama Dili (devamı…)
 C++'ı C 'den ayıran ve C++'ın nesne yönelimli bir dil
olmasına da olanak sağlayan en temel özellik,
sınıflardır.
 Sınıflar sayesinde yeni veri türleri yaratılabilir ya da
varolan türlerden yenileri türetilebilir
Bilgisayar Mimarisi18
C# Programlama Dili
 C# dili de C++ gibi bir C türevidir. C programlama
dilinde bir tamsayı değişkeni 1 attırmak için ++ soneki
kullanılır.
 C++ dili adını, C diliyle Nesneye Yönelimli Programlama
yapabilmek için eklentiler (C With Classes) almıştır.
 Benzer şekilde C++ diline yeni eklentiler
yapılarak ((C++)++) bir adım daha ileriye götürülmüş ve
tamamen nesneye yönelik tasarlanmış C# dilinin
isimlendirilmesinde, + karakterlerinin birbirlerine
yakınlaşmış hali ve bir melodi anahtarı olan C#
Major kullanılmıştır.
Bilgisayar Mimarisi19
Visual Basic Programlama Dili
 Visual Basic, Microsoft tarafından, Basic programlama dili
üzerinde geliştirilmiş, olay yönlendirmeli, üst seviye, nesne
tabanlı ve görsel bir programlama dilidir.Microsoft Visual Basic
dilinin değişik türevleri oluşturulmuştur:
 VBA (Visual Basic for Applications); Microsoft Office gibi, değişik
yazılımlar içerisinde çalışabilecek yazılımlar geliştirilmesinde
kullanılır.
Bilgisayar Mimarisi20
Visual Basic Programlama Dili (devamı…)
 VBScript ; Internet Explorer, ASP ve Windows Script Host
üstünde Visual Basic betikleri çalıştırılmasında kullanılan türevi.
 Visual Basic.NET ; Visual Basic 6.0 Platformunun varisi olmakla
birlikte farklı bir yapıdır ve .NET Framework üzerinde çalışır ve
geriye doğru, Visual Basic 6.0 ve öncesi sürüm kodlarla
uyumsuzdur.
Bilgisayar Mimarisi21
Pascal Programlama Dili
 Pascal programlama dili, bilgisayar bilimcisi Niklaus
Wirth tarafından 1970 'te yapısal programlamayı derleyiciler için
çok daha kolay hale getirmek amacıyla geliştirilmiştir.
 Bir çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli
versiyonları bugün hala yaygın olarak kullanılmaya devam eden
önemli programlama dillerinden biridir.
 Adını matematikçi ve düşünür Blaise Pascal'dan alan
Pascal, Algol programlama dilinden türemiştir.
Pascal Programlama Dili
Mikroprogramlama22
Bilgisayar Mimarisi23
Delphi Programlama Dili
 Delphi programlama diline, özellikle nesne yönelimli
programlama anlayışıyla yapılandırılmış.
 Turbo Pascal dilinin görsel sürümü denilebilir. Nesne, sınıf,
kalıtım, fonksiyon, aşırı yükleme gibi temel nesneye yönelim
programlama tekniklerini ve daha fazlasını içeren güçlü ve
esnek bir programlama dilidir.
Bilgisayar Mimarisi24
PIC Basic Pro Programlama Dili
 PIC Basic Pro , Micro Engineering Labs firması tarafından PIC
mikrodenetleyicileri için geliştirilmiştir.
 BASIC programlama dilinin kolay öğrenilebilme özelliğinden
dolayı dünyanın en çok kullanılan programlama dillerinden
biridir.
Mikroprogramlama25
ASSEMBLY DİLİ C DİLİ PASCAL DİLİ
# include<stdio.h>
main()
{
Printf(“merhaba C”);
}
Begin
Write(“merhaba pascal”);
End.
8 byte 8330 byte 95644 byte
Programlama Dilleri Arasında
Karşılaştırma
Dallanma (Branch) İşlemi
Bilgisayar Mimarisi26
 JMP (jump) komutu ile belleğin bir bölümünden diğer bir
bölümüne program akışı yönlendirilebilir.
 Dallanma işlemi direkt olarak yapılabileceği gibi belli bir
koşula göre de yapılabilir.
Doğrudan Dallanma
Bilgisayar Mimarisi27
JMP komutunun 3 farklı kullanım şekli vardır. Bunlar:
 Kısa (Short) Dallanma
 Yakın (Near) Dallanma
 Uzak (Far) Dallanma
Bilgisayar Mimarisi28
Örneğimizin Açıklamaları
Bilgisayar Mimarisi29
OFFSET : Dallanılacak konumun adresi
MOV, JMP : Altprograma Dallan
Opcode : Operation Code (İşlem kodu)
Operand : +,-,*,/ gibi işlemlerin tümü
ADR : Tablodaki dallanma adresleri
Bilgisayar Mimarisi30
 Dallanma komutu, 16 bit bir saklayıcıyı operand olarak
kullanabilir. Bu tür dallanma, dolaylı dallanmadır ve saklayıcının
içindeki adres dallanma adresi olarak kullanılır.
 Saklayıcının adresi IP’a (instruction process) alınır ve program
bu adresten itibaren yürütülür.
 Aynı işlem indisli adresleme kullanılarak da gerçekleştirilebilir.
Doğrudan Dallanma
Koşullu Dallanma
Bilgisayar Mimarisi31
 Şartlı dallanma komutlarının ilk harfi J ile başlar ve takip eden
1,2 yada 3 harf şartı gösterir.
 Genele olarak JXXX şeklinde gösterilebilir.
 Duruma bağlı olan dallanmalar; İşaret (Sign-S), Sıfır (Zero-Z),
Elde (Carry-C), Eşlik (Parity-P) ve taşma (Overflow-O)
bayraklarını test ederler.
 Eğer test edilen durum doğru ise, program akışı dallanma
komutu ile belirtilen adresten devam eder.
 Eğer durum yanlış ise, dallanma gerçekleşmez ve sıradaki
komut icra edilir.
Bayrakların Durumunu Test Etmek İçin Kullanılan
Koşullu Dallanma Komutları
Bilgisayar Mimarisi32
ÖRNEK:
Bilgisayar Mimarisi33
 MOV : Klavyeden karakter okur.
 CMP : Girilen karakter 0 mı?
Karşılaştırır.
 JNS : Sıfır olanan kadar döngü
devam etsin.
 TABLE adresli yerden başlayan
bir dallanma tablosu yandaki
gibidir.
 Her adres 2 Byte’tır.
ÖRNEK:
Bilgisayar Mimarisi34
 CMP işleminin sonucunda
negatif bir değer elde
edileceği için S bayrağı
kurulur (S=1).
 Bu durumda dallanma
gerçekleşmeyecek ve
program bir sonraki komutu
yürütecektir.
LOOP Komutu
Bilgisayar Mimarisi35
Loop komutu CX saklayıcısını azaltma ile duruma bağlı
dallanma işlemlerinin birleşimidir. Her seferinde CX saklayıcısı1
azaltılır. CX=0 olduğu durumda döngüden çıkılarak normal akış
sırası takip edilir.
 MOV SI, OFFSET BLOCK1
 MOV DI, OFFSET BLOCK2
 MOV CX,100
 TEKRAR:
 LODSW; Block1’den veri okunmakta (DS:SI’in işaret ettiği
yerden)
 ADD AX, ES:[DI]; Block2 verisi ile topla
 STOSW; ES:[DI] ile belirtilen Block2 bölgesinde sakla.
 LOOP TEKRAR
Mikroprogramlama36
“ Kesmeler“ videomuzu izleyelim.
Kesmeler (Interrupts)
Bilgisayar Mimarisi37
Sistemde meydana gelen kesmeleri 3 farklı kategori
altında incelemek mümkündür. Bunlar ;
 Donanımsal Kesmeler
 İçsel Kesmeler
 Yazılım Kesmeleri
Donanımsal Kesmeler
Bilgisayar Mimarisi38
 Yazılım kesmeleri programcı tarafından çağırılırken
donanım kesmeleri elektriksel yolla çağırılmaktadır.
 Her mikro işlemcinin ve mikro denetleyicinin donanım
kesmesi için bir INT ucu vardır.
 Bu INT ucu aktiflendiğinde (elektriksel olarak 5v gerilimle
uygulanması durumunda) mikro işlemci o anda
çalıştırılmakta olan koda ara verir ve başka bir kodu
uygulamaya başlar.
Donanımsal Kesmeler (devamı…)
Bilgisayar Mimarisi39
 Yani bu tur kesmelerde kesmenin oluş mekanizması
dışsal ve elektriksel olaylara bağlıdır.
 Bu yolla donanım kesmesi oluşturulmasına kesme
isteği « IRQ (interrupt request)» denir.
 Örn: Klavye üzerindeki bir tuşa basılması. Böyle bir
durumda CPU, yapmakta olduğu işi bırakıp basılan
tuşun değerini değerlendirecektir.Bu tür kesmeler, 8259A
olarak isimlendirilen elektronik devre yardımıyla kontrol
altında tutulur.
Sık Kullanılan Bazı Donanımsal Kesmeler
Bilgisayar Mimarisi40
İçsel Kesmeler
Bilgisayar Mimarisi41
 Mikro işlemcinin bir makine kodunu çalıştırırken
problemle karşılaştığında kendi kendisini çağırdığı
kesmelerdir.
 Diğer bir deyişle bazı geçersiz program sonuçlarının
elde edilmesi halinde CPU’nun kendisi tarafından
oluşturulmaktadır.
 Örn:0 ile bölüm şeklindeki bir işlem sonucunda meydana
gelen meydana gelen kesme.
Yazılımsal Kesmeler
Bilgisayar Mimarisi42
 Bu tür kesmeler, RAM veya ROM’da bulunan alt rutinlerin
çağrılmasıyla oluşturulur.
 Programcı tarafından sık sık kullanılırlar.
 Yazılım kesmelerinin normal fonksiyon çağırmalarından
işlevsel bir farkı yoktur.
 Bunlar programcı tarafından yazılan INT makine komutuyla
koda dahil edilirler.
 Kesme çağırma, uzak CALL komutuna benzer, çünkü geri
dönüş adresi (IP/CS) (instruction process /Code Segment)
ikilisine sırayla yerleştirilir.
Bilgisayar Mimarisi43
 Kesme vektörü, mikroişlemci gerçek modda (real mode)
çalışırken, hafızanın ilk 1024 byte’lık alanında (00000h-
003FFh) saklı olan 4 byte’lık bir adrestir. Dolayısıyla 256
farklı kesme vektörü bulunur.
 Her kesme vektörü, bir kesme hizmet programının adresini
oluşturan IP (instruction process) ve CS (Code Segment)
adresi içerir.
Yazılımsal Kesmeler (devamı…)
Bilgisayar Mimarisi44
 İlk 32 kesme vektörü(0-31) 8086-80486 ve daha sonraki
işlemciler için ayrılmıştır. Geriye kalan kesme vektörleri (32-355)
kullanıcı içindir.
 Ayrılmış olan vektörlerin bazıları, bölme hatası veya programın
yürütümü sırasında oluşan hatalar içindir.
 Kod numaraları 32 ile 96 arasında yer alan kesmeler DOS
kesmelerdir.
Yazılımsal Kesmeler (devamı…)
Bilgisayar Mimarisi45
Yazılımsal Kesmeler (devamı…)
Kesme Komutları
Bilgisayar Mimarisi46
3 farklı kesme komutu bulunmaktadır. Bunlar:
 INT
 INTO
 INT3
Bu komutlar gerçek modda vektör tablosundan bir vektör okur
ve sonra da bu vektörle adreslenen kesme hizmet programını
çağırır.
Korumalı modda ise kesme açıklayıcı tablo (Interrrupt
Descriptor Table)’dan bir tanımlayıcı okur.
INT KOMUTU
Bilgisayar Mimarisi47
 Programcının kullanımına sunulan 256 farklı kesme komutu
bulunmaktadır.
 Kesme vektörünün adresi hesaplanırken, kesme tipi numarası
4 ile çarpılır.
Örn: 21h x4 = 84h ; Kesme 21’i kullandığımızda belleğin 1024
byte’ın içinden 132. sırada olan (84h) alana gidilecek burada 4
byte’lık adres ile belirtilen adrese gidilip kesme alt programı icra
edilecektir.
IRET
Bilgisayar Mimarisi48
IRET komutu ile aşağıdaki işlemler gerçekleştirilir.
• IP , CS , Flag registerinin eski değeri stack üzerinden pop
edilir.
• Korumalı moddaki karşılığı IRETD’dir.
INTO
Bilgisayar Mimarisi49
Taşma (Overflow) durumunda oluşan bir kesmedir.
 Eğer Overflow=0 ise INTO komutu herhangi bir işleme neden
olmaz
 Eğer Overflow=1 ise 4 numaralı kesmeyi çağırır.
Çalışma mantığı JO (Jump Overlow) komutu ile benzerlik
gösterir.
Bilgisayar Mimarisi50
 Bu komutların kullanım amacı, mikroişlemcinin kesme
sinyallerine cevap vermesini veya vermemesini sağlamaktır.
 CLI komutu kullanıldığında I=0 olur ve mikroişlemci
Maskelenemez kesmeler (Non-maskable Interrupts) olarak
isimlendirilen kesmelerin dışındaki hiçbir kesme isteğine
cevap vermeyecektir.
 STI komutu kullanıldığında I=1 olur ve mikroişlemci tekrar
gelen kesme isteklerine cevap verecektir.
Temizle Kesme Ve Bayrak Kesme
(CLI ve STI)
 Mikroişlemci, işlemci (bazen kısaltma olarak µP kullanılır)
ana işlem biriminin (CPU) fonksiyonlarını tek bir yarı iletken
tüm devrede birleştiren programlanabilir bir sayısal
elektronik bileşendir.
 Mikroişlemci, ana işlem birimindeki kelime boyutunun (word
size) 32 bit ten 4 bit e düşürülmesiyle doğmuştur.
 Kelime Boyutu:Örnek vererek açıklayacak olursak; Char
değişkeni 2 byte’tır.1 Byte 8 bit olduğundan Char
değişkenine 16 bit diyebiliriz.Char değişkeninin 4 bitlere
ayrılarak işlenmesidir.Makine dili için söyleyecek olursakda
01010100110 ‘lerin 4 ‘e ayrılarak işlenmesidir.
Bilgisayar Mimarisi51
Mikroişlemci Nedir?
 Böylece, ana işlem biriminin mantıksal devrelerinin
transistörleri tek bir parçaya sığdırılabilmiştir.
 Bir veya daha çok mikroişlemci, tipik olarak bir bilgisayar
sisteminde, gömülü sistemde ya da bir mobil cihazda ana
işlem birimi olarak görev yapmaktadır.
Bilgisayar Mimarisi52
Mikroişlemci Nedir? (devamı …)
 Mikroişlemci temelde transistörlerden oluşan bir devre
elemanıdır.
 Bunun dışında temel işlevi 0110101 üzerinde işlem yaparak
dijital sonuçlar üretmektedir.
 Mikrodenetleyiciler ise mikroişlemciden farklı olarak birçok
parçadan oluşan (Ram,seri bağlantı portu vb.) sistemin
tümüne verilen isimdir.
 Mikrodenetleyici bir sistemin içinde mikroişlemci bulunur.
Bilgisayar Mimarisi53
Mikroişlemci ve Mikrodenetleyici Arasındaki Fark
Bilgisayar Mimarisi54
Mikroprogramlama55
“ Mikroişlemcileri İç Görüntüsü “ videomuzu izleyelim.
Bilgisayar Mimarisi56
Bilgisayar Mimarisi57
Mikroişlemcilerin Tarihsel Gelişimi
Mikroişlemcilerin tarihi gelişimlerini bir kerede işleyebildikleri bit
sayısı referans alınarak dört grupta incelemek mümkündür.
 8 bit Mikroişlemciler
 16 bit Mikroişlemciler
 32 bit Mikroişlemciler
 64 bit Mikroişlemciler
Bilgisayar Mimarisi58
8‐Bit Mikroişlemciler
 İlk mikroişlemci, Intel firması
tarafından 1971 yılında
üretilen 4 bitlik 4004
mikroişlemcisidir.
 4004, 2300 transistöre, 108
kHz hızına, 0,06 MIPS
(Saniyede Milyon Komut -
Million of Instruction per
Second) gücüne, 4 bit kelime
uzunluğuna ve 640 Bayt
bellek kapasitesine sahipti.
Bilgisayar Mimarisi59
16‐Bit Mikroişlemciler
• İlk 16 bitlik mikroişlemci, 1978
yılında Intel firması tarafından
NMOS teknolojisi ile üretilen
8086 işlemcisidir.
• 8086 mikroişlemcisi, hem
dahili hem de harici veri
iletiminde 16 bit
kullanmaktaydı.
Bilgisayar Mimarisi60
 İlk 32 bitlik mikroişlemciler 1984 yılında Motorolanın ürettiği 68020
ve 1985 yılında Intel’in ürettiği 80386 mikroişlemcileridir.
 80386 işlemcisi veri ve adres bilgilerinin iletimi için 32 hattan oluşan
yol kullanıyordu ve haberleşme 32 bit olarak gerçekleştiriliyordu.
 Intel tarafından geliştirilen 32-bitlik işlemciler IBM uyumlu PC’lerde,
Motorola tarafından geliştirilenler ise iş istasyonlarında kullanıldılar.
32‐Bit Mikroişlemciler
Bilgisayar Mimarisi61
64‐Bit Mikroişlemciler
 İlk 64 bitlik mikroişlemciler, ‘IA-64’ veya ‘Itanium’ adı ile 1999 yılında
gündeme getirildi.
 HP ve Intel’in ortak çalışması olarak sunulan ‘Itanium’, sunucu
sistemler için geliştirilmesi hedeflendi.
Bilgisayar Mimarisi62
Mikroişlemcili Sistemlerde Bulunan Birimler
Giriş Birimi (Input Unit)
 Klavye (Keyboard)
 Disket sürücü (Disk driver)
 Optik okuyucu (Optic reader)
 Analog – Dijital Çeviriciler (Analog – Digital Convertor -
ADC)
 Harici bellek (External memory)
Bilgisayar Mimarisi63
Mikroişlemcili Sistemlerde Bulunan Birimler
Çıkış Birimi (Output Unit)
Çıkış birimi, mikroişlemcili sistemde ikili sayı şeklinde işlenen
bilgileri kullanıcıların anlayabileceği hale dönüştürmede
kullanılan elemanlardır.
 Görüntüleme elemanları
 Yazıcılar
 Işık yayan diyotlar
 Ses aygıtları
 Dijital – Analog Çeviriciler
Bilgisayar Mimarisi64
Mikroişlemcili Sistemlerde Bulunan Birimler
 Kontrol Birimi
 Kaydediciler
 Aritmetik ve Mantık birimi (ALU)
 Yardımcı Elemanlar
 Yazıcılar
Bilgisayar Mimarisi65
Kontrol Birimi
• Mikroişlemcinin yaptığı işlemleri kontrol eden ve
iletişimi denetleyen birimdir.
• Mikroişlemci içinde ve dışında bulunan birimler
arasındaki veri iletişimini denetler ve ALU içerisindeki
işlemleri kontrol eder.
Bilgisayar Mimarisi66
Kontrol Birimi (devamı…)
• Mikroişlemci ile çevre birimlerinin eş zamanlı olarak
(synchronization) çalışması için gerekli sinyaller kontrol
birimi tarafından sağlanır.
• Komut okuma (fetch) ve komut işleme (execute)
işlemlerini yerine getirir
Bilgisayar Mimarisi67
Kaydediciler (Registers)
Mikroişlemcide verilerin işlenmesi sırasında, komutların verilerin
geçici olarak saklanması için kullanılan devrelerdir.
Kullanım amaçlarına göre kaydediciler 4’e ayrılır.
 Veri kaydedicileri
 Adres kaydedicileri
 Kontrol kaydedicileri
 Durum kaydedicileri
Bilgisayar Mimarisi68
Aritmetik ve Mantık Birimi (Aritmetic Logic Unit,
ALU)
•Veriler üzerinde aritmetik (toplama, çıkarma, çarpma, bölme),
mantıksal (VE, VEYA, DEĞİL vb.) veya karşılaştırma işlemleri
yapan devrelerdir.
Bilgisayar Mimarisi69
Yardımcı Elemanlar
•Mikroişlemcinin performansını arttırmak amacıyla kullanılırlar.
Örnek olarak;
 Matematik işlemci
 Paralel işlemci
 Ön bellekler
Bilgisayar Mimarisi70
Mikroişlemcinin Çalışması
•Bir mikroişlemcinin çalışmasında, kontrol birimi tarafından
yerine getirilen temel iki işlem vardır.
•Komut okuma (fetch) ve komut yürütme (execute).
•Komut okuma,mikroişlemcinin hafızadan bir işlem kodu
(operation code-opcode) alıp komut saklayıcısına (Instruction
Register –IR) getirme işlemine denir.
•Komut saklayıcısına gelen komut ile hangi işlemin yapılacağı
komut kod çözücüsü tarafından belirlenir.
•Gereken sinyalleme kontrol birimi tarafından üretilir.
Bilgisayar Mimarisi71
Mikroişlemcinin Çalışması (devamı…)
•Eğer komut ile belirlenen işlem için,bazı işlem verisine
(operand) gerek var ise,bu veriler hafızadan okunur.
•Son olarak komutun yürütülmesi gerçekleştirilir.
•Bir komutun yürütülmesi bittikten sonra, benzeri şekilde; tekrar
komut okuma ve yürütme işlemleri,sonsuz bir çevrim içinde, bir
durma (halt) komutu yürütülünceye kadar yapılır.
Bilgisayar Mimarisi72
Bir Mikroişlemcinin Program Hafızasında Bulunan
Programın Çalıştırılması
Bilgisayar Mimarisi73
Bir Mikroişlemcinin Program Hafızasında Bulunan
Programın Çalıştırılması
1.Program sayacı o anda çalışan komutun adresini üzerine alır.
PC =[0022]
2.Komut kayıtçısı, o anda çalışan komutu üzerinde bulundurur.
Ir = 4F
3.Kontrol ünitesi bu komuta göre uygun elektronik sinyalleri
uygun yere göndererek komutu çalıştırır. 4F için A
akümülatörünü sıfırlayıcı işaret gönderir.
4.Daha sonra PC bir sonraki adrese geçer ve aynı işlemler
tekrarlanır.
Bilgisayar Mimarisi74
Raspberry Pi
Bilgisayar Mimarisi75
Raspberry Pi
Raspberry Pi Birleşik Krallık'ta Raspberry Pi Vakfı tarafından
okullarda bilgisayar bilimini öğretmek amacılığıyla
geliştirilmiş kredi kartı büyüklüğünde tek kartlı bir bilgisayardır.
PardusARM Sürümünün İlk Çalıştığı Modeldir.
Raspberry Pi, ARM1176JZF-S 700 MHz merkezi işlem
birimini içeren Broadcom BCM2835 mikroçipi üzerine kurulmuştur.
Sabit diske sahip değildir. Booting ve veri depolaması için SD
kart kullanır.
Mikroprogramlama76
“ Raspberry Pi‘ ye Genel Bakış “ videomuzu izleyelim.
Bilgisayar Mimarisi77
PIC Mikrodenetleyiciler ve Programlama
Bilgisayar Mimarisi78
MİKRODENETLEYİCİ
•Mikrodenetleyici (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
bilgisayardır.
•Günümüzde üretilen birçok mikro denetleyici, özellik ve
türlerine göre PWM, ADC, USB, USART, SPI gibi ara
birim ve özel amaçlı kaydedicilere de sahiptir.
Bilgisayar Mimarisi79
MİKRODENETLEYİCİ
•PWM(Pulse Width Modulation): Elektronik, sinyal işleme
veya kare dalga üretme işlemini gerçekleştirir.
•ADC(Analog Dijital Converter): Analog sinyalleri dijital
sinyallere dönüştürme işlemini gerçekleştirir.
•USB(Universal Serial Bus): USB dış donanımların bilgisayar
vb. cihazlarla ile bağlantı kurabilmesini sağlayan seri yapılı
bir bağlantı biçimidir.
•USART(Universal Synchronous Asynchronous Receiver
Transmitter): Veri karakterlerini Mikroişlemciden parelel
formatta alır ve sonra iletim için,sürekli bir seri veri dizisine
dönüştürülür.
•SPI(Serial Perihpheral Interface): Seri haberleşmeleri için
geliştirilmiş verimli haberleşme standartlarından biridir.
Bilgisayar Mimarisi80
MİKRODENETLEYİCİ
•Günümüzde entegre üretimi yapan birçok firma (Intel, Atmel,
Michrochip, National Semiconductor, Texas Instruments, vb.)
mikrodenetleyici üretmektedir.
•Mikrodenetleyiciler 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.
Mikrodenetleyici Kullanım Alanları
Mikrodenetleyici uygulama alanlarına
veya mikrodenetleyicilerin kullanıldığı
cihazlara örnek olarak; buzdolabı
evimizde kullandığımız ç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.
,
Bilgisayar Mimarisi81
ISIS
Mikroprogramlama82
 ISIS elektronik devre çizimi gerçekleştirilirken ve
bunun yanında devrenin analizini de yapılabilen
bilgisayar destekli devre tasarım programıdır.
Mikrodenetleyici Seçimi
 Günümüz de 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
Bilgisayar Mimarisi83
Farklı üreticiler tarafından üretilen mikro denetleyicilerin
çekirdekleri/mimarileri de farklı yapıda ve özellikte üretilmektedir.
Mikrodenetleyiciler 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ı,
Bilgisayar Mimarisi84
Mikrodenetleyici Seçimi
Adresleme yöntemleri.
Kesme sayıları ve özellikleri.
Hız / güç / boyut özellikleri,
Çalışma frekansları
Gerekli çevresel birimler (USART,CAPTURE/COMPARE/PWM)
Programlama dilleri çeşitliliği(Basic, C, Pascal, Assembly, vs)
Bilgisayar Mimarisi85
Mikrodenetleyici Seçimi (devamı…)
Bir mikrodenetleyici genel olarak aşağıdaki birimlerden
oluşur:
1. Mikro işlemci
2. Bellek
3. Giriş/Çıkış birimi
Bilgisayar Mimarisi86
Mikrodenetleyici Temel Bileşenleri
Bilgisayar Mimarisi87
Mikrodenetleyici Temel Bileşenleri
Bilgisayar Mimarisi88
Mikrodenetleyici Temel Bileşenleri (devamı…)
Mikro denetleyicili Uygulama devresi bileşenleri
Bir PIC mikro denetleyici ile
uygulama gerçekleştirebilmek
için ;
• Besleme devresi,
• Reset sinyali,
• Osilatör devresi,
Bilgisayar Mimarisi89
• PIC, Microchip firması tarafından üretilen, Harvard mimarisine ve
RISC işlemcisine sahip bir mikro denetleyicidir.
•PIC kelimesi, “Peripheral Interface Controller- Çevresel Arabirim
Denetleyicisi” den türetilmiş olsada farklı kaynaklarda
“Programmable Interface Controller -Programlanabilir Arabirim
Denetleyicisi” veya “Programmable Intelligent Computer -
Programlanabilir Akıllı Bilgisayar” olarak adlandırılmıştır.
•PIC Mikro denetleyicilerinin birçok çeşidi vardır, veri yolu genişliği
baz alınarak PIC mikro denetleyicileri; 8-
bit(PIC10,PIC12,PIC16,PIC18), 16- bit(PIC24) ve 32-bit(PIC32)
olarak sınıflandırabiliriz.
Bilgisayar Mimarisi90
PIC DENETLEYİCİSİNE GENEL BAKIŞ
Bilgisayar Mimarisi91
“ PIC Üzerinde Çalışma “ videomuzu izleyelim.
İlgili video dosyasını izlemek ve indirmek için QR kodu, akıllı telefonlarınızdan taratınız.
Fiyatının ucuz olması;
Mantıksal işlemlerde performansının yüksek olması;
8, 16 ve 32 bitlik çeşitlerinin olması ;
Yüksek frekanslarda çalışabilme özelliği;
Bilgisayar Mimarisi92
PIC Denetleyicisinin Tercih Sebepleri
Uyku modunda (Sleep mode) 1μA gibi küçük bir akım çekmesi;
Yalnızca 2 kondansatör ve bir direnç ile çalışabilme özelliği;
Farklı bir çok dille (Basic, C,Pascal,Assembly)
programlanıp, derlenebilmesi
Harvard ve RISC mimarisine sahip olması; k-) Üretici firmanın başta
simülatör programı MPLAB olmak üzere birçok
kaynağı ücretsiz yayınlaması
6 pinden 80 pine kadar bir çok ürün çeşidinin olması
Bilgisayar Mimarisi93
PIC DENETLEYİCİSİNİN TERCİH SEBEPLERİ
(devamı…)
• RISC mimari ve aynı komut setine sahiptir.
• Digital I/O portları
• Power-on reset (Yenien başlatma-Anlık güç kesmek)
• Power-saving SLEEP mode (Uyku modu)
• Harici saat arabirimi
• RAM veri belleği
• EPROM veya Flash program belleği
Bilgisayar Mimarisi94
C MİKRODENETLEYİCİLER AŞAĞIDAKİ
ÖZELLİKLERE SAHİPTİR
Yüzlerce PIC Modelinden Hangisini
Seçeceksiniz?
 Giriş / Çıkış port sayısı
 Çevresel arabirim desteği (USART, USB, vb)
 Program belleği kapasitesi
 RAM kapasitesi
 Çalışma hızı
 Fiziksel boyutu
 Maliyeti
Bilgisayar Mimarisi95
PIC MCU Donanımsal Yapısı
96 Bilgisayar Mimarisi
Bilgisayar Mimarisi97
Programlama Nedir Ve Türleri Nelerdir ?
Dallanma Yapıları Ve Çeşitleri
Kesmeler Ve Çeşitleri
Mikroişlemcilerin Programlanması
PIC Programlama
Bugün Neler Konuştuk…
Bilgisayar Mimarisi98
Akcayol, A. M. Bilgisayar mimarisi.
http://w3.gazi.edu.tr/~akcayol/files/CAL2Function.pdf
Microislemciler. (2015 19 Mart) InWikipedia, Özgür Ansiklopedi.
https://tr.wikipedia.org/wiki/microislemciler
http://www.mikroe.com
http://www.microchip.com
Kaynakça
MİKROPROGRAMLANMIŞ KONTROL
Muhammet ÖZER
ozermuhammet0@gmail.com
BİLGİSAYAR MİMARİSİ DERSİ
Cevriye HAYIRLI
cevriyehayirli@gmail.com
Ayhan DEMİRCİ
ayhandemirci.61@gmail.com
Aykut GÜNDOĞDU
aykut.gundogdu@yandex.com

More Related Content

Similar to Mikroprogramlanmis kontrol

Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYusuf AYTİN
 
C dilini-taniyalim
C dilini-taniyalimC dilini-taniyalim
C dilini-taniyalimAliBaran6
 
Mühendislik problemlerinin bilgisayar ortamında sayısal analiz yöntemleriyle...
Mühendislik problemlerinin  bilgisayar ortamında sayısal analiz yöntemleriyle...Mühendislik problemlerinin  bilgisayar ortamında sayısal analiz yöntemleriyle...
Mühendislik problemlerinin bilgisayar ortamında sayısal analiz yöntemleriyle...Abdurrahman Tunç
 
Az ve Öz C++ Muhammet ÇAĞATAY
Az ve Öz C++  Muhammet ÇAĞATAYAz ve Öz C++  Muhammet ÇAĞATAY
Az ve Öz C++ Muhammet ÇAĞATAYMuhammet ÇAĞATAY
 
C# Programlamaya Giriş E-Eğitimi
C# Programlamaya Giriş E-EğitimiC# Programlamaya Giriş E-Eğitimi
C# Programlamaya Giriş E-EğitimiUniverist
 
Nesne tabanlı programlamaya giriş
Nesne tabanlı programlamaya girişNesne tabanlı programlamaya giriş
Nesne tabanlı programlamaya girişErol Dizdar
 
Programlama Temelleri
Programlama TemelleriProgramlama Temelleri
Programlama TemelleriTurk Turka
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuAhmet S.
 
Programlama Dilleri Tanıtım
Programlama Dilleri TanıtımProgramlama Dilleri Tanıtım
Programlama Dilleri TanıtımAtilla Özgür
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama girişkarmuhtam
 
Kodlamaya hazırlık
Kodlamaya hazırlıkKodlamaya hazırlık
Kodlamaya hazırlıkErol Dizdar
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
 
Algoritma - akış diyagramları - sözde kod
Algoritma - akış diyagramları - sözde kodAlgoritma - akış diyagramları - sözde kod
Algoritma - akış diyagramları - sözde kodMetehanUar1
 

Similar to Mikroprogramlanmis kontrol (20)

Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
 
C dilini-taniyalim
C dilini-taniyalimC dilini-taniyalim
C dilini-taniyalim
 
C dilini-taniyalim
C dilini-taniyalimC dilini-taniyalim
C dilini-taniyalim
 
Mühendislik problemlerinin bilgisayar ortamında sayısal analiz yöntemleriyle...
Mühendislik problemlerinin  bilgisayar ortamında sayısal analiz yöntemleriyle...Mühendislik problemlerinin  bilgisayar ortamında sayısal analiz yöntemleriyle...
Mühendislik problemlerinin bilgisayar ortamında sayısal analiz yöntemleriyle...
 
Haydi Rails Yazalım
Haydi Rails YazalımHaydi Rails Yazalım
Haydi Rails Yazalım
 
Az ve Öz C++ Muhammet ÇAĞATAY
Az ve Öz C++  Muhammet ÇAĞATAYAz ve Öz C++  Muhammet ÇAĞATAY
Az ve Öz C++ Muhammet ÇAĞATAY
 
C# Programlamaya Giriş E-Eğitimi
C# Programlamaya Giriş E-EğitimiC# Programlamaya Giriş E-Eğitimi
C# Programlamaya Giriş E-Eğitimi
 
Nesne tabanlı programlamaya giriş
Nesne tabanlı programlamaya girişNesne tabanlı programlamaya giriş
Nesne tabanlı programlamaya giriş
 
Programlama Temelleri
Programlama TemelleriProgramlama Temelleri
Programlama Temelleri
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
 
C Sharp ve .NET
C Sharp ve .NETC Sharp ve .NET
C Sharp ve .NET
 
C Sharp ve .NET
C Sharp ve .NETC Sharp ve .NET
C Sharp ve .NET
 
bi̇li̇şi̇m hukuku
bi̇li̇şi̇m hukukubi̇li̇şi̇m hukuku
bi̇li̇şi̇m hukuku
 
Programlama Dilleri Tanıtım
Programlama Dilleri TanıtımProgramlama Dilleri Tanıtım
Programlama Dilleri Tanıtım
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama giriş
 
Win7
Win7Win7
Win7
 
Kodlamaya hazırlık
Kodlamaya hazırlıkKodlamaya hazırlık
Kodlamaya hazırlık
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
 
Algoritma - akış diyagramları - sözde kod
Algoritma - akış diyagramları - sözde kodAlgoritma - akış diyagramları - sözde kod
Algoritma - akış diyagramları - sözde kod
 
C-Sharp.pdf
C-Sharp.pdfC-Sharp.pdf
C-Sharp.pdf
 

Mikroprogramlanmis kontrol

  • 1. MİKROPROGRAMLANMIŞ KONTROL Muhammet ÖZER ozermuhammet0@gmail.com BİLGİSAYAR MİMARİSİ DERSİ Cevriye HAYIRLI cevriyehayirli@gmail.com Ayhan DEMİRCİ ayhandemirci.61@gmail.com Aykut GÜNDOĞDU aykut.gundogdu@yandex.com
  • 2. Geçen Derste Ne İşledik ? Bilgisayar Mimarisi2  MİKROİŞLEMCİLERE GENEL BAKIŞ  MİKROİŞLEMCİYİ OLUŞTURAN BİRİMLER VE GÖREVLERİ  MİKRO İŞLEMLER VE KONTROL BİRİMİ
  • 3. Bilgisayar Mimarisi3 Programlama Nedir Ve Türleri Nelerdir ? Dallanma Yapıları Ve Çeşitleri Kesmeler Ve Çeşitleri Mikroişlemcilerin Programlanması PIC Programlama Bugün Konuşacaklarımız…
  • 4.  Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur.  Bir programcı komutları yazmak için farklı programlama dilleri kullanabilir.  Programlama dilleri, programcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.  Şu ana kadar 2500'den fazla programlama dili yapılmıştır. Bilgisayar Mimarisi4 PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ
  • 5. Bilgisayar Mimarisi5  Donanım ve yazılımın bir veya daha fazla yapılandırması o programı çalıştırmak için bir tür yol sağlar.  Programlama dili uygulamasında iki yaklaşım vardır: Derleme ve yorumlama.  Herhangi bir tekniği kullanarak bir programlama dili uygulamak mümkündür. PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
  • 6. PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…) Bilgisayar Mimarisi6  Genellikle donanım üzerinde çalışanlar yazılım üzerinde yorumlananlardan daha hızlıdır.  Yorumlanan programların performansını geliştirmek için anında derleme programları kullanılır.  Derleyiciden gelen çıktı ya donanım tarafından ya da yorumlayıcı diye adlandırılan programlar tarafından çalıştırılır.
  • 7.  Programlama dilleri insanların algılamasına yakın olmasına göre üç gruba ayrılır.  Alt seviye programlama dilleri: Makine koduna oldukça yakın programlama dilleridir.Makina hakimiyeti oldukca gelişmiştir.Bu programlama dillerini bilen kişilerin mikro işlemciler hakkında bilgi sahibi olması gereklidir.(Assembly programlama dili gibi) Bilgisayar Mimarisi7 PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
  • 8.  Orta seviye programlama dilleri: Oldukça esnek olan bu diller hem üst hem alt seviye programlama yapabilirler. Alt seviye dillere oranla biraz daha anlaşılırdır. (C programlama dili gibi.)  Üst seviye programlama dilleri: Olay tabanlı programlama dilleri olarak da adlandırılırlar yalnız bu programlama dilleri sadece belirli fonksiyonlar etrafında çalışırlar ve programlama hakimiyetini azaltırlar. Bilgisayar Mimarisi8 PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
  • 9.  Yüksek seviyeli programlama dillerinde yazılan programın çalışabilmesi için makine diline çevrilmesi gerekir.  Bunun için program hangi yüksek seviyeli dil ile yazıldıysa o dilin derleyicisi kullanılır. Bilgisayar Mimarisi9 PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
  • 10.  Böylece yüksek seviyeli programlama dili ile yazılmış olan kaynak program, makine dilindeki amaç programa dönüştürülür.  Kaynak programın içeriğinin değiştirilmesi mümkündür, ancak derlenmiş olan amaç programın içeriğine müdahale etme imkanı yoktur. Bilgisayar Mimarisi10 PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ (devamı…)
  • 11. Bilgisayar Mimarisi11 Assembly Programlama Dili  Assembly dili alt seviye bir programlama dilidir ve karmaşık programlar yazmak için kullanılır.  Assembly insanlar tarafından anlaşılması zor olan makina dilinin sayısal ifadelerini, daha kolay anlaşılır ve programlanabilir olan alfabetik ifadelerle değiştirip alt seviyede programlama için bir ortam oluşturur.
  • 12. Assembly dilinin özel kullanım alanları Bilgisayar Mimarisi12 1. Bilgisayar sistemini yakından tanımak için, 2. Device driver (cihaz sürücüleri) yazmak için, 3. Chip’lere program yüklemek için (PIC, microcontroller gibi...) 4. İşletim sistemlerinin yapımında (OS), 5. Virüs programları yazmak için, 6. Elektronik tablo’lama (Excel gibi) programlarında.
  • 13. Bilgisayar Mimarisi13 Basic Programlama Dili  Basic (Beginner's All Purpose Symbolic Instruction Code) dili 1964 yılında John Kemeny ve Thomas Eugene Kurtz tarafından geliştirilmiş olup, eğitim amaçlı bir programlama dilidir.  Mikrobilgisayarlar için ilk Basic uygulamasını Microsoft 'un kurucuları olan Paul Allen ve Bill Gates yazmıştır.  Öğrenmesi ve kullanımı kolay bir dil olan Basic dilinin zamanla QBasic, Turbo Basic, Power Basic, BasicA, Visual Basic, Visual Basic.Net gibi türevleri geliştirilmiştir.
  • 14. Bilgisayar Mimarisi14 C Programlama Dili  1970'lerin başında Ken Thompson ve Dennis Ritchie tarafından UNIX İşletim Sistemi için 1972 yılında geliştirilmiş bir C programlama dili, günümüzde neredeyse tüm işletim sistemlerinde kullanılmaktadır. Dünya'nın en çok kullanılan sistem programlama dilidir.
  • 15. Mikroprogramlama15 “ Mikrodenetleyiciler - PIC ile Örnek Uygulama “ videomuzu izleyelim.
  • 16. Bilgisayar Mimarisi16 C++ Programlama Dili  1980'lerin başlarında Bjarne Stroustrup tarafından geliştirilen C 'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir.  Genel olarak her C programı aynı zamanda bir C++ programıdır, ama her C++ programı bir C programı değildir.
  • 17. Bilgisayar Mimarisi17 C++ Programlama Dili (devamı…)  C++'ı C 'den ayıran ve C++'ın nesne yönelimli bir dil olmasına da olanak sağlayan en temel özellik, sınıflardır.  Sınıflar sayesinde yeni veri türleri yaratılabilir ya da varolan türlerden yenileri türetilebilir
  • 18. Bilgisayar Mimarisi18 C# Programlama Dili  C# dili de C++ gibi bir C türevidir. C programlama dilinde bir tamsayı değişkeni 1 attırmak için ++ soneki kullanılır.  C++ dili adını, C diliyle Nesneye Yönelimli Programlama yapabilmek için eklentiler (C With Classes) almıştır.  Benzer şekilde C++ diline yeni eklentiler yapılarak ((C++)++) bir adım daha ileriye götürülmüş ve tamamen nesneye yönelik tasarlanmış C# dilinin isimlendirilmesinde, + karakterlerinin birbirlerine yakınlaşmış hali ve bir melodi anahtarı olan C# Major kullanılmıştır.
  • 19. Bilgisayar Mimarisi19 Visual Basic Programlama Dili  Visual Basic, Microsoft tarafından, Basic programlama dili üzerinde geliştirilmiş, olay yönlendirmeli, üst seviye, nesne tabanlı ve görsel bir programlama dilidir.Microsoft Visual Basic dilinin değişik türevleri oluşturulmuştur:  VBA (Visual Basic for Applications); Microsoft Office gibi, değişik yazılımlar içerisinde çalışabilecek yazılımlar geliştirilmesinde kullanılır.
  • 20. Bilgisayar Mimarisi20 Visual Basic Programlama Dili (devamı…)  VBScript ; Internet Explorer, ASP ve Windows Script Host üstünde Visual Basic betikleri çalıştırılmasında kullanılan türevi.  Visual Basic.NET ; Visual Basic 6.0 Platformunun varisi olmakla birlikte farklı bir yapıdır ve .NET Framework üzerinde çalışır ve geriye doğru, Visual Basic 6.0 ve öncesi sürüm kodlarla uyumsuzdur.
  • 21. Bilgisayar Mimarisi21 Pascal Programlama Dili  Pascal programlama dili, bilgisayar bilimcisi Niklaus Wirth tarafından 1970 'te yapısal programlamayı derleyiciler için çok daha kolay hale getirmek amacıyla geliştirilmiştir.  Bir çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hala yaygın olarak kullanılmaya devam eden önemli programlama dillerinden biridir.  Adını matematikçi ve düşünür Blaise Pascal'dan alan Pascal, Algol programlama dilinden türemiştir.
  • 23. Bilgisayar Mimarisi23 Delphi Programlama Dili  Delphi programlama diline, özellikle nesne yönelimli programlama anlayışıyla yapılandırılmış.  Turbo Pascal dilinin görsel sürümü denilebilir. Nesne, sınıf, kalıtım, fonksiyon, aşırı yükleme gibi temel nesneye yönelim programlama tekniklerini ve daha fazlasını içeren güçlü ve esnek bir programlama dilidir.
  • 24. Bilgisayar Mimarisi24 PIC Basic Pro Programlama Dili  PIC Basic Pro , Micro Engineering Labs firması tarafından PIC mikrodenetleyicileri için geliştirilmiştir.  BASIC programlama dilinin kolay öğrenilebilme özelliğinden dolayı dünyanın en çok kullanılan programlama dillerinden biridir.
  • 25. Mikroprogramlama25 ASSEMBLY DİLİ C DİLİ PASCAL DİLİ # include<stdio.h> main() { Printf(“merhaba C”); } Begin Write(“merhaba pascal”); End. 8 byte 8330 byte 95644 byte Programlama Dilleri Arasında Karşılaştırma
  • 26. Dallanma (Branch) İşlemi Bilgisayar Mimarisi26  JMP (jump) komutu ile belleğin bir bölümünden diğer bir bölümüne program akışı yönlendirilebilir.  Dallanma işlemi direkt olarak yapılabileceği gibi belli bir koşula göre de yapılabilir.
  • 27. Doğrudan Dallanma Bilgisayar Mimarisi27 JMP komutunun 3 farklı kullanım şekli vardır. Bunlar:  Kısa (Short) Dallanma  Yakın (Near) Dallanma  Uzak (Far) Dallanma
  • 29. Örneğimizin Açıklamaları Bilgisayar Mimarisi29 OFFSET : Dallanılacak konumun adresi MOV, JMP : Altprograma Dallan Opcode : Operation Code (İşlem kodu) Operand : +,-,*,/ gibi işlemlerin tümü ADR : Tablodaki dallanma adresleri
  • 30. Bilgisayar Mimarisi30  Dallanma komutu, 16 bit bir saklayıcıyı operand olarak kullanabilir. Bu tür dallanma, dolaylı dallanmadır ve saklayıcının içindeki adres dallanma adresi olarak kullanılır.  Saklayıcının adresi IP’a (instruction process) alınır ve program bu adresten itibaren yürütülür.  Aynı işlem indisli adresleme kullanılarak da gerçekleştirilebilir. Doğrudan Dallanma
  • 31. Koşullu Dallanma Bilgisayar Mimarisi31  Şartlı dallanma komutlarının ilk harfi J ile başlar ve takip eden 1,2 yada 3 harf şartı gösterir.  Genele olarak JXXX şeklinde gösterilebilir.  Duruma bağlı olan dallanmalar; İşaret (Sign-S), Sıfır (Zero-Z), Elde (Carry-C), Eşlik (Parity-P) ve taşma (Overflow-O) bayraklarını test ederler.  Eğer test edilen durum doğru ise, program akışı dallanma komutu ile belirtilen adresten devam eder.  Eğer durum yanlış ise, dallanma gerçekleşmez ve sıradaki komut icra edilir.
  • 32. Bayrakların Durumunu Test Etmek İçin Kullanılan Koşullu Dallanma Komutları Bilgisayar Mimarisi32
  • 33. ÖRNEK: Bilgisayar Mimarisi33  MOV : Klavyeden karakter okur.  CMP : Girilen karakter 0 mı? Karşılaştırır.  JNS : Sıfır olanan kadar döngü devam etsin.  TABLE adresli yerden başlayan bir dallanma tablosu yandaki gibidir.  Her adres 2 Byte’tır.
  • 34. ÖRNEK: Bilgisayar Mimarisi34  CMP işleminin sonucunda negatif bir değer elde edileceği için S bayrağı kurulur (S=1).  Bu durumda dallanma gerçekleşmeyecek ve program bir sonraki komutu yürütecektir.
  • 35. LOOP Komutu Bilgisayar Mimarisi35 Loop komutu CX saklayıcısını azaltma ile duruma bağlı dallanma işlemlerinin birleşimidir. Her seferinde CX saklayıcısı1 azaltılır. CX=0 olduğu durumda döngüden çıkılarak normal akış sırası takip edilir.  MOV SI, OFFSET BLOCK1  MOV DI, OFFSET BLOCK2  MOV CX,100  TEKRAR:  LODSW; Block1’den veri okunmakta (DS:SI’in işaret ettiği yerden)  ADD AX, ES:[DI]; Block2 verisi ile topla  STOSW; ES:[DI] ile belirtilen Block2 bölgesinde sakla.  LOOP TEKRAR
  • 37. Kesmeler (Interrupts) Bilgisayar Mimarisi37 Sistemde meydana gelen kesmeleri 3 farklı kategori altında incelemek mümkündür. Bunlar ;  Donanımsal Kesmeler  İçsel Kesmeler  Yazılım Kesmeleri
  • 38. Donanımsal Kesmeler Bilgisayar Mimarisi38  Yazılım kesmeleri programcı tarafından çağırılırken donanım kesmeleri elektriksel yolla çağırılmaktadır.  Her mikro işlemcinin ve mikro denetleyicinin donanım kesmesi için bir INT ucu vardır.  Bu INT ucu aktiflendiğinde (elektriksel olarak 5v gerilimle uygulanması durumunda) mikro işlemci o anda çalıştırılmakta olan koda ara verir ve başka bir kodu uygulamaya başlar.
  • 39. Donanımsal Kesmeler (devamı…) Bilgisayar Mimarisi39  Yani bu tur kesmelerde kesmenin oluş mekanizması dışsal ve elektriksel olaylara bağlıdır.  Bu yolla donanım kesmesi oluşturulmasına kesme isteği « IRQ (interrupt request)» denir.  Örn: Klavye üzerindeki bir tuşa basılması. Böyle bir durumda CPU, yapmakta olduğu işi bırakıp basılan tuşun değerini değerlendirecektir.Bu tür kesmeler, 8259A olarak isimlendirilen elektronik devre yardımıyla kontrol altında tutulur.
  • 40. Sık Kullanılan Bazı Donanımsal Kesmeler Bilgisayar Mimarisi40
  • 41. İçsel Kesmeler Bilgisayar Mimarisi41  Mikro işlemcinin bir makine kodunu çalıştırırken problemle karşılaştığında kendi kendisini çağırdığı kesmelerdir.  Diğer bir deyişle bazı geçersiz program sonuçlarının elde edilmesi halinde CPU’nun kendisi tarafından oluşturulmaktadır.  Örn:0 ile bölüm şeklindeki bir işlem sonucunda meydana gelen meydana gelen kesme.
  • 42. Yazılımsal Kesmeler Bilgisayar Mimarisi42  Bu tür kesmeler, RAM veya ROM’da bulunan alt rutinlerin çağrılmasıyla oluşturulur.  Programcı tarafından sık sık kullanılırlar.  Yazılım kesmelerinin normal fonksiyon çağırmalarından işlevsel bir farkı yoktur.  Bunlar programcı tarafından yazılan INT makine komutuyla koda dahil edilirler.  Kesme çağırma, uzak CALL komutuna benzer, çünkü geri dönüş adresi (IP/CS) (instruction process /Code Segment) ikilisine sırayla yerleştirilir.
  • 43. Bilgisayar Mimarisi43  Kesme vektörü, mikroişlemci gerçek modda (real mode) çalışırken, hafızanın ilk 1024 byte’lık alanında (00000h- 003FFh) saklı olan 4 byte’lık bir adrestir. Dolayısıyla 256 farklı kesme vektörü bulunur.  Her kesme vektörü, bir kesme hizmet programının adresini oluşturan IP (instruction process) ve CS (Code Segment) adresi içerir. Yazılımsal Kesmeler (devamı…)
  • 44. Bilgisayar Mimarisi44  İlk 32 kesme vektörü(0-31) 8086-80486 ve daha sonraki işlemciler için ayrılmıştır. Geriye kalan kesme vektörleri (32-355) kullanıcı içindir.  Ayrılmış olan vektörlerin bazıları, bölme hatası veya programın yürütümü sırasında oluşan hatalar içindir.  Kod numaraları 32 ile 96 arasında yer alan kesmeler DOS kesmelerdir. Yazılımsal Kesmeler (devamı…)
  • 46. Kesme Komutları Bilgisayar Mimarisi46 3 farklı kesme komutu bulunmaktadır. Bunlar:  INT  INTO  INT3 Bu komutlar gerçek modda vektör tablosundan bir vektör okur ve sonra da bu vektörle adreslenen kesme hizmet programını çağırır. Korumalı modda ise kesme açıklayıcı tablo (Interrrupt Descriptor Table)’dan bir tanımlayıcı okur.
  • 47. INT KOMUTU Bilgisayar Mimarisi47  Programcının kullanımına sunulan 256 farklı kesme komutu bulunmaktadır.  Kesme vektörünün adresi hesaplanırken, kesme tipi numarası 4 ile çarpılır. Örn: 21h x4 = 84h ; Kesme 21’i kullandığımızda belleğin 1024 byte’ın içinden 132. sırada olan (84h) alana gidilecek burada 4 byte’lık adres ile belirtilen adrese gidilip kesme alt programı icra edilecektir.
  • 48. IRET Bilgisayar Mimarisi48 IRET komutu ile aşağıdaki işlemler gerçekleştirilir. • IP , CS , Flag registerinin eski değeri stack üzerinden pop edilir. • Korumalı moddaki karşılığı IRETD’dir.
  • 49. INTO Bilgisayar Mimarisi49 Taşma (Overflow) durumunda oluşan bir kesmedir.  Eğer Overflow=0 ise INTO komutu herhangi bir işleme neden olmaz  Eğer Overflow=1 ise 4 numaralı kesmeyi çağırır. Çalışma mantığı JO (Jump Overlow) komutu ile benzerlik gösterir.
  • 50. Bilgisayar Mimarisi50  Bu komutların kullanım amacı, mikroişlemcinin kesme sinyallerine cevap vermesini veya vermemesini sağlamaktır.  CLI komutu kullanıldığında I=0 olur ve mikroişlemci Maskelenemez kesmeler (Non-maskable Interrupts) olarak isimlendirilen kesmelerin dışındaki hiçbir kesme isteğine cevap vermeyecektir.  STI komutu kullanıldığında I=1 olur ve mikroişlemci tekrar gelen kesme isteklerine cevap verecektir. Temizle Kesme Ve Bayrak Kesme (CLI ve STI)
  • 51.  Mikroişlemci, işlemci (bazen kısaltma olarak µP kullanılır) ana işlem biriminin (CPU) fonksiyonlarını tek bir yarı iletken tüm devrede birleştiren programlanabilir bir sayısal elektronik bileşendir.  Mikroişlemci, ana işlem birimindeki kelime boyutunun (word size) 32 bit ten 4 bit e düşürülmesiyle doğmuştur.  Kelime Boyutu:Örnek vererek açıklayacak olursak; Char değişkeni 2 byte’tır.1 Byte 8 bit olduğundan Char değişkenine 16 bit diyebiliriz.Char değişkeninin 4 bitlere ayrılarak işlenmesidir.Makine dili için söyleyecek olursakda 01010100110 ‘lerin 4 ‘e ayrılarak işlenmesidir. Bilgisayar Mimarisi51 Mikroişlemci Nedir?
  • 52.  Böylece, ana işlem biriminin mantıksal devrelerinin transistörleri tek bir parçaya sığdırılabilmiştir.  Bir veya daha çok mikroişlemci, tipik olarak bir bilgisayar sisteminde, gömülü sistemde ya da bir mobil cihazda ana işlem birimi olarak görev yapmaktadır. Bilgisayar Mimarisi52 Mikroişlemci Nedir? (devamı …)
  • 53.  Mikroişlemci temelde transistörlerden oluşan bir devre elemanıdır.  Bunun dışında temel işlevi 0110101 üzerinde işlem yaparak dijital sonuçlar üretmektedir.  Mikrodenetleyiciler ise mikroişlemciden farklı olarak birçok parçadan oluşan (Ram,seri bağlantı portu vb.) sistemin tümüne verilen isimdir.  Mikrodenetleyici bir sistemin içinde mikroişlemci bulunur. Bilgisayar Mimarisi53 Mikroişlemci ve Mikrodenetleyici Arasındaki Fark
  • 55. Mikroprogramlama55 “ Mikroişlemcileri İç Görüntüsü “ videomuzu izleyelim.
  • 57. Bilgisayar Mimarisi57 Mikroişlemcilerin Tarihsel Gelişimi Mikroişlemcilerin tarihi gelişimlerini bir kerede işleyebildikleri bit sayısı referans alınarak dört grupta incelemek mümkündür.  8 bit Mikroişlemciler  16 bit Mikroişlemciler  32 bit Mikroişlemciler  64 bit Mikroişlemciler
  • 58. Bilgisayar Mimarisi58 8‐Bit Mikroişlemciler  İlk mikroişlemci, Intel firması tarafından 1971 yılında üretilen 4 bitlik 4004 mikroişlemcisidir.  4004, 2300 transistöre, 108 kHz hızına, 0,06 MIPS (Saniyede Milyon Komut - Million of Instruction per Second) gücüne, 4 bit kelime uzunluğuna ve 640 Bayt bellek kapasitesine sahipti.
  • 59. Bilgisayar Mimarisi59 16‐Bit Mikroişlemciler • İlk 16 bitlik mikroişlemci, 1978 yılında Intel firması tarafından NMOS teknolojisi ile üretilen 8086 işlemcisidir. • 8086 mikroişlemcisi, hem dahili hem de harici veri iletiminde 16 bit kullanmaktaydı.
  • 60. Bilgisayar Mimarisi60  İlk 32 bitlik mikroişlemciler 1984 yılında Motorolanın ürettiği 68020 ve 1985 yılında Intel’in ürettiği 80386 mikroişlemcileridir.  80386 işlemcisi veri ve adres bilgilerinin iletimi için 32 hattan oluşan yol kullanıyordu ve haberleşme 32 bit olarak gerçekleştiriliyordu.  Intel tarafından geliştirilen 32-bitlik işlemciler IBM uyumlu PC’lerde, Motorola tarafından geliştirilenler ise iş istasyonlarında kullanıldılar. 32‐Bit Mikroişlemciler
  • 61. Bilgisayar Mimarisi61 64‐Bit Mikroişlemciler  İlk 64 bitlik mikroişlemciler, ‘IA-64’ veya ‘Itanium’ adı ile 1999 yılında gündeme getirildi.  HP ve Intel’in ortak çalışması olarak sunulan ‘Itanium’, sunucu sistemler için geliştirilmesi hedeflendi.
  • 62. Bilgisayar Mimarisi62 Mikroişlemcili Sistemlerde Bulunan Birimler Giriş Birimi (Input Unit)  Klavye (Keyboard)  Disket sürücü (Disk driver)  Optik okuyucu (Optic reader)  Analog – Dijital Çeviriciler (Analog – Digital Convertor - ADC)  Harici bellek (External memory)
  • 63. Bilgisayar Mimarisi63 Mikroişlemcili Sistemlerde Bulunan Birimler Çıkış Birimi (Output Unit) Çıkış birimi, mikroişlemcili sistemde ikili sayı şeklinde işlenen bilgileri kullanıcıların anlayabileceği hale dönüştürmede kullanılan elemanlardır.  Görüntüleme elemanları  Yazıcılar  Işık yayan diyotlar  Ses aygıtları  Dijital – Analog Çeviriciler
  • 64. Bilgisayar Mimarisi64 Mikroişlemcili Sistemlerde Bulunan Birimler  Kontrol Birimi  Kaydediciler  Aritmetik ve Mantık birimi (ALU)  Yardımcı Elemanlar  Yazıcılar
  • 65. Bilgisayar Mimarisi65 Kontrol Birimi • Mikroişlemcinin yaptığı işlemleri kontrol eden ve iletişimi denetleyen birimdir. • Mikroişlemci içinde ve dışında bulunan birimler arasındaki veri iletişimini denetler ve ALU içerisindeki işlemleri kontrol eder.
  • 66. Bilgisayar Mimarisi66 Kontrol Birimi (devamı…) • Mikroişlemci ile çevre birimlerinin eş zamanlı olarak (synchronization) çalışması için gerekli sinyaller kontrol birimi tarafından sağlanır. • Komut okuma (fetch) ve komut işleme (execute) işlemlerini yerine getirir
  • 67. Bilgisayar Mimarisi67 Kaydediciler (Registers) Mikroişlemcide verilerin işlenmesi sırasında, komutların verilerin geçici olarak saklanması için kullanılan devrelerdir. Kullanım amaçlarına göre kaydediciler 4’e ayrılır.  Veri kaydedicileri  Adres kaydedicileri  Kontrol kaydedicileri  Durum kaydedicileri
  • 68. Bilgisayar Mimarisi68 Aritmetik ve Mantık Birimi (Aritmetic Logic Unit, ALU) •Veriler üzerinde aritmetik (toplama, çıkarma, çarpma, bölme), mantıksal (VE, VEYA, DEĞİL vb.) veya karşılaştırma işlemleri yapan devrelerdir.
  • 69. Bilgisayar Mimarisi69 Yardımcı Elemanlar •Mikroişlemcinin performansını arttırmak amacıyla kullanılırlar. Örnek olarak;  Matematik işlemci  Paralel işlemci  Ön bellekler
  • 70. Bilgisayar Mimarisi70 Mikroişlemcinin Çalışması •Bir mikroişlemcinin çalışmasında, kontrol birimi tarafından yerine getirilen temel iki işlem vardır. •Komut okuma (fetch) ve komut yürütme (execute). •Komut okuma,mikroişlemcinin hafızadan bir işlem kodu (operation code-opcode) alıp komut saklayıcısına (Instruction Register –IR) getirme işlemine denir. •Komut saklayıcısına gelen komut ile hangi işlemin yapılacağı komut kod çözücüsü tarafından belirlenir. •Gereken sinyalleme kontrol birimi tarafından üretilir.
  • 71. Bilgisayar Mimarisi71 Mikroişlemcinin Çalışması (devamı…) •Eğer komut ile belirlenen işlem için,bazı işlem verisine (operand) gerek var ise,bu veriler hafızadan okunur. •Son olarak komutun yürütülmesi gerçekleştirilir. •Bir komutun yürütülmesi bittikten sonra, benzeri şekilde; tekrar komut okuma ve yürütme işlemleri,sonsuz bir çevrim içinde, bir durma (halt) komutu yürütülünceye kadar yapılır.
  • 72. Bilgisayar Mimarisi72 Bir Mikroişlemcinin Program Hafızasında Bulunan Programın Çalıştırılması
  • 73. Bilgisayar Mimarisi73 Bir Mikroişlemcinin Program Hafızasında Bulunan Programın Çalıştırılması 1.Program sayacı o anda çalışan komutun adresini üzerine alır. PC =[0022] 2.Komut kayıtçısı, o anda çalışan komutu üzerinde bulundurur. Ir = 4F 3.Kontrol ünitesi bu komuta göre uygun elektronik sinyalleri uygun yere göndererek komutu çalıştırır. 4F için A akümülatörünü sıfırlayıcı işaret gönderir. 4.Daha sonra PC bir sonraki adrese geçer ve aynı işlemler tekrarlanır.
  • 75. Bilgisayar Mimarisi75 Raspberry Pi Raspberry Pi Birleşik Krallık'ta Raspberry Pi Vakfı tarafından okullarda bilgisayar bilimini öğretmek amacılığıyla geliştirilmiş kredi kartı büyüklüğünde tek kartlı bir bilgisayardır. PardusARM Sürümünün İlk Çalıştığı Modeldir. Raspberry Pi, ARM1176JZF-S 700 MHz merkezi işlem birimini içeren Broadcom BCM2835 mikroçipi üzerine kurulmuştur. Sabit diske sahip değildir. Booting ve veri depolaması için SD kart kullanır.
  • 76. Mikroprogramlama76 “ Raspberry Pi‘ ye Genel Bakış “ videomuzu izleyelim.
  • 78. Bilgisayar Mimarisi78 MİKRODENETLEYİCİ •Mikrodenetleyici (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 bilgisayardır. •Günümüzde üretilen birçok mikro denetleyici, özellik ve türlerine göre PWM, ADC, USB, USART, SPI gibi ara birim ve özel amaçlı kaydedicilere de sahiptir.
  • 79. Bilgisayar Mimarisi79 MİKRODENETLEYİCİ •PWM(Pulse Width Modulation): Elektronik, sinyal işleme veya kare dalga üretme işlemini gerçekleştirir. •ADC(Analog Dijital Converter): Analog sinyalleri dijital sinyallere dönüştürme işlemini gerçekleştirir. •USB(Universal Serial Bus): USB dış donanımların bilgisayar vb. cihazlarla ile bağlantı kurabilmesini sağlayan seri yapılı bir bağlantı biçimidir. •USART(Universal Synchronous Asynchronous Receiver Transmitter): Veri karakterlerini Mikroişlemciden parelel formatta alır ve sonra iletim için,sürekli bir seri veri dizisine dönüştürülür. •SPI(Serial Perihpheral Interface): Seri haberleşmeleri için geliştirilmiş verimli haberleşme standartlarından biridir.
  • 80. Bilgisayar Mimarisi80 MİKRODENETLEYİCİ •Günümüzde entegre üretimi yapan birçok firma (Intel, Atmel, Michrochip, National Semiconductor, Texas Instruments, vb.) mikrodenetleyici üretmektedir. •Mikrodenetleyiciler 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.
  • 81. Mikrodenetleyici Kullanım Alanları Mikrodenetleyici uygulama alanlarına veya mikrodenetleyicilerin kullanıldığı cihazlara örnek olarak; buzdolabı evimizde kullandığımız ç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. , Bilgisayar Mimarisi81
  • 82. ISIS Mikroprogramlama82  ISIS elektronik devre çizimi gerçekleştirilirken ve bunun yanında devrenin analizini de yapılabilen bilgisayar destekli devre tasarım programıdır.
  • 83. Mikrodenetleyici Seçimi  Günümüz de 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 Bilgisayar Mimarisi83
  • 84. Farklı üreticiler tarafından üretilen mikro denetleyicilerin çekirdekleri/mimarileri de farklı yapıda ve özellikte üretilmektedir. Mikrodenetleyiciler 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ı, Bilgisayar Mimarisi84 Mikrodenetleyici Seçimi
  • 85. Adresleme yöntemleri. Kesme sayıları ve özellikleri. Hız / güç / boyut özellikleri, Çalışma frekansları Gerekli çevresel birimler (USART,CAPTURE/COMPARE/PWM) Programlama dilleri çeşitliliği(Basic, C, Pascal, Assembly, vs) Bilgisayar Mimarisi85 Mikrodenetleyici Seçimi (devamı…)
  • 86. Bir mikrodenetleyici genel olarak aşağıdaki birimlerden oluşur: 1. Mikro işlemci 2. Bellek 3. Giriş/Çıkış birimi Bilgisayar Mimarisi86 Mikrodenetleyici Temel Bileşenleri
  • 88. Bilgisayar Mimarisi88 Mikrodenetleyici Temel Bileşenleri (devamı…)
  • 89. Mikro denetleyicili Uygulama devresi bileşenleri Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ; • Besleme devresi, • Reset sinyali, • Osilatör devresi, Bilgisayar Mimarisi89
  • 90. • PIC, Microchip firması tarafından üretilen, Harvard mimarisine ve RISC işlemcisine sahip bir mikro denetleyicidir. •PIC kelimesi, “Peripheral Interface Controller- Çevresel Arabirim Denetleyicisi” den türetilmiş olsada farklı kaynaklarda “Programmable Interface Controller -Programlanabilir Arabirim Denetleyicisi” veya “Programmable Intelligent Computer - Programlanabilir Akıllı Bilgisayar” olarak adlandırılmıştır. •PIC Mikro denetleyicilerinin birçok çeşidi vardır, veri yolu genişliği baz alınarak PIC mikro denetleyicileri; 8- bit(PIC10,PIC12,PIC16,PIC18), 16- bit(PIC24) ve 32-bit(PIC32) olarak sınıflandırabiliriz. Bilgisayar Mimarisi90 PIC DENETLEYİCİSİNE GENEL BAKIŞ
  • 91. Bilgisayar Mimarisi91 “ PIC Üzerinde Çalışma “ videomuzu izleyelim. İlgili video dosyasını izlemek ve indirmek için QR kodu, akıllı telefonlarınızdan taratınız.
  • 92. Fiyatının ucuz olması; Mantıksal işlemlerde performansının yüksek olması; 8, 16 ve 32 bitlik çeşitlerinin olması ; Yüksek frekanslarda çalışabilme özelliği; Bilgisayar Mimarisi92 PIC Denetleyicisinin Tercih Sebepleri
  • 93. Uyku modunda (Sleep mode) 1μA gibi küçük bir akım çekmesi; Yalnızca 2 kondansatör ve bir direnç ile çalışabilme özelliği; Farklı bir çok dille (Basic, C,Pascal,Assembly) programlanıp, derlenebilmesi Harvard ve RISC mimarisine sahip olması; k-) Üretici firmanın başta simülatör programı MPLAB olmak üzere birçok kaynağı ücretsiz yayınlaması 6 pinden 80 pine kadar bir çok ürün çeşidinin olması Bilgisayar Mimarisi93 PIC DENETLEYİCİSİNİN TERCİH SEBEPLERİ (devamı…)
  • 94. • RISC mimari ve aynı komut setine sahiptir. • Digital I/O portları • Power-on reset (Yenien başlatma-Anlık güç kesmek) • Power-saving SLEEP mode (Uyku modu) • Harici saat arabirimi • RAM veri belleği • EPROM veya Flash program belleği Bilgisayar Mimarisi94 C MİKRODENETLEYİCİLER AŞAĞIDAKİ ÖZELLİKLERE SAHİPTİR
  • 95. Yüzlerce PIC Modelinden Hangisini Seçeceksiniz?  Giriş / Çıkış port sayısı  Çevresel arabirim desteği (USART, USB, vb)  Program belleği kapasitesi  RAM kapasitesi  Çalışma hızı  Fiziksel boyutu  Maliyeti Bilgisayar Mimarisi95
  • 96. PIC MCU Donanımsal Yapısı 96 Bilgisayar Mimarisi
  • 97. Bilgisayar Mimarisi97 Programlama Nedir Ve Türleri Nelerdir ? Dallanma Yapıları Ve Çeşitleri Kesmeler Ve Çeşitleri Mikroişlemcilerin Programlanması PIC Programlama Bugün Neler Konuştuk…
  • 98. Bilgisayar Mimarisi98 Akcayol, A. M. Bilgisayar mimarisi. http://w3.gazi.edu.tr/~akcayol/files/CAL2Function.pdf Microislemciler. (2015 19 Mart) InWikipedia, Özgür Ansiklopedi. https://tr.wikipedia.org/wiki/microislemciler http://www.mikroe.com http://www.microchip.com Kaynakça
  • 99. MİKROPROGRAMLANMIŞ KONTROL Muhammet ÖZER ozermuhammet0@gmail.com BİLGİSAYAR MİMARİSİ DERSİ Cevriye HAYIRLI cevriyehayirli@gmail.com Ayhan DEMİRCİ ayhandemirci.61@gmail.com Aykut GÜNDOĞDU aykut.gundogdu@yandex.com