Documente Academic
Documente Profesional
Documente Cultură
1.1.Evolutia microprocesoarelor: primul microprocesor (4004 Intel) a aparut in anul 1971fiind urmat in 1972 de
PSS4,processor pe 4 biti; 8008 Intel, processor pe 8 biti; si IMP16 procesor pe 16 biti. Perioada 1973-1977 este specifica
microprocesoarelor cu lungimea cuvintului de date de 8 biti, cu adresele formulate pe 16 biti. La inceputul anilor '80
lungimea cuvintului de date s-a extins la 16 biti si capacitatea maxima de memorie direct adresabila pina la 16 Mocteti.
Urmatorul pas in evolutia microprocesoarelor a constat in proiectarea unei arhitecturi bazate pe trei unitati majore: unitatea
centrala de prelucrare (CPU), unitatea de virgula mobila (FPU-Floating Point Unit) si unitatea de gestiune a memoriei (MMUMemory Management Unit).
1.2.Clasificarea: n functie de numarul de biti transferati simultan pe magistrala de date, microprocesoarele pot fi clasificate
astfel: microprocesoare pe 8 biti (Z80, 8080); microprocesoare pe 16 biti (8086, 8088, 80286) cu coprocesoarele
corespunzatoare (8087, 80287); familii de procesoare pe 32 biti (80386DX, 80486, PENTIUM) cu coprocesoarele
corespunzatoare (ncepnd de la 486, coprocesoare sunt ncorporate microprocesoarelor).
AB
DB
CB
CPU
ROM
RAM
I/O
O c t e t u l in f e r io r
O c t e t u l s u p e r io r
S t iv a
S c r ie r e a
o c t e t u lu i
s u p e r io r
A -1
(sp )
S t iv a
A -1
A
S c r ie r e a
o c t e t u lu i
in f e r io r
A -2
(sp )
C it ir e a
o c t e t u lu i
in f e r io r
A
A + 1
S t iv a
C it ir e a
o c t e t u lu i
s u p e r io r
A + 1
(sp )
A -2
A -1
A
a)
O c t e t u l s u p e r io r
O c t e t u l in f e r io r
S t iv a
S t iv a
S t iv a
A
A + 1
A + 2
b)
. Intel 8080 are 2 tipuri de instruciuni, mnemonicele PUSH i POP, care asigur salvarea i respectiv
refacearea registrelor pereche PSW (acumulatorul i indicatorul de poziii), B,D, i H n/din stiv.
Adresa vrfului stivei se afl n SP; aceasta se decrementeaz, incrementeaz automat la fiecare astfel
de transfer. Adresarea stivei se execut sub forma de adresare indirect a unei locaii de memorie prin
folosirea registrului indicator al vrfului stivei, SP.
8. Programarea cu subrutine. Apelul unei subrutine dintr-un program. Mecanismul de utilizare
a stivei la apelul unei subrutine. Modul de execuie a instruciunilor CALL i RET.
Subrutina este o secven de program care poate fi apelat ori de cte ori este nevoie, dar pentru care
se aloc memorie numai o singur dat Pentru ca o succesiune de instruciuni s constituie o subrutin,
este suficient ca acesta s aib un nume, reprezentat de o etichet a unei instruciuni din secven . n
plus, execuia subrutinei trebuie s se termine cu o instruciune de revenire, de tipul RET (sau Rcc),
care nu ntotdeauna este ultima din secven. O alt particularitate este acea c pot s existe mai multe
puncte de intrare ntr-o subrutin, fiecare marcat de o etichet, tot aa cum pot s existe mai multe
puncte de ieire din subrutin, fiecare printr-o alt instruciune de revenire. Programul principal trebuie
sa conin, n punctele care este nacesar apelarea subrutinei, o instruciune de ramificare de tip CALL
(sau Ccc), al crei operand trebuie s fie numele subrutinei. n general, la utilizarea subrutinelor apar
urmtoarele probleme:- realizarea legturii dintre programul apelant i subrutin, cu asigurarea
revenirei din subrutin; - folosirea registrelor interne de ctre cele dou uniti de program; - transferul
de date ntre programul apelant i subrutin
care lucreaz sincron i independent una fa de cealalt: unitatea de execuie (execut instruciunile),
unitatea de interfaare cu magistrala (BIU) cu rolul de a aduce instruciunile din memorie i de a
transfera operanzii intre unitatea de execuie i exteriorul microprocesorului.
n I8086 sa ales o structur neregulat de registre majoritatea lor avnd un rol bine determinat. Se
mpart n categorii:
registrele de date;
registre de segment;
registru indicator de adres;
registrele de stare;
Registrele generale sunt AX, DX, CX, BX, SI, DI, SP, BP. Registrele de date AX, DX, CX, BX, sunt
pe 16 bii pot fi folosite ca 2 registre cte 8 bii, superioare (H) i cel inferior (L). AX(AH, AL)
registru acumulator; BX (BH, BL) registru de baz; CX (CH, CL) contor; DX (DH, DL) de date.
Oricare dintre ele pot fi folosite n operaiile aritmetice i logice.
10. Regimul de ntreruperi n sisteme cu microprocesor pe 16 bii. Sistemul de ntreruperi la
microprocesorul Intel 8086. Acceptarea unei cereri de ntrerupere externe.
ntreruperile permit abandonarea momentan de ctre microprocesor a execuiei unui program i
nceperea execuiei unui alt program situat oriunde n spaiul de memorie direct adresabil.
n cazul microprocesorului 8086 ntreruperile pot fi generate fie datorit unor cauze externe
microprocesorului, fie datorita unor cauze interne. Ca urmare ele se mpart n dou mari categorii:
ntreruperi externe i interne.
Microprocesorul 8086 poate trata 256 tipuri de ntreruperi, fiecruia fiindu-i asociat un cod care-l
identific. Legtura ntre diferitele tipuri de ntrerupere i procedurile care le deservesc se face prin
intermediul unei tabele de vectori de ntrerupere situat n domeniul 00000H 003FFH
ntreruperile externe
Acestea sunt iniiate prin intermediul celor dou intrri dedicate ale microprocesorului, INTR i NMI.
O cerere pe linia NMI genereaz o ntrerupere nemascabil i este predefinit de tipul 2, adic
microprocesorul execut accesul la vectorul 2 fr alte informaii suplimentare.
ntreruperile interne
ntreruperile interne constituie o alt clas de ntreruperi. Diferena fa de cele externe const n aceea
c sursa de ntrerupere nu eeste un eveniment extern ci cererea de ntrerupere apare ca urmare a
execuiei unei instruciuni tipice sau ca urmare a producerii unui eveniment intern.
Ele se mpart n dou categorii:
ntreruperi generate de instruciunea INT nn
ntreruperi predefinite.
11. ntreruperi nemascabile. Mecanismul de tratare a ntreruperilor interne. Tabela vectorilor de
ntreruperi.
ntreruperile interne constituie o alt clas de ntreruperi. Diferena fa de cele externe const
n aceea c sursa de ntrerupere nu eeste un eveniment extern ci cererea de ntrerupere apare ca urmare
a execuiei unei instruciuni tipice sau ca urmare a producerii unui eveniment intern.
Ele se mpart n dou categorii:
- ntreruperi generate de instruciunea INT nn
- ntreruperi predefinite.
Instruciunea INT nn ocup doi octei n memorie, codul instruciunii i tipul ntreruperii i
realizeaz legtura cu vectorul nn din tabela de vectori de ntrerupere. Deci are acelai efect ca o
ntrerupere extern de tip nn doar c nu este mascabil i microprocesorul nu execut o secven de
acceptare a ei, deci nu se vor genera semnale /INTA.
Subrutinele pentru tratarea acestor ntreruperi pot fi folosite pentru emulare, pentru testare, etc.
ntreruperile predefinite sunt generate de nsui microprocesorul, n mod automat, la detectarea
apariiei unor anumite evenimente interne. Aceste ntreruperi sunt nemascabile iar pentru luarea lor n
considerare microprocesorul execut aceleai operaii ca n cazul instruciunilor INT .
ntreruperile predefinite apar n urma detectrii urmtoarelor evenimente:
- mprire la zero
ntreruperea este generat n urma execuiei instruciunilor de mprire, dac citul este mai
mare, dect valoarea maxim admis.
- pas cu pas
Este utilizatpentru fixarea unor puncte de ntrerupere n timpul execuiei unui program n
scopul testrii, depanrii li punerii la punct. Are avantajul de a ocupa un singur octet n memorie.
- depirea
ntreruperea este generat n urma apariiei depirii capacitii registrelor, oricare ar fi operaia
aritmetic ce se execut, deci dac indicatorul OF = 1 logic. Dar ntreruperea nu se genereaz
automat ci numai dac microprocesorul execut o instruciune INTO, care, n general, trebuie s
urmeze unei instruciuni aritmetice cu operanzi cu semn.
Titulari disciplin:
Conf. univ., Dr. Sergiu Zaporojan
Lector superior Igor Calmcov