cap1nr

Upload: laurentiu-tanase

Post on 01-Mar-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 CAP1nr

    1/8

    1. INTRODUCERE

    1.1. MICROPROCESORUL - REPERE GENERALE

    Printre progresele tehnologiei electronice, inregistrate in ultimele decenii, aparitia

    microprocesoarelor a reprezentat un moment de cotitura, atat in ceea ce priveste plaja practicnelimitata a domeniilor de aplicatie a acestor componente revolutionare din punct de vedere

    tehnic si tehnologic, cat si in ceea ce priveste conceptia si realizarea (tehnicile de analiza,

    proiectare, sintetizare si testare) a sistemelor cu microprocesor. Un nou mod de abordare a

    controlului proceselor industriale, cu ajutorul sistemelor numerice, devenea posibil cu acest

    prilej.

    Incepand modest, cu microprocesoare de 4 biti, de viteza relativ redusa, cu costuri ridicate si

    dispunand de relativ putine elemente de dezvoltare a aplicatiilor, piata microprocesoarelor a

    inregistrat progrese de-a dreptul inimaginabile in urma cu cativa ani, evoluand intr-o progresie

    exponentiala.

    Obtinerea "calculatoarelor pe un cip", cu performante de-a dreptul spectaculoase, s-a facut

    extrem de rapid, iar estimarile pentru urmatorii ani prevad o expansiune a sistemelor

    microprocesor, ce vor depasi, in curand, ca numar de sisteme implementate in diverse

    aplicatii, populatia globului pamantesc.

    Si din punctul de vedere al caracteristicilor putere de calcul / cost / nivel de sofisticare,

    microprocesoarele si microcalculatoarele (calculatoarele care utilizeaza ca unitate centrala un

    microprocesor), se situeaza pe pozitii deosebit de avantajate, comparativ cu celelalte tipuri

    "clasice", de calculatoare. Figura 1.1. prezinta sintetic unele dintre aceste caracteristici pentru

    diversele tipuri de echipamente de calcul aflate in uz. Se remarca faptul ca microcalculatoarelesi microprocesoarele reprezinta elemente deosebit de atractive din punctele de vedere al

    raportului performanta/pret, si nivel de sofisticare/pret, in comparatie cu celelalte tipuri de

    asemenea echipamente.

    Termenul de "microprocesor" a fost introdus in 1972 de catre firma americana INTEL,

    realizatoarea primului microprocesor de 4 biti, in anul 1971. Curand, microprocesoare de 8,

    16 si 32 de biti au fost produse (in 1972, 1974 si 1981, respectiv). Numarul de componente pe

    cip a crescut de peste 500 de ori, frecventa de lucru a circuitelor de peste 100 de ori, in esenta

    capacitatea globala a acestor sisteme s-a majorat cu peste trei ordine de marime.

  • 7/26/2019 CAP1nr

    2/8

    BAZELE MICROPROCESOARELOR

    1-2

    Logica cablata

    Calculatoareelementare

    Microprocesoare

    Microcalculatoare

    Minicalculatoare

    Midicalculatoare

    Calculatoare de mare

    performanta (mainframe)

    putere de calcul

    numar de biti

    n

    cost

    lungime cuvint

    minima maxima

    grad desofisticare

    foarteridicat

    scazut

    2 4 6 8

    4 8 16 32 64

    Fig.1.1. Compararea costului, puterii de calcul si capacitatii diverselor calculatoare numerice

    In primul deceniu de existenta, microprocesoarele au evoluat de la structuri relativ elementare,

    cu performante limitate, la situatia de a se impune treptat in fruntea sistemelor de calcul de

    larga raspandire, atat din punct de vedere al puterii de calcul, cat si al structurii arhitecturale,

    deosebit de sofisticate. Primele tipuri de microprocesoare indeplineau doar functiile de baza

    ale sistemului, necesitand suplimentar o gama intreaga de circuite suplimentare pentrugenerarea semnalelor de temporizare, pentru memorarea datelor si a programelor, pentru

    interfatarea cu perifericele sistemului si cu procesul controlat, etc. Utilizarea

    microprocesoarelor a fost orientata initial cu predilectie ca microcontrolere in structuri

    dedicate, pentru aplicatii de control al proceselor. Setul de instructiuni al acestora era relativ

    limitat, iar programarea se facea direct in cod masina. Dezvoltarea ulterioara a arhitecturilor

    evoluate, aparitia limbajelor de programare de nivel inalt, deosebit de performante, cresterea

    puterii de calcul si a flexibilitatii, aparitia si expansiunea sistemelor de dezvoltare, au largit

    considerabil aria de aplicatii ale microprocesoarelor.

    Din punctul de vedere al tehnologiei de fabricatie, s-a pornit initial de la tehnologia pMOS.Practic, toate tehnologiile disponibile de fabricare a circuitelor semiconductoare au fost testate

    de-a lungul anilor (CMOS, NMOS, bipolare, I2L). Sunt preferate circuitele realizate in

    tehnologii MOS, datorita densitatii mai mari de tranzistoare pe cip, ce se pot obtine in aceste

    tehnologii. Dintre acestea, tehnologia NMOS a fost cea mai utilizata, atit datorita densitatii

    mari cat si a vitezei ridicate de comutatie. (Firma INTEL a denumit aceasta tehnologie HMOS

    - H high performance= mare performanta). Astfel, circuitul INTEL 8086, produs in 1978,

    continea 29000 de tranzistoare; nu mult mai tarziu, in 1982, era produs circuitul INTEL

    80286, cu un numar de 130000 de tranzistoare pe cip. Aparut in 1988, microprocesorul 80486

    a ajuns la peste 2000000 tranzistoare pe cip. Progrese tot mai mari s-au facut in tehnologia

  • 7/26/2019 CAP1nr

    3/8

    INTRODUCERE

    1-3

    CMOS, care prezinta avantajul de a avea viteze superioare, consum redus de putere, si o mai

    mare imunitate la zgomot.

    Unul dintre cele mai importante criterii, pentru evaluarea si selectia microprocesoarelor, estemarimea cuvantului de dateal acestora. Cuvinte de date mai mari implica evident o putere de

    calcul si adresabilitate sporite. Actualmente, microprocesoarele de 16 si 32 biti domina piata

    de microcalculatoare, desi o gama relativ importanta de aplicatii, in domeniul controlului

    proceselor industriale, este implementata cu microprocesoare de putere mai mica (uzual,

    microprocesoare de 8 biti), suficiente ca putere de calcul si capacitati de adresare, si

    competitive ca pret de cost.

    Progrese importante s-au facut si in domeniul "microprogramarii". Procesoarele

    microprogramate, (spre deosebire de microprocesoarele "clasice", cu structura fixa si set de

    instructiuni impus de fabricant), permit (desi la o viteza relativ mai redusa), obtinerea unor

    structuri mult mai flexibile, in ceea ce priveste realizarea si modificarea eventuala a setului deinstructiuni, de catre utilizator, adaptate specific aplicatiei abordate. Aceste instructiuni

    (macro-instructiuni), sunt definite pe baza unui set restrans de microinstructiuni, de catre

    realizatorul sistemului. Executia programelor se face astfel in doua etape succesive (doua

    nivele de control). Aceasta reduce intru-catva viteza globala a sistemului.

    Progresele inregistrate din punct de vedere tehnologic au facut ca, practic, densitatea

    circuitelor integrate de tip VLSI1ce includ microprocesoarele, sa se dubleze la fiecare doi ani.

    Avantajul imediat al acestui fapt consta in posibilitatea de a se implementa seturi de

    instructiuni mult imbunatatite si extinse. Exista astfel microprocesoare in care o singura

    instructiune controleaza transferul unor blocuri de date din memorie, sau opereaza cu maimulte registre simultan. De multe ori, unele instructiuni sunt apropiate de instructiuni in

    limbaje de nivel inalt, usurand compilarea deosebit de eficienta a programelor, si

    implementand direct o gama de functii uzual realizate prin programare (software). Cresterea

    performantelor si a complexitatii acestor circuite s-a facut bineinteles cu pretul unui efort de

    proiectare sensibil crescut. Astfel, acesta a crescut de la 1 om-an, la peste 100 om-an, pentru

    circuitele cele mai avansate.

    In decursul anilor, a crescut sensibil si capacitatea de adresare a microprocesoarelor.

    Numarul de moduri auxiliare de adresare a crescut deasemenea. Multe firme ofera circuite

    specializate pentru controlul si coordonarea functionarii memoriei sistemului. Totodata, firme

    ca INTEL includ in circuitul microprocesorului si functiile de protectie a accesului si controlal memoriei. Utilizarea memoriei virtuale permite adresarea unor spatii de ordinul

    gigaoctetilor. Este posibila astfel executia programelor foarte mari, executia "simultana" a mai

    multor programe (multitasking), lucrul "simultan" al mai multor utilizatori (multiuser).

    Asemenea sisteme utilizeaza suporturi de memorie exterioara (disc), pentru memorarea

    temporara a programului si a datelor. Un concept deasemenea tot mai utilizat este asa-numita

    memorie cache, relativ mai redusa volumic, dar de viteze foarte mari, in care se

    inmagazineaza programul sau datele, extrase din memoria sistemului, sau de pe disc, marind

    sensibil, per global, viteza de lucru a sistemului, si deci performantele acestuia.

    1VLSI - Very Large Scale Integrated = Integrare pe scara foarte larga

  • 7/26/2019 CAP1nr

    4/8

    BAZELE MICROPROCESOARELOR

    1-4

    Microprocesoarele difera sensibil in ceea ce priveste capacitatile de memorare si manipulare

    a diverselor tipuri de date. Daca reprezentarea si manipularea informatiilor sub forma octetilor

    si a cuvintelor de date este uzuala la toate tipurile de microprocesoare, alte tipuri de operatii,ca de exemplu cu informatii reprezentate pe biti,BCD1, reale (virgula mobila), texte (siruri de

    caractere), etc., nu sunt intotdeauna direct acceptate. De exemplu, date manipulate ca biti

    individuali nu sunt acceptate de catre microprocesorul 8086, desi sunt foarte utilizate in

    aplicatiile de proces. Cu cat accepta o gama mai extinsa de tipuri de date, microprocesorul

    devine mai potrivit unei game tot mai largi de posibile aplicatii. Din nefericire aceasta implica

    o structura complexa a sistemului, si utilizarea unui numar tot mai mare de componente.

    Uneori, tipuri de date suplimentare se pot folosi doar prin utilizarea unor circuite auxiliare. De

    exemplu, circuitul INTEL 8087, coprocesor matematic compatibil cu microprocesorul 8086,

    permite implementarea calculelor in virgula mobila in sistemele respective. Diversitatea

    tipurilor de microprocesoare si a coprocesoarelor aferente, produse de diferite firme, a impus

    standardizarea operatiilor aritmetice in virgula mobila (standardul IEEE P754), acceptata decatre microprocesoarele sau coprocesoarele aritmetice aferente.

    Revolutia microprocesoarelor este generata de tendinta de a se implementa toate

    componentele unui calculator cu ajutorul unui numar relativ redus de cipuri. Orice calculator,

    indiferent de marime, incorporeaza trei componente de baza: uni tatea centrala de prelucrare

    (CPU2), continand elementele de calcule aritmetice, logice si functiile de control; memoria

    (RAM - pentru citire/scriere, si ROM - doar citire), si in ter fetele de intrare/iesire pentru

    controlul periferiei calculatorului. Odata cu progresele tehnologice inregistrate, tot mai multe

    componente pot fi integrate pe acelasi cip, si astfel tot mai multe functii auxiliare se pot

    implementa pe cipul microprocesorului insusi. Se obtin astfel calculatoare construite cu foarteputine cipuri. Un microcalculator combina un microprocesor cu memorie si capacitati de

    intrare/iesire pe unul sau mai multe cipuri. Microcalculatoarele pe un singur cipconstituie

    un subset important al microprocesoarelor, in care toate functiile, inclusiv memoria, sunt

    implementate pe acelasi cip. Evident, aparitia acestor tipuri de microcalculatoare este

    intotdeauna relativ intarziata fata de aparitia microprocesoarelor cu o putere de calcul similara

    (de exemplu, primul microcalculator de 8 biti pe un cip, INTEL 8048, a fost produs in anul

    1976, la patru ani dupa producerea primului microprocesor de 8 biti, INTEL 8008).

    Deoarece aceste circuite se produc in cantitati deosebit de mari, este necesara o proiectare

    foarte atenta, optimizandu-se arhitectura propusa, memoria sistemului, setul de instructiuni,

    tehnicile de adresare a memoriei, si alte restrictii de proiectare, legate de parametrii deperformanta, executie, etc. Peste 4/5 din tranzistoarele cipului tind a fi utilizate pentru functii

    de memorie. Desi au performante foarte bune, aceste circuite sunt inca departe de

    performantele de calcul ale supercalculatoarelor de tipul CRAY-1.

    La cealalta extremitate a spectrului se afla aplicatiile ce necesita o putere de calcul foarte

    mare, sau precizie sporita, ce nu se pot atinge cu microprocesoarele "clasice". Utilizarea

    procesoarelor bit-slicepermite legarea mai multor cipuri modulare identice in paralel, pana la

    1BCD - Binary Coded Decimal = zecimal codat binar

    2CPU - Central Processing Unit = unitate centrala de prelucrare

  • 7/26/2019 CAP1nr

    5/8

    INTRODUCERE

    1-5

    obtinerea structurii cu o precizie corespunzatoare. Dupa cum s-a precizat, posibilitatea de a

    dezvolta si un macro-set de instructiuni, specific unei aplicatii date, confera un avantaj

    suplimentar la utilizarea acestor structuri.

    O tot mai mare amploare o au in ultima vreme procesoarele specializate, de tipul

    procesoarelor DSP1, cu capacitati de calcul deosebite (implementare specifica de filtre

    numerice, transformate Fourier - FFT, corelatii, convolutii, etc.), in ceea ce priveste

    prelucrarea numerica a semnalelor. Uzual, aceste microprocesoare sunt dotate cu elementele

    de interfatare necesare, inclusiv convertoare A/D si D/A pentru conectarea la procese

    analogice.

    O evolutie interesanta au avut-o si transputerele, procesoare cu structuri pretabile la realizarea

    de calculatoare cu procesare paralela, de performante deosebit de ridicate, mai ales in ceea ce

    privesc performantele de calcul obtinute.

    In fine, trebuiesc mentionate circuitele integrate de tip VLSI, proiectate si realizate direct

    pentru o aplicatie data (asa numitele circuite de tip ASIC2 ). S-a ajuns la solutii economic

    convenabile de a se proiecta, pe un sistem microcalculator de putere sporita (asa numitele

    workstations3), utilizand pachete puternice de programe de proiectare (CAD4), structura

    circuitului dorit. Se porneste de la caracteristicile functionale finale dorite ale circuitului.

    Proiectantul trebuie sa cunoasca cerintele produsului final, si sa il sintetizeze utilizand ca

    elemente componente "blocuri" functionale predefinite, puse la dispozitia sa de catre

    programul de proiectare. Dupa definirea structurii functionale a sistemului, se simuleaza

    functionarea si se modifica (daca este cazul) structura circuitului, pana la obtinerea

    comportarii si performantelor dorite. Apoi, se produc efectiv circuitele respective, si setesteaza "pe viu" functionarea acestora. Acest mod de proiectare ofera avantajul deosebit de a

    se muta conceperea circuitului, la virtualul utilizator, care poate produce cel mai adecvat

    procesor pentru aplicatia data. Bineinteles, economic vorbind, acest mod de producere a

    circuitelor integrate specializate (inclusiv procesoare), este avantajos doar pentru cantitati

    relativ mari de circuite de un tip dat. Durata proiectarii si realizarii circuitelor in acest mod

    scade sensibil.

    Concluzionand, putem remarca extrema diversitate de aspecte ridicate de caracterizarea

    circuitelor microprocesor existente. Paleta deosebit de larga de performante, caracteristici,

    structuri si nu in ultimul rand, de preturi de cost, poate pune probleme serioase in fata

    utilizatorului, a proiectantului de sistem, care trebuie sa decida, alegand solutia optima,conform unui criteriu complex de evaluare a sistemului.

    1.2. OBIECTUL CARTII

    1DSP - Digital Signal Processing = prelucrarea numerica a semnalelor2ASIC - Application Specific Integrated Circuit = circuit integrat specific unei aplicatii date3workstations = statii de lucru

    4 CAD - Computer Aided Design = proiectare asistata de calculator

  • 7/26/2019 CAP1nr

    6/8

    BAZELE MICROPROCESOARELOR

    1-6

    Pe baza considerentelor prezentate in paragraful anterior, putem totusi conclude ca "filozofia"

    generala a realizarii sistemelor microcalculator, componentele tipice, functiile de baza, sunt

    comune tuturor tipurilor de microprocesoare, indiferent de firma producatoare si de generatia

    de circuite careia ii apartine microprocesorul.Plecand de la aceste premize, si totodata luand in considerare faptul ca, pentru acest volum,

    punctul de pornire, cat si cel de sosire in studiul microprocesoarelor, este cel al aplicatiilor

    industriale, si cu precadere cel al aplicatiilor in echipamentele electrice (actionari electrice,

    sisteme de achizitii de date, standuri de masura, diagnoza, control, etc.), prezentul volum se

    doreste o incercare de a pune bazele conceptuale ale proiectarii sistemelor cu

    microprocesoare, de a fundamenta principalele aspecte si probleme legate de structura

    constructiva (hardware) si programele implementate (software) in aceste sisteme.

    Intr-un mod oarecum general, acoperind practic o gama extrem de larga de cazuri, figura 1.2

    prezinta structura de principiu a unui asemenea sistem, controlat cu ajutorul unui

    microcalculator.

    Amplificatoranalogic

    intraresistem

    Sistem fizic(proces)

    Traductor siadaptare semnal

    iesire

    (semnal analogic)

    date prelucrate(variatie continua)

    marimeacontrolata

    Microcalculator

    Portde

    iesire

    Portde

    intrare

    Algoritm

    numericsau logic

    ConvertorA/D

    ConvertorD/A

    interfataiesire sistem - intrare calculator

    interfataiesire calculator - intrare sistem

    intrari comenzi de controlsi iesiri de stare ale microcalculatorului

    In instalatiile conduse cu sisteme microprocesor, de acest tip, operatiile se desfasoara

    continuu, ciclic, sistemul de calcul efectuand operatii de masurare a datelor, calcule, si dand

    comenzi in mod succesiv. Asemenea aplicatii ne vor interesa in cadrul cursului de fata, cuprecadere. Ele sunt denumite apli catii in timp real, si au specific faptul ca echipamentul

    controleaza functionarea unui proces, calculele facandu-se in timpul controlarii acestei

    functionari. In esenta, orice aplicatie in timp real se va desfasura ca in figura 1.3.

    In mod corespunzator, secventializarea operatiilor din sistem va determina o succesiune a

    operatiilor ca in figura 1.4.

    Trebuie remarcata deosebirea fundamentala fata de sistemele de calcul "clasice", utilizate doar

    pentru calcule, in care desfasurarea acestora nu este legata si nici conditionata in vre-un fel de

    evenimentele exterioare (evolutia procesului condus, nu trebuie sa scape de sub controlul

    Figura 1.2. Structura de principiu a unui sistem de control numeric

  • 7/26/2019 CAP1nr

    7/8

    INTRODUCERE

    1-7

    sistemului numeric, in cazul aplicatiilor in timp real). Evident, toate aceste aspecte vor implica

    aparitia unor abordari si tratari specifice ale problemelor ce apar, pentru sistemele de acest gen

    (pentru controlul proceselor).

    initializari

    conversiedate

    citiredate

    executieprogram

    scrieredate

    start

    t0

    t1

    t2

    t3

    t4

    t5

    1

    2

    3

    4

    5

    Fig. 1.4. Secventializarea operatiilor intr-o

    aplicatie de timp real

    Ca si in alte domenii ale proiectarii

    ingineresti, fazele metodologice si de

    dezvoltare ale unui asemenea sistem sunt

    dictate cu precadere de catre specificatiile

    referitoare la performantele si

    caracteristicile produsului final. Pentrusistemele cu microprocesoare, un element

    caracteristic este reprezentat de catre cele

    doua elemente interconditionate -

    proiectarea structurii constructive -

    hardware, si proiectarea programelor -

    software. Datorita legaturii foarte stranse

    dintre structurile hardware si software, cele doua componente ale proiectarii interactioneaza

    permanent. Astfel, conceperea acestor sisteme este ceva mai complexa decat in cazul

    sistemelor logice "clasice". Activitatile cheie si fazele de dezvoltare ale unui produs bazat pe

    utilizarea unui microprocesor sunt prezentate in figura 1.5.

    Prezentul volum va incerca acoperirea principalelor aspecte legate de conceptele, notiunile,

    structura si caracteristicile functionale ale sistemelor microprocesor, atat in general cat si prin

    concretizare pentru anumite tipuri de microprocesoare si circuitele aferente. Se va insista pe

    aspectele concrete, aplicative, si se vor exemplifica unele implementari de structuri

    microcalculator de proces, pentru aplicatii in echipamentele electrice, dupa cum s-a

    mentionat.

    Fig. 1.3. Structura temporala a unei aplicatii

    in timp real

    Initializare parametri si definire porturi I/O

    Achizitie date din porturi de intrare

    (citire - "READ")

    Executie program specific

    (prelucrare date de intrare,

    conform algoritmului numeric)

    Transmitere date prelucrate

    prin port de iesire

    (scriere - "WRITE")

    Programul

    trebuie reluat

    Lansare alt

    program specificSTOP

  • 7/26/2019 CAP1nr

    8/8

    BAZELE MICROPROCESOARELOR

    1-8

    caracteristiciprodus

    teorie proiectare

    disponibildezvoltare

    proprietatielemente componente

    configurare hardware

    structura software

    adaptare

    productie evaluare aperformantelor

    faza intrare proiectare si productie faza iesire

    Fig. 1.5. Etapele proiectarii si producerii unui sistem cu microprocesor