mikrobilgisayar sistemleri ve assembler

advertisement
MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER
Bilgisayarların Tarihi Gelişimi
Basit bir hayale dalın, bir kişinin istediği bilgiye anında Internet
denilen dünya bilgisayarlar arası bağlantı ile erişebildiğini,
günlerce sürecek hesaplamaların sonucunu bir tuşa dokunmakla
birkaç saniye içerisinde alabildiğini, bir hastanın tüm iç
yapısının taranarak ne gibi hastalıkları olduğunu anında
öğrenilebildiğini ve bu sonuçlara göre tanının konulabildiğini,
milyonlarca metre uzaktaki uzay araçlarının kontrol
edilebildiğini ve yönlendirilebildiğini, binlerce kişinin yatırım
Şekil 1 Abaküs
bilgilerinin tutulduğu banka hesaplarının birkaç tuşa
dokunularak ne durumda olduğunun gözlenebildiğini, taşıtların ve elektronik aletlerin insan
eli değmeden robotlar vasıtasıyla üretilebildiğini, işin ve okulun yerinden kalkmadan evden
yürütülebildiğini düşünün.
İnsanoğlu beyin ve kas kuvvetini kullanarak sürekli yaptığı ve sonuçlanması uzun zaman alan
işleri kolaylaştırmak ve hızlandırmak için tarihi süreç içerisinde bazı araçlar geliştirmiştir.
Bunlardan belli başlıları hesaplamalarda kullanılan abaküs ve sürgülü hesap cetvelidir.
Büyüklük ve karmaşıklık yönünden insanlar tarafından elle yapılan hesaplamalarda iki ciddi
sınırlama ortaya çıkmaktaydı:
1. ) Belli bir hıza sahip olan insan beyni ile yapılan çalışmalar sınırlıdır. Basit toplama veya
çarpma gibi birkaç işlemlik hesaplamalar insan tarafından kısa zamanda yapılabilmektedir.
Fakat daha büyük ve karmaşık üssel ifadelerin yer aldığı hesaplamalar elle yapılması
durumunda, çok zaman alabilecek ve doğru sonucun alınması zorlaşacaktır.
2. )İnsan beyni karmaşık hesaplamalarda hata yapmaya meyillidir.
1642 yılında Blaise PASCAL, adına Pascaline
denilen,toplama ve çıkarma yapabilen otomatik
masaüstü alet geliştirmiştir.Aslında üst üste toplamanın
bir çarpma ,üst üste çıkarmanın da bir bölme işlemi
olmasına rağmen bu mekanik hesaplayıcı çarpma ve
bölme işlemlerinde zayıflık göstermekteydi.
1671 yılında Gottfried Leibnitz adlı alman filozof
pascaline makinesindeki bu zayıflığı gideren bir sistem
Şekil 2 Pascaline Makinası
geliştirmiştir. Hesaplamalarda doğru sonuçlar almaya
yatkın ve adına Differens Machine denilen aleti ingiliz matematikçi Charles Babbage
gerçekleştirmiştir.
Daha sonra bu aleti geliştirerek, aritmetik problemlerin çözülmesi için tasarlanan ve adına
Analytical Engine denilen tek-görevli genel amaçlı bilgisayarı ortaya çıkarmıştır. Bu cihazın
temeli aslında günümüz sayısal bilgisayarlarının da özünü oluşturan, verinin belli kurallar
dahilinde işlenmesinin gerçekleştirildiği işlemci birimi ve bu kuralların tutulduğu yer (bellek)
depo veya giriş birimi ve hesap sonuçlarının yerleştirildiği çıkış birimidir (yazıcı).
1840 yılında Lady Ada Lovelance adlı matematikçi Babbage' in yarım kalan makinesini
program yönünden geliştirmiş ve ilk program tasarımcısı (programcı) unvanını almıştır.
1890 yılında Herman Hollerith adlı makine mühendisi ve istatistikçi bilgilerin elle mekanik
makinelere girilmesinin uzun zaman alması gibi sorunların ortadan kaldırmak için nüfus
bilgilerinin delikli kartlarla makineye girilmesi fikrini geliştirmiştir. Daha sonra delikli
kartlarda bilginin giriş-çıktı formatını daha düzgün hale getirerek verinin hızlı bir şekilde
işlenmesini sağlamıştır. Bu makineyi geliştirdiği firma şu anda dünyadaki en büyük bilgisayar
şirketlerinden birisi olan IBM 'in temellerini oluşturmuştur.
Aynı zamanda alman Konrad Zuse adlı ilim adamı, ilk role tabanlı bilgisayarı tasarlamış ve
gerçekleştirmiştir.
1937 yılında Howard H. Aiken Mark-1 adlı makineyi geliştirmiştir. Mark-1 tamamı elektronik
elemanlardan oluşmayan genel amaçlı bir makineydi, bunun yerine 1943 'de yapımına
başlanan ve 1946'da bitirilen tamamı elektronik aksamlardan meydana gelen kısaca adına
ENIAC denilen bir bilgisayar geliştirilmiştir.Bilgisayarda bulunan 19 bin lamba yaklaşık 150
KW güç tüketmekleydi.
ENIAC bilgisayarında yetersiz miktardaki bilginin tutulabilmesi, verilerinin sürekli
değiştirilerek tekrar tekrar makineye girilmesini zorunlu hale getirmiştir.
Daha sonraları Macar John von Neuman isimli matematikçi bu soruna bir çare olarak verinin
makinenin içerisinde saklanmasını göstermiştir. Bu yol, komutların sayısal değerler olarak
makinenin içerisinde depolanmasıdır.
İlk program depolamalı bilgisayar 1949'da EDSAC adıyla Cambridge Üniversitesinde
geliştirilmiştir.
Daha sonra bu gelişmeyi ACE adlı bilgisayar takip etmiştir.
1951 yılında, Amerika'da UNIVAC-1 adlı makine geliştirilmiştir.
Elektriğin bulunması ile mekanik parçaların yerine geçecek parçaların tasarlanması yeni
fikirler ortaya çıkarmış (Elektronik devri başlamış) ve bunun sonucunda lambalar icat
edilmiştir.
Bilgisayarlarda(hesaplayıcılarda) lambaların kullanılması kısa zamanda pek çok hesaplamanın
yapılmasını sağlamış fakat, bilginin (komut ve veri grubu) nerede saklanacağı ve hangi
yöntemle makineye verileceği sorun olmaya devam etmiştir.
Daha sonraları lambanın yerine silisyum ve germanyum maddelerinin bulunup transistörün
icat edilmesiyle elektronik dünyasında ve dolayısıyla bilgisayar sistemlerinde büyük ve hızlı
gelişmeler yasanmış ve yaşanmaktadır.
Bilgiyi giriş olarak alan, bunu belli bir kurala göre işleyen ve sonucu çıktı olarak veren
sisteme basit olarak bilgisayar denir. Makine olarak tanımlanan bilgisayar, veriyi belli bir
düzen dahilinde işler. Buradaki veri, işlenecek bilgidir. Verinin işleniş düzenini veya kuralları
donanımın dışında komutlar koyar. Sayısal değerler belli bir formatta sisteme yerleştirilmek
zorundadır. 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. Her ikisi
de birbirinin tamamlayıcıdır, birisi olmazsa diğeri de olmaz. Sistem öncelikli olarak
tasarlanırken önce sistemi meydana getirecek elemanlar, yani donanım parçaları göz önüne
alınır. Daha sonra yazılım bu yapıya bakılarak yazılır.
Yazılım, donanımın hangi yönteme göre nasıl çalışacağını gösteren bir sanal uygulamadır.
Donanım, yazılıma göre belli zamanlarda devreye girerek fonksiyonlarını yerine getirmekle
görevlidir.Tüm sayısal bilgisayarlar şekilde gösterilen elemanlara sahiptir. Bunların dışındaki
eleman ya da cihazlar seçimliktir.
Bilgisayarı oluşturan bir sistemdeki temel elemanlar; mikroişlemci(CPU), bellek ve giriş/çıkış
(G/Ç) birimleridir. Mikroişlemcinin işleyeceği komutlar ve veriler geçici veya kalıcı
belleklerde tutulmaktadır. Bilgiyi oluşturan komut ve veriler bellekte karmaşık veya farklı
alanlarda tutulabilir.
Bilginin işlenmesi sırasında ortaya çıkabilecek ara değerler, en sonunda sonuçlar bellekte bir
yerde depolanmak zorundadır. Bütün bu yapılan işlemler bir hesaba dayanmaktadır.
Bilgisayarın bilgiyi işlemedeki ana karar vericisi sistemin kalbi sayılan mikroişlemcidir.
CPU tarafından gerçekleştirilen iki temel işlem vardır. Birincisi, komutların yorumlanarak
doğru bir sırada gerçekleşmesini sağlayan kontrol işlevi, diğeri; toplama, çıkarma ve benzeri
özel matematik ve mantık işlemlerinin gerçekleştirilmesini sağlayan icra işlevidir.
Ayrıca sistemin dışarıda denetlemek islediği bir aleti belli bir düzende kontrol edebilmesi için
bir de giriş/çıkış birimine gerek vardır. 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.Adres yoluna bellekten getirilerek çalıştırılmak istenen komut
adresi veya komutun işlenmesiyle bellekten getirilecek verinin adresi konulur.
Sonuç olarak, ister insan yapısı ister yapay olsun her bilgisayar aşağıdaki elemanlara sahip
olmalıdır:
1. Programın yorumlanması ve çalıştırılmasını gerçekleştiren bir mikroişlemci.
2. Bir dizi komutlardan oluşan program ve verilerin sürekli veya geçici depolandığı bellek.
3. Bilgisayarın dış dünya ile bağlantısını sağlayan sağlayan giriş/çıkış birimi.
4. CPU ve bellek aracındaki bilgi aktarımını ve işlemcinin dış dünya ile iletişimini sağlayan
iletişim yolları
Çalışma Bakımından Bilgisayarlar:
1. Analog Bilgisayarlar
2. Sayısal (digital) bilgisayarlar
3. karma (hybrit) bilgisayarlardır.
1. Analog bilgisayarlar, kayıt yapmada tam bir değerin başlangıcından sonuna kadar sürekli
fonksiyonlarını kullanırlar. Nasıl ki bir termometre ısıya veya bir barometre atmosfer
çevresindeki hava değişimine (basıncına) duyarlıysa, Analog bilgisayarlar da kullanıldığı
uçak veya benzeri sistemlerde bu değerlerin ölçülüp değerlendirilmesinde duyarlığa sahiptir.
Bir çok ölçüm ve denetim cihazı, kesik adımlı sinyallerden daha çok sürekli sinyallere bağlı
olarak analog çalışırlar.
2. Sayısal bilgisayarlar, kesikli veya süreklilik arz etmeyen bilgiyi yorumlarlar. Sayısal
sistemlerde her şey "evet" veya "hayır"la ifade edilebilmektedir. Böylece "evet" yerine geçen
1' ler ve "hayır" yerine geçen 0' larla her şey tanımlanabilmektedir. Analog bilgisayarlara göre
hızlı ve performansı yüksektir. Analog bilgisayarlar matematiksel olarak bazı işlemleri
yapabildikleri halde, sayısal bilgisayarlar aynı zamanda mantık işlemlerini de kolaylıkla
yapabilmektedir.
3. Karma (hibrid) bilgisayarlar, analog ve sayısal bilgisayarların her iki özelliğini
kendisinde bulunduran bilgisayarlardır. Uygulama özelliklerine göre bu cihazlar
tasarlanmaktadır.
Fiziksel büyüklük bakımından bilgisayarlar: Bilgisayarların fiziksel açıdan birbirinden
ayrılmasında büyüklüğü, hızı ve maliyeti göz önüne alınmaktadır.
1.
2.
3.
4.
Mikrobilgisayarlar
minibilgisayarlar
Mainframe sistemleri
süper bilgisayarlar
1. Mikrobilgisayarlar: Günümüzde moda kelimelerle ifade edilen bu ayırımlardan en küçük
olanına Mikrobilgisayar denilmektedir. Belli başlı elemanları; sistem birimi, monitör ve
klavyedir. Sistem biriminin içersinde CPU, anakart, ekran kartı, sabit disk, CD-sürücü
bulunan metalik-plastik karışımı kutudur. Büyük orandaki verilerin depolanmasında ve
üzerinde hesaplamaların yapılmasında, daha güçlü ve büyük veri depolama ve işleme araçları
gerektirmiştir.
2. Minibilgisayarlar: Adına minibilgisayar (büyük ölçekli bilgisayar) denilen yüksek düzeyli
makinelerde, veriler ve programlar manyetik disk ortamında tutulurken, aynı anda birden
fazla kişi tarafından paylaşılması sağlanmaktadır.
Bu tip bilgisayarlar bir ana sistem ve bunlara bağlı manyetik disk birimi ve terminaller
(Workstation) bulunan yapıya sahiptir. Mini bilgisayarlar genelde bilimsel araştırmalarda
küçük boyutlu bankalarda ve işletmelerde kullanılmaktadır.
3. Mainframe Sistemler: Giderek ihtiyaçların çoğalması, bilimin ve teknolojinin ilerlemesi
daha büyük ve hızlı sistemleri de beraberinde getirmiştir. Daha büyük kapasiteli veri saklama
ortamları ve bunları çok hızlı bir şekilde işleyebilecek sistem elemanlarına sahip sistemlere
Mainframe (Çok büyük ölçekli bilgisayar) denilmekledir. Mainframe, mini bilgisayarların
talep edilen zamanda sonuçlandıramadığı işlemleri çok kısa zamanda yapabilecek yeteneğe
sahip sistemlerdir.
Bu sistemde büyük ve birden fazla manyetik veri depolama ortamları, disk ortamları, yazıcılar
ve daha çok terminaller bulunmaktadır. Bu büyük boyutlu bilgisayarlar, veri işleme işlerinde
orta büyüklükteki iş merkezinden çok büyük iş merkezlerine kadar kullanılmakladır.
Genellikle büyük maliyetli bilimsel çalışmalarda (NASA), bankacılık işlemlerinde ve
üniversitelerin araştırma laboratuarlarında yer almaktadır.
4. Süper Bilgisayarlar: Diğer bir yüksek düzeyli bilgisayar türü de Süperbilgisayarlardır. Bu
sistem, ölçek olarak mainframe'den daha büyük olmayabilir, fakat yaptığı iş ve maliyet
bakımından diğerlerinden ayrılmaktadır.
Çok hassas ölçümlerin üzerinde çalışılmasında, kesin hava tahminlerinde, derin uzay
araştırmalarında ve geniş ölçekli sayısal çalışmalarda bu bilgisayarlar kullanılmaktadır. Bir
çok bilgisayar bir araya getirilerek süper bilgisayar sistemi oluşturulabileceği gibi günümüzde
süperbilgisayar olarak satılan bilgisayar sitemleri de vardır(Cray II gibi).
Bilgisayar Organizasyonu
Bilgisayar sistemi tarif edilirken iki temel esastan bahsedilebilir. Bilgisayar organizasyonu ve
bilgisayar mimarisi. Bilgisayar mimarisi, bir programın mantıksal çalışmasına doğrudan etki
eden özelliklerdir. Bilgisayar organizasyonu, operasyonal birimler ve bunların yapısal
özelliklerini veren bağlantıları ifade eden yaklaşımdır; Daha çok yazılım ve donanım
arasındaki bağdaştırmayla ilgilidir.
Mimari özelliklere; komut kümesi, değişik şekillerdeki veri tiplerini temsil etmesi için
kullanılan bit sayısı, G/Ç mekanizması ve bellek adresleme tekniklerinin dahil olduğu bir
bilgisayar tasarımı girmektedir.
Organizasyona ise, kontrol sinyalleri, bilgisayar, çevre elemanları ve kullanılan bellek
teknolojisi
gibi
donanımın
programcıya
ayrıntısıyla
transparan
gözüken
özelliklerdir.Bilgisayar mimarisi ve organizasyonun ayrıştırılması bazı sebeplerden dolayı
önemlidir.
Bilgisayar Mimarisi
Bilgisayar mimarisi, komut kümesinin, donanım elemanlarının ve sistem organizasyonun
dahil olduğu bir bilgisayarın tasarımıdır. Mimari iki farklı yaklaşımla tanımlanmaktadır
Komut kümesi mimarisi (ISA) ve donanım sistem mimarisi(HSA).
ISA, bir bilgisayarın hesaplama karakteristiklerini belirleyen komut kümesinin tasarımıdır.
HSA; CPU, depolama ve G/Ç sistemlerinin dahil olduğu alt sistem ve bunların bağlantı
şeklidir.
ISA ise, programcının bu elemanlara yön verecek programı yazması durumunda nasıl bir
kabul göreceğidir. Özel bilgisayar sistemleri için programcı kodlarını makinenin doğrudan
özel donanımına göre yazmaktaydı. Böylece bir makine için yazılan program aynı firma
tarafından üretilse bile ne rekabet ettiği bir makinesinde nede diğer makinesinde
çalışabilmekteydi. Programcı tarafından yazılın kodlar donanımı açma anahtarı olarak
düşünülebilir.
Her zaman yeni bir makine üretildiğinde yazılım geliştiriciler bu makine için yeni baştan
başlamak zorunda kalmaktaydılar. Bundan dolayı bilgisayar sistem tasarımcıları iki önemli
sorunla karşı karşıya idi. Bunlar;
1. Bilgisayar sistemleri ile ilgili işlevselliğin sergilenmesi.
2. Yazılımın sistemler arasındaki geçişini kolaylaştırması.
1960 yıllarında IBM firması bu sorunların üstesinde gelmek için, adına komut kümesi
mimarisi (ISA) ve mikrokod motoru denilen bir yöntem geliştirmiştir. (ISA) Sistemi meydana
getiren donanımın özelliklerini sergilemede kullanılan standart bir yol sağlar.
Programsal Yaklaşım
Sistem tasarımcıları sık sık bazı program işlevlerini mikrokodlara aktararak performansta artış
sağlamak istemişlerdir. Donanımı devreye sokacak öz bilgilerin yani komut kümesinin yer
aldığı bu yere mikrokod motoru denilmektedir.
Burası, CPU içinde CPU olarak da ifade edilebilir. Programcının yazdığı kodları işlemcinin
daha çabuk anlayabileceği veya çalıştırabileceği küçük mikrokodlara dönüştüren bu mikrokod
motoru, işlemci içerisine ROM bellek vasıtasıyla yerleştirilmiştir. Mikroprogram ve icra
biriminden meydana gelen mikrokod ROM'un görevi, özel komutları kontrol sinyallerine
çevirerek sistem elemanlarının denetimini sağlar.
Aynı zamanda firmware olarak adlandırılan mikrokodun CISC tipi işlemcilerdeki temel işlevi,
alt düzey komut kümesiyle programcının çalıştığı üst düzey komutlar arasında soyutlama
düzeyi yaratmaktır.
Şekil - Bir Mikrokod ROM 'un Sistemdeki Yeri
Mikroişlemci üreticileri, sistem tasarımında iki yönlü düşünmek zorundadırlar. Birincisi,
mimariyi meydana getiren elemanların işlevleri, ikincisi bu elemanların nasıl devreye
sokulacağıdır.
Elemanları devreye sokmak için program yazmak gerekecektir. Bu işin bir yanı, diğer yanı ise
donanımdır. Donanım mimarisini programcıya aktaracak en iyi yol ona kullanabileceği komut
kümesini hazır vermektir. Programcının yazdığı bir komut işletildiğinde, mikrokod ROM bu
komutu okur ve sonra o komuta karşılık gelen uygun mikrokodları yükler ve çalıştırır.
Bilgisayarın komut kümesinde bulunan tüm komutların mikrokod ROM'da karşılığı
vardır.Mikrokoda sahip işlemciler aşağıdaki üstünlüklere sahiptir:
• İçerisinde mikrokod bulundurun ROM bellek, ana bellekten çok daha hızlı olduğu için,
mikrokod bellekteki komut serisi fazla hız kaybetmeksizin dahili sistemde yürütülebilir.
• Aynı komut kümesini adanmış mantık üzerinde yürütmek yerine, yeni yongalarla yürütmek
daha kolaydır ve daha az transistor gerektirir.
• Bir mikroprogramlı tasarım yeni komut kümelerini işlemek için tamamen değiştirilebilir.
• Yeni komutlar mikrokod halinde eskilerin üzerine eklenebilir.
Bazı makineler ticari hesaplamalar için, bazıları da bilimsel hesaplamalar için elverişli hale
getirilmişlerdir. Bununla birlikle tümü aynı komut kümesini paylaştığından, programlar temel
donanımlara bağlı kalarak makineden makineye, yeniden derlenmeden taşınabilir.
Mikroprogramlama esasına göre çalışan bilgisayarlar günümüzde hala kullanılmaktadır. Intel
ve AMD gibi üreticiler ISA X86 komut kümesinin tüm özelliklerini bazı yeniliklerle birlikte
işlemcilerine yansıtmakladırlar.
ISA mimarisi daha çok CISC denilen, belleği azami ölçüde etkin kullanmak için geliştirilen
bir sistem olan karmaşık komut kümeli bilgisayarlarda kullanılmıştır.
Donanımsal Yaklaşım
Mikrokod kullanılarak ISA sisteminin yürütülmesinin başlıca sakıncası, başlangıçta
komutların doğrudan çalıştıran sisteme göre yavaş olmasıdır. Daha çok komut demek daha
fazla mikrokod, çekirdek büyüklüğü ve güç demektir.
ISA mimarisinin yaşanan aksaklıklarından dolayı daha sonraları, komutların doğrudan
donanım elemanları tarafından yorumlanarak sistemin denetlendiği diğer bir mimari
yaklaşımıda donanımsal çalışma modelidir. Komutların anlaşılır standartta bir boyuta
getirilerek çalıştırıldığı sisteme RISC modeli denilmektedir. Böylece küçük, hızlı ve çok
hafifleyen komut kümesiyle, iri hacimli mikrokoda nazaran donanım üzerinde doğrudan
hakimiyet kolayca sağlanabilmiştir.
RISC tasarımcıları komutların doğrudan icra edildiği eski modele dönerken, ISA kavramı
dokunulmadan korunmuştur. Intel, AMD ve Transmeta firmaları hala x86 mimarisine dayalı
işlemcilerini ISA yaklaşımıyla üretmektedirler.
Günümüzde üst düzey entegrasyon ve daha düşük tel kalınlıklarının ve birleştirme
yüzeylerinin elde edilmesiyle (0.18, 0.13 ve 0.09 mikron gibi) çok daha karmaşık olan
donanım temelli sistemler oluşturmak mümkün olmakladır.
CISC Mimarisi
(CISC: Complex Instruction Set Computer: Karmaşık komut kümeli bilgisayar)
CISC mimarisinin karakteristik iki özelliğinden birisi, değişken uzunluktaki komutlar, diğeri
ise karmaşık komutlardır. Değişken ve karmaşık uzunluktaki komutlar bellek tasarrufu sağlar.
Karmaşık komutlar İki ya da daha fazla komutu tek bir komut haline getirdikleri için hem
bellekten hem de programda yer alması gereken komut sayısından tasarruf sağlar.
Karmaşık komut karmaşık mimariyi de beraberinde getirir. Mimarideki karmaşıklığın artması,
işlemci performansında istenmeyen durumların ortaya çıkmasına sebep olur. Ancak
programların yüklenmesinde ve çalıştırılmasındaki düşük bellek kullanımı bu sorunu ortadan
kaldırabilir.
Şekil - CISC Tabanlı Bir İşlemcinin Çalışma Biçimi
Tipik bir CISC komut seti, değişken komut formatı kullanan 120-350 arasında komut içerir.
Bir düzineden fazla adresleme modu ile iyi bir bellek yönetimi sağlar.
CISC mimarisi çok kademeli işleme modeline dayanmaktadır. İlk kademe, yüksek düzeyli
dilin yazıldığı yerdir. Sonraki kademeyi makine dili oluşturur ki, yüksek düzeyli dilin
derlenmesi sonucu bir dizi komutlar makine diline çevrilir.
Bir sonraki kademede makine diline çevrilen komutların kodları çözülerek, mikroişlemcinin
donanım birimlerini kontrol edebilen en basit işlenebilir kodlara dönüştürülür. En alt
kademede ise işlenebilir kodları olan donanım aracılığıyla 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 makinelerini
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.
• Mikroprogram komut kümeleri, derleyici karmaşık olmak zorunda değildir.
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.
 Çoğu özel güçlü komutlar geçerliliklerini doğrulamak için yeteri kadar sık kullanılmıyor.
 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: Reduced Instruction Set computer: Azaltılmış Komut Kümeli Bilgisayar9
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.
ŞŞekil - Mikrokod Denetimli CISC ve RISC Mimarisi
70' lerin ortalarında yarı iletken
teknolojisindeki gelişmeler, ana
bellek ve işlemci yongaları
arasındaki hız farkını azaltmaya
başladı.
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ı. Bilgisayar tasarımcıları sadece donanımı
hızlandırmaktan çok bilgisayar performansını iyileştirmek için başka yollar denemeye
başlamışlardır.
RISC Mimarisinin Özellikleri
RISC mimarisi aynı anda birden çok komutun birden fazla birimde işlendiği iş-hattı
(pipelining) tekniği ve süperskalar yapılarının kullanımıyla yüksek bir performans
sağlamıştır.Bu mimari, küçültülen komut kümesi ve azaltılan adresleme modları sayısı
yanında aşağıdaki özelliklere sahiptir:
 Bir çevrimlik zamanda bir komut işleyebilme.
 Aynı uzunluk ve sabit formatta komut kümesine sahip olma.
 Ana belleğe "load" ve "store" komutlarıyla erişim; operasyonların kaydedici üzerinde
