Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.1. Yazmaçlar ve Yazmaç İşlemleri Yazmaç, belirli sayıda hücreden (cells) oluşan ve içinde ikili bir bilgiyi saklayabilen sayısal bir devre olarak tanımlanabilir. n -1 n - 2 ....... 2 1 0 Yazmaçlar modüler yapıya sahip devrelerdir. Yazmacı oluşturan tüm hücreler aynı yapıya sahiptir. Buna göre yazmaçlar modül (hücre) düzeyinde tasarlanır. Zamanuyumlu her dizisel devreyi bir yazmaç olarak görmek, ve devrenin gerçekleştirdiği her işlemi yazmaç işlemleri cinsinden tanımlamak mümkündür. Özellikle denetim amaçlı dizisel devrelerin tasarımının akış çizeneği ve benzeri yapısal tasarım yöntemleri kullanarak gerçekleştiren bu tür yöntemler bu dersin kapsamı dışında tutulmuştur. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Yazmacın paralel yüklenmesi: A In-1....I1I0 Yazmaçlar üzerinde gerçekleştirilebilecek belirli sayıda temel işlem vardır. Daha karmaşık yazmaç işlemlerinin her biri, temel işlemler cinsinden tanımlanabilir. Bu nedenle temel yazmaç işlemleri çok önemlidir. Bunların başlıcaları aşağıdakilerdir: Yazmacın sıfırlanması (yazmaçtaki tüm bit’lerinin 0’lanması) : A 0000.. Yazmacın birlenmesi (yazmaçtaki tüm bit’lerinin 1’lenmesi) : A 1111... Yazmacın paralel yüklenmesi: A In-1....I1I0 Yazmacın içeriğinin sağa kaydırılması (ve en soldaki hücreye seri yükleme) Yazmacın içeriğinin sola kaydırılması (ve en sağdaki hücreye seri yükleme) Yazmaçtaki ikili sayının tümlenmesi (1’e tümlenmesi): A (A1)’ Yazmaçtaki ikili sayının 2’ye tümlenmesi : A (A2)’ Yazmaçtaki ikili sayının değerinin bir arttırılması : A A + 1 Yazmaçtaki ikili sayının değerinin bir eksiltilmesi : A A - 1 Yazmaçtaki ikili bilginin bir başka yazmaca aktarılması (ikinci yazmacın paralel ya da seri olarak yüklenmesi) : A B Bir yazmaçtaki sayıya, bir diğer yazmaçtaki sayının eklenmesi: A A + B Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.1.1. Paralel Yükleme Yazmaç işlemlerinin en çok kullanılanlarından biri paralel yüklemedir. Paralel yüklemede, yazmacın tüm hücreleri aynı anda (aynı saat vuruşu ile) paralel olarak yükleme yapılır. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Paralel Yüklenebilen Yazmacın SR Türü İkidurumlularla Örnek Bir Gerçekleştirimi Yüklemeyi denetlemede diğer bir yaklaşım denetimin Saat vuruşu üzerinde yapılmasıdır. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Paralel Yüklenebilen Yazmaç İçin Bir Diğer Gerçekleştirim Örneği Yüklemeyi denetlemede diğer bir yaklaşım denetimin Saat vuruşu üzerinde yapılmasıdır. Paralel Yüklenebilen Yazmaç İçin Bir Diğer Gerçekleştirim Örneği Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.1.2. Kaydırma ve Seri Yükleme Sağa Kaydırma (Shift Rigth) Ai Ai+1 i = n-2, ....., 0 Sağa kaydırma işleminde, en sağdaki hücrenin değeri (A0) yitirilebilirir. Ayrıca, en soldaki hücrenin alacağı yeni değer de yukarıdaki tanımın dışında kalmaktadır En sağdaki hücrenin eski değeri ile en soldaki hücrenin yeni değeri açısından aşağıdaki seçenekler düşünülebilir. En soldaki hücre temizlenir, en sağdaki hücrenin eski değeri ise yitirilir. En soldaki hücreye, en sağdaki hücrenin eski değeri aktarılır (An-1 A0). En soldaki hücreye dışardan yeni bir değer yüklenir, en sağdaki hücrenin eski değeri ise yitirilir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Seri Yüklenen Kaydırmalı Yazmacım Örnek Bir Gerçekleştirimi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.1.3. Yazmaçlar Arası Aktarma Bir yazmaçtaki verinin bir diğer yazmaca aktarılmasına yazmaçlar arası aktarma işlemi denir. Yazmaçlar arası aktarma işlemleri paralel ya da seri olarak yapılabilir. İki yazmaç içeren yazmaçlar arası aktarma işlem yapılan örnek bir bir devre bir sonraki sayfada görülmektedir. 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ü
7.1.4. Seri Toplama İşlemi Yazmaçlar arası işlemlere somut bir örnek: Başlangıçta toplanacak sayıların A ve B yazmaçlarında bulunması ve D türü ikidurumludaki ikili değerin (saklanan elde değeri) 0 olması gerekir. A ve B yazmaçlarının, paralel yükleme ile sağa kaydırma/soldan seri yükleme işlemleri yapılabilecek özellikte olduğunu varsayıyoruz. Toplanacak sayıların yazmaçlara parallel olarak aktarılmış olduğunu düşünebiliriz. Topla imi, n saat vuruşu süresince 1 değerini alacaktır. Topla = 1 iken saat vuruşu ile: A ve B yazmaçlarının içerikleri bir sağa kayar, Tam Toplayıcının çıkışı A yazmacının sol hücresine yüklenir, Tam Toplayıcının elde çıkışı D türü ikidurumluya yüklenir 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ü
7.1.5. Çok İşlevli Yazmaçlar Sayısal devrelerde, üzerinde birden çok işlem gerçekleştirilebilen yazmaçlara ihtiyaç duyulur. Çok İşlevli Örnek Bir Yazmacın Bir Hücresi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Çok İşlevli Örnek Yazmacın Bir Hücresi İçin Örnek Bir Gerçekleştirim Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.2. Sayaçlar Diğer tüm dizisel devreler gibi sayaçlar da birer yazmaç olarak düşünülebilir. Sayacın içinde belirli sayıda ikidurumludan oluşan bir yazmaç yer alır. Yazmacın içindeki ikili sayının değeri, sayaca uygulanan giriş değerlerine göre, önceden belirlenmiş bir durumlar dizisine (sayma dizisine) göre değişir. Saat vuruşlarının dışında sayaçların denetim girişleri de olabilir. Hiç bir denetim girişi olmayan bir sayaç, her saat vuruşu geldiğinde, önceden belirlenmiş sayma dizisine göre, bir sonraki konuma geçer. Örneğin 3 bit’lik bir sayacın sayma dizileri aşağıdaki gibi olabilir: 0 – 1 – 2 – 3 – 4 – 5 – 6 – 7 (Mod 8, sıradan sayma dizisi) 0 – 1 – 2 – 3 – 4 – 5 (Mod 6, sıradan sayma dizisi) 0 – 1 – 3 – 2 – 6 – 7 – 5 – 4 (Mod 8, yansıtılmış kod sırasında sayma dizisi) 0 – 1 – 3 – 4 - 2 (Mod 5, değişik bir sayma dizisi) Sayaçlarda kullanılabilecek denetim girişlerinden birkaç örnek aşağıda yer almaktadır. Sayacın durum değiştirmesinin denetlenmesi (bir sonraki konuma geç/geçme) Sayacın sayma yönünün denetlenmesi (ileri/geri say) Sayma dizinde kaç ileri/geri gidileceğinin denetlenmesi (1, 2, …ilerle/gerile) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.2.1. Zamanuyumlu Sayaçlar (Synchronous Counters) Sayaçlarda kullanılabilecek denetim girişlerinden birkaç örnek aşağıda yer almaktadır. Sayacın durum değiştirmesinin denetlenmesi (bir sonraki konuma geç/geçme) Sayacın sayma yönünün denetlenmesi (ileri/geri say) Sayma dizinde kaç ileri/geri gidileceğinin denetlenmesi (1, 2, …ilerle/gerile) Devre özellikleri açısından sayaçlar iki ana gruba ayrılır: Zamanuyumlu sayaçlar (synchronous counters) Dalgacık sayaçlar (ripple counters) 7.2.1. Zamanuyumlu Sayaçlar (Synchronous Counters) Zamanuyunlu sayaçlarda, tüm ikidurumluların saat girişlerine aynı im uygulanır. Zamanuyumlu sayaçlarda sayacın durum değiştirmesi ikidurumluların uyarma girişleri ile sağlanır. Sonraki Durum İşlevi Uyarma Gereksinimi Çizelgesi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
T türü ikidurumlularla tasarlanması. Örnek 7.2. 0 – 9 arasında sıradan sayan 4 bit’lik zamanuyumlu sayacın (BCD Sayaç) T türü ikidurumlularla tasarlanması. En küçük Uyarma İşlevleri T3 = y3y0 + y2y1y0 T2 = y1y0 T1 = y3’y0 T0 = 1 Devre Şeması Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.2.2. Dalgacık Sayaçlar (Ripple Counters) Dalgacık sayaçlarda ise, her ikidurumlunun saat girişine ayrı bir im uygulanır ve ikidurumluların durum değiştirip değiştirmemesi uyarma girişleri yerine saat vuruşlerı ile denetlenmeye çalışılır. Özellikle 0 ile (2n - 1) arasında sıradan sayan sayaçlar için, bu yapı uygun bir yapıdır. Çünkü sayacı hiç dış geçit kullanmadan, salt n adet ikidurumlu ile gerçekleştirmek mümkündür. Dalgacık sayaçların bir özelliği de, sayaçta yer alan tüm ikidurumluların aynı anda durum değiştirmemesidir. Örnek 7.3. 0 – 15 arasında sıradan sayan 4 bit’lik sayacın dalgacık sayaç olarak tasarlayıp T türü ikidurumlularla gerçekleştirilmesi. Durum değişkenlerini y3, y2, y1 ve y0 diye adlandıralım ve her ikidurumlunun ne zaman durum değiştireceğini inceleyelim. y0’ın her seferinde (her sayma vuruşunda) durumdeğiştirdiği görülmektedir. y0’ın değerinin 1’den 0’a her değiştiğinde y1’in durum değiştirdiği görülmektedir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
y0’ın her seferinde (her sayma vuruşunda) durumdeğiştirdiği görülmektedir. y0’ın değerinin 1’den 0’a her değiştiğinde y1’in durum değiştirdiği görülmektedir. y1’ın değerinin 1’den 0’a her değiştiğinde y2’in durum değiştirdiği görülmektedir. y2’ın değerinin 1’den 0’a her değiştiğinde y3’in durum değiştirdiği görülmektedir. Buna göre ikidurumluların T girişlerini 1 yapıp, saat girişlerine soldan sağa sırasıyla y2’, y1’, y0’ ve Saat vuruşu’nu uygulayarak istenilen sayacı gerçekleştirebiliriz. Devre Şerması: Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Zaman Çizeneği: Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.3. Zaman Dizilerinin Üretilmesi Sayısal sistemlerde işlemlerin sırasını belirleyen ve denetleyen birimler genellikle denetim birimi (control unit) adıyla anılır. Denetim birimleri işlemlerin sırasını belirleme, yönetme ve denetleme işlevlerini zaman dizileri (timing sequences) ile gerçekleştirir. Başka bir deyişle, denetim birimleri zaman dizilerini üreten birimlerdir. Zaman dizilerini üreten denetim birimleri, genellikle zamanuyumlu nitelikli birer dizisel devredir. Bu devrelerde en çok kullanılan devre elemenları ise sayaçlar, yazmaçlar ve kod çözücülerdir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
devresinin tasarlanması istenmektedir. Örnek 7.5. Aşağıdaki zaman çizeneği ile tanımlanan zaman dizilerini üreten denetim devresinin tasarlanması istenmektedir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
z1, z2 ve z3 zaman dizilerinin üretilmesi Başla imi ile tetiklenmekte ve bu imler bir kez üretilmektedir. Üretilmesi istenilen zaman dizilerinin toplam süresi 8*T (T : Saat vuruşu periyodu) olduğuna göre, bu dizileri üreten devreyi bir MOD(8) sayaç ile bir 3 x 8 Kod Çözücü Kullanarak gerçekleştirebiliriz. Devrenin ilke çizeneği aşağıda görülmektedir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
devresinin tasarlanması istenmektedir. Örnek 7.6. Aşağıdaki zaman çizeneği ile tanımlanan zaman dizilerini üreten denetim devresinin tasarlanması istenmektedir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
z1, z2 ve z3 zaman dizilerinin periyodik, sürekli diziler olduğu z1, z2 ve z3 zaman dizilerinin periyodik, sürekli diziler olduğu gözenmektedir. z1’in periyodunun 3*T (T: Saat vuruşu periyodu), z2’in periyodunun 2*T, z3’ünperiyodunun ise 3*T olduğu görülmektedir. 3 zaman dizisi birlikte düşünüldüğünde, ortak periyod 6*T’dir. Buna göre devreyi bir MOD(6) sayaç ile bir 3 x 8 Kod Çözücü kullanarak gerçekleştirebiliriz. Devreninilke çizeneği yanda görülmektedir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
7.4. Rasgele Erişimli Bellek (RAM) Rasgele Erişimli Bellek (Random Access Memory : RAM) bir dizisel devredir. RAM, her biri bir bit’lik bilgiyi saklayabilen belirli sayıda hücreden oluşur. Her hücrede okuma ve yazma işlemlerini gerçekleştiren devre elemanları vardır. Okuma ve yazma için, öncelikle belirli hücre ya da hücrelerin seçilmesi, gerekir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Rasgele Erişimli Bellek Biriminin İşlevsel Çizeneği Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İkili Hücrenin (İH)ilke çizeneği Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bellek Biriminin Mantıksal Yapısı Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İkili Hücrenin Örnek Bir Gerçekleştirimi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü