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 üniversitelerinkullanabildiği bilgisayarlar iyice küçüldü ve evlere girmeye başladı.
Mikroişlemci ler, açma kapama anahtarı gibi çalışan milyonlarcatransistörden oluşmaktadır. Bu anahtarların programlanma durumuna göreelektrik sinyalleri bunların üzerinden akar. Bu sinyaller, bilgisayarınyaptığı tüm işleri toplama, çıkarma, çarpma ve bölme gibi temelmatematiksel işlemlere indirir. İşlemci de bu işlemleri en basit saymasistemi olan ikilik düzen yani sadece 0 ve 1 sayılarını kullanarakyapar.
Mikroişlemciler her türlü işi ikilik sayma sistemine dökmüştür. MeselaY harfi ikilik sistemde 1011001 ile ifade edilebildiği gibi kırmızıgibi bir renk de bunun gibi ikilik tabandaki üç ayrı sayı grubu ileifade edilir. Aynı şekilde bir ses veya görüntü kaydı da yine bunabenzer ikilik sayı grupları ile ifade edilirler.
Bu sayı grupları üzerinde işlem yapmak için işlemci içerisinde birtakım komut listesinden ibaret bir program mevcuttur. Bu komutlarişlemciye iki sayının çıkarılması, toplanması yönünde emir verebildiğigibi klavyeden girilen tercihlere göre bir takım komut satırını atlayıp(şartlı dallanma - conditional branch) diğer komut satırlarını icraetmeye devam edebilir. Yani klavyeden bir soru karşısında gireceğimiz E(evet) veya H (hayır) ifadelerine göre program belirli komutsatı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 (executionunit) ya da fonksiyon ünitesi (function unit) adı verilen ünitelergerçekleştirir. Modern işlemcilerde değişik komut türlerini işletmeküzere birden fazla fonksiyon ünitesi bulunur. Çoğunluklaaritmetik/mantıksal ünite (arithmetic/logic unit) olarak da anılantamsayı (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 fazlafonksiyon ünitesi varsa aynı anda çalışabilecek komut sayısı da o kadarartar.
Register seti
Register ler, işlem anında bir program tarafından kullanılmakta olansayıların saklandığı geçici hafıza hücreleridir. Farklı komut veregister setlerine sahip olan işlemciler birbirlerinin yazılımlarınıçalıştıramazlar.
Mimari
Mikroişlemciler mimari (architecture) olarak gruplara ayrılırlar. Ortakmimariye 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 ilkx86 tabanlı işlemcisini 8086 olarak 1978 yılında piyasaya sürdü. Dahasonraki 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: ModernMachintosh'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 çokkısıtlıydı. Bu kaynakları tasarruflu bir şekilde kullanabilmek içinIntel x86 tabanlı işlemcilerde CISC (Complex Instruction Set Computing - Karmaşık komut seti ile hesaplama) diye bilinen bir mimari kullandı. CISC'ınkarakteristik iki özelliği, değişken uzunluktaki komutlar ve karmaşıkkomutlardır. Değişken uzunluktaki komutlar hafıza tasarrufu sağlar.Çünkü basit komutlar karmaşık komutlardan daha kısadır. Karmaşıkkomutlar da iki ya da daha fazla komutu tek bir komut halinegetirdikleri için hem hafızadan hem de programda yer alması gerekenkomut 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ızadantaşıma), decode (komutun anlamını çözme) ve komutu çalıştırmaiş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 RISCkomutları sabit bir zaman diliminde işlem görür. Bu da superscalarpipelining teknolojisi kullanan modern işlemciler için önemli birözelliktir.
Pipelining
Pipelining , tıpkı bir fabrikadaki seri üretim bandı gibi çalışır. Birfonksiyon ünitesi, her komutun işletilmesini aşamalarına ayırır. Basitbir pipeline'de beş ya da altı aşama olabilir. Bir superpipeline'da ise10 ya da daha fazla aşama olabilir. Böyle bir pipeline'dan aynı andabirkaç komut birden akabilir. Her komut da ayrı bir aşamada işlemgörmekte olabilir. Superscalar bir işlemcide her birisinin kendisineait pipeline'ı olan iki ya da daha fazla fonksiyon ünitesi yeralabilir. Böyle bir işlemci birkaç komutu birden paralel olarakiş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 olaraksaklandığı bir hafızadır. Cache hafızalar, işlemcinin komutları dahahı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. İşlemciihtiyaç duyduğu komutu ilk önce L1 cache hafızada arar. Eğer işlemcininaradığı komut burada yoksa L2 cache hafızaya bakılır. Eğer burada dayoksa (cache miss durumu) sırayla, RAM ve HDDüzerindeki sanal hafıza üzerinde arar. L1 cache hafıza bunlariçerisinde en hızlı olanıdır ve genellikle işlemcinin üzerine imaledilir. L2 cache hafıza ise L1 e göre daha yavaş olmasına rağmen genede hızı çok yüksektir. Bir kısım işlemcilerde (Celeronların ilknesillerinde olduğu gibi) L2 cache hafıza bulmayabilmektedir. Budurumda L1 cache hafızaya sığmayan komutlar L2 olmadığı için direktolarak daha yavaş olan RAMa yazılmakta ve işlemcinin performansı düşmektedir. L2 cache hafızagenelde 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ızaişlemcinin içine monte edilmiş ve daha hızlı erişim sağlanmıştır.
Dünden bugüne x86 işlemciler
8086/8088
Intel, 16 bitlik 8086 işlemcisini 1978 yılında piyasaya sürdü. Yüksekseviyeli programlama dillerine ve daha etkin işletim sistemlerine sahipilk işlemci olan 8086, IBM uyumlu sistemlerin temelini oluşturdu.Arkasından çıkan 8088 işlemci ile IBM ilk kişisel bilgisayarı (PC) piyasaya sürdü. Bu ilk PC'nin 16K hafizası, grafik özelliği olmayan ekranı ve bir teyp bandı sürücüsü vardı.
Bu ilk işlemci dış veriyolu olarak 8 biti destekliyordu ve 4.77 MHz saat hızında çalışmaktaydı.
80286
Kısa bir süre sonra Intel, 80286 işlemcisini çıkartarak PCperformansını yeni bir seviyeye yükseltti. 80286 işlemci 16 bitveriyolunu hem içte hem de dışta kullanabiliyordu. Bu da kendindenönceki işlemcilerden çok daha fazla ilgi görmesine sebep oldu ve artık PC'ler için daha güçlü yazılımlar üretilmeye başlandı.
80386
Intel'in bir kuşak sonraki işlemcisi olan 80386 işlemcisi PCdünyasına büyük değişiklikler getirdi. SX ve DX modelleri olan buişlemcinin en büyük özelliği 32 bit bir işlemci olmasıydı. 286'lardakiveri yolunun iki katına çıkartılması PC'lerde grafik işlemlerini artırdı. Ayrıca saat hızının 16 MHz'den 33 ve 40 MHz'e çıkartılması işlemleri daha da hızlandırdı.
i486
Intel Nisan 1989 yılında i486 işlemciyi piyasaya sürdü. i486 işlemcisientegre bir chiptir. Bu chip dört farklı işlev grubunu (asıl CPU'yu,bir matematik yardımcı işlemcisini, bir önbellek denetleyicisini veDX/DX2 modellerinde bir adet genel önbellek, DX4 modellerinde ise ikiadet ayrık 8K önbelleği) bir bileşende birleştirmektedir. i486 hemiçten hem de dıştan 32-bit yapı kullanır. Saat hızı olarak da 100 MHz'eulaşmıştır.
Pentium
i486 işlemcilerin hızla yaygınlaştığı bir dönemde Intel P5 kod adıylatasarladığı yeni işlemci ailesini Pentium adıyla piyasaya sürdü. Dışveriyolu 64-bit iç veriyolu ise 256-bit olan bu işlemci iki adet ayrık8K'lık önbelleğe sahiptir. Pentium işlemci 486'lardan farklı olarak ikiadet tamsayı işlemcisine sahiptir. Kayan nokta işlemcisi de iyicegeliştirilmiştir. Ayrıca 486 işlemcilerde olmayan Branch Protection(dallanma tahmini) teknolojisi kullanılmıştır. Bu teknoloji, programsırasında işletilecek olan dallanma (jump) komutlarının dallanacağıtahmin edilen kod kümelerinin daha hızlı erişilen bir ortamakopyalayarak işlenmeye başlanmasına dayanır. Bu şekilde %25 oranındaperformans artışı sağlanır.
Pentium işlemciler 0.28 mikronluk BICMOS ve CMOSteknolojisi ile üretilmişlerdir. 60 MHz, 75 MHz, 90 MHz, 100 MHz, 120MHz, 133 MHz, 166 MHz, 200 MHz ve 233 MHz saat hızında üretilmişlerdir.
Pentium Pro
Pentium işlemcilerin yaklaşık iki katı işlemci gücüne sahip olan buişlemcilerde 5.5 - 6.1 milyon arasında transistör kullanılmıştır. +2.9Vbesleme gerilimi ile çalışan bu işlemci 166 MHz, 200 MHz, 233 MHz ve266 MHz saat hızlarında üretilmişlerdir. Bu işlemci daha çok serverbilgisayarlar için tasarlanmıştır ve x86 tabanındaki işlemciler içinyazılmış tüm yazılımları desteklemektedir. Pentium Pro öncelikle 32bitlik programlara ihtiyaç duyar. Bu sebeple işlemcinin tamperformansla çalışabilmesi için Windows NT gibi gerçek 32 bitlikişletim sistemi kullanılmalıdır.
MMX Teknolojisi
Intel, 1997'nin başlarında Pentium MMX işlemciyi piyasaya sürerekPentium tasarımına yeni bir boyut kazandırdı. Multi Media Extension'ınkısaltılmışı olan MMX , Pentium işlemcisine 57 adet yeni komutuneklenmesiyle oluşmuş bir işlemcidir. Yani birkaç komutun yaptığı bazıişlemler tek komutta toplanmıştır. Single Instruction - Multiple Data-SIMD (Tek Komut - Çoklu Veri) teknolojisinin kullanıldığı buişlemcilerde tek bir komutun getirdiği bir çok işlem paralel olarak birarada yapılabilmektedir.
Bu işlemcilerde multimedya için komut setinin genişletilmesiylebirlikte L1 önbellek kapasitesi de 32 KB'a yani iki katınaçıkartılmıştır. İşlem performansı söz konusu olduğunda MMX işlemcilerinverimliliği tartışılmaz. MMX işlemcilerin hızlı olmasındaki en büyükfaktör önbelleğin büyüklüğüdür. Ayrıca MMX işlemcilerde beslemegerilimi 5V veya 3.2V'tan 2.8V'a düşürülerek işlemci çekirdeğindekikayıp performans düşürüldü. Bu sayede yüksek saat hızına rağmen işlemcidaha az ısınmaktadır.
Pentium II
MMX teknoloji ile yakaladığı performansı Pentium Pro ile birleştirenIntel Pentium II işlemcileri piyasaya sürdü. Pentium II işlemciler hemyapı olarak hem de fiziki olarak önceki işlemcilerden farklılıklartaşımaktadır. Önceki işlemcilerde Soket 7 yi kullanan Intel Pentium IIile birlikte SEC (Single Edge Contact) adını verdiği ve Slot 1'egirecek yapıda bir dizayn kullandı.
Pentium II ailesinin ilk modeli 233 MHz hızında üretildi. Arkasından266 MHz, 300 MHz ve 333 MHz modelleri geldi. Intel bu aşamadan sonra 66MHz'lik veri yolunun yanında 100 MHz'lik veri yolunu da kullanmayabaşladı ve daha sonra çıkan işlemciler 350 MHz, 400 MHz ve 450 MHzolarak çıktı.
Pentium II'lerin yapılarındaki ve veriyolu hızlarındaki budeğişiklikler beraberinde anakartların da çeşidini artırdı. 66 MHz veriyolunu kullanan Pentium II'ler için 440LX chip set kullanan anakartlarüretildi. Arkasından 100 MHz veri yolu kullanan işlemciler için 440BXchip setli (aynı zamanda 66 MHz veri yolunu da destekler) anakartlarüretildi.
Pentium II ailesinin son ferdi olan 450 MHz den sonra Pentium III'ler piyasaya sürüldü.
Celeron
Daha çok iş istasyonları ve CAD/CAMgibi geniş uygulamalar için tasarlanan Pentium II'ler son kullanıcılariçin pahalı gelmekteydi. Bu durumu değerlendiren Intel, sonkullanıcılara yönelik yeni bir işlemci piyasaya sürdü. Celeron isminiverdiği bu işlemcilerin Pentium II'den en büyük farkı L2 ön belleğininolmamasıydı.
Bu serinin ilk ferdi 266 MHz olarak tasarlanmıştır. L2 ön belleğiolmayan Celeronlar Pentium Pro ile aynı performansı göstermektedir. 266MHz işlemcinin arkasından yine L2 önbelleği olmayan Celeron 300üretildi.
İlk nesil Celeron işlemcilerin fiyatı çok cazip olmasına rağmenönbellek gerektiren uygulamalarda yetersiz kalması bu işlemcilereilgiyi azalttı. Bu sırada Intel yine bir atak yaparak 128KB L2önbelleğe sahip Celeron 300A işlemcisini üretti. Arkasından gelen 333MHz, 366 MHz, 400 MHz, 433 MHz ve 466 MHz işlemciler 128 KB önbellekgeleneğini devam ettirdiler.
Celeron işlemciler 333 MHz'e kadar Slot-1 yapısında üretilirken (Şekil 3 ) bundan sonra Soket-370 yapısında üretilmiştir.
Bu işlemciler 0.25 mikron CMOSteknolojisi ile imal edilmişlerdir. Önbellek içermeyen Celeronişlemcilerde 7.5 milyon transistör varken önbellek içeren işlemcilerde19 milyon transistör olduğunu görmekteyiz.
Celeron'ların içerdiği 128 KB önbellek işlemcinin içerisindedir veçekirdek ile aynı hızda çalışırlar. Bu, Celeron işlemcilerin daha kolayoverclock edilmelerini sağlar. Ancak Pentium II'ler her zamanCeleron'lara göre daha üstündürler. Çünkü daha önce de belirttiğimizgibi Celeron'lar son kullanıcılar için, Pentium II'ler ise dahakapsamlı işler için tasarlanmıştır.
Pentium III
Katmai olarak isimlendirilen çekirdekle tasarlanan işlemci, beraberindebir çok yenilikler de getirdi. Daha önce MMX işlemcilerde gördüğümüz(fakat onlardan çok daha karışık) şekilde 70 adet yeni komutla gelen buişlemcinin asıl performansı temel yapısındaki değişiklik olmadığı içinhemen birden bire bilgisayarımızda bir performans artışıgözlenememektedir. Intel, Pentium III'te de Pentium Pro'dan beriiyileştirilerek kullanılagelen çekirdek kısmı kullanılmıştır.
İşlemciye 70 adet yeni komut eklenmiş ve bu komutları kullananbirimlerde değişiklikler yapılmıştır. Bu komutlar MMX'teki gibi bellibir konuya mahsus komut değillerdir ve üç ana başlık altındatoplanırlar.
Intel'in SIMD (Single Instruction, Multiple Data Parallelism - ÇokluVeri Paralelliği Sağlayan Tek Çevrimli Komutlar) genişletmeleri olarakadlandırdığı bu komutlar işlemci içinde farklı çalıştırma birimlerindeişletilirler. Bu komutlardan ilk 50'si FPU (Floating Point Unit -Matematik İşlem Birimi) içerisinde işlenir. Bu şekilde SIMD FPUkomutları normalde onlarca saat çevriminde halledilebilecek 32-bitlikçarpımları tek bir saat çevriminde yapabilmekte ve bu komutlarda aynıanda 4 tanesi birden işletilebilmektedir. Bu sayede 3 boyutla ilgilihesapların yapılma süresi ve MPEG-1 ve MPEG-2 kodlarının çözümleri daha kısa zamanda yapılabilmektedir.
Bu komutlarla birlikte işlemciye eklenmiş diğer yapısal bir değişiklikde 8 adet yeni registerdir. Bu yeni registerlar işlemcide yeni SIMD FPUkomutları tarafından kullanılmak üzere yer alıyorlar. Registerlar128-bit'lik bir genişliğe sahiptir. Bu sayede birden çok (dörde kadar)FP ucu bir register'a yüklenebiliyor ya da SIMD komutları buregisterlarda saklanabiliyor. Bu şekilde Intel, RISC işlemcilere göre en büyük eksiklik olan register sayısının azlığını yavaş yavaş kapamaya başladı.
Pentium III işlemcilere eklenen komutlardan 12 tanesi yeni medyakomutları olarak adlandırılarak MMX ünitesince değerlendirilmektedir.Daha hızlı işlenen iki boyutlu grafikler ile video oynatımı, MPEG çözümünde extra hız, codeclerin kullanılmasında kolaylık ve daha hızlı istatistiki bilgi kullanılması mümkün olmaktadır.
Diğer 8 adet komut ise Pentium III'ün dış dünya ile konuşmasınısağlayan bus kontrolörüne eklenmiştir. Bu komutlar sayesinde daha büyük3D veri tabanlarının kullanım hızını, düzgün video akışını veperformansı düşüren hafıza ıskaları konularında işlemler olur.
Daha önce de bahsettiğimiz gibi Pentium II'nin önbelleği işlemcihızının yarı hızında çalışmaktaydı. Bu durum Pentium III'de de devametmiştir ve bu durum performansı bir miktar düşürmektedir. PentiumIII'lerin yeni çıkan bazı modellerinde cache bellek 256 KB'a düşürülmüşve çekirdek içerisine konarak işlemci ile aynı hızda çalışmasısağlanmıştır. Bu modellerin sonuna E harfi konmaktadır.Ayrıca normalde100 MHz veriyolu hızında çalışan Pentium III işlemcilerin yine yeniçıkan modelleri 133 MHz hızında çalışmaktadır. Bu modellerin sonuna daB harfi eklenmektedir. Mesela Pentium III 600EB işlemcisi 133 MHzhızında çalışan ve 256 KB cache belleğe sahip bir işlemcidir.
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 üniversitelerinkullanabildiği bilgisayarlar iyice küçüldü ve evlere girmeye başladı.
Mikroişlemci ler, açma kapama anahtarı gibi çalışan milyonlarcatransistörden oluşmaktadır. Bu anahtarların programlanma durumuna göreelektrik sinyalleri bunların üzerinden akar. Bu sinyaller, bilgisayarınyaptığı tüm işleri toplama, çıkarma, çarpma ve bölme gibi temelmatematiksel işlemlere indirir. İşlemci de bu işlemleri en basit saymasistemi olan ikilik düzen yani sadece 0 ve 1 sayılarını kullanarakyapar.
Mikroişlemciler her türlü işi ikilik sayma sistemine dökmüştür. MeselaY harfi ikilik sistemde 1011001 ile ifade edilebildiği gibi kırmızıgibi bir renk de bunun gibi ikilik tabandaki üç ayrı sayı grubu ileifade edilir. Aynı şekilde bir ses veya görüntü kaydı da yine bunabenzer ikilik sayı grupları ile ifade edilirler.
Bu sayı grupları üzerinde işlem yapmak için işlemci içerisinde birtakım komut listesinden ibaret bir program mevcuttur. Bu komutlarişlemciye iki sayının çıkarılması, toplanması yönünde emir verebildiğigibi klavyeden girilen tercihlere göre bir takım komut satırını atlayıp(şartlı dallanma - conditional branch) diğer komut satırlarını icraetmeye devam edebilir. Yani klavyeden bir soru karşısında gireceğimiz E(evet) veya H (hayır) ifadelerine göre program belirli komutsatı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 (executionunit) ya da fonksiyon ünitesi (function unit) adı verilen ünitelergerçekleştirir. Modern işlemcilerde değişik komut türlerini işletmeküzere birden fazla fonksiyon ünitesi bulunur. Çoğunluklaaritmetik/mantıksal ünite (arithmetic/logic unit) olarak da anılantamsayı (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 fazlafonksiyon ünitesi varsa aynı anda çalışabilecek komut sayısı da o kadarartar.
Register seti
Register ler, işlem anında bir program tarafından kullanılmakta olansayıların saklandığı geçici hafıza hücreleridir. Farklı komut veregister setlerine sahip olan işlemciler birbirlerinin yazılımlarınıçalıştıramazlar.
Mimari
Mikroişlemciler mimari (architecture) olarak gruplara ayrılırlar. Ortakmimariye 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 ilkx86 tabanlı işlemcisini 8086 olarak 1978 yılında piyasaya sürdü. Dahasonraki 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: ModernMachintosh'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 çokkısıtlıydı. Bu kaynakları tasarruflu bir şekilde kullanabilmek içinIntel x86 tabanlı işlemcilerde CISC (Complex Instruction Set Computing - Karmaşık komut seti ile hesaplama) diye bilinen bir mimari kullandı. CISC'ınkarakteristik iki özelliği, değişken uzunluktaki komutlar ve karmaşıkkomutlardır. Değişken uzunluktaki komutlar hafıza tasarrufu sağlar.Çünkü basit komutlar karmaşık komutlardan daha kısadır. Karmaşıkkomutlar da iki ya da daha fazla komutu tek bir komut halinegetirdikleri için hem hafızadan hem de programda yer alması gerekenkomut 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ızadantaşıma), decode (komutun anlamını çözme) ve komutu çalıştırmaiş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 RISCkomutları sabit bir zaman diliminde işlem görür. Bu da superscalarpipelining teknolojisi kullanan modern işlemciler için önemli birözelliktir.
Pipelining
Pipelining , tıpkı bir fabrikadaki seri üretim bandı gibi çalışır. Birfonksiyon ünitesi, her komutun işletilmesini aşamalarına ayırır. Basitbir pipeline'de beş ya da altı aşama olabilir. Bir superpipeline'da ise10 ya da daha fazla aşama olabilir. Böyle bir pipeline'dan aynı andabirkaç komut birden akabilir. Her komut da ayrı bir aşamada işlemgörmekte olabilir. Superscalar bir işlemcide her birisinin kendisineait pipeline'ı olan iki ya da daha fazla fonksiyon ünitesi yeralabilir. Böyle bir işlemci birkaç komutu birden paralel olarakiş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 olaraksaklandığı bir hafızadır. Cache hafızalar, işlemcinin komutları dahahı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. İşlemciihtiyaç duyduğu komutu ilk önce L1 cache hafızada arar. Eğer işlemcininaradığı komut burada yoksa L2 cache hafızaya bakılır. Eğer burada dayoksa (cache miss durumu) sırayla, RAM ve HDDüzerindeki sanal hafıza üzerinde arar. L1 cache hafıza bunlariçerisinde en hızlı olanıdır ve genellikle işlemcinin üzerine imaledilir. L2 cache hafıza ise L1 e göre daha yavaş olmasına rağmen genede hızı çok yüksektir. Bir kısım işlemcilerde (Celeronların ilknesillerinde olduğu gibi) L2 cache hafıza bulmayabilmektedir. Budurumda L1 cache hafızaya sığmayan komutlar L2 olmadığı için direktolarak daha yavaş olan RAMa yazılmakta ve işlemcinin performansı düşmektedir. L2 cache hafızagenelde 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ızaişlemcinin içine monte edilmiş ve daha hızlı erişim sağlanmıştır.
Dünden bugüne x86 işlemciler
8086/8088
Intel, 16 bitlik 8086 işlemcisini 1978 yılında piyasaya sürdü. Yüksekseviyeli programlama dillerine ve daha etkin işletim sistemlerine sahipilk işlemci olan 8086, IBM uyumlu sistemlerin temelini oluşturdu.Arkasından çıkan 8088 işlemci ile IBM ilk kişisel bilgisayarı (PC) piyasaya sürdü. Bu ilk PC'nin 16K hafizası, grafik özelliği olmayan ekranı ve bir teyp bandı sürücüsü vardı.
Bu ilk işlemci dış veriyolu olarak 8 biti destekliyordu ve 4.77 MHz saat hızında çalışmaktaydı.
80286
Kısa bir süre sonra Intel, 80286 işlemcisini çıkartarak PCperformansını yeni bir seviyeye yükseltti. 80286 işlemci 16 bitveriyolunu hem içte hem de dışta kullanabiliyordu. Bu da kendindenönceki işlemcilerden çok daha fazla ilgi görmesine sebep oldu ve artık PC'ler için daha güçlü yazılımlar üretilmeye başlandı.
80386
Intel'in bir kuşak sonraki işlemcisi olan 80386 işlemcisi PCdünyasına büyük değişiklikler getirdi. SX ve DX modelleri olan buişlemcinin en büyük özelliği 32 bit bir işlemci olmasıydı. 286'lardakiveri yolunun iki katına çıkartılması PC'lerde grafik işlemlerini artırdı. Ayrıca saat hızının 16 MHz'den 33 ve 40 MHz'e çıkartılması işlemleri daha da hızlandırdı.
i486
Intel Nisan 1989 yılında i486 işlemciyi piyasaya sürdü. i486 işlemcisientegre bir chiptir. Bu chip dört farklı işlev grubunu (asıl CPU'yu,bir matematik yardımcı işlemcisini, bir önbellek denetleyicisini veDX/DX2 modellerinde bir adet genel önbellek, DX4 modellerinde ise ikiadet ayrık 8K önbelleği) bir bileşende birleştirmektedir. i486 hemiçten hem de dıştan 32-bit yapı kullanır. Saat hızı olarak da 100 MHz'eulaşmıştır.
Pentium
i486 işlemcilerin hızla yaygınlaştığı bir dönemde Intel P5 kod adıylatasarladığı yeni işlemci ailesini Pentium adıyla piyasaya sürdü. Dışveriyolu 64-bit iç veriyolu ise 256-bit olan bu işlemci iki adet ayrık8K'lık önbelleğe sahiptir. Pentium işlemci 486'lardan farklı olarak ikiadet tamsayı işlemcisine sahiptir. Kayan nokta işlemcisi de iyicegeliştirilmiştir. Ayrıca 486 işlemcilerde olmayan Branch Protection(dallanma tahmini) teknolojisi kullanılmıştır. Bu teknoloji, programsırasında işletilecek olan dallanma (jump) komutlarının dallanacağıtahmin edilen kod kümelerinin daha hızlı erişilen bir ortamakopyalayarak işlenmeye başlanmasına dayanır. Bu şekilde %25 oranındaperformans artışı sağlanır.
Pentium işlemciler 0.28 mikronluk BICMOS ve CMOSteknolojisi ile üretilmişlerdir. 60 MHz, 75 MHz, 90 MHz, 100 MHz, 120MHz, 133 MHz, 166 MHz, 200 MHz ve 233 MHz saat hızında üretilmişlerdir.
Pentium Pro
Pentium işlemcilerin yaklaşık iki katı işlemci gücüne sahip olan buişlemcilerde 5.5 - 6.1 milyon arasında transistör kullanılmıştır. +2.9Vbesleme gerilimi ile çalışan bu işlemci 166 MHz, 200 MHz, 233 MHz ve266 MHz saat hızlarında üretilmişlerdir. Bu işlemci daha çok serverbilgisayarlar için tasarlanmıştır ve x86 tabanındaki işlemciler içinyazılmış tüm yazılımları desteklemektedir. Pentium Pro öncelikle 32bitlik programlara ihtiyaç duyar. Bu sebeple işlemcinin tamperformansla çalışabilmesi için Windows NT gibi gerçek 32 bitlikişletim sistemi kullanılmalıdır.
MMX Teknolojisi
Intel, 1997'nin başlarında Pentium MMX işlemciyi piyasaya sürerekPentium tasarımına yeni bir boyut kazandırdı. Multi Media Extension'ınkısaltılmışı olan MMX , Pentium işlemcisine 57 adet yeni komutuneklenmesiyle oluşmuş bir işlemcidir. Yani birkaç komutun yaptığı bazıişlemler tek komutta toplanmıştır. Single Instruction - Multiple Data-SIMD (Tek Komut - Çoklu Veri) teknolojisinin kullanıldığı buişlemcilerde tek bir komutun getirdiği bir çok işlem paralel olarak birarada yapılabilmektedir.
Bu işlemcilerde multimedya için komut setinin genişletilmesiylebirlikte L1 önbellek kapasitesi de 32 KB'a yani iki katınaçıkartılmıştır. İşlem performansı söz konusu olduğunda MMX işlemcilerinverimliliği tartışılmaz. MMX işlemcilerin hızlı olmasındaki en büyükfaktör önbelleğin büyüklüğüdür. Ayrıca MMX işlemcilerde beslemegerilimi 5V veya 3.2V'tan 2.8V'a düşürülerek işlemci çekirdeğindekikayıp performans düşürüldü. Bu sayede yüksek saat hızına rağmen işlemcidaha az ısınmaktadır.
Pentium II
MMX teknoloji ile yakaladığı performansı Pentium Pro ile birleştirenIntel Pentium II işlemcileri piyasaya sürdü. Pentium II işlemciler hemyapı olarak hem de fiziki olarak önceki işlemcilerden farklılıklartaşımaktadır. Önceki işlemcilerde Soket 7 yi kullanan Intel Pentium IIile birlikte SEC (Single Edge Contact) adını verdiği ve Slot 1'egirecek yapıda bir dizayn kullandı.
Pentium II ailesinin ilk modeli 233 MHz hızında üretildi. Arkasından266 MHz, 300 MHz ve 333 MHz modelleri geldi. Intel bu aşamadan sonra 66MHz'lik veri yolunun yanında 100 MHz'lik veri yolunu da kullanmayabaşladı ve daha sonra çıkan işlemciler 350 MHz, 400 MHz ve 450 MHzolarak çıktı.
Pentium II'lerin yapılarındaki ve veriyolu hızlarındaki budeğişiklikler beraberinde anakartların da çeşidini artırdı. 66 MHz veriyolunu kullanan Pentium II'ler için 440LX chip set kullanan anakartlarüretildi. Arkasından 100 MHz veri yolu kullanan işlemciler için 440BXchip setli (aynı zamanda 66 MHz veri yolunu da destekler) anakartlarüretildi.
Pentium II ailesinin son ferdi olan 450 MHz den sonra Pentium III'ler piyasaya sürüldü.
Celeron
Daha çok iş istasyonları ve CAD/CAMgibi geniş uygulamalar için tasarlanan Pentium II'ler son kullanıcılariçin pahalı gelmekteydi. Bu durumu değerlendiren Intel, sonkullanıcılara yönelik yeni bir işlemci piyasaya sürdü. Celeron isminiverdiği bu işlemcilerin Pentium II'den en büyük farkı L2 ön belleğininolmamasıydı.
Bu serinin ilk ferdi 266 MHz olarak tasarlanmıştır. L2 ön belleğiolmayan Celeronlar Pentium Pro ile aynı performansı göstermektedir. 266MHz işlemcinin arkasından yine L2 önbelleği olmayan Celeron 300üretildi.
İlk nesil Celeron işlemcilerin fiyatı çok cazip olmasına rağmenönbellek gerektiren uygulamalarda yetersiz kalması bu işlemcilereilgiyi azalttı. Bu sırada Intel yine bir atak yaparak 128KB L2önbelleğe sahip Celeron 300A işlemcisini üretti. Arkasından gelen 333MHz, 366 MHz, 400 MHz, 433 MHz ve 466 MHz işlemciler 128 KB önbellekgeleneğini devam ettirdiler.
Celeron işlemciler 333 MHz'e kadar Slot-1 yapısında üretilirken (Şekil 3 ) bundan sonra Soket-370 yapısında üretilmiştir.
Bu işlemciler 0.25 mikron CMOSteknolojisi ile imal edilmişlerdir. Önbellek içermeyen Celeronişlemcilerde 7.5 milyon transistör varken önbellek içeren işlemcilerde19 milyon transistör olduğunu görmekteyiz.
Celeron'ların içerdiği 128 KB önbellek işlemcinin içerisindedir veçekirdek ile aynı hızda çalışırlar. Bu, Celeron işlemcilerin daha kolayoverclock edilmelerini sağlar. Ancak Pentium II'ler her zamanCeleron'lara göre daha üstündürler. Çünkü daha önce de belirttiğimizgibi Celeron'lar son kullanıcılar için, Pentium II'ler ise dahakapsamlı işler için tasarlanmıştır.
Pentium III
Katmai olarak isimlendirilen çekirdekle tasarlanan işlemci, beraberindebir çok yenilikler de getirdi. Daha önce MMX işlemcilerde gördüğümüz(fakat onlardan çok daha karışık) şekilde 70 adet yeni komutla gelen buişlemcinin asıl performansı temel yapısındaki değişiklik olmadığı içinhemen birden bire bilgisayarımızda bir performans artışıgözlenememektedir. Intel, Pentium III'te de Pentium Pro'dan beriiyileştirilerek kullanılagelen çekirdek kısmı kullanılmıştır.
İşlemciye 70 adet yeni komut eklenmiş ve bu komutları kullananbirimlerde değişiklikler yapılmıştır. Bu komutlar MMX'teki gibi bellibir konuya mahsus komut değillerdir ve üç ana başlık altındatoplanırlar.
Intel'in SIMD (Single Instruction, Multiple Data Parallelism - ÇokluVeri Paralelliği Sağlayan Tek Çevrimli Komutlar) genişletmeleri olarakadlandırdığı bu komutlar işlemci içinde farklı çalıştırma birimlerindeişletilirler. Bu komutlardan ilk 50'si FPU (Floating Point Unit -Matematik İşlem Birimi) içerisinde işlenir. Bu şekilde SIMD FPUkomutları normalde onlarca saat çevriminde halledilebilecek 32-bitlikçarpımları tek bir saat çevriminde yapabilmekte ve bu komutlarda aynıanda 4 tanesi birden işletilebilmektedir. Bu sayede 3 boyutla ilgilihesapların yapılma süresi ve MPEG-1 ve MPEG-2 kodlarının çözümleri daha kısa zamanda yapılabilmektedir.
Bu komutlarla birlikte işlemciye eklenmiş diğer yapısal bir değişiklikde 8 adet yeni registerdir. Bu yeni registerlar işlemcide yeni SIMD FPUkomutları tarafından kullanılmak üzere yer alıyorlar. Registerlar128-bit'lik bir genişliğe sahiptir. Bu sayede birden çok (dörde kadar)FP ucu bir register'a yüklenebiliyor ya da SIMD komutları buregisterlarda saklanabiliyor. Bu şekilde Intel, RISC işlemcilere göre en büyük eksiklik olan register sayısının azlığını yavaş yavaş kapamaya başladı.
Pentium III işlemcilere eklenen komutlardan 12 tanesi yeni medyakomutları olarak adlandırılarak MMX ünitesince değerlendirilmektedir.Daha hızlı işlenen iki boyutlu grafikler ile video oynatımı, MPEG çözümünde extra hız, codeclerin kullanılmasında kolaylık ve daha hızlı istatistiki bilgi kullanılması mümkün olmaktadır.
Diğer 8 adet komut ise Pentium III'ün dış dünya ile konuşmasınısağlayan bus kontrolörüne eklenmiştir. Bu komutlar sayesinde daha büyük3D veri tabanlarının kullanım hızını, düzgün video akışını veperformansı düşüren hafıza ıskaları konularında işlemler olur.
Daha önce de bahsettiğimiz gibi Pentium II'nin önbelleği işlemcihızının yarı hızında çalışmaktaydı. Bu durum Pentium III'de de devametmiştir ve bu durum performansı bir miktar düşürmektedir. PentiumIII'lerin yeni çıkan bazı modellerinde cache bellek 256 KB'a düşürülmüşve çekirdek içerisine konarak işlemci ile aynı hızda çalışmasısağlanmıştır. Bu modellerin sonuna E harfi konmaktadır.Ayrıca normalde100 MHz veriyolu hızında çalışan Pentium III işlemcilerin yine yeniçıkan modelleri 133 MHz hızında çalışmaktadır. Bu modellerin sonuna daB harfi eklenmektedir. Mesela Pentium III 600EB işlemcisi 133 MHzhızında çalışan ve 256 KB cache belleğe sahip bir işlemcidir.