28
ZPT Omawiane do tej pory bloki funkcjonalne są stosowan przede wszystkim do projektowania układów (systemów cyfrowych, których typowym zadaniem są realizacje sprzętowe algorytmów. 1 Ale aby rozsądnie, w określonej kolejności zdarzeń, wykonać zadanie określone algorytmem, bloki funkcjonalne zastosowane w systemie muszą być odpowiednio sterowane. Y B A n n n Y n-1 Z OVR P G cn c0 S ALU X 0 X j X N-1 Y n A e 0 Y n A e X REJESTR LICZNIK UKŁADY MIKROPROGRAMOWANE

UKŁADY MIKROPROGRAMOWANE

  • Upload
    wyome

  • View
    54

  • Download
    5

Embed Size (px)

DESCRIPTION

e. e. X. 0. 0. X. X. Y. j. Y. X. N-1. n. n. A. A. UKŁADY MIKROPROGRAMOWANE. 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. LICZNIK. REJESTR. - PowerPoint PPT Presentation

Citation preview

Page 1: UKŁADY MIKROPROGRAMOWANE

ZPT

Omawiane do tej pory bloki funkcjonalne są stosowaneprzede wszystkim do projektowania układów (systemów)cyfrowych, których typowym zadaniem są realizacje sprzętowe algorytmów.

1

Ale aby rozsądnie, w określonej kolejności zdarzeń, wykonać zadanie określone algorytmem, bloki funkcjonalne zastosowane w systemie muszą być odpowiednio sterowane.

Y

BAnn

n

Yn-1

ZO VR

PG

cn c0

S

ALU X0

Xj

XN-1

Y

n

A

e

0

Y

n A

e

X

REJESTR

LICZNIK

UKŁADY MIKROPROGRAMOWANE

Page 2: UKŁADY MIKROPROGRAMOWANE

ZPT

Sterowanie…

…polega na inicjowaniu bloków do sekwencyjnego wykonywania elementarnych czynności takich jak np. zliczanie, wpisywanie do rejestru, sumowanie liczb…

2

Układ sterujący

Czynności takiego sterowania wykonuje układ sekwencyjny (sterujący)

US wytwarza sygnały sterujące pobudzające do pracy odpowiednie bloki funkcjonalne…

X0

Xj

XN-1

Y

nA

e Y 0

Y j

Y N-1

n A

e

X

REJESTR

LICZNIK

Ładuj

Zliczaj

Dodaj

Prześlij

Układ wykonawczy

Page 3: UKŁADY MIKROPROGRAMOWANE

ZPT

Układsterujący

Dane wyjściowe

Danewejściowe

Sygnałysterujące

Stan częściwykonawczej

Układ wykonawczy(Datapath)

System cyfrowy

01

01 01

01

01

0

1

0

11 01

01 01

0

10

1

0

101

0

1

Mikrooperacje wywoływane przez

sygnały sterujące

3

Page 4: UKŁADY MIKROPROGRAMOWANE

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 sekwencyjny układ sterujący nazywa się algorytmiczną maszyną stanów

Algorithmic State Machine (ASM)

ASMy opisuje się sieciami działań

Page 5: UKŁADY MIKROPROGRAMOWANE

ZPT

A0/Z0

A1/Z1

A2/Z2

A3/Z3

A4/Z6

A6/Z4

A7/Z5

A5/Z7

x1

x1

x0

x2

0x

1x

1x

2x

LK = 0

0

0

SHL 1, SHL 2, SHL 3,DEC (LK)

MUX := 0

MUX := 1

LOAD 4

LOAD 2

LOAD 3

S0

1

10

1

1

LOAD 1CLEAR 2,3LOAD (LK)

K > 5

K > 5

A0

A1

A2

A3

A4

A5

A6

A7

Sieć działań…

…to inna reprezentacja automatu

5umożliwiająca dokładniejszy opis sygnałów wyjściowych

Page 6: UKŁADY MIKROPROGRAMOWANE

ZPT 6

Dwa podstawowe elementy: Węzeł wejściowy

Sieć działań…

…reprezentacja graficzna ASM ─ odpowiednik grafu automatuczyli układu sekwencyjnego (FSM)

Ai

Przejścia dodo innych klatek

TF

Klatka operacyjna

Klatka warunkowa (decyzyjna)

..wyjściowe sygnały sterujące czynnościami układu wykonawczego, tzw. mikrorozkazy

Zapisywane też symbolami reprezentującymi czynności (mikrooperacje) bloków UW: LOAD(L)

.. sygnał wejściowy X, którego wartość określa przejście do następnych klatek

X

Page 7: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład sieci działań

Klatki:

Z Z Z

operacyjne

warunkowe

x

7

x1

Z1

Z2

x3x2 Z3x1

Z4

0

0 00

1

11

1

Page 8: UKŁADY MIKROPROGRAMOWANE

ZPT

Mikroinstrukcja

Segmenty sieci działań są graficzną reprezentacją mikroinstrukcji

Ai : Z = Za, if x then A’ = Aj else A’ = Ak Ai : if x then Z = Za, A’ = Aj else Z = Zb, A’ = Ak

Za

Ai

Aj Ak

x01

Za

x

Ai

Aj Ak

01

Zb

Mealy’ego

8

Podstawowe mikroinstrukcje

Każda MI jest wykonywana w oddzielnym stanie

Węzeł początkowy MI utożsamiany jest ze stanem wewnętrznym ASM

Moora

Page 9: UKŁADY MIKROPROGRAMOWANE

ZPT

Układy mikroprogramowane

Rozbudowane sieci działań realizuje się w postaci tzw. Mikroprogramowanych Układów Sterujących (MUS)

9

A Mikroprogram

0 Opis MI1

1

n Opis MIn

W poszczególnych komórkach (wierszach) PM zapisuje się mikroinstrukcje opisujące działanie układu w kolejnych stanach.

MUS to układ umożliwiający wykonanie zadanej listy mikroinstrukcji

… w których sposób sterowania zapisuje się w pamięci stałej ROM zwanej pamięcią mikroprogramu (PM)

Page 10: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład – sieć działań, mikroprogram

A0

A1

A2

A3

A5

A6

Z

x

1

0

Ai

Ai+1

Ai

Z

x

0

1

Ai+1

Aj

Ai+1

Ai

Z

Aj

Ai

Z

[MI1]

[MI4][MI3]

[MI2]

A MI

0 MI1Oczekiwanie na

spełnienie warunku

1 MI2Przejście

bezpośrednie

2 MI3 Skok warunkowy do A6

3 MI3 Skok warunkowy do A2

4 MI1Oczekiwanie na

spełnienie warunku

5 MI4Skok bezwarunkowy

do A0

6 MI4Skok bezwarunkowy

do A4

10

Mikroprogram zapisuje się w pamięci stałej ROM zwanej pamięcią mikroprogramu i realizuje

w Mikroprogramowanym Układzie Sterującym

Rodzaje MI:

A4

Z1

x1

1

0

Z2

Z3

1x2

0

x1

0

Z2

x4

Z3

Z4

Z2

10

Page 11: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład – sieć działań, mikroprogram

Z1

x1

1

0

Z2

Z3

1x2

0

x1

0

Z2

x4

Z3

Z4

Z2

10

A0

A1

A2

A3

A4

A5

A6

Z

x

1

0

Ai

Ai+1

Ai

Z

x

0

1

Ai+1

Aj

Ai+1

Ai

Z

Aj

Ai

Z

[MI1]

[MI4][MI3]

MI2]

