Mikroişlemciyi Oluşturan Birimler ve Görevleri

2

1.2.1. Kaydediciler

Kaydediciler, daha önce de bahsedildiği gibi genel ve özel amaçlı olmak üzere iki gruba ayrılır. Bunlardan başka programcıya gözükmeyen (ilgilendirmeyen) kaydediciler de vardır (IR, DAR, MAR ve MBR gibi). Genel amaçlılara 6502 işlemcisinde akümülatör, X indis ve Y indis kaydedicisi girmektedir. Özel amaçlılar ise PC, SP, bayraklar, DR gibi kaydediciler girmektedir (Şekil 1.5). Aşağıda bunlardan bazıları anlatılacaktır.

1.2.1.1. Akümülatör

Akümülatörler (ACC ya da A olarak da tanımlanabilir), bilgisayarın aritmetik ve mantık işlemleri sırasında depo görevi yapan önemli bir kaydedicidir. Eğer kaydediciler bir sistemde sekreterya olarak düşünülürse akümülatör bu sistemde baş sekreter olarak yerini alır.

Ara değerlerin üzerinde tutulması, sisteme gelen verinin ilk alındığı yer, belleğe veya dış dünyaya gönderilecek verilerin tutulduğu yer olarak görev yapar. Bu yüzden, işlemcinin A kaydedicisini hedefleyen komutları çoktur. Bazı işlemcilerde B kaydedicisi de yardımcı akümülatör olarak kullanılır.

1.2.1.2. İndis Kaydedicileri

X ve Y olarak tanımlanan indis kaydedicilerinin temelde üç görevi vardır. Hesaplamlarda 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. Bazı işlemcilerde sadece tek indisçi olabilir.

1.2.1.3. Program Sayıcı (PC)

Mikro işlemcinin yürütmekte olduğu program komutlarının adres bilgisini tuttuğu özel amaçlı bir kaydedicidir. Bilindiği gibi bir programı oluşturan komutlar ve veriler normal bellekte saklıdır. Bilgisayarın çalışması sırasında hangi komutun hangi sırada kullanılacağının bilinmesi gerekir. Bu görevi program sayıcı (PC) yerine getirir. Program sayıcının bit genişliği adres yolu genişliği kadardır. Eğer işlemcinin 16-bit adres hattı var ise PC=16 bit, işlemcinin 32-bit adres hattı var ise PC=32 bit büyüklüğünde olur.

Bellekten alınan her komut kodundan sonra alınacak yeni komut kodunun adresi program sayıcıya otomatik olarak işlemci tarafından yüklenir. Komut çevrimi, PC’nin yeni adresi adresyoluna koyması ile başlar. Bunun ardından da ilgili kontrol sinyali gönderilir.

Bellekten gelen her bilgiden sonra PC, kontrol devresinden aldığı işarete uyarak adres satırını 1 arttırır. Böylece bilgilerin bellekten işlemciye düzenli bir şekilde gelmesi sağlanır.

1.2.1.4. Durum Kaydedicisi (Bayraklar)

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.

Kabul edilen terminolojiye uyarak eğer bir bayrağa karşılık olan bit 1 ise söz konusu bayrak kuruldu, eğer bit 0 ise söz konusu bayrak silindi denir.

Carry (elde bayrağı-C): Elde / borç bayrağıdır. 8-bitlik bir işlem sonucunda dokuzuncu bit ortaya çıkıyorsa elde var demektir. Bu durumda C bayrağı mantıksal 1 olur. Bu bayrak biti programcı tarafından kurulur ya da silinebilir (CLC, SEC). Ayrıca bazı komutlar tarafından test edilebilir (BCC, BCS).

Zero (sıfır bayrağı-Z): Sıfır bayrağı, aritmetik ve mantık işlemi sonucunda kaydedici içeriği sıfır ise Z = 1’e kurulur. Aksi durumda sıfırlanır (Z = 0).

