1
I
T
P
W
ZPT
UKŁADY MIKROPROGRAMOWANE
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
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)
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)
???
???
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
6
I
T
P
W
ZPT
Układ sterujący -
podstawowe czynności
MIKROINSTRUKCJA MI (A
i
)
Moore’a
Mealy’ego
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
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
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
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
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
10
I
T
P
W
ZPT
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
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.
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
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
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
Q
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
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
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.