Sunteți pe pagina 1din 41

Dispozitiv de mprire binar

Unitate de comand
microprogramat
22.03.2011 Unitate de comand microprogramat
2
INTRODUCERE
Sinteza unitii de comand UC
realizarea microprogramat a unitii de comand a
unui sistem numeric se bazeaz pe utilizarea unei
memorii ROM
cuvintele memoriei reprezint fiecare o
microinstruciune a programului
n principal exist cuvinte de test, de adres i de
comand
se definete o metod de sintez pentru UC a
sistemelor numerice
exemplu: la sinteza UC a sistemului numeric care
realizeaz mprirea a 2 numere binare pozitive
22.03.2011 Unitate de comand microprogramat
3
METODA DE SINTEZ
Sinteza unitii de comand UC
o UC microprogramat este de fapt o unitate de
tratare a adreselor din memoria de microprogram
metoda de sintez a UC seamn cu cea a UE n
privina realizrii i se ncheie printr-o etap de
programare
realizarea microprogramat a UC a unui sistem
numeric, care realizeaz un algoritm dat, este
caracterizat de un repertoriu de microinstruciuni:
microinstruciuni de test i comand
microinstruciuni de test
microinstruciuni de comand
microinstruciuni de apel de subprogram
microinstruciuni de return dintr-un subprogram etc.
22.03.2011 Unitate de comand microprogramat
4
METODA DE SINTEZ
Etapele sintezei UC
sinteza se efectueaz plecnd de la organigram,
prin parcurgerea urmtoarelor etape:
1. adaptarea eventual a organigramei la repertoriul de
microinstruciuni alese pentru UC
2. definirea variabilelor de comand ale UE
3. redactarea programului originar i determinarea
formatului i a cmpurilor microinstruciunilor
4. declararea registrelor i resurselor UC i descrierea
funcional a acesteia cu ajutorul unei organigrame
5. construirea schemei UC i declararea eventual a
registrelor i resurselor adiionale
6. realizarea UC cu ajutorul unor componente MSI
combinaionale i secveniale disponibile
7. adaptarea programului originar i programarea
memoriei
22.03.2011 Unitate de comand microprogramat
5
UC CU 2 INSTRUCIUNI CU
REGISTRU DE ADRES
Caiet de sarcini
este format din repertoriul de
microinstruciuni
se determin formatul i cmpurile
microinstruciunilor
se specific asocierea cu elementele
organigramei
22.03.2011 Unitate de comand microprogramat
6
ORGANIGRAMA UE
F 1
E
A 0
B X
C Y
F 0
I 0
(A,B) (A,B)*2
B
0
0
A A - C
A
7
B
0
1
(A,B) (A,B)*2
B
0
0 (A,B) (A,B)*2
B
0
0
A A + C
I I + 1 A A - C
I I + 1
I
7
A
7
B
0
1
A A + C
22.03.2011 Unitate de comand microprogramat
7
REPERTORIUL DE
MICROINSTRUCIUNI
Repertoriul propus
asociaz:
o microinstruciune de test binar fiecrui romb
(test)
o microinstruciune de comand fiecrui
dreptunghi (operaie)
se aplic direct organigramei originare a
sistemului numeric care realizeaz mprirea
a 2 numere binare pozitive
22.03.2011 Unitate de comand microprogramat
8
REPERTORIUL DE
MICROINSTRUCIUNI
Repertoriul propus
IF T = 0 THEN GOTO ADR0
ELSE GOTO ADR1 0
ADR T
1 ADR0
ADR1
DO OP AND GOTO ADR1
ADR OP
ADR1
22.03.2011 Unitate de comand microprogramat
9
VARIABILELE DE COMAND A UE
fiecare dreptunghi al organigramei originare
conine o operaie a UE
innd cont de resursele i de registrele alese
pentru realizarea UE, se definesc variabilele
sale de comand, pentru ca UE s execute
ansamblul operaiilor organigramei
valorile care trebuie s se atribuie variabilelor
sunt precizate n tabela operaiilor UE
(rezult din tabelele operaiilor proprii pentru
resursele i registrele utilizate la proiectarea
UE)
22.03.2011 Unitate de comand microprogramat
10
VARIABILELE DE COMAND A UE
Operaiile organigramei UE
Operaie Descriere
OP0 NOP
OP1
F 1
OP2
A 0; B X; C Y; F 0; I 0
OP3
(A,B) (A,B) * 2; B
0
0
OP4
B
0
1
OP5
A A + C
OP6
A A C
OP7
A A + C; I I + 1
OP8
A A C; I I + 1
22.03.2011 Unitate de comand microprogramat
11
VARIABILELE DE COMAND A UE
Op A
A
SH
A
LD
A
G
B
S
B
SH
B
LD
B
WS
C
J
F
K
F
CLR
I
LD
I
P
I
A
AU
OP0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OP1

0 0 0

0 0 0 1 0 0 0 0

OP2 0 0 1 0 0 0 1 1 0 1 1

OP3

1 0

1

0 0 0 0 0 0

OP4

0 0 0 1 0 1 0 0 0 0 0 0

OP5 1 0 1 0

0 0 0 0 0 0 0 0 0
OP6 1 0 1 0

0 0 0 0 0 0 0 0 1
OP7 1 0 1 0

0 0 0 0 0 0 0 1 0
OP8 1 0 1 0

0 0 0 0 0 0 0 1 1
22.03.2011 Unitate de comand microprogramat
12
VARIABILELE DE COMAND A UE
Observaii
fiecare romb al organigramei corespunde
unei instruciuni de test
UE trebuie s rmn inactiv n cursul execuiei
unui test UE efectueaz atunci o instruciune
neutr NOP
pentru a simplifica mai mult concepia UC,
admitem n plus c toate variabilele sale de ieire
(adic toate variabilele de comand a UE) sunt
egale cu 0 n timpul unei instruciuni de test
tabela operaiilor UE conine n mod obligatoriu
operaia NOP
22.03.2011 Unitate de comand microprogramat
13
VARIABILELE DE COMAND A UE
Ansamblul minimal de variabile de
comand
determinarea ansamblului minimal al
variabilelor distincte CMD, care trebuie s fie
generate de UC pentru UE se face cu ajutorul
unui graf de compatibiliti
A
A
A
AU
SH
A
P
I
LD
A
CLR
I
S
B
K
F
SH
B
J
F
LD
B
WS
C
22.03.2011 Unitate de comand microprogramat
14
VARIABILELE DE COMAND A UE
Ansamblul minimal de variabile de
comand
se procedeaz astfel:
1. cutm variabilele de comand care pot rmne
constante. Atribuirea unor valori particulare condiiilor
indiferente din tabela operaiilor UE reduce 2 variabile la
starea de constante: G
B
= 0 i LD
I
= 0 (adic LD
I
= 1)
2. fiecare variabil care rmne va constitui un nod n
graf
3. compatibilitatea a 2 variabile (faptul c au valori egale
pentru fiecare operaie n care sunt ambele specificate) e
indicat printr-un arc neorientat care unete cele 2 noduri
22.03.2011 Unitate de comand microprogramat
15
VARIABILELE DE COMAND A UE
Ansamblul minimal de variabile de
comand
se procedeaz astfel:
4. un poligon complet = un ansamblu de noduri care sunt
toate conectate 2 cte 2
5. ansamblul minimal al poligoanelor complete
corespunde ansamblului minimal al variabilelor distincte
CMD
din graful de compatibiliti se obin 2 ansambluri
minimale de poligoane complete
se determin 2 ansambluri minimale de 8 variabile
distincte
22.03.2011 Unitate de comand microprogramat
16
VARIABILELE DE COMAND A UE
Ansamblul minimal de variabile de
comand - 2 variante
CMD0 = A
AU
CMD0 = S
B
= A
AU
CMD1 = P
I
CMD1 = P
I
CMD2 = J
F
CMD2 = J
F
CMD3 = WS
C
= K
F
= CLR
I
CMD2 = WS
C
= K
F
= CLR
I
CMD4 = LD
B
CMD3 = LD
B
CMD5 = LD
A
CMD4 = LD
A
CMD6 = SH
A
= SH
B
CMD6 = SH
A
= SH
B
CMD7 = A
A
= S
B
CMD7 = A
A
22.03.2011 Unitate de comand microprogramat
17
VARIABILELE DE COMAND A UE
Ansamblul minimal de variabile de
comand
se alege prima variant (cea din stnga)
n tabel apar valorile hexazecimale pentru
variabilele de comand a UE, corespunztoare
cazului cnd toate condiiile indiferente sunt alese 0
Operaie CMD70
OP0 00
OP1 04
OP2 38
OP3 40
OP4 90
OP5 A0
OP6 A1
OP7 A2
OP8 A3
22.03.2011 Unitate de comand microprogramat
18
PROGRAMUL ORIGINAR
Programul originar al UC
redactarea se face transcriind organigrama
originar a UE cu ajutorul repertoriului de
microinstruciuni
programul este cel ce va fi nscris n memoria
ROM
fiecare din etichetele NEXT specific adresa
microinstruciunii care ocup linia urmtoare
din program
pentru salturi se utilizeaz etichete
22.03.2011 Unitate de comand microprogramat
19
PROGRAMUL ORIGINAR
Programul originar al UC
WAIT: DO OP1 AND GOTO NEXT
IF E = 0 THEN GOTO WAIT
ELSE GOTO EXECUTE
EXECUTE: DO OP2 AND GOTO NEXT
DO OP3 AND GOTO NEXT
DO OP6 AND GOTO LOOP
LOOP: IF A
7
= 0 THEN GOTO SUBC
ELSE GOTO ADDC
ADDC: DO OP3 AND GOTO NEXT
DO OP7 AND GOTO TEST
TEST: IF I
7
= 0 THEN GOTO LOOP
ELSE GOTO NEXT
IF A
7
= 0 THEN GOTO INCB
ELSE GOTO NEXT
DO OP5 AND GOTO WAIT
SUBC: DO OP4 AND GOTO NEXT
DO OP3 AND GOTO NEXT
DO OP8 AND GOTO TEST
INCB: DO OP4 AND GOTO WAIT
22.03.2011 Unitate de comand microprogramat
20
DEFINIREA
MICROINSTRUCIUNILOR
Formatul i cmpurile
microinstruciunilor
determinate de:
numrul microinstruciunilor din repertoriu
dimensiunea programului originar
ansamblul minimal de variabile de comand
numrul variabilelor de test ale organigramei
22.03.2011 Unitate de comand microprogramat
21
DEFINIREA
MICROINSTRUCIUNILOR
Formatul i cmpurile
microinstruciunilor
microinstruciunea de test definit de:
un bit de cod MC = 0
un cmp TEST pentru selecia variabilei de test coninut
n romb
2 cmpuri ADR0 i ADR1 care dau, respectiv, adresa
microinstruciunii urmtoare, pentru valoarea 0 i pentru
valoarea 1 a variabilei de test
0 TEST ADR0 ADR1
12 11 10 9 8 7 6 5 4 3 2 1 0
1 OP ADR1
12 11 10 9 8 7 6 5 4 3 2 1 0
22.03.2011 Unitate de comand microprogramat
22
DEFINIREA
MICROINSTRUCIUNILOR
Formatul i cmpurile
microinstruciunilor
microinstruciunea de execuie definit de:
un bit de cod MC = 1
un cmp OP care d starea variabilelor de comand a UE
pentru efectuarea operaiei coninute n dreptunghi
un cmp ADR1 care d adresa microinstruciunii
urmtoare din program
0 TEST ADR0 ADR1
12 11 10 9 8 7 6 5 4 3 2 1 0
1 OP ADR1
12 11 10 9 8 7 6 5 4 3 2 1 0
22.03.2011 Unitate de comand microprogramat
23
DECLARAREA I DESCRIEREA
FUNCIONAL A UC
Registre i resurse
pentru a executa cele 2 microinstruciuni, UC
are nevoie de:
AR
1x4
= registru de adres (Address Register) a
memoriei ROM
M
15x13
= memorie de microprogram
T
1x1
= multiplexor de test
CMD
1x8
= registru pentru pstrarea variabilelor
de comand a UE
22.03.2011 Unitate de comand microprogramat
24
DECLARAREA I DESCRIEREA
FUNCIONAL A UC
Organigrama UC
organigrama UC descrie funcionarea pentru
fiecare din microinstruciuni, n funcie de
codul lor MC i pentru iniializarea efectuat
atunci cnd variabila de intrare a
dispozitivului de mprire Init = 1
M(AR)
ADR1
= coninutul locaiei (cuvntului)
din memoria M, de la adresa dat de AR,
partea ADR1 din aceast locaie
22.03.2011 Unitate de comand microprogramat
25
ORGANIGRAMA UC
Init, MC
00 01 1
T AR M(AR)
ADR1
AR : = 0
CMD = M(AR)
OP
CMD =
AR M(AR)
ADR1
CMD = 0
AR M(AR)
ADR0
CMD = 0
22.03.2011 Unitate de comand microprogramat
26
DECLARAIE ADIIONAL
Resurse adiionale
schema UC mai are nevoie pe lng
elementele anterioare de:
AM
1x4
= multiplexor de adres, pentru a selecta
una sau cealalt dintre cele 2 adrese (ADR0 sau
ADR1) furnizate de cuvintele din memorie
22.03.2011 Unitate de comand microprogramat
27
SCHEMA UC
M
I
7
A
7
E 12 0
7-4 3-0 11-4
T AM CMD
3 0 7 0
(selecteaz AM) AR
3 0
22.03.2011 Unitate de comand microprogramat
28
REALIZAREA UC
Operaii ale UC
operaiile descrise n organigrama UC in cont de
multiplexorul de adrese AM
realizarea UC se reduce la alegerea unui ansamblu
de registre i resurse capabile s execute aceste
operaii
Operaie Descriere
OP1
AR AM; AM = M(AR)
ADR1
; CMD = 0
OP2
AR AM; AM = M(AR)
ADR0
; CMD = 0
OP3
AR AM; AM = M(AR)
ADR1
; CMD = M(AR)
OP
OP4
AR : = 0; AM = ; CMD =
22.03.2011 Unitate de comand microprogramat
29
REALIZAREA UC
Registrul de adrese AR
AR se folosete registru universal care deplaseaz bidirecional (74194).
R A B C D L
CK
S0
S1 74194
CLR
Q
A
Q
B
Q
C
Q
D
Operaie Descriere CLR S1 S0
CLEAR
(Q
A
, Q
B
, Q
C
, Q
D
) (0,0,0,0)
0

