8.7 KARŞILAŞTIRICILAR (Comparators)

8.7.1 Tanım
İki sayıyı karşılaştıran ve büyüklüklerini belirleyen bileşik devreler, ‘büyüklük karşılaştırıcı’ (magnitude comparator) olarak isimlendirilir. Karşılaştırma sonucu; A > B, A = B veya A < B’ yi belirleyen üç konum ile belirlenir. En yaygın kullanım yerleri Aritmetik Lojik devrelerdir. Karşılaştırıcı devreleri, girişleri aynı veya farklı iken çıkış veren kontrol devrelerinde ve ikili karşılaştırmanın kullanıldığı adres bulma devrelerinde kullanılır.

En basit karşılaştırıcı devresi, tek bitlik A ve B sayılarının eşitlik durumunu karşılaştıran karşılaştırıcı devresidir. Bu devrede A = B durumunda çıkışlardan birisi ‘1’ olurken, A ≠ B durumunda diğeri ‘0’ olur.

 

Şekil 8.66 Bir bitlik iki sayının karşılaştırılması



Tablo 8.37 Bir bitlik iki sayıyı karşılaştıran devrenin doğruluk tablosu

A

B

A > B

A = B

A < B

0

0

0

1

0

0

1

0

0

1

1

0

1

0

0

1

1

0

1

0

 

 

  A=B için A'B' + AB = AÄB
 
  A>B için AB'
 
  A<B için A'B

Şekil 8.67 Bir bitlik iki sayıyı karşılaştıran lojik devre tasarımı


7485 entegresi, dört bitlik iki sayıyı karşılaştıran ve karşılaştırılan bitlerin durumuna göre çıkış oluşturan lojik elemandır (Şekil 8.68). Entegre karşılaştırılacak sayı girişleri ile birlikte çok sayıda entegrenin bir arada kullanılmasına imkan tanıyan karşılaştırma girişlerine sahiptir. Entegrenin dört bitlik karşılaştırma işlemine ait doğruluk tablosu Tablo 8.37' de görülmektedir.

Şekil 8.68 7485 Karşılaştırıcı entegresi lojik sembolü


Dört bitlik büyüklük karşılaştırıcı devresi, A girişlerine uygulanan A3A2A1A0 sayıları ile B girişlerine uygulanan B3B2B1B0 sayılarını karşılaştırır. Bütün bitlerde Ai ile Bi değerleri eşitse, iki sayı birbirine eşittir. Sayıları karşılaştırma işleminde, önce A3 ve B3 bitlerini karşılaştırır. Eğer A3 > B3 ise, diğer bitlerin  karşılaştırmasına gerek yoktur. Eğer A3 = B3 ise, daha düşük basamak değerine sahip iki bitin karşılaştırılmasına geçilir. Karşılaştırma işlemine, eşit olmayan bir basamak çiftine ulaşıncaya kadar devam edilir. A’nın ilgili hanesi ‘1’ve B’ninki ‘0’ ise A > B sonucuna, A’nın ilgili hanesi ‘0’ ve B’ninki ‘1’ ise, A < B sonucuna varılır. Eğer bütün basamaklardaki değerler birbirine eşitse, A = B sonucuna ulaşılır. Karşılaştırma sonucunda varılan karara göre ilgili çıkış ‘1’ yapılır . Dört bitten daha büyük sayıların karşılaştırılması için, iki veya daha fazla sayıda dört bitlik karşılaştırıcı kaskat şeklinde bağlanabilir. İki karıştırıcının kaskat şeklinde bağlanması durumunda, düşük basamaklı bitleri karşılaştıran devre çıkışları, yüksek basamakları karşılaştıran devrenin ilgili girişlerine Şekil 8.68’daki gibi bağlanır. Bu bağlantı ile, 8 bitlik iki sayının karşılaştırılması işlemi gerçekleştirilebilir.Sekiz bitin karşılaştırılması işleminde, kaskat girişlerin değerlerine bakılmaksızın yüksek değerli dört bit karşılaştırılır. Yüksek değerlikli bitlerin eşit olması durumunda, düşük değerli dört biti karşılaştıran entegrenin çıkışının uygulandığı kaskat girişleri değerlendirilerek, 8 bitin karşılaştırılması sonucunu veren çıkışlarda karşılaştırma sonucu okunur. Büyüklük karşılaştırıcılar, bilgisayarlarda (mikroişlemcili sistemlerde) adres kod çözücü devrelerin bir parçası olarak kullanılır. Bu kullanımda, bir karşılaştırıcı bilgisayarın merkezi işlem biriminin ürettiği adres kodu ile bellekte bulunan adresin kodunu karşılaştırır. Karşılaştırılan kodlar eşitse, istenilen işlemi yapmak üzere ilgili devreyi aktif hale getirir.

Tablo 8.38 Dört bitlik karşılaştırma işlemi doğruluk tablosu

A3,, B3, A2,, B2, A1,, B1, IA > B IA < B IA = B QA > B QA < B QA = B
A3 > B3 X X X X X 1 0 0
A3 = B3 X X X X X 0 1 0
A3 = B3 A2 > B2 X X X X 1 0 0
A3= B3 A2 < B2 X X X X 0 1 0
A3= B3 A2= B2 A1 > B1 X X X 1 0 0
A3 = B3 A2 = B2 A1 < B1 X X X 0 1 0
A3 = B3 A2 = B2 A1= B1 X X X 1 0 0
A3 = B3 A2 = B2 A1 = B1 X X X 0 1 0
A3 = B3 A2 = B2 A1 = B1 1 0 0 1 0 0
A3 = B3 A2 = B2 A1 = B1 0 1 0 0 1 0
A3 = B3 A2 = B2 A1 = B1 0 0 1 0 0 1
A3 = B3 A2 = B2 A1 = B1 0 0 0 0 0 1