Interrupt disable (kesme yetkisizleştirme bayrağı-I): Mikro işlemci normal durumda komutları işlerken bir kesme (IRQ) geldiğinde bu kesme bu bayrak biti ile engellenebilir. Eğer bu bit komutlar (SEI) mantıksal 1 yapılırsa gelen kesmeler göz önüne alınmaz. Ancak bu bayrak mantıksal 0 olduğunda kesme dikkate alınır ve kesme hizmet yordamına dalınır. Yani bu bayrak biti, normal işleyiş sırasında bir kesme geldiğinde kabul edilip edilmeyeceğini belirler. Programcı bunu komutla yapar. NMI kesmesi bu bayrak için kullanılmaz.

Decimal (ondalık bayrağı-D): Bu bayrak 1 olduğunda aritmetik işlemler BCD modunda yapılırken 0 olduğunda ikilik modta yapılır. Bu işlem eğitim ve uygulama açısında programcıya büyük kolaylıklar sağlar.

Overflow (taşma bayrağı-V): Bu bayrak aritmetik işlemlerde, eğer işlem +127 ile -128 aralığını geçiyorsa bir taşma meydana gelir ve V bayrağı 1 olur. Diğer yandan yine benzer işlemlerde eğer pozitif bir sayı ile negatif bir sayı üzerinde işlem yapılıyorsa ve sonuç pozitif çıkması gerekiyorken negatif çıktıysa bu bayrak 1 olur. Taşma bayrağı işaretli sayılarla işlem yapılırken devreye girer.

Negative (negatif bayrağı-N): 8-bitlik bir işlemcide 7.bit MSB biti olarak bilinir. Eğer MSB biti bir işlem sonucunda 1 ise N bayrağı 1’e kurulur. Eğer MSB biti 0 ise kaydedicisideki değer pozitif demektir ki N bayrağı 0 olur.

Bayraklardaki 4. bit B (Break) olarak tanımlanmış olup program durduğunda otomatikman 1 olur. 5. bit ileride kullanılmak üzere boş (+5V) bırakılmıştır.

Farklı mikro işlemcilerde birbirine benzer bayraklar olmasına rağmen faklı bayraklarda olabilir.

1.2.1.5. Yığın İşaretçisi (SP)

RAM belleğin herhangi bir bölümü yığın olarak kullanılabilir. Yığın mikro işlemcinin kullandığı geçici bellek bölgesi olarak tanımlanır. Yığın işaretçisi, yığının adresini tutan özel amaçlı bir kaydedicidir. SP adres bilgisi göstereceği için 16-bit uzunluğundadır.

Bu kaydediciye programın başında yığının başlangıç adresi otomatik olarak atanır. İşlemci tarafından yığının başlangıç adresi SP’ye yüklendikten sonra artık belleğin bu bölgesi depo benzeri bir görev yürütür. Yığına veri girişi yapıldıkça yığın göstericisinin değeri de yapısına gore değişir

Yığına her veri girişinde yığın göstericisinin değeri bir azalmakta, yığından her veri çekildiğin de ise yığın göstericisinin değeri otomatik olarak bir artmaktadır. Yığına gönderilen veri yığın göstericisinin işaret ettiği adresteki bellek hücresine yazılır. Yığından veri çekilirse yığın göstericisi bir önceki verinin adresine işaret edecek şekilde bir azalacaktır. Mikro işlemci işlediği ana programdan alt programa dallandığında veya bir kesme sinyali ile kesme hizmet programına dallandığında mevcut kaydedicilerin içeriklerini ve dönüş adresini saklayabilmek için otomatik olarak verileri ve adresleri yığına atar. Alt programdan veya kesme hizmet programından ana programa geri dönülmesi durumunda, ana programda kaldığı yerin adresini ve kaydedicilerdeki verileri kaybetmemiş olur.

1.2.2. Aritmetik ve Mantık Birimi (ALU)