HOLD
(Q
A
, Q
B
, Q
C
, Q
D
) (Q
A
, Q
B
, Q
C
, Q
D
)
1 0 0
SHIFT RIGHT
(Q
A
, Q
B
, Q
C
, Q
D
) (R, Q
A
, Q
B
, Q
C
)
1 0 1
SHIFT LEFT
(Q
A
, Q
B
, Q
C
, Q
D
) (Q
B
, Q
C
, Q
D
, L)
1 1 0
LOAD
(Q
A
, Q
B
, Q
C
, Q
D
) (A, B, C, D)
1 1 1
22.03.2011 Unitate de comand microprogramat
30
REALIZAREA UC
Multiplexorul de adres AM, registrul
de control CMD
AM - se folosete un multiplexor 2:1 pe 4 bii
(74157) (vezi UE)
registrul CMD - se folosesc 2 circuite cu pori logice
I cu 2 intrri (7408)
22.03.2011 Unitate de comand microprogramat
31
REALIZAREA UC
Memoria M
se folosesc 2 memorii EPROM de 2048x8 bii
(circuit integrat 2516)
A = (A
10
, , A
0
)
S 2516
PD
Q = (Q
8
, , Q
1
)
Operaie Descriere PD S
READ Q = EPROM(A) 0 0
3-STATE Q = 0 1
3-STATE POWER DOWN Q = 1

22.03.2011 Unitate de comand microprogramat
32
REALIZAREA UC
Multiplexorul de test T
multiplexorul de test T selecteaz variabilele E, A
7
i I
7
relative la microinstruciunile de test binar ale
programului
operaiile apar n detaliu n tabel, care precizeaz
starea variabilelor de comand ale multiplexorului
8:1 (74151) utilizat
prin codificarea utilizat n tabel se pune n
coresponden starea cmpului TEST a
microinstruciunii de test cu 2 dintre variabilele de
selecie, A
T
i B
T
, ale multiplexorului
22.03.2011 Unitate de comand microprogramat
33
REALIZAREA UC
Multiplexorul de test T
Operaie Descriere S
T
C
T
B
T
A
T
TEST
SELECT E T = E 0 0 0 0 00
SELECT A
7
T = A
7
0 0 0 1 01
SELECT I
7
T = I
7
0 0 1 0 10
D0
D1
D2 Y
D3
D4 W = Y
D5
D6 74151
D7
A B C S
22.03.2011 Unitate de comand microprogramat
34
REALIZAREA UC
Variabilele de comand a UC
innd cont de organigrama UC, de operaii, de
registrul i resursele alese vom defini starea
variabilelor de comand pentru execuia fiecreia
dintre operaiile UC
Operaie CLR
AR
S1
AR
S0
AR
G
AM
S
AM
A
CMD
Init MC T
OP1 1 1 1 0 0 0 0 0 1
OP2 1 1 1 0 1 0 0 0 0
OP3 1 1 1 0 0 1 0 1

