You are on page 1of 7

Microprocesoare II Microprocesorul INTEL 8080

1.7 Structura i funcionarea microprocesorului INTEL 8080 Microprocesorul 8080 este o unitate central, integrat pe un singur cip, ale crui caracteristici sunt: - ciclul unei instruciuni tipice este de 2 s; - compatibilitate TTL la intrare i la ieire; - permite adresarea unei memorii de maxim 64 Kbaii (cuvnt de adresare de 16 bii); - permite adresarea a 256 dispozitive periferice de intrare i 256 periferice de ieire; - formeaz stiva n spaiul memoriei (externe); - proceseaz n paralel cuvinte de un bait. Structura bloc a microprocesorului este prezentat n figura 1.15 iar semnificaia pinilor n 1.16. Transferul datelor, de la / ctre exterior, se face printr-o magistral bidirecional de 8 bii (D7 Do), iar adresarea memoriei i a circuitelor de interfa printr-o magistral de 16 bii (A15 Ao). Microprocesorul necesit dou semnale de tact externe 1 i 2 i trei tensiuni de alimentare (+12V, +5V, -5V) fa de mas, i genereaz ase semnale de comand i control, admind, n acelai timp, ca intrri, alte patru semnale de comand i control.

Fig.1.15. Structura intern a P 8080

Memoria intern a microprocesorului este format din urmtoarele registre: - numrtorul de adrese, PC (Program Counter) este un registru de 16 bii care conine adrese instruciunii care urmeaz a fi executat. Coninutul acestui registru este accesibil i poate fi modificat prin program. - indicatorul de stiv, SP (Stack Pointer) este un registru de 16 bii care conine totdeauna adresa din memorie (alocat pentru stiv) n care s-a depus ultimul cuvnt (indic vrful stivei). Stiva se construiete n RAM i crete n jos, adic din sensul de scdere a numrului adresei, iar indicatorul de stiv este accesibil programatorului pentru iniializarea zonei din RAM ca stiv; - ase registre de utilizare general de 8 bii (B, C, D, E, H, i L) care pot fi folosite i n perechi pentru a forma registre e 16 bii (B C, denumit registru pereche B, D E, registrul pereche D, H L, registrul pereche H). Aceste registre pot efectua un numr mai redus de operaii dect registrul acumulator; - registre temporare (W i Z), nu sunt accesibile prim program, ele sunt utilizate numai n funcionarea intern a microprocesorului.

Fig.1.16. Conexiunile externe ale P 8080 Un cuvnt de 8 bii poate fi transferat ntre registre pe magistrala intern, folosind circuitele pentru selectarea registrelor (REGISTER SELECT) i multiplexorul (MLTIPLEXER). Transferul a 16 bii ntre registrele de adresare i exterior se face prin intermediul circuitelor de incrementare decrementare (INCREMENTER / DECREMENTER ADDRESS LATCH), care la rndul lor sunt conectate cu registru tampon al adresei (ADDRESS BUFFER) prin care se face comunicarea cu magistrala de adrese (ADDRESS BUS). Unitatea aritmetic i logic (ALU) conine un sumator paralel de 8 bii, la care sunt ataate: - un acumulator de 8 bii (ACCUMULATOR); - un cumulator temporar de 8 bii (ACCUMULATOR LATCH); - un registru pentru pstrarea temporar a unui operand (TEMP. REG.); 2

5 bistabile (fanioane) de condiie (FLAG FLIP-FLOPS) cu urmtoarele denumiri (semnificaii): zero (Z), transport (CY), semn (S), paritate (P) i transport auxiliar (AC); Un circuit logic de corecie pentru modul de lucru n cod zecimal binar (BCD) al sumatorului (DECIMAL ADJUST).

