lab_ac6
DESCRIPTION
Automatica si CalculatoareTRANSCRIPT
-
Principii de microprogramare automatelor secventiale Actiunile necesare pentru implementarea functionala se numesc microoperatii (deplasari, resetari, transferuri). Acestea pot fi codificate cu un numar adecvat de biti. De asemenea se pot codifica si intrarile de control n EFA, precum si iesirile de conditii din EFA. Deci, n fiecare secventa trebuie sa precizam microoperatia executata asupra carui element din schema se actioneaza sau ce conditii se testeaza. Ansamblul codurilor necesare este o microinstructie, plasata n memorie la o adresa data. n sinteza automatelor microprogramate se utilizeaza cel putin doua tipuri de instructiuni: - instructiune de comanda, concretizata printr-un impuls aplicat la
intrarea unui element dat (resetare, incrementare, transfer). Din punct de vedere al programarii se continua cu instructiunea avnd adresa imediat urmatoare
- instructiune de salt, la alta adresa daca o conditie particulara este realizata. n acest caz de conditie falsa se continua cu instructiunea urmatoare. Obs. La secventiatoarele cablate, putem cuprinde ntr-o secventa, att
o actiune, ct si o testare a unei conditii. La secventiatoarele microprogramate vom considera n cadrul unei secvente numai o actiune, sau numai o testare de conditii.
DISTRIBUITOR DE Ceas-uri
CALCUL COND. SALT
CALCUL COND.
NUMARARE
CALCUL COND. OPRIRE
CALCUL COND.
PORNIRE
SECVENTIATOR MICROPROGRAMAT
ncarcare Incrementare Stop Start Clk
REGISTRU ADRESE
h2
ADRESA ROM (RAM)
CALCUL ACTIUNI EFA
ACTIUNI EFA CONDITII
-
Plecndu-se dintr-o stare initiala automatul fiind oprit prin resetare manuala sau automata la o valoare START este incrementata adresa continuta in regiunea de adrese, astfel ca, la iesirea memoriei este prezenta urmatoarea instructiune. Clock-ul h1 determina calculul actiunilor pentru EFA care se executa pe durata unei secvente .
Se stabileste functie de tipul instructiunii in curs de executie ce adresa urmeaza: respectiv adresa urmatoare pentru o instructiune de comanda sau de salt cu conditie falsa, respectiv adresa indicata ntr-un cmp special de adresa pentru instructiunea de salt cu conditie adevarata. Noua adresa este validata n regim de adrese, de catre clock-ul h2. Implementarea instructiunilor de comanda Codul instructiunilor sau cmpul (1) este pe un bit materializnd prin variabila TIS, respectiv tip al instructiunii. Pentru instructiunea de comanda TIS =0. Cmpul Ei codifica o iesire de comanda (pentru ncarcarea unui registru, incrementare). Cmpul Fi precizeaza eventual o intrare de date a unui circuit secvential sau combinational.
De exemplu, un CBB care primeste un impuls de clock conform
codului Ei, poate primi valorile intrarilor de date din cmpul Fi.
REG. ADRESA MEMORIE
CODUL INSTR
(1)
Ei (2)
Fi (3)
DECODOR INSTR
DECODOR (Ei)
h2 TIS
TIS TIS
h1
CS
REG. INSTR
E0 E1 .E7
DATA
Clk K
-
Implementarea instructiunilor de salt conditionat Codul instructiunilor de un bit, notat TIS si pentru conditiile de salt
TIS=1. Cmpul Ci reprezinta codul conditiei care poate provoca saltul, iar
cmpul A reprezinta adresa la care se gaseste urmatoarea instructiune de executat, daca conditia Ci este satisfacuta.
Cu referire la acelasi prim exemplu de automat realizam implementarea secventiatorului, ca secventiator microprogramat.
Codificarea tipului de instructiuni se va face pe 1 bit, notat TIS, avnd valorile 0 pentru instructiunile de comanda si 1 pentru instructiunile de salt.
Cmpurile Ei de codificare a actiunilor secventiatorului respectiv Ci, de codificare a conditiilor vor avea alocate 3 biti, respectiv:
ACTIUNE COD SEMNAL
( )
( )RPRP
CDEC
RPLOAD
PRES
1
1
1
100011010001000
4
3
2
1
0
a
a
a
a
a
REG. ADRESA LOAD
MEMORIE
CODUL INSTR
(1)
Ci (2)
A (3)
DECODOR INSTR
h2 TIS
TIS TIS
h2
COND. SALT
REG. INSTR
.
MUX
ci
ci ci
-
CONDITIE Cod
( )( )START
0C0R
NECOND
M
==
011010001000
( )( )
END,NECOND,1ST,START,1:END
RPP,a,0:2A
1A,NECOND,1Cluireadecrementa,a,0
RPMP,a,0
0Cdaca,2Alasalt2A,0C,1:1A0Mdaca,2Alasalt2A0RM,1
CsiRMincarcare,a,0
RPresetare,a,0
ST,START,1:ST
4
3
112
1
10
+
====
Explicitarea continutului memoriei
Valorile indiferente sunt dese zero, echivalent cu starea neprogramata
a bitilor de memorie utilizati. ETICHETA ADRESA BINAR HEXA ST 0000
0001 0010 0011
10110000 00000000 00010000 10011000
B0 00 10 98
A1 0100 0101 0110 0111
10101000 00100000 00110000 10000100
A8 20 30 84
A2 1000 1010
10110000 10001001
B0 89
-
Tema :Implementati microprogramat automatele discutate la cursul anterior Se lucreaza direct pe schema logica
CPD Q0 Q1 Q2 Q3 MR 4193 CPU D3 D2 D1 D0
A4 A3 A2 A1 A0 74188 D7 D6 D5 D4 D3 D2 D1 D0
495
S
h1 CK2
VCC
VCC
D C B A 442
I0 I1 I2 I3 442
VCC ZM ZC START
S
Ci Ci
a4
a1
a0
h1 TIS
TIS TIS
Ci D
CK
h2
Q
VCC
Ci TIS
-
RM .
LOAD RM
qn-1 q1 q0 ZM .
A2n-1 An An-1 A1 A0
21 1 0 .. RP1
RP
DISPLAY
DATA