Mikroişlemci
Mikroişlemci, işlemci (bazen kısaltma olarak µP kullanılır) ana işlem biriminin (CPU) fonksiyonlarını tek bir yarı iletken tümdevrede (IC) birleştiren programlanabilir bir sayısal elektronik bileşendir. Mikroişlemci, ana işlem birimindeki kelime boyutunun (word size) 32 bit ten 4 bit e düşürülmesiyle doğmuştur. Böylece, ana işlem biriminin mantıksal devrelerinin transistörleri tek bir parçaya sığdırılabilmiştir. Bir veya daha çok mikroişlemci, tipik olarak bir bilgisayar sisteminde, gömülü sistemde ya da bir mobil cihazda ana işlem birimi olarak görev yapmaktadır.
1970’lerin ortalarından itibaren mikroişlemciler, mikrobilgisayarların doğuşunu mümkün kılmıştır. Bundan önce, tipik olarak elektronik ana işlem birimleri, sadece birkaç transistöre eşdeğer büyük, ayrık anahtarlama (switching) aygıtları (daha sonra small-scale tümdevreler) kullanılarak yapılıyordu. İşlemciyi, bir ya da birkaç large-scale tümdevre (binlerce veya milyonlarca ayrık transistörün eşdeğeri) içine gömmekle işlemci gücü fiyatı büyük ölçüde düşürüldü. 1970’lerin ortalarında tümdevrelerin doğuşuyla mikroişlemci, diğer bütün türleri değiştirip, ana işlem biriminin yapımında en yaygın yol oldu.
Performansın yıllar boyu sürekli artışı söz konusu olunca, mikroişlemcilerin evrimi Moore Kanunu’na uyar. Bu kanun bir tümdevrenin karmaşıklığının, en düşük bileşen maliyetine göre her 24 ayda iki katına çıktığını söyler. Bu görüşün doğruluğu 1970’lerin başından beri kanıtlanmıştır. Hesap makineleri için sürücü olarak başladıkları alçakgönüllü yolculukta, güçlerindeki sürekli artış, mikroişlemcilerin diğer bilgisayar biçimleri arasında dominant olmasını sağladı. Günümüzde, en büyük ana bilgisayarlardan, en küçük el bilgisayarlarına kadar her sistem çekirdeğinde mikroişlemci kullanılmaktadır.
Tarihçe
İlk mikroişlemciler
Teknolojideki birçok gelişmeyle beraber, mikroişlemci artık zamanı gelen bir fikirdi. Üç proje, yaklaşık aynı zamanda tartışmalı bir şekilde tam bir mikroişlemciyi doğurmuştu: Intel’in 4004’ü, Texas Instruments’ın TMS 1000’i ve Garrett AiResearch’ün Central Air Data Computer’ı. 1968’de Garrett’ın, Birleşik Devletler ordusunun yeni uçağı F-14 Tomcat’in ana uçuş kontrol bilgisayarını yapması istendi. Tasarım 1970’de tamamlanmıştı ve çekirdek ana işlem biriminde olduğu gibi MOS tabanlı bir yonga seti (chipset) kullanıyordu. Tasarım, yarıştığı diğer mekanik sistemlere göre daha küçük ve çok daha güvenilirdi ve bütün öncü Tomcat modellerinde kullanılmıştı. Fakat sistem o kadar gelişmiş görüldü ki; ordu, tasarımın yayınlanmasını 1997’ye kadar reddetti. Bu yüzden, kullandığı CADC ve MP944 yonga setleri günümüzde bile hala tam olarak bilinememektedir.
Texas Instruments (TI), 4-bit TMS 1000’i üretti ve önceden programlanmış gömülü uygulamalara önem verdi. 17 Eylül 1971’de TMS1802NC olarak adlandırılan bir versiyon, bir hesap makinesinin tüm işlevlerini bir çip üzerinde gerçekleştirebiliyordu. Intel’in çipi 4-bit 4004, 15 Kasım 1971’de piyasaya sürüldü ve Federico Faggin tarafından geliştirildi.
TI, mikroişlemci için patent başvurusunda bulundu. Gary Boone, 4 Eylül 1973’de tek-çip mikroişlemci mimarisiyle U.S. Patent 3,757,306 aldı. Hangi şirketin laboratuvarlarında ilk çalışan mikroişlemciye sahip olduğunu bilmek hiçbir zaman mümkün olmayabilir. İlginç bir şekilde, bir üçüncü şahıs “mikroişlemci” yi de kapsayabilen bir patente sahip olduğunu iddia etti. Bu sitede, bir mucidin TI ve Intel’den önce bulduğu, “mikroişlemci” sayılabilecek ya da sayılamayacak, “mikrodenetleyici” (microcontroller) anlatılmaktadır.
Mikroişlemcinin değişik bir biçimi olan bir-çipte-bilgisayar, (computer-on-a-chip) mikroişlemci çekirdeği (CPU), bellek ve G/Ç (giriş/çıkış) hatlarının hepsini tek bir çip üzerinde toplar. Bir-çipte-bilgisayar patenti (o sıralarda “mikrobilgisayar patenti” olarak adlandırılıyordu) U.S. Patent 4,074,351, TI’dan Gary Boone ve Michael J. Cochran’a verilmişti. Bu patent bir yana, mikrobilgisayarın standart anlamı ana işlem birim(ler)i olarak bir veya daha fazla mikroişlemci kullanan bilgisayar iken, patentte tanımlanan kavram muhtemelen bir mikrodenetleyiciye daha yakındır.
A History of Modern Computing, (MIT Press), pp. 220–21’e göre, Intel tasarlamakta olduğu bir terminalde kullanılacak bir çip için, daha sonra ismi Datapoint olacak olan San Antonio TX orijinli Computer Terminals Corporation ile bir anlaşma yaptı. Daha sonra Datapoint çipi kullanmaktan vazgeçti ve Intel bunu Nisan 1972’de 8008 olarak piyasaya sürdü. Bu, Dünya'nın ilk 8-bit mikroişlemcisiydi. 8008 ve halefleri, dünyaca ünlü 8080, mikroişlemci bileşen pazaryerini oluşturdu.
Önemli 8-bit tasarımlar
4004’ü, daha sonra, 1972’de, Dünya'nın ilk 8-bit mikroişlemcisi olan 8008 takip etti. Bu işlemciler, çok başarılı olan Intel 8080 (1974), Zilog Z80 (1976) ve Intel 8-bit işlemcilerin türevlerini müjdeliyordu. Rekabet eden Motorola 6800, Ağustos 1974’de piyasaya sürüldü. Mimarisi 1975’de, 1980’lerde Z80’in popülerliğiyle yarışacak olan MOS Technology 6502’de kopyalandı ve geliştirildi.
Z80 de 6502 de, daha küçük paketleme (packaging), basit bilgisayar bus ihtiyaçları ve ayrı bir çip üzerinde bulunması gereken devrelerin eklenmesiyle (örneğin, Z80 bellek denetleyici içermekteydi) genel maliyeti düşürmek üzerine yoğunlaşmıştı. Bu özellikler, 1980’lerin başındaki ev bilgisayarı “devrim” ini mümkün kıldı.
Western Design Center, Inc. (WDC) 1982’de CMOS 65C02’yi tanıttı. Bu tasarım Apple IIc ve IIe kişisel bilgisayarların, otomotiv, endüstriyel ve tüketim aygıtlarının çekirdeğini oluşturdu. Motorola 1978’de MC6809’ü üreterek bütün 8-bit Dünyası'nda büyük yankı uyandırdı. MC6809 tartışmaya açık bir şekilde, gelmiş geçmiş en güçlü, ortogonal ve en temiz 8-bit mikroişlemciydi – aynı zamanda üretime geçen mikroişlemciler arasında en karmaşık sert telli mantıksal tasarıma sahipti. Yaklaşık bu zamanlarda, MC6809’dan daha güçlü tasarımlar için mikrokodlama (microcoding) sert telli mantığın yerine geçti – bunun nedeni özellikle sert telli mantık için tasarım gereksinimlerinin çok fazla karmaşık olmaya başlamasıydı.
Başka bir 8-bit mikroişlemci ise Signetics 2650’ydi. Bu mikroişlemci, yenilikçi ve güçlü komut kümesi mimarisiyle (instruction set architecture) kısa bir ilgi gördü.
Başka bir mikroişlemci ise uzay uçuşu Dünyası'nda kullanılan RCA’nın RCA 1802’siydi (CDP1802, RCA COSMAC (1976)). NASA’nın 1970’lerdeki Voyager ve Viking uzay sondalarında kullanıldı. CDP1802’nin kullanılmasının sebebi düşük güç tüketimi ve üretim süreci nedeniyle (safirde silikon) kozmik radyasyona ve elektrostatik yayılımlara karşı o zamanın diğer işlemcilerinden daha iyi dayanmasıydı. Bu nedenle, 1802, radyasyona karşı güçlendirilmiş ilk mikroişlemci olarak kabul edilir.
16-bit tasarımlar
İlk çoklu-çip (multi-chip) mikroişlemci 1973’de üretilen National Semiconductor IMP-16’ydı. Bu yonga setinin 8-bit versiyonu 1974’de IMP-8 olarak piyasaya sürülmüştü. 1975’de National ilk tek-çip 16-bit mikroişlemciyi, PACE’i, üretti. PACE’i daha sonra NMOS versiyonu olan INS8900 takip etti.
TI’ın 16-bit mikroişlemcisi TMS 9900, TI-990 tipi mikrobilgisayarlarla uyumluydu. 9900, ayrıca TI 990/4 mikrobilgisayar, TI-99/4A ev bilgisayarı ve TM990 tipi OEM mikrobilgisayarlarda kullanılıyordu. Intel 8080 gibi çoğu 8-bit mikroişlemci, daha yaygın, küçük ve ucuz plastik 40-pin DIP’le paketlenirken, 9900, büyük bir seramik 64-pinli DIP’le paketleniyordu. TMS 9900’ün ardından TMS 9980, Intel 8080 ile rekabet etmek için tasarlanmıştı. 9980, bütün TI 990'lar 16-bit komut setine sahipti; plastik 40-pin paket kullanıyordu; tek seferde 8 bit taşıyabiliyordu fakat sadece 16KB adresleyebiliyordu. Üçüncü bir çip, TMS 9995 yeni bir tasarımdı. Aile daha sonra 99105 ve 99110’u da kapsayacak şekilde genişledi.
1984’de The Western Design Center, Inc. (WDC) WDC CMOS 65C02’nin 16-bit yükseltmesi olan CMOS 65816’yı üretti. 65816 16-bit mikroişlemcisi, Apple IIgs’nin ve daha sonra da Super Nintendo Eğlence Sistemi’nin çekirdeğini oluşturdu. Bu, 65816’yı tüm zamanların en popüler 16-bit tasarımlarından biri yaptı.
Intel değişik bir yol izledi. Emüle edecek bir minibilgisayar olmadan 8080 tasarımlarını geliştirerek 16-bit Intel 8086’yı, modern PC tip bilgisayarların çoğunda bulunan x86 ailesinin ilk üyesini, üretti. İlk IBM kişisel bilgisayarı, model 5150’de kullanılan 8088 mikroişlemcisi, 8086’nın harici bir 8-bit data bus a sahip versiyonuydu. 8086 ve 8088 sonrasında Intel 80186, 80286 ve 1985’de 32-bit 80386’yı üretti ve işlemci ailelerinin geriye uyumluluğuyla; PC piyasasındaki egemenliğini sağlamlaştırdı.
Gömülü mikroişlemci bellek yönetim birimi (the integrated microprocessor memory management unit) (MMU), Intel’de Childs et al. tarafından ortaya atıldı ve 4,442,484 numaralı Birleşik Devletler patenti alındı.
32-bit tasarımlar
32-bit tasarımları ortaya çıkmaya başladıktan sonra 16-bit tasarımları piyasada çok fazla kalamadı.
32-bit tasarımların en ünlülerinden biri, 1979’de üretilen MC68000 idi. Sık bilinen adıyla 68K, 32-bit yazmaçlara (register), fakat 16-bit dahili data yollarına (data paths) ve pin sayısını azaltmak üzere 16-bit harici data bus a sahipti ve yalnızca 24-bit adreslemeyi destekliyordu. Motorola’nın onu genel olarak 16-bit bir işlemci olarak tanıtmasına rağmen, açık bir şekilde 32-bit mimarisine sahipti. Yüksek hız, büyük (16 megabayt) bellek alanı ve nispeten ucuz fiyatı onu sınıfının en popüler ana işlem birimi tasarımı haline getirdi. Atari ST ve Commodore Amiga gibi 1980’lerin ortalarındaki sistemlerde kullanılmasının yanı sıra aynı zamanda Apple Lisa ve Macintosh sistemlerinde de 68000 kullanılmıştır.
Dünyanın ilk tek-çip tam 32-bit mikroişlemcisi (32-bit data yolları, 32-bit bus lar ve 32-bit adresleme), ilk örnekleri 1980’de gelen ve üretime 1982’de geçen AT&T Bell Labs BELLMAC-32A idi (Bu kaynakçasal referans a ve bu genel referans a bakabilirsiniz). 1984’de AT&T’nin dağılmasından sonra bu mikroişlemciye WE 32200 adı verildi (WE Western Electric’in kısaltmasıydı) ve iki takipçi nesile sahip oldu: WE 32100 ve WE 32200. Bu mikroişlemciler, AT&T 3B5 ve 3B15 mikrobilgisayarlarda, Dünya'nın ilk masaüstü süpermikrobilgisayarı 3B2’de, Dünya'nın ilk 32-bit dizüstü bilgisayarı “Companion”da ve günümüzdeki oyun konsollarındakine benzer ROM-pack bellek kartuşu kullanan Dünya'nın ilk kitap-boyutunda (book-sized) süpermikrobilgisayarı “Alexander” da kullanıldı. Bu sistemlerin tümü UNIX System V işletim sistemini çalıştırıyordu.
Intel’in ilk 32-bit mikroişlemcisi iAPX 432 idi. 1981’de üretilen bu mikroişlemci, ticari bir başarıya ulaşamadı. Gelişmiş bir yetenek tabanlı nesne yönelimli mimariye (capability-based object-oriented architecture) sahipti. Fakat Motorola 68000 gibi rakip mimarilere göre düşük performans elde ediliyordu.
Motorola’nın 68000 ile yakaladığı başarı, sanal bellek (virtual memory) desteği sunan MC68010’u doğurdu. 1985’de tanıtılan MC68020 tam 32-bit data ve adres bus larına sahipti. 68020, Unix süpermikrobilgisayar piyasası ve masaüstü sistemler üreten birçok küçük şirket (örneğin; Altos, Charles River Data Systems) için çok popüler oldu. Bunu takiben, MMU’yu çipe ekleyen MC68030 ile beraber 68K ailesi, DOS çalıştırmayan her sistem için uygun işlemci oldu. Devam eden başarı, daha iyi aritmetik performans için FPU’ya sahip olan MC68040’ı doğurdu. 68050, hedeflediği performansa ulaşamadı ve piyasaya sürülmedi. Takipçisi MC68060, piyasaya çok daha hızlı bir RISC tasarımla sürüldü. 1990’ların başlarında 68K ailesi masaüstü piyasasından çekildi.
Diğer büyük şirketler, 68020’yi tasarladı ve takipçilerini gömülü ekipmanlarda (embedded equipment) kullandılar. Bir noktada, gömülü ekipmanlardaki 68020’lerin sayısı, PC’lerdeki Intel Pentium’lardan daha fazlaydı (Gömülü kullanım bilgisi için bu siteye bakınız). ColdFire işlemci çekirdekleri, saygıdeğer 68020’nin türevleriydi.
Bu zaman süresince (1980’lerin başlarından ortalarına kadar), National Semiconductor, NS 16032 adında (daha sonra 32016 ismi verildi) 68020’ye çok benzer bir 16-bit pinout lu, 32-bit dahili mikroişlemciyi, tam 32-bit versiyonu olan NS 32032’yi ve bir sınıf 32-bit endüstriyel OEM mikrobilgisayarları üretti. 1980’lerin ortalarında, Sequent, NS 32032 kullanarak; ilk simetrik çoklu-işlemcili (symmetric multiprocessor (SMP)) server sınıfı bilgisayarı üretti. Bu, 32032’nin birkaç başarısından biriydi ve 1980’lerin sonunda piyasadan çekildi.
MIPS R2000 (1984) ve R3000 (1989) çok başarılı 32-bit RISC mikroişlemcilerdi. Uç sınıf (high-end) iş platformlarında ve server larda kullanıldı.
Diğer tasarımlardan biri, piyasaya çok geç giren ve çabuk çekilen ilginç Zilog Z8000’di.
1980’lerin sonlarındaki “mikroişlemci savaşları” bazı mikroişlemcileri öldürdü. Örneğin, sadece bir ana tasarım kazancıyla, Sequent’in NS 32032’si yok oldu ve Sequent, Intel mikroişlemcileri kullanmaya başladı.
1985’den 2003’e kadar 32-bit x86 mimarisi, masaüstünde, dizüstünde ve server piyasasında giderek yaygınlaştı ve bu mikroişlemciler gittikçe daha hızlı ve daha yetenekli hale geldiler. Intel, mimarisinin öncü versiyonlarını diğer şirketlere lisansladı fakat Pentium'u lisanslamayı reddetti. Bu yüzden AMD ve Cyrix, kendi tasarımlarını yaparak bu mimarinin daha sonraki versiyonlarını gerçekleştirdiler. Bu kısa süre içinde, işlemcilerin karmaşıklığı (transistör sayısı) ve yetenekleri (komut/saniye) en az 1000 katına çıktı.
64-bit masaüstü mikroçipler
1990’ların başlarından beri bazı piyasalarda 64-bit mikroişlemciler kullanılırken, 2000’lerin başları PC piyasası için hedeflenmiş 64-bit mikroçiplerin doğuşu olarak kabul edilir.
AMD’nin Eylül 2003’te ilk 64-bit IA-32 ile geriye uyumlu mimarisi olan AMD64’ü tanıtmasından sonra, Intel de kendi x86-64 ciplerini üretti ve 64-bit masaüstü çağı başlamış oldu. İki işlemci de eski 32-bit uygulamaları çalıştırabilirken, yeni 64-bit yazılımları da destekliyordu. 64-bit Windows XP ve 64-bit çalışabilen Linux ile yazılımlar da bu işlemcilerin bütün gücünü ortaya çıkarma fırsatı buldu. 64-bit e geçiş sadece yazmaç boyutlarının IA-32’ye göre artması değil ayrıca yaşlanmış CISC tasarımı için genel amaçlı yazmaçların sayısının da iki katına çıkması demekti.
64 bit e geçiş, 90’ların başlarında PowerPC işlemcilerinin tasarımından beri amaçlanmıştı ve uyumsuzluk için büyük bir neden değildi. Mevcut tamsayı yazmaçları, ilgili data yolları gibi genişletilmişti fakat birkaç yıl boyunca IA-32’de olduğu gibi floating point ve vektör birimleri 64 bit veya daha fazlasında çalışıyordu. x86-64’e genişleyen IA-32’de olanın aksine, 64-bit PowerPC’ye yeni bir genel amaçlı yazmaç eklenmedi. Böylece, geniş adres alanını kullanmayan 64-bit modu uygulamaları çalıştırılırken elde edilen performans kazancı az oluyordu.
Çok-çekirdekli işlemciler
1990’ların başlarından beri server larda ve iş platformlarında kullanılan ve popüler olan simetrik çokluişlem (multiprocessing) tasarımlarında olduğu gibi, bilgisayarın performansını arttırmak için değişik bir yaklaşım da bilgisayara daha fazla işlemci eklemekti. Moore Kanunu’na uygun kalmak; çip yapma teknolojileri, teknolojinin fiziksel sınırlarına yaklaştıkça daha da zorlaşmaktadır. Bu yüzden, piyasadaki sabit gelişimlerin hızını yakalamak için mikroişlemci üreticileri performansı arttırmak adına başka yollar aramaktadırlar.
Birçok-çekirdekli işlemci, kabaca birden fazla mikroişlemci çekirdeğini kapsayan tek bir çiptir. Etkin olarak, potansiyel performansı çekirdek sayısıyla çarpmak (işletim sistemi ve yazılım birden çok işlemcinin avantajını kullanacak şekilde tasarlamışsa) genel performansı verir. Bus arayüzü ve ikinci seviye önbellek (second level cache) gibi bazı bileşenler çekirdekler arasında paylaşılabilir. Çekirdekler fiziksel olarak birbirlerine çok yakın olduğu için, ayrık çokişlemcili sistemlere göre, birbirleriyle iletişimleri çok daha yüksek saat hızlarında gerçekleşir ve böylece genel sistem performansı artmış olur.
2005’de, ilk büyük piyasa çift-çekirdek (dual-core) işlemcileri duyuruldu ve 2006 itibariyle, server lar için dört-çekirdek (quad-core) işlemciler kullanılabilir olmaya başlarken, çift-çekirdek işlemciler uç-sınıf server larda ve iş platformlarında yaygın olarak kullanılmaktadır.
RISC
1980’lerin ortalarından 1990’ların başlarına kadar, birçok yeni, yüksek performanslı RISC (azaltılmış komut kümesi bilgisayarı (reduced instruction set computer)) mikroişlemciler üretildi. Bu mikroişlemciler, özel amaçlı makinelerde ve Unix iş platformlarında kullanıldı ve Intel-standart masaüstü hariç bütün rollerde evrensel bir hale geldi.
İlk ticari tasarım, MIPS Technologies tarafından yapıldı, 32-bit R2000 (R1000 piyasaya sürülmemişti). R3000 tasarımı gerçekten pratik bir hale getirmişti ve R4000 Dünya'nın ilk 64-bit tasarımı olarak tanıtıldı. Rakip projeler, IBM’in POWER ve Sun’ın SPARC sistemlerini doğurdu. Kısa bir süre içinde, tüm büyük üreticiler bir RISC tasarımı üretmeye başladılar. Bunlardan bazıları ise: AT&T CRISP, AMD 29000, Intel i860 ve Intel i960, Motorola 88000, DEC Alpha ve HP-PA’ydı.
Piyasa güçleri, ana masaüstü RISC işlemci olarak PowerPC’yi ve sadece Sun tasarımlarında kullanılan SPARC’ı bırakarak; bu tasarımlardan çoğunun eriyip gitmesine neden oldu. MIPS, en önemlisi Cisco router larında olduğu gibi çoğu gömülü tasarım olarak kullanılan bazı SGI sistemleri sağlamaya devam etmektedir. Orijinal tasarımların geri kalanı ise günümüzde ya yok olmuştur ya da yok olma eşiğindedir. Diğer şirketler, özellikle ARM’a yöneldi. ARM orijinal olarak ev bilgisayarlarını amaçlamış fakat daha sonra gömülü işlemci piyasasına yoğunlaşmıştır. Bugün, MIPS, ARM veya PowerPC çekirdeği tabanlı RISC tasarımları işlemsel aygıtların (computing devices) çok geniş bir çoğunluğuna güç vermektedir. 64-bit hesaplamalarında, DEC Alpha, AMD64, MIPS, SPARC, Power Mimarisi ve HP-Intel Itanium popüler tasarımlardır..
Özel amaçlı mikroişlemciler
“Mikroişlemci” terimi, geleneksel olarak bir tek-çip veya çoklu-çip ana işlem birimini veya bir-çipte-sistemi (System-on-a-chip (SoC)) işaret ederken; aynı teknolojiyle birkaç tip özelleşmiş işlem aygıtı üretildi. En yaygın örnekler mikrodenetleyicilerdir: Sayısal Sinyal İşleyiciler (Digital Signal Processors (DSP)) ve Grafik işleme birimleri (Graphics processing units (GPU)). Bunların çoğu örneği, ya programlanabilir değil ya da kısıtlı programlama yeteneklerine sahiptir. Örneğin, genelde 1990’lardaki GPU’lar büyük ölçüde programlanabilir değildi ve ancak yakın zamanda programlanabilir vertex shader gibi sınırlı yeteneklere kavuştular. “Mikroişlemci” ile ne tanımlandığı konusunda evrensel bir konsensüs yoktur fakat aksi özellikle belirtilmemişse terimin bir özel amaçlı işlemciyi değil genelde bir genel amaçlı ana işlem birimini işaret ettiğini varsaymak yanlış olmaz.
RCA 1802, statik tasarım a sahipti. Statik tasarımın anlamı, saat frekansının keyfi olarak 0 Hz e, tam bir durma haline, kadar düşürülebilmesiydi. Bu, Voyager/Viking/Galileo uzay araçlarının yolculuklarının olaysız anlarında minimum elektrik enerjisi tüketmesini sağlıyordu. Yön bulma güncellemeleri, Dünya'ya göre meyil kontrolü, data alımı ve radyo iletişimi gibi önemli görevlerde zamanlayıcılar ve/veya sensörler işlemciyi zamanında hızlandırabiliyordu.
Sınıflandırma
Günümüzde tasarlanan ve üretilen işlemciler PC’lerde, cep telefonlarında, gömülü sistem uygulamaları gibi hayatımızın pek çok alanında kullandığımız elektronik aletlerde kullanılmaktadır. Tarihsel işlemci tasarım sürecinde teknolojinin hızla gelişmesiyle bazı tasarımlar güncelliğini kaybetmiştir, bununla birlikte bazı tasarımların kullanımına ise günümüzde de devam edilmektedir. Bu kadar çeşitli alan için tasarlanan işlemciler elbette tek bir kriter göz önüne alınarak sınıflandırılamaz. İşlemci sınıflandırması birçok farklı duruma göre yapılabilir. Bunlar: paralelliğe, mimariye, belleklere, adresleme kiplerine göre yapılabilmekte.
Paralelliğe göre sınıflandırma
Bu sınıflandırma paralel ve paralel olmayan şeklindedir.
Paralel olmayan
Single-cycle işlemciler
Adından da anlaşılabileceği gibi bu gruba dahil olan işlemcilerde komutlar eşit cycle sayısında işlenir. Örneğin türn komutların 1 ya da 2 saat çevriminde bitirilmesi gibi. İşlemcide kullanılacak saat hızı seçiminde en yavaş komut (critical path) dikkate alınarak seçim yapılmalıdır.
Multi-cycle işlemciler
Tasarımı single cycle tasarımına göre daha zordur. Tasarım yapılırken komutlar daha küçük kısımlara ayrılırlar. Bu küçük kısımlar daha hızlı bir saat çevrimi ile işlenir. Örneğin bir komut 5 küçük kısma ayrılıp 5 cycle da işlenirken başka bir komut 2 cycle da tamamlanabilir. Performans olarak kısa komutların çokça kullanıldığı bir programda single-cycle işlemcilerden hızlıdır. Tasarım yapılırken daha fazla componente ihtiyaç duyulur.
Paralel
Pipeline (iş hattı) işlemciler
Çok tekrarlanan ve alt parçalara bölünen işlemlerde kullanılır. Genel yapısı yandaki resimde gösterildiği gibidir.[1]
Pipeline aritmetik iş hattı ve komut iş hattı( Instruction Pipeline) olmak üzere iki kısımdan oluşur.[2] Merkezi işlem birimleri komutları işlenirken belli alt işlemleri tekrar ederler. En basit iş hattı iki segmanlı olarak kurulabilir. Verimi artırmak için komut işlemi daha küçük parçalara ayrılabilir.
- Komut al
- Komut çöz
- Efektif adres hesapla
- Operand al
- Komut yürüt
- Sonucu yaz
Superscalar işlemciler
Superscalar işlemciler, her saat sinyalinde birçok komutu okuyarak kendi komut sıralamasına koyar.[3] Aynı anda aynı fonksiyonel üniteler birden fazla komut tarafından kullanılamayacağından superscalar işlemcilerde fonksiyonel üniteler birden fazladır. Bunun dışında komutların program sırası dışında (out of order execution) işlenmesine olanak sağlayan yapılar ile paralellik arttırılabilir. Bu işlem “reorder buffer” ya da genişletilmiş register file ile sağlanabilir.[4]
Adresleme kiplerine göre sınıflandırma
CISC mimarisi
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 bellekleri hem de programda yer alması gereken komut sayısından tasarruf sağlar. CISC yapısının en çok kullanıldığı alan sinyal işlemede kullanılan DSP işlemcileridir.[3]
RISC mimarisi
RISC mimarisi, CISC mimarili işlemcilerin kötü yanlarını piyasanın tepkisi ve ona bir alternatif olarak, işlemci mimari tasarımlarında söz sahibi olan IBM, Apple ve Motorola gibi firmalarca sistematik bir şekilde geliştirilmiştir. RISC yapısının güzelliği, basit yapılar içermesinden dolayı bu yapıların kullanılarak çok farklı şekilde kompleks yapıların çözülmesindedir.[3]
Sonuç: işlemci sınıflamalarından iki mimari hakkında ön bilgi verildi. Fakat işlemci yapılandırılması bu iki mimari ile sınırlı değildir. Bu konu paralelliğe ve adresleme kiplerine göre ele alındı.
Piyasa istatistikleri
2003’de yaklaşık 44 milyar dolar değerinde mikroişlemci üretildi ve satıldı. Bu paranın yaklaşık yarısının masaüstü ve dizüstü kişisel bilgisayarlarda kullanılan ana işlem birimlerinde harcanmasına rağmen bunlar satılan bütün ana işlem birimlerinin sadece yaklaşık %0.2’siydi.
Dünyada satılan bütün CPU’ların yaklaşık %55’i 8-bit mikrodenetleyicilerdir. 1997’de 2 milyardan fazla 8-bit mikrodenetleyici satıldı.
Dünyada satılan bütün CPU’ların %10’undan daha azı, 32-bit veya daha fazladır. Satılan bütün 32-bit CPU’lardan %2 si masaüstü veya dizüstü kişisel bilgisayarlarda, geri kalanı ise tost makinesi, mikrodalga, elektrik süpürgesi ve televizyon gibi ev eşyalarında kullanılmıştır. “Genel olarak bakıldığında, bir mikroişlemci, mikrodenetleyici veya DSP’nin ortalama fiyatı 6$’ın biraz üstündedir.”
Yaygın mikroişlemciler ve mimariler (İngilizce)
- AMD K5, K6, K6-2, K6-III, Vikipedi:Duron, Athlon, Athlon XP, Athlon MP, Athlon XP-M (IA-32 32-bit Intel x86 mimarisi)
- AMD Athlon 64, Athlon 64 FX, Athlon 64 X2, Opteron, Sempron, Turion 64 (AMD64 mimarisi)
- ARM ailesi, StrongARM, Intel PXA2xx
- Altera Nios, Nios II
- Atmel AVR mimarisi (saf mikrodenetleyiciler)
- EISC
- RCA 1802 (RCA COSMAC, CDP1802)
- Cyrix M1, M2 (IA-32 32-bit Intel x86 mimarisi)
- DEC Alpha
- Intel 4004, 4040
- Intel 8080, 8085, Zilog Z80
- Intel 8086, 8088, 80186, 80188 (16-bit yalnızca -gerçek mod Intel x86 mimarisi)
- Intel 80286 (16-bit gerçek mod ve korunmuş mod Intel x86 mimarisi)
- Intel 80386, 80486, Pentium, Pentium Pro, Celeron, Intel Core Duo, Pentium II, Pentium III, Xeon, Pentium 4, Pentium M, Celeron M (IA-32 32-bit Intel x86 mimarisi; IA-64 ataları, HP PA-RISC)
- Sonraki Xeon, sonraki Pentium 4, Pentium D, Celeron D, Intel Core 2 (EM64T mimarisi)
- Intel Itanium (IA-64 mimarisi)
- Intel i860
- Intel i960
- M32R mimarisi
- MIPS mimarisi
- Motorola 6800, MOS Technology 6502, Motorola 6809
- Motorola 68000 ailesi, ColdFire
- Motorola 88000 (PowerPC ailesinin ataları, POWER)
- NexGen Nx586 (IA-32 32-bit Intel x86 mimarisi)
- IBM POWER (PowerPC ailesinin ataları, 88000)
- NSC 320xx
- OpenCores OpenRISC mimarisi
- PA-RISC ailesi (HP,IA-64 ataları mimarisi, IA-32)
- PowerPC ailesi, G3, G4, G5
- National Semiconductor SC/MP ("scamp")
- Signetics 2650
- SPARC, UltraSPARC, UltraSPARC II–IV
- SuperH ailesi
- Transmeta Crusoe, Efficeon (VLIW mimarisi, IA-32 32-bit Intel x86 emulator)
- INMOS Transputer
- VIA'nın C3,C7,Eden Serisi (IA-32 32-bit Intel x86 mimarisi)
- Western Design Center 65xx
- XAP processor Cambridge Consultants'dan
Ayrıca bakınız (İngilizce)
- Central processing unit
- Computer architecture
- Addressing mode
- Digital signal processor
- Microcontroller
- List of microprocessors
- Arithmetic and logical unit
- BIOS
- CISC / RISC
- Clock rate
- Computer bus
- Computer engineering
- CPU cooling
- CPU core voltage
- CPU design
- CPU locking
- CPU power consumption
- Floating point unit
- Front side bus
- Instruction pipeline
- Instruction set
- Microarchitecture
- Microcode
- microcontroller
- Microprocessor Chronicles (documentary film)
- Motherboard
- Pipeline
- Superscalar
- Superpipelined
- Wait state
Başlıca tasarımcılar (İngilizce)
- Intel
- Advanced Micro Devices
- IBM
- AMCC
- Freescale Semiconductor
- ARM Holdings
- MIPS Technologies
- Texas Instruments Semiconductors
- Renesas Technology
- Western Design Center
- STMicroelectronics
- Sun Microsystems
Dış bağlantılar (İngilizce)
Genel
- Great Microprocessors of the Past and Present – John Bayko
- Microprocessor history – IBM
- Microprocessor instruction set cards – Jonathan Bowen
- CPU-Collection
- CPU-World – Kapsamlı CPU/MCU/FPU bilgisi
- HowStuffWorks "How Microprocessors Work"
- IC Die Photography – CPU die fotoğrafları galerisi
Tarihsel dökümanlar
- TMS1802NC calculator chip press release – Texas Instruments, 17 Eylül 1971
- 1973: TI Receives first patent on Single-Chip Microprocessor
- TI Awarded Basic Microcomputer Patent – TI, 17 Şubat 1978 (tek-çip bilgisayar anlamında “mikrobilgisayar” (microcomputer), basit bir mikrodenetleyici µC)
- Important discoveries in microprocessors during 2004 – IBM
- Pico and General Instrument's Single Chip Calculator processor Muhtemelen Intel ve TI’dan önce.
- ↑ http://www.buzluca.info/mimari
- ↑ http://en.wikipedia.org/wiki/CPU_design
- 1 2 3 Processor design 2007 (System-on-Chip Computing for ASICs and FPGAs) Jari Nurmi
- ↑ Modern processor design 2003 (John P. Shen)