Dijital cihazlarda aritmetiğin temelleri

Kerem Aydın·8 Temmuz 2026·⏱5 dk

Toplayıcı, ikili sayıların toplanması için tasarlanmış kombinesyonel bir mantık devresidir. Bu, herhangi bir modern işlemcinin (CPU) ve mikrodenetleyicinin temel yapı taşıdır ve aritmetik işlemlerin gerçekleştirilmesinden sorumludur. Basitçe ifade etmek gerekirse, bilgisayarlara hesaplama yeteneği kazandıran şey toplayıcıdır: basit "1+1" işleminden oyunlardaki ve bilimsel simülasyonlardaki karmaşık hesaplamalara kadar her şeyi bu sayede yaparlar.

Çalışmasının temeli Boolean cebirine dayanır. Devre, giriş olarak iki veya daha fazla ikili basamak (bit) ve düşük değerlikli basamaktan gelen elde sinyalini alır; çıkışta ise bu bitlerin toplamını ve yüksek değerlikli basamağa giden elde sinyalini oluşturur. Toplayıcının çalışma prensibini anlamak, bilgisayar mimarisini öğrenmek ve dijital cihazlar tasarlamak için kritik öneme sahiptir.

Temel elemanlar: Yarım Toplayıcı

Karmaşık bir hesaplayıcı inşa etmeden önce, iki tekil biti nasıl toplayacağımızı anlamamız gerekir. Bunun için yarım toplayıcı (Half Adder) kullanılır.