Şekil 8.69 Karşılaştırıcıların kaskat bağlanması


Karşılaştırıcı devresine örnek olarak; Şekil 8.70’deki fotokopi makinesi kontrol devresini verebiliriz. 7485 entegresi kullanılarak oluşturulan devrede; çekilmek istenen fotokopi sayısını temsil eden değer ‘B’ girişine, çekilen fotokopileri sayan devrenin çıkışı ise ‘A’ girişine uygulanır. İki sayı birbirine eşit oluncaya kadar A < B çıkışı ‘1’ olur ve fotokopi çekimi devam eder. A ve B girişlerindeki değerlerin aynı olması durumunda; ‘A = B’ çıkışı‘1’ olur ve fotokopi çekim işlemi durur.

Sekil 8.70 Fotokopi makinesi kontrol devresi

En temel karşılaştırıcı devreleri Özel - Veya (XOR) kapılarıdır. Bir Özel Veya kapısının girişleri farklı iken çıkış Lojik-1, girişleri aynı iken çıkış Lojik-0 olur.

 

Örnek 8.29 Aşağıda özel veya kapısı kullanılarak A > B, A = B ve A < B karşılaştırıcıları kullanılmıştır. A > B ise sonuç A., A = B ise A EXOR B ve A < B ise .B olacaktır.

                                                                                                         

Örnek 8.30 4 Bitlik 74LS85 entegresinin incelenmesi

8.7.2  Karşılaştırıcı ve Aritmetik İşlem Devreleri (Arithmetic Logic Unit)

Bir bilgisayarda genel anlamda aritmetik ve mantıksal işlemlerin yapıldığı birime Aritmetik İşlem Birimi (ALU) adı verilir. Yukarıda gördüğümüz ve sadece toplama, çıkarma yapan devre de bir anlamda basit bir ALU'dur. Bu örnek birim sadece 2 işlem yapabildiğinden tek bir kontrol girişi tarafından kontrol edilmektedir. Daha gelişmiş fonksiyonları yerine getiren ALU'lar için tabiki daha geniş seçenekli kontrol devreleri ve bu seçenekleri belirleyen kontrol bitleri, daha doğrusu kontrol giriş kodu gereklidir.

Karşılaştırıcı devreleri, farklı kaynaklardan gelen bilgileri karşılaştırmak amacıyla düzenlenen devreler olarak düşünebilir. Bileşik lojikte en çok kullanılan devrelerden olan toplayıcı ve çıkarıcı devreler ise, ‘Aritmetik İşlem Devreleri’ olarak isimlendirilir. Karşılaştırıcı ve aritmetik işlem devreleri ‘Kıyaslama Devreleri’ veya ‘Aritmetik Mantık Birimi’ olarak tanımlanır. Diğer bir değişle, kıyaslama devreleri karşılaştırıcılar ve aritmetik lojik devrelerine genelde verilen bir isimdir.

 

8.7.2.1  Aritmetik İşlemler ile İlgili Uygulamalar

Aritmetik işlemleri gerçekleştiren ve mikroişlemcilerin Aritmetik-Mantık Birimlerini (ALU) oluşturan devreler, farklı elemanlar kullanılarak değişik şekillerde gerçekleştirilebilir. Aritmetik işlemleri gerçekleştiren devrelere örnek vererek, bunların çalışma prensiplerini inceleyelim.

8.7.2.1.1  Paralel Toplayıcı (8 bit) Devresi

Paralel toplama işlemlerinde yaygın olarak kullanılan elemanlardan birisi, 7483 entegresidir. İki adet 7483 entegresi kullanılarak 8 bitlik paralel toplayıcı gerçekleştirilebilir (Şekil 8.71). Oluşturulan devrede, düşük değerli bitleri toplayan entegrenin elde (Ci) girişi ‘0’yapılmalıdır. İkinci entegrenin elde girişi ise, düşük değerli bitleri toplayan entegrenin elde çıkışına (Co) bağlanır. Bu bağlantı ile her biri 8 bitlik A ve B sayıları toplanır, sonuçta 8 bitlik toplam çıkışları ile elde çıkışı üretilir.

Şekil 8.71 Sekiz bit paralel toplayıcı devresi oluşturulması.

 

8.7.2.1.2   Dört Bitlik Sayıların Çarpılması

Piyasada iki bitlik çarpma işlemleri gerçekleştiren 74284 ve 74285 entegreleri bulunmaktadır (Şekil 8.63). Aynı işlemi gerçekleştiren ve birbirinin benzeri ayak bağlantılarına sahip olan 74284 ve 74285 entegreleri birlikte kullanılarak dört bitlik iki sayının çarpımı işlemini gerçekleştirmek mümkündür. Dört bitlik iki sayının çarpımı için iki entegre girişleri birbirine paralel bağlanır. Şekil 8.73’deki prensip şeması çizilen devrede, çarpma işlemi sonucunda elde edilen sayının ilk dört biti 74284 entegresi çıkışlarından, son dört biti ise 74285 entegresi çıkışlarından alınır.

Şekil 8.72 74LS284 entegresi ayak bağlantıları

Şekil 8.73 4x4 bitlik çarpma devresi

8.7.2.2   Aritmetik Mantık Birimi Devreleri

Aritmetik Mantık Birimini oluşturmanın en basit yöntemlerinden birisi 74181 entegresi kullanmaktır (Şekil 8.74). 74181 entegresi, iki adet dört bitlik giriş üzerinde 16 aritmetik işlem veya 16 mantık işlemi gerçekleştirilebilir.

Şekil 8.74 74181 Aritmetik – Lojik işlem entegresi ayak bağlantısı.