UKŁADY MIKROPROGRAMOWANE
description
Transcript of UKŁADY MIKROPROGRAMOWANE
ITPW
ZPT
1
UKŁADY MIKROPROGRAMOWANE
ITPW
ZPT
2
System cyfrowy - realizacja
UO – z bloków funkcjonalnych
US – automat układ mikroprogramowany
XZ
XP
ZY
Z
D
F
US UO
ITPW
ZPT
3
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
ITPW
ZPT
4
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ę podprogramu.
ITPW
ZPT
5
Obsługa podprogramu
A i
A j
A k
A k+1
1
0
x cA :=RS
RS := A i+1xc
Ai+1
podprogram
wejście
powrót
Ai+1
Ai+1
ładuj
ITPW
ZPT
6
Przykład cd.
d) Ai : if xc then A' = Aj, RS:= Ai+1 else A' = Ai+1
– warunkowe wejście do podprogramu (adres Ai+1 powrotu z podprogramu zapamiętany w rejestrze śladu RS);
e) Ai : if xc then A' = RS else A' = Ai+1 – warunkowe wyjście z podprogramu.
ITPW
ZPT
7
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 (B)
Ai
RS
ITPW
ZPT
8
Przykład cd. realizacja z rejestrem adresowym
Adresy:Ai+1
Aj (B)
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
AND
Zegar(clk)
ITPW
ZPT
9
Przykład cd.
MI s2 s1 s0 xc Q q v R
a 0 0 0 ─ I2 HOLD Z LOAD
b 0 0 1 ─ I0 HOLD Z LOAD
c0 1 0 0
0 1 0 1
I1
I2
HOLDHOLD
ZZ
HOLDLOAD
d0 1 1 0
0 1 1 1
I2
I0
HOLDLOAD
NOPNOP
LOADLOAD
e1 0 0 0
1 0 0 1
I2
I3
HOLD–
NOPNOP
LOADLOAD
+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
RA: R = 0 – HOLD; R = 1 – LOAD
R
Modyfikacja - rejestr adresowy z mikrooperacją HOLD
ITPW
ZPT
10
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 cS
L qQ v
v
x c
M UXWDM I
MI s2 s1 s0 xc Q q v L
a 0 0 0 ─ – HOLD Z COUNT
b 0 0 1 ─ I0 HOLD Z LOAD
c0 1 0 0
0 1 0 1––
HOLDHOLD
ZZ
HOLDCOUNT
d0 1 1 0
0 1 1 1
–I0
HOLDLOAD
NOPNOP
COUNTLOAD
e1 0 0 0
1 0 0 1–I1
HOLD–
NOPNOP
COUNTLOAD
a) Przejście bezwarunkowe, Zb) Skok bezwarunkowy, Z
c) Przejście warunkowe, Zd) Warunkowe wejście do podprogramue) Warunkowe wyjście z podprogramu
A A+1
RA