Cuprins
- 1. Concepte fundamentale ale microprocesoarelor evoluate I8086 3
- 2. Proiectarea arhitecturii sistemului cu microprocesor 4
- 3. Proiectarea arhitecturii SMP 7
- 4. Proiectarea resurselor fizice (hard) a SMP 8
- Capitolul 2
- 5. Generatorul de sistem 13
- 6. Circuitul de formare a semnalului READY 14
- 7.Proiectarea magistralei 14
- 8. Controlerele cu magistralele şi controlere de system 15
- Capitolul 3
- 9. Proiectarea unitatii de memorie 18
- 10. Proiectarea memoriei RAM 20
- 11. Proiectarea memoriei ROM 22
- Capitolul 4
- 12. Proectarea unitatii de intrare/iesire 24
- 13. Proiectarea Tastaturei 26
- Biografia 28
Extras din proiect
1 Microprocesorul Intel 8086
1.1 Generalitati
Lansat în 1978 de firma Intel, se prezintă sub forma unei capsule cu 40 de pini, este realizat în tehnologia HMOS si are în structură circa 29.000 tranzistoare, pe o suprafată de siliciu de 37 mm2. Aparitia lui a fost urmată la scurt timp de o familie de componente:
Intel 8284 - generator de tact;
Intel 8288 - controler de magistrale;
Intel 8087 - coprocesor aritmetic;
Intel 8089 - coprocesor de intrare-iesire
În 1979 apare microprocesorul Intel 8088 care păstrează caracteristicile lui 8086 dar cu magistrala de date externă este de 8 biti. A cunoscut o largă utilizare prin includerea sa în numeroase produse ale firmei IBM.
Microprocesorul Intel 8086 este cel mai răspândit microprocesor pe 16 biti; registrele interne si magistralele de date interne si cea externă sunt de 16 biti.
Caracteristici tehnice principale : multiplexarea în timp a magistralelor de date, adrese si stări, pentru păstrarea capsulei de 40 de pini; magistrala de adrese de 20 de biti, ceea ce permite adresarea unei memorii de capacitate maximă de 1 MB; o singură tensiune de alimentare : + 5 Vcc; frecventa semnalului de tact: 4 MHz, 5 MHz sau 8 MHz, în functie
de variantă; compatibilitate cu limbajul de asamblare al microprocesorului Intel-8080 si Intel-8085. setul de instructiuni contine 94 de tipuri de instructiuni, inclusive operatii aritmetice în cod BCD si operatii de înmultire, împărtire; operează cu digiti (cod BCD, 4 biti/digit sau 8 biti/digit), cu octeti (byte), cu cuvinte de 16 biti (word), cu cuvinte duble de 32 de biti (double word), siruri de caractere de 8 biti (string) si blocuri de date acoperă o gamă largă de aplicatii datorită celor două moduri de lucru: modul minim pentru aplicatii simple, în care procesorul generează el însusi semnalele electrice necesare transferului de date cu memoria si porturile de intrare/iesire si modul maxim, pentru aplicatii complexe, inclusiv sisteme multiprocesor, în care semnalele de comandă pentru memorie si porturi sunt generate de un circuit specializat, 8288 (controler de magistrale).
1.2 Structura internă
Microprocesorul Intel-8086 cuprinde două unităti functionale care lucrează asincron si independent una fată de cealaltă:
Unitatea de executie EU (Execution Unit), care efectuează operatiile continute codificat în instructiuni.
Unitatea de interfată cu magistralele (Bus Interface Unit), care are rolul de a extrage instructiunile din memorie si de a transfera operanzii între unitatea de executie si memorie sau porturi de intrare/iesire
.
1.2.1. Unitatea de interfată cu magistralele BIU ( Bus Interface Unit )
Realizează conectarea microprocesorului cu exteriorul prin intermediul magistralelor de adrese (20 de linii) si de date (16 linii). De asemenea, unitatea BIU generează semnalele de comandă pentru realizarea operatiile de citire si scriere cu memoria sau cu porturile.
Unitatea BIU realizează extragerea în avans a instructiunilor din memorie, pe care le stochează într-un fisier de instructiuni de 6 octeti, care este de fapt o listă de tip FIFO (First In First Out).
Dacă în acest fisier sunt cel putin două locatii libere si unitatea de executie nu solicită transfer de operanzi cu exteriorul, unitatea BIU va initia un ciclu masină de extragere în avans a unei instructiuni din memorie, de la adresa următoare. Se asigură astfel un important câstig de timp, prin suprapunerea executiei cu extragerea instructiunilor, operatie care necesită timp de acces la memorie si timp de transfer.
Instructiunile de salt pot modifica succesiunea normală prin comutarea executiei la o adresă ''de salt''; în această situatie, unitatea BIU initializează fisierul prin stergerea instructiunilor existente si încărcarea lui cu o nouă secventă de instructiuni extrase începând cu adresa de salt.
Dacă în timpul executiei unei instructiuni unitatea EU solicită un operand din memorie, unitatea BIU calculează adresa fizică (20 de biti) în functie de modul de adresare comandat, utilizând registrele proprii si unitatea aritmetică proprie (UA) si generează semnalele de comandă pentru transferul operandului către unitatea de executie.
1.2.2. Unitatea de executie EU (Execution Unit)
Extrage succesiv instructiunile din fisierul de instructiuni, le decodifică pe baza unui microprogram rezident si le execută prin intermediul registrelor de uz general si unitătii aritmetice si logice (UAL).
Dacă pentru executia unei instructiuni este necesar accesul la memorie sau la porturi I/O, unitatea de executie transmite către BIU o adresă de 16 biti (adresă efectivă sau offset) ce va fi utilizată pentru operatiile de transfer.
Unitatea de executie dispune de un bloc de comandă care coordonează functionarea unitătii. În acest bloc există o memorie ROM în care este stocat microcodul de interpretare si executie pentru fiecare instructiune.
1.2.3. Setul de register
Registrele sunt specializate pe functii; ele pot fi grupate în 5 categorii:
registre de date (AX, BX, CX, DX);
registre index, pentru accesul în interiorul unui segment (SP, BP,DI, SI);
registre de segment ( CS , DS , SS , ES ) ;
registru indicator de adresă (IP);
registru de stare (F).
Primele două categorii alcătuiesc registrele de uz general.
Utilizatorul are acces la toate registrele, dimensiunea lor fiind de 16 biti, egală cu dimensiunea magistralei de date.
Registrele de date. Desi sunt registre de 16 biti, pot fi utilizate ca două registre de 8 biti: registrul superior H (High) si registrul inferior L (Low). Oricare din registrele de uz general poate fi utilizat în operaŃii aritmetice si logice dar au si functii specifice, care nu pot fi modificate de programator (tab.1). Tabel 1. FuncŃiile specifice ale registrelor de uz general
Preview document
Conținut arhivă zip
- Proiectarea unui Sistem pe Baza Microprocesorului I8086
- Coala 2.Cuprins.doc
- Proet..I8086.doc
- proiect.doc