İşlemciler

İşlemcinin Görevi

İşlemci, bilgisayarın birimlerinin çalışmasını ve bu birimler arasındaki veri (data) akışını kontrol eden, veri işleme (verileri değerlendirip yeni veriler üretme) görevlerini yerine getiren elektronik aygıttır. Veriler üzerindeki yaptığı işlemler, temel aritmetik işlemleri kadar basit (örneğin 1+3 gibi) ya da çok daha karmaşık (bu değeri al ve ses kartına yolla ki böylelikle hoparlörden müzik dinleyebilinsin) gibi çeşitli seviyelerde olabilir.
Aslında işlemciler, sadece bilgisayarlarda bulunan bir donanım değildir. Tüm elektronik sistemlerde işlemciler bulunur. Örneğin, otomatik çamaşır makinesi, otomatik bulaşık makinesi; fabrikalardaki otomatik cihazlar, televizyon. İşlemci yerine mikroişlemci, CPU (sipiu diye okunur – Central Processing Unit ), MİB (CPU’nun Türkçe karşılığı – Merkezi İşlem Birimi), μP (mikro processor-mikro prosesır diye okunur) isimlerini de sıklıkla kullanıyoruz.
İşlemciler, bilgisayarda yönetici konumunda çalışır. İnsan beyninin tüm vücut organlarını sinir sistemi vasıtasıyla yönetmesi gibi işlemcilerde kontrol sinyalleriyle sisteme bağlı tüm birimlerin çalışmasını düzenler ve bu birimleri yönetir. İşlemci kendine gönderilen makine komutlarını işler ve sonuçlarını çevre birimlerine ya da belleklere gönderir. Gönderilen komutlara göre işlemci 3 temel işlemi gerçekleştir.
  • Mikro işlemci kendi içindeki ALU (Arithmetic Logic Unit-Aritmetik Mantık Birimi) birimini kullanarak matematiksel ve mantıksal işlemleri yapar.
  • İşlemci bellek bölgesindeki verilerin yerlerinin değiştirilmesini sağlar.
  • Kendine gönderilen komutlara göre hareket eder ve yeni görevleri başlatır.



Çalışma Yapısı

Mikroişlemciler, 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.

İşlemci Birimleri



