Sayısal Devrelerde Mantıksal Tasarım

Prof. Dr. Ahmet Ünal YARIMAĞAN

 

  farkımız, kitaplarımızda

 

 

 

 

 

 

 

 

Bu kitabımız nitelikli öğretim yapan 45 üniversitede ders kitabıdır...

 

  mürekkep kokulu kitaplar 

 

ISBN: 978-605-9594-86-8, 452 sayfa, 2. Basım

(16,5x24 cm2), 80 gr. 1. hamur kağıt


Sayısal Devrelerde Mantıksal Tasarım PDF      şimdi satın al


Bu kitabın konusu olan “sayısal devrelerin mantıksal tasarımı” donanım alanının en alt düzeydeki temel konusudur. Bilgisayar donanımları özde sayısal devrelerden oluşan elektronik aygıtlardır. Ancak sayısal devrelerin çözümleme ve tasarımını yapmak için, bu devrelerin elektronik yapısını bilmek zorunlu değildir. Geçitler (gates) ve ikidurumlular (flip-flops) gibi temel devre elemanları ile kod çözücü (decoder) , toplayıcı (adder), çoklayıcı (multiplexer) gibi işlevsel devre elemanlarının mantıksal yapısını bilerek, sayısal devreleri tasarlamak ve çözümlemek mümkündür. Sayısal devrelerin mantıksal düzeyde incelenmesi ile ilgilenen bu alan bilgisayar ve elektronik mühendisliği programlarının temel konularından birini oluşturmaktır. Bu kitap, sayısal sistemler ve bilgisayar donanımının temel konusu olan bu alanda Türkçe bir kaynak oluşturmak amacıyla hazırlanmıştır. Kitap sayısal devrelerin mantıksal tasarımı ile ilgili temel bilgileri aktarmak yanında, içerdiği çok sayıda soru ile, çok soru çözerek konuları daha iyi kavramak ve kendini geliştirmek isteyen  okuyucuya yardımcı olmayı da amaçlamaktadır.


       


 

İÇİNDEKİLER

 

Önsöz

1. Temel Bilgiler

1.1.         Sayısal Sistemler 

1.2.         Sayı Sistemleri

1.3.         İkili Sayı Sistemi

1.3.1.      Çıkarma İşleminde Tümlerlerin Kullanılması

1.4.         Sekizli ve Onaltılı Sayı Sistemleri

1.5.         İkili Kodlar

1.5.1.      Sayısal Kodlar

1.5.2.      Yanlış Bulan Kodlar (Error Detecting Codes)

1.5.3.      Yanlış Düzelten Kodlar (Error Correcting Codes)

               Sorular   

 

2. Boole Cebiri ve Boole İşlevleri

2.1.         Boole Cebirinin Biçimsel Tanımı

2.2.         Boole Cebiri Örneği         

2.3.         İkili Boole Cebiri

2.4.         İkili Boole Cebirinin Temel Kuralları ve Özellikleri  

2.5.         Boole Deyimi ve Boole İşlevleri

2.6.         Standart Biçimler

2.6.1.      Standart Çarpımlar Toplamı Biçimi

2.6.2.      Standart Toplamlar Çarpımı Biçimi

2.7.         İki Değişkenli Boole İşlevleri ve Diğer İkili İşlemler

2.8.         En Küçük Yetkin İşlem Kümeleri    

               Sorular


3. Boole İşlevlerinin Yalınlaştırılması

3.1.         En Küçük Deyim 

3.2.         Cebirsel Yalınlaştırma    

3.3.         Harita Yöntemiyle Yalınlaştırma   

3.3.1.      İki Değişkenli Harita       

3.3.2.      Üç Değişkenli Harita       

3.3.3.      Dört Değişkenli Harita    

3.3.4.      Beş Değişkenli Harita     

3.3.5.      En Küçük Deyimlerin Toplamlar Çarpımı Biçiminde Bulunması

3.4.         Eksik Tanımlanmış İşlevlerin Yalınlaştırılması

3.5.         En Küçük Deyimlerin Özellikleri

3.6.         Çizelge Yöntemiyle Yalınlaştırma

               Sorular

 

4. Birleşimsel Mantık

4.1.         Devre Türleri, Fiziksel Değişkenler, Mantık Türleri

4.2.         Geçitler ve Özellikleri

4.3.         Temel Geçitlerle Çözümleme ve Tasarım

4.3.1.      Temel Geçitlerden Oluşan Devrelerin Çözümlenmesi

4.3.2.      Temel Geçitlerle Devre Tasarımı

