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