Documente Academic
Documente Profesional
Documente Cultură
Caracterizare funcţională
Automate deterministe:
|f(i, s)| = 1, |g(i, s)| = 1, ∀i ∈ I, ∀s ∈ S - au o evoluţie unică pentru o pereche (i, s) dată.
XTAL
fanioane
R + ULA UC GT
µP d a c
MD MA MC
C an-1 . . . . . . a0
● Operaţiile aritmetice: bistabilul poate indica o depăşire (engl. carry - C) la adunare sau
un împrumut la scădere.
◊ = ∨, ∧, ⊕ sau
Generatorul de tact:
- oscilator pilotat de un cristal de cuarţ (XTAL)
- formator de semnale de tact.
M1 M1
Φ1 Φ
T1 T2 T3 T1 T2 T3
t t
tCY = T
Φ2 tCY = T
Starea maşină (T) - durata de timp în care are loc cea mai simplă operaţie internă;
Ti = tCY (i = 1, 2, 3, ...).
Ciclul maşină (M) - succesiune finită de stări maşină (T1, T2, ...,Tk);
Corespunde operaţiilor fundamentale de schimb de informaţii în interiorul
microprocesorului sau între microprocesor şi exterior (memorie sau porturi I/E):
- Citire din memorie;
- Scriere în memorie;
- Citire dintr-un port de intrare;
- Scriere într-un port de ieşire.
- Operaţii interne - transfer de informaţii între registrele interne – în paralel cu alte
cicluri
Primul ciclu maşină al unei instrucţiuni - ciclul de aducere a codului instrucţiunii din
memorie (Instruction Fetch Cycle).
Durata de execuţie a unei secvenţe de program - în funcţie de durata unei stări maşină şi
de durata fiecărei instrucţiuni componente.
Sincronizare
- tact (CLK – Clock, XTAL)
- sens (DBIN – Data Bus Input, DEN – Data Enable)
- aşteptare (RDY – Ready, WAIT, TEST)
- oprire (HLT – Halt)
Controlul întreruperilor
- cerere întrerupere (INTR – Interrupt Request)
- acceptare întrerupere (INTA – Interrupt Acknowledge)
Iniţializarea microprocesorului
Iniţializare hardware – RESET - forţează unele registre interne ale microprocesorului într-o
stare bine definită.
Vcc
Resetarea – la alimentare şi la
cerere. D
RESET R
µP
Grupul RC - durata necesară
pentru semnalul RESET.
RESET
Triggerul Schmitt – formează C
frontul semnalului de resetare. trigger
Schmitt
Adresa este conţinută într-un registru numit numărător (contor) de program - PC (Program
Counter) sau IP (Instruction Pointer).
În acelaşi timp UC generează semnale de comandă în interior, spre R+ULA sau în exterior,
pe MC.
Φ
µP Logica
de MEM
WAIT
Ti: µP MEMR
→ MEM, LA aşteptare
R
RESET SEL
LA WAIT
→ µP → starea
WAIT Logica
de decodificare MEMR
şi selecţie
.......... .............
WAIT MA
Ti + kTW : LA → µP
MD
R ← (MD)
MC
Dacă solicitarea este acceptată, UCP îşi suspendă activitatea, permiţând noului coordonator
să controleze resursele sistemului.
În momentul în care controlerul şi-a încheiat activitatea pentru care a solicitat MS,
microprocesorul îşi reia funcţionarea în regim normal din punctul în care a suspendat-o.
Regimul de întreruperi
Tratarea prioritară a unor solicitări externe prin întreruperea temporară a rulării normale a
programului principal şi execuţia unei rutine asociate solicitantului de întrerupere.
Tipuri de întreruperi:
Întreruperi nemascabile (NMI- Non Maskable Interrupt):
Translatarea codului sursă scris în limbaj de asamblare – manual sau automat (asamblor)
Cross-asamblor – asambloare care se execută pe alt tip de microprocesor decât cel pentru
care se generează codul executabil.
Instrucţiuni în limbaj de asamblare:
Executabile – pentru microprocesor
Neexecutabile (pseudoinstructiuni sau directive de asamblare) – pentru asamblor
cod obiect absolut - cu adrese definitive pentru instrucţiuni şi date – un singur modul
cod obiect relocabil - cu adrese temporare – mai multe module sursă
Modularizarea programelor - formate din mai multe module sau fişiere sursă, scrise în
limbaj de asamblare sau de nivel mai înalt.
Editarea legăturilor – legarea modulele obiect relocabile într-un singur fişier executabil, cu
adrese fixe.
DC – delimitatori de câmp: spaţiu ( ), virgulă (,), două puncte (:), punct şi virgulă (;) etc.
Instrucţiunile
– formate din unul sau mai multe cuvinte binare
– cuvintele sunt amplasate în locaţii succesive, în sensul crescător al adreselor
– cuvintele sunt grupate în câmpuri, având semnificaţii distincte.
Tipuri de câmpuri:
Unul sau mai multe câmpuri de date sau adrese ale operanzilor (literal)
Modul de adresare:
- procedura prin care microprocesorul are acces la operanzi
- un tip de instrucţiune poate folosi unul sau mai multe moduri de adresare
- măsură a capabilităţii şi flexibilităţii unui microprocesor
Moduri de adresare (exemple): Registru Memoria
Index
- Implicită – operandul este într-un
registru implicit (de exemplu
acumulatorul);
Indexată + Data
Numărător de
- La registru – operandul este în unul din program
Instrucţiunea
registrele microprocesorului; următoare
Editare legături
Etapele realizării unui program
MA a
Adresa d
UCP
cu MD d 0 cuvânt 1
µP 1
MEMR MEMW cuvânt 2
MC c : :
: :
i-1 cuvânt i
: :
Logică de :
decodificare şi MEMP
M MEMD :
: :
selecţie MEM MEM a
2 -1 cuvânt 2a
a
Spaţiul de adresare a memoriei: A = 2 locaţii
Adresarea memoriei:
fT : A → M
2.2.1. Tipuri de memorie utilizate în sistemele cu microprocesoare
- paralel
- serial
2.2.2. Transferul de informaţie între memorie şi microprocesor
Scrierea datelor în memorie
n
- n linii de Linii adresă An ÷ A1 A1
adrese DISP.
- m linii de Linii date Dm ÷ D1 An
date D1 MEM.
tDS tDH
- o linie de Linie comandă Dm
comandă a MEMW m
scrierii - WR tWACC TWP t
(Write) MEMW
Fig.2.10. Succesiunea semnalelor la scrierea într-un dispozitiv de memorie
a) pregătirea memoriei
MA ← α - se aplică adresa pe liniile An÷A1;
MD ← (R) - se aplică datele pe liniile Dm÷D1;
b) înscrierea informaţiei
MC ← MEMW - după tDS (Data Set), se activează MEMW , pe durata TWP (Write Pulse);
MEM(α) ← (MD) - după dezactivarea MEMW , datele se menţin un timp tDH (Data Hold)
Timp de acces la scriere - tWACC (Write ACCess time) - intervalul dintre aplicarea adresei şi
activarea semnalului de scriere.
n
Linii adresă An ÷ A1 A1
DISP.
Linii date Dm ÷ D1 An
D1 MEM.
Linie comandă Dm
RD m
tRACC t
RD
Fig.2.11. Succesiunea semnalelor la citirea dintr-un dispozitiv de memorie
a) pregătirea memoriei
MA ← α - se depune adresa pe liniile An÷A1;
MC ← MEMR - se comandă citirea datei (pe linia RD ), după un timp tRACC
b) citirea propriu-zisă
MD ← MEM (α) - memoria depune data pe liniile Dm÷D1
R ← (MD) – microprocesorul reţine data de pe MD.
Cerinţe specifice:
• Respectarea timpului de acces
• d = LCMEM (când d > LCMEM, se conectează mai multe dispozitive în paralel)
• Numărul de dispozitive care să acopere capacitatea cerută pentru MEMP şi MEMD;
• Selecţia dispozitivelor de memorie.
Exemplul 1. MEMD = 4K×8 biţi (d = 8), folosind dispozitive SRAM 1K×4 biţi (LCMEM = 4).
o d = 2 × LCMEM – câte două dispozitive, selectate simultan şi pentru fiecare 1Ko.
o 4 grupuri (bancuri) de 1Ko fiecare, deci în total 8 dispozitive de 1K×4 biţi.
D7 Magis-
trala 8 biţi
de
date 4 4
D0
1 Ko GRUP 0 CS0
Linie 1 Ko GRUP 1 CS1
selecţie 1 Ko GRUP 2 CS2
D3 D2 D1 D0 D3 D2 D1 D0
1K×4 grup 1 Ko GRUP 3 CS3
1K×4
de 1Ko
R/W CS R/W CS
MEMW
1 Koctet
Fig.2.12. Realizarea unei memorii de 4Ko cu dispozitive de 1K×4 biţi
Selectarea dispozitivelor de memorie:
- selecţia liniară:
o fiecărui circuit de memorie sau grup de circuite → o linie de adresă;
o avantajoasă la realizarea sistemelor cu puţine dispozitive de memorie;
o măsuri suplimentare de precauţie la adresarea memoriei în cadrul aplicaţiei.
- selecţia cu decodificare
o se foloseşte o logică de decodificare/demultiplexare;
o folosire mai judicioasă a spaţiului de adresare ;
o preferată în cazul sistemelor cu mai multe circuite de memorie;
o exclude posibilitatea apariţiei unor conflicte de acces la memorie.
1. Dimensiunea MEMP (MEMD) – numărul cel mai mic de circuite ROM (RAM) cu tACC ≤ tCY.
2. Harta memoriei – spaţiul de adresare - spaţiul ocupat de fiecare circuit sau grup.
- Adresa primei instrucţiuni executate după resetarea µP – amplasare MEMP.
2. Harta memoriei
ADRESA 8 biţi
Adresa de start după resetarea µP = 0
(valoarea iniţială a numărătorului de program) 0000h EPROM 1
EPROM1: 4 Ko = 4 × 210 octeţi = (4Ko)
12
0FFFh
=2 combinaţii de adresă ⇒ 12 linii de adresă 1000h EPROM 2
(4Ko) MEMP
Adresa primei locaţii = 0000 0000 0000 b = 000h 1FFFh
(combinaţia cu 12 biţi de 0) 2000h EPROM 3
Adresa ultimei locaţii = 1111 1111 1111 b = FFFh (4Ko)
2FFFh
(combinaţia cu 12 biţi de 1) 3000h
37FFh SRAM (2Ko) MEMD
EPROM 2: începe la FFFh + 1 = 1000h 3800h SPAŢIU
LIBER
Adresa ultimei locaţii = 1000h + FFFh = 1FFFh.
CSEPROM1 CSSRAM
CSEPROM2 CSEPROM3
D7 ÷ D0 MD
CS CS CS CS
EPROM EPROM EPROM SRAM
1 2 3
OE OE OE R/W
MEMR
MEMW
A12
A12µP
MA
D Q
CBB
CTRL T S
R +VCC
Adresa d
MA a
UCP 0
cu MD d 1
µP : :
IOR IOW
MC c : :
i
: :
:
:
Logică de : :
decodificare PI PE p
2 -1
şi selecţie I/E
Dispozitive de I/E
Fig.2.17. Spaţiul de
adresare a dispozi-
tivelor de I/E
Locaţii prin care se poate realiza un schimb de informaţie între µP şi dispozitivele de I/E.
p
- p linii de Linii adresă Ap ÷ A1 A1
adrese Spaţiu de
- m linii de Linii date Dm ÷ D1 Ap adresare
date D1 porturi
tDS tDH
Linie comandă de I/E
- o linie de Dm
comandă a I/OW m
scrierii - I/OW tWACC TWP t
(Write) WR
Fig.2.18. Succesiunea semnalelor la scrierea într-un port de ieşire
a) pregătirea portului
MA ← β - se aplică adresa pe liniile Ap÷A1;
MD ← (R) - se aplică datele pe liniile Dm÷D1;
b) înscrierea informaţiei
MC ← I/OW - după tDS (Data Set), se activează I/OW , pe durata TWP (Write Pulse);
PE(β) ← (MD) - după dezactivarea I/OW , datele se menţin un timp tDH (Data Hold).
p
Linii adresă Ap ÷ A1 A1
Spaţiu de
Linii date Dm ÷ D1 Ap adresare
D1 porturi
Linie comandă de I/E
Dm
I/OR m
tRACC t
RD
Fig.2.19. Succesiunea semnalelor la citirea dintr-un port de intrare
a) pregătirea portului
MA ← γ - se depune adresa pe liniile Ap÷A1;
MC ← I/OR - se comandă citirea datei, după un timp tRACC
b) citirea propriu-zisă
MD ← MEM (γ) – portul de intrare depune data pe liniile Dm÷D1
R ← (MD) – microprocesorul reţine data de pe MD.
MA a
UCP
cu MD d
µP IOR IOW
MC c
Setare
CBB
S
Logică de D Q
decodificare CBB
şi selecţie I/E
Scriere CBB
T Q
Citire CBB R
Resetare CBB
MD – MoDe; STB – STroBe; DS1 şi DS2 – Device Select (DS1· DS2=1 ⇔ ambele linii active)
INT - cerere de întrerupere – dacă DS1=0 şi DS2 = 1 (dispozitiv selectat), la apariţia unui
front descrescător pe intrarea STB.
Conectarea ca port de intrare:
- Liniile DO - în stare de înaltă impedanţă atât timp cât nu este selectat (HZ).
- La selecţie - să permită trecerea datei prezente pe liniile DI către liniile DO (DATA IN);
8255 80 ÷ BFh 1 0 × × × × × ×
3Fh 8212-IN
40h 8212-OUT
41h 8212-OUT
8212-OUT
7Fh 8212-OUT
80h 8255 - port A
81h 8255 – port B
82h 8255 – port C
83h 8255 – port ctrl.
84h
8255
BFh
C0h
SPAŢIU
LIBER
FFh
A15 ÷ A0 A7 A6 A1 A0
UCP
cu DCD I/E
µP
0 1 2 3
D7 ÷ D0
I/OW
I/OR
VCC
MICRO-
PROCESOR INTEROGARE
RAM
µP
MD
BRQ BACK
Transferul are loc pe magistrala de date, direct între memorie şi dispozitivul I/E.
Tehnica DMA asigură cea mai ridicată rată de transfer I/E.