Sumatorul este conectat la acumulatorul temporar, registrul temporar i bistabilul de transport, rezultatul unei operaiuni fiind posibil a se introduce prin magistrala intern n acumulator. Pe durata ciclului de FETCH, primul octet al unei instruciuni este adus din memorie i introdus n registrul de instruciuni (INSTRUCTION REGISTER). Acest registru este conectat la decodificatorul de instruciuni (INSTRUCTION DECODER), ale crui ieiri se combin cu semnalele de tact 1 i 2, date e generatorul de timp, pentru a genera prin unitatea de control (TIMING AND CONTROL) toate comenzile necesare funcionrii corecte a microprocesorului, precum i semnalele de comand i control pentru exterior. Semnalele de comand i control primite i generate de microprocesor au urmtoarele semnificaii: - 1 i 2, semnalele de tact (clock) din exterior; - SYNC, semnalul de sincronizare generat de microprocesor prin care se specific nceputul fiecrui ciclu (de) main, pe durata semnalului SYNC microprocesorul aplioc pe magistrala de date cuvntul de stare (ce indic tipul operaiei de efectuat n ciclul main respectiv); - DBIN (Data Bus INput), semnal generat de microprocesor care informeaz c microprocesorul poate prelua datele aplicate pe magistrala de date de ctre memorie sau periferice; - WR , ( WRITE , activ n starea zero) semnal generat de microprocesor care informeaz memoria sau perifericele c data aplicat de P pe magistrala de date poate fi citit; - READY, semnal extern care, prin valoarea READY = 1, informeaz P-ul c o dat cerut este accesibil (valid) pe magistrala de date; - WAIT, semnal generat de P prin care se indic faptul c se ateapt o dat de la memorie sau dispozitivele periferice; semnalul WAIT devine activ dup ce se primete de la memorie semnalul READY = 0; - HOLD, semnal emis de un dispozitiv periferic prin care se cere ca P-ul s elibereze magistralele (bufferele de ieire ale P sunt trecute n starea de mare impedan). n acest caz, magistralele sunt administrate de ctre periferic n scopul unui acces direct la memorie, DMA (Direct Memory Access); - HLDA (HoLD Acknowledge), semnal emis de P prin care acesta confirm trecerea bufferelor de magistrale n starea de nalt impedan (ca urmare a primirii semnalului HOLD); - INT (INTerrupt request), semnal extern emis de ctre un periferic prin care acesta cere intervenia P-ului; - INTE (INTerrupt Enable), semnal al unui fanion din P care indic posibilitatea (INTE = 1) sau imposibilitatea (INTE = 0) de ntrerupere a P-ului la primirea unei cereri de ntrerupere (INT). Fanionul INTE poate fi comandat prin program; - RESET, semnal exterior (de iniializare) care aduce numrtorul de adrese la zero (acest semnal pune pe zero i semnalele INTE i HLDA).

1.8 Formatul i execuia instruciunilor Instruciunile sunt formate din 1, 2 sau 3 octei. Primul octet este codul operaiei caracteristice instruciunii. Octeii 2 si 3 reprezint date sau adrese. Codul fiind pe 8 bii, rezult 256 combinaii distincte, deci 256 instruciuni diferite (8080 execut 244 instruciuni diferite care se pot grupa n 72 de tipuri), figura 1.17. 3

Fig.1.17. Structura instruciunilor Octeii unei instruciuni sunt memorai n memoria program n locaii succesive, ncepnd cu codul instruciunii. Instruciunile intr n execuie n ordinea n care apar n program. Adresa primului octet este i adresa instruciunii. n procesul de execuie, prin decodificarea primului octet, unitatea central obine informaia privind numrul de octei ai instruciunii i tipul operaiei. Execuia fiecrei instruciuni ncepe cu un ciclu main de aducere n care se citete octetul de cod i se transfer n registrul de instruciuni. Dac instruciunea conine 2 sau 3 octei, se repet ciclul main de aducere pentru fiecare octet dar ei se depun n registre de uz general (numai codul se depune n RI). n figurile 1.18, 1.19 i 1.20, sunt prezentate strile i ciclurile main pentru 3 instruciuni: o instruciune simpl (1 CM, 5 stri), o instruciune de medie complexitate (2 CM, 7 stri) i o instruciune de maxim complexitate (5 CM, 16 stri).

Fig.1.18. Structura CM la comanda MOV A,B n starea T1, coninutul registrului PC se transfer pe magistrala de adrese n vederea extragerii codului instruciunii (PC out) i cuvntul de stare corespunztor ciclului main se transfer pe magistrala de date n 8228 pentru generarea semnalelor de comand de citire memorie (Status). n starea T2, se incrementeaz PC n vederea extragerii octetului urmtor din memorie. Dac memoria nu rspunde pe durata strii T2, microprocesorul intr ntr-o stare suplimentar, de ateptare, Tw. n starea T3, codul instruciunii, extras din memorie, se transfer n registrul de instruciuni, este decodificat i n T4, T5 se efectueaz operaia de transfer a coninutului lui B n A, prin intermediul unui registru temporar. Instruciunea conine un singur ciclu main i se ncheie dup 5 stri (fig.1.18).

Fig.1.19. Structura CM la comanda MOV A,(HL)

