UKŁADY MIKROPROGRAMOWANE

23
I T P W ZPT 1 UKŁADY MIKROPROGRAMOWANE

description

UKŁADY MIKROPROGRAMOWANE. Konwerter BIN2BCD. R3. R2. R1. 0. 1. MUX. LB. „8”. LOAD1. S3. S2. S1. LK. A. B. DEC. US. LK = 0. MUX. B. A. „5”. „3”. . K. R4. LOAD2. K  5. Y = LD. Układ sterujący. Układ wykonawczy. 2. Dane. wejściowe. Mikrooperacje. - PowerPoint PPT Presentation

Transcript of UKŁADY MIKROPROGRAMOWANE

Page 1: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 1

UKŁADY MIKROPROGRAMOWANE

Page 2: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT

Konwerter BIN2BCD

2

LK

„8”

DECLK = 0

LOAD1

R3 R2 R1

K

S3 S2 S1A B

„5”

K 5

MUX1 0MUX

A

R4LOAD2

Y = LD

B

LB

„3”

US

Układ wykonawczyUkład sterujący

Page 3: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 3

Układsterujący(kontroler)

Dane wyjściowe

Danewejściowe

Sygnałysterujące

Stan częścioperacyjnej

Układ operacyjny(Datapath)

System cyfrowy

Mikrooperacje wywoływane przez

sygnały sterujące

Page 4: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 4

Mikroprogramowany układ sterującyMikroprogramowany układ sterujący

Skoro układ sekwencyjny można opisać siecią działań, to powstaje pytanie, czy nie można

takiego układu realizować bezpośrednio – bez przekształcania SD na opis w postaci grafu

automatu.

Page 5: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 5

Mikroprogramowany układ sterujący

1. Sekwencyjny układ synchroniczny (Moore’a lub Mealy’ego)

2. Funkcje przejść i wyjść są zapisane w pamięci stałej typu ROM zwanej pamięcią mikroprogramu

3. W każdym takcie pracy układu jest badany (w zasadzie) jeden warunek (sygnał zewnętrzny) spośród zbioru X wszystkich wejść

4. Opis działania za pomocą sieci działań (flow diagram)

Page 6: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 6

Sieć działań

Graf zbudowany z wierzchołków (klatek)

Klatki:

Z Z Z

xi,...,xk

operacyjne

warunkowe selekcyjne

x

x1

Z1

Z2

x3x2 Z3 x1

Z4

i krawędzi

Page 7: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 7

Mikroinstrukcja - podstawowe segmenty SD

MIKROINSTRUKCJA MI (Ai)

Moore’aMealy’ego

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

wygenerowanie mikrorozkazu Z

badanie warunku x X

określenie adresu A’ następnej wykonywanej mikroinstrukcji

Z

Ai

Aj Ak

x01 Za

x

Ai

Aj Ak

01

Zb

Page 8: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 8

Podział sieci działań…na segmenty odpowiadające mikroinstrukcjom

A0

A1

A2

x1

Z1

Z2

x3x2 Z3 x1

Z4

A3

A4

A5

Moore’a

Z

Ai

Aj Ak

x01

Ai

Aj Ak

x01

A3

Z

Ai

Aj

Stany wewnętrzne

Page 9: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 9

Sieć działań reprezentuje automat

Podział sieci na stany (dla automatu)

A0

A1

A2

A3

x1

Z1

Z2

x3x2 Z3 x1

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

Page 10: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 10

Mikroprogramowany układ sterujący

TaktRA

UA

UO

PM

MI

A

DMI

Dekoder mikroinstrukcji

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

Schemat blokowy MUS

Page 11: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 11

Format mikroinstrukcji

Format mikroinstrukcji:

MI = <S, B,C, Z>

Pola:

S - sterujące (kod MI)

B - adresowe

C - kontrolne

Z - operacyjne

(mikrorozkaz)

PM

S B C Z

Adres mikroinstrukcji

Mikroinstrukcja

Page 12: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 12

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.

Page 13: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 13

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 mikroinstrukcji

Page 14: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 14

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, B

B

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

Page 15: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 15

Przykład c.d. – dekoder 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 = s0xc 10 sQ

DMI

xc

s1

s0

L

Q1

Q0

Z

Ai

x

0

1

Ai

Ai+1

MI1

Ai

Z

x

0

1

Ai+1

Ai+2

MI2

Aj

Ai

Z

MI3

Page 16: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 16

Przykład (str. 139 SUL)

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 17: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 17

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

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

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

xc

1

0 Rejestr Śladu q

Page 18: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 18

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' = Ai+1

Page 19: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 19

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

Page 20: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 20

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

Page 21: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 21

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

Page 22: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 22

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

Page 23: UKŁADY MIKROPROGRAMOWANE

ITPW

ZPT 23

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