Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ZPT 1 UKŁADY MIKROPROGRAMOWANE. ZPT Algorytmiczna maszyna stanów Omawiane do tej pory bloki funkcjonalne są stosowane przede wszystkim do projektowania.

Podobne prezentacje


Prezentacja na temat: "ZPT 1 UKŁADY MIKROPROGRAMOWANE. ZPT Algorytmiczna maszyna stanów Omawiane do tej pory bloki funkcjonalne są stosowane przede wszystkim do projektowania."— Zapis prezentacji:

1 ZPT 1 UKŁADY MIKROPROGRAMOWANE

2 ZPT Algorytmiczna maszyna stanów Omawiane do tej pory bloki funkcjonalne są stosowane przede wszystkim do projektowania układów (systemów) cyfrowych, których typowym zadaniem są realizacje sprzętowe algorytmów. 2 Ale aby rozsądnie, w określonej kolejności zdarzeń, wykonać zadanie określone algorytmem, bloki funkcjonalne zastosowane w systemie muszą być odpowiednio sterowane.

3 ZPT Algorytmiczna maszyna stanów Sterowanie polega na inicjowaniu bloków do sekwencyjnego wykonywania elementarnych czynności takich jak np. zliczanie, wpisywanie do rejestru, sumowanie liczb… 3 US Domyślamy się, że czynności takiego sterowania może wykonywać układ sekwencyjny.. US wytwarza sygnały sterujące pobudzające do pracy odpowiednie bloki funkcjonalne układu wykonawczego. X 0 X j X N-1 Y n A e Y 0 Y j Y N-1 n A e X REJESTRLICZNIK Ładuj Zliczaj Dodaj Prześlij

4 ZPT ASM to specjalnie konstruowany układ sekwencyjny umożliwiający opis podstawowych czynności wykonywanych przez bloki funkcjonalne w odpowiedniej kolejności ich działania. Algorytmiczna maszyna stanów 4 Dostosowany do tych potrzeb układ sekwencyjny nazywa się algorytmiczną maszyną stanów Algorithmic State Machine (ASM) ASMy opisuje się sieciami działań

5 ZPT 5 Dwa podstawowe elementy: Nazwa stanu Sieć działań… …reprezentacja graficzna ASM AiAi Krawędź wejściowa stanu Lista sygnałów wyjściowych Wyjścia do innych klatek T F Warunek Klatka operacyjna Klatka warunkowa (decyzyjna)

6 ZPT Sieć działań Graf zbudowany z wierzchołków (klatek) Klatki: ZZZ operacyjne warunkowe x x1x1 Z1Z1 Z2Z2 x3x3 x2x2 Z3Z3 x1x1 Z4Z4 i krawędzi 6

7 ZPT Mikroinstrukcja Typowe segmenty sieci działań są graficzną reprezentacją tzw. mikroinstrukcji A i : Z = Z a, if x then A = A j else A = A k A i :, if x then Z = Z a, A = A j else Z = Z b, A = A k Moorea Z AiAi AjAj AkAk x 01 ZaZa x AiAi AjAj AkAk 01 ZbZb Mealyego 7

8 ZPT Podział sieci działań… na segmenty odpowiadające mikroinstrukcjom A0A0 A1A1 A2A2 x1x1 Z1Z1 Z2Z2 x3x3 x2x2 Z3Z3 x1x1 Z4Z4 A3A3 A4A4 A5A5 Moorea Z AiAi AjAj AkAk x 01 AiAi AjAj AkAk x 0 1 A3A3 Z AiAi AjAj Stany wewnętrzne 8

9 ZPT Sieć działań reprezentuje automat Podział sieci na stany (dla automatu) A0A0 A1A1 A2A2 A3A3 x1x1 Z1Z1 Z2Z2 x3x3 x2x2 Z3Z3 x1x1 Z4Z x1x2x3Ax1x2x3A A 0 A 1 A 3 A 2 A 1 A 2 A 1 A 3 9

10 ZPT Mikroinstrukcje a stany automatu Podział sieci na stany (dla automatu) A0A0 A1A1 A2A2 A3A3 x1x1 Z1Z1 Z2Z2 x3x3 x2x2 Z3Z3 x1x1 Z4Z stany A0A0 A1A1 A2A2 x1x1 Z1Z1 Z2Z2 x3x3 x2x2 Z3Z3 x1x1 Z4Z4 A3A3 A4A4 A5A5 6 stanów Podział sieci na segmenty odpowiadające mikroinstrukcjom W automacie w jednym stanie może być badanych wiele warunków, Mikroinstrukcjach – tylko jeden warunek !!!

11 ZPT Przykład B D 0 D n-1 Y M M(I) I S B := M(I) Y := 0 Y = M(I) Y := B + Y I := I + 1 B := M(I) B := B Y B := B/2 Y := B + Y I := 0 NIE 0 1 TAK Rozważmy przykład syntezy układu cyfrowego pobierającego dane z wejść D 0,..., D n–1 w celu ich przetworzenia w rejestrach B i Y. Układ operacyjny ma przetwarzać informację M(I ) pobieraną z n źródeł D 0,...,D n–1 za pośrednictwem multipleksera M adresowanego licznikiem I. 11

12 ZPT Przykład S B := M(I) Y := 0 Y = M(I) Y := B + Y I := I + 1 B := M(I) B := B Y B := B/2 Y := B + Y I := 0 NIE 0 1 TAK B := M(I) B := B/2 B := B Y Y := B + Y Warunek Y = M(I) 12

13 ZPT B Y M(I) Y c0c0 K do US Y = M(I) Y := 0 Y := B + Y B := X B := B/2 X Przykład c.d. NOT B := M(I) B := B/2 B := B Y Y := B + Y Warunek Y = M(I) (SHR(B)) B := B Y Y := B + Y 13 S B := M(I) Y := 0 Y = M(I) Y := B + Y I := I + 1 B := M(I) B := B Y B := B/2 Y := B + Y I := 0 NIE 0 1 TAK

14 ZPT Y Y K do US Y = M(I) Y := 0 Y := B + Y X v M(I) B := X B := B/2 B Przykład c.d. B := B Y Y := B + Y EXOR 14

15 ZPT Przykład c.d. UO M(I) Y Y = M(I) 8 (+2) US S B Y M(I) Y := 0 Y := B + Y X B := X B := B/2 EXOR v c0c0 Y 0 v B Y B + Y Warunek Y = M(I) Warunek F = M(I) – Y = 0 F 15

16 ZPT Przykład c.d. S B := M(I) Y := 0 Y := B + Y I := I + 1 B := M(I) B := B Y B := B/2 Y := B + Y I := 0 NIE 0 1 TAK A8A8 A1A1 Y = M(I) A0A0 A2A2 A3A3 A4A4 A5A5 A6A6 A7A7 F = M(I) – Y F = 0 S = x 0 [F = 0] = x 1 x1x0x1x A 0 /Z 1 A 1 /Z 2 A 2 /Z 3 A 3 /Z 4 A 4 /Z 5 A 5 /Z 6 A 6 /Z 7 A 7 /Z 8 A 8 /Z

17 ZPT Przykład c.d. x1x0Ax1x0A Z A0A0 A0A0 A1A1 A1A1 A0A0 Z1Z1 A1A1 A2A2 A2A2 A2A2 A2A2 Z2Z2 A2A2 A3A3 A3A3 A3A3 A3A3 Z3Z3 A3A3 A4A4 A4A4 A4A4 A4A4 Z4Z4 A4A4 A5A5 A5A5 A5A5 A5A5 Z5Z5 A5A5 A6A6 A6A6 A6A6 A6A6 Z6Z6 A6A6 A7A7 A7A7 A7A7 A7A7 Z7Z7 A7A7 A8A8 A8A8 A8A8 A8A8 Z8Z8 A8A8 A3A3 A3A3 A0A0 A0A0 Z9Z A 0 /Z 1 A 1 /Z 2 A 2 /Z 3 A 3 /Z 4 A 4 /Z 5 A 5 /Z 6 A 6 /Z 7 A 7 /Z 8 A 8 /Z Ale nie po to stworzono pojęcie ASM, aby realizować je w postaci automatów!

18 ZPT Układy mikroprogramowane Bardziej rozbudowane sieci działań realizuje się w postaci tzw. układów mikroprogramowanych 18 W układach mikroprogramowanych… AMIMikroprogram 0MI 1 Opis MI 1 1MI 2 nMI n Opis MI n

19 ZPT Przykład mikroprogramu Z1Z1 x1x1 1 0 Z2Z2 Z3Z3 1 x2x2 0 x1x1 0 Z2Z2 x4x4 Z3Z3 Z4Z4 Z2Z2 1 0 A0A0 A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 AMikroinstrukcjaMI 0 Z i oczekiwanie na spełnienie warunku MI 1 1 Z i przejście bezpośrednie MI 2 2 Z i skok warunkowy do A 6 MI 3 3 Z i skok warunkowy do A 2 MI 3 4 Z i oczekiwanie na spełnienie warunku MI 1 5 Z i skok bezwarunkowy do A 0 MI 4 6 Z i skok bezwarunkowy do A 4 MI 4 19 ???

20 ZPT Przykład c.d. – sieć działań, mikroprogram Z1Z1 x1x1 1 0 Z2Z2 Z3Z3 1 x2x2 0 x1x1 0 Z2Z2 x4x4 Z3Z3 Z4Z4 Z2Z2 1 0 A0A0 A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 Z x 1 0 AiAi A i+1 AiAi Z x 0 1 AjAj AiAi Z AjAj AiAi Z [MI 1 ] [MI 4 ][MI 3 ] MI 2 ] AMI 0MI 1 Oczekiwanie na spełnienie warunku 1MI 2 Przejście bezpośrednie 2MI 3 Skok warunkowy do A 6 3MI 3 Skok warunkowy do A 2 4MI 1 Oczekiwanie na spełnienie warunku 5MI 4 Skok bezwarunkowy do A 0 6MI 4 Skok bezwarunkowy do A 4 20 Mikroprogram zapisuje się w pamięci stałej ROM zwanej pamięcią mikroprogramu

21 ZPT 21 Mikroprogramowany układ sterujący Takt RA UA UO PM MI A DMI Dekoder mikroinstrukcji Sygnały (warunki) zewnętrzne i wewnętrzne Schemat blokowy MUS

22 ZPT 22 Format mikroinstrukcji Format mikroinstrukcji: MI = Pola: S - sterujące (kod MI) B - adresowe C - kontrolne Z - operacyjne (mikrorozkaz) PM S B C Z Adres mikroinstrukcji Mikroinstrukcja

23 ZPT 23 Przykład syntezy MUS Mając do dyspozycji licznik o mikrooperacjach LOAD, COUNT ze sterowaniem odpowiednio: 1 (dla LOAD), 0 (dla COUNT), pamięć ROM oraz ewentualnie inne bloki funkcjonalne i bramki, zaprojektować mikroprogramowany układ sterujący o następującej liście mikroinstrukcji I 1 : Z, if x c then A = A i else A = A i+1, I 2 : Z, if x c then A = A i+2 else A = A i+1, I 3 : Z, A = A j. W rozwiązaniu należy podać: – fragmenty sieci działań (schematy) odpowiadające wszystkim mikroinstrukcjom, – schemat blokowy układu sterującego, – tablicę prawdy dekodera mikroinstrukcji oraz minimalne wyrażenia boolowskie opisujące jego wyjścia.

24 ZPT 24 Przykład c.d. - mikroinstrukcje I 1 : Z, if x c then A = A i else A = A i+1 I 3 : Z, A = A j I 2 : Z, if x c then A = A i+2 else A = A i+1 Z AiAi x 0 1 AiAi A i+1 AiAi Z x 0 1 A i+2 AjAj AiAi Z C, Z B, Z (oczekiwanie na spełnienie warunku) (skok warunkowy o 2)) Formaty mikroinstrukcji

