Sunteți pe pagina 1din 13

Arhitectura von Neumann Este una din arhitecturile posibile (cuprinznd conceptele constructive de baz) ale calculatoarelor numerice,

arhitectur care are n centrul ei o unitate central de procesare (n englez: CPU) i o unitate separat de memorare (n care se stocheaz att date ct i instruciuni). Dateaz la origin din anii 1940. Numele provine de la John von Neumann, un renumit matematician i pionier al informaticii american de origine austro-ungar evreu, primul care a stabilit (n scris, n Discurs preliminar asupra proiectrii logice a unui instrument de calcul electronic, mpreun cu Arthur W. Burks i Hermann H. Goldstine) cerinele pentru un calculator electronic de uz general (general purpose). Arhitectura s-a nrdcinat, iar majoritatea calculatoarele construite pn acum au avut i au aceast arhitectur. Principalul obiectiv al lui von Neumann a fost s construiasc un sistem de calcul de uz general n care datele de prelucrat i rezultatele calculelor intermediare s fie stocate alturi de instruciuni ntr-o memorie comun suficient de mare. Conform acestei arhitecturi, ntr-un sistem de calcul general chiar i instruciunile nsele trebuie s poat fi modificate la fel de uor ca i numerele (operanzii) cu care lucreaz i pe care le modific ele. Astfel, instruciunile sunt codificate numeric i stocate n aceeai memorie ca i datele. Pentru accesul la instruciunile codificate se definete un subsistem de prelucrare a informaiei care ncarc instruciunile din memorie pentru a fi executate, acolo unde este nevoie realizndu-se diferenierea ntre numr (operand) i instruciune, dei nu exist diferene formale ntre ele. Este necesar i un contor program (contor de instruciuni) care conine permanent adresa instruciunii urmtoare, ce va fi i ea ncrcat din memorie i apoi i executat (dup execuia instruciunii actuale). Arhitectura permite ca instruciunile s poat prelucra i modifica nu numai date, dar chiar i alte instruciuni, sau altfel spus, la nevoie programul se poate automodifica, cptnd astfel un caracter dinamic.

Funcionarea arhitecturii von Neumann


Dei designul i performanele calculatoarelor s-au mbuntit dramatic n comparaie cu anii 1940, principiile arhitecturii von Neumann sunt n continuare la baza aproape tuturor mainilor de calcul contemporane. Aceast arhitectur descrie un calculator cu patru module importante: unitatea aritmetic-logic (UAL), unitatea de control (UC), memoria central i dispozitivele de intrare/ieire (prescurtat I/E). Acestea sunt interconectate cu un mnunchi de fire numit magistral (bus) pe care circul datele de calcul i datele de program (instruciuni) i sunt conduse n tactul unui ceas (ir permanent de impulsuri regulate).

