Bilgi

İşlemci-CPU (Merkezi İşlem Birimi) Nedir? Ne İşe Yarar? Nasıl Çalışır?


İşlemci yada diğer adıyla CPU (Central Processing Unit-Merkezi İşlem Birimi-MİB), bilgisayarın beyni olarak tanımlanır. Bu tanımlama, işlemcinin ne kadar önemli olduğunu belirtmek için sıklıkla kullanılır. Bugün piyasada hali hazırda –daha çok İntel/AMD vb.- gibi çeşitli işlemciler bulunmaktadır. Aslında işlemciler, sadece bilgisayarlarda bulunan bir donanım değildir. Bilgisayarların yanında hemen hemen bütün elektronik sistemlerde yer alan olmazsa-olmaz bileşenlerdendir. Örnek vermek gerekirse otomatik çamaşır makinesi, bulaşık makinesi; fabrikalardaki otomatik cihazlar, televizyon ve telefon gibi elektronik cihazlarda işlemci bulunmaktadır. İlk tek yongalı işlemci 1971 yılında, yüzlerce transistörü silikon chip üzerine yerleştirip üretildi. İlk işlemci donanım dünyasında yeni bir devrin başlangıcı oldu.

CPU (Merkezi İşlem Birimi) Nedir?

İş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 ana donanım birimidir. İşlemci yerine daha çok mikroişlemci, CPU (Central Processing Unit ), MİB (Merkezi İşlem Birimi), μP (mikro Processor) isimleri de sıklıkla kullanılır.

İşlemci = Mikroişlemci = MİB = CPU = μP

İşlemciler aslında transistör adını verdiğimiz yarı iletken elemanların birleştirilmesi ile oluşturulmuş devrelerdir. Başlarda 2000 transistör birleştirilerek yapılan işlemciler, teknolojinin gelişmesi ise 1 milyar ve daha fazla transistör birleştirilerek yapılabilir bir seviyeye gelmiştir. Elektrik sinyalleri bu devreler üzerinde hareket eder. Bilgisayarın yaptığı tüm işlemler; elektrik sinyalleri vasıtasıyla gerçekleşir. Devrede elektrik sinyalinin olması “1”, elektrik sinyalinin olmaması “0” ile ifade edilir. İşlemci işlemleri ikilik sayı sistemini kullanarak yani 0 ve 1 sayılarını kullanarak yapar. Komut, işlem, veri, vb. kavramların ikili sayı sistemi ile ifadesine Makine dili (makine kodu) denir. Mesela “A” harfi ikilik sistemde “01000001” ile ifade edilebildiği gibi mavi gibi bir renk de ikilik tabandaki sayı gruplarıyla ifade edilir. Aynı şekilde bir ses veya görüntü kaydı da yine buna benzer ikilik sayı grupları ile ifade edilirler. Her “0” veya “1”in bilgisayarda kapladıkları alana bit adı verilir.

Bu sayı grupları üzerinde işlem yapmak için işlemci içerisinde komut listesi mevcuttur. İşlemcinin hafızasında bulunan bu komut listelerine o işlemcinin komut seti (instruction set) denir. Bu komutlar, işlemcinin sorumlu olduğu tüm matematiksel ve mantıksal işlemleri gerçekleştirir. İşlemci içerisinde komut seti dışarıdan gelen uyarılar eşliğinde işlemleri yapmaktadır. Hangi uygulamayı kullanırsak kullanalım bizim kullandığımız uygulama işlemcinin anlayacağı bu komut setlerine dönüştürülerek sonuç elde edilir. İşlemciler komut setlerine göre CISC ve RISC olmak üzere ikiye ayrılır.

CISC: Kompleks komutlara, yani bir seferde birden fazla işlemi yerine getirebilen komutlara sahip işlemci mimarisidir.

RISC: Her seferinde tek bir işlem gerçekleştiren basit ve hızlı komutlara sahip işlemci mimarisidir

İşlemcinin Görevleri Nelerdir?

İş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.

a- Mikro işlemci kendi içindeki ALU (Arithmetic Logic Unit-Aritmetik Mantık Birimi) birimini kullanarak matematiksel ve mantıksal işlemleri yapar.

