Sunteți pe pagina 1din 17

MICROPROCESOARE

Microprocesorul poate s rmn o "cutie neagr" pentru muli utilizatori ai calculatorului...

Structura intern a microprocesoarelor


Microprocesorul este o unitate central de prelucrare (Central Processing Unit - CPU) ncorporat ntr-o capsul de circuit integrat, el fiind coordonatorul tuturor operaiilor efectuate de ctre calculator. Are rolul de a citi instruciunile dintr-o zon de memorie, de a decodifica i executa comenzile corespunztoare. Pentru ca microprocesorul s poat citi codul instruciunii care urmeaz a fi decodificat i executat, el trebuie s genereze o adres care va fi pstrat n memorie pn cnd din celula selectat pe baza acestei adrese va putea fi citit data cerut. Pentru a putea fi memorat starea liniilor de adres n timpul operaiei de citire, microprocesorul are nevoie de o memorie intermediar numit registru tampon de adrese (Address Buffer - AB). Informaia codificat care a fost citit, trebuie i ea depus ntr-un registru intermediar, numit registru tampon de date (Data Buffer - DB). Traseele de cupru cu ajutorul crora se va genera informaia binar care reprezint o adres se numesc magistral de adrese (Address BUS - ABUS), iar cele care vor genera informaii corespunztoare datelor citite sau scrise n memorie poart denumirea de magistral de date (Data BUS - DBUS). Pentru a putea efectua diferite calcule aritmetice i logice, microprocesorul are nevoie de o unitate aritmetic i logic (Arithmetic and Logic Unit - ALU). Pentru a putea fi executat o anumit instruciune procesorul conine i o unitate de comand (Command Unit - CU). Aceast component programeaz execuia secvenial n timp a tuturor manevrelor necesare pentru a putea executa instruciunea; ea genereaz semnalele de comand pentru ntregul sistem, dirijeaz fluxul de date, coreleaz viteza de lucru a unitii centrale cu timpul de acces al memoriei etc. Activitatea sa este "pilotat" de un semnal de ceas a crui frecven (deocamdat) este de ordinul Mhz-ilor. Semnalele prin care microprocesorul d comenzi de execuie spre memorie sau spre alte componente ale sistemului poart denumirea de semnale de comand. Semnalele prin care microprocesorul primete informaii despre diferite componente ale sistemului se numesc semnale de stare. Traseele de cupru pe care circul aceste semnale formeaz magistrala de comenzi (Command BUS - CBUS).

n cazul n care o instruciune folosete date care au rezultat n urma execuiei instruciunii precedente atunci aceste date ar trebui citite din nou din memorie. Pentru a evita acest acces suplimentar la memorie, microprocesorul este prevzut cu regitri, n care pot fi pstrate temporar date sau adrese de memorie. Microprocesorul mai are nevoie de un registru special n care s poat fi generat i pstrat nealterat adresa de memorie a urmtoarei instruciuni care trebuie executat. Acest registru se numete instruciune program (Instruction Program - IP) sau contor de program (Program Counter - PC). Mai exist nc un registru special n care sunt pstrate informaii referitoare la natura rezultatului unei operaii aritmetice. Biii care compun acest registru se numesc indicatori de stare, iar registrul poart denumirea de registrul indicatorilor de stare i control. Vor exista bii corespunztori diferitelor stri ale rezultatului cum ar fi: numr par sau impar, negativ sau pozitiv, nul sau nenul etc. Pe lng magistralele externe care sunt folosite pentru "comunicarea" dintre procesor i celelalte componente ale sistemului, microprocesorul este prevzut i cu o magistral intern de date, necesar pentru efectuarea unor transferuri interne de date. La magistralele de date i de comenzi pot fi cuplate circuite de intrare/ieire (Input/Output - I/O) care realizeaz legtura cu exteriorul. Limea unei magistrale reprezint numrul de trasee de cupru care o compun. Numrul de locaii de memorie care pot fi adresate direct de procesor depinde de limea magistralei de adrese, de exemplu o magistral de adrese care conine 20 de trasee permite adresarea a 220 celule de memorie. Pentru a se executa o instruciune, au loc urmtoarele evenimente: microprocesorul depune pe magistrala de date valoarea din registrul IP i depune pe magistrala de comenzi comanda citete din memorie; memoria intern preia de pe magistrala de date valoarea N care a fost stocat n registrul IP, caut adresa N, preia valoarea I coninut n aceast locaie, depune pe magistrala de date valoarea I i pe magistrala de comenzi comanda am terminat citirea; dup ce recepioneaz aceast comand, microprocesorul citete de pe magistrala de date valoarea I i execut instruciunea codificat prin aceast valoare; valoarea din registrul IP este incrementat cu o unitate (devine N+1). Valoarea registrului IP poate fi modificat de una din instruciunile unui program, disprnd astfel monotonia cauzat de incrementarea cu o unitate. O astfel de instruciune ar putea fi scade valoarea k din valoarea registrului IP. Efectul acestei instruciuni este ntoarcerea cu k instruciuni nainte i repetarea lor n alt context (valorile datelor vor fi altele). Toate activitile calculatorului sunt coordonate de ctre pulsurile unui oscilator numit ceas intern. Dup cum am vzut, execuia unei instruciuni const din execuia mai multor etape pariale. Fiecare astfel de etap parial este efectuat n intervalul dintre dou pulsuri de ceas, astfel c intervalul de timp necesar execuiei unei instruciuni poate fi msurat cu ajutorul numrului de pulsuri de ceas.

Structura unui microprocesor Intel


n continuare ne vom ocupa n principal de microprocesoarele 8086 i 8088, acestea fiind denumite de crile de specialitate microprocesoare convenionale. Ori de cte ori vom face referire la un alt microprocesor i vom indica numele. Microprocesoarele 8086 i 8088 au o structur pe 16 bii, deosebirea esenial dintre ele constnd n faptul c 8088 este proiectat cu o magistral de date extern de 8 bii, n timp ce 8086 dispune de una de 16 bii. Aceasta nseamn c pot fi transferai pe magistrala de date extern 8, respectiv 16 bii deodat. Din motive comerciale, Intel a pstrat compatibilitatea cu microprocesoarele aprute anterior, ceea ce nseamn c orice program care funcioneaz cu un anumit microprocesor va funciona i cu orice alt microprocesor aprut ulterior. Microprocesorul Intel are dou componente majore: unitatea de interfa cu magistrala (Bus Interface Unit - BIU) i unitatea de execuie (Executive Unit - EU). Unitatea de interfa cu magistrala transmite procesorului instruciuni i operanzi i rezultatele unor prelucrri spre memoria intern sau dispozitivele de intrare/ieire. Principalele componente ale sale sunt regitrii de segment, registrul pointer de instruciuni, dispozitivul de adresare i coada fluxului de instruciuni. Unitatea de execuie are rolul de a executa instruciunile care i sunt transmise de ctre BIU. Principalele sale componente sunt regitrii generali, registrul de manevr pentru memorarea operanzilor, unitatea aritmetico-logic (ALU) i registrul indicatorilor de stare i control. Magistralele cu ajutorul crora se realizeaz comunicarea dintre microprocesor i celelalte componente ale sistemului de calcul sunt: magistrala de date (pe 16 bii), magistrala de adres (pe 20 de bii) i magistrala de comenzi.

Sistemul de ntreruperi
Microprocesorul mai dispune de dou linii pentru semnalele de ntrerupere emise de dispozitivele externe: linia INTR (Interrupt Request) i linia NMI (Non-Maskable Interrupt). Pe linia INTR sosesc ntreruperi n urma crora unitatea central, n funcie de valoarea indicatorului de validare a ntreruperilor (IF), execut diferite operaii. Dac IF este ters (are valoarea 0) nseamn c ntreruperile semnalate pe linia INTR sunt mascate sau dezactivate, ca urmare unitatea central le ignor i trece la instruciunea urmtoare. Dac IF este poziionat (are valoarea 1) nseamn c ntreruperile de pe linia INTR sunt activate i unitatea central oprete execuia normal a instruciunilor i pred controlul rutinei de tratare a ntreruperilor. NMI este o linie prin care sosesc ntreruperi care anun evenimente critice. Aceste ntreruperi nu pot fi dezactivate i unitatea central le va lua n considerare de fiecare dat cnd acestea sosesc. Sistemul de ntreruperi este simplu i uor de manevrat. Pot fi utilizate cel mult 256 de tipuri de ntrerupere, fiecrui tip fiindu-i atribuit un cod specific. ntreruperile pot fi clasificate n ntreruperi externe i ntreruperi interne. Cele externe sunt numite i ntreruperi hardware, iar cele interne mai poart denumirea de ntreruperi software. Diferena esenial dintre cele dou tipuri de ntreruperi este c cele externe sunt cauzate de dispozitivele externe, iar cele interne sunt generate prin program, folosindu-se anumite instruciuni.

