Professional Documents
Culture Documents
MİKROBİLGİSAYARLAR
MİKROBİLGİSAYARLAR
MİKROBİLGİSAYARLAR
Bilgiyi giriş olarak alan, bunu belli bir kurala göre işleyen ve sonucu çıktı olarak veren sisteme basit
olarak bilgisayar denir. Sistemdeki herhangi bir
fiziksel ve mantıksal parametreler ikilik sayılarla ifade edilmektedir.
Bilgisayar sistemleri iki temel öğeden oluşmaktadır. Bunlar; yazılım ve donanımdır.
Bilgisayarı oluşturan bir sistemdeki temel elemanlar; mikroişlemci(CPU), bellek ve giriş/çıkış (G/Ç)
birimleridir.
Bilgisayarin bilgiyi işlemedeki ana karar vericisi sistemin kalbi sayilan mikroişlemcidir. CPU tarafindan
gerçekleştirilen iki temel işlem vardir. Birincisi, komutlarin yorumlanarak doğru bir sirada
gerçekleşmesini sağlayan kontrol işlevi, diğeri; toplama, çikarma ve benzeri özel matematik ve mantik
işlemlerinin gerçekleştirilmesini sağlayan icra işlevidir.
G/Ç birimi, makine ile kullanıcı (veya programcı) arasında bilginin makine dilinden insanın anlayacağı
dile çevrilmesinde veya tersi işlemde iletişim (aracı) sağlar.
Sistemin öne çıkmayan diğer elemanları iletişim yollandır. Adres yolu, veri yolu ve kontrol yolu olarak
üçe ayrılan iletişim yolu, bilgisayar sistemindeki birimler arasında bilginin taşınmasından
sorumludur.
CISC mimarisi çok kademeli işleme modeline dayanmaktadir. İlk kademe, yüksek düzeyli dilin yazildiği
yerdir. Sonraki kademeyi makina dili oluşturur ki, yüksek düzeyli dilin derlenmesi sonucu bir dizi
komutlar makina diline çevrilir.
Bir sonraki kademede makina diline çevrilen komutlarin kodlari çözülerek, mikroişlemcinin donanim
birimlerini kontrol edebilen en basit işlenebilir kodlara dönüştürülür. En alt kademede ise işlenebilir
kodlari olan donanim araciliğiyla gerekli görevler yerine getirilir.
CISC Mimarisinin Avantajları
• Mikroprogramlama, yürütülmesi kolaydır ve sistemdeki kontrol biriminden daha ucuzdur.
• Yeni komutlar ve mikrokod ROM'a eklemenin kolaylığı tasarımcılara CISC makinalarını geriye doğru
uyumlu yapmalarına izin verir. Yeni bir bilgisayar aynı programları ilk bilgisayarlar gibi çalıştırabilir.
• Verilen görevi yürütmek için daha az komut kullanır.
CISC Mimarisinin Dezavantajları
•İşlemci ailesinin ilk kuşakları genelde her yeni versiyon tarafından kabullenilmiştir; böylece komut
kodu ve yonga donanımı bilgisayarların her kuşağıyla birlikte daha karmaşık hale gelmiştir.
• Mümkün olduğu kadar çok komut, mümkün olan en az zaman kaybıyla belleğe depolanabiliyor ve
kumutlar neredeyse her uzunlukta olabiliyor. Bunun anlamı farklı komutlar farklı miktarda saat
çevrimi tutacaktır.
•Komutlar genellikle bayrak (durum) kodunu komuta bir yan etki olarak kurar. Bu ise ek saykıllar yani
bekleme demektir. Aynı zamanda, sıradaki komutlar işlem yapmadan önce bayrak bitlerinin mevcut
durumunu bilmek durumundadır. Bu da yine ek saykıl demektir.
RISC Mimarisi
RISC mimarisi, CISC mimarili işlemcilerin kötü yanlarını piyasanın tepkisi ve ona bir alternatif olarak,
işlemci mimari tasarımlarında söz sahibi olan IBM, Apple ve Motorola gibi firmalarca sistematik bir
şekilde geliştirilmiştir.
Bellek hızı arttığından ve yüksek seviyeli diller assembly dilinin yerini aldığından, CISC' in başlıca
üstünlükleri geçersizleşmeye başladı.
EPIC Mimarisi
RISC mimarisinin altında yatan iki ana tasarım amacı vardır. Birincisi; derleyicinin kullanmadığı veya
kullanamadığı komutlar ve adresleme modlarından kurtulmak. İkincisi; Öyle bir çekirdek yaratılmalı ki
ileride superölçekli mimariyi oluşturacak iş‐hattını kolaylaştırsın. Komutların aynı anda farklı
birimlerde farklı şekilde çalıştırıldığı ortamlar Süperölçekli mimari olarak adlandırılır.
-RISC mimarisinde kullanılan bu süperölçekli yapının tasarlanmasında iki önemli sorun ortaya
çıkmaktadır. Birincisi; Komut kümesinde bulunan komutlardan hangilerinin paralel
çalıştırılabileceğine karar verilmesi. İkincisi; Paralel çalıştırılabilecek yeterli komutların bulunabilmesi.
Bu problemlerin üstesinden gelmek için Intel, Alpha ve benzer işlemci firmaları yonga alanlarının
büyük bir kısmını harcamaktadırlar. EPIC mimarisi işte bu sorunların üstesinden gelmek için
tasarlanmıştır.
Bilgisayar mimarisinin tasarımı iki yaklaşım üzerinde yoğunlaşmıştır. Bunlar, Von Neuman ve
Harvard mimarileridir.
ilki geliştirilen
bilgisayar beş birimden olunmaktadır.
Bunlar; Aritmetik ve manlık birimi, kontrol birimi, bellek, giriş‐çıkış birimi ve bu birimler arasında
iletişimi sağlayan yollardır.
Von Neuman mimarisinde, veri ve komutlar bellekten tek bir yoldan mikroişlemciye getirilerek
işlenmektedir. Program ve veri aynı bellekte bulunduğundan, komut ve veri gerekli olduğunda aynı
iletişim yolu kullanılmaktadır. Bu durumda, komut için bir algetir saykılı, sonra veri için diğer bir
algetir saykılı gerekmektedir.
Von Neuman mimarisine sahip bir bilgisayar aşağıda sıralı adımları gerçekleştirir:
•Program sayıcısının gösterdiği adresten (bellekten) komutu algetir.
•Program sayıcısının içeriğini bir artır.
•Getirilen komutun kodunu kontrol birimini kullanarak çöz. Kontrol birimi, bilgisayarın geri kalan
birimlerine sinyal göndererek bazı operasyonlar yapmasını sağlar.
•1. adıma geri dönülür.
Von Neuman mimarisinde, veri bellekten alınıp işledikten sonra tekrar belleğe gönderilmesinde çok
zaman harcanır. Bu işlemler bilgisayarı yavaşlattığından, bilgisayar tasarımcılarının tabiriyle bir
darboğaz oluşturmaktadır.
Bundan başka, veri ve komutlar aynı bellek biriminde depolandığından, yanlışlıkla komut diye veri
alanından kod getirilmesi sıkıntılara sebep olmaktadır.
Bellek erişiminde, hızlı belleklerden sayılan ön‐bellek sistemlerinin kullanılmasıyla büyük bant
genişliği ve düşük gecikme elde edilerek Von Neuman mimarisinin darboğazı aşılabilir.
Harvard Mimarisi
Harvard mimarili bilgisayar sistemlerinde, von Neuman mimarisinden farklı olarak veri ve komutlar
ayrı belleklerde tutulmakladır. Buna göre, veri ve komut aktarımında ilelişim yolları da bir birinden
bağımsız yapıdadır.
Komutla birlikte veri aynı saykılda farklı iletişim yolundan ilgili belleklerden alınıp işlemciye
getirilebilir. Getirilen komut işlenip ilgili verisi veri belleğinden alınırken sıradaki komut, komut
belleğinden alınıp gelirilebilir. Bu önden alıp getirme işlemi, dallanma haricinde hızı iki katına
çıkarabilmekledir.
Harvard mimarisi günümüzde daha çok sayısal sinyal işlemcilerinde (DSP) kullanılmaktadır.
Günümüz bilgisayarlarında, bellekle tek yoldan ilelişim ve komutla verinin aynı bellekle bulunması
problemi ön‐bellek sistemleri ile çözülmüştür.
işlem, hızlı önbelleklerin
ve birbirinden ayrı komut ve veri ön‐belleklerin kullanılması bilgisayarın performansını
artırmaktadır.
Ön‐bellek miktarı ne kadar fazla olursa o kadar iyi olmaktadır. fakat çok pahalı olduğundan bir
mahzur oluşturabilmekledir. Ön‐belleğin avantajı İşlemcinin aynı frekansta komut ve veriyi birlikte
okuduğunda ortaya çıkmaktadır.
Bilgisayar teknolojisinin gelişmesinde en önemli etkenlerden birisi, ikili sayı sisteminin ve Boolean
cebirinin geliştirilmesidir.
IBM1948`de ilk bilgisayar ‘SSEL’ geliştirildi.
1950’li yılların sonuna kadar üretilen temel eleman olarak elektron tüplerinin kullanıldığı bilgisayarlar,
‘birinci kuşak bilgisayarlar’ olarak adlandırıldı.
Yarıiletken malzeme 1948, yarıiletken malzemeden yapılantransistör ise 1955 yılında bulundu.
Transistör kullanılarak üretilen bilgisayarlar, ‘ikinci kuşak bilgisayar’ olarak adlandırıldı.
Yeni bir mimari şekli öneren bu modelde, daha önceki bilgisayarlardan farklı olarak ‘veri kanalları’ ve
‘çoklayıcı’ (multiplexer) kullanılıyordu.
Entegre devrelerin geliştirilmesi, ‘üçüncü nesil bilgisayarların’ başlangıcını oluşturdu ve sayısal
bilgisayar kavramı gelişti.
Sayısal bilgisayarın gerçekleştirdiği işlemler dört kısma ayrıldı: Kontrol, İşlem, Saklama ve Taşıma. Dört
farklı işlem iki temel eleman ile gerçekleştirildi: Lojik kapılar ve bellek hücreleri.
Manyetik çekirdekli belleklerin yerini yarı iletken bellek entegreleri aldı ve IBM tarafından inç
formatında ‘floppy disk’ geliştirildi.
1968 yılında, Kaliforniya’da kurulan Intel firması, 1971 yılında ‘bir chip ile bilgisayar’ sloganı ile
bilgisayarın önemli birimlerini bir entegre içerisine yerleştirmeyi başardı. 2300 transistör içeren yeni
eleman, ‘mikroişlemci’ olarak (Intel 4004) adlandırıldı.
1974 yılında taşınabilen ilk taşınabilir bilgisayar IBM firması tarafından tanıtıldı.
Küçük bilgisayarların gelişimi, 1981`de IBM`in kişisel bilgisayar anlamındaki PC`leri piyasaya sürmesi
ile sonuçlandı.
Aynı bölge içerisindeki bilgisayar ağları, ‘Yerel Alan Ağları-LAN’ (Local Area Network) olarak
isimlendirilirken, geniş alana yayılan yani tüm dünyayı saracak kadar geniş olan ağlar, ‘Geniş Alan
Ağları-WAN’ (Wide Area Network) olarak isimlendirildi.
İlk bilgisayarlardan günümüzde üretilen bilgisayara kadar tüm bilgisayarlarda kullanılan ‘Neumann’
mimarisinin, yeni donanımlarla birlikte değiştirilmesi hedefleniyor.
Bilgisayar mimarisinin geliştirilmesinde faydalanması düşünülen iki yeni teknoloji var : Yapay zeka
(artifical inteligance) ve bulanık mantık (fuzzy logic).
Bilgisayarın temel elemanı olan mikroişlemcilerin, ‘süperiletken’ ve ‘GaAs’ gibi malzemeler
kullanılarak yapılması ile, daha hızlı bilgisayarların yapımı kolaylaşacaktır.
Mikroişlemcilerin tarihi bir kerede işleyebildikleri bit sayısı referans alınarak dört grup altında
incelenebilir
_8 bit Mikroişlemciler
_16 bitlik Mikroişlemciler
_32 bit Mikroişlemciler
_64 bit Mikroişlemciler
Bilgisayar pazarında gerçek sıçrama yapan mikroişlemci olan 8088 mikroişlemcisi, ilk PC’lerde (1982
yılında) kullanıldı.
Ön bellek teknolojisinin ilk kez kullanıldığı 386 serisi bilgisayar kişisel bilgisayarlarda uzun yıllar
kullanıldı.
386 uyumlu işlemciler, ‘üçüncü kuşak işlemciler’ olarak isimlendirilir.
Ortaya çıkan yeni isimli ilk Pentium işlemciler, ‘beşinci kuşak işlemciler’ olarak adlandırılır.
_ Günümüzde Intel yeni nesil 64-Bitlik birden fazla çekirdeğe sahip işlemciler üretmektedir.
_Intel core duo
_Intel core2 duo
_Intel i3,i5,i7 …
Mikroişlemci Terminolojisi
_ Geniş Ölçekli Bilgisayar / Süper Bilgisayar
_ Karmaşık problemleri ve hesaplamaları yapmak için tasarlanan, genel
amaçlı, çok kullanıcılı, çok işlemcili bilgisayarlardır.
_ Orta Ölçekli Bilgisayar (Medium - Size Computers)
_ Orta ölçekli işletmelerin muhasebe işlemlerini, küçük fabrikaların üretim
işlemlerini, vb. işlemleri yapabilecek kapasitede üretilen bilgisayarlardır.
_ Mikrobilgisayarlar (Microcomputers)
_ Makine kontrol ve enstrümantasyon alanında kullanılmak üzere tasarlanan,
ancak günümüzde PC’leri de içerisine alan bilgisayarlardır.
_ Çok geniş bir alanda kullanılmasından dolayı 4 farklı grup içerisinde
değerlendirilmektedir.
_Şahsi Bilgisayarlar (PC)
_İş İstasyonları (Workstation)
_Tek – Kartlı Bilgisayarlar (Single-Board)
_Tek – Yonga (Single Chip) Bilgisayarlar.
_ Şahsi Bilgisayarlar (PC): Kişisel kullanımda ihtiyaç duyulacak işlemleri
(yazı yazma, internet kullanma vb.) gerçekleştiribilen bilgisayarlardır.
_ İşistasyonları (Work Station): Karmaşık programları işlemek, aynı anda
birden fazla işlemi gerçekleştirmek, farklı iş taleplerine cevap verebilmek için
tasarlanan güçlü bir işlemciye/işlemcilere sahip bilgisayarlardır.
_ Tek kartlı Bilgisayarlar (Single Board Computers) : Bilgisayar
yapısında Giriş / Çıkış işlemleri yöneten elemanların, bellek entegrelerinin,
yardımcı birimler olarak isimlendirilen elemanların ve işlemcinin basit yapıda
bir kart üzerine yerleştirilmesi ile ortaya çıkan yapıdır.
_ Tek Yonga Bilgisayarlar (Single Chip Computers) : Bilgisayar yapısında
Giriş / Çıkış işlemlerini yönlendiren elemanların, belleklerin ve yardımcı
birimlerin tek bir entegre içerisine yerleştirilmesi ile ortaya çıkan yapıdır.
‘Mikrodenetleyiciler’ tek yonga bilgisayara örnektir.
Mikroişlemci: Bilgisayarda aritmetik / mantık işlemlerinin yapıldığı ve işlemlerin denetlendiği
elektronik elemandır.
Donanım : Giriş birimi aygıtları, mikroişlemci, çıkış birimi elemanları, yardımcı bellek elemanları, v.b,
‘donanım’ olarak adlandırılır.
Yazılım: Bir mikroişlemcili sistemde kullanılan her türlü program genel olarak ‘yazılım’ diye
adlandırılır. Yazılım terimi, sadece programları içermez. Kullanım kılavuzu, devre diyagramları,
derleyiciler, çeviricileri de içine alır.
Program :Bir problemi çözmek veya bir kontrol işlemini gerçekleştirmek amacıyla mantıksal olarak
sıralanmış komut listesi veya işlemler dizisi ‘program’ olarak isimlendirilir.
Kullanılan yeni teknoloji iki ucu keskin bir kılıca benzemektedir. ‘Hyper-pipeline’ teknolojisi ile daha
çok basamaklı kanal işlemesi kullanılması; daha yüksek çalışma hızlarının kullanımını sağlamasına
karşılık, her bir saat frekansında daha az sayıda komut tamamlanmasına neden olmaktadır.
Hızlı İşleme Motoru (Rapid ExecutionEngine) ve Çift Kanal (Dual Channel)
Çift Kanal (Dual Channel) Teknolojisi :
_İşlemci ile ana bellek arasındaki ilişkiyi aynı anda iki bellek yolu oluşturularak sağlanmaktadır.
_Bu özellik iletişim band genişliğinin iki kat artırılması ile sonuçlanmaktadır.
Yeni Pentium işlemcilerle birlikte komutların küçük işlem parçalarına bölünmesi (mikrokod).
Hyper Threading
‘Hyper-threading’ teknolojisi; bir işlemcinin iki işlemci gibi kullanılmasını ve yapılacak işlemlerin iki
ayrı noktaya yığılmasını sağlamaktadır.
‘HT’ uygun işletim sistemi ile birisi gerçek diğeri sanal olmak üzere iki ayrı işlemci gibi davranmaktadır.
Bu işlemciler, sistemin iki katı hızla çalışmasını sağlamasa da yapılacak işlemleri iki işlemcinin önüne
sıralamaktadır.
Performans olarak bazı uygulamalarda % 20-30 artış sağlar.
Çift Çekirdek (Dual Core)
Tek bir entegre içerisinde bulunan iki adet çekirdeki yardımıyla işlerin ikiye bölünebilmesini ve iki
çekirdek tarafından aynı anda işlenmesi sağlayan teknolojidir.
Paralel işleme sonucunda programlar parçalara ayrılıp aynı anda çalıştırıldığından %70’e varan
performans artışı sağlanabilir.
Örneğin; çekirdeklerden birisi ‘office’ uygulaması çalıştırırken ikinci çekirdek bir virüs programını
çalıştırmak amacıyla kullanılabiliyor.
_ Komutlarla ve ikili sayı sisteminde ifade edilen verilerle çalışan elektronik hesaplama
ve veri işleme makineleri, ‘Mikroişlemcili sistem / mikrobilgisayar’ veya ‘Sayısal
Bilgisayar’ olarak adlandırılır. Diğer bir deyişle; mikroişlemci, bellek (RWM ve ROM)
ve giriş / çıkış birimlerinden oluşan adreslenebilir devreler topluluğuna, ‘mikroişlemcili
sistem’ denir (Şekil 1).
_ Sayısal bilgisayarların / mikrobilgisayar en önemli birimlerden birisi olan Merkezi İşlem
Birimi (MİB), ‘mikroişlemci’ olarak adlandırılır. Diğer bir deyişle; mikroişlemcili
sistemlerde aritmetik ve mantık işlemlerinin yapıldığı, yapılan işlemlerin denetlendiği /
yönlendirildiği birim, ‘mikroişlemci’ olarak isimlendirilir.
1. Mikroişlemcili Sistemlerin Organizasyonu ve Sistem Mimarisi
Üç gruba ayrılabilen sistem yolunda bulunan hatlar ile, üç farklı bilgi taşınır: Veriler, kontrol sinyalleri
ve adreslerle ilgili bilgiler. Diğer bir değişle; sistem yolunda bulunan hatlar, kullanım amaçlarına veya
taşıdıkları bilgilere göre gruplandırılırsa üç hat grubu oluşur:
i- Veri iletimi ile ilgili hatlar,
ii- Kontrol sinyalleri ile ilgili hatlar,
iii- Adresleme ile ilgili işlemlerde kullanılan hatlar.
,
,
4. Mikroişlemcili Sistemlerde Kullanılan Sinyaller ve İletildikleri Yollar
_ Mikroişlemcili sistemdeki her bir birimde, üç grup altında toplanabilecek sinyaller kullanılır:
Verilerle ilgili sinyaller, adresleme ile ilgili sinyaller ve kontrol / denetim ile ilgili sinyaller (Şekil 8).
i- İlk aşamada; yüksek seviyeli programlama dilinde yazılan komut makine dili seviyesine
dönüştürülür.
_ ii- İkinci aşamada; birden çok işlemi içeren komutlar yorumlanır ve daha basit işlemlere karşılık
gelen mikro-kodlar şekline dönüştürülür.
_ iii- Üçüncü aşamada; mikro-kodlar çözülerek işlemlerin gerçekleştirilmesi için gerekli emirler
üretilir.
_ iv- Dördüncü aşamada ise; yapılan / gerçekleştirilen işlemlerden elde edilen bilgiler
kaydedicilere, ALU’ya ve diğer ilgili birimlere gönderilir (Şekil 16).
Azaltılmış Komut Seti Mimarisi Kullanan Mikroişlemcili Sistemler –
RISC Mimarisi :
_ RISC işlemlerde işlemcinin performansını artıran önemli bir etken, ‘kanal komut işleme teknigi’
(pipelining) olarak isimlendirilen ve aynı anda birden fazla komutun işlenmesini sağlayan teknolojidir.
Kanal tekniği kullanan işlemcilerde işlem sırası listelenirse;
i- İşlemi tanımlayan komut kodu çözülür,
ii- Üzerinde çalışılacak veri kaydediciden alınırken, aynı anda bir sonraki işlemi tanımlayan komutun
kodu çözülür.
iii- İlk işlenen komutun gerektirdiği işlem ALU’da gerçekleştirilirken, ikinci
işlenen komuta ait veri kaydediciden alınır ve yeni (üçüncü) işlemi tanımlayan komut kodu çözülür.
iv- İlk komutun işlenmesi sonucunda oluşan veri kaydediciye yerleştirilirken, ikinci sıradaki komuta ait
işlem ALU’da gerçekleştirilir, üçüncü sıradaki komutun gerektirdiği veri kaydediciden okunur ve yeni
bir komut kodu (dördüncü) çözülür.
RISC mimarisinin özellikleri aşağıdaki şekilde özetlenebilir:
_ Komutlar mikrokod formatına dönüştürülmeden doğrudan yorumlanarak fazladan işleme
gereksinim duyulmadan komutlarla ilgili işlemlerin sonuçlandırılması.
_ Birden çok komutun paralel olarak farklı birimlerde çalışmasını sağlayan ‘pipelining’ tekniği ile
performansın artırılması.
_ Sabit uzunlukta ve formatta komutlara sahip olması.
_ Çok sayıda genel amaçlı kaydediciye gereksinim duyulması.
_ Basit komut yapısına ve komut setine sahip olması nedeni ile daha küçük yonga alanına ihtiyaç
duyulması.
CISC ve RISC Mimarilerine Sahip Sistemlerin Karşılaştırılması : ilk önemli farkın; hızları olduğu
bulunur
RISC mimari CISC mimariye göre daha hızlı çalışabilir ve aynı işlemleri 2-4 katı performans ile
gerçekleştirebilir.
_ ii- 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.
RISC tekniğinde ise, aynı anda çok sayıda komut işlenmektedir.
iii- CISC ve RISC yapıları arasındaki üçüncü önemli fark; işlemcilerde kullanılan transistör sayısıdır.
CISC işlemcilerde kullanılan transistör sayısı, RISC işlemcilere göre daha fazladır.
iv- İ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 kolay olarak tasarlanabilirler.
2.2. Kaydediciler
_ Mikroişlemcide verilerin işlenmesi sırasında, komutların / verilerin
geçici olarak saklanması için kullanılan devreler, ‘kaydediciler’
olarak isimlendirilir.
‘A’ veya ‘ACC’ (Accumulator) olarak isimlendirilen genel amaçlı
kaydedici kullanılarak işlenebildiği
mikroişlemciler, ‘Akümülatör tabanlı mikroişlemciler’ olarak
adlandırılır.
kaydediciler;
_ i-Veri kaydedicileri,
_ ii- Adres kaydedicileri,
_ iii- Kontrol kaydedicileri,
_ iv- Durum kaydedicileri,
olarak dört gruba ayrılır
i- Veri Kaydedicileri :
_ Üzerinde çalışılan verileri geçici olarak tutmak veya işlenen komutlardan elde edilen sonucu
saklamak amacıyla kullanılan kaydediciler, ‘veri kaydedicileri’ olarak isimlendirilir. Veri
kaydedicilerine örnek olarak, akümülatör, A ve B kaydedicileri verilebilir.
Akümlatörün bir diğer özelliği ise; Aritmetik – mantık biriminde gerçekleştirilen işlemlerde
Akümülatörün temel eleman olarak kullanılması, işleme tutulan değerlerden birisinin akümülatörde
bulunması yanında sonucun akümülatörde saklanmasıdır.
ii- Adres Kaydedicileri :
_ ‘Adres kaydedicileri’, gerçekleştirilen komutların veya işlenen verinin bulunduğu bölgeleri
göstermek amacıyla kullanılırlar.Adres kaydedicisi olarak kullanılan genel amaçlı kaydedicilere örnek
olarak; Parça gösterici kaydedicisini (segment pointers), İndeks kaydedicisini (Index Registers) ve Yığın
göstericisini (stack pointer) verebiliriz.
_ Parça / Segment göstericisi kaydedicileri; Kod parça kaydedicisi (Code Segment Register)
programda bulunan komutların bulunduğu bellek bölgesini belirtmek için kullanılırken; veri parça
kaydedicisi (Data Segment Register), programda kullanılacak verilerin bulunduğu bellek bölgelerini
göstermek için kullanılır.
_ Yığın bölgesi, işlenen programda yürütülen komuttan farklı bir yere dallanılması durumunda geri
dönülecek adresi saklamak veya durum kaydedicisinin içeriğinin değişeceği durumlarda belirli bir
andaki değerleri tutmak amacıyla kullanılır. Yığın göstericisi, yığın bölgesine değer yazılmasına veya
yığın bölgesindeki değerin okunmasına bağlı olarak artan veya azalan bir sayıcı gibi görev yapar.
iii- Kontrol Kaydedicileri :
_ Mikroişlemci işlemlerini kontrol etmek için ayrılan kaydediciler, ‘kontrol kaydedicileri’ olarak
isimlendirilir. kullanılan dört farklı tip kontrol kaydedicisi bulunmaktadır. Program Sayıcı (Program
Counter - PC): İşlenecek komutun _ adresini gösterir.
_ Komut Kaydedici (Instruction Register - IR): En son işlenen komutu içerir.
_ Bellek Adres Kaydedici (Memory Addres Register - MAR): Bellekteki bir bellek
bölgesi adresini içerir.
_ Bellek Tampon Kaydedici (Memory Buffer Register - MBR): Belleğe yazılacak
veya bellekten en son okunan veriyi içerir.
iv- Durum Kaydedicileri :
_ Mikroişlemci, yapılan işlemler sonucunda oluşan durumları belirlemek için, ‘program durum
kelimesi’ (program status word-PSW) veya ‘durum kaydedici’ (status register) olarak isimlendirilen
kaydedici(ler) kullanılır. Durum kaydedicisinde, her bir bit farklı bir durumu belirlemek için kullanılır
ve her bir bit ‘bayrak’ (flag) olarak adlandırılır.
_ İşaret Bayrağı (Sign) : Yapılan aritmetik işlemden elde edilen değerin işaretini gösterir. İşlem sonucu
pozitif ise ‘0’ yapılırken (S=0), işlem sonucu negatif ise ‘1’ yapılır (S=1).
_ Sıfır Bayrağı (Zero) : Aritmetik işlem sonucunda, sonuç ‘0’ ise sıfır bayrağı ‘1’ değerine, sonuç
sıfırdan farklı ise ‘0’ değerine (Z=0) kurulur.
Elde / Borç Bayrağı (Carry) : Toplama işleminde elde veya çıkarma _ işleminde borç varsa, ‘1’
değerine (C=1) kurulur. Genellikle çok kelimeli aritmetik işlemlerde kullanılır.
_ Eşitlik bayrağı (Equal) : Lojik bir karşılaştırma sonucu eşit ise, ‘1’ değerine kurulur.
_ Taşma Bayrağı (Overflow) : Aritmetik taşma işlemini göstermek için kullanılır.
_ Kesme Yetkilendirme Bayrağı (Interrupt Enable) : Kesme işlemini yetkilendirme veya
yetkisizlendirme için kullanılır.
_ Danışman Bayrağı (Supervisor) : Mikroişlemcinin kullanıcı modundamı yoksa
danışman modundamı çalıştığını gösterir.
2.3. Aritmetik ve Mantık Birimi
_ Mikroişlemci tarafından gerçekleştirilecek Aritmetik ve mantık işlemleri, Aritmetik-mantık biriminde
(AMB) gerçekleştirilir.
_ ALU’da gerçekleştirilen işlemler olarak; ikili sistemde toplama ve çıkarma, lojik
‘VE’ ‘VEYA’, ‘DEĞİL’ ve ‘ÖZEL VEYA’ işlemleri ile sağa veya sola kaydırma işlemleri verilebilir. Gelişmiş
işlemcilerin aritmetik-mantık biriminde, çarpma ve bölme işlemleri yapmak mümkündür.
2.4. Mikroişlemci Yardımcı Elemanlarıkullanılır. Mikroişlemci yardımcı elemanları, mikroişlemcilinin
işlemleri gerçekleştirmesine yardımcı olarak, sistemin performansının artmasına ve diğer devreler ile
uyumlu çalışmasına etki eder. Mikroişlemci yardımcı elemanlarına örnek olarak aşağıdaki _ elemanlar
verilebilir
_ i- Matematik işlemci,
_ ii- Paralel işlemci,
_ iii- Ön bellekler.
Gelişmiş mikroişlemcilerde, matematik işlemci, ön bellekler, kaydediciler ve mikroişlemciye daha
fazla bellek adresleme kapasitesi sağlayan sanal bellek yönetim birimi (virtual memory management
unit) mikroişlemcinin içerisine yerleştirilmiş durumdadır.
i- Matematik işlemci (Coprocessor) :
_ ‘Ortak İşlemci’ veya ‘Yuvarlanmış Sayılar İşleme Birimi’ (Floating Point Unit
- FPU) olarak da isimlendirilen matematik işlemci; basamak sayısı fazla olan matematiksel işlemlerde
veya grafik çizim durumlarında sisteme dahil olarak sistemin yavaşlamasına engel olur. Yoğun hesap
işlemlerinin bulunduğu muhasebe programlarının (EXCEL, LOTUS, vb.) veya yoğun çizim ve grafiksel
işlemlerin bulunduğu paket programların (AutoCAD, ORCAD, vb.) kullanıldığı sistemlerde matematik
işlemci kullanılması, sistemin performansını artırarak kullanıcıya daha rahat çalışma imkanı tanır.
i- Paralel İşlemci (Parallel Processor) :
_ Mikroişlemcili sistemin uzun süre aşırı yüklü olarak çalışması, mikroişlemcinin ısınmasına ve
mikroişlemci hızını etkileyerek sistem performansının düşmesine neden olur. Sistemin uzun süre
çalışması durumunda sistem performansının düşmemesi için, kullanılan mikroişlemci ile aynı
özelliklere sahip ikinci bir mikroişlemci sisteme eklenir .Sistemin performansının düştüğü
anlarda otomatik olarak devreye giren ikinci işlemci, ‘paralel işlemci’ olarak isimlendirilir.
_ Açıklanan işlemlerden anlaşılacağı üzere, paralel işlemciler yoğun iş hacminin bulunduğu büyük
sistemlerde ve iş istasyonlarında kullanılır.
İntel’in geliştirdiği ‘Hyper Treading’ teknolojisi ile aynı fiziksel ortamda oluşturulan mimari yapılar
aynı işlem kaynaklarını kullanarak işlemleri paralel olarak gerçekleştirmektedirler. Pentium 4
işlemcilerin ‘çift-çekirdekli’ olarak isimlendirilen yeni modellerinde ise, iki işlemci aynı fiziksel paketin
içerisine yerleştirilmekte ve çok büyük bir performans artışı sağlanmaktadır.
iii- Ön Bellekler (Cache Memory) :
_ Mikroişlemcili sistemlerde üzerinde çalıştığı verinin geçici olarak bir yerde saklanması gerektiği
durumlarda, veri sistemin belleğine konulur. Verinin kısa süre içerisinde tekrar kullanılması
gerektiğinde, bellekteki veri alınarak üzerinde çalışılır. Kısa zaman aralıkları ile verinin belleğe
konulması ve tekrar alınması gerektiği durumlarda, belleğe erişim zamanı nedeni ile sistem hızı azalır
ve sistem performansı düşer.
_ Bellek işlemleri nedeniyle sistem performansının düşmesine engel olmak için anakart üzerinde
mikroişlemcinin hemen yanına veya mikroişlemcinin içerisine yerleştirilen ve işlevi, üzerinde çalışılan
verileri kısa süreli saklamak olan bellek, ‘ön bellek’ veya ‘saklı bellek’ (cache memory) olarak
İsimlendirilmektedir
Verinin sistem belleğine yazılması veya sistem belleğinden okunması için harcanan
zaman, mikroişlemci içerisindeki ön belleklerin kullanılması ile çok kısalmaktadır.
Önbelleklerin sağladığı avantajlar yanında mikroişlemciye getirdiği
sakıncalar; daha fazla transistorün / FET’in işlemciye yerleştirilmesi zorluğu, daha fazla
enerji tüketimi, daha fazla ısı, vb. şeklinde sıralanabilir. Bellekler yapı olarak iki farklı yapıya sahiptir:
Dinamik bellekler ve Statik bellekler.
_ Dinamik bellekler, bilgi yazılması (kondansatörün dolması) ve bilgi okunması
(kondansatörün boşalması) uzun zaman alması nedeni ile mikroişlemcili sistemlerde
yavaş kalmaktadırlar. statik belleklerde FET’lerden meydana gelen Flip-Flop’lar temel olarak kullanılır.
Okuma
ve yazma işlemlerinin çok hızlı olarak gerçekleştirildiği statik belleklerin en önemli
sakıncası pahalı olmasıdır.
3. Mikroişlemcili Sistem Yapıları Ve Mikroişlemci Birimleri
Mikroişlemcili bir sistem (örneğin bilgisayar); mikroişlemci,
bellek ve G/Ç birimi ile bu birimleri birbirine bağlayan yollardan oluşur.Tek
yongalı mikroişlemcili sistemler, ‘mikrodenetleyici’ olarak tanımlanmaktadır. En yaygın kullanılan
ikimodelinin PIC ve 8051 olduğu mikrodenetleyiciler
i-Kaydediciler:
_ Bellekler ile aynı yapıda olmalarına karşılık mikroişlemci içerisinde olmaları nedeni ile belleklere
göre daha hızlı olarak erişilebilen ve flip/flop’lardan oluşan kaydediciler, genel amaçlı ve özel amaçlı
kaydediciler olarak iki alt gruba ayrılabilir. Yaygın olarak verinin işlenmesi sırasında kullanılan genel
amaçlı kaydediciler A, B, C, X vb. isimlerle anılırlar. Bu kaydedicilerden bir kısmına programcılar
tarafından erişilebilirken ve içeriği değiştirilebilirken, bir kısmına erişilemez ve içleri değiştirilemeden
yalnızca içerisindeki bilgiler okunabilir.
_ Basit bir mikroişlemci yapısında aşağıdaki kaydediciler bulunur:
_ A, B ve C Kaydedicileri : Flip-Flop’lardan oluşan ve mikroişlemci çeşidine bağlı olarak
sayısı ve kapasitesi / boyutu değişen devrelerdir.
_ Program Sayıcı : Sıfıra kurulma yeteneğine sahip, programların çalışması sırasında
her bellek bölgesindeki bilginin okunması ile içeriği artan sayıcıya sahip devredir.
Durum Kaydedicisi : ALU içerisinde gerçekleştirilen işlemlerin sonucuna göre oluşan değerleri
saklamak amacı ile kullanılan kaydedicidir ‘bayrak kaydedici’ olarak da isimlendirilir.
Komut Kaydedicisi : İşlenen komutun el altında tutulmasını ve incelenmesini amacı ile kullanılan
devredir.
İndis Kaydedicisi: Belleklerde sıralı olarak bulunan dizileri / verileri işlemek, program _ döngülerinde
ve hesaplamalarda ara değerleri geçici olarak saklamak amacıyla kullanılan kaydedicidir.
_ Bellek / Adres Kaydedicileri: Adres bilgilerini tutmak amacı ile kullanılan ve diğer kaydediciler ile
aynı özelliğe sahip devredir. ‘veri adres kaydedicisi’ ve ‘komut adres kaydedicisi’
isimlerini alırlar. _ Veri Kaydedicisi: Üzerinde işlem yapılan verinin el altında tutulmasını ve
işlenmesini sağlamak amacıyla kullanılan kaydedicidir.
ii- Aritmetik Mantık Birimi (ALU):
_ Aritmetik ve mantık işlemlerinin gerçekleştirildiği birimdir.
_ Gerçekleştirilen aritmetik ve mantık işlemleri, akümülatör ve kaydedicilerden
birisinin içerisinde veya bir bellek bölgesinde bulunan bir değer üzerinde
gerçekleştirilir.
_ Aritmetik mantık işlemlerinde ALU birimi ile birlikte akümülatör, veri kaydedicisi,
durum kaydedicisi ve bellek birimleri kullanılır.
iii- Kontrol / Denetim Birimi:
Mikroişlemcide bulunan hatlar; veri, adres ve kontrol yolu olarak üç grup altında toplanabilir.
_ Adres Yolu : Belleğe adres göndermek amacı ile kullanılan hatlar, mikroişlemcinin özelliğine
göre 16 ile 40 bit arasında bit genişliğine / hat sayısına sahip olabilir.
_ Veri Yolu : Belleğe veri göndermek veya bellekten veri almak amacı ile kullanılan hatlardan
oluşan veri yolu 8, 16, 32, 64 bit genişliğinde olabilir.
_ Kontrol Yolu : Her biri farklı amaç için kullanılan çok sayıdaki hattı içerir.
Okuma ve Yazma Hattı (Hatları) : Bellekte okuma veya yazma işlemini
gerçekleştirmek için gerekli bilgileri iletmek amacıyla kullanılan hatlardır.
_ Saat Sinyali Hattı : Mikroişlemciye saat sinyalini uygulamak için kullanılan
hattır.
_ Sıfırlama (Reset) Hattı : Program sayıcının belirtilen bir değere kurulmasını
veya PC’nin sıfırlanarak yapılan işleme yeniden başlanılmasını sağlayan sinyali
taşımak için kullanılan hattır.
-
------------------------------------------------6.pdf -------------------------------------------------------------------------------
_ Mikroislemcili sistemlerde, mikroislemcinin yapacağı
islemleri belirten kelimeler / komutlar topluluğu
‘program’ olarak isimlendirilir.
_ Programı olusturan ve mikroislemcili sisteme ne yapması
gerektiğini soyleyen harf veya rakam dizini ‘komut’ olarak
tanımlanır
_ Bir mikroislemci tarafından tanınabilen komutların tamamı
ise ‘komut kumesi’ veya ‘komut seti’ olarak tanımlanır.
Komutların Sınıflandırılması
_ Komutları iki farklı bakıs acısına gore gruplandırılabilir.
1. Programlama dili seviyesine gore komut turleri.
_Dusuk seviyeli / Alt duzey programlama dilleri
_Yuksek seviyeli / Ust duzey programlama dilleri
2. Yapılan isleme gore komut turleri.
_Veri transferi / aktarımı islemleri
_Aritmetik islemler
_Mantık islemleri
_Program akısı kontrol islemleri
_Mikroislemci kontrol islemleri.
Bir mikroislemci için yazılan ikili formattaki bilgileri, farklı bir mikroislemci tarafından anlaşılacak
formata dönüstüren programlar ‘cross-assembler’ olarak tanımlanır