OP4 0

1

22.03.2011 Unitate de comand microprogramat
35
REALIZAREA UC
Variabilele de comand a UC
valorile corespunztoare variabilei de iniializare
Init, bitului de cod MC i variabilei de test T conduc
la urmtoarele relaii logice pentru variabilele de
comand a UC:
CLR
AR
= Init
S1
AR
= S0
AR
= 1
G
AM
= 0
S
AM
= MC + T
A
CMD
= MC
22.03.2011 Unitate de comand microprogramat
36
ADAPTAREA PROGRAMULUI
adaptarea se reduce la adresare, adic la
numerotarea n hexazecimal a
microinstruciunilor plecnd de la 0
atribuind adresa 0 microinstruciunii iniiale a
programului originar i numerotnd
microinstruciunile n ordine, obinem un
program adaptat, posibil, pentru sistemul
numeric dat
22.03.2011 Unitate de comand microprogramat
37
PROGRAMAREA
Programul final
0 DO OP1 AND GOTO 1
1 IF E = 0 THEN GOTO 0
ELSE GOTO 2
2 DO OP2 AND GOTO 3
3 DO OP3 AND GOTO 4
4 DO OP6 AND GOTO 5
5 IF A
7
= 0 THEN GOTO B
ELSE GOTO 6
6 DO OP3 AND GOTO 7
7 DO OP7 AND GOTO 8
8 IF I
7
= 0 THEN GOTO 5
ELSE GOTO 9
9 IF A
7
= 0 THEN GOTO E
ELSE GOTO A
A DO OP5 AND GOTO 0
B DO OP4 AND GOTO C
C DO OP3 AND GOTO D
D DO OP8 AND GOTO 8
E DO OP4 AND GOTO 0
22.03.2011 Unitate de comand microprogramat
38
PROGRAMAREA
programul n hexazecimal al memoriei M a UC, este
scris pentru situaia n care cmpul nedefinit () al
microinstruciunii de test binar este ales egal cu 0
redactarea acestui program se realizeaz pe baza
programului adaptat al sistemului numeric, innd
cont de:
formatul microinstruciunilor
codificarea variabilelor de test
codificarea variabilelor de comand ale UE
dimensiunea programului este de 15x13 bii = 195
bii
22.03.2011 Unitate de comand microprogramat
39
PROGRAMAREA
Adres (n hexa) Coninut (n hexa)
0 1041
1 0002
2 1383
3 1404
4 1A15
5 01B6
6 1407
7 1A28
8 0259
9 01EA
A 1A00
B 190C
C 140D
D 1A38
E 1900
22.03.2011 Unitate de comand microprogramat
40
SCHEM BLOC MPRITOR
SCHEM BLOC MPRITOR
Demprit/Ct mpritor Rest
8 8 8
F
CMD
Unitate de 8 Unitate de
Comand I
7
Execuie
UC A
7
UE
Init E CLK
22.03.2011 Unitate de comand microprogramat
41
TEM
S se deseneze schema global
(interconectarea tuturor componentelor) a
unitii de comand UC cu 2 microinstruciuni
i registru de adres, pentru mprirea a 2
numere binare pozitive pe 8 bii.

S-ar putea să vă placă și