Tabela vectorilor de ntrerupere


Tabela vectorilor de ntrerupere permite asocierea dintre tipul ntreruperii (reprezentat de un numr ntre 0 i 255) i rutina de tratare a ntreruperii. Fiecare intrare a tabelei ocup 4 bytes, ea coninnd adresa rutinei de tratare a ntreruperii. Tabela ocup prima zon a memoriei interne i poate avea pn la 256 de intrri. La apariia unei ntreruperi este suspendat execuia instruciunilor programului curent i sunt salvate pe stiv registrul cu indicatorii de stare i control i adresa instruciunii urmtoare; apoi este activat rutina de tratare a ntreruperii.

Unitatea aritmetic i logic


Pentru efectuarea operaiilor aritmetice procesorul are nevoie de circuite specializate n acest sens. n aritmetica binar operaiile aritmetice pot fi descrise cu ajutorul unor funcii logice, de aceea este normal ca circuitele respective s fie utilizate i pentru operaiile logice propriu-zise. Aceste circuite utilizate de procesor pentru efectuarea operaiilor aritmetice i logice poart denumirea de unitate aritmetic i logic. ALU face parte din unitatea de execuie a microprocesorului, ea avnd i rolul de a gestiona indicatorii de stare i control ai microprocesorului i de a manevra regitrii generali i operanzii instruciunilor. Regitrii i cile de date interne sunt de 16 bii, deoarece se dorete mrirea transferurilor interne.

Coada de instruciuni

Unitatea de execuie nu are nici o legtur cu magistrala sistemului, cea care efectueaz toate operaiile necesare cu magistrala fiind unitatea de interfa cu magistrala. n timpul n care unitatea de execuie se ocup cu execuia instruciunilor, unitatea de interfa cu magistrala ncarc instruciunile ntr-o memorie special de tip RAM (Random Acces Memory) numit coada fluxului de instruciuni. Aceast memorie are o dimensiune de 4 bytes n cazul microprocesoarelor 8088 i 6 bytes n cazul 8086. Unitatea de execuie preia cte o instruciune din coada fluxului de instruciuni; apoi o execut. n majoritatea cazurilor coada fluxului de instruciuni conine cel puin un byte al fluxului de instruciuni i unitatea de execuie nu mai trebuie s atepte ncrcarea instruciunii care urmeaz a fi executat. La un moment dat n coada fluxului de instruciuni sunt memorate instruciunile care se afl n locaiile de memorie imediat urmtoare locaiei de memorie n care se afl instruciunea care se execut la acel moment. Dac este executat o instruciune care transfer controlul unei locaii de memorie, coada fluxului de instruciuni este tears, se ncarc instruciunea de la noua adres i unitatea de interfa cu magistrala ncepe rencrcarea cozii fluxului de instruciuni cu instruciunile urmtoare.

Dispozitivul de adresare
Microprocesorul trebuie s poat adresa att instruciunile ct i datele de care instruciunile au nevoie atunci cnd sunt executate. Adresa locaiei de memorie din care se va ncrca o instruciune este suma dintre o adres de segment i un deplasament. Pentru adresarea datelor, microprocesorul ofer cteva modaliti de adresare.

Segmentarea memoriei
Microprocesoarele 8086 i 8088 pot adresa 1 MB de memorie care sunt grupai n mai multe segmente. Un segment de memorie este o unitate logic de memorie care poate avea cel mult 64 KB. Fiecare segment de memorie este alctuit din mai multe locaii de memorie consecutive i poate fi considerat ca o unitate care poate fi adresat independent. Fiecare segment este caracterizat printr-o adres de baz care reprezint adresa locaiei de nceput a segmentului i este exprimat n numr de blocuri de 16 bytes, numite paragrafe. Ca urmare, toate segmentele ncep de la o adres care este un multiplu de 16. Dou segmente se numesc adiacente dac adresa de nceput a unuia dintre ele este cu 1 mai mare dect adresa de sfrit a celuilalt. Dou segmente sunt parial suprapuse dac adresa de nceput a unuia se afl ntre adresa de nceput i cea de sfrit a celuilalt. Dou segmente sunt suprapuse complet dac adresele lor de nceput coincid. n toate celelalte cazuri segmentele se numesc disjuncte. n funcie de necesiti o anumit aplicaie (program) utilizeaz segmentele n mod diferit. Segmentele care pot fi adresate n mod curent ofer 64 KB pentru cod, 64 KB pentru stiv i 64 KB pentru date. Pentru a utiliza un spaiu de lucru mai mare, trebuie gestionate segmentele de memorie n funcie de necesiti.