Yarım toplayıcının iki girişi ($A$ ve $B$) ve iki çıkışı vardır:

  1. Toplam ($S$, Sum) — sonucun düşük değerlikli biti.
  2. Elde ($C_{out}$, Carry Out) — sonucun yüksek değerlikli biti (toplam 1'i aşarsa oluşan bir).

Çalışma mantığı

İki biti topladığımızda sadece dört olasılık vardır:

  • $0 + 0 = 0$ (Toplam 0, Elde 0)
  • $0 + 1 = 1$ (Toplam 1, Elde 0)
  • $1 + 0 = 1$ (Toplam 1, Elde 0)
  • $1 + 1 = 10_2$ (Toplam 0, Elde 1)

Bu doğruluk tablosundan şunu görürüz:

  • Toplam ($S$) çıkışı, Özel VEYA (XOR) mantık fonksiyonunu gerçekleştirir. Sadece girişler farklı olduğunda 1 olur.
  • Elde ($C_{out}$) çıkışı, VE (AND) mantık fonksiyonunu gerçekleştirir. Sadece her iki giriş de 1 olduğunda 1 olur.

Neden "yarım"? Yarım toplayıcıya bu ad verilir çünkü önceki (daha düşük değerlikli) basamaktan gelen eldeleri dikkate almaz. Sadece iki sayının en düşük değerlikli bitlerini toplayabilir. Çok basamaklı sayıları toplamak için yetersizdir.

Tam Toplayıcı: Eldenin dikkate alınması

İkinci ve sonraki basamakları toplamak için, önceki düşük değerlikli basamakların toplanması sırasında oluşmuş olabilecek eldeleri dikkate almak gerekir. Bunun için tam toplayıcı (Full Adder) kullanılır.

Tam toplayıcının üç girişi vardır:

  1. $A$ — toplanan ilk bit.
  2. $B$ — toplanan ikinci bit.
  3. $C_{in}$ (Carry In) — düşük değerlikli basamaktan gelen elde.

Ve iki çıkışı vardır:

  1. $S$ — mevcut basamağın toplam biti.
  2. $C_{out}$ — yüksek değerlikli basamağa giden elde.

Mantığın oluşturulma prensibi

Tam toplayıcı, iki yarım toplayıcı ve bir VEYA mantık kapısı olarak düşünülebilir:

  1. İlk yarım toplayıcı $A$ ve $B$'yi toplar.
  2. İkinci yarım toplayıcı, ilk toplayıcının sonucunu giriş eldesi $C_{in}$ ile toplar.
  3. Eğer adımlardan herhangi birinde elde oluşursa, $C_{out}$ çıkışında bir değeri oluşur (VEYA kapısı aracılığıyla gerçekleştirilir).

Tam toplayıcı için formüller:

  • $S = A \oplus B \oplus C_{in}$
  • $C_{out} = (A \cdot B) + (C_{in} \cdot (A \oplus B))$

Bu devre, herhangi bir bit genişliğindeki sayıları işlemek için çok sayıda tam toplayıcının kademeli olarak bağlanmasına olanak tanır.

Çok basamaklı toplayıcı mimarileri

Örneğin iki 32 bitlik sayıyı toplamak gerektiğinde, mühendisler tam toplayıcıları bağlamak için çeşitli şemalar kullanır. Mimarilerin seçimi, işlem hızını ve işlemci çipinin alanını etkiler.

1. Seri elde toplayıcı (Ripple Carry Adder)

En basit yapıdır. Tam toplayıcılar zincirleme bağlanır: her bir önceki basamağın elde çıkışı ($C_{out}$), bir sonraki basamağın elde girişine ($C_{in}$) bağlanır.

  • Avantajları: Tasarım basitliği, minimum sayıda mantık elemanı.
  • Dezavantajları: Düşük hız. Elde sinyalinin tüm basamaklardan "geçmesi" gerekir. Toplama gecikmesi bit sayısı ile orantılıdır ($O(n)$). 64 bitlik sayılar için bu durum, yüksek frekanslarda belirgin bir gecikme yaratır.

2. Paralel elde toplayıcı (Look-Ahead Carry Adder)

Girişleri $A$ ve $B$'yi önceden analiz eden ek mantık kullanarak, tüm basamaklar için elde sinyallerini aynı anda hesaplayan daha karmaşık bir şemadır.

  • Avantajları: Yüksek hız. Gecikme, bit genişliğinden neredeyse bağımsızdır (uygulamaya bağlı olarak $O(1)$ veya $O(\log n)$).
  • Dezavantajları: Önemli ölçüde daha fazla mantık elemanı gerektirir, çipte daha fazla yer kaplar ve daha fazla enerji tüketir.

Mimarilerin karşılaştırılması

ÖzellikSeri eldeParalel elde
HızDüşük (bit genişliğiyle artar)Yüksek (neredeyse sabit)
Devre karmaşıklığıMinimumYüksek
Çip üzerindeki alanKüçükBüyük
Uygulama alanıMikrodenetleyiciler, enerji tasarrufu modlarıYüksek performanslı CPU'lar, GPU'lar

Modern yüksek performanslı işlemcilerde genellikle hibrit şemalar kullanılır. Örneğin, 4 bitlik bloklar içinde hızlı paralel elde kullanılırken, bloklar arasında çip hızı ve alanı arasında denge kurmak için daha basit şemalar tercih edilir.

Hesaplama teknolojilerindeki uygulamaları

Toplayıcılar, Aritmetik Mantık Birimi'nin (ALU) çekirdeğini oluşturur. Ancak işlevleri basit toplama ile sınırlı değildir.

  1. Çıkarma: İkili aritmetikte $A - B$ çıkarma işlemi, $A + (-B)$ toplama işlemi ile değiştirilir. Negatif sayı, tümleyen kodla temsil edilir ($B$ sayısının bitlerinin ters çevrilmesi artı bir). Böylece, aynı toplayıcı çıkarma işlemini de gerçekleştirir.
  2. Çarpma: Kaydırma ve toplama serisi olarak uygulanır. Hızlı çarpıcılar, toplayıcı dizileri kullanır.
  3. Artırma ve azaltma: Bir kaydediciyi bir artırma veya azaltma komutları da toplayıcı üzerinden geçer.
  4. Adres hesaplama: Belleğe erişim sırasında işlemci, temel adresi ofset ile toplamak için toplayıcıyı kullanır.

Konuyu çalışırken yapılan yaygın hatalar

  • XOR ve OR karıştırılması. Yeni başlayanlar sık sık bit toplamının basit bir mantıksal VEYA olduğunu sanır. Ancak $1 \text{ OR } 1 = 1$ iken, $1 + 1 = 10_2$ (toplam 0) olur. Toplam biti için kesinlikle Özel VEYA kullanmak kritiktir.
  • Taşmanın (Overflow) göz ardı edilmesi. İşaretli sayıları toplarken sonuç, temsil edilebilir değer aralığının dışına çıkabilir. Toplayıcı elde bitini oluşturur ancak taşma bayrağı ayrı olarak hesaplanır (işlenenlerin ve sonucun işaretlerinin karşılaştırılmasıyla), bu da modelleme sırasında sıklıkla gözden kaçırılır.
  • Gecikmelerin hafife alınması. Fiziksel devrelerde mantık elemanlarının anahtarlama süresi vardır. Uzun seri elde zincirlerinde bu durum, sonucun çıkışta anında değil, birkaç nanosaniye sonra ortaya çıkmasına neden olur; bu da işlemcinin maksimum saat frekansını sınırlar.

SSS

Toplayıcı ondalık sayıları toplayabilir mi? Doğrudan hayır. Sadece ikili verilerle çalışır. Ancak, BCD (Binary-Coded Decimal) kodlaması ve özel düzeltme devreleri kullanarak, yuvarlama hatalarından kaçınmak için finansal hesaplamalarda kullanılan ondalık toplayıcılar oluşturulabilir.

Neden tüm 64 bit için tek devasa bir paralel elde toplayıcı kullanılamaz? Teorik olarak mümkündür, ancak devre devasa boyutlara ulaşır. Yüksek değerlikli elde bitlerini hesaplamak için gereken transistör sayısı üstel veya karesel olarak artar. Bu durum, alan ve enerji tüketimi açısından verimsizdir. Bu nedenle hiyerarşik yapılar kullanılır.

Elde bayrağı (Carry Flag) nedir? Bu, işlemcinin bayrak kaydındaki özel bir bittir ve toplayıcının en yüksek değerlikli basamağının $C_{out}$ değeri buraya yazılır. Çok baytlı aritmetik işlemlerin (işlemci bit genişliğinden daha uzun sayıların toplanması) ve işaretsiz sayılarla yapılan işlemlerin organizasyonu için kullanılır.