Mikroişlemci, hafıza ve giriş çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU'yu bulunduran entegre devre çipine ise mikroişlemci denir. Aslında mikroişlemciler en basit halleriyle bilgisayarlardır ve 3 temel bölümde incelenirler.
Biz de mikroişlemciyi oluşturan bu 3 temel yapıyı birlikte inceleyelim.
CPU (Central Processing Unit) (Merkezi İşlem Birimi)
CPU, mikroişlemcilerin beyni olarak bilinir ve bilgisayarların değişik birimleri arasındaki veri akışı ve veri işleme görevlerini yerine getiren kısımdır. Veri akışını CPU'nun alt birimlerinden kontrol kısmı yerine getirir.
Hafızadan okunan komutları çözer ve komut tarafından belirlenen işlemi yerine getirir.
Veri işlemenin çoğu CPU içindeki ALU'da (Aritmetik mantık ünitesinde) gerçekleştirilir.
Sayısal aritmetik işlevler, lojik işlemler ve kontrol CPU'nun temel işlevleri arasındadır.
CPU'lar bilgileri geçici olarak registerlarda depolarlar. CPU içerisindeki registerlar 8,16,32, veya 64 bitlik olabilirler.
Hafızada bulunan program CPU'ya yapmasını istediği işlem için komutlar sağlar. CPU ise bu program komutlarını (instruction), hafızadan bulup çağırmak (fetch) ve olayları yürütmekle(execute) yükümlüdür.
CPU'lar ALU birimine sahiptir ve bu birimlerinde matematiksel ve lojiksel işlemler yaparlar.
Her CPU program sayacına(instruction pointer,flags) sahiptir ve bu sayaç var olan görev yerine getirilince devreye girer ve kendini bir arttırarak bir sonraki komutun adresini gösterir.
Bu program sayacının içeriği adres yolları üzerinde istenen komutu okuyacak,bulacak ve çağıracak şekildedir.
CPU içerisinde komut çözücü(instruction decoder) birimide mevcuttur. Bu birim CPU'ya gelen komutun anlamını yorumlayarak bir çeşit sözlük görevi görür. Komutun anlamına göre kontrol sinyalleri üretir.
Hafıza (Memory)
Programların talimatları ve verilerin ilk olarak yüklendiği yer hafızadır. Program komutları ve veriler burada saklanarak esas alınır.
CPU'nun doğrudan eriştiği birimlere bellek adı verilir. Bu sebeple çoğunlukla hafıza elemanı olarak bilinen harddisk aslında hafıza elemanı değil donanımın yani çevre biliminin bir elemanıdır.
CPU'nun eriştiği birincil hafıza elemanları RAM ve ROM'dur.
RAM (Random Access Memory), rastgele erişimli bellek demektir ve programlar çalışırken bilgisayar tarafından geçici hafızadır. Bilgisayarın kapanması durumundaki buradaki veriler kaybolur.
ROM (Read Only Memory) ise yalnızca okunabilir bellek anlamına gelir. ROM'daki bilgi süreklidir ve herhangi bir güç kesintisinde bilgi kaybolmaz. ROM'a örnek olarak BIOS'u verebiliriz. PC'lerin ilk çalıştığı program budur.
BUS(Bağlantı Yolları)
CPU'nun hafıza ve giriş/çıkış cihazlarına bağlantılarını ve bilgisayardaki bir bilginin bir yerden başka bir yere taşınmasını sağlar. Her bilgisayar adres,data ve kontrol BUS olmak üzere 3 çeşit BUS'a sahiptir.
Adress BUS(Adres yolu)
Hedef ve kaynak verilerin adreslerini taşırlar.
Adress BUS'ın genişliği sistemin maksimum hafıza kapasitesini belirler. Örneğin adress BUS'ı 16 bit olan bir mikroişlemcide max hafıza 64 kilobayttır. Adress yolunun genişliğinden kasıt aynı anda birden fazla işlemin bir arada yapılmasıdır. Örneğin adress yolunun genişliği 8 bit olursa 256 adet adrese ulaşılabilir.İntel'in 8086 işlemcisinde bu genişlik 20 bitken, PENTİUM II'de 36 bite kadar gider.
Adress yolu genişledikçe işlemci daha fazla RAM kullanır ve buda performansın artmasına neden olur.
Adress BUS'lar tek yönlüdürler.
İşlemcinin haberleşmeyi planladığı hafıza adresini belirlemede görev alır.
Data BUS(Veri Yolu)
Mikroişlemci tarafından hafızaya veya çıkış birimlerine veri göndermekte yada hafızadan ya da giriş birimlerinden hafızaya veri alınmada kullanılırlar.
Veri taşırlar ve bu veriler komut ya da data olabilir.
Veri yolunun genişliği bilgisayarın performansını çok etkiler. Aynı zamanda veri okuma yeteneğinin hızınıda arttırır. Örneğin İntel'in mikroişlemcilerinde veri yolunun genişliği 8085 modellerde 8 bit, PENTIUM'larda ise 64 bittir.
Birbirine paralel olan tellerden oluşan haberleşme kanalları olarakta tanımlanabilir.
Veri yolları iki yönlüdür.
Kontrol BUS(Kontrol Yolu)
Yol üzerindeki bir adresin hafıza adresi mi yoksa giriş çıkış birimlerinden biri mi olduğunu kontrol BUS yani kontrol yolu tespit eder.
Okuma ve yazma sinyallerini sağlamak için kullanılır. CPU'nun input output veya hafızaya bilgi göndermek mi yoksa onlardan bilgi almak mı istediğini belirler.
Hafıza,giriş çıkış, yazma, okuma diye 4 çeşit kontrol yolu sinyali mevcuttur. İşlemci hangi adresi gösteriyorsa bu sinyallerden biri aktif olur.
Mikroişlemcinin yaptığı işlemlerin birbirine karıştırmasını yine kontrol yolları engeller.
Kontrol BUS tek yönlüdür.
CPU'lar fetch (verilen talimatı gidip hafızadan almak) ve execute (alınan talimatı yerine getirmek) eylemlerini yerine getirebilmek için REGISTER, ALU, PROGRAM COUNTER ve KOMUT ÇÖZÜCÜ'ye sahipti.Şimdi de son olarak registerlardan bahsedelim.
REGISTER'LAR (Kaydediciler)
Register, CPU içindeki hafıza birimleridir. Ne kadar çok olursa o kadar iyidir. Genişlikleri CPU'ya göre değişir. Örn: A,B,C,D
Bellekteki verilere ulaşmak belirli bir zaman gerektirir. Fakat registerlar işlemci çekirdeğindedir ve istenildiğinde fazla zaman harcanmadan içerikleri kullanılabilir.
Registerlar sınırlı sayıda bulunurlar ve kullanım amacına göre genel ya da özel amaçlı olarak kullanılabilirler.
Registerlar 32 bit (EAX,EBX,ECX gibi ), 16 bit (AH,BH,CH gibi) olabilirler.