Conceptual, memoria unui calculator poate fi vzut ca un ir de celule numerotate. Fiecare celul primete drept adres un numr unic propriu, asemntor cu numerele caselor de pe o strad. Celulele pot nmagazina o cantitate mic, prestabilit de informaie. Informaia poate fi interpretat i ca instruciune, i ca date propriu-zise. Instruciunile prescriu calculatorului ce s fac, iar datele sunt acele informaii care trebuie prelucrate conform cu instruciunile. n principiu orice celul poate stoca (memora) att instruciuni ct i date. Important este posibilitatea ca una sau mai multe instruciuni, deja stocate n memorie, s fie privite de ctre alte instruciuni drept date de prelucrat/modificat dinamic (n mers), dup necesitate. UAL este din multe puncte de vedere inima calculatorului. Aceasta este capabil s efectueze mai multe tipuri de operaii, de exemplu operaii aritmetice (adunare, nmulire .a.), operaii de comparaie, operaii de manevrare a datelor (duplicare, mutare, trunchiere .a.) precum i operaii care influeneaz ordinea i fluxul instruciunilor. Sistemele de I/E sunt dispozitive prin care calculatorul preia informaii din lumea exterioar i raporteaz napoi rezultatele. ntr-un calculator personal obinuit dispozitive de intrare sunt de exemplu tastatura i mausul, iar dispozitive de ieire sunt monitorul i imprimanta. Exist i dispozitive I/E combinate, att pentru intrare ct i pentru ieire, de exemplu modemul, placa de reea i discul dur magnetic. Unitatea de control este un modul central care comand i leag toate celelalte module ntre ele. Rolul ei este s culeag (citeasc) instruciunile i datele din memorie sau de la dispozitivele I/E (intrare/ieire), s decodeze instruciunile, s ofere UAL (unitii aritmetico-logice) date de intrare corecte conform cu instruciunea, s comande UAL ce anume operaie s efectueze asupra intrrilor, precum i s trimit (scoat afar) rezultatele, adic s scrie n memorie sau ctre dispozitivele de ieire, E. O component cheie a unitii de control este un contorul (numrtorul) de instruciuni. El conine la orice moment adresa instruciunii curente din secvena de program n execuie, i numr instruciunile, fiind astfel n permanent schimbare. Fizic, ncepnd din anii 1980, UAL i unitatea de control se plaseaz unitar n acelai circuit integrat numit unitate central de procesare (central processing unit, CPU ) sau microprocesor sau i procesor. Miniaturizarea continu a dus printre altele i la apariia aa numitelor uniti grafice de procesare, (graphic processing unit, GPU), care comand i coordoneaz toate operaiunile de afiare pe ecranul calculatorului n locul plcii de extensie pentru grafic. Pentru arhitectura calculatoarelor s-au adoptat numeroase standarde. Un prim standard de acest fel, care mai este utilizat i n prezent, este ISA (Industry Standard Architecture), care a fost elaborat de IBM odat cu primul IBM PC (Personal Computer, computer personal), aprut la nceputul anilor 1980.

Sistemele de calcul rapide pot avea nglobate mai multe procesoare. Fiecare procesor (CPU) include o unitate de control precum i unul sau mai multe nuclee de proces logic-aritmetic, fiecare dispunnd de o UAL proprie.

Placa de baza a unui PC Din punct de vedere constructiv, microprocesorul este montat mpreuna cu circuitele integrate ale memoriei interne si cu alte circuite specializate pe o singura placa, numita de baza (de sistem sau motherboard). n figura 3.3 este prezentat schematic un exemplu de dispunere a acestora ( conform cu [5]). Placa de baza este elementul n jurul caruia se construieste ntreaga arhitectura a PC - ului, asigurnd integrarea componentelor acestuia ntr-un ansamblu functional. Principalele componente instalate pe placa de baza a unui PC sunt: soclul microprocesorului - permite instalarea procesorului sistemului, asigurnd conditii bune pentru ventilarea si racirea acestuia. Caracteristicile sale determina tipurile de microprocesoare care pot fi utilizate pe acel tip de placa;

soclurile pentru memorie - stabilesc numarul de module de memorie si tipul acestora. Circuitele integrate de memorie care se introduc direct n socluri se numesc DIP (Dual Inline Package), iar placutele cablate care contin astfel de circuite si se introduc ele n soclu se numesc SIMM (Single Inline Memory Modules) sau barete de memorie. sloturile pentru extensii - sunt conectori care permit legarea unor dispozitive la magistrala sistemului (n numar de 4 pna la 8). n functie de tipul acestui dispozitiv, si conectorii sunt diferiti: IDE pentru hard disk, compact disk si floppy disk, SCSI pentru compact disk, hard disk sau plotter, PCI pentru interfata video sau placile de sunet; portul AGP - este, la procesoarele moderne, un slot pentru interfata grafica; chipsset -ul - este un set de circuite conexe care permit configurarea placii de baza, stabilesc diferite compatibilitati si determina functionarea corecta a procesorului si a magistralelor acestuia;

circuitul ROM BIOS - este memoria care contine nucleul sistemului de operare, cel care determina functiile de baza ale acestuia. Tot aici sunt nregistrati diversi parametri de configurare ai sistemului de calcul;

soclurile pentru cache - permit montarea circuitelor L2 ale acestei memorii; ceasul placii de baza - stabileste frecventele de lucru necesare procesorului si magistralei. Valorile acestora pot fi setate diferit, ntre anumite limite, cu ajutorul unor jumpere;

conectorii de alimentare - leaga sursa de alimentare la placa de baza, asigurnd tensiunile de alimentare necesare functionarii unor componente ( de obicei 5 si 12 V). Pentru obtinerea unor tensiuni de alimentare mai mici, placa de baza contine divizoare de tensiune; conectorii externi - permit, pentru versiunile mai vechi, legarea tastaturii, mouse-ului sau imprimantei. La sistemele mai noi, si interfetele seriale sau paralele au conectori pe placa de baza; conexiunile de afisaj - permit efectuarea unor legaturi ntre placa si panoul frontal al carcasei calculatorului, care activeaza led-urile martor ale tensiunii de alimentare, functionarii hard diskului de reset;

comutatoarele - sunt reprezentate de catre jumpere si switch-uri, fiind folosite pentru activarea sau inhibarea diferitelor moduri de lucru ale componentelor sistemului de calcul; elementele de montaj - permit fixarea mecanica a placii de baza n carcasa calculatorului.

Placile de baza moderne sunt de tip plug&play (PnP), ceea ce nseamna ca ele pot detecta automat arhitectura si componentele sistemului, nemaifiind necesara setarea configuratiei acestuia prin comutatori. Tipurile de placi de baza sunt legate n principal de dimensiunile acestora, care determina amplasamentul componentelor si tipul de carcasa utilizat. Cele mai cunoscute tipuri sunt: placa AT standard (12 x 13.5"), realizata ntr-o mare gama de variante constructive, placa baby-AT (8.7 x 13"), placa LPX, identica cu AT, dar cu o asezare diferita a conectorilor (permite carcase mai mici, numite slim size) sau placa ATX (cu aceleasi dimensiuni ca baby-AT), cel mai recent standard impus din 1996 de catre Intel. Placa de baza a PC -ului trebuie aleasa n functie de tipul chipset-ului si numarul de sloturi de extensie, astfel nct sa permita dezvoltarea ulterioara a acestuia, numita up - grade.

ISA (prescurtarea de la Industry Standard Architecture) este o magistral de date ce a fost inventat de IBM odat cu primul IBM PC, aprut la nceputul anilor '80 , calculator ce folosea magistrala de 8 bii specific procesorului 8088. ISA era destinat plcilor de extensie (plci grafice, controllere de hard disk) ce se ataau PC-ului. Odat cu 80286 i cu nevoile tot mai mari de vitez, s-a impus versiunea pe 16 bii a standardului, ce consta (fizic vorbind) ntr-o extensie la vechiul ISA, cu care era compatibil, n sensul c o plac de baz compatibil cu standardul ISA pe 16 bii suporta plci de extensie de 8 bii. Standardul s-a pstrat pn aproape de zilele noastre, chiar i astzi mai putnd fi ntlnite plci ISA i plci de baz care s le suporte. Magistrala EISA Magistrala EISA (Extended Industry Standard Architecture) a fost elaborat n anul 1988, de un consoriu de firme condus de Compaq i Intel.Scopul era extinderea magistralei ISA, astfel nct s permit arhitecturi de32 de bii i viteze de transfer superioare, pstrnd ns compatibilitatea cu plcile de extensie existente i cu perifericele. Se urmrea ns iconcurarea magistralei Micro Channel. S-a adugat un nou conector de extensie cu semnale suplimentare, iar complexitatea arhitecturii magistralei a crescut. Multe caracteristici sunt similare cu cele ale magistralei Micro Channel: transferuri pe 32 de bii; posibilitatea multiprelucrrii; configurarea automat a sistemului i a plcilor de extensie, fr utilizarea comutatoarelor. ntreruperile sunt declanate pe front sau pe nivel, selecia fiind realizat prin program. Magistrala EISA asigur o independen fa de arhitectura procesorului utilizat. ntregul spaiu de adresare de 32 bii este complet accesibil, nu numaide ctre procesor, dar i de dispozitivele DMA i controlerele de magistral.Chiar controlerele DMA existente de 16 bii pot avea acces la ntregul spaiu de adresare. Toate transferurile executate pe magistrala EISA sunt sincronizate de un semnal de ceas de 8,33 MHz. Exist un mod de transfer n avalan (burst mode ), n care un transfer este executat ntr-un ciclu de ceas al magistralei. Aceasta echivaleaz cu 8,33 milioane transferuri pe secund. Se pottransfera maxim patru octei ntr-un ciclu, ceea ce corespunde unei ratemaxime teoretice de transfer de 33 MB/s. Diferena principal fa de magistrala Micro Channel este c magistralaEISA este compatibil cu magistrala ISA (AT), de ci calculatoarele cu o magistral EISA pot

utiliza noile plci de extensie EISA, ca i vechile plci de extensie AT. Calculatoarele cu o magistral Micro Channe l pot utiliza numai plci de extensie Micro Channel. Circuitele utilizate pentru arhitecturile EISA au un pre mai ridicat. Datorit acestui dezavantaj, sistemele EISA nu au devenit arhitecturi de larg utilizare, fiind folosite mai ales pentru aplicaii pretenioase, ca serverede reea sau grafic de performan.

Microprocesorul 8086
Microprocesorul ca si unitate centrala de prelucrare a fost inventat in 1971 de catre Hoff Tod, angajat al firmei Intel. Unul dintre microprocesoarele realizate de firma Intel in anul 1978 a fost microprocesorul I8086. Acesta contine in jur de 28000 de tranzistori ocupand o suprafata de 37mm patrati. Magistrala interna de date a microprocesorului I8086 contine 16 linii. Registrele interne sunt organizate pe 16 biti. Principalele caracteristici ale microprocesorului 8086 sunt: pe magistrala de adresa a microprocesorului sunt multiplexate date si comenzi uP poate adresa pana la 1Mo (Mb) de memorie uP poate sa lucreze cu operanzi de diferite dimensiuni; 4 b 16416u203q iti, 8 biti, 16 biti, sir de caractere, etc. uP are un anumit numar de terminale cu 2 functii uP se alimenteaza de la o singura tensiune de alimentare Structura interna a uP 8086 Din schema bloc se observa ca structura uP 8086 contine 2 parti importante: 1) EU - unitatea de executie, care are ca si sarcina principala executia instructiunilor 2) BIU - unitatea de interfata cu magistrala externa si are rolul de a transfera operanzi din unitatea de executie spre/dinspre exterior EU are rolul de a decodifica si executa instructiunile pe care le extrage in mod automat din linia de octeti, care la randul lor sunt furnizati de catre BIU. Daca in urma decodificarii unei instructiuni este necesara folosirea unui operand, comunica acest lucru la BIU, impreuna cu adresa pe 16 biti a operandului.

Pe durata executiei instructiunilor EU testeaza si seteaza indicatorii (indicatori de conditie). Daca linia de instructiuni ramane goala, executa ciclii de asteptare pana cand BIU aduce o noua instructiune. Daca EU executa o instructiune de salt, comunica BIU noua adresa la care se realizeaza saltul si asteapta ca BIU sa aduca instructiunea de la adresa indicate. BIU are rolul de a asigura interfata uP cu exteriorul, prin intermediul unei magistrale formata din 20 de linii. Obs. Primele 16 linii sunt multiplexate in timp cu informatii referitoare la adrese sau date. Celelalte 4 linii sunt folosite pentru multiplexarea in timp a unor informatii de adresa sau comenzi/stari in care se afla uP la un moment dat. BIU genereaza semnale de comanda pentru citirea/scrierea operanzilor din/in memoria externa. Genereaza semnale de comanda folosite in operatiile de intrare/iesire. Blocul notat linie de instructiuni este in esenta o memorie de tipul FIFO cu capacitatea de 6 octeti. Aceste instructiuni ajung la EU doar in urma unor cereri. Daca in sirul de instructiuni exista cel putin 2 octeti liberi si daca EU nu solicita un transfer cu exteriorul, atunci BIU adduce in mod automat urmatoarea instructiune din memoria externa ca sa completeze linia de instructiuni. Instructiunile pentru uP 8086 sunt codificate pe 16 biti si se afla la adrese successive fata de instructiunea care este in curs de executie. In urma unei ramificari in program, BIU transfera la EU instructiunea aflata la adresa la care s-a facut saltul si apoi umple linia de instructiuni cu instructiuni aflate la adresele successive ale adresei de salt. BIU adduce in mod automat instructiuni pentru ca EU sa castige timp. Registrele uP 8086 Exista atat register ale EU cat si ale BIU. Registrele EU/de date: Ax, Bx, Cx, Dx sunt organizate pe 16 biti si care pot fi folosite si ca register de cate 8 biti: AH, AL, BH, BL, CH, CL, DH, DL. Toate cele 4 registre pot fi folosite de uz general, pentru stocarea temporara a operanzilor. Cu toate acestea pot sa aiba si functii speciale, cum ar fi: Ax - registru accumulator; in acest registru se salveaza rezultatele operatiilor aritmetice si logice; Bx - registru de baza, folosit adesea pentru obtinerea unor adrese; Cx - registru contor, folosit in toate instructiunile de incrementare si decrementare; Dx - registru de date, folosit pentru pastrarea unui operand necesar unei operatii aritmetice. Setul de registre segment CS -pentru codul programului, DS - pt date, SS - pt arhivare, ES - pt date.

CS organizat pe 16 biti reprezinta segmental de cod si contine adresa de inceput pt un anumit segment de 64 Ko in care se gasesc instructiuni (cod de program). DS si ES sunt registre segment de date si contin adrese de inceput pt cate un segment de 64 Ko. SS este un segment de stiva, folosit pt salvarea temporara a unor informatii de date. Este organizat pe 16 biti. IP este registrul indicator de program, organizat tot pe 16 biti si contine adresa unei instructinui care sa gaseste in interiorul segmentului de cod de program definit cu ajutorul continutului registrului CS. Continutul registrului IP in mod normal de functionare este incrementat cu o unitate. Adresa fizica a unei instructiuni care trebuie adusa unitatii de executie a uP se va obtine cu ajutorul registrelor CS si IP. Registrul IP contine deplasamentul in cadrul unui segment de cod definit cu ajutorul registrului CS. Pt accesarea locatiilor de memorie din cadrul segmentelor de date de stiva si de date suplimentare, se vor folosi urmatoarele register organizate pe 16 biti: SP, BP, DI si SI. Registrul SP este indicator de stiva; are un rol similar cu cel al registrului IP fata de registrul CS cu observatia ca SP contine deplasamentul in cadrul segmentelor de stiva. Registrul BP este indicator de baza; cu ajutorul acestui registru se pot face diferite tipuri de adresari. Registrele DI si SI sunt folosite in cadrul operatiilor de transfer de siruri de caractere sau blocuri de date. Registrul SI va contine adresa de inceput a zonei de memorie in care se afla un sir de caractere sau un bloc de date care urmeaza a fi transferat/mutat in alta zona a memoriei de date. Registrul DI la fel ca SI se foloseste in cazul unor instructiuni similar cu observatia ca acesta contine adresa de inceput din cadrul memoriei de date, la care se vor transfera sau muta datele.

