Top Banner
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

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

Jan 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
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.
Transcript
Page 1: 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

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, R3ßR2) (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  

Page 2: 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

12/25/12  

2  

7  

Donanım Algoritması => bir sayısal sistemin denetim sırası ve datapath görevlerinin belirtilmesi.

Donanım algoritmasının tanımlanması için kullanılan akış çizgeleri ASM (algorithmic state machine)

ASM çizgesi !•  3 temel bileşen içerir:

1.  Durum kutusu (State box) 2.  Karar kutusu (Decision box) 3.  Koşullu kutu (Conditional Box)

8  

ASM Çizgesi Bileşenleri 1/2!

9  

Decision Box:

State Box:

R 0 , S_pause durumundan bir sonraki duruma geçişte gerçekleşir!

Start_OP_A: Moore tipi sinyal

10  

ASM Çizgesi Bileşenleri 2/2!

Hiçbir  veri-­‐işleme  işlemi  barındırmayan  ASM  çizgesi  

ASM Bloğu!

11  

Her bir blok, bir saat-vuruşu süresinde sistemin durumunu belirtir.

Genel olarak, Moore türü çıkışlar state box’lar ile, Mealy türü çıkışlar ise koşullu box’lad ile üretilirler.

Eşdeğer Durum Çizeneği!

12  

Page 3: 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

12/25/12  

3  

ASM’de Zaman!

13  

Bir sonraki saat vuruşunda : •  A yazmacındaki değer arttırılır. •  Eğer E = 1 ise R temizlenir. •  Bir sonraki duruma geçilir.

ASMD Çizgesi (Algorithmic State Machine and Datapath) !

ASM çizgesinden farkı. 1)  Yazmaç işlemleri ‘state box’ larda ifade edilmez. 2)  Yazmaç işlemleri, çizgenin kenarlarında

gösterilir. 3)  ‘conditional box’lar yazmaç işlemlerini

denetleyen sinyalleri belirtir.

14  

Tasarım Örneği-1!– Veriyolu (datapath) birimi

•  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.

15  

Tasarım Örneği-1: Blok diagram!

16  

Status signals

ControllerStart

reset_bclock

set_Fclr_A_F

set_Eclr_E

incr_A

Datapath

A

E

F

A3

A2

(a)

E !" 0

F !" 1 F !" 1 F !" 1

A !" 0F !" 0

A !" A # 1

1

Start

1

A2

S_1

S_idle

A3

S_2

1

reset_b

E !" 1

Note: A3 denotes A[3],A2 denotes A[2],!" denotes nonblocking assignmentreset_b denotes active-low reset condition

(b)

1

A2

1

S_1incr_A

S_idle

A3

S_2set_F

1

clr_E

reset_b

clr_A_F

set_E

E !" 0

A !" A # 1

E !" 1

A !" 0F !" 0

(d)

1

Start

1

1

A2

reset_b

S_1

S_idle

E !" 0

A3

S_2

1

A !" 0F !" 0

A !" A # 1

E !" 1

(c)

Start

©2007 by Prentice Hall, Inc.A Pearson Company

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)

Page 4: 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

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  

Page 5: 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

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)

S_shift shift right {CAQ}, C <! 0

(b)

©2007 by Prentice Hall, Inc.A Pearson Company

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)

29  

Bir Yazmaç ve Kod Çözücü ile Tasarım!

30  

Page 6: 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

12/25/12  

6  

31  

Bir Yazmaç ve Kod Çözücü ile Tasarım (1)!

32  

Bir Yazmaç ve Kod Çözücü ile Tasarım (2)!

C

D

C

D

Load_regs

Decr_P

Add_regs

Shift_regs

clock

Start

reset_b

Q[0]

Zero

Ready

Next State Logic

T3

(S_idle) T0

(S_shift) T2

(S_add) T1

0

1

Next State Logic

2 ! 4Decoder

2 ! 4 Decoder

C

D

C

D

G0

G1T3

(S_Idle) T0

(S_shift) T2

(S_add) T1

0

1

Load_regs

Ready

Decr_P

Add_regs

Shift_regs

clock

Start

reset_b

Q[0]

Zero

G0

G1

(a)

(b)

©2007 by Prentice Hall, Inc.A Pearson Company

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

Page 7: 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

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.

•  R1= 0 ise sona erer.

39  

1

S_idle Ready

1

Start

1Zero

S_1 Incr_R2

reset_b

S_2Shift_left

S_3

E

Load_regs

R2 !" R2 # 1

R1 !" dataR2 !" all 1s

{E, R1} !" {E, R1} !! 1

S_idle Ready

1

Start

1Zero

S_1

reset_b

R1 !" dataR2 !" all 1s

{E, R1} !" {E, R1} !! 1S_2

S_3

E

1

R2 !" R2 # 1

Statussignals

ControllerShift_left

Start

reset_bclock

Datapath R1

E

Zero

...

... R2

E

data

count

Incr_R2

Load_regs

Shift_left

Ready

(a)

(b) (c)

©2007 by Prentice Hall, Inc.A Pearson Company

Figure Number: 08 22 a-c Mano/CilettiDigital Design, 4e

AAHFZVE0

Yazmaçtaki Birlerin Sayılması!

40  

41  

Yazmaçtaki Birlerin Sayılması!

42