A MI

0 MI1Oczekiwanie na

spełnienie warunku

1 MI2Przejście

bezpośrednie

2 MI3 Skok warunkowy do A6

3 MI3 Skok warunkowy do A2

4 MI1Oczekiwanie na

spełnienie warunku

5 MI4Skok bezwarunkowy

do A0

6 MI4Skok bezwarunkowy

do A4

11

Jak zaprojektować MUS, który mógłby wykonać każdą MI z zadanej listy ?

Page 12: UKŁADY MIKROPROGRAMOWANE

ZPT

Schemat blokowy MUS

TaktRA

UA

Do UW

ROM(PM)

MI

A

DMIDekoder µinstrukcji

Sygnały (warunki)zewnętrznei wewnętrzne

12

Głównym zadaniem MUS jest realizacja układu sterującego wykonującego zadaną listę mikroinstrukcji

W ROM zapisane są wszystkie µInstrukcje

Page 13: UKŁADY MIKROPROGRAMOWANE

ZPT

Format mikroinstrukcji

Dzieli się słowo pamięci na

segmenty (pola): MI = <S, B,C, Z>

13

Jak wpisać mikroinstrukcję:

S B C Z

Adres mikroinstrukcji

PM

Mikroinstrukcja

S B C Z

Ai : Z = Za, if xC then A’ = Aj else A’ = Ak

do komórki pamięci o adresie Ai W postaci binarnej!

S - sterujące (kod MI)

B - adresowe

C - kontrolne

Z - operacyjne

(mikrorozkaz)

Każdy segment odpowiada za

jedną konkretną czynność:

Page 14: UKŁADY MIKROPROGRAMOWANE

ZPT

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

I1 : Z, if xc then A’ = Ai else A’ = Ai+1,

I2 : Z, if xc then A’ = Ai+2 else A’ = Ai+1,

I3 : Z, A’ = Aj.

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.

14

Page 15: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład c.d. - mikroinstrukcje

I1 : Z, if xc then A’ = Ai else A’ = Ai+1

I3 : Z, A’ = Aj

I2 : Z, if xc then A’ = Ai+2 else A’ = Ai+1

Z

Ai

x

0

1

Ai

Ai+1

Ai

Z

x

0

1

Ai+1

Ai+2

Aj

Ai

Z

C, Z C, Z B, Z

(oczekiwanie na spełnienie warunku)

(skok warunkowy o 2)

Formaty mikroinstrukcji15

(skok bezwarunkowy)

Page 16: UKŁADY MIKROPROGRAMOWANE

ZPT

PM

Przykład syntezy US - schemat blokowy

00 C Z

01 C Z

10 B Z

Z

+2

B

X

C

s1s0

00 01 11 MA

Q1

Q0

DMI

xc

s1

s0

L

Q1

Q0

LICZNIKL

A

Adresy:A, A+1, A+2, BB

C, Z

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

16

Page 17: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład c.d. – synteza dekodera mikroinstrukcji

MI s1 s0 xc L Q1 Q0

10 0 0 0 – –

0 0 1 1 0 1

20 1 0 0 – –

0 1 1 1 1 1

3 1 0 – 1 0 0

00 01 11 MA

Q1

Q0

+2

B AA+2

LICZNIKL

A

Count 0

Load 1

L = s1 + xc Q1 = s0 10 sQ

Z

Ai

x

0

1

Ai

Ai+1

MI1

Ai

Z

x

0

1

Ai+1

Ai+2

MI2

Aj

Ai

Z

MI3

17

DMI

xc

s1

s0

L

Q1

Q0

Co robi DMI?

Steruje licznikiem i multiplekserem adresowym

Page 18: UKŁADY MIKROPROGRAMOWANE

ZPT

MUS w porównaniu do układu sekwencyjnego

Podział SD na segmenty odpowiadające mikroinstrukcjom

A0

A1

A2

x1

Z1

Z2

x3x2 Z3x1

Z4

A3

A4

A5

Moore’a

Z

Ai

Aj Ak

x01

Ai

Aj Ak

x 01

A3

Z

Ai

Aj

Stany wewnętrzne

18

Page 19: UKŁADY MIKROPROGRAMOWANE

ZPT

Sieć działań reprezentuje automat

Podział sieci na stany (dla automatu)

A0

A1

A2

A3

x1

Z1

Z2

x3x2 Z3x1

Z4

0

0 00

1

11

1

x1x2x3

A000

001 011 010 110 111 101 100

A 0 A 1 A 1 A 1 A 1 A 1 A 1 A 1 A 1

A 1 A 1 A 1 A 1 A 1 A 3 A 2 A 2 A 1

A 2 A 1 A 1 A 1 A 1 A 3 A 3 A 3 A 3

A 3 A 3 A 3 A 3 A 3 A 3 A 3 A 3 A 3

19

Page 20: UKŁADY MIKROPROGRAMOWANE

ZPT

Mikroinstrukcje a stany automatu

Podział sieci na stany (dla automatu)

A0

A1

A2

A3