Mikro işlemcinin en önemli kısmını aritmetik ve lojik birimi (ALU) oluşturur (Şekil 2.5). Bu ünite kaydediciler üzerinde toplama, çıkarma, karşılaştırma, kaydırma ve döndürme işlemleri yapar. Yapılan işlemin sonucu kaydediciler üzerinde saklanır. Bazen de yalnızca durum kodu kaydedicisini etkiler. ALU’daki bir işlem sonucunda durum kodu kaydedicisindeki bayrakların birkaçı etkilenebilir veya hiçbiri etkilenmez. Programcı için çoğu zaman ALU’da yapılan işlemin sonucunda etkilenen bayrakların durumu daha önemlidir. Gelişmiş mikro işlemcilerin içindeki ALU’lar çarpma ve bölme işlemlerini yapabilmektedir. ALU’nun işlem yapabileceği en büyük veri, mikro işlemcideki kaydedicilerin veri büyüklüğü ile sınırlıdır. 8 bitlik mimariye sahip bir mikro işlemcideki ALU en fazla 8 bitlik sayılar üzerinde işlem yapar.

ALU’nun yapabildiği işlemler iki grupta toplanır.

Ø Aritmetiksel işlemler

ALU’da yapılan aritmetiksel işlemler mikro işlemcinin yapısına göre çeşitlilik gösterebilir. 8-bitlik mimariye sahip bir mikro işlemcide toplama, çıkarma, çarpma, bölme işlemleri ve ondalıklı sayılarla matematiksel işlemler yapılabilmektedir. Gelişmiş işlemcilerde büyük ondalıklı sayılarla işlem yapmak için ayrıca matematik işlemci mevcuttur.

Ø Mantıksal işlemler

 Mantıksal çarpma VE işlemi

 Mantıksal toplama VEYA işlemi

 Özel VEYA, XOR işlemi

 Değil, NOT işlemi

 Karşılaştırma (=, =<, =>, <> gibi) ve kaydırma gibi işlemler bu ünitede yapılır.

 Sağa veya sola kaydırma ve döndürme işlemleri

 İçerik artırma veya azaltma işlemleri

Bütün bu işlemler teknolojik yapısı değişik kapı ve flip-flop’lardan oluşan bir sistem tarafından yürütülmektedir.

1.2.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.

1.3. 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. İşlenecek verileri işlemciye yollamak veya işlenen verileri uygun olan birimlere aktarmak için aynı hatlardan faydalanılır. Tüm bu yollara iletişim yolları adı verilir.

1.3.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, mikro işlemcinin yapısı, mikro işlemci kaydedici genişliği ve kullanılan kelime uzunluğu ile doğrudan ilişkilidir. 8-bitlik mikro işlemcilerde veri yolu 8 hattı içerirken 16- bitlik işlemcilerde 16 hattı içerir. Mikro işlemciye işlenmek üzere iletilen veriler veri yolu üzerinden iletildiği ya da mikro işlemcide işlenen veriler veri yolu üzerinden ilgili birimlere yollandığı için veri yolunda iki yönlü iletişim mümkün olmaktadır.

Bellekte bulunan ve CPU tarafından işlenmesi istenilen veriler, veri yolu üzerinden iletilir(Şekil 1.11). Bellekteki verilerin hatlara yerleştirilmesinde veya hatlardan gelen verilerin CPU’ya aktarılmasında verileri kısa süre tutmak amacıyla kullanılan tamponlardan faydalanılır. Tampon olarak kaydediciler kullanılır. CPU’da işlenen verilerin harici elemanlara iletilmesinde veya harici elemanlardan gelen verilerin CPU’ya gönderilmesinde ara birim olarak giriş/çıkış (G/Ç) birimi kullanılır. CPU ile G/Ç birimi arasında veri iletiminde veri yolundan faydalanılır. Veri yolu üzerinden G/Ç birimine gelen veriler, tamponlar kullanılarak veri yolu üzerinden klavye, monitör, yazıcı ve tarayıcı gibi birimlere gönderilir veya bu birimlerden gelen bilgiler CPU’ya aktarılır.

 

