-İşlemcilerin+Tarihçesi


 * **İsim** || **Tarih** || **Transistör** || **Mikron** || **Saat Hızı** || **Veri Genişliği** || **MIPS** ||
 * **8080** || **1974** || **6,000** || **6** || **2 MHz** || **8 bit** || **0,64** ||
 * **8088** || **1979** || **29,000** || **3** || **5 MHz** || **16 bit-8 bit** || **0,33** ||
 * **80286** || **1982** || **134,000** || **1,5** || **6 MHz** || **16 bit** || **1** ||
 * **80386** || **1985** || **275,000** || **1,5** || **16 MHz** || **32 bit** || **5** ||
 * **80486** || **1989** || **1,200,000** || **1** || **25 MHz** || **32 bit** || **20** ||
 * **Pentium** || **1993** || **3,100,000** || **0,8** || **60 MHz** || **32 bit-64 bit** || **100** ||
 * **Pentium II** || **1997** || **7,500,000** || **0,35** || **233 MHz** || **32 bit-64 bit** || **~300** ||
 * **Pentium III** || **1999** || **9,500,000** || **0,25** || **450 MHz** || **32 bit-64 bit** || **~510** ||
 * **Pentium IV** || **2000** || **42,000,000** || **0,18** || **1,5 MHz** || **32 bit-64 bit** || **~1,700** ||

İlk mikroişlemci 4004, 1971 yılında Intel tarafından üretildi. 4004 ilk taşınabilen elektronik hesap makinesidir. Intel 4004 mikroişlemcisi sadece toplama ve çıkarma yapabiliyordu. 4 bitlik olan bu mikroişlemci bazı hesap makinelerinde kullanıldı.

1974 yılında üretilen; ev bilgisayarları için kullanılan ilk işlemci Intel 8080 di. Bu işlemci 8 bitlik bir yonga (chip) idi.

Fakat piyasalar asıl etki yapan işlemci yine Intel’in 8088 adlı işlemcisiydi ve bu işlemci 1979 yılında üretildi. IBM PC makinelere hayat veren bu işlemci tam olarak adını 1982 yılında duyurmaya başladı.

Bütün bu işlemciler Intel tarafından üretildi ve hepside temelde 8088 tasarımının geliştirilmesiyle ortaya çıktı. Günümüzde kullandığımız Pentium 4, 8088’lerdeki her hangi bir kodu çalıştırabilir fakat 5000 kez daha hızlıdır.

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.

İşlemci 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 kümesi) 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.