x1

Z1

Z2

x3x2 Z3 x1

Z4

0

0 0 01

11

1

20

4 stany

A0

A1

A2

x1

Z1

Z2

x3x2 Z3x1

Z4

A3

A4

A5

6 stanów

Podział sieci na segmenty odpowiadające mikroinstrukcjom

W automacie w jednym stanie może być badanych wiele warunków,W mikroinstrukcjach – tylko jeden warunek !!!

Page 21: UKŁADY MIKROPROGRAMOWANE

ZPT

Obsługa mikropodprogramu

21

Przykład 10.3, str. 246 Synteza logiczna

Zaprojektować układ sterujący o następującej liście mikroinstrukcji:

a) Ai : Z, A' = Ai+1

b) Ai : Z, A' = Aj.

c) Ai : Z, if xc then A' = Ai+1  else A' = Ai,

Ponadto układ ma umożliwiać obsługę mikropodprogramu.

Page 22: UKŁADY MIKROPROGRAMOWANE

ZPT

Mikroinstrukcje do obsługi (mikro)podprogramu

xc

Ai+1

Warunkowe wejście do podprogramu

Warunkowe wyjście z podprogramu

Ai

Aj

Ak

Ai+1

Ak+1

1

0

A :=RS

RS := Ai+1

Ai : if xc then A' = Aj, RS:= Ai+1 else A' = Ai+1

Ak: if xc then A' = RS else A' = Ak+1

adres Ai+1 powrotu z podprogramu zapamiętany w rejestrze śladu RS

xc

1

0 Rejestr Śladu q

22

Page 23: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład c.d.

Zaprojektować układ sterujący o następującej liście mikroinstrukcji:

a) Ai : Z, A' = Ai+1

b) Ai : Z, A' = Aj.

c) Ai : Z, if xc then A' = Ai+1  else A' = Ai,

Ponadto układ ma umożliwiać obsługę mikropodprogramu.

d) Ai : if xc then A' = Aj, RS:= Ai+1 else A' = Ai+1

e) Ai : if xc then A' = RS else A' = Ak+1

23

Page 24: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład cd.

A i

Z

A i +1

A i

Z

A j

A i +1

Z

A i

x c0

1

a) b) c)

A j

x c x c

A i A i

A i +1 A i +1

RS := A i +1 A' := RSA' = RS

0 0

1 1

d) e)

Adresy:Ai+1

Aj

Ai

RS

24

Page 25: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład cd. realizacja z rejestrem adresowym

Adresy:Ai+1

Aj

Ai

RS

+1

A

I 0 I 1 I 2 I 3Q

qRS

RA

MUXA

PM

ZC

BS

X

x c

S

Q q vv

x c

M UXWDM I

25

Page 26: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład cd. realizacja z rejestrem adresowym

Adresy:Ai+1

Aj

Ai

RS

+1

A

I0 I1 I2 I3Q

qRS

RA

MUXA

PM

ZC

BS

X

xc

S

Q q vv

xc

MUXWDMI

26

Page 27: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład cd.

MI s2 s1 s0 xc Q q v

a 0 0 0 ─ I2 HOLD Z

b 0 0 1 ─ I0 HOLD Z

c0 1 0 0

0 1 0 1

I1

I2

HOLDHOLD

ZZ

d0 1 1 0

0 1 1 1

I2

I0

HOLDLOAD

NOPNOP

e1 0 0 0

1 0 0 1

I2

I3

HOLD–

NOPNOP

+1

A

I 0 I 1 I 2 I 3Q

qRS

RA

MUXA

PM

ZC

BS

X

x c

S

Q q vv

x c

M UXWDM I

a) Przejście bezwarunkowe, Zb) Skok bezwarunkowy, Z

c) Przejście warunkowe, Zd) Warunkowe wejście do podprogramue) Warunkowe wyjście z podprogramu

27

Page 28: UKŁADY MIKROPROGRAMOWANE

ZPT

Przykład cd. z licznikiem adresowym

Adresy: Ai+1 count

Ai hold

Aj load

RS load

+1

I 0 I 1Q

L

qRS

LA

M UXA

PM

ZC

BS

X

x c

S

Q q vv

x c

M UXWDM I

28