n figura 1.19, primul ciclu main (de aducere) are 4 stri, deoarece instruciunea fiind mai complex, necesit o stare (T4) pentru decodificare, iar operaia codificat n instruciune se execut ntrun ciclu main separat, M2, de citire date din memorie. n starea T1 din M2, coninutul perechii de registre HL se transfer pe magistrala de adrese n vederea citirii locaiei de memorie cu adresa egal cu HL. Dup starea T2, e acces la memorie i eventual dup una sau mai multe stri Tw, octetul de date (Data) din memorie se transfer prin magistrala de date direct n registrul A. n figura 1.20, este prezentat succesiunea ciclurilor main pentru o instruciune de complexitate maxim, care necesit 5 operaii consecutive de acces la memorie i are trei octei (un octet de cod i doi octei de date care reprezint o adres). Primul ciclu main este identic cu cel din instruciunea precedent. n M2, M3 - cicluri main de aducere, se extrag din memorie al doilea octet al instruciunii (Byte 2) i al treilea (Byte 3), care sunt depozitate n registrele speciale Z i respectiv W ( Z=25H, W=9AH). n M4 - citire memorie, octetul de la adresa WZ=9A25H se transfer n L i n M5 - citire memorie, octetul de la adresa WZ+1=9A26H se transfer n H. Se observ c n M4 i M5, adresarea memoriei se face cu perechea de registre WZ, registrul de adresare PC fiind utilizat numai pentru transferul octeilor din program (instruciuni).

Fig.1.20. Structura CM la instruciunea LHLD 9A25

1.9 Unitate central cu Intel 8080 Pentru realizarea unitii centrale (fig.1.21) a unui sistem de calcul bazat pe Intel 8080, sunt necesare trei circuite din familia Intel: 8080 CPU, 8224 (generator de tact) i 8228 (controler de magistral). Generatorul de tact 8224 conine un oscilator cu cuar i un divizor de frecven la ieirea cruia se obin impulsurile de tact aplicate P-ului 8080. Circuitul formeaz de asemenea semnalele RESET i READY pe baza semnalelor de intrare de acelai tip din sistem (RESIN, RDYIN). Controlerul de sistem 8228, are dou funcii principale: - amplificator de magistral de date; - genereaz magistrala de control pe baza semnalelor WR, DBIN, HOLDA i a cuvntului de stare transferat de 8080 pe liniile de date n starea T1 a CM. 5

Execuia unei instruciuni const n efectuarea consecutiv a maxim 5 operaii (cicluri main). Cuvntul de stare (format din 8 semnale de comand) ce corespunde ciclului main curent este ncrcat de P pe durata semnalului SYNC=''1'', pe magistrala de date, operaia fiind validat de semnalul STSTB (Status Strob) - validare stare. ncepnd cu starea T3 a ciclului main, magistrala de date este utilizat pentru transfer de date ntre microprocesor i circuitele externe, iar cuvntul de stare trebuie pstrat pe ntreaga durat a ciclului main. Este deci necesar pstrarea cuvntului de stare ntr-un registru latch. Acesta se afl n structura circuitului integrat 8228 care este i amplificator de magistral bidirecional (buffer). Pe baza cuvntului de stare i a semnalelor WR, DBIN, HOLDA, 8228 genereaz cele 5 semnale de comand active n ''0'', ale magistralei de control: - MEMR (MEMory Read) - citire memorie; - MEMW (MEMory Write) - scriere n memorie; - I/OR (Input/Output Read) - citire date din port I/O; - I/OW (Input/Output Write) - scriere date n port I/O; - INTA (INTerrupt Acknowledge) - acceptare ntrerupere.

Fig.1.21. Unitate central cu INTEL 8080

1.10 Structura unui sistem pe baz de microprocesor Pentru realizarea unui sistem cu P, din punct de vedere hardware, sunt necesare urmtoarele componente (fig. 1.22): - unitatea central de procesare (modulul CPU); - modulul de memorie (ROM pentru programe i RAM pentru date); - modulul de intrare / ieire (realizeaz intefaarea perifericelor la sistem).

Fig.1.22. Sistem pe baz de microprocesor ntr-un sistem pe baz de P exist transfer de informaie ntre P i memorie, ntre P i periferice sau ntre memorie i periferice prin intermediul P (uneori direct ntre memorie i periferice). Schimbul de informaie se realizeaz printr-o adresare exclusiv a sursei i destinaiei n modulul de memorie, ct i pentru periferice. Adresarea este realizat prin intermediul cuvntului de pe magistrala de adresare plus semnalele de pe magistrala de control

You might also like