Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.1. Boole Cebirinin Biçimsel Tanımı 1854 yılında George Boole tarafından mantıksal işlemler için oluşturuldu. 1938 yılında Claude Shannon tarafından anahtarlama cebiri (switching algebra) olarak da adlandırılan ikili Boole cebiri geliştirildi. Tanım 2.1. Boole cebiri, aşağıdaki konutları (postulate) sağlayan bir B ögeler kümesi ile bu ögeler üzerinde tanımlı iki ikili işlemden oluşan bir cebirsel yapıdır. İkili işlemlerin işleçleri sembolik olarak + ve . ile gösterilecektir. K1. 1) + işleci ile gösterilen işlem B kümesinde kapalıdır. a, b B , a + b = c ise c B 2) . işleci ile gösterilen işlem B kümesinde kapalıdır. a, b B , a . b = c ise c B Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bu eşlik ögesini sembolik olarak 0 ile gösterirsek : K2. 1) + işleci ile gösterilen işlemin bir eşlik ögesi (identity element) vardır. Bu eşlik ögesini sembolik olarak 0 ile gösterirsek : a B a + 0 = 0 + a = a 2) . işleci ile göstrilen işlemin bir eşlik ögesi (identity element) vardır. Bu eşlik ögesini sembolik olarak 1 ile gösterirsek : a B a . 1 = 1 . a = a K3. 1) + işleci ile gösterilen işlem yer değiştirme özelliğini (commutative) sağlar. a + b = b + a 2) . işleci ile gösterilen işlem yer değiştirme özelliğini (commutative) sağlar. a . b = b . a K4. 1) . işleci ile gösterilen işlem, + ile gösterilen işlem üzerinde dağılmalıdır (distributive). a . (b + c) = a . b + a .c 2) + işleci ile gösterilen işlem, . ile gösterilen işlem üzerinde dağılmalıdır (distributive). a + (b . c) = (a + b) . (a + c) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
K5. B kümesindeki her ögenin tümleri (complement) vardır. a ögesinin tümlerini a’ ile gösterirsek: a + a’ = 1 a . a’ = 0 K6. B kümesinde birbirinden değişik en az 2 öge vadır. Boole cebiri ile alışılmış cebir arasında başlıca farklılıklar: Boole cebirinde ne B kümesi ne de ikili işlemler tanımlıdır. Boole cebirinde ikili işlemlerden her biri diğeri üzerinde dağılmalıdır. Boole cebirinde ters öge ve ters işlem yoktur. Boole cebirinde her ögenin bir tümleri vardır. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.2. Boole Cebiri Örneği B = {2, 6, 8, 24} kümesi ile aşağıdaki çizelgelerle tanımlanan “en küçük ortak kat (ekok)” ve “en büyük ortak bölen (ebob)” ikili işlemleri bir Boole cebiri oluşturur. + 2 6 8 24 . 2 6 8 24 2 2 6 8 24 2 2 2 2 2 6 6 6 24 24 6 2 6 2 6 8 8 24 8 24 8 2 2 8 8 24 24 24 24 24 24 2 6 8 24 Yukarıda tanımlanan cebirsel sistemin bir Boole cebiri oluşturduğunu kanıtlamak için 6 konutun da sağlandığını göstermek gerekir. K4’ün sağlandığını göstermek için, aşağıdaki eşitlikler matematiksel olarak kanıtlanabilir. ekok [a , ebob(b, c)] = ebob [ekok(a, b) , ekok(a, c)] ebob [a , ekok(b, c)] = ekok [ebob(a, b) , ebob(a, c)] Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.3. İkili Boole Cebiri Değişmezler kümesi {0, 1} kümesidir : B = {0, 1} + ve . işleçleri ile gösterilen ikili işlemler, çok iyi bilinen mantıksal VE (AND) ve YADA (OR) işlemleridir. ’ işleci ile gösterilen tekli işlem mantıksal DEĞİL (NOT) işlemidir. {0, 1} kümesi ile bu küme üzerinde tanımlanan VE, YADA ve DEĞİL işlemlerinin bir Boole cebiri oluşturabilmesi için Huntington konutlarının sağlandığının gösterilmesi gerekir. Doğruluk çizelgesi ile, . ve + işlemlerinin birbiri üzerinde dağılmalı olduğu, başka bir deyişle: a . (b + c) = (a . b) + (a . c) a + (b . c) = (a + b) . (a + c) eşitliklerinin doğru olduğu ispat edilebilir Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Mantıksal Tasarım – Prof. Dr Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.4. İkili Boole Cebirinin Temel Kuralları veÖzellikleri Dualite prensibi. Herhangi bir Boole eştliğinde: + yerine . . yerine + 1 yerine 0 0 yerine de 1 konulursa, ilk eşitliğin duali olan yeni bir eşitlik elde edilir. Eşlik ögeleri: + ve . işleçleri ile gösterilen YADA ve VE işlemlerinin eşlik ögeleri sırasıyla 0 ve 1’dir: a + 0 = a a 1 = a Denk güçlülük (idempotency): a + a = a a a = a Involution kuralı: Bir ikili değerin tümlerinin tümleri kendisine eşittir: (a’)’ = a Yer değiştirme özelliği (commutativity): a + b = b + a a b = b a Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Birleşme özelliği (associativity): a + (b + c) = (a + b) + c = a + b + c a(b c) = (a b) c = a b c Dağılma ögelliği (distributivity): a ( b + c) = (a b) + (a c) = a b + a c a + (b c) = (a + b)(a + c) De Morgan önermesi: (a + b)’ = a’ b’ (a b)’ = a’ + b’ Bu önerme genelleştirilirse: (a1 + a2+ ….. + an)’ = a1’ a2’ …. an’ (ai)’ = ai’ (a1a2 …. an)’ = a1’ + a2’ + …. + an’ (ai)’ = ai’ Emilme (absorption) kuralı: a + a’b = a + b a(a’ + b) = ab Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
De Morgan önermesinin doğruluk çizelgesi ile kanıtlanması: Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.5. Boole Deyimi ve Boole İşlevleri Boole değişkenleri (a, b, c, …, x, y, z, ..), Boole değişmezleri (0 ve 1), Boole işleçleri (+, . ve ’) ve ayraçlardan belirli kurallara göre oluşturulan deyim. n değişken içeren her Boole deyimi n değişkenli bir Boole işlevi tanımlanır. n değişkenli bir Boole işlevinin değeri, değişkenlerin 2n birleşiminin her biri için bilindiğinde, işlev kesinlikle tanımlanmış olur. Bu nedenle Boole işlevleri için, cebirsel tanıma ek olarak, doğruluk çizelgesi tanımı da kullanılır. a b c f 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 Doğruluk çizelgesi tanımının cebirsel tanıma üstünlüğü, bir Boole işlevinin cebirsel tanımı birden çok deyim ile yapılabilirken, doğruluk çizelgesi tanımının tek olmasıdır. Örnek : f(a,b,c) = a’b + a(b’+c)’ = (b’+ac)’ = b(a’+c’) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.6.1. Standart Çarpımlar Toplamı Biçimi 2.6. Standart Biçimler 2.6.1. Standart Çarpımlar Toplamı Biçimi Standart çarpım terimlerine kısaca minterm denir. n değişkenli Boole işlevlerini tanımlamak için kullanılan 2n standart çarpım terimi, ya da kısaca minterm vardır. n değişkenli her Boole işlevi, n değişkenli minterm’lerden birkaçının toplamına eşittir. 3 değişkenli minterm ‘ler: m0 = a’b’c’ m1 = a’b’c m2 = a’b c’ m3 = a’b c m4 = a b’c’ m5 = a b’c m6 = a b c’ m7 = a b c n değişkenin her birleşimi için 2n mintermden birinin ve yalnız birinin değeri 1; diğerlerinin değeri 0’dır. Standart çarpımlar toplamı gösterimleri: f(a,b,c) = a’b c’ + a b’c’ + a b’ c + a b c’ = m2 + m4 + m5 + m6 = (2, 4, 5, 6) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4 değişkenli 24 = 16 minterm vardır. m0 = a’b’c’d’ m1 = a’b’c’d Örnek: f(a,b,c,d) = c(a + bd) + c’(a’d + abd’) f(a,b,c,d) = m1 + m5 + m7 + m10 + m11 + m12 + m14 + m15 = (1, 5, 7, 10, 11, 12, 14, 15) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.6.2. Standart Toplamlar Çarpımı Biçimi Standart toplma terimlerine kısaca maxterm denir. n değişkenli Boole işlevlerini tanımlamak için kullanılan 2n standart toplam terimi, ya da kısaca maxterm vardır. n değişkenli her Boole işlevi, n değişkenli maxterm’lerden birkaçının çarpımına eşittir. 3 değişkenli maxterm ‘ler: M0 = a + b + c M1 = a + b + c’ M2 = a + b’+ c M3 = a + b’+ c’ M4 = a’+ b + c M5 = a’+ b + c’ M6 = a’+ b’+ c M7 = a’+ b’+ c’ n değişkenin her birleşimi için 2n maxtermden birinin ve yalnız birinin değeri 0; diğerlerinin değeri 1’dir. Standart çarpımlar toplamı gösterimleri: f(a,b,c) = (b + c’)(b’ + c)(a’ + b) = a’b’c’ + bc f(a,b,c) = M1 M2 M4 M5 M6 = (1, 2, 4, 5, 6) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Örnek: f(a,b,c,d) = a’c’ + ab + (a + b)cd’ M0 = a + b + c + d M1 = a + b + c + d’ M2 = a + b + c’+ d M3 = a + b + c’+ d’ M4 = a + b’+ c + d M5 = a + b’+ c + d’ M6 = a + b’+ c’+ d M7 = a + b’+ c’+ d’ M8 = a’ + b + c + d M9 = a’ + b + c + d’ M10 = a’ + b + c’+ d M11 = a’ + b + c’+ d’ M12 = a’ + b’+ c + d M13 = a’ + b’+ c + d’ M14 = a’ + b’+ c’+ d M15 = a’ + b’+ c’+ d’ a b c d f 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Örnek: f(a,b,c,d) = a’c’ + ab + (a + b)cd’ f(a,b,c,d) = M2 M3 M7 M8 M9 M11 = (2, 3, 7, 8, 9, 11) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.7. İki değişkenli Boole İşlevleri ve Diğer İkili İşlemler Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İkili işlemlerin tanımı ve kısa özellikleri: 1. VE (AND) İşlemi : a b 2. YADA (OR) İşlemi : a + b 3. EXCLUSIVE-OR (XOR) İşlemi : a b = a’b + a b’ Sayısal devrelerde çok kullanılan XOR işlemi hem yer değiştirme özelliğini (commutativity) hem de birleşme özelliğini (associativity) sağlar. a b = b a a (b c) = (a b) c = a b c 4. EQUIVALENCE (EQV, XNOR) İşlemi : a b (ya da a b) = a b + a’b’ Kısa adı XNOR olan bu işlem ile XOR işlemi, karşılıklı olarak birbirinin tümleridir. XOR işlemi gibi, XNOR işlemi de hem yer değiştirme özelliğini (commutativity) hem de birleşme özelliğini (associativity) sağlar. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
5. NAND İşlem : a b = (a b)’ = a’ + b’ NAND işlemi yer değiştirme özelliğini sağlayan, buna karşılık birleşme özelliğini sağlamayan bir işlemdir. (a b)’ = a b (a b)’ = a b a b = b a a (b c) (a b) c 6. NOR İşlemi: a b = (a + b)’ = a’b’ NAND işlemi gibi, NOR işlemi de yer değiştirme özelliğini sağlayan, buna karşılık birleşme özelliğini sağlamayan bir işlemdir. (a b)’ = a + b (a + b)’ = a b a b = b a a (b c) (a b) c Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7. INHIBITION İşlemi: a / b = a b’ Yasaklama işlemi olarak adlandırabileceğimiz bu işlem, ilk altı işlem kadar çok kullanılan bir işlem değildir. a / b (a but not b diye okunabilir) 8. IMPLICATION İşlemi : a b (ya da a b) = a’ + b İçerme işlemi olarak adlandırabileceğimiz bu işlem de, ilk altı işlem kadar çok kullanılan bir işlem değildir. a / b (if a then b diye okunabilir) İkili işlemlerin ikişer ikişer birbirinin tümleri olduğu görülmektedir. AND ve NAND birbirinin tümleridir: (ab)’ = a b (a b)’ = ab OR ve NOR birbirinin tümleridir. (a+b)’ = a b (a b)’ = a + b XOR ve XNOR birbirinin tümleridir. (a b)’ = a b (a b)’ = a b INH ve IMP birbirinin tümleridir. (a / b)’ = a b (a b)’ = a / b Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İkili İşlemlerin Kimi Özellikleri Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
2.8. En Küçük Yetkin İşlem Kümeleri Bir işlem kümesinin yetkin (complete) olması, herhangi bir Boole deyiminin bu işlemlerle ifade edilebilmesi anlamındadır. Boole cebirinin tanımında yer alan {AND, OR, NOT} kümesinin yetkin bir işlem kümesi olduğu açıktır. Ancak bu işlem kümesi en küçük değildir; çünkü bu üç işlem birbirinden bağımsız değildir. En küçük yetkin işlem kümeleri {AND, NOT} a + b = (a’b’)’ {OR, NOT} a b = (a’+ b’)’ {NAND} a a = (a a)’ = a’ (a a) (b b) = a’ b’ = (a’b’)’ = a + b (a b) (a b) = (a b)’ = ((ab)’)’ = ab Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
(a a) (b b) = a’ b’ = (a’ + b’)’ = ab {NOR} a a = (a + a)’ = a’ (a a) (b b) = a’ b’ = (a’ + b’)’ = ab (a b) (a b) = (a b)’ = ((a + b)’)’ = a + b Bu özellikleri nedeniyle NAND ve NOR işlemleri evrensel işlemler olarak adlandırılır ve sayısal devrelerin mantıksal tasarımında çok kullanılırlar. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü