ALU, bilgisayar sisteminde aritmetik mantık birimi anlamına gelen ve aritmetik ve mantık işlemlerini gerçekleştiren merkezi işlem biriminin ana bileşenidir. İşlemcide hesaplamaları gerçekleştiren son bileşen olan CPU veya GPU içindeki entegre devre olan tamsayı birimi (IU) olarak da bilinir. Boolean karşılaştırmaları (XOR, OR, AND ve NOT işlemleri) dahil olmak üzere toplama, çıkarma, kaydırma işlemleri gibi aritmetik ve mantık işlemleriyle ilgili tüm işlemleri gerçekleştirme yeteneğine sahiptir. Ayrıca ikili sayılar matematiksel ve bitsel işlemleri gerçekleştirebilir. Aritmetik mantık birimi AU (aritmetik birim) ve LU'ya (mantık birimi) bölünmüştür. ALU tarafından kullanılan işlenenler ve kod, giriş verilerine göre hangi işlemlerin gerçekleştirilmesi gerektiğini ona söyler. ALU giriş işlemini tamamladığında bilgi bilgisayarın belleğine gönderilir.
ALU'lar, toplama ve çıkarmayla ilgili hesaplamaları gerçekleştirmenin dışında, tam sayı hesaplamalarını yürütmek üzere tasarlandıkları için iki tam sayının çarpımını işler; dolayısıyla sonucu da bir tam sayıdır. Bununla birlikte, bölme işlemleri kayan noktalı sayılarla sonuçlanabileceğinden, genellikle bölme işlemleri ALU tarafından gerçekleştirilemeyebilir. Bunun yerine, kayan nokta birimi (FPU) genellikle bölme işlemlerini gerçekleştirir; tam sayı olmayan diğer hesaplamalar da FPU tarafından gerçekleştirilebilir.
Ek olarak mühendisler ALU'yu her türlü işlemi gerçekleştirecek şekilde tasarlayabilirler. Ancak işlemler daha karmaşık hale geldikçe ALU daha maliyetli hale gelir çünkü ALU daha fazla ısıyı yok eder ve CPU'da daha fazla yer kaplar. CPU'nun hızlı ve güçlü olmasının da garantisini sağlayan, mühendisler tarafından güçlü ALU yapılmasının nedeni budur.
CPU'nun ihtiyaç duyduğu hesaplamalar aritmetik mantık birimi (ALU) tarafından gerçekleştirilir; aralarındaki işlemlerin çoğu doğası gereği mantıksaldır. CPU daha güçlü hale getirilirse, ALU temel alınarak tasarlanmıştır. Daha sonra daha fazla ısı yaratır ve daha fazla güç veya enerji harcar. Bu nedenle, ALU'nun ne kadar karmaşık ve güçlü olduğu arasında ölçülü olmalı ve daha maliyetli olmamalıdır. Daha hızlı CPU'ların daha maliyetli olmasının ana nedeni budur; dolayısıyla daha fazla güç tüketirler ve daha fazla ısıyı yok ederler. Aritmetik ve mantık işlemleri ALU tarafından gerçekleştirilen ana işlemlerdir; aynı zamanda bit kaydırma işlemlerini de gerçekleştirir.
ALU işlemcinin ana bileşeni olmasına rağmen ALU'nun tasarımı ve işlevi farklı işlemcilerde farklı olabilir. Örneğin, bazı ALU'lar yalnızca tam sayı hesaplamaları gerçekleştirmek üzere tasarlanmıştır, bazıları ise kayan nokta işlemleri içindir. Bazı işlemciler işlemleri gerçekleştirmek için tek bir aritmetik mantık birimi içerirken, diğerleri hesaplamaları tamamlamak için çok sayıda ALU içerebilir. ALU tarafından gerçekleştirilen işlemler şunlardır:
Aritmetik Mantık Birimi (ALU) Sinyalleri
ALU tarafından çeşitli giriş ve çıkış elektrik bağlantıları bulunur, bu da dijital sinyallerin harici elektronik parçalar ile ALU arasında yayınlanmasına yol açar.
ALU girişi harici devrelerden sinyal alır ve buna yanıt olarak harici elektronikler ALU'dan çıkış sinyallerini alır.
Veri: ALU tarafından iki giriş ve çıkış işleneni içeren üç paralel veri yolu bulunur. Bu üç veri yolu aynı olan sinyal sayısını yönetir.
İşlem kodu: ALU işlemi gerçekleştireceği zaman, ALU'nun aritmetik veya mantıksal işlemi ne tür bir işlem gerçekleştireceği işlem seçim koduyla açıklanır.
Durum
ALU'nun yapılandırmaları
ALU'nun işlemciyle nasıl etkileşime girdiğinin açıklaması aşağıda verilmiştir. Her aritmetik mantık birimi aşağıdaki konfigürasyonları içerir:
- Komut Seti Mimarisi
- Akümülatör
- Yığın
- Kayıt olmak için kayıt olun
- Yığını Kaydet
- Belleği Kaydet
Akümülatör
Her işlemin ara sonucu akümülatörde bulunur; bu, Komut Seti Mimarisinin (ISA) daha karmaşık olmadığı anlamına gelir çünkü yalnızca bir bitin tutulması gerekir.
Genellikle çok hızlıdırlar ve daha az karmaşıktırlar ancak Akümülatörü daha kararlı hale getirmek için; uygun değerlerle doldurmak için ek kodların yazılması gerekir. Ne yazık ki, tek bir işlemciyle paralelliği gerçekleştirecek Akümülatörleri bulmak çok zordur. Akümülatöre örnek olarak masaüstü hesap makinesi gösterilebilir.
Yığın
En son işlemler gerçekleştirildiğinde, bunlar programları yukarıdan aşağıya sırayla tutan küçük bir kayıt defteri olan yığında saklanır. Yeni programlar yürütülmek üzere eklendiğinde, eski programları yerleştirmeye zorlarlar.
Kayıt-Kayıt Mimarisi
3 kayıtlı işlem makinesi olarak da bilinen, 1 hedef talimatı ve 2 kaynak talimatı için bir yer içerir. Bu Komut Seti Mimarisi, üç işleneni, 1 hedef ve 2 kaynağı depolamak için daha uzun olmalıdır. İşlemler bittikten sonra sonuçların Kayıtlara geri yazılması zor olacağı gibi, kelimenin uzunluğunun da daha uzun olması gerekir. Ancak bu yerde geri yazma kuralına uyulursa senkronizasyonla ilgili daha fazla sorun ortaya çıkabilir.
MIPS bileşeni, kayıttan-kayıta mimarinin bir örneğidir. Giriş için iki işlenen kullanır ve çıkış için üçüncü bir farklı bileşen kullanır. Her biri ayrı bir belleğe ihtiyaç duyduğundan depolama alanının bakımı zordur; bu nedenle her zaman premium olması gerekir. Üstelik bazı işlemleri gerçekleştirmek zor olabilir.
Kayıt Ol - Yığın Mimarisi
Genel olarak Kayıt ve Akümülatör işlemlerinin birleşimi Kayıt - Yığın Mimarisi olarak bilinir. Kayıt yığını mimarisinde yapılması gereken işlemler yığının en üstüne itilir. Ve sonuçları yığının en üstünde tutulur. Ters cilalama yönteminin kullanılması sayesinde daha karmaşık matematiksel işlemler ayrıştırılabilir. Bazı programcılar işlenenleri temsil etmek için ikili ağaç kavramını kullanırlar. Bu, ters cilalama metodolojisinin bu programcılar için kolay olabileceği, diğer programcılar için ise zor olabileceği anlamına gelir. Push ve Pop işlemlerini gerçekleştirmek için yeni donanımların oluşturulmasına ihtiyaç vardır.
Kayıt ve Hafıza
Bu mimaride en karmaşık mimarilerden biri olduğundan bir işlenen yazmaçtan, diğeri ise harici bellekten gelir. Bunun nedeni, her programın tam bellek alanında tutulması gerektiğinden çok uzun olabilmesidir. Genel olarak bu teknoloji Register-Register Register teknolojisi ile entegredir ve pratik olarak ayrı ayrı kullanılamaz.
ALU'nun Avantajları
ALU'nun aşağıdaki gibi çeşitli avantajları vardır:
- Paralel mimariyi ve yüksek performanslı uygulamaları destekler.
- İstenilen çıktıyı eş zamanlı olarak alabilme ve tam sayı ile kayan nokta değişkenlerini birleştirme yeteneğine sahiptir.
- Çok büyük bir set üzerinde talimatları yerine getirme yeteneğine sahiptir ve yüksek doğruluk aralığına sahiptir.
- Toplama ve çarpma veya toplama ve çıkarma gibi aynı koddaki iki aritmetik işlem veya herhangi iki işlenen ALU tarafından birleştirilebilir. Örnek: A+B*C.
- Tüm program boyunca aynı kalırlar ve aradaki kısmı kesemeyecek şekilde aralıklıdırlar.
- Genel olarak çok hızlıdır; dolayısıyla hızlı sonuç verir.
- ALU'da hiçbir hassasiyet sorunu ve bellek israfı yaşanmaz.
- Daha ucuzdurlar ve mantık kapısı gereksinimlerini en aza indirirler.
ALU'nun dezavantajları
ALU'nun dezavantajları aşağıda tartışılmaktadır:
- ALU ile değişken değişkenler daha fazla gecikmeye sahiptir ve tasarlanan kontrolörün anlaşılması kolay değildir.
- Bellek alanı kesin olsaydı, sonucumuzdaki hatalar ortaya çıkacaktı.
- Amatörleri anlamak zordur çünkü pistleri karmaşıktır; Ayrıca boru hattı kavramının anlaşılması karmaşıktır.
- ALU'nun kanıtlanmış bir dezavantajı gecikmelerde düzensizliklerin olmasıdır.
- Diğer bir dezavantaj ise doğruluğu etkileyen yuvarlamadır.