Adrese fizice i adrese logice


Adresa fizic este o valoare reprezentat pe 20 de bii care identific n mod unic fiecare locaie de memorie aflat n spaiul de adresare. Ca urmare aceast adres poate fi un numr cuprins ntre 0 i 220-1. Pentru a nu depinde de locul n care este pstrat codul n memorie, programele folosesc adresele logice n locul celor fizice. Adresa logic este dat de o valoare de baz de segment i o valoare de deplasament. Valoarea de baz a segmentului indic adresa primului byte al segmentului care conine locaia i este exprimat n paragrafe. Deplasamentul reprezint numrul de octei dintre locaia respectiv i nceputul segmentului. Att adresa de baz ct i deplasamentul sunt reprezentate pe 16 bii. Este posibil ca mai multe adrese logice s localizeze o aceeai locaie de memorie atunci cnd aceasta face parte din segmente diferite. De exemplu adresele logice F000:FFF0 i FFFF:0000 indic aceeai locaie de memorie i anume cea care are adresa fizic FFFF0. Generarea adresei fizice cu ajutorul adresei logice se realizeaz nmulind cu 16 valoarea bazei segmentului (shiftare spre stnga cu 4 poziii) i adugnd deplasamentul.

Mecanisme de adresare
Calculele de adres sunt efectuate de unitatea de interfa cu magistrala, cu ajutorul unei uniti de calcul, specifice, numit ADR i a unor regitri speciali fiecare avnd o capacitate de 16 bii. Primele generaii de calculatoare aveau o memorie de 1 MB. Primele 10 blocuri de memorie (640 KB) formeaz memoria RAM, urmtoarele 5 fiind folosite pentru memoria ecran i reinerea coninutului memoriei ROM n timpul funcionrii sistemului. Pentru a putea codifica n mod unic fiecare din cele 220 de locaii de memorie diferite, o adres trebuie s fie reprezentat pe 20 de bii. Magistrala de adrese are capacitatea necesar pentru a transmite cei 20 de bii deodat, ns nu se poate spune acelai lucru despre magistrala de date care are o capacitate de 16 bii. Prin convenie adresa de nceput a fiecrui segment este un multiplu de 16, iar un segment poate avea cel mult 64 KB. Datorit acestui fapt cei mai nesemnificativi 4 bytes ai adresei de nceput a segmentului vor fi 0 (n baza 2 un multiplu de 16 are ultimele 4 cifre ntotdeauna 0). Din acest motiv aceti 4 bii nu mai trebuie memorai i ca urmare regitrii de segment vor conine numai restul celor 16 bii. Pentru a specifica deplasamentul (offset) sunt folosii tot 16 bii. O adres virtual este compus din dou numere reprezentate fiecare pe 16 bii, unul reprezentnd coninutul registrului de segment, iar al doilea deplasamentul n cadrul segmentului. Adresa fizic este calculat de ctre BIU nmulind cu 16 primul numr adunnd la rezultat cel de-al doilea numr. Mecanismul descris este tipic pentru procesorul 8086 i poart denumirea de mod real (Real Adress Mode). La microprocesoarele 80286 apare nc un mod de adresare, denumit mod protejat (Protected Virtual Address Mode), iar o dat cu apariia procesorului 80386 sunt introduse modul paginat i modul virtual 8086. Aceste noi modaliti de adresare au fost introduse pentru a permite adresarea de ctre un calculator IBM-PC a mai mult de 1 MB de memorie.

Implementarea stivei
Stiva este o zon de memorie folosit pentru a stoca datele temporare. Deosebirea esenial dintre stive i alte segmente de memorie este faptul c datele de pe stiv sunt stocate ncepnd de la adresele mai mari de memorie i continund spre adrese mai mici. La nceput stiva este un segment de memorie neiniializat care are o dimensiune fix. n timp ce sunt adugate informaii n stiv dimensiunea stivei "crete" de la adresele mari spre adresele mai mici, iar cnd sunt eliminate informaii, stiva se "micoreaz" n sens invers.

Numrul de stive este limitat numai de spaiul de memorie disponibil n sistem, iar dimensiunea unei stive nu poate depi 64 KB. Dac se extinde stiva peste aceast dimensiune, informaiile adugate vor nlocui informaiile de la nceputul stivei. La un moment dat nu poate fi adresat direct dect o stiv, ea purtnd denumirea de stiv curent.

Regitri
Regitrii microprocesoarelor 8086 i 8088 sunt n numr de 14, au fiecare cte 16 bii i pot fi mprii n urmtoarele categorii: regitrii generali, regitrii de segment, registrul pointerului de instruciuni i registrul indicatorului de stare i control. Regitrii generali sunt n numr de 8 i pot fi clasificai n regitri de date (AX, BX, CX i DX), regitri de pointer (SP i BP) i regitri de index (SI i DI). O caracteristic important a regitrilor de date este aceea c "jumtile" lor pot fi accesate separat, deci ei pot fi folosii fie ca regitri de 16 bii, fie ca doi regitri de cte 8 bii fiecare. Cele dou jumti ale registrului AX pot fi referite ca regitri AL, respectiv AH. n acelai mod putem folosi regitrii BL, BH, CL, CH, DL i DH. Regitrii de pointer i de index pot fi folosii numai ca regitri de 16 bii. Regitrii de segment, 4 la numr, sunt denumii CS, SS, DS i ES. Registrul CS indic segmentul de cod curent (adresa de baz a segmentului de memorie care conine codul programului). Registrul SS indic segmentul de stiv curent, operaiile cu stiva fiind efectuate n locaiile de memorie corespunztoare acestui segment. Registrul DS indic segmentul de date curent, segment ce conine, de obicei, datele i variabilele programului. n sfrit, registrul ES, indic extrasegmentul curent, folosit de obicei tot pentru date. Aceti regitri pot fi modifica i direct prin program. Registrul pointerului de instruciuni (IP) este un registru actualizat de BIU i conine deplasamentul locaiei de memorie n care se afl instruciunea urmtoare fa de nceputul segmentului de cod curent. Acest registru nu poate fi modificat direct prin program. Registrul indicatorilor de stare i control este un registru ai crui bii au fiecare cte o semnificaie aparte. Ei indic starea rezultatului operaiei pe care o execut programul la un moment dat sau controleaz unele operaii ale microprocesorului. Registrul conine 6 bii de stare i 3 bii de control, restul biilor fiind rezervai, ei neavnd o semnificaie precizat. Microprocesorul 80386 utilizeaz aceiai regitri ca i predecesorii si din familia 8086, dar toi regitrii (cu excepia celor de segment) pot fi extinse pn la 32 de bii. Denumirea regitrilor extini ncepe cu litera E i ei se numesc EAX, EBX, ECX, EDX, ESP, EBP, ESI, EDI i EIP). Au fost adugate i doi regitri de segment suplimentari FS i GS.

Indicatori
Cei 16 bii ai registrului indicatorilor de stare i control poart denumirea de indicatori (denumire sugerat i de numele registrului) sau flaguri. Cuvntul englezesc flag este

tradus n limba romn prin steag. Denumirea sugereaz faptul c un anumit stegule va fi ridicat n cazul n care o condiie este ndeplinit. Mai multe instruciuni permit modificarea execuiei unui program n funcie de cei ase indicatori de stare. Indicatorul de transport (Carry - CF) indic faptul c cel mai semnificativ bit al rezultatului operaiei care s-a efectuat a fost "transportat" n exterior. De obicei este utilizat atunci cnd se efectueaz operaii matematice cu numere a cror reprezentare este pe mai mult de un octet. Indicatorul mai poate fi modificat i n cazul operaiilor de deplasare i rotire. Indicatorul de paritate (Parity - PF) este poziionat dac rezultatul conine n reprezentare un numr par de bii cu valoarea 1. De obicei este folosit pentru verificarea transmisiilor de date. Indicatorul de transport auxiliar (Auxiliary Carry - AF) este poziionat dac a avut loc un transport de la un nivel inferior la un nivel superior al semioctetului rezultatului. Este folosit n operaiile cu numere reale. Indicatorul de zero (Zero - ZF) este poziionat dac rezultatul operaiei este 0. Indicatorul de semn (Sign - SF) este poziionat dac cel mai semnificativ bit al rezultatului este 1. Indicatorul de depire (Overflow - OF) este poziionat dac are loc o depire aritmetic, adic dimensiunea rezultatului depete capacitatea locaiei de destinaie. Aceti bii indicatori de stare sunt poziionai de ctre unitatea de execuie. Indicatorii de control permit controlarea unor operaii ale microprocesorului i ei pot fi modificai prin program. Indicatorul de depanare (Trap/Trace - TF) dac este poziionat, indic faptul c programul va fi executat pas cu pas. Unitatea central va genera o ntrerupere dup fiecare instruciune, existnd posibilitatea urmririi execuiei fiecrei instruciuni. Indicatorul de ntrerupere (Interrupt - IF) indic unitii centrale, n cazul n care este poziionat, c trebuie s "reacioneze" la ntreruperile externe mascabile. Dac acest indicator nu este poziionat aceste ntreruperi vor fi ignorate. Nu are efect asupra ntreruperilor externe nemascabile sau asupra ntreruperilor interne. Indicatorul de direcie (Direction - DF) n cazul n care este poziionat, indic faptul c irurile vor fi prelucrate de la adresele mari spre adresele mici (de la dreapta la stnga). n caz contrar irurile vor fi prelucrate de la stnga la dreapta. ncepnd cu microprocesorul 80286 au fost adugate nc dou indicatoare pentru a acorda mai multe faciliti programatorului. Indicatorul protecie intrare/ieire (Input/Output Privilege level flag - IOP) indic nivelul de protecie pentru intrare i ieire. Trebuie remarcat c pentru acest flag sunt folosii 2 bii. Indicatorul imbricare (Nested flag - N) controleaz nlnuirea proceselor ntrerupte n modul protejat. ncepnd cu microprocesorul 80386 registrul indicatorilor de stare i control este i el extins la 32 de bii, fiind adugai nc doi indicatori. Indicatorul reluare (Restart flag - R) determin, dac este poziionat, dezactivarea temporar a excepiilor de depanare.

Indicatorul mod virtual (Virtual 8086 mode flag - V) indic, n cazul poziionrii sale, modul de execuie virtual 8086. n caz contrar modul de execuie va fi modul protejat. O dat cu apariia microprocesorului 80486 au aprut nc 7 indicatori de stare i control: indicatorul AC permite generarea unui semnal de eroare n cazul n care apar date incorect aliniate; indicatorul PG arat dac paginarea este activ sau nu; indicatorul CE este folosit pentru conectarea memoriei cache; indicatorul WT este folosit pentru validarea i invalidarea scrierii n memoria cache; indicatorul WE controleaz dac la coprocesor apare o excepie datorat vectorului de ntrerupere 2h sau 16h (numerele terminate n h indic faptul c ele sunt scrise n sistem hexazecimal - baza 16; numrul 16h poate fi scris ca 22 dac se folosete sistemul zecimal); indicatorul TS este setat n cazul n care este lansat un task; indicatorul EM arat dac instruciunile ESC sunt preluate sau transmise mai departe la coprocesor.

SCHEMA INTERNA A UNUI MICROPROCESOR

SCHEMA BLOC FUNCTIONALA A UNUI MICROPROCESOR

Exemple de microprocesoare
INTEL 4004 - primul microprocesor; aparut in 1971, realizat in tehnologie PMOS, inglobeaza 2.250 de tranzistoare pe pastila de siliciu. Prelucrare pe 4 biti, ceas de 740 KHz, viteza 60.000 de operatij/secun-da, memorie adresabila 4 Koct, set de 45 instructiuni orientate pe operatiuni aritmetice.Utilizatorul poate programa microprocesorul sa realizeze un numar mare de sarcini diferite, fiind un circuit versatil, spre deosebire de circuitele dezvoltate anterior care erau dedicate. INTEL 8008 - aparut in 1972, microprocesor pe 8 biti, tehnologie PMOS, grad de integrare 3.300 tranzistoare pe pastila de siliciu, ceas 800 KHz, viteza 30.000 operatii/secunda, memorie adresabila 16 Koct, set de 48 de instructiuni. Proiectat initial

pentru comanda unui display pe tub catodic pentru firma DATAPOINT Corporation, microprocesorul nu a fost acceptat, fiind considerat prea lent, fata de logica cablata clasica. Totusi, piata a absorbit curind circuitul, aplicatiile sale de manipulare date si caractere dovedind utilitatea sa. A devenit evident pentru INTEL ca un viitor deosebit era in fata acestor circuite. INTEL 8080-tehnologie NMOS, grad de integrare 4.500 de tran zistoare pe capsula, capacitate de adresare 64 Koct, frecventa ceasului 2,083 MHz, 200.000 de operatii/secunda, set de 72 de instructiuni.Succesul deosebit al lui 8008, a determinat INTEL sa proiecteze si sa lanseze pe piata, in aprilie 1974, microprocesorul 8080. Prin versatilitate, acest microprocesor a determinat aparitia a nenumarate aplicatii care au inglobat circuitul. 8080 si-a gasit locul in industria electronica, a bunurilor de consum chiar si in cea a automobilelor. Dar poate cea mai importanta aplicatie, cu cele mai penetrante implicatii in viitor a fost realizarea pe baza lui 8080 a primului calculator personal ALTAIR 8800, produs in 1975 de catre firma Micro Instru-mentation Telemetry Systems.Tot de 8080 este legata si aparitia primului calculator personal "comercial", APPLE II. Istoria nasterii si evolutiei firmei APPLE ilustreaza extraordinara putere a ideii novatoare in conditiile economiei de piata si intr-un fel mitul succesului american. Proiectat si realizat literalmente "pe genunchi", intr-un garaj, de doi studenti, Steve Wozniak si Steven Jobs, vindut, in 1976 direct din acelasi garaj; actiunea, la inceput cu putine sanse de reusita, a pus bazele unei firme APPLE CO, care avea sa parcurga triumfal calea succesului, devenind numai in 8 ani o corporatie internationala avind la activ multe miliarde de dolari.Si cum inovatia trebuia sustinuta si in domeniul software-ului, un la fel de tanar student, Bill Gates, a implementat un BASIC pe calculatorul ALTAIR. A fost prima actiune a unei mici companii, care va determina in mod decisiv software-ul de microcalculatoare. Microsoft are astazi mai mult de 1500 de angajati si un venit anual de peste 350 milioane $.

MICROPROCESORUL Z80
Z80 este un microprocesor pe 8 bii produs de firma Zilog ncepnd cu anul 1976. Dispune de o magistral de adrese pe 16 bii, capabil s adreseze 64k de memorie. Este compatibil cu procesorul Intel 8080, avnd n plus 80 de noi instruciuni, 2 regitri index dubli i instruciuni de ntrerupere.

DESCRIERE
Z80 dispune de 40 de pini. Frecvena de tact este de 2,5MHz, aceasta crescnd la variantele ulterioare Z80A (4MHz), Z80B (6MHz), Z80H (8MHz) i altele, pn la 2025MHz. Dispune de urmtorii regitri de 8/16 bii:

A - Acumulator A' - Acumulator alternativ BC, DE, HL - regitri generali B'C', D'E', H'L' - regitri generali alternativi F - registrul indicatorilor de condiie (flaguri) F' - registrul indicatorilor de condiie alternativ IX, IY - regitri index I - vectorul de ntreruperi R - registrul de refresh al memoriei SP - registrul de stiv PC - contorul program Setul de instruciuni cuprinde 158 instruciuni de ncrcare pe 8 i 16 bii, interschimb, transfer de blocuri de date, cutare, operaiuni aritmetice i logice, rotire i shiftare, instruciuni pe bit, salturi, apeluri de subrutine, intrare/ieire. Pe lng setul oficial exist i instruciuni ascunse.

VERSIUNI
Z80 a fost produs i de multe alte firme, printre care i MicroElectronica Bucureti, sub numele de MMN80CPU. A fost unul din cele mai populare microprocesoare din anii 70'80', fiind folosit n calculatoarele Sinclair ZX80, ZX81 i ZX Spectrum, Amstrad CPC i Amstrad PCW, HC, AMIC, CoBra i altele.

STRUCTURA INTERNA A PROCESORULUI Z80

MICROPROCESOARE SECOLUL XXI

- Frecvente de ceas mai mari de 2 GHz - Procesoare de mica putere (aplicatii mobile) - Micro-arhitecturi superscalare (mai multe instructiuni lansate in
paralel)

- SIMD (Single Instruction Stream Multiple Data Stream) :


operatii similare efectuate in paralel pe seturi diferite de date

- Functii de prelucrare DSP : MMX , 3D , grafica , sunet - Nuclee procesor multiple pe un chip Memorie cache pe 2-3 niveluri

CUPRINS

ARGUMENT

BIBLIOGRAFIE

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