1.3.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. Adres yolu, tek yönlüdür ve paralel iletişim sağlayacak yapıdadır.

CPU’da işlenen verilerin bellekte saklanması veya diğer elemanlara gönderilmesi gerekebilir. Bu durumda, verinin saklanacağı veya gönderileceği yerin adresi, mikro işlemci içerisindeki PC yardımı ile adres yolu üzerine yerleştirilir. Yerleştirilen bilginin temsil ettiği adres bölgesi dâhilî bellekte olabileceği gibi harici bellekte de olabilir. Yerleştirilen bilginin kodu çözülerek ilgili adres bölgesi bulunur ve bulunan adres bölgesindeki veri, veri yoluna konur. Yapılan bu işlemlerin düzgün ve kontrollü olarak gerçekleştirilmesinden zamanlama ve kontrol birimleri görevlidir.

Adres yoluna yerleştirilen bilgi, mikro işlemcinin kapasitesine ve adreslenebilecek bölge sayısına bağlı olarak değişir. Bir mikro işlemci tarafından adreslenebilecek maksimum bellek kapasitesi ‘2n’ formülü ile hesaplanabilir. ‘n’ adres hattı sayısını gösterir.

Bu durumda;

216 = 65536 Bayt = 64 KBayt adres bölgesi,

220 =1048576 Bayt = 1MBayt adres bölgesi ve

232 = 4 GBayt adres bölgesi adreslenebilir.

Mikro işlemci veri yolu ve adres yolu farklı sayıda hattı içerebilir. Veri yolu 8 hattan oluşan bir mikro işlemcili sistemde, adres yolu 16 hattan (16 bit) oluşabilir. Günümüz mikro işlemcilerinde sürekli veri yolları artırılırken adres yolları hattını büyük oranda korumaktadır. Adres yolları hatlarının fazla artmamasının sebebi, şu anda kullanılar adresleme kapasitesinin çok yüksek ve ileriye yönelik olmasındandır.

1.3.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. Her bir mikro işlemciye ait komut kümesi ve belirli amaçlar için kullanılan sinyallerin farklı olması sebebiyle her mikro işlemcide farklı sayıda hattı içeren kontrol yolu bulunabilir. Kontrol yolunda bulunan sinyaller üç farklı işlemi gerçekleştirmek için kullanılır:

Sinyal seçimi: Sistemde kullanılacak sinyallerin ve sinyallerin uygulanacağı yerin belirlenmesi işlemini gerçekleştiren sinyaller

Yön tayini: Sistemdeki verinin ne yöne gideceğini belirleyen sinyaller (okuma veya yazma)

Zamanlama: Yapılacak işlemlerin sırasını ve zamanlamasını belirleyen sinyaller

Kontrol yolunda bulunan hat sayısı, mikro işlemcinin bit sayısına bağımlı değildir. Kontrol yolunu oluşturan hatların mikro işlemci içersinde ağ şeklinde yayılması sebebiyle kontrol yolu terimi yerine kontrol hatları terimi kullanılabilir. Mikro işlemcili sistemdeki birimlerin çalışması, kontrol hatları üzerinden iletilen tetikleme sinyalleri ile yönlendirilir. Mesela, bir bellekten veri okunacağı zaman, ilgili bellek entegresine aktif olmasını sağlayacak yetkilendirme (CS-Chip select) sinyali ile birlikte, okuma işlemi için gerekli uygun R/W sinyalinin uygulanması gerekir.

2 Sonuç bulundu

  1. Biyolog dedi ki:

    faydalı bilgi icin teşekkürler

  2. Muhammed dedi ki:

    Çok teşekkür ederim anlatımınız için. Mail üzerinden bana ulaşır mısınız? Çok küçük bir yardım talep edeceğim.

Yorum Yapın

Cansuu,Cansu'nun Web Günlüğü © 2012     Tüm haklarım saklıdır.