b- İşlemci bellek bölgesindeki verilerin yerlerinin değiştirilmesini sağlar.

c- Kendine gönderilen komutlara göre hareket eder ve yeni görevleri başlatır.

İşlemciler, klavyeden girilen tuşun ifade ettiği karakteri değiştirmeden ekranda gösterdiği gibi, aldığı verileri değerlendirip yeni veriler de üretebilir. Örneğin, hesap makinesinin işlemcisi, girilen rakamlar üzerinde istenilen işlemi uygulayarak yeni sonucu ekranda gösterir.

İşlemcinin Yapısı Nasıldır?

Üreticiler, farklı işlemci mimarilerine göre işlemci üretirler. İşlemci mimarisi; işlemcinin işlemleri gerçekleştirme yöntemini, teknolojisini ve tasarımını ifade eder. Ortak mimariye sahip olan işlemciler aynı komutları tanımakta ve aynı yazılımları çalıştırabilmektedirler. İşlemci mimarisinin tarihi yapısına bakıldığında John Von Neumann tarafından 1945 yılında yazılan rapordaki işlemci mimarisi hâlen geçerliliğini korumaktadır.

John Von Neumann

Veriler, bilgisayarı oluşturan çeşitli birimler arasında sürekli olarak taşınır. Örneğin, klavye biriminde bir tuşa bastığımızda bu tuşun karşılığı olan karakteri ekranda görürüz. İşlemci, giriş biriminden (klavye) aldığı veriyi çıkış birimine (ekran) aktarmıştır. İşlemcinin anakartla iletişim kurmasını sağlayan uçlara pin denir. Pin yerine farklı isimler de kullanılabilmektedir.

Pin = İğne = Bağlantı iğnesi = Bacak = Ayak

Her işlemci temel bazı birimleri içinde barındırır. İşlemcilerin gelişim sürecinde bu birimlerin özellikleri artırılmıştır. Genel bir işlemci yapısı aşağıdaki şekilde gösterilmiştir.

İşlemcinin yapısında bulunan birimleri kısaca açıklayalım.

1- Çekirdek (Core)

Komut çalıştırma işlemlerini yapan bölümdür. Çalıştırma birimi (execution unit) olarak da bilinir. Bu ünite komutları çalıştırır ve pipeline (iş hattı) denen yollarla beslenip tamsayıları kullanarak okuma, değiştirme ve komut çalıştırma işlemlerini yapar. Çekirdek içerisinde ALU, Genel amaçlı register, Durum registeri (Status Register-SR) ve Program sayacı (Program counter –PC) bulunmaktadır.

ALU (Arithmetic Logic Unit-Aritmetik Mantık Birimi): İşlemci tarafından gerçekleştirilecek matematiksel ve mantıksal işlemlerin yapıldığı bölümdür. İşlemcinin en önemli kısmını oluşturur. Gelişmiş işlemcilerde noktadan sonraki sayılar için matematiksel işlem yapan FPU (Floating Point Unit–Kayan nokta ünitesi) birimi bulunmaktadır. Bu ünite tamsayı olmayan floating point (kayar nokta) hesaplamalarından sorumludur.

Register ve Counter (Kaydedici ve Sayaçlar): Programların gerektiği durumlarda mikroişlemcinin kullandığı dahili geçici hafızalara kaydedici (register) denir. Sayaçlar ise program adresi ve yığın adresi gibi bilgileri saklayan hafıza hücreleridir. Kaydedicilere yazmaçta denilmektedir. Yazmaçlar üzerinde işlem yapılacak verileri tutarlar.

Program counter (PC) : Bu birim içinde çalıştırılacak bir sonraki komutun hafızadaki adresini bulundurur. Bu komutun çalıştırılma zamanı geldiğinde kontrol ünitesi komutu işlenmek üzere hafızadan alır ve işlemci üzerindeki Instruction Register( komut kaydedici) denen bölüme işlenmek üzere aktarır.

Status register (SR) : Komut işlendikten sonra hesaplamayı yapan birim Status Register (SR) denen yazmacın değerini değiştirir, bu yazmaçta bir önceki işlemin sonucu saklıdır. Kontrol ünitesi bu yazmaçtaki değeri kullanarak sonuca göre gerekli komutları çalıştırabilir.