Segmentarea memoriei. Avantaje si dezavantaje


In unitatea de interfata cu magistrala exista o unitate aritmetica capabila sa calculeze adresa fizica conform modelului indicat. uP poate sa lucreze la un moment dat cu maxim 4 segmente. Segmentele de memorie pot uneori sa se suprapuna partial, sau chiar total. Daca toate cele 4 segmente se suprapun total rezulta ca lungimea maxima a programului care poate sa fie realizat este de 64 ko. Aceste programe au extensia .com. Daca segmentele nu se suprapun total, sau ocupa zone de memorie total diferite, programul rezultat va avea extensia .exe. Exista restrictive ca toate registrele de segment sa contina adrese multiplu de 16. Avantajele segmentarii memoriei: este permisa scrierea programelor independent de pozitia pe care acestea le vor ocupa in memorie; se pot declara si utilize un numar mare de stive; este facilitata programarea modulara; fiecare modul poate sa ocupe unul sau mai multe segmente; Dezavantajele segmentarii memoriei: limitarea dimensiunii programelor datorita dimensiunii segmentelor;

obtinerea adresei fizice se obtine prin insumarea a doua adrese logice, rezulta scaderea vitezei de executie a programelor. Mecanismul de adresare a unei locatii de memorie Pentru a obtine o adresa fizica se utilizeaza urmatoarele resurse ale uP:

unitatea aritmetica pt calcularea adreselor; un registru segment; un registru asociat registrului de segment, care contine un deplasament. Inainte de obtinerea adresei fizice continutul registrului segment este deplasat cu 4 locatii la stanga. In urma acestei faze rezulta faptul ca cu ajutorul continutului unui registru segment vom putea obtine adrese multiplu de 16. La noul cod obtinut se adauga deplasamentul continut intr-un registru intern al uP. Pt accesul la instructiunile unui program se folosesc registrul segment de cod (CS) si registrul indicator de program (IP). Pt accesul la stiva se folosesc registrul segment de stiva (SS) si indicatorul de stiva (SP). Pentru lucrul cu siruri de caractere/date se foloseste ca si sursa registrul segment de date (DS) cu deplasamentul mentionat in registrul DI, iar ca destinatie se foloseste registrul segment de date suplimentare ES cu deplasamentul mentionat in registrul DI. Spatial adresabil direct de catre uP 8086 este de 1 Mb, adica adresa de la 00000h la FFFFFh. In spatial de memorie cuprins intre 00000h si 000FFh sunt stocati vectorii de intrerupere, iar spatial de memorie de la FFFF0h pana la FFFFFh sunt activati in urma aparitiei semnalului de RESET. Impartirea fizica a memoriei. Modurile de transfer de date uP 8086 poate adresa o memorie a carui capacitate este de 1 Mb. Fizic aceasta memorie poate fi impartita in 2 bancuri (blocuri) de cate 512 Kb. Un bloc de memorie va contine toate locatiile de memorie care au adresa para, iar celalalt bloc va contine toate locatiile de memorie care au adresa impara. Blocul care contine locatiile de memorie cu adrese pare este conectat la magistrala inferioara de date (liniile D0-D7), iar blocul care contine locatiile de memorie cu adrese impare este conectat la magistrala superioara de date (liniile D8-D15). Liniile de adresa (A1-A19) sunt folosite pentru adresarea simultana a celor 2 blocuri de memorie. Suplimentar, pt activarea unei locatii de memorie cu adresa para respective impara, se folosesc semnalele de pe linia A0negat, BHEnegat.

Registrul de stare al uP 8086


Este un registru pe 16 biti. Dintre cei 16 biti, doar 9 sunt active, restul fiind rezervati de catre firma producatoare. Valorile acestor biti se modifica, dupa caz, dupa efectuarea fiecarei instructiuni a unui program. Starea fiecarui bit poate fi testataprin program si in functie de valoarea logica se pot lua anumite decizii. Dintre cei 9 biti de stare, 4 pot sa fie setati direct prin program. Continutul registrului de stare este urmatorul:

15x 14x 13x 12x 11OF 10DF 9IF 8TF 7SF 6ZF 5x 4AF 3x 2PF 1x 0CF. Bitii marcati cu x sunt bitii rezervati de firma producatoare. CF - repr indicatorul de transport; trece in 1 logic ori de cate ori are loc o depasire sau un imprumut fata de continutul acumulatorului. PF - indicator de paritate; este trecut in 1 logic cand rezultatul unei operatii aritmetice sau logice este un octet ce contine un numar par de unitati. AF - indicator de transport auxiliar; trece in 1 logic daca in urma operatiilor aritmetice si logice apare un transport/imprumut intre digitii unui octet. ZF - indicator de egalitate sau zero; este trecut in 1 logic daca rezultatul unei operatii aritmetice sau logice este 0. SF - indicator de semn, contine bitul cel mai semnificativ al rezultatului care in cazulin care este 1 indica un rezultat negative, inver, indica un rezultat pozitiv. OF - indicator de depasire; se activeaza atunci cand apare depasirea capacitatii registrelor ca urmare a unei operatii aritmetice cu operanzi de semn. Urmatorii 3 biti pot sa fie setati prin program. TF - indicatorul pentru modul de lucru "pas cu pas"; daca este setat in 1 logic atunci uP 8086 lucreaza in modul instructiune cu instructiune. IF - indicatorul de intreruperi; daca contine valoarea 1 logic atunciuP 8086 a acceptat o cerere de intrerupere sosita la pinul sau extern INTR. DF - indicatorul de directive; se foloseste in cazul operatiilor cu siruri de caractere; daca acest bit este setat, atunci instructiunea de deplasare a sirurilor incrementeaza adresa operanzilor din sir dupa fiecare transfer; daca bitul DF este resetat, atunci adresele sunt decrementate.

Terminalele uP 8086 si functiile acestora


uP 8086 poate sa lucreze in 2 moduri: modul minim si modul maxim de functionare. Acest fapt poate sa fie selectat aplicand un anumit nivel de tensiune pepinul MN/MXnegat. Pt cele 2 moduri de lucru, anumiti pini ai uP indeplinesc aceleasi functii. Terminalele care au acelasi rol pt cele 2 moduri de lucru sunt: AD0-AD15 - terminale bidirectionale cu 3 stari (L, H, infinit). Pe aceste linii sunt multiplexate in timp informatiile referitoare la adresa pe accesarea memoriei externe si date.

A16/S3, A17/S4, A18/S5, A19/S6 - aceste linii doar de iesire sunt folosite doar pt multiplexarea in timp a informatiilor legate de adrese, respective de stare a uP. S3 si S4 indica registrul segment folosit la calculul adresei fizice. S5 copiaza indicatorul de stare IF. S6 este totdeauna in 0 logic. BHEnegat/S7 - este o iesire cu 3 stari. Acest terminaleste folosit pt transferul de date pe magistrala superioara de date. RDnegat - terminal de iesire cu 3 stari. Acest terminal este folosit in cazul in care uP efectueaza un ciclu de citire de date. READY - este folosit pt sincronizarea uP cu perifericele in cazul unui transfer de date. INTR - este un terminal la care sosesc cererile de intrerupere. INTR A - este un terminal de iesire prin intermediul caruia uP confirma acceptarea unei intreruperi. NMI - este o intrare prin care uP-ului i se transmit intreruperi nemascabile. RESET - acest terminal este folosit pt initializarea uP-ului (conform specificatiilor producatorului) TESTnegat - este o intrare utilizata de instructiunea WAIT. Daca semnalul aplicat pe TESTnegat este nul rezulta ca executia programului continua; in caz contrar uP ramane in stare de asteptare. CLK - este un terminal de intrare pe care se aplica un semnal periodic care dicteaza ritmul de executie al instructiunilor. Cu ajutorul terminalului MN/MXnegat se poate impune modul de functionare a uP (MN=mod minim, MXnegat=mod maxim) Pentru modul minim de functionare uP mai utilizeaza urmatoarele terminale: M/IOnegat - terminal cu 3 stari; indica circuitul extern cu care comunica uP: memories au circuite de intrare-iesire. WRnegat - se activeaza ori de cate ori uP executa un ciclu de scriere; semnalele WRnegat, respectiv RDnegat nu pot sa fie activate simultan ALE - este o iesire folosita pt demultiplexarea informatiilor legate de adresa si date, care circula pe magistrala externa a uP. DT/Rnegat - un terminal care indica faptul ca uP initiaza (impune) un anumit sens de transfer a datelor DEHnegat - este un pin cu 3 stari de iesire, care este folosit pt a indica (confirma) ca datele au fost preluate de catre uP.

