Genel Yapý
Bir bilgisayarýn en popüler ve en önemli parçasý iþlemcidir. Kýsaca CPU (Central Processing Unit / Merkezi Ýþlem Birimi) olarak anýlan iþlemciler, adýndan da anlaþýlacaðý üzere bir bilgisayardaki iþlemleri yürüten ve sonuçlarý gerekli yerlere gönderen elemandýr.

1971 yýlýnda Intel firmasýnýn ilk defa binlerce transistörü bir silikon çip üzerinde birleþtirmesinle bilgisayar çaðýnda devrim gerçekleþtirilmiþ oldu. Bu þekilde daha önce sadece büyük þirketlerin ve üniversitelerin kullanabildiði bilgisayarlar iyice küçüldü ve evlere girmeye baþladý.

Mikroiþlemci ler, açma kapama anahtarý gibi çalýþan milyonlarca transistörden oluþmaktadýr. Bu anahtarlarýn programlanma durumuna göre elektrik sinyalleri bunlarýn üzerinden akar. Bu sinyaller, bilgisayarýn yaptýðý tüm iþleri toplama, çýkarma, çarpma ve bölme gibi temel matematiksel iþlemlere indirir. Ýþlemci de bu iþlemleri en basit sayma sistemi olan ikilik düzen yani sadece 0 ve 1 sayýlarýný kullanarak yapar.

Mikroiþlemciler her türlü iþi ikilik sayma sistemine dökmüþtür. Mesela “Y” harfi ikilik sistemde “1011001” ile ifade edilebildiði gibi kýrmýzý gibi bir renk de bunun gibi ikilik tabandaki üç ayrý sayý grubu ile ifade edilir. Ayný þekilde bir ses veya görüntü kaydý da yine buna benzer ikilik sayý gruplarý ile ifade edilirler.

Bu sayý gruplarý üzerinde iþlem yapmak için iþlemci içerisinde bir takým komut listesinden ibaret bir program mevcuttur. Bu komutlar iþlemciye iki sayýnýn çýkarýlmasý, toplanmasý yönünde emir verebildiði gibi klavyeden girilen tercihlere göre bir takým komut satýrýný atlayýp (þartlý dallanma - conditional branch) diðer komut satýrlarýný icra etmeye devam edebilir. Yani klavyeden bir soru karþýsýnda gireceðimiz “E” (evet) veya “H” (hayýr) ifadelerine göre program belirli komut satýrlarýný icra eder veya etmez. Temel olarak, mikroiþlemcinin yaptýðý iþ, bitler üzerinde iþlem yapmak üzere komutlarý çalýþtýrmaktýr.



Üniteler
Ýþlemci üzerinde komutlarý icra etme iþini uygulama ünite si (execution unit) ya da fonksiyon ünitesi (function unit) adý verilen üniteler gerçekleþtirir. Modern iþlemcilerde deðiþik komut türlerini iþletmek üzere birden fazla fonksiyon ünitesi bulunur. Çoðunlukla aritmetik/mantýksal ünite (arithmetic/logic unit) olarak da anýlan tamsayý (integer) üniteleri tam sayýlar ile ilgili iþlemleri yapar. Kayan nokta ünitesi (FPU-Floating Point Unit) ise 5,21 gibi küsuratlý sayýlarla ilgili iþlemleri yapar. Bir mikroiþlemcide ne kadar fazla fonksiyon ünitesi varsa ayný anda çalýþabilecek komut sayýsý da o kadar artar.



Register seti
Register ler, iþlem anýnda bir program tarafýndan kullanýlmakta olan sayýlarýn saklandýðý geçici hafýza hücreleridir. Farklý komut ve register setlerine sahip olan iþlemciler birbirlerinin yazýlýmlarýný çalýþtýramazlar.



Mimari
Mikroiþlemciler mimari (architecture) olarak gruplara ayrýlýrlar. Ortak mimariye sahip olan iþlemciler ayný komutlarý tanýmakta ve ayný yazýlýmlarý çalýþtýrabilmektedirler.

En meþhur mikroiþlemci mimari si Intel’in x86 iþlemcisidir. Intel ilk x86 tabanlý iþlemcisini 8086 olarak 1978 yýlýnda piyasaya sürdü. Daha sonraki yýllarda yeni nesil x86 tabanlý iþlemciler çýkarýldý. 286,386,486, Pentium ve Pentium Pro olarak bu kuþaklarý görebilmekteyiz. Pentium II, Celeron, Pentium III, Xeon ve Katmai, altýncý kuþak Pentium Pro’nun varyasyonlarýdýr.

Intel’in haricindeki diðer mimariler ise þunlardýr: Modern Machintosh’larda bulunan PowerPC, eski Mac’lerdeki 68oxo serisi, Digital ve Compaq’ýn güçlü serverlerinde kullanýlan Alpha ailesi, Silicon Grahics’in Mips Rxooo serisi, Hawlett-Packard’ýn PARISC’i ve Sun Microsystems’e ait SPARC’týr.

