Sunteți pe pagina 1din 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 practic
nelimitata 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 microcalculatoarele
si 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.

BAZELE MICROPROCESOARELOR

grad de
sofisticare
foarte
ridicat

Calculatoare de mare
performanta (mainframe)
Midicalculatoare
Minicalculatoare
Microcalculatoare
Microprocesoare
Calculatoareelementare

scazut

Logica cablata
2
4
minima

4
8

16

numar de biti

32

putere de calcul

cost
8
lungime cuvint
64
maxima

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 pentru
generarea 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

1-2

INTRODUCERE

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, este
marimea cuvantului de date al 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 de
instructiuni, 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 VLSI1 ce 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 mai
multe 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 control
al 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.
1

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


1-3

BAZELE MICROPROCESOARELOR

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 de
catre 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: unitatea centrala de prelucrare
(CPU2), continand elementele de calcule aritmetice, logice si functiile de control; memoria
(RAM - pentru citire/scriere, si ROM - doar citire), si interfetele 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 foarte
putine cipuri. Un microcalculator combina un microprocesor cu memorie si capacitati de
intrare/iesire pe unul sau mai multe cipuri. Microcalculatoarele pe un singur cip constituie
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 de
performanta, 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-slice permite legarea mai multor cipuri modulare identice in paralel, pana la
1
2

BCD - Binary Coded Decimal = zecimal codat binar


CPU - Central Processing Unit = unitate centrala de prelucrare

1-4

INTRODUCERE

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 se
testeaza "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.

1
2
3
4

OBIECTUL CARTII

DSP - Digital Signal Processing = prelucrarea numerica a semnalelor


ASIC - Application Specific Integrated Circuit = circuit integrat specific unei aplicatii date
workstations = statii de lucru
CAD - Computer Aided Design = proiectare asistata de calculator
1-5

BAZELE MICROPROCESOARELOR

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.
Amplificator
analogic

intrare
sistem

marimea
controlata

Sistem fizic
(proces)

Traductor si
adaptare semnal

iesire

(semnal analogic)
date prelucrate
(variatie continua)
Convertor
D/A

Microcalculator

Port
de
iesire

interfata
iesire calculator - intrare sistem

Algoritm
numeric
sau logic

Port
de
intrare

Convertor
A/D

interfata
iesire sistem - intrare calculator

intrari comenzi de control


si iesiri de stare ale microcalculatorului

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

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, cu
precadere. Ele sunt denumite aplicatii 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
1-6

INTRODUCERE

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).

Initializare parametri si definire porturi I/O

t5
5
t4

Achizitie date din porturi de intrare

scriere
date

executie
program

(citire - "READ")

t3
3
Executie program specific
(prelucrare date de intrare,
conform algoritmului numeric)

Transmitere date prelucrate


prin port de iesire
(scriere - "WRITE")

citiredate

t2
2

conversie
date

t1
1
initializari
t0
start
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
Programul
dictate cu precadere de catre specificatiile
trebuie reluat
referitoare
la
performantele
si
caracteristicile produsului final. Pentru
sistemele cu microprocesoare, un element
caracteristic este reprezentat de catre cele
Fig. 1.3. Structura temporala a unei aplicatii
Lansare alt
doua elemente interconditionate in timp real
STOP
program specific
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.

1-7

BAZELE MICROPROCESOARELOR

caracteristici
produs
configurare hardware
teorie proiectare
structura software

disponibil
dezvoltare
proprietati
elemente componente
faza intrare

productie

evaluare a
performantelor

adaptare

proiectare si productie

faza iesire

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

1-8