background image

I

T
P

W

ZPT

Konwerter BIN2BCD

1

LK

„8”

DEC

LK = 0

LOAD1

R3

R2

R1

K

S3

S2

S1

A

B

„5”

 5

MUX

1

0

MUX

A

R4

LOAD2

Y = LD

B

LB

„3”

US

Układ wykonawczy

Układ sterujący

UKŁADY MIKROPROGRAMOWANE

background image

I

T
P

W

ZPT

2

Układ
sterujący
(kontroler

)

Dane wyjściowe

Dane

wejściowe

Sygnały

sterujące

Stan części

operacyjnej

Układ 

wykonawczego

System cyfrowy

background image

I

T
P

W

ZPT

3

Mikroprogramowany układ 

sterujący

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

background image

I

T
P

W

ZPT

4

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ń 

background image

I

T
P

W

ZPT

5

Sieć działań

Graf zbudowany z wierzchołków (klatek)

Klatki:

Z

Z

Z

x

i

,...,x

k

operacyjne

warunkowe

selekcyjne

x

x

1

Z

1

Z

2

x

3

x

2

Z

3

x

1

Z

4

i krawędzi

background image

I

T
P

W

ZPT

6

Mikroinstrukcja - 

podstawowe segmenty SD

   MIKROINSTRUKCJA MI (A

i

)

Moore’a

Mealy’ego

A

i

 : Z

a

, if x then A’ = A

j

 else A’ = A

k

A

i

 :, if x then Z

a

 A’ = A

j

 else Z

b

, A’ = A

k

 wygenerowanie mikrorozkazu 

Z

 badanie warunku x  X

 określenie adresu A’ następnej wykonywanej mikroinstrukcji

Z

A

i

A

j

A

k

x

0

1

Z

a

x

A

i

A

j

A

k

0

1

Z

b

background image

I

T
P

W

ZPT

7

Podział sieci działań…

na segmenty 
odpowiadające 
mikroinstrukcjom

A

0

A

1

A

2

x

1

Z

1

Z

2

x

3

x

2

Z

3

x

1

Z

4

A

3

A

4

A

5

Moore’a

Z

A

i

A

j

A

k

x

0

1

A

i

A

j

A

k

x

0

1

A

3

Z

A

i

A

j

Stany wewnętrzne

background image

I

T
P

W

ZPT

8

Sieć działań reprezentuje 

automat

Podział sieci na 
stany 
(dla automatu)

A

0

A

1

A

2

A

3

x

1

Z

1

Z

2

x

3

x

2

Z

3

x

1

Z

4

0

0

0

0

1

1

1

1

x

1

x

2

x

3

A

00

0  

00

1

01

1

01

0

11

0

11

1

10

1

10

0

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

background image

I

T
P

W

ZPT

9

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

background image

I

T
P

W

ZPT

10

Format mikroinstrukcji

 

Format 
mikroinstrukcji:
MI = <SB,CZ>
Pola:
S - sterujące (kod MI)
B - adresowe
C - kontrolne
Z - operacyjne 
      (mikrorozkaz)

PM

S   B   C   Z

Adres       mikroinstrukcji

Mikroinstrukcja

background image

I

T
P

W

ZPT

11

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.

background image

I

T
P

W

ZPT

12

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

A

i

x

0

1

A

i

A

i+1

A

i

Z

x

0

1

A

i+1

A

i+2

A

j

A

i

Z

C, Z

C, Z

B, Z

(oczekiwanie na spełnienie warunku)

(skok warunkowy o 2))

Formaty mikroinstrukcji

background image

I

T
P

W

ZPT

13

PM

Przykład syntezy US  - schemat 

blokowy

00

C

Z

01

C

Z

10

B

Z

Z

 
+
2

B

X

C

s

1

s

0

00        01        11

 MA

Q

1

Q

0

DMI

x

c

s

1

s

0

L

Q

1

Q

0

LICZNIK

L

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

background image

I

T
P

W

ZPT

14

Przykład c.d. – dekoder 

mikroinstrukcji

MI s

1

s

0

x

c

L

Q

1

Q

0

1

0

0

0

0

0

0

1

1

0

1

2

0

1

0

0

0

1

1

1

1

1

3

1

0

1

0

0

00        01        11

 MA

Q

1

Q

0

 
+2

B

A

A+2

LICZNIK

L

A

Count  0

Load 1

L = s

1

 + x

c

Q

1

 = s

0

x

c

1

0

s

DMI

x

c

s

1

s

0

L

Q

1

Q

0

Z

A

i

x

0

1

A

i

A

i+1

MI

1

A

i

Z

x

0

1

A

i+1

A

i+2

MI

2

A

j

A

i

Z

MI

3

background image

I

T
P

W

ZPT

15

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 : ZA' = 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.

background image

I

T
P

W

ZPT

16

Mikroinstrukcje do obsługi 

(mikro)podprogramu

x

c

A

i+1

Warunkowe wejście 
do podprogramu

Warunkowe wyjście 
z podprogramu

A

i

A

j

A

k

A

i+1

A

k+1

1

0

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

x

c

1

0

Rejestr Śladu

 

background image

I

T
P

W

ZPT

17

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

 : ZA' = 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

background image

I

T
P

W

ZPT

18

Przykład cd.

A

i

Z

A

i + 1

A

i

Z

A

j

A

i + 1

Z    

A i

x  

c

0

1

a )

b )

c )

A  

j

x  

c

x  

c

A i

A i

A

i + 1

A

i + 1

R S  :=  A

i + 1

A '   : =  R S

A ' =  R S

0

0

1

1

d )

e )

Adresy:
A

i+1

A

j

A

i

RS

background image

I

T
P

W

ZPT

19

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

R S

R A

M U X A

P M

Z

C

B

S

X

x

c

S

Q

q

v

v

x

c

M U X W

D M I

background image

I

T
P

W

ZPT

20

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

Q q v

v

x

c

MUXW

DMI

background image

I

T
P

W

ZPT

21

Przykład cd.

MI

s

2

 s

1

 s

0

 

x

c

Q

q

v

a

0  0  0

  

I

2

HOLD

Z

b

0  0  1

 

I

0

HOLD

Z

c

0  1  0

  

0

0  1  0

  

1

I

1

I

2

HOLD

HOLD

Z

Z

d

0  1  1

  

0

0  1  1 1

I

2

I

0

HOLD

LOAD

NO

P

NO

P

e

1  0  0

  

0

1  0  0

  

1

I

2

I

3

HOLD

NO

P

NO

P

+ 1

A

I

0

I

1

I

2

I

3

Q

q

R S

R A

M U X A

P M

Z

C

B

S

X

x

c

S

Q

q

v

v

x

c

M U X W

D M I

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

background image

I

T
P

W

ZPT

22

Przykład cd. z licznikiem 

adresowym

Adresy:
 
A

i+1  

count

A

i      

hold

A

j

    load

RS  load

+ 1

I

0

I

1

Q

L

q

R S

L A

M U X A

P M

Z

C

B

S

X

x

c

S

Q

q

v

v

x

c

M U X W

D M I


Document Outline