Bilgisayarların günümüzde ulaştığı teknolojik yapıyı en temel seviyede anlamak için boole algoritması bilmek gerekmektedir. Boole cebiri George Boole adlı matematikçi tarafından 1800′ lü yılların ortasında bulunmuştur. Boole algoritması gelişen teknolojiyle beraber beklenmedik bir şekilde elektronik sistemlerle beraber kullanılmaya başlanmıştır. Bu makalede öncelikle basitçe mantık kapılarından bahsedilecek daha sonra bu bilgiler birlikte harmanlanacaktır.
Temel Kapılar
Öğrenilmesi gereken bazı temel kapılar bulunmaktadır. Bu basit kapılar değişik kombinasyonlarda kullanılarak çok karmaşık elektronik devreler oluşturulabilir.
NOT Gate
Belkide en basit kapı inverter ( evirici ) olarak ta bilinen DEĞİL kapısıdır. Bu lojik kapı bir biti giriş olarak alır ve çıkış olarak o bitin tam tersini verir.
Yukarıdaki şekilden de görüleceği üzere değil kapısının A isimli bir girişi ve Q isimli bir çıkışı vardır. Tabloda değil kapısının girişine göre nasıl bir davranış göstereceği belirtilmiştir. Eğer A kapısına lojik 0 uygulanırsa Q’ dan lojik 1 çıkışı alınacaktır. A girişine lojik 1 uygulandığında ise Q çıkışından lojik 0 alınacaktır.
AND Gate
VE kapısının A ve B olmak üzere iki girişi vardır.
Lojik VE kapısının yukarıdaki gösterilen doğruluk tablosunu inceleyecek olursak :
Eğer A lojik 0, B lojik 0 ise Q lojik 0′ dır.
Eğer A lojik 0, B lojik 1 ise Q lojik 0′ dır.
Eğer A lojik 1, B lojik 0 ise Q lojik 0′ dır.
Eğer A lojik 1, B lojik 1 ise Q lojik 1′ dir.
OR Gate
Diğer bir lojik kapı ise VEYA kapısıdır.
VEYA kapısının doğruluk tablosu yukarıda gösterilmiştir. A veya B girişlerinden herhangi biri lojik 1 olduğunda Q çıkışı lojik 1 olmaktadır.
NOR Gate
VEYA DEĞİL kapısı, VEYA kapısı çıkışının, lojik olarak terslenmişidir.
NAND Gate
VE DEĞİL lojik kapısı VE kapısının çıkışı terslenmiş halidir.
XOR Gate
ÖZEL VEYA kapısının simgesi ve doğruluk tablosu aşağıdaki gibidir.
ÖZEL VEYA kapısında uygulanan girişlere aşağıdaki işlem uygulanmaktadır.
Q = AxB’ + A’ x B
XNOR Gate
ÖZEL VEYA DEĞİL kapısının simgesi ve doğrulk tablosu aşağıdaki gibidir.
DEĞİL, VE, VEYA kapıları temel kapılardır. Diğer lojik kapılar bu üç temel kapıdan türetilebilir. Örneğin bu üç kapı kullanılarak aşağıdaki XOR kapısı oluşturulabilir.
Basit Toplayıcılar
Bu bölümde lojik kapılarla ikilik sistemde nasıl toplama yapılacağı incelenecektir. Bu konuda öncelikle tek bit ekleyicileri incelemek yerinde olacaktır.
Bunun için öncelikle tüm olasılıkların gözden geçirilmesi gerekmektedir. Sonuçlar elde biti de gözönüne alınarak 2 bit olarak yazılmıştır.
Yukarıdaki değerlerle aşağıdaki doğruluk tablosu oluşturulabilir.
Bu tablo incelendiğinde Q için XOR kapısı CO ( elde biti ) için ise AND kapısı kullanılabileceği görülür.
Bir bitlik sayıları toplamak yukarıda gösterildiği gibi oldukça kolaydır. Ancak 2 tane 8 bit sayıyı toplamak bu yöntemle oldukça güç olacaktır. Bu problemi aşmak için kompakt tam toplayıcı devreler kullanılmaktadır. Yukarıdaki örnekte anlatılan toplayıcıdan farklı olarak full binary adder entegrelerin A ve B girişlerine ilave olarak birde CI isimli elde girişleri bulunmaktadır.
Tam Toplayıcılar
Tam toplayıcıların doğruluk tablosu incelenen diğer doğruluk tablolarına göre daha karmaşık bir yapıdadır. Bunun nedeni 3 bit girişin olmasıdır.
Yukarıdaki tabloyu uygulamak için farklı metodlar da kullanılabilir ancak burda uygulanan metod şöyle açıklanabilir :
Q bitine bakıldığında üstteki 4 bitin A ve B’ ye bağlı olarak XOR kapısı çıkışı olduğu görülür. Alttaki dört bit ise yine A ve B girişlerine bağlı olarak XNOR kapısı çıkışıdır. Benzer olarak CO’ nun üstteki dört biti A ve B’ nin VE kapısı çıkışı, alttaki dört bitin ise A ve B’ nin VEYA kapısı çıkışı olduğu görülecektir. Bu bilgilere göre bir tam toplayıcı devre aşağıdaki gibi oluşturulabilir.
Şüphesiz ki yukarıdaki devre tam toplayıcı devre oluşturmak için en verimli yol değildir. Ancak işleyişini anlayabilmek için oldukça faydalıdır.
Tam toplayıcı devre aşağıdaki gibi gösterilir :
Bu kısaltma ile devre şemalarında 4 bit tam toplayıcı çizmek oldukça kolay bir hale gelmektedir.
Yukarıdaki diyagramda her bir tam toplayıcının CO’ sunun diğerinin CI’ sını beslediği görülmektedir. Eğer A ve B hattı üzerine 4 bitlik bir sayı girilirse Q hattında 4 bitlik bir toplama sonucu ile 1 bit son CO bulunur. Bu işlem 8-16-32 bit ve daha fazlası içinde uygulanabilir.
4 Bit ekleyici “ripple-carry adder” olarak ta isimlendirilir. Çünkü bitler bir toplayıcıdan diğerine dalga dizisi gibi geçerler. Uygulama kolaylığı bu devreler için avantaj sağlarken hız bu devrelerde dezavantaj oluşturmaktadır. Toplanacak bit sayısı arttığında işlemin bitme süresi de uzayacaktır. Hız handikapından dolayı “carry-lookahead” olarak isimlendirilen toplayıcılar geliştirilmişlerdir. Bu tür toplayıcılarda daha fazla lojik kapı kullanılmaktadır bu nedenle boyutları daha büyüktür ancak işlem hızları daha yüksektir.
Flip Flops
Boole mantık kapılarıyla yapılabilecek en ilginç uygulamalardan biri de bu lojik kapılarla hafıza oluşturabilmektir. Eğer lojik kapılar uygun şekilde yerleştirilirse giriş değerlerini hatırlayabilirler. Bu basit konsept bilgisayarlarda kullanılan RAM’ in temellerini oluşturur.
Hafıza, geribesleme-feedback denilen konsepte dayanır. Feedback bir lojik kapının çıkışının tekrardan giriş kapısına girmesi olarak açıklanabilir. İki inverterle yapılmış bir feedback devresi aşağıda gösterilmiştir.
Eğer geribildirim yolu izlenirse, Q lojik 1 ise herzaman lojik 1 olacağı görülecektir. Aynı şekilde eğer lojik 0 ise herzaman lojik 0′ dır.
En kullanışlı feedback devresi iki NAND kapısı kullanılarak oluşturulan devredir.
Yukarıda görüldüğü gibi devrenin R ve S olmak üzere iki girişi, Q ve Q’ olmak üzere iki çıkışı vardır. Doğruluk tablosu aşağıda gösterilmektedir.
Yukarıdaki doğruluk tablosu incelenecek olursa :
– Eğer R ve S birbirlerinin tersi ise Q, S’ i izler ve Q’ , Q nun tersidir.
– Eğer R ve S aynı anda lojik 1 olurlarsa devre R ve S’ den gelen bir önceki veriyi hatırlar.
J-K Tipi Flip Flop
En sık kullanılan flip-flop tiplerindendir. Aşağıdaki gibi gösterilir.
Bu diyagramda P “Preset” i, C “Clear” i ve Clk ise “Clock” u göstermektedir. Lojik doğruluk tablosu aşağıdaki gibidir.
JK flip flop 1 bitlik bir hafızadır. Tetikleme darbesi ile üzerinde sakladığı değeri bırakır ve yeni gelen lojik değeri saklar. Bu işlem bu şekilde devam edip gider.
JK flip flopun tetikleme hareketi lojik 0 ise flip flopta herhangi bir değişme olmaz.
JK flip floplar özellikle sayıcı uygulamalarında çok faydalıdırlar. Aşağıda JK flip flop kullanılarak yapılan bir sayıcı görülmektedir.
Bu devrenin çıkışları A,B, C ve D’ den oluşan 4 bitlik binary bir sayıdır. En soldaki flip flopun saat girişine giren sinyal sürekli olarak 1 ve 0 arasında değişir. Sayıcı bu sinyalin düşen kenarlarını sayar ve sinyal 1′ den 0′ a her değiştiğinde A, B, C ve D değerleri 1 artar. 4 bit sayıcı olduğu için sayma 0 ile 15 sayıları arasında olacak ve sonra tekrar 0′ a dönecektir. Döngü bu şekilde devam edecektir.
Sayıcılar bir çok farklı alanda kullanılabilir. Örneğin kapıya bir manyetik switch konularak kapının açılıp kapanması sayılabilir. Yola bir optik sensör konularak gelip geçen arabalar sayılabilir.
JK flip floplar seviye tetiklemeli tutucu oluşturmak için de kullanılırlar.
Yukarıdaki yapıda D değeri saat sinyali lojik 0′ dan lojik 1′ e giderken sabitlenir. Tutucular CPU dizaynında çok önemli bir yer tutmaktadırlar.
Lojik Kapı Uygulamaları
Lojik kapıların fiziksel çalışma şeklinin anlaşılmasının en kolay yolu rölelerdir.
– Röle ile inverter oluşturmak gayet kolay bir işlemdir. Örnekte lojik 1, 6 volt ve lojik 0 ise 0 volt olarak değerlenmiştir.
Yukarıdaki düzenekte eğer A ucuna 0 volt uygulanırsa Q çıkışından 6 volt alınacaktır. Eğer A ucuna 6 volt uygulanırsa Q çıkışından 0 volt alınacaktır.
– Röle ile VE kapısı oluşturmak ta yine kolay bir uygulamadır.
Yukarıdaki düzenekten de görüleceği üzere Q çıkışından +6 volt alabilmek için A ve B girişlerini de +6 volt uygulanması gerekmektedir. Diğer durumlarda Q çıkışı 0 volt olacaktır.
VEYA kapısı oluşturmakta gayet kolaydır. VE kapısındaki A ve b girişleri birbirlerine bağlanarak VEYA kapısı oluşturulabilir.