4.4.         NAND ve NOR Geçitleri ile Çözümleme ve Tasarım

4.4.1.      NAND ve NOR Geçitlerinden Oluşan Devrelerin Çözümlenmesi

4.4.2.      NAND ve NOR Geçitleriyle Devre Tasarımı

4.5.         İki ve Çok Düzeyli Devreler

4.6.         Birleşimsel Devre Örnekleri

4.6.1.      Yarım-Toplayıcı (Half-Adder)

4.6.2.      Tam-Toplayıcı (Full-Adder)

4.6.3.      Yarım-Çıkarıcı (Half-Substractor)

4.6.4.      Tam-Çıkarıcı (Full-Substractor)

4.6.5.      Eşlik Bit’i Üretimi

4.6.6.      Eşlik Bit’i Denetimi

4.6.7.      İkiye Tümler Hesaplayan Devre

4.6.8.      BCD/Artık-3 Kod Dönüştürücü

               Sorular

 

5. Tümleşik Devrelerle Birleşimsel Mantık

5.1.         Tümleşik Devreler

5.2.         Toplama ve Çıkarma Devreleri

5.2.1.      İkili Paralel Toplama Devreleri

5.2.2.      İkili Paralel Toplama-Çıkarma Devreleri

5.2.3.      BCD Toplama Devresi

5.3.         Karşılaştırma Devreleri 

5.4.         Kod Çözücüler (Decoders)

5.5.         Kodlayıcılar (Encoders)

5.6.         Çoklayıcılar (Multiplexers)

5.7.         Dağıtıcılar (DeMultiplexers)

5.8.         Salt Okunur Bellek (Read Only Memory: ROM)

5.9.         Programlanabilir Mantık Dizisi (Programmable Logic Array: PLA)

   Sorular

 

6. Zaman-uyumlu Dizisel Devreler

6.1.         Yalın Bir Dizisel Devre: Seri Toplayıcı

6.2.         Durum Çizelgesi ve Durum Çizeneği

6.3.         Sonlu Durumlu Özdevinir (Finite State Automata) Modeli 

6.4.         İkidurumlular (Flip-Flops)       

6.4.1.      SR Türü İkidurumlu  

6.4.2.      D Türü İkidurumlu

6.4.3.      JK Türü İkidurumlu

6.4.4.      T Türü İkidurumlu

6.4.5.      İkidurumluların Tetiklenmesi

6.4.6.      İkidurumlularla İlgili Varsayımlar

6.4.7.      İkidurumluların Zamanuyumsuz Girişleri

6.5.         Zamanuyumlu Dizisel Devre Tasarımı

6.6.         Tasarım ve Çözümleme Örnekleri

    Sorular

 

7. Yazmaçlar, Sayaçlar, Bellekler

7.1.         Yazmaçlar ve Yazmaç İşlemleri

7.1.1.      Paralel Yükleme

7.1.2.      Kaydırma ve Seri Yükleme 

7.1.3.      Yazmaçlar Arası Aktarma

7.1.4.      Seri Toplama İşlemi

7.1.5.      Çok İşlevli Yazmaçlar

7.2.         Sayaçlar

7.2.1.      Zaman-uyumlu Sayaçlar (Synchronous Counters)        

7.2.2.      Dalgacık Sayaçlar (Ripple Counters)     

7.3.         Zaman Dizilerinin Üretilmesi

7.4.         Rasgele Erişimli Bellek (RAM)    

   Sorular

 

8. Zaman-uyumsuz Dizisel Devreler

8.1.         Temel Mod Devreler  

8.1.1.      Temel Mod Devre Tasarımı

8.1.1.1.  İlkel Akış Çizelgesinin Oluşturulması

8.1.1.2.  İndirgenmiş Akış Çizelgesinin Bulunması

8.1.1.3.  Çıkış Değerlerinin Belirlenmesi   

8.1.1.4.  Tasarımın Tamamlanması 

8.1.1.5.  Durum Ataması

8.1.2.      Temel Mod Devrelerin Çözümlenmesi   

8.1.3.      Temel Mod Devre Tasarım ve Çözümleme Örnekleri   

8.2.         Vuruş Modu Devreler

               Sorular

 

Seçilmiş Soruların Yanıtları    

 Bölüm1

 Bölüm 2

 Bölüm3

 Bölüm 4

 Bölüm 5

 Bölüm 6

 Bölüm 7

 Bölüm 8

 

Seçilmiş Kaynaklar     483

Terimler Sözlüğü         487


         


Önsöz.