yapılması.



Bütün icra birimlerinin mikrokod kullanılmadan donanımsal çalışması.
Yüksek seviyeli dilleri destekleme.
Çok sayıda kaydediciye sahip olması.
RISC Mimarisinin Üstünlükleri
RISC tasarımı olan bir işlemciyi kullanmak, bir CISC tasarımını kullanmaya göre pek çok
avantaj sağlar:
 Hız: Azaltılmış komut kümesi kanal ve superskalar tasarıma izin verdiğinden RISC
işlemciler genellikle karşılaştırabilir yarı iletken teknolojisi ve aynı saat oranları kullanılan
CISC işlemcilerinin performansının 2 veya 4 katı daha yüksek performans gösterirler.
 Basit Donanım: RISC işlemcinin komut kümesi çok basit olduğundun çok az yonga uzayı
kullanırlar.
 Kısa Tasarım Zamanı: RISC işlemciler CISC işlemcilere göre daha basit olduğundan daha
çabuk tasarlanabilirler ve diğer teknolojik gelişmelerin avantajlarını CISC tasarımlarına göre
daha çabuk kabul edebilirler.
RISC Mimarisinin Mahzurları
 Bir RISC işlemcinin performanı işlediği kodun algoritmasına çok bağlıdır. Eğer
programlama iyi yapılmamışsa işlemci atıl durumda kalarak biraz fazla zaman harcayabilir.
 Komut planlaması dikkatli yapılmazsa hatalardan arındırmayı zorlaştırabilir.
 Komutlarını beslemek için çok hızlı bellek sistemleri gerekir.
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;
İleride superölçekli mimariyi oluşturacak iş-hattını kolaylaştıracak çekirdek oluşturmak..
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.
EPIC mimarisi, işlemcinin hangi komutların paralel çalışabildiğini denetlemesi yerine, EPIC
derleyicisinden açık olarak hangi komutların paralel çalışabildiğini bildirmesini ister.
Çok uzun komut kelimesi (VLIW) kullanan bilgisayarlar, yazılımın paralelliğine ilişkin kesin
bilgi sağlanan mimari örneklerdir. EPIC varolan VLIW mimarisinin dallanma sorunlarını
çözmeye çalışarak daha ötesine gitmeyi hedeflemektedir.
Derleyici, programdaki paralelliği tanımlar ve hangi işlemlerin bir başkasından bağımsız
olduğunu belirleyerek donanıma bildirir. Bu bilgi, aynı çevrimde hangi işlerin
başlatılabileceği ile ilgili daha fazla denetim olmadan donanımda doğrudan değerlendirilir.
EPIC tarzı mimari, VLIV tekniğinin geliştirilmiş bir modelidir denilebilir. Süperskalar
işlemcilerinin en iyi yönlerinin bir çoğu EPIC felsefesine uydurulmuştur. Çok belirgin RISC
mimarileri olduğu gibi (Hewlet-Packard'ın PA-RISC, Silicon Graphics'in MIPS ve Sur'ın
SPARC) EPIC yapısı içinde bir komut kümesi mimarisinden fazlası vardır.
EPIC mimarisinin ilk örneği, IA-64 mimarisine dayalı Itanium işlemci ailesidir.
EPIC Mimarisinin Üstünlükleri







