Documente Academic
Documente Profesional
Documente Cultură
ARGUMENT………………………………………….. 1
CAPITOLUL I.................................................................... 2
PREZENTARE GENERALA
CAPITOLUL II…………………………………………. 3
ARHITECTURA PROCESORULUI
BIBLIOGRAFIE …………………………………… 18
ANEXA ………………………………………………. 19
0
ARGUMENT
1
· memoriei interne;
· dispozitivelor rapide (HD, FD, CD);
· dispozitivelor auxiliare ( diverse dispozitive I/O).
CAPITOLUL I
PREZENTARE GENERALA
2
CAPITOLUL II
ARHITECTURA PROCESORULUI
Fig. 3
Un registru apartinind grupului H&L se caracterizeaza prin faptul ca poate fi
adresat ca registru de 16 biti, dar se compune din doua entitati de 8 biti, partea high si partea low,
care pot fi adresate la rindul lor separat, ca registre de 8 biti. Registrele pointer si index nu pot fi
adresate decat ca registre de 16 biti. Atat registrele de date cat si registrele pointer si index pot fi
folosite in majoritatea operatiilor aritmetice si logice, oricare dintre ele putand juca rolul
registrului "acumulator" existent la generatiile precedente de microprocesoare. Pentru a permite
utilizarea unui set compact, dar puternic de instructiuni, anumite registre sunt folosite in mod
implicit de unele instructiuni, asa cum arata tabelul 1.
5
Tabelul 1. Utilizarea implicita a registrelor de uz general
CAPITOLUL III
ORGANIZAREA MEMORIEI
6
Conform conventiilor INTEL, o variabila de tip word este intotdeauna memorata
cu octetul cel mai semnificativ in locatia de memorie cu adresa superioara. Aceasta regula se
extinde si la memorarea variabilelor de tip pointer (variabile pe un cuvint dublu folosite pentru a
adresa date in afara segmentului de date sau de program ce este adresabil in mod curent la
momentul respectiv): cuvantul ce contine ofsetul se memoreaza la cele doua adrese inferioare,
cuvantul ce contine adresa de baza a segmentului se memoreaza la cele doua adrese superioare la
care este stocat pointerul, iar in cadrul fiecarui cuvant, octetul cel mai semnificativ este la randul
lui memorat la adresa superioara (vezi figura 5).
7
Fig. 7. Segmentele adresabile in mod curent
Se poate imagina ca fiecare locatie de memorie are doua feluri de adresa: fizica si
logica. Adresa fizica este acea valoare pe 20 de biti care identifica in mod unic fiecare octet din
spatiul de memorie de 1Mo. Ea este cuprinsa intre 0H si FFFFFH si exista pe liniile magistralei
multiplexate la inceputul fiecarui ciclu de scriere sau citire in/din memorie.
Programatorul opereaza insa mai mult cu adresa logica decat cea fizica, ceea ce
permite scrierea unui program fara a cunoaste dinainte locul unde codul acestuia va fi incarcat in
memorie si faciliteaza controlul dinamic al resurselor de memorie. O adresa logica consta dintr-o
valoare de baza a segmentului si o valoare de ofset, ambele fiind marimi fara semn reprezentate
pe 16 biti. Pentru orice locatie de memorie, valoarea de baza a segmentului indica primul octet
continut in segment (inceputul segmentului) iar valoarea de ofset reprezinta distanta in octeti de
la acest inceput pana la locatia respectiva.
Primul octet (cel mai de jos) apartinand unui segment are deci ofsetul egal cu
zero. Avand in vedere conceptul de segment logic, rezulta ca o locatie fizica de memorie poate
avea o multime de adrese logice. Acest fapt este ilustrat in figura 8 in care locatia de memorie
fizica 2C3H este continuta in doua segmente logice suprapuse partial, unul incepand la 2B0H iar
altul la 2C0H.
9
Fig. 9. Relocatarea dinamica a programelor
Un sistem poate avea un numar nelimitat de stive a cite cel mult 64 ko fiecare, dar una
singura este direct adresabila la un moment dat: aceasta este stiva curenta, sau pur si simplu
"stiva". SP contine ofsetul varfului stivei (TOS — top of stack) fata de adresa de baza indicata de
registrul SS. Cum elementele stivei sunt cuvinte de 16 biti, instructiunile care opereaza cu stiva
cauzeaza decrementarea (pentru PUSH) respectiv incrementarea (pentru POP) cu 2 a registrului
indicator de stiva SP (vezi figura 10). Cu alte cuvinte, stiva creste in jos in memorie, catre
adresa de baza a segmentului de stiva.
O constrangere ce se aplica tuturor segmentelor de memorie, nu numai stivei, este cauzata
de existenta unor locatii de memorie dedicate sau rezervate. Aceste locatii, prezentate in
figura.11, sunt: 0H-7FH (128 octeti) si FFFF0H-FFFFFH (16 octeti). Ele sunt folosite pentru
intreruperi si pentru pornirea sistemului dupa reset, putand fi si rezervate de firma pentru
dezvoltari ulterioare, iar utilizarea lor de catre programator trebuie sa se faca respectind scopul
pentru care au fost definite ca "locatii speciale".
10
Fig.11. Spatiul de memorie si I/E cu precizarea "locatiilor speciale"
CAPITOLUL IV
SPECIFICATII HARDWARE
11
Tabelul 3. Functiile si tipul semnalelor microprocesorului 8086
12
memorie sau port — accepta data de pe magistrala pe durata ciclului de scriere sau plaseaza data
ceruta pe magistrala in timpul ciclului de citire.
La terminarea ciclului, echipamentul respectiv memoreaza data care a fost scrisa
(uzual prin intermediul unor circuite de tip latch pe intrare), sau indeparteaza de pe magistrala
data citita de microprocessor (trecandu-si circuitele tampon de iesire pe magistrala in stare de
inalta impedanta. Asa cum se arata in figura 13, toate ciclurile de magistrala constau din cel putin
patru perioade de ceas sau T-states identificate ca T1, T2, T3 si T4. CPU plaseaza pe magistrala
adresa locatiei de memorie sau portului cu care doreste sa efectueze un transfer pe durata starii
T1. In cazul unui ciclu de scriere, data este plasata pe magistrala de CPU din starea T2 pana in
starea T4. In cazul unui ciclu de citire, CPU accepta data prezenta pe magistrala pe perioada
starilor T3 si T4, iar magistrala multiplexata de adrese/date este in stare flotanta in T2 pentru a
permite CPU sa faca trecerea din modul de scriere (iesirea adreselor) in modul de citire (intrarea
datelor).
Pentru a evita acest lucru, driver-ele de iesire ale echipamentului nu trebuie sa fie
activate de semnalul de selectie de circuit — Chip Select — ci de un semnal de activare a iesirii
— Output Enable — care sa fie activ dupa trecerea lui T1 si sa semnifice necesitatea citirii datei
pe magistrala, adica semnalul de control citire — Read. Multe circuite de memorie sau port
dispun de o intrare de tip OE , astfel incat se pot conecta direct pe magistrala de date multiplexata
ca in figura 15. (daca circuitul nu dispune de o astfel de intrare, atunci semnalul de selectie de
circuit — CS — va trebui generat doar in prezenta unui semnal active de citire sau scriere date pe
magistrala).
Atat datorita simplitatii modului de interfatare a circuitelor pe magistrala cat si
necesitatii unui fan-out corespunzator, uzual se utilizeaza magistrala de date buferata prin
intermediul unor circuite tampon bidirectionale (exemplu, transceiver-ele pe 8 biti 8286 —
14
neinversoare sau 8287 — inversoare). Specializate pentru acest mod de utilizare, circuitele
tampon respective sunt comandate de doua semnale de control ale CPU : DEN — semnifica
intervalul de timp cand se efectueaza un transfer de date pe magistrala, cu alte cuvinte este un
semnal de activare a magistralei de date, respectiv DT / R — semnal ce controleaza sensul
transferului datei (1=scriere, 0=citire). In acest mod se obtine si magistrala de date a sistemului
(figura 16).
15
Fig. 16. Tehnici pentru selectia porturilor de I/E
16
In ceea ce priveste porturile pe 16 biti (sau, mai general, porturile pe mai mult de
8 biti: 10, 12 sau 16), este evident ca, din motive de eficienta a utilizarii magistralei si de
simplitate a selectiei echipamentelor, ele trebuie situate la adrese pare. Pentru a garanta ca portul
este utilizat doar pentru transferuri de date de tip word, A0 si BHE trebuie sa conditioneze
generarea de semnale de selectie de circuit, o posibila implementare a obtinerii semnalelor de
selectie fiind ilustrata in figura 24.
BIBLIOGRAFIE
18