background image

1

I

T
P

W

ZPT

UKŁADY MIKROPROGRAMOWANE

background image

2

I

T
P

W

ZPT

System cyfrowy 

Cyfrowy zespół funkcjonalny CZF

D, F - przetwarzana 
informacja (wektory 
binarne),

UO - układ operacyjny

US - układ sterujący

X

Z

X

P

Z

Y

Z

D

F

X - sygnały warunków,

Z - sygnały sterujące 
(mikrorozkazy)

US

UO

Automat

Mikroprogramowany układ sterujący

background image

3

I

T
P

W

ZPT

Mikroprogramowany układ 

sterujący

1. Układ synchroniczny (Moore’a lub 

Mealy’ego)

2. Funkcje przejść i wyjść są zapisane w 

pamięci (stałej) mikroprogramu)

3. W każdym takcie pracy układu jest badany 

(w zasadzie) jeden warunek z wektora X

4. Opis działania za pomocą sieci działań 

(flow diagram)

background image

4

I

T
P

W

ZPT

Układy mikroprogramowane...

Były one popularne do końca lat 80. Produkowano 
je w postaci wyspecjalizowanych układów 
scalonych
 tzw. mikroprogramowanych układów 
sterujących. 

... można traktować jako pewien styl 
projektowania
 układów cyfrowych

MUS

Pamięć mikroprogramu

(ROM)

???

???

background image

5

I

T
P

W

ZPT

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

6

I

T
P

W

ZPT

Układ sterujący - 

podstawowe czynności

   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

7

I

T
P

W

ZPT

Sieć działań

Podział sieci na stany (dla MUS)

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

background image

8

I

T
P

W

ZPT

Sieć działań

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

9

I

T
P

W

ZPT

Mikroprogramowany układ 

sterujący 

Takt

RA

UA

UO

PM

MI

A

DMI

Dekoder mikroinstrukcji

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

background image

10

I

T
P

W

ZPT

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

11

I

T
P

W

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

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

12

I

T
P

W

ZPT

Przykład c.d. - mikroinstrukcje

I

1

 : Z, if x

c

 then A’ = A

i

 else A’ = A

i+1

(oczekiwanie na spełnienie warunku)

I

3

 : Z, A’ = A

j

(skok bezwarunkowy)

I

2

 : Z, if x

c

 then A’ = A

i+2

 else A’ = A

i+1

(skok warunkowy o 2))

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

background image

13

I

T
P

W

ZPT

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

14

I

T
P

W

ZPT

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

15

I

T
P

W

ZPT

Sekwenser 2910 (12-bitowy)

W

E

J

Œ

C

I

A

W

Y

J

Œ

C

I

A

D

I

c lo c k

C C

C C E N

R L D

C

I

O E

4

1 2

Y

F U L L

P L

M A P

V E C T

1 2

2 9 1 0

D

C P

W S T

D e te k to r

z e r a

S T O S

L M P

I N C

P L A

D

R

F

u M

C

I

I

C C

C C E N

M

A

P

V

E

C

T

P

L

O E

R L D

F U L L

R E J E S T R

4

Y

background image

16

I

T
P

W

ZPT

Sekwenser 2910

Na przykład rozbudowany układ 2910 można 
znaleźć w postaci wirtualnej w książce K. C. 
Changa Digital system Design with VHDL 
Synthesis: An Integrated Approach, IEEE 
Computer Society, Los Alamitos 1999.


Document Outline