Paralel çalıştırma (çevrim başına birden çok komut çalıştırma)
Tahmin kullanımı
Spekülasyon kullanımı
Derleme anında paralelizmi tanıyan derleyiciler
128 kayan nokta, 128 tamsayı, 64 tahminli büyük kaydedici kümesi
Dallanma tahmini ve bellek gecikmesi problemlerine karşı üstün başarı
Gelişmeye ve yeni birimlerin eklenmesine verilen destek ve eskiye karşı uyumluluk
MİKROİŞLEMCİLER
Mikroişlemciler, bilgisayar sisteminin kalbidir. Bilgisayar operasyonlarını kontrol ederek veri
işleme işlevlerini yerine getirir. Kısaca işlemci veya CPU, kullanıcı ya da programcı
tarafından yazılan programları meydana getiren komutları veya bilgileri yorumlamak ve
yerine getirmek için gerekli olan tüm mantıksal devreleri kapsar.
İlk mikroişlemci 1971 yılında hesap makinesi amacıyla üretilen Intel firmasının 4004 adlı
ürünüdür. Bir defada işleyebileceği verinin 4-bit olmasından dolayı 4-bitlik işlemci
denilmekteydi.
Bir anda ele alabildiği bit sayısına bakılarak güçlü olup olmadığı anlaşılan işlemcilere daha
sonra kısa bir süreç için sınırlı sayıda işlem yapabilen 8-bitlik 8008 işlemcisi eklenmiştir.
1974 yılında Intel 8080 adlı işlemcisini, hemen ardından önceki işlemci ile pek farkı
olamayan Motorola 6800 adlı işlemcisini piyasaya sürmüşlerdir. Birbirleri arasında küçük
farklılıklar olan iki işlemci daha piyasaya sürülmüştür. Bunlar, MOS Technology firması
tarafından üretilen 6502 ve Zilog firması tarafından üretilen Z-80 işlemcileridir.
8-bitlik 8080 ve Z-80 mikroişlemcilerinde hesaplama yapmak maksadıyla bol miktarda
kaydedici vardır. Bundan dolayı bu işlemcilere kaydediciye dayalı işlemciler denilmekledir.
Diğer 8 bitlik işlemciler 6800 ve 6502, anlaşılır komutlar ve daha fazla adresleme modu
kullanmaları, kaydedicilerinin fazla olmamasından dolayı veri manevrasında sık sık belleği
kullanmalarından dolayı belleğe dayalı işlemciler olarak anılırlar. Bu gruplar birbirlerinin
bellek ve G/Ç yongalarını kullanabilmektedirler.
80X86 İŞLEMCİ AİLESİ
80x86 işlemcisiyle birlikte, intel ailesinin mikroişlemcilerde kullandığı mimariye intel
mimarisi (IA) ya da X86 mimarisi denilmiştir.
1. Birinci Kuşak Mikroişlemciler : Birinci kuşak mikroişlemciler, eski orijinal IBM PC. XT
tipi ve benzer makinelerde kullanılmıştır. Bu kuşağa giren mikroişlemciler 8086 ve 8088
modelidir.
8086 ve 8088 İşlemciler: IA ailesindeki ilk gerçek mikroişlemci 8086 ve bşraz daha düşük
mimarili olan 8088 işlemcisidir. Bu iki işlemci pin uyumsuz olmalarına rağmen her iki
işlemci de aynı programı sorunsuz çalıştırabilmektedir. Bu ki çip CISC mimarisine dayalı
olarak üretilmişlerdir. Her iki işlemci de 20 adres hattına sahiptir. Adres hattı sayısı işlemcinin
ne kadar bellek alanına ulaşabileceğini gösterir. 20 adres hattına sahip bu işlemcilerle toplam
1 MB’ lık bir bellek uzayı adreslenebilir. 8086 ve 8088 farklı veri yolu büyüklüğüne
sahiptirler. Veri yolu kapasitesi mikroişlemcinin bir çevrimde ne kadar baytlık bir veriyi
okuyabileceğini ya da yazabileceğini tayin eder. 8086 16 bitlik veri yoluna sahipken, 8088, 8
bit veri yoluna sahiptir. 8086 hattındaki işlemciler 4 MHz ile 16 MHz arasındaki hızlarda
çalışırlar.
80186 ve 80188 işlemciler: bu işlemcilerin belli başlı özellikleri eklenen yeni komutlar,
korumada yeni hata toleranslarıdır. Intel bu işlemcilere halihazırda PC’ lerde kullanılan birçok
çevresel çipleri (kesme denetimcisi, aralık zamanlayıcısı, DMA denetimcisi saat üreteci ve
diğer çekirdek mantık devreleri) entegre etmiştir. 80186 v e 80188 işlemcileri 6 MHz ile
40MHz arasında hızlara sahiptir.
2. İkinci Kuşak Mikroişlemciler: bu kuşağa giren işlemci sadece 286 modelidir.
80286 İşlemciler: Bu işlemcide komut kümelerinin genişletilmesine devam edildi. Dört adres
hattının eklenmesiyle birlikte yeni bir işletim modu olan Korumalı Mod ortaya atıldı. 24 adres
hattına sahip olan bu işlemciler 16 MB’lık bellek alanını hesaplayabilirler. Bu işlemcilerin
bilgisayarlarda kullanılmasıyla birlikte, küçük ev ve ofis bilgisayarlarına 1985 yılında itibaren
PC-AT sistemler denilmiştir. 80286’ nın kullanıldığı yıllarda ilk çipsetler (entegre kümesi)
ortaya atıldı. 80286 işlemciler, 6 MHz ile 25 Mhz hızları arasında bir frekansa sahiptirler.
3. Üçüncü Kuşak Mikroişlemciler: 386 işlemcilerin tamamı üçüncü kuşak işlemcileri
oluşturur.
80386 İşlemciler: ilk gerçek 32 bit mikroişlemcidir. Bu özelliği sayesinde 4Gb’ lık bellek
adreslemesi sağlamıştır. Düz 386 işlemcisinden sonra 80386 SX adlı bir türevi daha çıkarıldı.
SX modeli 16 bit veriyolu ve 24 bit adres yoluna sahip d80386 modelin ucuz bir
versiyonudur. 80386 işlemcisi altı adet paralel aşama ile çalışan ilk işlemcidir. 386
işlemcilerin kullanıldığı yıllarda işlemciye dayalı bilgisayarlarda ön bellek tanımları yapılması
fikri benimsendi.
4. Dördüncü Kuşak Mikroişlemciler: bu kuşaktaki işlemciler güç ve yetenek bakımından
hızlı bir çıkış yapmıştır.
80486 İşlemciler: 80386 versiyonunun mimari yönden biraz daha geliştirilmiş bir tipidir. Bu
işlemcideki en önemli gelişmelerden birisi, 80486 çekirdek mantığına 80387 matematik
işlemcisinin entegre edilmesidir. Günümüzde FPU (Floating Point Unit Yuvarlanmış
sayılarla iş yapan birim) olarak yerini alan bu matematik işlemcisi olmadan, bazı programlar
pahalı donanım ihtiyacı duyar. 80486 işlemcinin DX ve SX modelleri çıkarılmıştır. SX
modeli DX modeline göre daha ucuzdur ve SX modelinde matematik işlemcisi yoktur. SX
modeli için geliştirilen 387SX işlemcisinin geliştirilmesiyle birlikte az güç harcayan ve
performansı artan SL modeli piyasaya sürüldü. Bu model özellikle taşınabilir bilgisayarlarda
kullanıldı. Anakart üzerindeki çekirdek frekansın çarpan devreleri vasıtasıyla ayarlanmasıyla
DX2 ve DX4 modelleri tanıtıldı.
Beşinci Kuşak Mikroişlemciler
Pentium İşlemciler: Birden fazla icar birimine sahiptir. 60-66 MHZ hızlarında
üretilmişlerdir. u ve v olarak bilinen iki iletişim kanalında aynı anda iki ayrı komut
çalıştırılabilir. 8 KB’ lık komut kodu, 8KB’ lık veri ön belleği vardır. 64 bitlik harici
veriyoluna sahiptir. Dahili veriyolu 128 ile 256 bit genişliğindedir.
Altıncı Kuşak mikroişlemciler
Pentium Pro İşlemci: derin iş hattı, 100 MHz’ lik saat hızının aşılmasında önbellek erişim
darboğazını ortadan kaldırmak için geliştirilmiştir. Ayrıca işlemcinin bellek erişim hızını
arttırmak için ikincil ön bellek işlemcinin yakınına alınmıştır. Dört adet işlemciyi destekleme
özelliğine sahiptir. Özellikle server tipi bilgisayarlarda kullanılır. İşlemci içinde L1 önbellek,
işilemci dışında ama aynı hızda L2 ön bellek kullanılmıştır.
Pentium II işlemci: Pentium Pro işlemciye MMX(multi medya) özelliklerinin eklenmesiyle
ortaya çıkmıştır. 100 MHz hızında ön veri yolu, birbirinden bağımsız çift veri yolu, SLOT
paketleme tipi ilk defa bu işlemcide kullanılmıştır, L2 ön belleği işlemci çekirdeğinden dışarı
fakat kılıf içine alınmıştır.
Pentium II Xeon işlemci: özellikle server tipi bilgisayarlar için tasarlanmıştır. Geniş ve hızlı
ön belleklere sahiptir. 400-450 MHz hızlarda çalışırlar. Birden fazla işlemciyi destekler.
Celeron İşlemciler: Pentium II işlemci ile mimari yönden aynı L2 ön bellek yönünden
farklıdır. 16 Kb komut ve 16 KB veri olmak üzere toplam 32 KB’ lık L1 ön belleğe sahiptirç
işlemci kartuşu üzerinde L’2 ön belleği yoktur.
Pentium III İşlemciler: önceki işlemci modellerine ilave olarak 3D komutları vardır. Aynı
anda matematiksel ve 3D komutların kullanılmasına izin veren SIMD (Single Instruction
Multiple Data) teknolojisine sahiptir. Yani tek komutla çok data işleme özelliği vardır. 3D
uygulamalarını hızlandırmak için 70 adet yeni komuta sahiptir.
Pentium IV işlemci: 1.4 GHz’ den başlayan hızlarda üretilmişleridir. Yüksek saat
çevrimlerinde, tamsayı ve kayan nokta hesaplamalarını yüksek bir performansta başarmak
için NetBurst Mimarisi tasarlanmıştır. 400 Mhz hızında sistem veri yolu kullanır. Görselliğin
yoğun olarak kullanıldığı internet ortamı, ses ve görsel iletişim 3D uygulamalar, ses
tanınması, MP3 çözümü, DVD oynatımı gibi uygulamalarda yüksek performans sunarken,
ısının kontrol edilebilir derecede tutulmasını sağlar.
TEMEL MİKROİŞLEMCİ ÖZELLİKLERİ
1. Mikroişlemcinin bir defada işleyebileceği kelime uzunluğu.
Mikroişlemcilerde kelime uzunluğu veya bit uzunluğu, paralel olarak işlenen veri
bitlerinin sayısıdır. Kelime, işlemcideki genel amaçlı kaydedicilerin büyüklüğü ve aynı
zamanda her bir belllek alanı kapasitesidir. Büyük kelime uzunluğu, aynı anda birçok
işlemin yapılması demektir. İşlemciler, her bir saat çevriminde senkronize olarak o anda
komut kuyruğunda bulunan komutları ve bellekteki verileri işlerler.
Bilgi bitleri mikroişlemcinin tipine göre sekizlik, onaltılık otuzikilik veya günümüzde
altmışdörtlük gruplar halinde işlenir. Normal bilgisayarlarda bütün bilgiler sekiz bit
(Bayt), onaltı bit (Word) veya otuziki bit (Doubleword) olarak işlenirler.
Kelime uzunluğu büyük olan işlemcide yapılan aritmetik işlemlerde doğruluk oranları kısa
uzunluklu kelimelere nazaran çok yüksektir (4-bit %6, 8 bit %0.4 ve 16 bit %0.001).
2. Mikroişlemcinin tek bir komutu işleme hızı.
Bir mikroişlemcinin hızı saat frekansıyla doğrudan ilgilidir.Fakat saat frekansı her zaman
gerçek çalışma frekansını yansıtmaz. İşlemci hızını belirleyen bir çok yol vardır. Bunlar,
çalışma çevriminin uzunluğudur ki , bu ölçüm fazla kullanışlı değildir. Başlıca
mikroişlemci hızları mikrosaniye olarak 1, 66, 100 MHz veya MIPS'tir(Saniyede Milyon
Adet Komut İşleme).
Bir mikroişlemciyi diğerinden daha hızlı yapan unsurlar şunlardır:
• CPU'nun devre teknolojisi ve planı.
• İşlemcinin bir defada işleyebileceği kelime uzunluğu. Daha uzun kelime daha hızlı işlem
demektir
• İşlemci komut kümesi. Bir işlemcide bir işlem tek bir komutla yapılırken diğerinde daha
çok komutla yapılabilir.
• Genel olarak denetim düzeni.
• Kesme altyordam çeşitleri.
• Bilgisayar belleğine ve G/Ç cihazlarına erişim hızı.
3. Mikroişlemcinin doğrudan adresleyebileceği bellek büyüklüğü.
Bilgisayar sistemlerindeki ana bellek mikroişlemci tarafından adres yolu vasıtasıyla
adreslenir. Adres yolu hattı ne kadar çoksa adresleme kapasitesi de ona göre büyük olur.
İşlemci içerisindeki adres işaretçisi kaydedicilerin büyüklüğü, işlemcinin adres çıkışında
bir kaydıran kaydedici yardımıyla artırılabilirken ve adres yolu da çoğaltılmış olur.
XT tipi bilgisayarlarda adres kaydedicisi (MAR) 16-bitlik olmasına rağmen adres bilgisi
dört bit sola kaydırılarak 20-bitlik hatta verilirken 1 MB'lık bellek adreslenebilmektedir.
AT tipi bilgisayarlarda 24 ve 32-bitlik adres hattı kullanılarak 4 GB'lık bellek
adreslenebilmektedir.
4. Programcının üzerinde çalışabileceği kaydedici çeşitleri.
Kaydedici sayısının fazla olması manevra kolaylığı ve esneklik sağlar. Kaydediciler üç
gruba ayrılır; genel amaçlı kaydediciler (A, B ve X ), özel amaçlı kaydediciler (PC, SP, ve
PSW) ve gizli kaydedicilerdir (ÎR, MAR, MDK. DAR, DR).ü
5. Programcının kullanabiliceği değişik türdeki komutlar.
Mikroişlemci hızını etkileyen komutlar, veri manevra komutları, giriş/çıkış komutları,
aritmetik komutlar, mantık kumulları ve test komutları gruplarından birisine dahildir.
6. Programcının bellek adreslerken gerek duyacağı farklı adresleme modları.
Doğrudan adresleme, dolaylı adresleme ve indeksli adresleme gibi adresleme türleri
programcıya ekstra kolaylıklar sağlar. Adresleme modları üzerinde çalışılan bir verinin
belleğe nasıl ve ne şekilde yerleştirileceği veya üzerinde çalışılacak bir verinin bellekten
nasıl ve hangi yöntemle çağrılacağıdır.
İLERİ MİKROİŞLEMCİ ÖZELLİKLERİ
Son zamanlarda mikroişlemcili sistemlerdeki hız ve performans artışı, büyük ve esaslı
düzenler sayesinde sağlanmıştır. Bu düzenlerden belli başlıları, ön-bellek sistemleri, is-hattı
teknolojileri, üstün dallanma tahmini yürüten sistemler ve yüksek akışkanlık sağlayan
sistemlerdir.
Ön-Bellek Sistemi
Mikroişlemcilerin sistemdeki en büyük yardımcı birimlerinden birisi bellektir. Bellek, komut
ve verileri üzerinde geçici veya kalıcı olarak tutan bir elektronik elemandır. Tasarıma göre
komutlar ve veriler istenirse bellekte ayrı bölümlerde tutulabilmektedir. Buda neyin nerede
bulunacağının bilinmesini sağladığından daha fazla hız demektir.
Mikroişlemcilerin ilk üretim yıllarında mikroelektronik tasarım teknolojisinden dolayı
bellekler işlemcilerden daha hızlıydı. Fakat, mikroişlemci mimarisinin tasarımındaki
iyileştirmeler bellekten daha hızlı yol almıştır. Mikroişlemcilerin hızını artırmak için elden ne
geldiyse yapıldığı halde bellek mimarisi yavaş ilerlemiştir. Bu sebepten, daha sonraki yıllarda
mikroişlemcinin çalışma hızı bellekleri geçmiştir. Bu da ortaya hız uyuşmazlığı denilen bir
problem çıkarmıştır.
Bellekler dinamik ve statik olmak üzere iki temel gruba ayrılmakladır. Dinamik belleğin bir
bittik yapısı transistör ve kondansatörlerden meydana geldiğinden, mantıksal 1'lerin
oluşabilmesi için kondansatörün dolması için uzun zaman gereklidir. Boşalması da (mantıksal
0 tanımlaması) aynı zamanı alacağından bu tip bellekler mikroişlemciye göre oldukça yavaş
kalmaktaydı.
Statik bellekler, dinamik belleklerin yavaş hareket etmesine bir alternatif olarak
geliştirilmişlerdir. Genellikle içerisinde FET transistörler kullanılan ve flip-flop yapısına göre
çalışan bu belleklerde istemi yavaşlatacak herhangi bir kondansatör kullanılmamıştır.
Dinamik bellek, dört veya altılı gruplar halinde yapılanan FET'lerden meydana geldiğinden
taleplere çok hızlı biçimde cevap vermesini sağlamıştır.
Sistemdeki ana belleklerin yapısı (RAM-Random Access Memory) genelde ucuz olan bir
transistör ve kondansatörden oluşan dinamik bellekten (DRAM) meydana geldiğinden
performans yavaşlamasına sebep olmaktaydı.
Ana bellekte dinamik belleklerin yerine fazla FET kullanımından dolayı pahalı olan statik
belleklerin (SRAM) kullanılması durumunda sistem pahalıya mal olmaktaydı. Bu durumda
tasarımcılar ana belleğin tamamını statik bellek yapmak yerine, mikroişlemci ile ana bellek
arasına az miktarda statik bellek yerleştirilmesine karar vermişlerdir. Bu tip mimari yaklaşıma
Ön-bellek altsistemleri denilmektedir.
Bilgisayar sistemi ilk çalıştırıldığında ana bellekte bulunan ve çalıştırılmayı bekleyen veri
grubundan ön-bellek kapasitesi kadarını ön-bellek denetleyicisi tarafından alınarak ön-belleğe
taşınır. Daha sonra CPU bellekten bir veri talep ettiğinde önce ön-bellekte olup olmadığına
bakar. Eğer veri ön-bellekte yoksa ana belleğe bakar ve burada mutlaka varolması gerekir.
Eğer veri ön-bellekte varsa alarak işler, eğer ön-bellekte yoksa ana belleğe gideceğinden ve
ana bellekte yavaş olduğundan biraz gecikme ile veri alınarak işlenecektir.
Önceleri anakart üzerine konulan küçük miktardaki ön-bellekler (8KB), daha sonraları
Pentium gibi gelişmiş işlemciler önceleri işlemci paketi içerisine sonra çekirdek içerisine
çekilmiştir.
Çekirdek içerisine çekilmesi demek, işlemci ile aynı hızda çalışması demektir. Bu du büyük
performans artışı demektir. Fakat işlemci içerisine çekilen ön-belleklerin miktarı büyük
olamayacağından dolayı performans artışı belli bir miktarda kalacaktır. CPU içerisine çekilen
ön-belleklere komut ve veri olmak üzere L1 (birinci düzey-Level 1), CPU' paketi içerisindeki
ön-belleklere L2 (ikinci düzey) ve eğer kullanılıyorsa anakart üzerindekilere L3 ön-bellekleri
denilmektedir.
CPU veri için önce L1'e eğer yoksa L2'ye eğer orada da yoksa L3'e orada da yoksa ana
belleğe bakar. Eğer bunlardan birisinde bulursa hızlı bir şekilde alarak işler. İstenilen verinin
işlemciye en yakın olan ön-bellekte bulunması performansı daha çok artıracaktır. Tüm bu önbellekler ve bunların düzenli bir şekilde çalışmasını sağlayan denetleyicilerine ön-bellek
altsistemleri denilmektedir.
Sistem performansını önemli ölçüde artıran ön-belleklerin kapasitelerinin artırılması ve ana
belleğin de SRAM bellekten yapılması durumunda ortaya çıkabilecek olumsuzluklar
şunlardır;
• Fazla transistör kullanımından dolayı SRAM'lar DRAM'lara nazaran pahalıdır.
• 1'e dört veya altı fazla transistör kullanılması demek daha fazla yer demektir.
• Çok transistörlü bir bellek grubu, çalışma halinde daha fazla ısı yayacaktır. Fazla ısı
performans düşümüne sebep olacağından dolayısıyla sistemin soğutulması gerekecektir ve
gürültü ortaya çıkacaktır.
• Fazla transistör, fazla güç ihtiyacı demektir ve güçlü ve pahalı güç kaynaklarına gerek
duyulacaktır.
Ön-bellekler mikroişlemci dolayısıyla bilgisayar performansını artıran önemli elemanlardan
birisidir. Sisteme sadece belli bir yük bindiren ön-bellekleri işletmek ön-bellek
altsistemleridir. Bu sistemler, verinin hangi bellekte olduğunu, bu veriye nasıl ve kaç koldan
ulaşılacağını ve verinin hangi bellekte yenilenip (update) hangisinde yenilenmediğinin
bilgisini tutmaktadır.
İş-Hattı ve Süperölçekli İşlem
Mikroişlemci tarafından işlenecek komutlar sırasıyla ana belleğin kod bölümünden alınarak
getirilir. Bir sonraki adımda getirilen bu kodun ne demek istediği kod-çözücü bölümünde
deşifre edilir. Daha sonra bu deşifre edilen bilgiye göre işlem gerçekleştirilir. Basit olarak bir
işlemcinin çalışması kaç adımda gerçekleşir; komutu algetir, kodunu çöz ve çalıştır.
Bilgisayar sistemlerinde gelişmeler işlemci gelişmesine de yansıdığından, üç adımda ve tek
tek işlenen komutlar günümüzde beş ve daha fazla adımda bir defada yapabilmektedir. Orta
hızlı bir işlemcide komut aşağıdaki aşamalardan geçer:
• İşenecek komutun bellekten alınarak komut kaydedicisine getirilmesi (Algetir safhası).
• Getirilen komutun, mikrokod veya donanımsal yönteme göre kodun çözülmesi (Kod-çözme
safhası).
• Üzerinde işlem yapılacak birimin adresinin belirlenmesi (adres üretim safhası).
• Komutun kodunun çözülmesiyle ne yapılmak istendiği anlaşılarak gerçekleştirilmesi
(icra/işlem safhası).
• Elde edilen sonucun belleğe yazılması (geriye yazım safhası).
Bir komutun yukarıda sıralanan beş adımda gerçekleşmesi sırasında diğer birimlerin işini
bitirdikten sonra yeni bir işe başlaması sistem performansını önemli ölçüde artıracaktır.
Algetir biriminin bir komut getirildikten sonra kod-çözme bölümüne göndermesi ve hemen
ardından başka bir komutu işlemek üzere getirmesi ve diğer birimlerinde işlerini bitirdikten
sonra sıradaki işleme dalmasına iş-hattı sistemi denir.
İş-hattı sistemi bir otomobil üretim merkezindeki işlemlere benzer. Montaj hattının birinci
kademede otomobilin şasesi yürüyen banda konur.İkinci aşamada, motor şase üzerine
yerleştirilir.Üçüncü aşamada; kapılar, kaput ve şase üzerinde gerekli olanların montajı yapılır.
Dördüncü aşamada tekerlekler takılırken beşinci aşamada boyamayla birlikte otomobil hazır
olur.Bu sistemdeki montaj hattında çalışan herkesin görevi vardır.Birincisi kaputu takarken
diğeri tekerlekleri takar, öteki sıradaki işi. Yine bir kademedeki kişi işini bitirdikten sonra
beklemeden montaj hattına yerleştirilmiş bulunan yeni bir şaseye gerekli parçaları
yerleştirmeye başlar ve bu görev devam eder.
Bu beş kademeli montajda her bir kademede otomobil bitene dek sadece bir iş yapıldığı
düşünülürse ve her bir iş 30 dakika sürerse, toplam işlem 150 dakika demektir. Yani 150
dakikada bir araba demektir. Halbuki, herbir kademedeki işlem bittikten sonra diğer sıradaki
işe başlanırsa, bir otomobilin toplam üretim süreci kabaca 30 dakikaya inecektir.
Şekilde görüldüğü gibi, montaj hattındaki her bir aşamada ortalama 30 dk. harcandığı
varsayılırsa, bir otomobilin bitmiş bir şekilde elde edilmesi için 150 dk. gerekecektir. Diğer
yandan iş-hattı teknolojisi ile çalışılan bir montaj hattında, her kademede sıradaki iş
yapıldığından toplam üretim süresi bir kademedeki süreye eşit olacaktır, 30 dakika.
Şimdi beş kademeli bir mikroişlemci mimarisine diğer bir veya iki ya da üç beş kademe daha
eklenirse ne olur? Bu sistem iki yollu veya üç yolu beş kademeli bir sistem olur ki buna
Süperölçekli mimariye sahip mikroişlemci denir. Bu üç yollu beş kademeli işlemcide aynı
anda tüm birimlerde işlem yapıldığında çok kısa bir sürede büyük işlemler yapılabileceği
ortaya çıkmaktadır.
Tek bir montaj hattından 30 dk sonra bir otomobil çıkar. Fakat bir yerine iki veya üç montaj
hattı yerleştirirse her 30 dakikada iki yada üç otomobil üretilmiş olacaktır. Aynı zamanda
montaj hattının hızı uygun şartlarda artırılırsa bu süre daha da kısalacaktır. Mikroişlemcilerde
bir kaç is-hattıyla oluşturulan süperölçekli mimari, işlemci çalışma frekansının artırılmasıyla
yüksek performanslara erişir. Bazı durumlarda bazı kademeler aşağıda sıralanan tehlikelerden
dolayı işsiz kalabilir.