2- Kontrol Birimi

İşlemciye gönderilen komutların çözülüp (komutun ne anlama geldiğinin tanımlanması) işletilmesini sağlar. İşlemci içindeki birimlerin ve dışındaki birimlerin eş zamanlı olarak çalışmasını sağlayan kontrol sinyalleri bu birim tarafından üretilir. Kontrol Ünitesinde Komut kaydedici (İnstruction Register-IR) ve Komut çözücü (İnstruction Decoder –İD) bulunur.

Branch Predictor: Bu ünite bir program çalışırken başka bir satıra atlayacağı zaman hangi satırların işleme konacağını tahmin etmeye çalışarak Prefetch ve Decode ünitelerine hız kazandırmaya çalışır. Prefetch, komutların bellekten ne zaman çağrılacağına karar verir ve komutları Decode (çözüm) ünitesine doğru sırayla gönderir. Decode, kompleks makina dili komutlarını ALU’nun ve registerlerin kullanabileceği basit komutlara dönüştürür

3- Ö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

4- İletişim Yolları

İşlemciler, bilgisayarı yönetmek ve kontrol etmek için iletişim yollarını kullanır. Hem işlemci içerisinde hem de işlemciyle diğer birimler arasında iletişim hatları bulunmaktadır. İletişim hatları, üzerinden elektrik sinyali geçebilecek iletken hatlardır. Bu hatların sayısı işlemci modeline göre değişir.

BUS Interface (Yol Arayüzü): İşlemciye veri–kod karışımı olan bilgileri getirir. Bunları ayırarak işlemcinin ünitelerini kullanmasını sağlar ve sonuçları tekrar birleştirerek dışarı yollar. Bu ara yüzün genişliği işlemcinin adresleyebileceği hafızayı belirler. Örneğin 32 bitlik hafıza genişliğine sahip bir işlemci 4 GB hafızayı adresleyebilir ve bu hafızadan aynı anda 32 bit üzerinde işlem yapabilir. Günümüzde masaüstü pazarına 32 bitlik işlemciler hakimken sunucu uygulamaları ve bilimsel çalışmalar için de 64 bitlik işlemciler yaygın olarak kullanılır.

İletişim hatları üç grup hâlinde incelenebilir:

Adres Yolu (Address Buses): İşlemcinin bilgi yazacağı veya okuyacağı her hafıza hücresinin ve çevre birimlerinin bir adresi vardır. İşlemci, bu adresleri bu birimlere ulaşmak için kullanır. Adresler, ikilik sayı gruplarından oluşur. Bir işlemcinin ulaşabileceği maksimum adres sayısı, adres yolundaki hat sayısı ile ilişkilidir. Adres yolunu çoğunlukla işlemci kullanır. Bu yüzden adres yolunun tek yönlü olduğu söylenebilir ama yeni teknolojilerde çift yönlüdür.

Adres yolundaki hat sayısı işlemcinin kullanabileceği maksimum RAM’ı belirler.

2 Adres Hattı Sayısı = Maksimum Hafıza Kapasitesi

Bir mikroişlemci 16 adres hattına sahipse adresleyebileceği maksimum hafıza kapasitesi,

216 = 65536 bayt = 64 KB olacaktır.

Yeni işlemciler 36 bit adres yoluna sahiptir. Buda 236 dan 64 GB bellek adresleye bilmesini sağlar.

Veri Yolu (Data Buses): İşlemci, hafıza elemanları ve çevresel birimlerle çift yönlü veri akışını sağlar. Birbirine paralel iletken hat sayısı veri yolunun kaç bitlik olduğunu gösterir. Örneğin, iletken hat sayısı 64 olan veri yolu 64 bitliktir. Yüksek bit sayısına sahip veri yolları olması sistemin daha hızlı çalışması anlamına gelir.

Kontrol Yolu (Control Buses): İşlemcinin diğer birimleri yönetmek ve senkronizasyon(eş zamanlama) sağlamak amacı ile kullandığı sinyallerin gönderildiği yoldur. Burada bellek okuma-yazma sinyalleri, kesme sinyalleri ve clock(saat) sinyalleri iletilir.

