Sisteme de lucru cu microprocesorul

Previzualizare laborator:

Extras din laborator:

Microprocesorul este o unitate centrala de prelucrare (UCP) realizata intr-un singur circuit integrat. Un sistem digital de prelucrare realizat cu ajutorul unui microprocesor este numit microcalculator. Microcalculatorul are trei functii principale: prelucrarea informatiilor in UCP, stocarea informatiilor in memorie si transferul informatiilor in interior si cu mediul exterior.

Prin intermediul unor interfete, numite porturi de intrare/iesire (IO), microcalculatorul transfera informatii cu elementele mediului exterior, numite echipamentele periferice. Echipamente periferice sunt: tastatura, monitor, imprimanta, disc hard, discheta, cititor de CD-ROM, etc.

Microprocesorul Intel 8086 este o unitate centrala de prelucrare care este formata din 2 componente:

1. Unitatea de executie (UE) decodifica instructiunile numerice, da comenzi interne pentru efectuarea calculelor si comenzi externe catre cea de-a doua unitate. UE contine 8 locatii de memorie interna numite registre de uz general. Registrele ofera o capacitate de memorare mica dar si un acces (citire sau scriere) foarte rapid.

Pentru a stoca o cantitate mai mare de date (codurile numerice ale instructiunilor si variabilele programelor) este necesara conectarea microprocesorului cu o memorie de capacitate mare, numita memorie principala (MP). Desigur ca accesul la MP este mult mai lent.

2. Unitatea de interfata cu bus-urile (UI) calculeaza adresele MP si IO, transfera datele intre UE si MP sau intre UE si I/O, si transfera catre UE codurile numerice ale instructiunilor citite din MP.

Pentru a identifica in mod unic fiecare dintre locatiile MP si IO, este necesara asocierea unor referinte numerice numite adrese. De aceea UI este responsabila cu generarea adreselor catre MP.

Microprocesorul Intel 8086 lucreaza cu date de 16 biti, numite cuvinte de date. Transferurile intre UE si UI sau intre microprocesor si MP sau IO se fac in general sub forma de cuvinte de date de 16 biti. De aceea bus-ul intern prin care comunica UE si UI al microprocesorului Intel 8086 este de 16 biti.

Pentru compatibilitate cu microprocesoarele care lucrau cu date de 8 biti, si Intel 8086 poate transfera valori sub forma unor octeti (date de 8 biti). De aceea locatiile MP si ale IO sunt octeti.

Microprocesorul Intel 8086 poate lucra cu maximum 1 M octeti de MP, adica poate genera cel mult 1 M de adrese distincte. Deoarece 1M = 216 , inseamna ca adresele la microprocesorul Intel 8086 sunt reprezentabile cu 20 de biti.

In figura 1 este prezentata schema bloc a unui sistem cu microprocesor I8086.

Microprocesorul Intel 8086 comunica cu exteriorul (MP si IO) prin 3 bus-uri sau magistrale:

- bus-ul de date (BD), care are 16 biti;

- bus-ul de adrese (BA), care are 20 biti;

- bus-ul de comenzi (BC).

Fig.1. Schema bloc a unui sistem cu microprocesor I8086.

1.1.1 Arhitectura microprocesorului Intel 8086

Structura microprocesorului Intel 8086 este de tip "pipe-line" (prezinta paralelism temporal) permitand efectuarea in acelasi timp a doua operatii diferite de catre cele doua unitati diferite ale sale - UE decodifica instructiunile si efectueaza calculele, in timp ce UI calculeaza adresele si efectueaza transferurile.

Astfel, cele doua unitati ce compun UCP efectueaza autonom secvente de operatii proprii, transferandu-si in acelasi timp informatii. Secventele de operatii efectuate de cele doua unitati ale microprocesorului pentru a executa instructiunile sunt numite cicluri de instructiune, pentru UE si cicluri masina de bus, pentru UI.

Fig.2 Arhitectura interna a microprocesorului Intel 8086

Unitatea de executie (UE) se compune din:

1. Unitatea aritmetica-logica (ALU), care executa operatii aritmetice, logice, deplasari si rotatii.

2. Registrele temporare (RT), care preiau operanzii de pe bus-ul intern si ii ofera unitatii ALU. Impreuna cu ALU formeaza un automat RALU.

3. Registrul de flag-uri F (biti indicatori de stare a ultimei operatii ALU), actualizat de catre ALU.

4. Blocul de comanda, care:

- decodifica codul instructiunii curente (preluat din coada de instructiuni Q);

- da comenzi interne catre celelalte blocuri ale UE pentru:

- calculul adreselor efective ale operanzilor din MP sau IO (daca este cazul),

- executia operatiei (ALU, transfer, etc.);

- da comenzi externe (informatii / cereri) catre UI pentru:

- calculul adreselor fizice a operandului din MP sau IO (daca este cazul),