Yapısal tehlikeler: aynı anda iki farklı yoldan aynı kaynakların kullanılmasına
teşebbüs edilmesi.
 Veri tehlikeleri: daha veri hazır olmadan kullanılmaya kalkışılması. Verinin bir parçası
ikinci kademede diğer parçası üçüncü kademede olduğu gibi ikinci kademedeki
verinin işi bitirilip üçüncü kademeye yollanmadan veri hazır değildir.
 Kontrol tehlikeleri: şartlar ve durumlar değerlendirilmeden önce karar vermeye
teşebbüs edilmesi. Bir komutun islenmesi sonucunda dallanmanın olmadığına
bakılmadan sıradaki komutun işlenmesi gibi
Mikroişlemci denetim sistemi öyle bir yapılandırılmalıdır ki, iş-hattı kontrol mekanizması
tehlikeleri sezebilsin. Gecikme hareketleri bu tehlikelerin çözülmesi yönelik olabilir.
Günümüz işlemcilerinden Pentium'da 5, P-6 ailesinde 10 ve P4'de 20 kademeli iş-hattı vardır.
Dallanma Tahmini
Mikroişlemci tarafından işlenecek komutlar programcı tarafından yazıldığı biçimde bellekte
sıralı olarak dururlar. Fakat işlenecekleri zaman derleyicinin de yardımıyla eş olup
olmadıklarına bakılarak sisteme yollanırlar. Günümüz mikroişlemcilerinde yukarıda
belirtildiği gibi, üç veya dört yollu iş-hattı mevcuttur.
Komutlar içerisinde en güçlüleri kontrol komutlarıdır. Bunlar şartlı ve şartsız olmak üzere
ikiye ayrılırlar. Şartsız dallanmalara JMP (jump-dallan), CALL ve INT (interrupt-kesme) gibi
komutlar girerken, şartlı dallanmalara JNE/RNE, JE/BEQ, JA/JNEB gibi komutlar girer.
Şartlı dallanma komutlarından birisiyle karşılaşıldığında, bir önceki işlemin sonucuna
bakılarak işlem yönü belirlenir. Bu durumda çok yollu iş-hatlarına işlenmek üzere alınan
komutlardan birisi dallanma komutu ise ortaya büyük bir sorun çıkabilecektir. Sistemin
dallanacağı ve işleteceği yeni komutlar iş-hatlarında olmayabilecek ve tüm iş-hatları
boşaltılarak bu yeni komut dizisi çalıştırılacaktır. Böyle bir durumda da büyük zaman
(performans) kaybı olacaktır.
Intel firmasına göre, kontrol komutlarının komut setindeki oranı yaklaşık %20'dir. Buna göre
komut işlenirken mutlaka sık sık karşılaşılacak olan dallanma komutlarını sisteme zarar
vermeden önceden belirleyip tedbir almaktır. Yani, dallanmanın gerçekleşip
gerçekleşmeyeceğini. şartı belirleyen mantıksal ve aritmetik işlemin sonucunu hesaplamadan
önce tahmin etmektir.
Bu yoldan çıkılarak işlemci tasarımcıları, komutları illâki programdaki sıraya bakarak
işlemiyorlar. Bunun yerine değişik satırlardaki komutların birbirleriyle ilişkisini çözümleyip
gerektiğinde program sırasını değiştirerek ve bazı komutları öne alarak aynı anda paralel
olarak birden fazla komutun çalıştırılabilmektedir. Her ne kadar sıralı komut çalıştırılsa da,
dallanma komutu geldiğinde sapılacak adresteki yeni komutların getirilmesi ve işlenmesi
zaman alabilecektir.
Mikroişlemci içerisindeki iş-hatları yanda verilen program kodlarıyla doldurulduğu
varsayılırsa, Dizi Q ve Dizi P birbirine alternatiftir. ikisi aynı anda çalışamayacak ve CMP
#B'nin sonucuna göre ikisinden birisi ele alınacaktır.
Buna göre, iş-hatlarının Dizi P ile dolu olduğu farzedilsin. Eğer A=B şartı doğru çıktığı
taktirde bir sorun ortaya çıkmayacak işlem tüm hızıyla sürecektir. Eğer A=B şartı doğru
çıkmazsa ne olacak? Bu durumda Dizi P'deki komutlarla dolu olan iş-hatları boşaltılaıak Dizi
Q'daki komut dizileriyle doldurulacaktır. Bundan dolayı sistemde performans azalması
olacaktır.
Eğer şart doğru çıkarda iş-hattındaki komut dizisinin işlenmesine devam edilirse bu durumda
o kadar da zaman/performans kazanılmış olur.
Programcı tarafından yazılan komutların içerisinde her 7 veya 9 satırda bir dalma
komutlarının olduğu ve tahmin edilen komut dizisinin tutma oranının da düşük olduğu
varsayılırsa performansdaki azalma gözle görülebilir olacaktır. Bunu önlemenin yolu en basit
olarak, ya fazladan iş-hattı yolları (var olanın aynısı) eklenmesidir ki bu ikinci bir (paralel)
işlemci demektir, ya da dalınacak olan dizinin iyi tahmin edilebilmesi için mükemmel
mekanizmaların geliştirilmesidir.
Bunlardan birincisi, iş-hattının bir kopyasının oluşturulması, oldukça maliyetli olacak ve
işlememin ebadının büyümesini sağlayacaktır. Bu tip bir yaklaşım mümkün olmayacaktır.
Tasarımcılar ikinci yaklaşımı uygun görerek, her iki diziden birisini sanki çalıştırılacakmış
gibi iş-hatlarına almak, eğer gerçekleşirse kolayca çalıştırmak, eğer gerçekleşmezse iş-hattını
boşaltarak yeni diziyi iş-hattına alarak çalıştırmaktır. Bu tahminsel yaklaşımda, basarı random
alarak %20 veya %80 arasında değişebilir.
Statik ve dinamik algoritmalar olarak ortaya atılan bu sistemde, eğer programın akışı sırasında
tahminlerini değiştirmeyen algoritmalardır. Meselâ, "hiç bir zaman dallanma" statik bir
algoritma olabilir. Rastladığı her dallanma komutunun şartını her zaman dallanmama yönünde
tahmin eder ve ona göre program akışını yönlendirir.
Matematiksel olarak doğru çıkma şansı %50 olsa da, bu uygulamaya göre daha yüksek
değerler alabilir. Bundaki mantık, program yazan kişilerin genelde alışkanlık veya zihinsel
eğilim sonucunda, genellikle koddaki istisnai durumlarla ilgilenen kısımlara erişirken
dallanma şartını kullandıkları görülmüştür.
Dinamik algoritmalar adından da anlaşılacağı gibi, programın akışına veya yaptıkları hatalara
bakarak geleceği tahmin etme yeteneğine sahiptirler. Karmaşık bir yapıya sahip olan bu
algoritmalar, programın başından itibaren dallanma komutlarının bir bakıma tarihçesini
kaydeder ve programın sonraki bölümlerinde rastlayacağı ve aynı veya benzer dallanma
komutlarının tahmin edilmesinde bu bilgilerden faydalanır.
Tarihçe ne kadar geriye yönelik ve ayrıntılı ise tahminlerdeki doğruluk o kadar artar. Bu da,
işlemci üzerinde bu işe yönelik bellek ve birim (BTB-Dallanma adreslerinin tutulduğu yer)
artışı demektir. Programdaki dallanmaların hangi yönde olduğu ve hangi şartlarda dalındığı
hakkında bilgi bu birimlerde tutulur. Program ilerleyişinde dallanmalarda tahmin %90 veya
%98'lere çıkmaktadır.
Çoklu Program İşleme
X86 tabanlı gelişmiş işlemcilerin performansının artırılmasındaki diğer bir adımda, HyperThreading denilen bir teknolojidir. Bu teknoloji ile tek bir işlemci, iki adet işlemci gibi
çalıştırılmaktadır. Çift işlemcili bir sistemin aksine hyper-threading kullanan tek işlemcili bir
sistemde ön-bellek, veri yolu ve firmware, tanımlanan iki adet mantıksal işlemci tarafından
ortaklaşa kullanılmaktadır.
Bu özellik, çok işlemcili sistemlerde görülen Symmetrıc Multiprocessing teknolojisine
benzemektedir. Fakat arada birkaç fark vardır, simetrik çok işlemcili sistemlerde her
işlememin kendisine ait veri yolu, ön-belleği varken, Hyper-threading teknotojisinde
mantıksal işlemciler aynı veri yolunu ve ön-belleği paylaşmak zorundadır. İşletim sistemi ile
ilgili yazılım arasındaki ilişki sonucunda gerekli işlem gücü, birden çok parçaya
ayrılmaktadır.
Mulli-thread destekli yazılımlar birden çok çalışma yüzeyine sahiptirler. Yani bir yüzeye
birden fazla thread'i alırlar ve toplu halde işlemci içerisindeki kontrol işlevlerine yollarlar.
Fakat
burada
gerçekleşen
olayların birbirinden bağımsız
olması
çok
önemlidir.
Hali hazırda var olan Multithreading işlevinin geliştirilmiş
bir modeli olarak Hyperthreading
teknolojisi
yeni
işlemcilere ve ilgili donanımlara
konulmuştur. Bu kavramdaki
mantık, thread değişiminin
sadece işletim sislemi tarafından
yapılmaması ve dolayısıyla daha
yüksek
bir
kararlılık
ve
performans elde edilmesidir.
Burada işlemler ayrı ayrı paralel
veri kanallarından aynı anda
işlenmektedir. Hyper-threading
sisteminde, işletim sistemi ve yazılımların tek bir fiziksel işlemciyi iki mantıksal işlemci
olarak algılaması sağlanmaktadır. Dolayısıyla sürekli olarak en az iki adet thread görünmekte
ve işlemlere anlatıldığı şekilde devam edilmekledir.
Hyper-threading destekli işlemcilerin çalışmasında ilk olarak, işlemci iki adet mantıksal
işlemci olarak tanımlanarak hazır hale getirilmektedir.
Diğer İleri İşlemci Özellikleri
Yukarıda bahsedilen yüksek performanslı ileri işlemci özelliklerine ilave olarak pek çok
özellikler katılabilir. Bu özellikler artık tüm ileri işlemcilerde yaygın olarak kullanılmakladır.
Belli başlıları aşağıda sıralanmıştır:






Multimedya işlemi: İşlemcilerin; resim, ses, grafik ve iletişim gibi işlemlerde
performansının düştüğü bir gerçektir. Tamamına multimedya özellikleri denilen ve
MMX ve 3D NOW gibi adlarla anılan bu özellikler X86 tabanlı işlemcilerin
performansında büyük artış sağlamıştır.
Komutların işlenmesi: MMX komutları kullanılana dek gelişmiş işlemciler, aynı anda
tek bir komutla tek bir veri üzerinde oynayabilme özelliğine (SISD- Single Instruction
Single Data-Tek komut Tek Veri) sahipti.
MMX komut kümesiyle birlikte işlemciler zorunlu olarak tek komutla bir çok veri
üzerinde çalışılabilen (SIMD-Single Insruction Multiple Data-Tek komutla Çok Veri)
bir yeteneğe sahip olmuşlardır. Daha sonraları SSE ve SSE-II denilen bu sistemde
SIMD yeteneğine daha da akışkanlık sağlanarak, mullımedya işlemleri daha hızlı bir
şekilde yürütülmesi hedeflenmiştir.
Komutların mikro-operasyonlara bölünerek sırasız çalıştırılması: Bazı RISC tipi
mikroişlemcilerde daha önce bazılarında daha sonra devreye sokulan gelişmiş komut
işleme mantığı, X86 tipi işlemcilere P6 ailesiyle birlikte girmiştir. Eski CISC tipi
işlemcilerde komutlar bellekten getirilip kodu çözülerek işleniyordu, işlemci sadece
X86 komutlarının kodunu çözüp icra birimine göndermek yerine, onları mikrooperasyon (uop) dizilerine dönüştürerek süperölçekli iş-hattında çalıştırılmak üzere
bekletir.
Çalışma izleme belleği: Çok kademeli iş-hattında dallanmalardan dolayı meydana
gelebilecek gecikmeleri ortadan kaldırmak için çeşitli adlar altında çalışma izleme
belleği denilen birim eklenmiştir. Ön-bellekte bekleyen komutları alıp kodlarını
çözerek anlaşılabilir formlara dönüştürdükten sonra onları icra birimine hazır hale
getiren bir havuzdur.
Yüksek bantgenişliği ve gecikme: Bantgenişliği bir veri yolundan bit olarak belli bir
zamanda ne kadar veri iletilebileceğini gösterir. Yani kabaca, bu yol veya hat ne kadar
veri taşıyabilir. Genellikle bu tabir mikroişlemcili sitemlerde CPU ile RAM
arasındadır. İşlemcinin çalışma frekansının (bu yükselen veya düşen kenarında
olabilir) her bir tıklamasında bu veri yolundan ne kadar bitlik veri
gönderilebileceğidir.
BASİTTEN KARMAŞIĞA MİKROİŞLEMCİ YAPISI
CPU'nun temel kavramları bilindiği varsayılarak, bundan sonraki konularda 8-bitlik mikroişlemcilerden günümüz X86 tabanlı modern işlemcilerine kadar olan genel mimari yapı ele
alınmıştır.
8-BİTLİK MİKROİŞLEMCİLER
Basit bir işlemci üç ana bölümden meydana gelir.
1. Verinin manevrasında kullanılan ve bellek ile aynı yapıya sahip, adresi yerine bir
isimle çağrılan kaydediciler,
2. aritmetik ve mantık işlemlerinin gerçekleştirildiği icra birimi (aritmetik mantık Birimi)
3. Zamanlama ve Kontrol Birimi
KAYDEDİCİLER
İşlemci içinde toplam 14 adet kaydedici vardır: 4 adet genel amaçlı kaydedici, 4 adet Segment
kaydedici, 3 adet işaret kaydedici, 2 adet indis kaydedici ve bir de bayrak kaydecici bulunur.
Genel amaçlı kaydediciler
AX kaydedicisi: (Accumulator) baş kaydedici de denilen bu kaydedici 8, 16, 32 bitlik
verilerle çarpma, bölme, bazı giriş/çıkış işlemlerinde ve bazı harf dizi işlemlerinde etkin
biçimde kullanılırlar.
BX kaydedicisi: (Base) taban adres kaydedicisi olarak bilinen bu kaydedici, bellekteki veriş
gruplarının adresini tutulmasında kullanılırlar.
CX kaydedicisi: (Counter) sayaç kaydedicisi olarak bilinen CX, harf dizi işlemlerinde sayaç
elemanı veya döngü işlemlerinde tekrarlama sayıcısı gibi görevleri yerine getirir.
DX kaydedicisi: (Data) genellikle AX’ e yardımcı olan ve bütün işlemlerde tampon gibi
davranan kaydedicidir. Giriş/çıkış işlemlerinde port numarasını üzerinde tutarken, büyük
değerlikli sayıların çarpılması ve bölünmesinde AX ile birlikte kullanılır.
Segment kaydediciler:
Büyük kapasiteli belleklerde bilgini yönetilmesi oldukça karmaşıktır. Bu sebeple büyük
bellekler belli amaçlarla 64 KB’ lık küçük gruplara ayrılarak daha kolay yönetilirler. Bu
küçük gruplara segment adı verilir.
Kod segment kaydedicisi: (CS. Code segment) bellekte çalıştırılacak komutların sıralı bir
şekilde bulunduğun bölümdür. Programı tarafından yazılan komut kodları sistem tarafından
belleğin bu bölümünde tutulur.
Data Segment kaydedicisi: (DS: data Segment) komutlarla ilgili olan ve bu kodların
işleyeceği verilerin saklandığı bölüm data segmenttir.
Extra Segment: (ES) verilerin çok büyük olduğu data segmentin yetmediği durumlarda
kullanılır. Özellikle harf dizi işlemler bellekte fazla yer tutarlar. Kaynak veriler data
segmentte tutulurken sonuçlar extra segmentte tutulur.
Yığın segment: (SS: Stack segment) veri işlenirken yer yokluğundan veya kaydedici
yetersizliğinden dolayı verinin geçici olarak yerleştirildiği yerdir. Program için alt
yordamların çağrılmasında da kullanılır.
İşaretçi kaydediciler
bellekteki ara adresleri gösteren kaydedicileri işaretçi (pointer) denir.
IP (Instruction pointer) İşlenecek komutun kodunu gösterir.
SP (Stack pointer) yığın bölgesindeki bir verinin yerinin belirlenmesinde kullanılır.
BP (
İndis kaydedicisi
Adres indisleme işlemlerinde kullanılırlar.
SI (source Index) Kaydedicisi: kaynak indisçisidir.
DI (destinaiton Index) kaydedicisi: hedef indisçidir.
Bayrak kaydecisi
Bir işlemin sonunda sonucun ne olduğunu kaydedici bitlerine yansıtan bellek hücresidir.
ARİTMETİK VE MANTIK BİRİMİ
ALU mikroişlemcide aritmetik ve mantık işlemlerinin yapıldığı en önemli bölümlerden
birisidir. Bu birimdeki işlemler, akümülatörle bellekten alınan veri arasında veya
akümülatörle kaydediciler arasında iki veya tek elemana dayalı olarak akümulatörde,
kaydedicide veya bellekten bir kelime üzerinde olabilir.
Aritmetik işlemler denilince akla başta toplama, çıkarma, bölme ve çarpma gelir. İşlemcide
çarpma, akümülatördeki verinin sola bir bit kaydırılarak iki ile çarpılması demek ve bölme,
verinin bir bit sağa kaydırılarak akümülatördeki verinin ikiye bölünmesi demektir. Komutlarla
birlikte bu işlemleri, mantık kapıları, bu kapıların oluşturduğu toplayıcılar, çıkarıcılar ve
kaydıran kaydediciler gerçekleştirirler. Bloklaştırılmış bu devreler bir dahili veri yolu
vasıtasıyla birbirlerine, bir harici veri yolu ve tamponlar vasıtasıyla kaydedicilere ve
zamanlama-kontrol birimine bağlanmışlardır.
Gelişmiş mikroişlemcilerde bu devreler yerleşik vaziyettedir. Ayrıca bahsedilen aritmetik
işlemlerde yuvarlanmış kesirli sayılar yerine tam sayılar üzerinde durulmuştur. Yuvarlanmış
sayılarla 8-bitlik işlemcilerde iş yapmak oldukça zordur. Günümüz işlemcili sistemlerde
mikroişlemci yanına birlikte çalışabilen bir ortak işlemci konulmakta veya mikroişlemci
içerisine yerleştirilmektedir.
ZAMANLAMA VE KONTROL BİRİMİ
Merkezi İşlem Biriminin üçüncü bölümünü meydana getiren bu kısım, sistemin tüm
işleyişinden ve işlemin zamanında yapılmasından kurumludur. Zamanlama ve denetim birimi,
bellekte program bölümünde bulunan komut kodunun alınıp getirilmesi, kodunun çözülmesi,
ALU tarafından işlenmesi ve sonucun alınıp geri belleğe konulması için gerekli olan denetim
sinyallerini üretir. Bilgisayar sisteminde bulunan dahili ve harici bütün durumlar bu denetim
sinyalleri ile denetlenir.
Mikroişlemcinin bu bölümü üç değişik işlevi yerine getirir:
1. Zamanlama denetimi : işlemci harici bir saat sinyali üreten birimden giriş alan iç-saat
devresine sahiptir. Bu sinyal alınarak zamanlama sinyallerine çevrilir ve komut kod
çözücüsüne gönderilir.
2. Komut kod çözücüsü : Bu devre komut kaydedicisinde (IR) tutulan komutları yorumlar ve
ALU' ya kaydedicilerle çalışması için uygun sinyaller gönderir. (kastedilen zamanlama ve
kesme sinyalleri).
3. Kesme mantık birimi : Gerekli durumlarda kesme sinyallerini alarak işlemciyi uyarırlar.
İLETİŞİM YOLLARI
Her ne kadar mikroişlemci mimarisine girmese de işlemciyle ayrılmaz bir parça oluşturan
iletişim yolları gerçekleştirdikleri göreve göre kendi aralarında üçe ayrılırlar.
Adres yolu; komut veya verinin bellekte bulunduğu adresten alınıp getirilmesi veya tersi
işlemlerde adres bilgisinin konulduğu yoldur. 16-bitlik hatta sahip adres yolu tek yönlü yapıya
sahiptir. Çünkü, sadece işaretçi olarak vazife görür.
Adres sadece tarif edilir, gelmez. Adres yolunu meydana getiren hatlar aynı zamanda
adresleme kapasitesini de gösterir. Maksimum bellek kapasitesi 2üssü n'dir. Burada n, adres
hattı sayısıdır. Eğer bir sistemde adres hattı 16-bit ise o sistemin bellek büyüklüğü 2 üzeri
16=65536, kısaca 64 KB olacaktır.
Veri yolu; işlemciden belleğe veya G/Ç birimine veri yollamada ya da tersi işlemlerde
kullanılır. Eğer kaydediciler 8-bitlikse veri yolları da 8-bitliktir. Diğer durumlarda veri iki
parça halinde iki kerede getirilecek ve dolayısıyla zaman kaybı olacak veya kapasite
uyuşmazlığı baş gösterecektir. Veri yolları bilginin çift yönlü taşınmasında (yükle ve sakla
işlemleri) kullanılmaktadır.
Kontrol Yolu; Sisteme bağlı birimlerin denetlenmesini sağlayan özel sinyallerin oluşturduğu
bir yapıya sahiptir. R/W (Read/Write), CS (Chip Select), CE (Chip Enable), Halt (işlemci
durdurma) gibi sinyaller birer kontrol sinyalidir. Kontrol yolunu meydana getiren sinyaller üç
gruba ayrılır:
• Kesme Sinyalleri : Dış dünyadan (çevre elemanlarından) veya işlemci dışarısından
gelebilecek kesme sinyallerinin kullandığı hatlardır. Bunlar; IRQ, NMI veya RESet gibi
sinyallerdir.
• Yön Belirleme Sinyalleri : Verinin hangi yöne gideceğini ve hangi yonganın seçileceğini
belirleyen sinyallerdir (Bellekten okuma veya yazma gibi).
• Zamanlama Sinyalleri : Bu hatları kullanan sinyaller hangi zamanda ne yapılacağını tayin
ederler. Bunlar saat darbeleri ve işlemci içerisinde veya dışarısında bir elemanı tetiklemek
üzere gönderilen sinyallerdir. Meselâ, A kaydedicisine bir veri yükleneceği zaman "in" ucuna
kontrol birimi tarafından bir sinyal gönderilmelidir. Ya da bellekten okunan bir verinin veri
yolu üzerinden sisteme girdiğinde hangi birime gideceği bu yoldan gönderilen sinyalle
belirlenir. Aksi durumda bu veri tüm birimlere yüklenecektir.
Download