25 ZPT 25 PM Przykład syntezy US - schemat blokowy 00CZ 01CZ 10BZ Z +2 B X C s1s0s1s MA Q1Q0Q1Q0 DMI xcxc s1s0s1s0 L Q1Q0Q1Q0 LICZNIK L A Adresy: A, A+1, A+2, B B C, Z B, Z Formaty mikroinstrukcji Pola C i B są polami zgodnymi ponieważ nie występują jednocześnie w żadnej mikroinstrukcji. Można je umieścić w jednym segmencie PM

26 ZPT 26 Przykład c.d. – dekoder mikroinstrukcji MIs1s1 s0s0 xcxc LQ1Q1 Q0Q –– –– – MA Q1Q0Q1Q0 +2 BA A+2 LICZNIK L A Count 0 Load 1 L = s 1 + x c Q 1 = s 0 x c DMI xcxc s1s0s1s0 L Q1Q0Q1Q0 Z AiAi x 0 1 AiAi A i+1 MI 1 AiAi Z x 0 1 A i+1 A i+2 MI 2 AjAj AiAi Z MI 3

27 ZPT 27 Przykład (str. 139 SUL) Zaprojektować układ sterujący o następującej liście mikroinstrukcji: a) A i : Z, A' = A i+1 b) Ai : Z, A' = A j. c) A i : Z, if x c then A' = A i+1 else A' = A i, Ponadto układ ma umożliwiać obsługę mikropodprogramu.

28 ZPT 28 Mikroinstrukcje do obsługi (mikro)podprogramu xcxc A i+1 Warunkowe wejście do podprogramu Warunkowe wyjście z podprogramu A i A j A k A i+1 A k A :=RS RS := A i+1 A i : if x c then A' = A j, RS:= A i+1 else A' = A i+1 A i : if x c then A' = RS else A' = A i+1 adres A i+1 powrotu z podprogramu zapamiętany w rejestrze śladu RS xcxc 1 0 Rejestr Śladu q

29 ZPT 29 Przykład c.d. Zaprojektować układ sterujący o następującej liście mikroinstrukcji: a) A i : Z, A' = A i+1 b) A i : Z, A' = A j. c) A i : Z, if x c then A' = A i+1 else A' = A i, Ponadto układ ma umożliwiać obsługę mikropodprogramu. d) A i : if x c then A' = A j, RS:= A i+1 else A' = A i+1 e) A i : if x c then A' = RS else A' = A i+1

30 ZPT 30 Przykład cd. Adresy: A i+1 A j A i RS

31 ZPT 31 Przykład cd. realizacja z rejestrem adresowym Adresy: A i+1 A j A i RS

32 ZPT 32 Przykład cd. realizacja z rejestrem adresowym Adresy: A i+1 A j A i RS +1 A I 0 I 1 I 2 I 3 Q q RS RA MUXA PM Z C B S X x c S Qq v v x c MUXW DMI

33 ZPT 33 Przykład cd. MIs 2 s 1 s 0 x c Qqv a0 0 0 I2I2 HOLDZ b0 0 1 I0I0 HOLDZ c I1I2I1I2 HOLD ZZZZ d I2I0I2I0 HOLD LOAD NOP e I2I3I2I3 HOLD – NOP a)Przejście bezwarunkowe, Z b)Skok bezwarunkowy, Z c)Przejście warunkowe, Z d)Warunkowe wejście do podprogramu e)Warunkowe wyjście z podprogramu

34 ZPT 34 Przykład cd. z licznikiem adresowym Adresy: A i+1 count A i hold A j load RS load


Pobierz ppt "ZPT 1 UKŁADY MIKROPROGRAMOWANE. ZPT Algorytmiczna maszyna stanów Omawiane do tej pory bloki funkcjonalne są stosowane przede wszystkim do projektowania."

Podobne prezentacje


Reklamy Google