- transferul operanzilor dinspre/catre MP sau IO (daca e cazul),

- transferul (citirea) operanzilor de tip imediat din coada de asteptare a UI (daca e

cazul),

- calculul adresei urmatoarei instructiuni.

Se observa ca unitatea de executie este complet separata de exterior, toate sarcinile privind transferul cu exteriorul revenind unitatii de interfata.

Unitatea de interfata cu bus-urile (UI) se compune din:

1. Blocul de interfata intre bus-uri, care face toate transferurile la cererea UE:

- cicluri de scriere in MP sau IO (dinspre UCP catre exterior);

- cicluri de citire din MP sau IO (dinspre exterior catre UCP).

2. Coada de asteptare a codurilor de instructiune (Q), care:

- este incarcata cu coduri de instructiune (ciclu FETCH) de catre blocul de interfata atunci cand UE nu cere transferuri de date;

- este inactiva (UCP executa cicluri inactive de bus) daca este plina si nu se cer transferuri;

- este stearsa complet (resetata) daca instructiunea curenta este de salt.

3. Blocul de calcul al adreselor fizice incluzand:

- registrele segment, care contin componenta segment a adresei locatiei MP accesate;

- registrul indicator al instructiunii curente (IP), care contine componenta offset a adresei instructiunii curente;

- unitatea de deplasare-adunare pentru calculul adresei fizice din componentele segment si offset.

1.1.2 Registrele microprocesorului Intel 8086

Registrele de capacitate 16 biti ale microprocesorului Intel 8086 pot fi clasificate din punct de vedere al rolului pe care il au in executia instructiunilor in 4 grupuri:

- registrele generale: AX, BX, CX, DX, SP, BP, SI, DI;

- registrele segment: CS, DS, ES, SS;

- registrul indicator al adresei instructiunii curente: IP;

- registrul de flag-uri: F.

Registrele generale

Registrele generale se pot imparti in doua seturi de registre:

- registre de date: AX, BX, CX, DX;

- registre de adresare: SP, BP, SI, DI;

1. Registrele de date se deosebesc prin faptul ca jumatatile ( de capacitate 8 biti) lor pot fi accesate (citite sau scrise) separat. Aceasta inseamna ca fiecare registru de date poate fi folosit ca un registru de 16 biti sau ca 2 registre de 8 biti :

- AX ( acumulator) de 16 biti, poate fi accesat ca AH si AL, ambele de 8 biti;

- BX ( baza in adresarea datelor) de 16 biti, poate fi accesat ca BH si BL, ambele de 8 biti;

- CX ( contor) de 16 biti, poate fi accesat ca CH si CL, ambele de 8 biti;

- DX ( date) de 16 biti, poate fi accesat ca DH si DL, ambele de 8 biti.

Registrele de date sunt utilizate in majoritatea instructiunilor aritmetice si logice. Majoritatea instructiunilor aritmetice utilizeaza in acelasi mod toate registrele.

Exista si instructiuni aritmetice pentru care anumite registre generale au intrebuintari speciale, prezentate in continuare:

AX - operatii de intrare/iesire pe 16 biti, implicit in inmultiri si impartiri pe 16 biti;

AL - operatii de intrare/iesire pe 8 biti, implicit in translatii, aritmetica BCD, inmultiri si impartiri pe 8 biti;

AH - implicit in inmultiri si impartiri pe 8 biti;

BX - operatii cu memoria - adresare indirecta, implicit in translatii;

CX - implicit in operatii cu siruri sau bucle;

CL - operatii de deplasare sau rotatie cu mai mult de 1 pozitie;

DX - operatii de intrare/iesire - adresare indirecta, implicit in inmultiri si impartiri pe 16 biti.

2. Registrele de adresare, de 16 biti, se impart la randul lor in:

- registre indicatoare de adresa in stiva (pointer):

- SP (Stack Pointer) - contine adresa curenta a varfului stivei,

- BP (Base Pointer) - implicit contine adresa de baza pentru adresarea indirecta a stivei ;

- registre indicatoare de adresa pentru siruri (index):

- DI (Destination Index) - implicit contine adresa curenta pentru sirul destinatie,

- SI (Source Index) - implicit contine adresa curenta pentru sirul sursa.

Registrele de adresare pot fi utilizate si pentru date in anumite instructiuni aritmetice si

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Sisteme de lucru cu microprocesorul.DOC
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Da
Nota:
9/10 (5 voturi)
Nr fișiere:
1 fisier
Pagini (total):
12 pagini
Imagini extrase:
12 imagini
Nr cuvinte:
5 022 cuvinte
Nr caractere:
26 381 caractere
Marime:
167.96KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Electrotehnică
Tag-uri:
microprocesoare, stiva, registri
Predat:
la facultate
Materie:
Electrotehnică
Sus!