Genel amaçlı bilgisayarların ilk kullanılmaya başlandığı yıllardan bugüne kadar geçen yaklaşık 40 yıllık sürede donanım, yazılım ve iletişim alanlarında çok büyük gelişmeler yaşandı ve bu alanlarda verilen eğitimin önemi büyük ölçüde arttı. Bu kitabın konusu olan “sayısal devrelerin mantıksal tasarımı” donanım alanının en alt düzeydeki temel konusudur. Bilgisayar donanımları özde sayısal devrelerden oluşan elektronik aygıtlardır. Ancak sayısal devrelerin çözümleme ve tasarımını yapmak için, bu devrelerin elektronik yapısını bilmek zorunlu değildir. Geçitler (gates) ve ikidurumlular (flip-flops) gibi temel devre elemanları ile kod çözücü (decoder) , toplayıcı (adder), çoklayıcı (multiplexer) gibi işlevsel devre elemanlarının mantıksal yapısını bilerek, sayısal devreleri tasarlamak ve çözümlemek mümkündür. Sayısal devrelerin mantıksal düzeyde incelenmesi ile ilgilenen bu alan bilgisayar ve elektronik mühendisliği programlarının temel konularından birini oluşturmaktır. Bu kitap, sayısal sistemler ve bilgisayar donanımının temel konusu olan bu alanda Türkçe bir kaynak oluşturmak amacıyla hazırlanmıştır. Kitap sayısal devrelerin mantıksal tasarımı ile ilgili temel bilgileri aktarmak yanında, içerdiği çok sayıda soru ile, çok soru çözerek konuları daha iyi kavramak ve kendini geliştirmek isteyen  okuyucuya yardımcı olmayı da amaçlamaktadır.

Kitabın ana kaynağı, Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümünde okutulmakta olan "Mantıksal Tasarım" dersinin notlarıdır. Bu nedenle kitabın içeriği özellikle bilgisayar ve elektrik-elektronik mühendisliği bölümlerinde lisans  düzeyinde okutulacak bir ders için uygundur. Bunun yanında sayısal devreler konusunun işlendiği önlisans, lisans ya da yüksek lisans düzeyindeki  herhangi bir ilk ders için bu kitabın “ders kitabı”, ya da “yardımcı kitap” olarak kullanılabileceği düşünülmektedir. Kitaptaki tüm konuların, bir yarıyıl süreli bir derste işlenmesi için dersin haftalık süresinin en az 4 saat olması gerektiğini düşünüyorum. Haftalık süresi 3 saat olan bir derste ise kitabın ilk altı ya da yedi  bölümündeki konuların işlenmesinin uygun olacağı görüşündeyim.

Sayısal devrelerde mantısal tasarım dersini 2 yıl Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümünde, 23 yıl da Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümünde olmak üzere toplam 25 kez verdiğim için, bu konuda küçümsenmeyecek bir soru bankasına sahibim. Bu soruların büyük bir kısmı kitapta yer almaktadır. Kitabın en özgün yanının da soru ve yanıtlar olduğunu düşünüyorum. Gerçekten de sayısal devrelerin mantıksal tasarımı konusunu işleyen, İngilizce yüzlerce, Türkçe ise ona yakın kitap vardır. Ancak bu kitapların hiç birinde 150’yi aşan sayıda soru ve yanıtlarının yer aldığını sanmıyorum. Üstelik bu soruların her biri en az bir kez sınavda sorulmuş ve ölçme açısından başarılı olduğu görülmüştür. Kitapta yer alan tüm soruların yanıtları verilmiştir. Ancak kitabın sayfa sayısının çok artmaması için, yanıtlar kısa tutulmaya çalışılmış, bazı sorular için ise sonucun verilmesi ile yetinilmiştir. Diğer taraftan bazı soruların birden çok geçerli yanıtının  olabileceği; yanıtı tek olan soruların birçoğu için de birden çok çözüm yolunun olabileceği bir gerçektir. Bu nedenle kitapta yer alan çözümlerin örnek çözümler olduğu; bazı sorular için verilen çözüm dışında başka çözüm ya da çözümlerin de olabileceği unutulmamalıdır.

Kitabın Birinci Bölüm'ünde konu ile ilgili temel bilgiler yer almaktadır. Bu bölümde sayısal sistemler, sayı sistemleri, ikili sayı sistemi, ikili aritmetik, ikili kodlar, kod türleri, yanlış bulan ve yanlış düzelten kodlar gibi birçok konuda özet bilgi verilmektedir. Okuyucunun  lise ve üniversite 1. yıl matematik bilgisine sahip olduğu düşünülerek, temel bilgiler oldukça kısa tutulmuştur.

