12/25/12 1 BBM 231 – Yazmaçların Aktarımı Seviyesinde Tasarım Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste • Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri Denetleme Mantığı * yazmaç ve kod çözücüler ile * her bir durum için bir iki durumlu ile Çoklayılar ile Tasarım 2 Büyük Sayısal Sistemler • Büyük sayısal sistemleri, – Durum sayıları çok fazla olduğundan, durum tablosu ile ifade edemeyiz. • Modüler bir yaklaşım ile ele alınırlar. • Sistem her biri bir işlevi yerine getiren daha küçük sistemlere bölünür. • Bu modüller, yazmaçlar, kodlayıcılar, aritmetik elemanlar, kontrol mantığı gibi cihazlardan oluşur. • Modüller, veri yolları ve kontrol sinyalları ile birbirlerine bağlanırlar. 3 Yazmaç Aktarımı Düzeyi • Yazmaçlar, bir sayısal sistemin temel bileşenleri arasında sayılırlar. Yazmaç aktarım düzeyi sistemdeki yazmaçlar kümesi yazmaçlarda saklanılan veri üzerindeki işlemler sistemdeki işlemlerin sırasını denetleyen denetim birimi 4 Gösterimler Bir sayısal sistemde en çok karşılaşılan işlemler: 1. Aktarım işlemleri R2 R1 if(T3 == 1) then (R2 R1, R3R2) (T3: kontrol sinyali) 2. Aritmetik işlemler R1 R1 + R2 3. Mantıksal işlemler (e.g. OR) 4. Kaydırma işlemleri R4 shr R4 5 ASM : Algoritmasal Durum Makinaları (Algorithmic State Machines) • Sayısal sistemlerde saklanan ikili veri – Veri – Denetim Veri-işleme işlemleri : aritmetik işlemler, kaydırma, vb. Sayısal sistem tasarımı: 1. Veri işleme işlemlerini gerçekleştiren devrelerin tasarımı (datapath unit) 2. Çeşitli olayların hangi sırada olduğunu belirleyen denetim devrelerinin tasarımı (control unit) 6
7
Embed
Büyük Sayısal Sistemler Yazmaç Aktarımı Düzeyi · ASM ve ASMD çizgeleri Tasarım Örnekleri Denetleme Mantığı * yazmaç ve kod çözücüler ile * her bir durum için bir
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Bu derste!• Büyük, karmaşık sayısal sistemlerin tasarımı ele
alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri Denetleme Mantığı * yazmaç ve kod çözücüler ile * her bir durum için bir iki durumlu ile Çoklayılar ile Tasarım
2
Büyük Sayısal Sistemler!• Büyük sayısal sistemleri, – Durum sayıları çok fazla olduğundan, durum tablosu ile ifade
edemeyiz.
• Modüler bir yaklaşım ile ele alınırlar. • Sistem her biri bir işlevi yerine getiren daha küçük sistemlere
bölünür. • Bu modüller, yazmaçlar, kodlayıcılar, aritmetik elemanlar,
kontrol mantığı gibi cihazlardan oluşur. • Modüller, veri yolları ve kontrol sinyalları ile birbirlerine
bağlanırlar.
3
Yazmaç Aktarımı Düzeyi!• Yazmaçlar, bir sayısal sistemin temel bileşenleri
arasında sayılırlar.
Yazmaç aktarım düzeyi sistemdeki yazmaçlar kümesi yazmaçlarda saklanılan veri üzerindeki işlemler sistemdeki işlemlerin sırasını denetleyen denetim birimi
4
Gösterimler !Bir sayısal sistemde en çok karşılaşılan işlemler:
1. Aktarım işlemleri
R2 ß R1 if(T3 == 1) then (R2 ß R1, R3ßR2) (T3: kontrol sinyali)
• E ve F diye iki tane JK ikidurumlusundan • Bir tane 4-bit ikili sayaç : A[3:0] tan oluşur.
– A’daki ikidurumlular A3 A2 A1 Ao dır. – A3 en yüksek öncelikli bittir. – Start sinyali sistemi başlatır. A’nın içeriği ve F sıfırlanır. – Herbir saat vuruşunda sayaç 1 arttırılır. – A2 A3 bitleri işlemlerin sırasını belirler.
• A2=0 ise E 0’lanır ve sayma devam eder. • A2=1 ise E 1’lenir ve A3=0 ise sayma devam eder. • A2=1 ise E 1’lenir ve A3=1 ise F 1’lenir ve bir sonraki saat vuruşunda
sistem saymayı durdurur. - Start = 0 ise sistem ilk durumda kalır, 1 ise işlemler devam eder.
Figure Number: 08 09 a-d Mano/CilettiDigital Design, 4e
AAHFZUT0
Tasarım Örneği-1: ASMD Çizgesi!Zamanuyumsuz reset için
17
Zamanuyumlu reset için
Tasarım Örneği-1 : Gelişmiş ASMD Çizgesi!
18
Zamanuyumsuz reset için
Eğer bir işlem koşulsuz ise Moore-türü sinyal
A’nın arttırılması (S_1) Koşullu ise Mealy-türü sinyal
E’nin 1lenmesi (S_1 ve A2=1)
12/25/12
4
Tasarım Örneği-1: İşlem Sırası!
19
Tasarım Örneği 1!
20
Tasarım Örneği-1: Durum Tablosu!
21 22
Tasarım Örneği-1!
Tasarım Örneği-2: İkili Çarpma!
4. Bölümde, toplayıcılar ve AND geçitleri ile gerçekleştirmiştik. • daha çok donanım ile fakat 1 saat vuruşunda gerçekleşir. Şimdi à 1 toplayıcı ve 1 kaydırma yazmacı ile gerçekleştireceğiz. • daha az donanım ile fakat birden çok saat vuruşunda gerçekleşir.
23
(register B) (register Q) • partial product formed in register A, • stored in registers A and Q • carry after addition in flip-flop C • number of bits in the multiplier initially in counter P
Tasarım Örneği-2: Genel Görünüm!
24
12/25/12
5
Tasarım Örneği-2 : Yazmaçlar!
25 26
Tasarım Örneği-2: ASMD Çizgesi!
Tasarım Örneği-2: Çalışması!
27
Tasarım Örneği-2: Durum Çizeneği!
28
S_idleStart ! 1
Start ! 0
S_add S_shift
Zero ! 0
Zero ! 1
(a)
State Transition Register Operations
From To
S_idle Initial state
S_idle S_add A "! 0, C "! 0, P "! dp_width
S_add S_shift P "= P # 1if (Q[0]) then (A "! A $ B, C "! Cout)
Figure Number: 08 16 ab Mano/CilettiDigital Design, 4e
AAHFZVA0
Denetleme Mantığı (Control Logic) !• Denetleyici, bir dizisel devredir. – Bilinen dizisel devre tasarımı ile yapılabilir. • Durum ve girişlerin çok olduğu durumlarda ?
İki tasarım yöntemi:
Bir yazmaç ve kod çözücü ile (sequence register and decoder)
Her bir durum için bir ikidurumlu ile (one-hot design: one flip-flop per state)
Figure Number: 08 17 ab Mano/CilettiDigital Design, 4e
AAHFZVB0
DG1 = T1 DG0 = T0Start + T2Zero’
Her Bir Durum için İkidurumlu ile Tasarım!
• Maksimum sayıda ikidurumlu içerir. – Bir önceki yöntemde 2n durum için n ikidurumlu. – Bu yöntemde 2n durum için 2n ikidurumlu.
Avantajı basitliği durum ya da uyarma çizelgesine ihtiyaç yoktur. (D türü ikidurumlu için) ASMD ya da durum çizgesine bakarak tasarlanabilir.
33 34
Her Bir Durum için İkidurumlu ile Tasarım!
Çoklayıcılar ile Tasarım!• Bir yazmaç ve kod çözücü ile tasarım – İkidurumlular (durum değeri) – Kod çözücü: denetim çıkışlarını üretir. – Geçitler: bir sonraki durumu ve çıkış sinyallerini
belirler.
Geçitler yerine çoklayıcılar da kullanabiliriz.
35
Bir Örnek: Çoklayıcılar ile Tasarım!
36
00 durumunda w = 0 ise 00 durumuna w = 1 ise 01 durumuna
12/25/12
7
37
Bir Örnek: Çoklayıcılar ile Tasarım!
38
00 durumunda w = 0 ise 00 durumuna w = 1 ise 01 durumuna
Tasarım Örneği: Yazmaçtaki Birlerin Sayılması!
• R1 yazmacındaki birlerin sayısı R2 yazmacına aktarılır.
• Birim zamanda R1’den bir bit sola, E ikidurumlusuna aktarılır. – E = 1 ise R2 yazmacındaki değer arttırılır.