Aritmetik Mantık Birimi (AMB)



Aritmetik Mantık Birimi (AMB) aritmetik ve mantık işlemlerini gerçekleştiren bir dijital devredir. AMB en basit işlemi gerçekleştiren mikro denetleyiciden, en karmaşık mikroişlemciye sahip bir bilgisayara kadar tüm işlemcilerin yapıtaşıdır. Modern bilgisayarların içinde bulunan mikroişlemcilerin ve ekran kartlarının içinde çok karışık ve güçlü AMB’ler bulunmaktadır. AMB kavramına ilk olarak 1945 yılında matematikçi John von Neumann EDVAC adlı yeni bir bilgisayar üzerine bulgularını anlatan raporunda değinmiştir.

Ön gelişim

1946 yılında, Von Neumann ve meslektaşları Princeton Institute of Advanced Studies (IAS) için bir bilgisayar tasarlamaktaydı.İlerleyen yıllarda bir çok bilgisayar tasarımı için prototip haline gelmiş olan bu bilgisayarda temel matematiksel işlemleri ( toplama, çıkarma, çarpma ve bölme) gerçekleştirme gerekliliğinden dolayı , Von Neumann işe yarar bir bilgisayarın bahsedilen işlemler için özelleşmiş bir yapıya ihtiyaç olduğuna inanıyordu ve buna bağlı olarak AMB’nin bir zorunluluk olduğunu belirtmiştir.

Sayısal Sistemler

Bir AMB, işlemlerini diğer dijital devrelerin kullandığı sayı biçimiyle aynı şekilde ifade etmelidir. Modern işlemcilerin tamamına yakını İkiye Tümleyen gösterimini kullanmaktadır. İkiye tümleyen gösterimi işaretli ve işaretsiz sayıları kolay ve verimli bir şekilde gösterebildiğinden AMB’ler için işlem kolaylığı sağlamaktadır. Eski bilgisayar ise birçok çeşitli sayı gösterim biçimi kullanmaktaydı.Bu bilgisayarlarda bire tümleyen,ikiye tümleyen,işaret büyüklüğü formatı ve hatta gerçek ondalık sistem gibi fonksiyonlar da bulunmaktaydı.

Genel Bakış

XOR,VE,VEYA ve toplama işlemi yapan basit bir AMB şeması
İşlemciler birçok işlemi bir veya daha çok AMB ile gerçekleştirilir. AMB veriyi giriş yazmaçlarından alır, işletir ve sonucu bir çıkış yazmacına kaydeder. Kontrol birimi AMB’nin veriye hangi işlemi yapacağını seçer. İşlemcinin diğer mekanizmaları yazmaçlar ve hafıza arasında verileri taşır. [1]
Şekilde görülen 2-bit AMB’nin A ve B isminde iki tane girişi bulunmaktadır. A[0] & B[0] en anlamsız biti (basamak değeri en düşük biti), A[1] & B[1] en anlamlı biti (basamak değeri en yüksek biti) göstermektedir. A ve B girişleri soldaki 4 tane mantık kapısına (yukarıdan aşağıya) yönlendirilmektedirler: XOR , VE, VEYA ve XOR.Yukarıdaki 3 mantık kapısı XOR, VE ve VEYA işlemini gerçekleştirirken en son XOR kapısı tam toplayıcının (full adder) giriş kapısıdır. Son adımda ise istenilen sonuç çoklayıcı yardımıyla seçilir. Denetim biriminden gelen 3 bitlik işlem kodu (OP) çoklayıcıya hangi girişi seçmesini gerektiğini belirtir.
  • İşlem kodu = 000 → XOR
  • İşlem kodu = 001 → VE
  • İşlem kodu = 010 → VEYA
  • İşlem kodu = 011 → Toplama
Çoklayıcının geri kalan 4 çıkışı farklı işlemler (çıkarma,çarpma vs.) için boş durumda beklemektedir.Gelen elde(carry-in) ve çıkan elde (carry-out) bir çeşit durum yazmacına bağlanmıştır.
1) Aritmetik Ve Lojik Ünite
İşlemci tarafından gerçekleştirilecek matematiksel ve mantıksal işlemlerin yapıldığı bölümdür.
Aritmetik Lojik Ünitenin Yapısı
Sekil-1 Genel AMB blok yapısı
Bu birime giriş işlemleri, akümülatör kaydedicisiyle bellekten alınan veri arasında veya akümülatörle diğer kaydediciler arasında olabilir. ALU’ nun mikroişlemci içerisindeki basitleştirilmiş çalışma biçimi Şekil-2’de görülmektedir.
Sekil-2 AMB'nin Mikroişlemci içinde çalışma biçimi
ALU işlemleri ADDER (toplayıcı) ve SHIFTER (kaydırıcı) denilen iki esas devre ile gerçekleştirilir. Genelde, bu esas devreler ALU olarak anılmaktadır. Ancak bilgileri depolayıcı ve değerlendirici bazı yardımcı devrelerden de yararlanılır. Bu yardımcı devreler:
Akümülatör
Başlangıç ve sonuç bilgilerini depolamak için akümülatör kullanılır. Bazı mikroişlemcilerde akümülatör yerine VERİ KAYDEDİCİ (data reg) kullanılmıştır.
Geçici Kaydedici (Temporary Register)
Bellekten alınan işlem bilgilerinin ilk durak yeri: geçici kaydedicidir.
Bayrak Kaydedici (Flag Register)
Bazı mikroişlemcilerde bayrak kaydedici yerine; ALU tarafından yapılan işlemlerin sonucunu gösteren ve bu sonuçları değerlendirme ortamını yaratan devredir. Bu sonuçlara göre bazı düzeltmeler gerekiyorsa bilgisayar bunları kendi kendine yapabildiği gibi bayrak ekrana çağrılarak bazı yarılarının dışarıdan yapılması da mümkün olmaktadır. Durum kaydedici veya Koşul kodu kaydedici değimleri de kullanılır. Aritmetik lojik işlem birimi ve bu yardımcı devrelerinin tümüne birden ALU gurubu denir. Yalnızca ALU denildiğinde ise asıl işlem yürütücü kısım olan ADDER ve SHIFTER amaçlanır.
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.
Aritmetik Lojik Ünitenin İşlevleri
Aritmetik işlemler denilince başta toplama, çıkarma, bölme ve çarpma; mantık işlemleri denilince AND, OR EXOR ve NOT gibi işlemler akla gelir. Komutlarla birlikte bu işlemleri, mantık kapılarının oluşturduğu toplayıcılar, çıkarıcılar ve kaydıran kaydediciler gerçekleştirirler. Bloklaştırılmış bu devreler bir dâhili veri yolu vasıtasıyla birbirlerine, bir başka veri yolu ve tamponlar vasıtasıyla kaydedicilere ve zamanlama-kontrol birimine bağlanmıştır.
ALU’ da gerçekleşen bütün bu işlemler kontrol sinyalleri vasıtasıyla Zamanlama ve Kontrol Biriminin gözetiminde eşzamanlı olarak yapılır. Mikroişlemcinin temel elemanlarından biridir. ALU iki parçadan oluşur: Aritmetik ve Lojik üniteler.
a) Aritmetik ünite: Toplama, çıkarma, artırma, azaltma gibi işlemleri yapar.
b) Lojik ünite: AND, OR, NOT gibi işlemleri gerçekleştirir