İkinci Bölüm'ün konusu Boole cebiri ve Boole işlevleridir. Sayısal devreler açısından önemli olduğu için daha çok ikili Boole cebiri üzerinde durulmuş, ve bu kapsamda Boole işlevleri, standart biçimler ve ikili işlemler tanımlanmıştır.

Üçüncü Bölüm'de Boole işlevlerinin cebirsel ve sistematik yöntemlerle yalınlaştırılması incelenmektedir. Sistematik yalınlaştırma yöntemlerinden harita ve çizelge yöntemleri tanıtılmış, konu ile ilgili kavramlar tanımlanmış ve sistematik yöntemler kullanılarak en küçük deyimin çarpımlar toplamı ve toplamlar çarpımı biçiminde nasıl bulunacağı örneklerle gösterilmiştir.

Dördüncü Bölüm'ün konusu, sayısal devrelerin iki ana türünden biri olan  birleşimsel (combinational) devrelerdir. Bölüm’de birleşimler devrelerde kullanılan geçitler tanımlanmakta ve değişik tür geçitlerden oluşan devrelerin çözümlenmesi ve tasarımı konu edinilmektedir. Bölüm’ün sonunda birleşimsel devre örnekleri ve bunların mantıksal yapısına yer verilmiştir.

Beşinci Bölüm’ün konusu tümleşik devrelerden oluşan birleşimsel devrelerin çözümleme ve tasarımıdır. Bu bağlamda toplayıcı, kod çözücü, kodlayıcı, çoklayıcı, dağıtıcı (demultiplexer), ROM ve PLA gibi çok kullanılan ve tümleşik devre olarak üretilen birleşimsel devrelerin mantısal ve işlevsel yapısı ile kullanım alanları tanıtılmaktadır.

Altıncı Bölüm'ün konusu, zamanuyumlu dizisel devrelerin (synchronous sequential circuits) çözümleme ve tasarımıdır. Bu kapsamda zamanuyumlu dizisel devrelerin yapısı ve çalışma ilkeleri, ikidurumlular, ikidurumlu türleri ile çözümleme ve tasarım yöntemleri tanıtılmakta ve örnekler verilmektedir.

Yedinci Bölüm'ün konusu zamanuyumlu dizisel devrelerin en çok kullanılan türleri olan yazmaçlar (register), sayaçlar (counters), zaman dizilerini üreten denetim devreleri ve rasgele erişimli belleklerdir (RAM). Bu kapsamda örneklerle bu devrelerin mantıksal yapıları ve  gerçekleştirdikleri işlevler tanımlanmakta ve bu devrelerin modüler biçimde tasarımı örneklerle tanıtılmaya çalışılmaktadır.  

Sekizinci  Bölüm'de zamanuyumsuz dizisel devrelerin (asynchronous sequential circuits) tasarım ve çözümlenmesi konu edilmektedir. Bu kapsamda temel mod ve vuruş modunda çalışan zamanuyumsuz dizisel devrelerin işlevsel yapısı ve bu devrelerin tasarımında kullanılan yöntemler tanımlanmakta ve örnek devreler üzerinde bu yöntemlerin nasıl kullanıldığı gösterilmektedir.

Bölüm sonlarında yer alan soruların yanıtları, Soruların Yanıtları başlığı altında toplanmış ve kitabın sonuna eklenmiştir. Verilen yanıtların örnek yanıtlar olduğu, ve birçok sorunun verilen dışında başka geçerli yanıtlarının da  olabileceği unutulmamalıdır.

Kitabın sonunda Kaynaklar ile Terimler Sözlüğü'ne yer verilmiştir. Terimler sözlüğünde, kitapta kullanılan başlıca terimlerin  hem İngilizceden-Türkçeye, hem de Türkçeden-İngilizceye karşılıkları yer almaktadır. Terimlerin Türkçe karşılıkları için  Bilişim Terimleri Sözlüğü'nden [TBD-1996] olabildiğince yararlanılmaya çalışılmıştır. Terimler Sözlüğü’nde, TBD Bilişim Terimleri Sözlüğünden alınan belirli sayıda terim yanında, bu sözlükte yer almayan ya da bu sözlükteki karşılığını benimsemediğimiz belirli sayıda terimin kitaptaki karşılıklarına da  yer verilmiştir.


Kitaplarımızın tüm listesi için buraya tıklayınız.


Papatya Bilim Üniversite Ders Kitapları, Akademik Kitaplar, Bilimsel Kitaplar