Mimariler, ortaya çýktýklarý dönemin felsefesine göre dizayn edilirler. 1970’lerde veri saklama cihazlarý ve hafýza bu güne göre çok kýsýtlýydý. Bu kaynaklarý tasarruflu bir þekilde kullanabilmek için Intel x86 tabanlý iþlemcilerde CISC (Complex Instruction Set Computing - Karmaþýk komut seti ile hesaplama) diye bilinen bir mimari kullandý. CISC’ýn karakteristik iki özelliði, deðiþken uzunluktaki komutlar ve karmaþýk komutlardýr. Deðiþken uzunluktaki komutlar hafýza tasarrufu saðlar. Çünkü basit komutlar karmaþýk komutlardan daha kýsadýr. Karmaþýk komutlar da iki ya da daha fazla komutu tek bir komut haline getirdikleri için hem hafýzadan hem de programda yer almasý gereken komut sayýsýndan tasarruf saðlar.

Ýlerleyen yýllarda CISC’in kýsýtlamalarý ve hafýzayý tasarruflu kullanmanýn önemini yitirmesi neticesinde CISC’a rakip olarak RISC (Reduced Instruction Set Computing - daraltýlmýþ komut seti ile hesaplama) ortaya çýktý.

RISC’ýn komutlarýnýn uzunluðu sabittir (genelde de 32 bit’tir) ve her bir komut basit bir iþlemi yerine getirir. Bir RISC çipi bu iki karakteristik özelliði sayesinde, fetch (komutu hafýzadan taþýma), decode (komutun anlamýný çözme) ve komutu çalýþtýrma iþlemlerini daha kolay bir þekilde yapabilir. RISC’ýn bir dezavantajý kodun uzamasýdýr. Tüm komutlar gerek olsun olmasýn 32 bitliktir. Dolayýsýyla RISC programlarý CISC programlarýndan daha fazla hafýza gerektirebilirler. Buna raðmen decode aþamasýnýn CISC’e göre daha hýzlý gerçekleþmesine ek olarak, çoðu RISC komutlarý sabit bir zaman diliminde iþlem görür. Bu da superscalar pipelining teknolojisi kullanan modern iþlemciler için önemli bir özelliktir.



Pipelining
Pipelining , týpký bir fabrikadaki seri üretim bandý gibi çalýþýr. Bir fonksiyon ünitesi, her komutun iþletilmesini aþamalarýna ayýrýr. Basit bir pipeline’de beþ ya da altý aþama olabilir. Bir superpipeline’da ise 10 ya da daha fazla aþama olabilir. Böyle bir pipeline’dan ayný anda birkaç komut birden akabilir. Her komut da ayrý bir aþamada iþlem görmekte olabilir. Superscalar bir iþlemcide her birisinin kendisine ait pipeline’ý olan iki ya da daha fazla fonksiyon ünitesi yer alabilir. Böyle bir iþlemci birkaç komutu birden paralel olarak iþletebilir.

RISC bu tekniðe daha da elveriþlidir. Çünkü basitleþtirilmiþ komutlar pipeline’lardan daha pürüzsüz bir þekilde akarlar ve CISC komutlarýnýn neden olabildiði týkanmalara maruz kalmazlar.



Cache
Cache , çalýþmakta olan bir programa ait komutlarýn geçici olarak saklandýðý bir hafýzadýr. Cache hafýzalar, iþlemcinin komutlarý daha hýzlý yüklemesini saðlayan yüksek hýzlý hafýzalardýr. Cache hafýzlar, Level 1 (L1) ve Level 2 (L2) olmak üzere ikiye ayrýlýrlar. Ýþlemci ihtiyaç duyduðu komutu ilk önce L1 cache hafýzada arar. Eðer iþlemcinin aradýðý komut burada yoksa L2 cache hafýzaya bakýlýr. Eðer burada da yoksa (cache miss durumu) sýrayla, RAM ve HDD üzerindeki sanal hafýza üzerinde arar. L1 cache hafýza bunlar içerisinde en hýzlý olanýdýr ve genellikle iþlemcinin üzerine imal edilir. L2 cache hafýza ise L1 e göre daha yavaþ olmasýna raðmen gene de hýzý çok yüksektir. Bir kýsým iþlemcilerde (Celeronlarýn ilk nesillerinde olduðu gibi) L2 cache hafýza bulmayabilmektedir. Bu durumda L1 cache hafýzaya sýðmayan komutlar L2 olmadýðý için direkt olarak daha yavaþ olan RAM a yazýlmakta ve iþlemcinin performansý düþmektedir. L2 cache hafýza genelde iþlemcinin yakýnýndaki yüksek hýzlý hafýza çiplerinden oluþur. Bazý yeni iþlemcilerde (Celeron 300A ve sonrasý gibi) L2 cache hafýza iþlemcinin içine monte edilmiþ ve daha hýzlý eriþim saðlanmýþtýr.