MİKROİŞLEMCİ NEDİR?
Merkezi işlem birimi (MİB-CPU) olarak adlandırılır. Bir program komutlarının yapmak istediği işlemleri icra eder. Bu yüzden bilgisayar sisteminin beynidir. Elektronik olan hemen her şeyde kullanılır.
MİKRO BİLGİSAYAR SİSTEMİ NEDİR?
Mikro işlemcinin çalışabilmesi için bazı temel elemanlara ihtiyaç vardır.
· Hafıza aygıtları
· Giriş çıkış birimleri
· Çevre birimleri
· Veri yolu
________________________________________________________________________________________________________________________________________
MİKRO İŞLEMCİLERİN AYIRT EDİCİ ÖZELLİKLERİ
· Kelime uzunluğu:
Mikro işlemcinin her saat darbesinde işleyebildiği bit sayısına denir. 4, 8, 16, 32, 64 bit uzunluğunda mikro işlemciler vardır. Bu özellik adlandırmada kullanılır. Kelime uzunluğunun fazla olması aynı anda daha fazla verinin işlenmesi anlamına geldiği için mikro işlemcinin bir hız göstergesidir. Kelime uzunluğu veri yolu uzunluğuna eşittir.
· Komut işleme hızı:
Mikro işlemciler komutları işleyebilmek için saat darbelerine ihtiyaç duyarlar. İşlemci her darbeden sonra bir sonraki adıma geçer. Bu yüzden işlemcinin hızını bu saat darbelerinin frekansı doğrudan etkiler.
Komut çevrim süreleri de bu hızı doğrudan etkiler. Komut çevrim süresi bir komutun görevini tamamlayabilmesi için geçen süredir.
· Adresleme kapasitesi:
Mikro işlemcinin adresleyebileceği ve ya doğrudan erişebileceği bellek alanının büyüklüğüdür. Bu büyüklük işlemcinin adres yolu uzunluna (adres hattı sayısına) bağlıdır.
Formülü: 2n n : Adres yolu uzunluğu.
· Kaydedici sayısı:
Program yazımı sırasında kullanılan bellek hücreleridir. Genel ve özel amaçlı olmak üzere ikiye ayrılır. 8, 16, 32, 64 bitlik olabilirler. Program yazmadan önce kaydediciler iyi bilinmelidir.
· Farklı adresleme yöntemleri:
Mikro işlemcinin işleyeceği bilgiye farklı erişim şekilleri uygulamasıdır. Kısacası adresi tarif şeklidir. Farklı işlemciler farklı adresleme yöntemleri kullanabilir.
· Diğer donanımlarla uyumluluk:
Mikroişlemciler birçok açıdan (pin yapısı, çalışma frekansı vs.) birlikte çalışacakları diğer donanımlarla uyumlu olmalıdır. Mikroişlemcileri uyumdu oldukları donanımlara göre de ayırt edebiliriz.
________________________________________________________________________________________________________________________________________
MİKRO İŞLEMCİYİ OLUŞTURAN BİRİMLER
1. Kaydediciler
Genel ve özel amaçlı olmak üzere iki gruba ayrılır:
1.a) Akümülatör (ACC):
İşlemcinin aritmetik ve mantık işlemleri sırasında depo görevi gören kaydedicidir. Ara değerlerin tutulması, sisteme gelen ilk verinin alındığı yer, belleğe ve ya dışarıya gönderilecek verilerin tutulduğu yer olarak görev yapar. Bazı işlemcilerde a ve b olmak üzere iki tanedir.
1.b) İndis kaydedicileri:
X ve Y olarak tanımlanırlar. Temel 3 görevi vardır:
- Hesaplamalarda ara değerlerin tutulması.
- Program döngülerinde ve zamanlama uygulamalarında bir sayıcı olmaları.
- Bellekte depolanmış bir dizi verinin indiscisi olmaları.
1.c) Program sayacı (Program counter, PC)
Mikro işlemcinin yürütmekte olduğu program komutlarının adreslerini tutan kaydedicidir. Hangi komutun hangi sırada çalışacağı PC sayesinde belirlenir. Her komuttan sonra bir sonraki komutun adresi işlemci tarafından PC’ye yazılır. Bit genişliği adres yoluyla aynıdır.
1.d) Yığın İşaretçisi (Stack pointer, SP):
Yığın, mikroişlemcinin kullandığı geçici bellek bölgesidir. RAM belleğin bir bölümü yığın olarak kullanılabilir. Bu kaydedici yığının başlangıç adresini tutar. Program yazılırken yığının başlangıç adresi bu kaydediciye yazılır.
1.e) Durum kaydedici (Bayraklar)
*Carry Flag (Elde bayrağı):
İşleme giren veriler işlem sonunda mevcut bit sayısından daha fazla bir bit ortaya çıkarıyorsa elde oluşmuş demektir. Örneğin 8 bitlik işlem sonucunda 9 bitlik değer çıkıyorsa elde var demektir. Elde oluşunca elde bayrağını gösteren bit 1 olur.
*Zero Flag (Sıfır bayrağı):
Bir işlemin sonucu sıfır ise sıfır bayrağı bir olur.
Not:Burada karıştırılmaması gereken bir husus vardır. Sonuç sıfırsa bayrak 1 olur. Sonuç sıfır değilse bayrak 0 olur. Bayraklar durum belirtir. Sıfır olma durumu varsa bayrak bunu göstermek için 1 olur demektir.
*Interrupt Dissable Flag (Kesmeyi etkisizleştirme bayrağı):
Mikroişlemciler normal koşullarda kendisine gelen iş taleplerini, öncelik sıralamasına göre kesmeler yaparak yürütür. Yani devam eden bir işlem varken öncelik sıralamasında daha üstün bir işlem gelirse işlemci mevcut işi keser ve gelen işlemi yürütür. Bu işleme kesme denir. Eğer bu bayrak 1 yapılırsa işlemci kesmeleri dikkate almaz. Yani yürüttüğü bir işlemi bitinceye kadar kesmez. Bayrak 0 olursa kesmeler dikkate alınır. Yani öncelikli başka bir işlem gelirse ona yönlenir.
*Decimal Flag (Ondalık bayrağı):
Bilgisayar sitemlerini temelinde ikilik sayı sistemi yattığı için tüm mikro işlemciler ikilik (binar) modda işlemler yapar. Fakat bazı işlemcilerin doğrudan onluk (decimal) sayılarla işlem yapma özelliği bulunabilir. Bu özellikle bir mikroişlemcide bu bayrak 0 olduğunda işlemler ikilik (binary) modda, 1 olduğunda ise onluk (decimal) modda yapılır.
*Overflow Flag (Taşma bayrağı):
Bir işlemin sonucu pozitif çıkması gerekirken negatif çıkıyorsa taşma var demektir. Taşma olumsuz ve istenmeyen bir durumdur. Taşma varsa işlem sonucu hatalı demektir. Programcılar bu durumu taşma bayrağı sayesinde kontrol ederek gerekli önlemleri alırlar. Taşma gerçekleşmiş ise taşma bayrağı 1 olur.
Yukarıdaki tanımdan da anlaşılacağı üzere taşma işlemi sayıların işaretleri ile ilgili bir durumdur. İşaretsiz sayılarda böyle bir durumdan bahsedilemez.
- İşaretsiz Sayılar: Sayı için bellekte ayrılan bitlerin tamamı sayının rakamlarıdır. Örneğin 8 bitlik bir sayı ise 8 bitin tamamı o sayının değerini oluşturan rakamlardır. Bu sayılarda + ya da – diye bir sınıflandırma yoktur.
- İşaretli Sayılar: Sayı için belekte ayrılan bitlerden sonuncusu sayının rakamı değildir. Bu bit sayının işaretini gösterir. Bu bite işaret biti denir. Örneğin 8 bitlik bir sayı ise 7 numaralı bit (son bit) işaret bitidir.
* İşaret biti 1 ise sayı negatif (-)
* İşaret biti 0 ise sayı pozitif (+)
İşaretsiz sayı örneği:
1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | = 20510 |
İşaretli sayı örneği:
1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | = – 7710 |
işaret biti
Şekil 2. İşaretli-İşaretsiz Sayı Örnekleri
Yukarıdaki örnekte görüldüğü gibi belekte aynı yeri kaplayan ve tüm bitleri aynı değere sahip iki tane 8 bitlik sayıdan biri işaretsiz diğeri işaretli olarak sunulmuştur. Sayıların onluk tabandaki karşılıklarını hesapladığımızda ortaya çıkan değerler farklıdır.
Taşma Örneği:
İki tane pozitif (+) sayının toplanmasında oluşan taşma:
0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
+________________________________________
1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
Şekil 3. Taşma İşlemi Örneği
İki pozitif (+) sayıyı topladığımızda sonuç negatif (-) çıkmıştır.
Bu durumda taşma bayrağı 1 olur.
*Negative Flag (Negattif bayrağı):
İşlem sonucunda oluşan sayının işaret biti 1 ise bu sayı negatiftir. Negatif bayrağı sayının negatif olduğunu gösterir. Yani sayı negatifse bayrak 1 olur.
Not:
Yukarıda anlatılan bayraklar birçok mikroişlemcide sıklıkla rastlanan bayrak türleridir. Yukarıdaki anlatım bir mikroişlemci modeline özel değildir. Unutulmamalıdır ki farklı işlemcilerde farklı bayraklar kullanılabilir.
2. Aritmetik mantık birimi (ALU):
Mikro işlemcinin en önemli kısmıdır. Kaydediciler üzerindeki bütün işlemleri burası yapar. ALU’nun işlem yapabileceği en büyük veri kaydedicilerin büyüklüğü ile sınırlıdır. (Kelime uzunluğu) Örneğin 32 bitlik bir işlemcideki ALU en fazla 32 bit işleyebilir. ALU iki tür işlem yapar.
- Aritmetik işlemler ( 4 işlem)
- Mantıksal işlem (AND, OR, NOT, <, >, kaydırma işlemleri…)
3. Kontrol birimi:
Sistemin tamamının işleyişinden sorumludur. Bunun için gereken sinyalleri üretir.
İlk yorum yapan siz olun