MİKROİŞLEMCİ
Bilgisayar operasyonlarını kontrol ederek veri işleme işlevlerini yerine getirir. Kısaca işlemci, CPU (Central Process Unit ) veya MİB (Merkezi İşlem Birimi) ismi de kullanılır. Mikroişlemci, programcı veya kullanıcı tarafından yazılan program komutlarını ve bilgilerini yorumlamak ve yerine getirmek için gerekli tüm mantıksal ( lojik – dijital ) devreleri bir kılıf içinde kapsar.
İlk mikro işlemci 1971 yılında hesap makinesi amacıyla üretilen İntel firmasının 4004 adlı ürünüdür. Bir defada işleyebileceği verinin 4 bit olmasından dolayı 4 bitlik işlemci olarak anılmaktadır.
MİKRODENETLEYİCİ
Bir mikro işlemcili sistemi meydana getiren temel bileşenlerden mikro işlemci, bellek ve G/Ç birimlerinin, bazı özellikleri kırpılarak (azaltılarak) tek bir entegre içerisinde üretilmiş biçimine mikrodenetleyici (microcontroller) denir.
Denetim teknolojisi gerektiren uygulamalarda kullanılmak üzere tasarlanmış olan mikrodenetleyiciler, mikro işlemcilere göre çok daha basit ve ucuzdur.
Bir Mikrodenetleyici en az mikroişlemci , RAM , ROM ve I/O birimlerinin birleşmesiyle meydana gelir.
► Mikroişlemci: Aritmetik ve mantıksal işlemler yapar.
► RAM : Geçici veri ve sonuçların tutulduğu bellektir.
► ROM : Sistemin ilk komutlarının tutulduğu kalıcı bellektir.
► I/O (G/Ç) : Giriş ve çıkış birimleri ile bilgi alış verişi için kullanılan arabirimdir.
Günümüzde gelişmiş mikrodenetleyicilerin içerisinde, mikro işlemci bulunmakla birlikte RAM, ROM, Program Belleği, Sayıcılar, İletişim Modülü ( UART-USART / Ethernet ) , PWM Sinyal Üretici, Programlanabilir I/O portları, Salınım Üretici 0-40 MHz, Analog Dijital Dönüştürücü bulunur.
Mikroişlemci / Mikrodenetleyicileri Birbirinden Ayıran Özellikler
1.Kelime Uzunluğu
Mikro işlemcinin her saat darbesinde ( Clock Pals ) işlem yapabileceği bit sayısına kelime uzunluğu denir. İşlenen veriler işlemcinin özelliğine göre 4 bit, 8 bit, 16 bit, 32 bit ve 64 bit uzunluğunda olabilir. Kelime uzunluğu veri yolu uzunluğuna eşittir.
Bit : Her bir Lojik 1 veya Lojik 0 bilgisine bir bit denir.
Bayt : 8 bit’lik lojik veriye 1 bayt denir.
2.Komut İşleme Hızı
Mikro işlemcilerin çalışması için saat (clock) sinyallerine ihtiyaç vardır. İşlemci (CPU) her saat sinyalinde bir sonraki işlem basamağına geçer. İşlemcinin hızını incelerken saat frekansına ve komut çevrim sürelerine bakmak gerekir. Saat frekansı mikro işlemciye dışardan uygulanan ya da işlemcinin içinde bulunan osilatörün frekansıdır. Komut çevrim süresi ise herhangi bir komutun görevini tamamlayabilmesi için geçen süredir.
Her üretici firmanın mikroişlemcileri farklı clock frekansı ve komut çevrim sürelerine sahiptir. Komut çevrim süresi kısaldıkça ve clock frekansı arttıkça işlemcinin komut işleme hızı da artar. Bu nedenle bir işlemcinin sadece hızının yüksek olması işlemleri hızlı yapar manasına gelmez.
3.Adresleme Kapasitesi
Bir işlemcinin adresleme kapasitesi, adresleyebileceği veya doğrudan erişebileceği bellek alanının büyüklüğüdür. Bu büyüklük işlemcinin adres hattı sayısına bağlıdır. Bu hattın sayısı tasarlanacak sistemde kullanılabilecek bellek miktarını da belirlemektedir.
4.Kaydedici ( Register ) Sayısı
Kaydediciler mikroişlemci ve mikrodenetleyicilerde bulunan geçici hafıza hücreleridir. Bunlar büyük boyutlu ve uzun süre saklama amaçlı değildirler.
Meselenin anlaşılması açısından şöyle bir örnek verilebilir: Mesela çok basamaklı iki sayıyı toplarken genellikle iki rakam toplamı 9’dan fazla olunca “elde var 1” deriz. Eldeki bu sayıyı geçici olarak aklımızda tutar veya bir yere not eder sonra da bir sonraki basamağı toplarken eldeyi oraya ekleriz. Eklemeyi yaptıktan sonra artık bu sayıyı aklımızda tutmamıza gerek kalmaz. Aynen bu örnekte olduğu gibi mikroişlemci de bazı işlemleri yaparken bazı değerleri geçici olarak aklında tutması gerekir. Bu bilgiler kayıtçı ( register ) adını verdiğimiz hafıza hücrelerinde saklanır, işi bittiğinde de silinir veya önemsenmez.
Mikro işlemcilerde kaydediciler, genel amaçlı kaydediciler ve özel amaçlı kaydediciler olmak üzere iki grupta toplanır. Tüm mikro işlemcilerde bu gruplara dâhil edebileceğimiz değişik görevlere atanmış, farklı özellikte, sayıda kaydediciler bulunur. Herhangi bir mikro işlemciyi programlamaya başlamadan önce mutlaka bu kaydedicilerin isimlerinin ve ne tür işlevlere sahip olduklarının iyi bilinmesi gerekir.
5.Farklı Adresleme Modları
Bir komutun işlenmesi için gerekli verilerin bir bellek bölgesinden alınması veya bir bellek bölgesine konulması ya da bellek–kaydedici veya kaydedici–kaydedici arasında değiştirilmesi için farklı erişim yöntemleri kullanılır. Mikro işlemcinin işleyeceği bilgiye farklı erişim şekilleri, ‘adresleme yöntemleri’ olarak ifade edilir. Kısaca adresi tarif yollarıdır.
Örneğin sınıftaki bir öğrenciyi ifade etmek için Ahmet isimli öğrenci deyip doğrudan çağırabileceğimiz gibi 183 numaralı öğrenci de diyebilir veya sınıf listesinde 25. sıradaki öğrenci diyerek de Ahmet’i ifade edebiliriz. Hatta Ali’nin arka sırasında oturan öğrenci diyerek bile ifade edebiliriz. Aynen buna benzer şekilde mikroişlemci de hafızadaki bilgilere ulaşırken doğrudan adresleme, dolaylı adresleme , veri tanımlı adresleme , göreceli adresleme ve benzeri farklı adresleme yöntemleri kullanabilir ve bu yöntemler farklı mikroişlemcilerde farklı şekillerde olabilir.
6.İlave Edilecek Devrelerle Uyumluluk
Mikro işlemcili sisteme eklenecek devrelerin en azından işlemci hızında çalışması gerekir. Sisteme ilave edilecek bellek entegrelerinin hızları işlemci ile aynı hızda olması tercih edilmelidir. Aynı şekilde sisteme takılan giriş çıkış birimlerinin hızları ve performansları mikro işlemci ile aynı veya çok yakın olmalıdır. Sisteme takılan birimlerin hızları mikro işlemciye göre düşükse mikro işlemcinin hızı diğer elemanlardaki yavaşlıktan dolayı düşer.
Mikro İşlemciyi Oluşturan Birimler ve Görevleri
1.Kaydediciler( Registerler)
Aşağıda bir çok mikroişlemcide yaygın kullanılan bazı kayıtçıların kısaca görevleri açıklanmıştır.
Akümülatör ( PIC mikrodenetleyicisindeki adı Work Register’dir)
Akümülatörler (ACC, A veya PIC’te W olarak tanımlanabilir), bilgisayarın aritmetik ve mantık işlemleri sırasında depo görevi yapan önemli bir kaydedicidir. Mikroişlemci ve mikrodenetleyicilerde en çok kullanılan kayıtçıdır. Bu kayıtçının vazifesini anlama açısından şu örneğe benzetebiliriz: Elimizdeki iki şişenin birinde elma suyu diğerinde portakal suyu olduğunu farzedelim. Ancak bu meyve sularının yerlerini (şişelerini) bir biriyle değiş tokuş yapmamız gerekiyor. Bu işi yapabilmemiz için mutlaka üçüncü bir boş şişe ya da kaba ihtiyacımız vardır. Önce elma suyunu boş şişeye ( akümülatör – work register) aktarırız. Elma suyunun şişesi boşalınca buraya portakal suyunu doldururuz. Portakal suyu şişesi artık boş olduğu için yedek şişedeki (akümülatör – work register) elma suyu boş şişe aktarılıp, değiş tokuş tamamlanmış olur.
İndis Kaydedici
İndis tanımı: Tablo veya aralıktaki değeri ya da değere başvuruyu verir.
X ve Y olarak tanımlanan indis kaydedicilerinin temelde üç görevi vardır. Hesaplamalarda ara değerlerin geçici tutulmasında, program döngülerinde ve zamanlama uygulamalarında bir sayıcı olarak ve bellekte depolanmış bir dizi verinin üzerinde bir indisçi olarak kullanılmaktadır.
Program Sayıcı (PC – Program Counter)
Mikro işlemcinin yürütmekte olduğu program komutlarının adres bilgisini tuttuğu özel amaçlı bir kaydedicidir. Yani programın o anda kaçıncı satırının işletildiğini tutan kayıtçıdır.
Durum Kaydedicisi (Bayraklar – Status Register)
Durum kaydedicisi 8-bitlik bir kaydedicidir. Bu kaydedicinin her bir biti ayrı ayrı anlam ifade eder. Mikro işlemci içinde veya dışardan yapılan herhangi aritmetiksel, mantıksal veya kesmelerle ilgili işlemlerin sonucuna göre bu bitler değer değiştirir. Bir işlem sonucunda bu bitlerin aldığı değere göre program yön bulur. Programcı bu bitlerde oluşacak değerlere göre programa yön verebilir. Örneğin iki sayının toplanması sonucu elde sayısı oluşursa, elde oluştuğuna dair durum kaydedicisinin ilgili biti (Carry Bayrağı) lojik 1 olur. Yine benzer şekilde iki sayının çıkarma işleminden dolayı sonucu sıfır olursa, durum kaydedicisinin Zero biti lojik 1 olur.
Yığın İşaretçisi (SP- Stack Point)
Yığın mikro işlemcinin kullandığı geçici bellek bölgesi olarak tanımlanır. RAM belleğin herhangi bir bölümü yığın olarak kullanılabilir. Yığın işaretçisi, yığının adresini tutan özel amaçlı bir kaydedicidir. Mesela mikroişlemcide program çalışırken mevcut adresten başka bir adrese atlaması ve oradaki işlem bitince tekrar kaldığı yere dönmesi gerekebilir. Program akışının kaldığı yere dönebilmesi için eski adresin yığında saklanması gerekir. Bu adresleri saklamak için yığın işaretçisi isimli kayıtçı kullanılır.
2.Aritmetik ve Mantık Birimi (ALU)
Mikro işlemcinin en önemli kısmını aritmetik ve lojik birimi (ALU) oluşturur. Bu ünite kaydediciler üzerinde toplama, çıkarma, karşılaştırma, kaydırma ve döndürme vb işlemleri yapar.
ALU’nun yapabildiği işlemler iki grupta toplanır.
Aritmetiksel işlemler : Toplama,çıkarma,çarpma vb.
Mantıksal işlemler : Mantıksal VE-VEYA vb. işlemler, Sağa-sola kaydırma işlemleri, karşılaştırma işlemleri
3.Kontrol Birimi
Kontrol birimi, sistemin tüm işleyişinden ve işlemin zamanında yapılmasından sorumludur. Kontrol birimi, bellekte program bölümünde bulunan komut kodunun alınıp getirilmesi, kodunun çözülmesi, ALU tarafından işlenmesi ve sonucun geri belleğe konulması için gerekli olan kontrol sinyalleri üretir.
Merkezi İşlemci Biriminde İletişim Yolları
Mikro işlemcide işlenmesi gereken komutları taşıyan hatlar yanında, işlenecek verileri taşıyan hatlar ve kesme işlemlerini kontrol eden sinyalleri taşıyan hatlar bulunur.
1.Veri Yolu : Merkezi işlem biriminden bellek ve giriş / çıkış birimlerine veri göndermede ya da bu birimlerden işlemciye veri aktarmada kullanılan hatlar, veri yolu olarak isimlendirilir. Veri yolu genişliği kelime uzunluğu ile doğrudan ilişkilidir.
2.Adres Yolu : Verinin alınacağı (okunacağı) veya verinin gönderileceği (yazılacağı) adres bölgesini temsil eden bilgilerin taşınmasında kullanılan hatlar, adres yolu olarak isimlendirilir. Bir mikro işlemci tarafından adreslenebilecek maksimum bellek kapasitesi ‘2n’ formülü ile hesaplanabilir. ‘n’ adres hattı sayısını gösterir. Mesela 4 adres yolu varsa 24 = 16 adres bölgesine ulaşılabilir.
3.Kontrol Yolu : Mikro işlemcili sistemde bulunan birimler arasındaki ilişkiyi düzenleyen sinyallerin iletilmesi amacıyla kullanılan hatlar kontrol yolu olarak adlandırılır. Kontrol yolunda bulunan sinyaller üç farklı işlemi gerçekleştirmek için kullanılır:Sinyal seçimi, Yön tayini, Zamanlama.
BELLEKLER ( HAFIZA BİRİMLERİ )
Verilerin saklandığı elektronik hafızalardır. İki temel çeşidi vardır. Elektrik kesildiğinde içindeki bilgilerin silindiği basitçe geçici hafıza diyebileceğimiz RAM ve bilgilerin elektrik kesilse bile silinmediği ROM hafızalardır. ROM hafızalarında birçok geliştirilmiş çeşitleri mevcuttur. Mikrodenetleyici programı yazımı esnasında hafızaların adres miktarı (1KB , 4 GB gibi) ve hangi adresler arası kullanılabileceği, her adresin kayıt kapasitesi ( 8 bit ,16 bit gibi) dikkate alınması gerekir.
RAM Bellekler (Random Access Memory)
Verilerin hem yazılabildiği hem de okunabildiği geçici bellek türüdür. Elektrik kesildiğinde içindeki veriler silinir.
ROM Bellekler
Yalnız okunabilen birimlere ROM (Read Only Memory) bellekler denir. Bu bellek elemanlarının en büyük özelliği enerjisi kesildiğinde içindeki bilgilerin silinmemesidir. ROM belleklere bilgiler üretim aşamasında yüklenir. Kullanıcıların bellek içindeki bilgileri değiştirmesi mümkün değildir.
Programlanabilir ROM Bellek (PROM)
PROM’lar bir kez programlanabilir. Bu bellek elemanı entegre şeklindedir. Kaydedilen bilgiler enerji kesildiğinde silinmez. Üzerine program kodlarını veya verileri yazmak için PROM programlayıcı cihazlara ihtiyaç vardır.
Silinebilir Programlanabilir ROM Bellek (EPROM)
EPROM”lar bellek hücrelerine elektrik sinyali uygulanarak programlama işlemi yapılır. Kaydedilen bilgiler enerji kesildiğinde silinmez. “EPROM” içindeki programın silinmemesi için cam pencereli kısım ışık geçirmeyen bantla örtülmelidir. Eprom belleğe yeniden yazma işlemi yapmak için “EPROM” üzerindeki bant kaldırılıp ultraviyole altında belirli bir süre tutmak gerekir. Bu şekilde içindeki bilgiler silinebilir
Elektriksel Yolla Değiştirilebilir ROM Bellek (EEPROM)
Üzerindeki bilgiler, elektriksel olarak yazılabilen ve silinebilen bellek elemanlarıdır. “EEPROM”u besleyen enerji kesildiğinde üzerindeki bilgiler kaybolmaz. “EEPROM”daki bilgilerin silinmesi ve yazılması için özel silme ve yazma cihazlarına gerek yoktur. Programlayıcılar üzerinden gönderilen elektriksel sinyalle programlanır. “EEPROM”la aynı özellikleri taşıyan fakat yapısal olarak farklı ve daha hızlı olan, elektriksel olarak değiştirilebilir “ROM”lara flash bellek denir.