şlemci üzerinde komutları icra etme işini uygulama ünitesi (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.
ALU (Aritmetik ve Mantıksal İşlem Birimi): Mikroişlemcinin birinci derece önem taşıyan birimidir.Toplama, çıkarma, çarpma, bölme komutlarını dönüştürür. Alu’nun ne kadar fonksiyonu varsa işlemci o kadar değer kazanır.
Komut Çözücü (Instruction Decoder): İşlemcinin yapması gereken kodların icrası için gerekli işlemleri başlatır ve komutun çalıştırılması için gerekli işlemleri belirler.
Kaydediciler (Registers): Anabellekteki veriler işlenmek üzere merkezi işlem birimine taşınır burada verilerin işlenmesi sırasında geçici olarak kaydedicilerde bekletilirler.
Veriyolu (Bus): İşlemcinin diğer donanım birimleri ile bağlantısını sağlayan iletken elektriksel yollardır.
Ön Bellek (Cache): Sistem belleğinden gelen veriler, çoğunlukla CPU’nun hızına yetişemez. Bu problemi çözmek için CPU içinde yüksek hızlı hafızalar bulunur, buna ön bellek denir. Ön bellek çalışmakta olan programa ait komutların, verilerin geçici olarak saklandığı yüksek hızlı hafızalardır.
  • L1 ön bellek (cache) :Önemli kodlar ve veriler bellekten buraya kopyalanır ve işlemci bunlara daha hızlı ulaşabilir. Kodlar için olan Code cache ve veriler için olan Data cache olmak üzere ikiye ayrılır. Kapasitesi 2 KB ile 256 KB arasında değişir.
  • L2 ön bellek (cache) :L1 belleklerine göre kapasiteleri 256 KB ile 2 MB arasında değişir. Başlangıçta L2 önbellek anakart üzerinde işlemciye yakın bir yerde yer almaktaydı. Daha sonra slot işlemciler ortaya çıkınca işlemci çekirdeğinin üzerinde kartuş şeklindeki paketlerde yer aldı. Bununla beraber çekirdeğin dışında ve işlemciyle aynı yapıda kullanılmaya başlandı. Bu kısa geçiş döneminden sonraysa L2 önbellek işlemci çekirdeklerine entegre edildi.
  • L3 ön bellek (cache):L3 ön belleklerinin kapasiteleri 2MB ile 256 MB arasında değişir. Yeni bir teknolojidir. Çok çekirdekli işlemcilerde bütün çekirdeklere tek bir bellekle hizmet vermek akıllıca bir yaklaşım olacağı düşüncesiyle geliştirilmiştir.

Mimariler




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.

x86 x64 Serileri

Bu chipsetler zamanımızın en popüler işlemci chipsetleridir. Bu başlık altında x86 x64 karşılaştırmasını sizlerle paylaşacağım.
  • x86 1978 yılında piyasaya sürülürken x64 2000'lerin başında piyasaya sürülmüştür.
  • x86 ünlü Intel 8086 işlemcileri baz alınarak üretildi bu nedenle Intel tarafından tanıtıldı. Ama x86'nın geliştirilmiş hali olan x64 AMD tarafından tanıtıldı.
  • x86'nın mimarisi 32bit'tir. (İlk x86 işlemcilerin mimarisi 16 bit'ti ama sonraki eklemelerle 32'ye çıkarıldı). x64'ün mimarisi ise 64 bit'tir.
  • x86 işlemciler komut seti mimarisine sahip bu nedenle 32 bit register'lara, 32 bit memory bus'lara ve 32 bit data bus'lara sahipler ama x64'ler 64 bit register'lara, 64 bit memory bus'lara ve 64 bit data bus'lara sahipler.
  • x86 4 GB (232 byte)'a kadar adres gösterilebilir hafıza limitine sahip ama x64'lerin limiti 264 byte'a kadar çıkabiliyor.
  • x64 işlemciler x86'ların yükseltilmiş versiyonları olduğundan daha hızlı ve güçlüler.
  • x64 işlemcilerdeki register'larda tutulan değerler x86'lardan daha fazladır, bu nedenle x64'ler x86'lardan daha komplike tamsayılı işlemleri yapabilirler.

İşlemci Hızı

Bir işlemcideki bütün elemanlar saat vuruşlarıyla çalışır. Saat hızı bir işlemcinin saniyede ne kadar çevrim yapabileceğini belirler. Saat hızı 200 MHz olan bir işlemci kendi içinde saniyede 200 çevrim yapabilir. Her çevrimde işlemcinin ne kadar işlem yapabileceği işlemcinin yapısına göre değişir. Bu saat vuruşları anakart üzerindeki Clock Generator denen yongayla üretilir. Bu yonganın içinde çok hassas kristaller vardır. Bu kristallerin titreşimleri saat vuruşlarını oluşturur. CPU dışında diğer bileşenler için de kristaller mevcuttur.
Sistem Saat Kristali
Bu saat kristali sistem hızını FSB (Front Side Bus) belirler. FSB, anakarttaki kuzey köprüsü ile işlemci arasındaki veri yoludur. Saatin her palsi, saniyede milyon veya milyar devirle ölçülür. Saniyedeki tek devirin ölçüsü Hertz’dir.
  • 1 Hertz (Hz) = Saniyede 1 çevrim
  • 1 Megahertz (MHz) = Saniyede 1.000.000 çevrim
  • 1 Gigahertz (GHz) = Saniyede 1.000.000.000 çevrim
İşlemcilerde hız, işlemcinin birim zamanda yapabildiği işlem sayısı olarak tanımlanmaktadır. Bir saniyede yapılan milyon adet işlem MHz (Megahertz) olarak tanımlanır ve temel hız ölçüsüdür ancak günümüz işlemcileri saniyede milyar işlem yapmaya başlamış ve hızı Ghz (Gigahertz) seviyesine yükselmiştir.

KAYNAKÇA

Megep
Shiftdelete.net
Differencebetween.com
Bilgiustam.com

Yorumlar

Popüler Yayınlar