HOLD - terminal de intrare. HOLDA - terminal de iesire. La aparitia unui semnal de nivel 1 logic, pe pinul HOLD al uP-ului i se solicita cedarea magistralei. Daca HOLDA este in nivel I logic uP accepta cedarea magidtralei. Pentru modul maxim de functionare uP foloseste urmatoarele terminale: S0negat, S1negat, S2negat. Cu ajutorul acestor semnale se poate identifica precis ciclul pe care il executa uP. Aceste semnale sunt folosite de circuite integrate specializate, care la randul lor vor genera semnale de comanda pt unitati de memories au circuite de intrare-iesire.

Sistemul de intreruperi
Intreruperile permit abandonarea pe moment de catre uP a executiei unei secvente de instructiuni si inceperea executiei unei subroutine de program. Adresa de inceput a acestei subroutine care deserveste un anumit tip de intrerupere poate sa fie plasata oriunde in memoria de program. uP 8086 admite 2 tipuri de intreruperi: interne sau externe, clasificate in functie de cauzele care le produc. uP 8086 poate trata 2la8=256 de tipuri de intreruperi, fiecare intrerupere in final identificata printr-un cod. Legatura dintre intreruperi si subrutinele care deservesc acestor intreruperi este realizata prin intermediul unei tabele de vectori de intrerupere. Un vector de intrerupere ocupa in memoria de program 4 octeti. Cu ajutorul unui vector de intreruperi uP 8086 poate sa genereze o adresa fizica din spatial de memorie direct adresabil. Spatial de memorie folosit pt setul de vectori de intreruperi este cuprins intre 00000h si 003FFh. Tabela cu vectorii de intreruperi este impartita in 3 domenii: zona dedicate unor intreruperi specific, date de uP; zona rezervata, folosita de firma producatoare pt a asigura compatibilitate cu alte produse; zona pusa la dispozitie pt utilizator. Intreruperile externe provenite din exterior, sosesc la pinii NMI, respective INTR. Intreruperea NMI nemascabila nu poate fi inhibata de catre utilizator. Ori de cate ori la pinul NMI soseste o cerere de intrerupere, uP abandoneaza temporar executia secventei curente de program si realizeaza in mod automat accesul la subroutina care deserveste aceasta intrerupere. Cererile de intreruperi care sosesc la pinul INTR sunt selectate in prealabil de un circuit specializat exterior, care ami are rolul de a stabili prioritatea lor. uP testeaza in mod automat nivelul semnalului aplicat la pinul INTR. Obs. Intreruperea INTR este acceptata doar daca bitul IF este setat in 1 logic. Indicatorul IF poate fi setat sau resetat de catre utilizator. Se recomanda ca pe durata efectuarii unor initializari intreruperile care sosesc la pinul INTR sa fie invalidate. Instructiunile care se pot seta sau

reseta sunt: STI si CLI. Dupa acceptarea unei cereri de intrerupere, bitul IF este resetat in mod automat.

S-ar putea să vă placă și