İş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.

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.

Sistem kristalinden alınan dış hız ile işlemcinin çarpan değeri çarpılarak işlemcinin saat hızı ( CPU Hızı) bulunur. Sistem hızı, tüm sistemin birlikte uyum içerisinde çalışması için gerekli olan ritmi verir. Modern bir işlemci, sistem hızının çarpanları kadar hızlı çalışır. Örneğin 100 Mhz sistem hızına sahip bir sistemde 1.8 Ghz hızında çalışan bir işlemci, 18 çarpanını kullanıyor demektir.

Üreticiler, işlemci hızını artırmak için çeşitli yollar izlemişlerdir. Birincisi, bir tek işlemci modeli üretiminde uğraşarak hızını artırmışlardır. İkincisi, işlemcinin fiziksel boyutunu küçültüp, işlemciyi çalıştırabilmek için gereken voltaj miktarını, dolayısıyla da işlemci ısısını azaltmışlardır. İşlemciden çıkan ısıyı azaltmanın verdiği avantajla da aşırı ısınmadan korkmaksızın işlemcinin çekirdek hızını yükseltmişlerdir. İşlemcin tek başına hızlı olması sadece işlemci içindeki işlemlerde etkilidir. İşlemcinin kendi içinde çalışma hızı, çevre birimleri ve iletişim hatlarına göre çok hızlıdır. İşlemci çevre birimleri ile iletişim kurarken onların hızlarına uymak zorundadır. Bir işlemci sisteminin hızlı olabilmesi için işlemci dışındaki diğer birimlerin de hızlı olması gerekir.

İşlemcide Overclock (Hız Aşımı, Hız Aşırtma) Nedir?

Hız aşımı (overclock), işlemcinin üreticinin etikette belirlediği hız değerinden yüksek değerlerde çalıştırılması işlemidir. Anakartta ayar değişiklikleriyle işlemcinin hızı artırılabilir. Sistem hızı (FSB), çarpan ve voltaj değerlerinde yapılan değişikliklerle işlemci hızı artırılabilir.

Örneğin FSB’si 100 Mhz, saat çarpanı 20 olan bir bilgisayarda 20×100=2000 Mhz işlemci hızıdır. FSB değeri 133 Mhz yapılırsa 133×20=2660 Mhz=2.66 Ghz işlemci hızı elde edilir. İşlemcilerde overclock işlemi yapıldığında, işlemciyle beraber diğer sistem bileşenlerinin de hızlı çalışması gerekir. Bu durum donanımların zorlanması ve ömürlerinin kısalması anlamına geliyor. Fakat teknolojik gelişmeleri takip etmek için zaten birkaç senede bilgisayarı değiştirmek gerekiyor diye düşünenler hız aşımını tercih edebilir.

Hız aşımı işlemiyle işlemci hızı bir noktaya kadar artırılabilir. Belli bir hız değerinden sonra bilgisayar kilitlenmeleri, hatalar, hatta işlemci yanmaları gibi sorunlar ortaya çıkabilir. Bu durum, yükseltilen hızda işlemcinin kararlı çalışmadığını gösterir. Hız aşımı yapılmış sistemlerde işlemci daha fazla ısı üreteceğinden bu durumlarda soğutma sistemi daha da önem kazanmaktadır.

Kaynak: Burada yer alan bilgiler Milli Eğitim Bakanlığı CPU-İşlemciler konulu kitaptan alınmıştır.

1 Yorum

1 Yorum

  1. Atalay

    16 Ekim 2018 at 07:14

    Oldukça detaylı, faydalı, öğretici ve güzel bir yazıydı. Araştırırken sürekli mantığını anlatmadan, birkaç cümle ile geçiştirilmiş, özensiz ve oldukça yanlış şeyler ile karşılaştım. Sizi bulduğum için çok şanslıyım. Öğrenmeye ve bilgiye aç olan ayrıca konuya ilgi duyan insanların beğeneceği bir çalışma olmuş. Ellerinize sağlık.

"Yorum Yazın"

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı