Sunteți pe pagina 1din 39

1

INTRODUCERE



1.1 Evoluia sistemelor de calcul

1.1.1 Introducere

Din cele mai vechi timpuri oamenii au cutat s simplifice anumite
activiti, cum este i aceea de numrare. Astfel a luat natere abacul
(figura 1.1), care poate fi considerat unul dintre cele mai primitive
instrumente menite s automatizeze procesul de numrare.
Mult timp dup inventarea abacului, matematicieni i ali oameni de
tiin au pus bazele tiinei calculatoarelor de astzi, dintre care amintim
pe: Blaise Pascal, Gotfried Wilhelm Leibniz, Charles Babbage, George
Boole i Claude Shannon. Unul dintre pionierii n domeniu este considerat
matematicianul francez Blaise Pascal (1623-1662), care a inventat n anul
1642 prima main de calcul operaional, denumit Maina aritmetic.
Aceast main aritmetic realiza operaiile de adunare i de scdere;
interesant este faptul c scderea se realiza utilizndu-se tehnici
complementare, foarte asemntoare cu cele existente n calculatoarele din
zilele noastre. Operaiile de nmulire i mprire erau implementate prin
serii de adunri, respectiv scderi repetate.
Matematicianul britanic Charles Babbage (1791-1871) a inventat
primul dispozitiv ce poate fi considerat un computer n sensul modern al
cuvntului. Acest prim dispozitiv modern calcula tabele de funcii
logaritmice i trigonometrice prin intermediul unor oameni ce se numeau
Sisteme de calcul i operare
computers. Cea dinti main conceput n 1822 de Charles Babbage se
numea Difference Engine (figura 1.2), fiind construit parial, iar cea de-a
doua main a fost denumit Analytical Engine (1830), dar nu a fost
construit.
Difference Engine a fost construit ulterior conform desenelor
originale de ctre o echip la Muzeul tiinei din Londra. Aceast main de
calcul avea urmtoarele caracteristici:
4000 componente
Cntrea 3 tone,
Aproximativ 3 metri lime i 2 metri i jumtate lungime.


Figura 1.1 Abacul
Acest echipament a efectuat prima secven de calcule la nceputul
anilor 1990, obinndu-se rezultate cu o precizie de 31 de cifre zecimale.

Figura 1.2 Difference Engine
Introducere
O mare parte din activitatea lui Babbage a fost dedicat realizrii de
calculatoare analogice, dar tehnologia existent la acea dat nu i-a permis
realizarea de mecanisme de mare precizie. Sistemul de calcul analogic nu
avea sistem de operare; simind nevoia de software pentru calculatorul su,
Babbage a angajat o tnr pe nume Ada Lovelace (fiica poetului britanic
Lord Byron), nume dup care a fost denumit limbajul de programare ADA.
Astfel, Ada Lovelace este cunoscut drept primul programator din lume.
O contribuie deosebit n domeniul pionieratului calculatoarelor au
avut-o i George Boole i Claude Shannon. n jurul anului 1850
matematicianul englez George Boole a inventat Algebra boolean (Algebra
Boole), care a rmas relativ necunoscut i neutilizat pn n anul 1938,
cnd teza de masterat a lui Claude Elwood Shannon a demonstrat cum
conceptele lui Boole TRUE i FALSE pot fi utilizate pentru a
reprezenta funcionalitatea comutatoarelor din circuitele electronice.
n ultimii aizeci de ani calculatoarele au evoluat continuu,
specialitii n domeniu mprind aceast perioad n cinci etape, denumite
generaii de calculatoare. Fiecare generaie de calculatoare este caracterizat
de o dezvoltare tehnologic major ce a schimbat fundamental modul n
care calculatoarele opereaz, avnd ca rezultat echipamente mai mici, mai
puternice, mai ieftine, mai eficiente i mai fiabile. De asemenea, fiecare
generaie se ntinde pe o perioad de aproximativ zece ani, n prezent
aflndu-ne n generaia a cincea de calculatoare. Criteriile care au stat la
baza acestei clasificri includ:
Arhitectura sistemelor;
Tehnologia de construcie a componentelor;
Modalitile de procesare a programelor;
Caracteristicile sistemelor de operare;
Limbajele de programare folosite.


1.1.2 Prima generaie de calculatoare

Prima generaie n evoluia calculatoarelor (1938-1953) a fost
caracterizat de utilizarea tuburilor electronice iar calculatoarele erau
destinate calculelor tiinifice i comerciale. n aceast perioad se
ncadreaz calculatoarele Harvard Mark 1 i ENIAC (figura 1.3).
Sisteme de calcul i operare

Figura 1.3 Calculatorul ENIAC

Harvard Mark 1 (IBM Automatic Controlled Calculator) a fost
construit ntre anii 1938 i 1944, fiind format din mai multe calculatoare ce
lucrau asupra unor pri ale aceleiai probleme sub supravegherea unei
singure uniti de control. Aceast main de calcul era construit din
comutatoare, relee i alte dispozitive mecanice, coninnd 750.000 de
componente, avnd 16 metri lungime, 2 metri i jumtate nlime i
cntrind 5 tone. Numerele folosite n calcule erau de 23 de cifre, o
nmulire dintre dou numere dura 4 secunde iar o mprire dura
10 secunde.
ENIAC - Electronic Numerical Integrator And Computer a fost
realizat prin contribuia inginerilor William Mauchly i J. Presper Eckert de
la Universitatea din Pennsylvania ntre anii 1943 i 1946. Acest calculator
avea 3 metri nlime, ocupa un spaiu de 30 mp i cntarea 30 tone. n
construcia sa erau folosite 18.000 tuburi cu vacuum, avnd nevoie de o
putere de 150 kW (suficient pentru a ilumina un mic ora). Principala
problem cu acest tip de calculator era fiabilitatea: n fiecare zi trebuiau s
fie nlocuite aproximativ 50 de tuburi cu vacuum. Prin realizarea acestui
calculator, n anul 1943 Eckert i Mauchly au iniiat conceptul de creare
Introducere
a unui program stocat n calculator pentru care era folosit o memorie
intern utilizat pentru a stoca att instruciuni ct i date.
Succesorii lui ENIAC au fost:
* EDVAC - Electronic Discrete Variable Automatic Computer
(4000 de tuburi);
* EDSAC - Electronic Delay Storage Automatic Calculator
(1949 - 3000 de tuburi);
* UNIVAC I - Universal Automatic Computer (1951 - primul
computer comercial);
* ILLIAC I (1949) - construit la Universitatea Illinois, primul
computer deinut de o instituie academic.


1.1.3 A doua generaie de calculatoare

Generaia a doua (1954 - 1963) a fost caracterizat prin folosirea
tranzistorului pentru realizarea circuitelor logice. Cercetarea n domeniul
semiconductorilor a nceput n anul 1945 la faimosul centru de cercetare
Bell Laboratories din SUA. Cei trei ingineri ce lucrau la acest proiect,
William Shockley, Walter Brattain i John Bardeen au creat primul
tranzistor pe 23 decembrie 1947. Dup aceast realizare au luat o pauz
pentru srbtorile de Crciun nainte de a publica evenimentul; de aceea
crile de referin indic faptul c primul tranzistor a fost creat n 1948.
Calculatoarele din cea de-a doua generaie aveau n jur de 100 de
instruciuni complexe, memorie de tip magnetic i dispozitive periferice.
Prelucrarea se fcea secvenial prin intermediul unui sistem de operare
simplu (FMS i IBSYS pentru maina de calcul IBM 7094), folosindu-se
att limbajul de asamblare ct i limbaje evoluate. Limbajul de programare
Fortan a aprut n anul 1956 iar limbajele Algol i Cobol (Common
Business Oriented Language - limbaj orientat spre aplicaiile de afaceri)
dup anul 1960. Calculatoarele erau folosite n mare parte pentru calcule
tiinifice, rezolvarea sistemelor de ecuaii liniare i neliniare, ecuaii
difereniale etc. n anul 1955 a devenit operaional primul calculator cu
tranzistori, denumit TRADIC (Transistor Digital Computer).
Aceast perioad n evoluia calculatoarelor se caracterizeaz prin
distincia creat ntre proiectani, constructori, programatori i personalul de
ntreinere. Calculatoarele aveau nevoie de ncperi speciale, climatizate,
pentru a se asigura parametrii de funcionare, aceste maini de calcul fiind
ntreinute i exploatate de ctre operatori calificai. Programele erau scrise
n limbajul Fortran sau n limbaj de asamblare i erau imprimate pe cartele
perforate. Programatorii duceau programul scris n camera de intrare i l
Sisteme de calcul i operare
nmnau operatorilor. Dup ce programul era executat, operatorul aducea
rezultatele de la imprimant n aa numita camer de ieire, pentru a fi
ridicate de ctre programator. n acest moment existau dou variante: fie
programul era corect i programatorul obinea rezultatele dorite, fie trebuia
depanat programul i reluat acest proces.
Primele calculatoare din aceast a doua generaie au fost construite
pentru a fi utilizate n industria energiei atomice.

Figura 1.4 Calculatorul Altair 8800


1.1.4 A treia generaie de calculatoare

Generaia a treia de calculatoare (1964 - 1980) se caracterizeaz
prin utilizarea circuitelor integrate pe scar mic (SSI - Small Scale
Integration) i medie (MSI - Medium Scale Integration). Cercetrile n
domeniul circuitelor integrate au debutat cu succes n cadrul firmei Texas
Instruments, unde n anul 1958 inginerul Jack Kilby a reuit s combine mai
multe componente pe o singur bucat de semiconductor, realiznd astfel
primul circuit integrat. La numai trei ani dup aceast realizare, n anul
1961, Fairchild (cercettor la Texas Instruments) i Texas Instruments au
realizat primele circuite integrate comerciale ce conineau funcii logice de
baz, dou pori logice fiind implementate prin intermediul a 4 tranzistori
bipolari i 4 rezistoare. Tot Fairchild introducea n anul 1970 pentru prima
oar memoria de 256 bii static RAM (Random Access Memory).
Introducere
Aceast perioad de dezvoltare a calculatoarelor poart denumirea
de anii big iron, n care calculatoarele de tip mainframe ale firmei IBM
deine
12 circuite integrate pentru a le utiliza ntr-un nou
calcu
tair 8800 (figura 1.4) ce
avea
care.
programabil prin intermediul unui panou

n Paul Allen fondeaz firma Microsoft i
implementeaz limbajul de programare BASIC 2.0 pe Altair 8800, care
devin
77.
0$, n 1977 afacere de 700.000 $ iar n 1978 de
=
anul 1977. Caracteristici:


au supremaia.
n anul 1970 compania japonez Busicom de calculatoare a cerut
firmei Intel un set de
lator. T. Hoff, proiectant la Intel, inspirat de aceast cerere, a creat
primul microprocesor, denumit Intel 4004. Acest procesor avea
2300 de tranzistoare i putea executa 60.000 operaii pe secund. Primul
microprocesor de uz general, denumit 8080, a fost introdus de Intel n 1974,
fiind un procesor pe 8-bii, cu 4500 tranzistori i putnd efectua
200.000 operaii pe secund. Alte procesoare din aceast vreme au fost:
Motorola 6800, MOS Technology 6502, Zilog Z80.
Treptat ncepe deschiderea spre era calculatoarelor personale; astfel,
n 1974 Ed Roberts lanseaz pe pia calculatorul Al
urmtoarele caracteristici:
Era bazat pe microprocesorul 8080.
Avea preul de 375$.
Fr tastatur, ecran, capacitate de sto
Avea 4KB memorie,
frontal cu comutatoare.
anul 1975 Bill Gates i
e primul limbaj de nivel nalt disponibil pe un calculator personal.
Alte exemple de calculatoare din aceast perioad sunt:
= S. Wozniak i S. Jobs produc Apple I n 1976 i Apple II n 19
Caracteristici:
- 16k ROM, 4k de RAM, tastatur i display color;
- pre de 130
7 milioane de dolari.
TRS-80 (bazat pe microprocesorul Z80) de la Radio Shack n
- 4k ROM, 4k RAM, tastatur i drive de tip caset;
- pre de 600$.



Sisteme de calcul i operare
1.1.5 A patra generaie de calculatoare

Generaia a patra de calculatoare (1981 - prezent) se caracterizeaz
prin c

n aceast perioad a fost scos pe pia primul calculator personal
(PC
;
pacitate;

n continuare sunt prezentate cteva momente din evoluia ulterioar
a calc
calculatorul IBM-XT are hard-disc (10MB de memorie
onstrucia de calculatoare ce utilizeaz circuite integrate pe scar mare
(LSI -Large Scale Integration) i foarte mare (VLSI - Very Large Scale
Integration). Folosirea microprocesorului i a microprogramrii a oferit
calculatoarelor posibilitatea utilizrii unui set complex de instruciuni i
asigur un grad sporit de flexibilitate.
Figura 1.5 Laptop

- Personal Computer) de ctre firma IBM n anul 1981. Toate
calculatoarele personale ce au fost construite ulterior i au pstrat arhitectura
original IBM au fost denumite calculatoare compatibile IBM-PC. Primul
IBM-PC avea urmtoarele caracteristici:
O Microprocesor pe 16-bii 8088
O Memorie ROM BASIC;
O Floppy-disc de 360KB ca
O Sistem de operare DOS 1.0
O Pre de 1365 $

ulatoarelor:
n 1983
costau 3000$).
Introducere
n 1985 Intel introduce microprocesorul 80386 (primul membru
pe 32-bii din familia 80x86).
n 1986 firma Compaq introduce primul sistem bazat pe 80386.
n 1989 Intel introduce microprocesorul 80486, ce includea
coprocesor matematic.
n 1992 apar procesoarele Intel Pentium (cu 64-bii pentru
magistrala de memorie), AMD i Cyrix (procesoare compatibile
- clone).
n 1996 apare Intel Pentium Pro.
n 1998 apare Intel Pentium II.
n 2000 apare Intel Pentium IV la 1.5 GHz.
n 2003 este depit grania de 3 Ghz de funcionare a
procesoarelor comerciale.

Figura 1.6 PDA

n prezent, cele mai moderne calculatoare sunt cele care au i gradul
de miniaturizare cel mai mare, aici incluznd calculatoarele portabile de
tipul laptop (figura 1.5) sau palmtop (denumit i PDA - Personal Digital
Assistant sau PocketPC, vezi figura 1.6).


Sisteme de calcul i operare
1.1.6 A cincea generaie de calculatoare

Calculatoarele din cea de-a cincea generaie (prezent - viitorii ani),
sunt nc n faza de dezvoltare. Ele se bazeaz pe utilizarea inteligenei
artificiale, a circuitelor integrate specializate i a procesrii paralele. Exist
unele aplicaii ale celei de-a cincea generaii de calculatoare care sunt deja
utilizate astzi, cum ar fi recunoaterea vorbirii. Utilizarea procesrii
paralele i a superconductorilor face viabil inteligena artificial.
Procesarea molecular i cuantic

precum i nanotehnologiile se
pare c vor schimba faa calculatoarelor n urmtorii ani. Scopul principal al
celei de-a cincea generaii de calculatoare este acela de a dezvolta
echipamente capabile s rspund limbajului natural uman i s fie capabile
de nvare i organizare proprie.


1.2 Clasificarea sistemelor de calcul

Marea varietate a calculatoarelor a impus clasificarea lor dup
diferite criterii: cost, capacitate, complexitate, aplicaii. n general, tipul
calculatorului se determin dup:
^ tipul unitii centrale de prelucrare (UCP) sau al
microprocesorului cele mai mari calculatoare tind s utilizeze
uniti centrale de prelucrare constituite separat, de mare vitez,
cu componente complexe;
^ cantitatea de memorie principal pe care microprocesorul o
poate utiliza un calculator echipat cu o memorie principal de
mare capacitate poate memora programe mai complexe i chiar
mai multe programe diferite n acelai timp;

Procesarea cuantic reprezint un termen introdus nc din anii 70 i se bazeaz pe fizica


cuantic, folosindu-se anumite proprieti ale atomilor i nucleelor ce le permite s
lucreze mpreun drept bii cuantici (denumii qubits) pentru a fi utilizai de procesor i
memorie. Prin interaciunea dintre ei, izolai de mediul exterior, qubiii pot realiza
anumite calcule matematice mult mai rapid dect calculatoarele convenionale.
Qubiii nu se bazeaz pe natura binar tradiional a procesrii. Spre deosebire de
codificarea tradiional a numerelor ce folosete doar 0 i 1, calculatoarele cuantice
codific informaia ca o serie de stri mecanico-cuantice precum micarea de rotaie a
electronilor sau orientarea polarizrii ce pot reprezenta un 0 sau un 1, o combinaie a
celor dou sau pot reprezenta un numr ce semnific faptul c starea unui qubit este
undeva ntre 0 i 1. Este important faptul c, utiliznd aceast idee, un calculator cuantic
monoprocesor poate executa o sumedenie de operaii n paralel. Prelucrarea cuantic nu
este cea mai bun soluie pentru activiti de procesare de texte sau pot electronic, dar
este ideal pentru aplicaii criptografice sau de modelare i indexare a bazelor de date de
dimensiuni foarte mari.
Introducere
^ capacitatea de stocare a memoriei auxiliare sistemele de
calcul tind s fie echipate cu dispozitive periferice de memorare
de mare capacitate;
^ viteza perifericelor de ieire este o alt caracteristic cele mai
mari calculatoare sunt dotate cu dispozitive de ieire rapide, a
cror vitez se msoar, de exemplu, n sute de mii de linii care
pot fi tiprite pe minut;
^ viteza de prelucrare exprimat n milioane de instruciuni pe
secund (MIPS - Millions of Instructions Per Second) variaz de
la 3 - 4 MIPS la cele mai mici calculatoare, pn la mai mult de
200 MIPS pentru supercalculatoare;
^ numrul utilizatorilor care pot avea acces la calculator n acelai
timp calculatoarele personale admit numai un singur utilizator,
alte tipuri accept mai mult de doi sau trei utilizatori n acelai
timp, iar cele mai mari calculatoare suport sute de utilizatori
simultan;
^ costul sistemului poate varia foarte mult.

Avnd n vedere totalitatea criteriilor enumerate mai sus,
calculatoarele sunt, n general, grupate n patru categorii de baz:
microcalculatoare, minicalculatoare, calculatoare mainframe i
supercalculatoare. Este dificil s se asocieze o definiie fiecrei categorii,
innd seama de progresele tehnologice i de rapiditatea cu care se pot
schimba parametrii de mai sus. Totui urmtoarele definiii ar putea fi
suficiente.
Microcalculatorul, numit adesea calculator personal (PC - Personal
Computer - vezi figura 1.7), reprezint tipul de calculator care utilizeaz un
microprocesor ca unitate central de prelucrare (UCP) i care poate fi folosit
numai de o singur persoan la un moment dat. Exist un mare numr de
variante, n ceea ce privete dimensiunea, de la calculatoare personale
portabile (laptop - figura 1.5) la puternice staii de lucru (desktop
workstations) care sunt utilizate pentru calcule inginereti i tiinifice.
Staiile de lucru utilizeaz sistemele de operare UNIX sau Windows
NT/2000/XP i sunt echipate cu procesoare RISC puternice (cum ar fi
Digital Alpha, PowerPC sau MIPS) sau cu procesoare Intel Pentium (i
compatibile). Calculatoarele personale lucreaz folosind sistemul de operare
Windows sau un alt sistem de operare similar, fiind folosite pentru aplicaii
standard. Microcalculatoarele pot fi folosite cu uurin de neprogramatori
datorit numrului mare de pachete de programe de aplicaii disponibile.

Sisteme de calcul i operare
Figura 1.7 Calculator personal

n ultimii ani PC-urile au devenit un lucru comun n instituii, coli,
universiti i locuine. PC-urile au schimbat modul n care se gndete, se
nva i se lucreaz. Astzi PC-ul este un ajutor de nepreuit pentru cei care
vor s-i mbunteasc performanele i calitatea muncii. Piaa exploziv a
PC-urilor a condus la creterea numrului utilizatorilor, la accelerarea
dezvoltrii domeniilor de aplicaii, de la programele de prelucrare de texte
pn la tehnologii care au permis oamenilor s lucreze acas, s se joace, s
nvee sau s fac cercetri avansate.
Minicalculatorul este cunoscut ca un calculator de mrime medie, ce
nu este portabil. El suport pn la 50 de utilizatori simultan i are o
memorie principal de capacitate mare. n mod normal minicalculatorul
deservete o reea de terminale simple. IBM AS/400 sau DEC Vax/750 sunt
exemple de minicalculatoare.
Calculatorul mainframe reprezint un calculator de mari dimensiuni
i foarte puternic care este amplasat ntr-un cadru care poate fi controlat. Un
astfel de calculator suport prelucrri cerute de sute, chiar mii de utilizatori
precum i calcule specializate. Este solicitat de companiile care vehiculeaz
i prelucreaz un volum mare de informaie. Ca exemplu este modelul 390
al IBM.
Supercalculatorul posed resurse hardware i software deosebite. Se
utilizeaz n industria de aprare, n lumea cercetrii tiinifice, n cteva
universiti, n industria aeronautic i spaial. Un supercalculator poate
executa peste 1,8 miliarde de operaii pe secund.




Introducere
1.3 Arhitectura sistemelor de calcul

1.3.1 Introducere

Sistemele de calcul existente cunosc un mare numr de variante
arhitecturale. Principiul de baz al proiectrii calculatoarelor clasice a fost
ordonarea secvenial a operaiilor elementare. Acesta se rezum prin dou
aspecte majore: execuia unui ansamblu de funcii de ctre un procesor unic
i descrierea prelucrrilor n conformitate cu algoritmii secveniali (modelul
lui Von Neumann).
Modelul topologic de baz (figura 1.8) scoate n eviden elementele
structurale fundamentale, att cele fizice: resurse de calcul (C), resurse de
memorare (M), ansamblul echipamentelor de intrare/ieire (I/E), circuitele
ce asigur transmisia informaiei ntre componentele precedente (T) ct i
cele logice: sistem de operare, programe utilitare.

Figura 1.8 Modelul unui sistem de calcul

Pe baza disponibilitilor structurale ale elementelor enumerate i a
combinaiilor arhitecturale dintre ele se obine mulimea tuturor modelelor
de sisteme de calcul.
Putem afirma c, un sistem de calcul reprezint o colecie de resurse
hardware (unitatea central de prelucrare - UCP, memoria, dispozitivele
periferice de intrare/ieire) i software (sistem de operare, programe
utilitare) care interacioneaz ntre ele n vederea satisfacerii cerinelor
utilizatorilor. innd cont de acest model, componenta hardware a unui PC
va arta ca n figura 1.9.

Sisteme de calcul i operare
Calculatoarele personale moderne i au rdcinile n SUA ncepnd
cu anul 1940, dei pe pia au aprut n 1981. Dintre oamenii de tiin ce
i-au adus contribuia n acest domeniu, trebuie amintit John von Neumann
(1903-1957), matematician nscut n Ungaria. El a fost primul care a
proiectat un calculator cu memorie de lucru (memoria RAM de astzi).
Modelul unui calculator personal al lui Von Neumann include: UCP,
intrarea, ieirea, memoria de lucru i memoria permanent.



Figura 1.9 Componentele hardware ale unui PC

Dintre elementele care au determinat ca PC-urile s se impun pe
piaa sistemelor de calcul enumerm:
au reprezentat un nceput pentru standardizare, avnd o
arhitectur deschis;
fiind bine documentate au oferit posibiliti de extindere;
au fost ieftine, simple i robuste.

Primele calculatoare personale, realizate de ctre firma IBM, aveau
la baz microprocesorul Intel 8088 iar ca sistem de operare MS-DOS de la
Microsoft. Numele original de calculator personal sau PC (Personal
Computer) provine deci de la IBM iar toate calculatoarele construite dup
aceea, avnd aceeai arhitectur de baz, poart denumirea de calculator
compatibil IBM-PC, tocmai datorit faptului c pstreaz arhitectura
Introducere
funcional de baz a primului calculator personal scos pe pia de ctre
firma IBM. PC-urile existente astzi sunt la fel de puternice ca
minicalculatoarele i calculatoarele mainframe de acum civa ani.


1.3.2 Procesorul

Componenta cea mai important a unui sistem de calcul, n
particular a unui calculator personal, este procesorul (figura 1.10) sau
unitatea central de prelucrare (UCP). Denumirea de unitate central de
prelucrare provine din urmtoarele consideraii:
+ procesor, deoarece prelucreaz datele;
+ central, deoarece este centrul de prelucrare a datelor din sistem;
+ unitate, deoarece, de cele mai multe ori, este un circuit integrat
care conine zeci sau sute de milioane de tranzistoare un
microprocesor.



Figura 1.10 Exemple de microprocesoare

Sisteme de calcul i operare

Figura 1.11 Procesorul
Microprocesorul conine (figura 1.11):
unitatea aritmetico-logic (UAL);
unitatea de control;
un ansamblu de registre.

Unitatea aritmetico-logic execut operaii aritmetice i funcii
logice. Unitatea central de procesare coordoneaz activitatea din calculator
n vederea prelucrrii datelor. Pentru aceasta, ea primete i transmite date
n mod continuu. Datele pentru prelucrare vin de la memorie i diversele
dispozitive periferice din calculator (tastatur, hard-disc etc.) iar dup
procesare vor fi trimise ctre memorie sau alte uniti. Transmisia se face
prin intermediul magistralelor (figura 1.12).

Introducere
Figura 1.12 Organizarea unui sistem de calcul

Unitatea central de procesare primete instruciunile care vor fi
executate. Fiecare instruciune reprezint o comand pentru prelucrarea
datelor (figurile 1.13 i 1.14). Activitatea procesorului const din calcule i
transportul datelor.


Figura 1.13 Modalitatea de operare a UCP
Sisteme de calcul i operare

Figura 1.14 Prelucrarea datelor ntr-un procesor von Neumann

La ora actual, unitatea central de prelucrare poate utiliza una din
tehnologiile:
Tehnologia CISC (Complex Instruction Set Computer) care a
fost adoptat nc de la primele arhitecturi de calculatoare.
Procesoarele sunt capabile s interpreteze mai mult de
400 instruciuni i execuia se realizeaz n mai multe cicluri
main. Numrul de cicluri main necesare n execuia unei
instruciuni variaz de la o instruciune la alta.
Tehnologia RISC (Reduced Instruction Set Computer) prin care
se implementeaz numai instruciunile de baz (cele mai
folosite). Fiecare instruciune se execut ntr-un singur ciclu
main, avnd consecine pozitive asupra performanelor.
Aceast tehnologie permite construcia unor maini foarte
puternice, capabile s asigure prelucrarea paralel a mai multor
aplicaii.
Introducere
Tehnologia VLIW (Very Long Instruction Word) prin care
procesorul utilizeaz instruciunea ntr-un format lung. Ideea este
de a reuni mai multe instruciuni n una singur. Astfel
procesorul poate pregti mai multe instruciuni printr-o singur
operaie i va fi mult mai eficient. n mod normal procesoarele
care nu sunt de tip VLIW recepioneaz o instruciune pe cuvnt.
Un cuvnt este o cantitate de date transmis la procesor, iar
procesoarele VLIW recepioneaz mai multe instruciuni n
fiecare cuvnt. Pentru reordonarea instruciunilor se utilizeaz un
compilator. n acest caz unitatea central de prelucrare proiectat
n tehnologie VLIW devine foarte complex. Procesorul Itanium
pe 64 de bii al firmei Intel a fost proiectat n tehnologie VLIW.
O alt companie care utilizeaz VLIW este TransMeta cu
procesorul Crusoe.

Firma Sun Microsystems a definitivat ntre anii 1984 i 1987
arhitectura SPARC (Scalable Processor ARChitecture) ce se bazeaz pe
tehnologia RISC.
ncepnd din 1990, IBM a lansat pe pia sistemul RISC/6000, prin
staii de lucru i servere, avnd la baz arhitectura POWER (Performance
Optimization With Enhanced RISC). Acest sistem reprezint rezultatul
muncii susinute de IBM, n vederea obinerii unor performane sporite la un
pre de cost ct mai redus.


1.3.3 Procesoare RISC

Procesoarele RISC, aprute pentru prima oar n anii 80, preau la
nceput predestinate s domine industria computerelor n anii 90 i s fac
uitate vechile arhitecturi de calculatoare. Practic toi productorii importani
din industria calculatoarelor ofereau (i ofer n continuare) sisteme gen
RISC; giganii IBM i Hewlett Packard i-au dezvoltat propriile procesoare
RISC, n timp ce ali productori, ca DEC sau Siemens, au preferat s
cumpere licene ale unor arhitecturi deja existente pentru a ine pasul cu
concurena acerb din domeniu.
Conceptul de arhitectur RISC este deseori greit utilizat sau
definit, de aceea, pentru a fi definit i neles mai bine, trebuie s facem o
ntoarcere n timp i s vedem, de asemenea, diferenele eseniale ntre cele
dou noiuni: CISC i RISC. Era recunoscut de prin anii 50 faptul c se
putea sacrifica din eficiena memoriei la codificarea unui set de instruciuni
pentru a ctiga n performan. Instruciunile simple, de lungime fix, erau
Sisteme de calcul i operare
uor de implementat i se executau mai rapid. Aceast tehnic era folosit
pentru implementarea setului de instruciuni al calculatorului IBM 360 de
tip mainframe din anii 50-60. Acest set de instruciuni se baza pe o
arhitectur clasic CISC, dar mecanismul de microcod ce executa de fapt
instruciunile era un procesor RISC mai simplu.
Microcodul este de fapt, software-ul de nivel jos care conduce
execuia setului de instruciuni, iar procesoarele RISC se numeau controlere
orizontale de microcod. Cu toate c erau cunoscute avantajele arhitecturilor
RISC, costurile ridicate ale memoriei determinau folosirea n continuare a
arhitecturilor CISC, mai eficiente din punct de vedere al capacitii de
stocare i care preau c reprezint cea mai bun soluie n acel moment (se
utilizau instruciuni capabile s fac mai multe lucruri).
Primele inovaii fa de vechile arhitecturi de microprocesor au
aprut n cadrul firmei IBM, n cadrul unui proiect nceput n 1975 i care
acum se consider a fi pionieratul n domeniul arhitecturii RISC.
John Cocke, un inginer de la IBM, a observat c doar o mic parte
(aproximativ 10%) a mulimii de instruciuni a calculatorului IBM 360 era
folosit n majoritatea timpului, iar aceast submulime concentra cel mai
mare procent din timpul de execuie (90%). Membrii echipei IBM i-au
propus astfel s simplifice mulimea de instruciuni pentru a obine o medie
de o execuie pe ciclu de ceas. Acest obiectiv era realizabil doar dac
mulimea de instruciuni era structurat n conduct, salvndu-se n acest
mod timpul pierdut pentru aducerea i decodarea instruciunilor din
memorie.
Dou noi proiecte ce au pornit civa ani mai trziu au adus
conceptele RISC n centrul ateniei arhitecturilor de computere. Primul
dintre acestea a fost condus de David Patterson de la Universitatea din
Berkeley i a culminat cu definiia procesoarelor RISC I i RISC II la
nceputul anilor 80. Patterson a conturat, de asemenea, conceptul RISC.
Potrivit acestuia, procesoarele RISC au inaugurat o nou mulime de
principii arhitecturale. Din aceast cauz, noiunea de RISC a fost
considerat mai degrab o filozofie dect o reet arhitectural diferit.
Punctele relevante ale filozofiei proiect menionate de Patterson sunt:
mulimea de instruciuni trebuie s fie simpl;
instruciunile trebuie s ruleze la cea mai mare rat posibil;
noiunea de pipelining este mai important dect mrimea
programului;
tehnologia compilatorului este un element critic ntr-un proiect
RISC: optimizarea compilatoarelor trebuie s translateze ct mai
mult posibil din complexitatea hardware-ului ctre faza de
compilare.
Introducere
Rezultatele acestor cercetri au dat natere unei arhitecturi mai
simple, caracterizat de instruciuni mai puine, multe registre, acces
simplificat pentru ncrcarea i depozitarea datelor n memoria principal i
posibilitatea execuiei instruciunilor ntr-o singur perioad de ceas.
Procesorul respectiv era mai mic, cu performane mai mari, dar se
folosea cu 20-25% mai mult memorie i erau necesare memorii cache
scumpe pentru a ine ocupat microprocesorul RISC. Din aceast cauz,
costurile ridicate ale arhitecturilor RISC au mpiedicat rspndirea acestora
pe piaa consumatorilor medii i a aplicaiilor comerciale. Procesoarele
RISC erau ns folosite uzual n staiile de lucru foarte puternice pentru
aplicaii tiinifice, tehnice i militare, unde se justificau preurile mari
pentru performane nalte.
O dat cu evoluia microprocesoarelor RISC, s-a descoperit c
avantajul acestora nu cost n micorarea setului de instruciuni, ci n
simplitatea acestora. n zilele de astzi majoritatea microprocesoarelor RISC
au cam acelai numr de instruciuni ca i cele CISC. Datorit modurilor
mai simple de adresare ale instruciunilor RISC, avnd nevoie de un singur
acces la memoria principal i putnd fi executate ntr-un singur ciclu de
ceas, execuia lor a putut fi foarte uor implementat n structuri de tip
pipeline i structuri superscalare ce permit execuia simultan a mai multor
instruciuni.
Tot evideniind avantajele tehnologiei RISC, se pune n mod evident
ntrebarea: De ce s mai folosim procesoare CISC, cnd cele RISC sunt n
mod clar mai performante?
Pentru a rspunde la aceast ntrebare, s evideniem cteva aspecte
ale problemei. n primul rnd, diferenele dintre microprocesoarele CISC i
cele RISC nu mai sunt aa de mari odat cu implementrile RISC fcute n
ultimii ani de ctre microprocesoarele compatibile Intel. Avantajul major
care apare prin folosirea procesoarelor CISC este acela al compatibilitii
soft; astfel, cantitatea de software ce ruleaz n prezent pe microprocesoare
CISC este imens i deocamdat nu se poate renuna la ea.
Succesul mai vechi al variantelor de Microsoft Windows (ce ruleaz
pe procesoare CISC) i faptul c noile versiuni de Windows, ruleaz tot pe
platforme cu procesoare CISC (Intel i compatibile cu Intel), face s se
menin nc utilizarea cu precdere a acestor tipuri de microprocesoare.
Dac cineva dorete s achiziioneze un calculator bazat pe un
microprocesor RISC, nu va putea beneficia de programele scrise pentru
calculatoarele PC, deoarece majoritatea acestui soft este special proiectat
pentru calculatoare PC.

Sisteme de calcul i operare
Dac softul pentru PC va dori s ruleze pe un procesor RISC, vor
aprea numeroase probleme, printre care:
C aplicaiile au fost compilate pentru a lucra doar cu setul de
instruciuni x86;
C software-ul se ateapt s sesizeze un mediu de operare
Microsoft sub care s lucreze;
C multe aplicaii i jocuri DOS mai vechi trebuie s gseasc
mediul hard al calculatorului PC, lucrnd de multe ori direct cu
resursele hard ale calculatorului.

Pentru prima problem ar putea exista soluia recompilrii aplicaiei
astfel nct s poat opera cu setul de instruciuni al microprocesorului
RISC. La ora actual, multe aplicaii sunt disponibile n mai multe versiuni,
fiind compilate pentru platforme RISC, dar numrul acestora este totui
destul de redus i exist reineri n privina firmelor de a elabora mai multe
versiuni (din acest punct de vedere) ale aceleiai aplicaii. Reinerile acestor
firme sunt ntemeiate, deoarece piaa este prea mic pentru ca ele s-i
permite o asemenea dezvoltare i, n al doilea rnd, este greu de meninut un
nivel apropiat pentru dou sau mai multe versiuni de program.
n concluzie, apare o problem cu dublu sens: nu exist multe
calculatoare RISC pentru c nu exist soft pentru ele i nu exist soft pentru
c nu exist calculatoare RISC!
Pentru a doua problem, se prea c firma Microsoft a rezolvat
problema o dat cu apariia sistemului de operare NT care ofer portabilitate
pentru procesoarele MIPS i ALPHA de tip RISC. Inexistena unui sistem
de operare de la Microsoft este o piedic esenial n calea ptrunderii
procesoarelor RISC pe piaa calculatoarelor personale.
Dac pentru primele dou probleme prezentate mai sus exist soluii
de rezolvare, pentru cea de-a treia nu exist o soluie tehnic general, din
moment ce aplicaiile scrise pentru un mediu hardware specific unui PC nu
vor putea rula pe procesoare RISC. n acest sens, singura soluie viabil este
practic rescrierea aplicaiei pentru noua platform, soluie care nu se impune
din aceleai considerente prezentate mai nainte: numrul de staii de lucru
ce folosesc microprocesoare RISC este nc redus.

Tipuri de procesoare RISC
Cele mai importante arhitecturi ce conin procesoare RISC sunt:
MIPS, folosite n staii de lucru Silicon Graphics;
SPARC, folosite n staii de lucru Sun;
PA-RISC, folosite n staii de lucru Hewlett-Packard;
PowerPC, folosite n calculatoare IBM PC i Apple Macintosh;
Introducere
Alpha, folosite n staii de lucru DEC (Digital Equipment
Corporation).

Competiia pe piaa microprocesoarelor RISC este foarte mare; n
mod continuu apar pe pia noi versiuni de procesoare. Toate aceste
arhitecturi evolueaz ns n aceleai direcii:
implementare pe 64 de bii;
uniti performante de execuie;
noi instruciuni pentru aplicaii multimedia i DSP (Digital
Signal Processing);
frecvene de ceas intern foarte mari, superioare procesoarelor
CISC;
implementri superscalare, putnd s execute mai multe
instruciuni simultan;
uniti de operare n virgul mobil foarte puternice;
memoria cache integrat de dimensiuni mari.

Procesoarele din seria MIPS (Silicon Graphics)
La originea acestor microprocesoare se afl nite proiecte
experimentale iniiate la Universitatea din Stanford la nceputul anilor 80.
Traducerea termenului MIPS ne ofer o imagine relevant asupra
filozofiei proiectului respectiv: MIPS provine de la Microprocessor without
Interlocking Pipeline Stages (Microprocesor fr stadii n conduct
blocate).
Obiectivul proiectanilor MIPS a fost acela de a produce un procesor
RISC cu funcionare n conduct i inter-blocare pipeline controlate
software. Dac o instruciune necesit dou cicluri de ceas pentru a fi
executat, este de datoria compilatorului s programeze o instruciune de
tipul NOP (No OPeration) urmtoare. n acest mod singura modalitate prin
care se ntrerupe funcionarea normal n timpul execuiei sunt aceste
instruciuni NOP controlate software (de compilator), n timp ce partea
hardware nu va bloca de fiecare dat execuia pipeline. Aceast
caracteristic reduce cantitatea de componente hardware necesare pentru
manufacturarea procesorului.
Un produs MIPS din anul 1995 a fost MIPS T5 (redenumit apoi
R1000), cu o arhitectur superscalar pe 64 de bii nou, compatibil cu
cipurile mai vechi Rxxx. Arhitectura scalar dispunea de 5 canale,
64 de registre interne i o memorie cache intern de 32 KB, utilizndu-se o
tehnologie de fabricaie de 0,35 de microni.
Sisteme de calcul i operare
Unele concepte deosebit de interesante cu privire la acest aspect au
fost studiate la Universitatea Stanford cu MIPS-X, un produs derivat al
arhitecturii MIPS ce avea o serie de caracteristici n plus. Multe dintre
acestea au fost mai trziu introduse n procesorul comercial MIPS.
Microprocesorul MIPS R2000 este un procesor pe 32 de bii cu o memorie
cache de nivel 2, difereniat pentru instruciuni i date. O memorie tampon
de scriere ajut la manipularea tuturor datelor stocate n memorie. Produsul
R2000 folosete o magistral comun pentru memoria cache extern o
arhitectur non Harvard (arhitectura Harvard presupune utilizarea de
magistrale diferite pentru instruciuni i pentru date).
Construcia acestui procesor nglobeaz o arhitectur radical de
coprocesor. Unitatea de control a ntregilor din UCP este separat de aa
numitul Coprocesor de control al sistemului (System Control
Coprocessor), care este, de fapt, un controlor de memorie cache integrat
direct pe cip UCP i unitatea de calcul n virgul mobil comunic prin
intermediul memoriei. Microprocesorul nglobeaz 32 de regitri generali i
16 regitri (pe 64 de bii) separai pentru calcule n virgul mobil.
Coprocesorul pentru calculul n virgul mobil conine o unitate pentru
adunare, una pentru mprire i una pentru nmulire. Nu exist bii de
testare a condiiilor (indicatori de stare, sau flags, cum sunt denumii la
Intel). Programarea regitrilor este controlat software.

Procesoarele din seria SPARC (Sun Microsystems)
Procesorul SPARC (Scalable Processor ARChitecture) se poate
luda ca fiind descendentul unei familii ilustre de microprocesoare, aceea
a procesoarelor RISC-I i RISC-II dezvoltate la Universitatea din Berkeley
n anii 80. Aceast arhitectur a fost definit de firma Sun Microsystems i
actualizat n permanen. Firma Texas Instruments a fost unul dintre
principalii furnizori de cipuri ca urmare a unui contract cu firma Sun, unul
dintre produsele anului 1995 fiind UltraSparc, cu o arhitectur pe 64 de bii
i o implementare superscalar cu 4 canale.
O caracteristic important a arhitecturii este adugarea de noi
instruciuni pentru accelerarea graficii i a prelucrrilor video; astfel pot fi
prelucrai pn la 8 pixeli ntr-o singur instruciune sau ciclu de ceas. Dac,
n general, arhitectura acestui procesor este o arhitectur de tip RISC, exist
dou curioziti ale acesteia, care l disting n familia procesoarelor RISC.
n primul rnd, SPARC utilizeaz conceptul de ferestre de registre
(register windows) n scopul eliminrii operaiilor de ncrcare i stocare n
stiv ce apar la apelurile de proceduri. Acest lucru putea fi ns obinut i
prin programarea regitrilor n momentul compilrii. Echipa de la Berkeley
a utilizat ns aceste ferestre de registre deoarece nu avea la momentul
Introducere
respectiv expertiza (pentru crearea compilatorului) necesar pentru a
implementa alocarea interprocedural a regitrilor cu ajutorul software-ului
(compilatorului).
n al doilea rnd, o alt curiozitate a arhitecturii SPARC o reprezint
existena instruciunilor etichetate (tagged instructions). Se tie c limbaje
de programare declarative de genul Lisp sau Prolog folosesc tipuri de date
etichetate. Arhitectura SPARC utilizeaz instruciuni ce pot manipula cu
uurin o etichet (n englez tag) pe 2 bii n fiecare cuvnt de memorie.
Aceast caracteristic putea mri viteza de execuie a unui program Lisp cu
cteva procente.
Procesoarele UltraSPARC IV sunt procesoare ce suport dou fire
de execuie (chip multithreading) pe procesor, bazate pe dou stadii pipeline
UltraSPARC III. Alte caracteristici:
^ 66 milioane de tranzistori pe cip;
^ pipeline cu 14 stadii;
^ frecvena de ceas ntre 1.05-1.2 GHz;
^ L1 cache de 64KB pentru date i 32 KB pentru instruciuni,
2KB Write, 2KB Pre-fetch;
^ L2 cache de 16 MB;
^ scalabilitate multiprocesor cu suport arhitectural pn la 1000 de
procesoare pe un singur sistem;
^ controller-ul de memorie este capabil s adreseze pn la 16 GB
de memorie principal la o vitez de 2,4 GB/s.

Sun Microsystems Inc. este cel mai titrat productor de procesoare
ce utilizeaz mulimea de instruciuni Sparc, dar nu este singurul productor.
Alt productor important este Fujitsu, ale crui noi procesoare Sparc64 VI
cu nume de cod Olympus vor veni pe pia n 2005, la viteze de peste
2,4 GHz, manufacturai n tehnologie de 90 de nm (nanometri). Performana
estimat a acestui procesor este de 4 ori mai mare dect a generaiei actuale
de la Fujitsu, Sparc64 V, ce ruleaz la 1,35 GHz.

Procesorul PA-RISC (Hewlett Packard)
Arhitectura PA-RISC (Precision Architecture) a firmei
Hewlett-Packard este destinat staiilor de lucru performante, adoptnd o
linie nou i modern. Performanele de operare n virgul mobil ale
acesteia sunt excelente fa de majoritatea competitorilor. S-au inclus noi
instruciuni pentru funcii de accelerare a graficii i a procesrilor video,
similare celor de la SPARC. Numrul de formate de instruciuni este mai
mare dect la orice alt procesor RISC: sunt prezente nu mai puin de
12 combinaii diferite de opcode (coduri de operaie) i regitri sau cmpuri
Sisteme de calcul i operare
pentru constante ntr-un singur cuvnt (spre comparaie, procesoarele
SPARC i MIPS pot utiliza doar 4 combinaii diferite).
Exist n mod normal dou moduri diferite de adresare, precum i
nc dou moduri adiionale ce ofer suport pentru operaiile ce au loc
nainte sau dup modificarea unui registru index. Acest lucru ofer
posibilitatea utilizrii n total a patru modaliti de adresare.
Arhitectura PA (Precision Architecture) posed coduri de operaii
(opcode) pe 6 bii. Acest lucru reduce numrul de instruciuni posibile la
mai puin de 64 (2
6
), dei anumite instruciuni au mai multe variante,
folosind bii speciali n cadrul formatului instruciunii. Numrul de regitri
generali este de 32, completai cu nc 32 de regitri cu caracter special,
utilizai pentru administrarea ntreruperilor, a nivelurilor de protecie, etc.
Caracteristica atipic a acestui procesor este aceea c implementarea
execuiei n pipeline se face pe doar 3 nivele, iar funcionarea optim a
conductei necesit programare software.

Procesoarele PowerPC (IBM i Motorola)
Susinut de firme puternice, ca IBM, Apple i Motorola, PowerPC
este concurentul principal al microprocesoarelor bazate pe arhitectura x86.
Principalul avantaj const n posibilitatea rulrii software-ului Apple, PC i
Unix. Folosind tehnicile de recompilare binar, integrnd i un emulator
rapid pentru x86, procesorul PowerPC este capabil s utilizeze majoritatea
sistemelor de operare i a software-ului ntr-un singur sistem.

Procesoarele Alpha DEC (Digital)
Aceste procesoare se deosebesc de celelalte procesoare RISC prin
frecvenele foarte mari ale ceasului intern, arhitectura modern pe 64 de bii
a acestora fiind una dintre cele mai performante de pe pia.

Concluzii i viitorul procesoarelor RISC
Fr ndoial, de la apariie i pn n prezent, microprocesoarele
RISC au avut performane superioare celor bazate pe arhitectura CISC. n
ultimii ani ns, prin apariia microprocesoarelor Intel (i a produselor clon)
ce au preluat multe dintre conceptele tehnologiei clasice RISC, diferena
dintre performanele celor dou tipuri arhitecturale s-a micorat vizibil,
ajungndu-se ca cele mai noi procesoare Pentium III i Pentium 4 s
concureze cu succes procesoarele RISC.
Se presupune c nu se va renuna foarte uor n viitor la vechea
arhitectur CISC (care are ns are i va prelua n continuare dintre
beneficiile RISC), ajungndu-se poate la situaia n care vom putea cu greu
s spunem care sunt deosebirile dintre cele dou tipuri arhitecturale ce erau
Introducere
att de diferite n trecut. Urmtoarele microprocesoare x86, precum cele
bazate pe nucleele Mustang i Sledgehammer de la AMD sau Pentium 4,
Foster i Itanium (ultimul pe 64 de bii) de la Intel vor reduce din ce n ce
mai mult gaura ce desparte cele dou variante tehnologice.


1.3.4 Memoria principal

Memoria principal are funcia de a stoca instruciunile programelor
i datele asupra crora acioneaz aceste instruciuni. De remarcat, un
program pentru a se executa trebuie s se gseasc n memoria principal.
Fazele execuiei unui program sunt:
se selecteaz o instruciune din memoria principal;
se ncarc instruciunea n microprocesor, are loc decodificarea ei
pentru stabilirea operaiei care se va executa i identificarea
operanzilor;
se execut instruciunea;
se repet aceste etape n mod secvenial, pentru fiecare
instruciune a programului.

Memoria are la baz un ansamblu de registre de aceeai mrime (o
matrice de regitri). Succesiunea de poziii binare ce este recunoscut i
adresat individual se numete locaie de memorie sau cuvnt de memorie.
Lungimea unui cuvnt de memorie este, n general, un multiplu de 8 bii
(1 byte), putnd avea: 8 bii, 16 bii, 32 bii, 64 bii, n funcie de modelul
calculatorului.
Fiecare locaie de memorie este identificat prin adresa sa.
Procesorul selecteaz o anumit locaie din memorie prin plasarea adresei
sale pe magistrala de adrese.
Numrul total al locaiilor adresabile care pot fi accesate de procesor
reprezint capacitatea memoriei sau spaiul de adresare fizic.


1.3.5 Echipamentele periferice
Echipamentele periferice sunt dispozitivele cuplate sau avnd
posibilitatea de a fi cuplate la un calculator. Dup funcia de baz, acestea se
pot clasifica n:
; Echipamente de intrare - avnd rolul de a capta i colecta
informaiile, n forma lor uzual, pentru a fi prelucrate n
calculator. Din aceast categorie amintim: tastatura, mouse-ul,
creionul optic, tableta digital, scanner-ul, cititorul de coduri
Sisteme de calcul i operare
de bare (un scanner foarte simplu), cititorul de cartele
magnetice/perforate, captatorul de sunete (microfonul),
terminalul inteligent (terminalul pentru tranzacii financiare) etc.
; Echipamentele de ieire - au rolul de a genera informaia
prelucrat n calculator ntr-o form direct utilizabil. Redarea n
exterior a informaiei se poate obine n mod vizual, prin
echipamentele periferice: ecran (de tip CRT - Cathode Ray Tube
sau LCD - Liquid Crystal Display, monitoare monocrom sau
color; CGA - Color Graphic Adapters, EGA - Enhanced Graphics
Adapters; VGA - Video Graphic Adapter; XGA, XGA/HDA;
VESA etc.), imprimant (matricial, cu jet de cerneal, termic,
laser), trasor sau sonor.
; Echipamente de memorare sau echipamente de intrare/ieire -
au rolul de a stoca o mare cantitate de informaie, pentru un timp
nedeterminat, n vederea utilizrii ulterioare. Din aceast grup
de periferice fac parte unitile de: discuri/benzi magnetice i
discuri optice (Compact Disk-Read Only Memory, CD-ROM;
Write Once, Read Many, WORM).
; Echipamente de transport la distan au rolul de a oferi o
form adecvat informaiei ce se emite/recepioneaz prin
suportul fizic (cablu electric, unde electro-magnetice, fibr
optic). n aceast categorie este inclus modemul.


1.3.6 Magistralele

Una dintre componentele eseniale din structura unui sistem de
calcul, alturi de unitatea central de prelucrare, este magistrala (bus n
englez). O magistral sau un set de magistrale are rolul de a conecta
procesorul la memoria principal i la echipamentele periferice. Este bine
tiut c magistrala are o importan major n obinerea unor performane
optime, ea asigurnd viteza de lucru a sistemului de calcul. O magistral
bine aleas permite calculatorului s lucreze la parametrii procesorului.
Primele PC-uri aveau numai o magistral (figura 1.15), care era
comun pentru unitatea central de prelucrare (UCP), memoria RAM
(Random Access Memory) i componentele de I/E (Intrare/Ieire).

Introducere

Figura 1.15 Magistral unic

n anul 1987, firma Compaq a demonstrat pentru prima dat cum se
poate separa magistrala de sistem de magistrala de I/E, astfel nct acestea
s poat fi utilizate la parametri diferii. Aceast arhitectur multi-magistral
a devenit standard industrial.

Magistralele unui sistem se pot diviza n (figura 1.16):
magistrala de sistem sau magistrala local care conecteaz
unitatea central de prelucrare (UCP) cu memoria RAM;
magistralele de I/E care conecteaz UCP cu celelalte
componente.


Figura 1.16 Magistralele unui PC

Fizic, o magistral este reprezentat printr-un ansamblu de trasee de pe
placa de circuit imprimat. Aceste trasee sunt utilizate pentru transmisia datelor,
adreselor de memorie sau a unor semnale de control. Din aceste considerente,
n literatura de specialitate se regsesc denumirile de magistrala de date,
magistrala de adrese i magistrala de control (figura 1.17).
Magistrala de adrese este utilizat de procesor pentru a selecta o
locaie de memorie sau un anumit periferic.
Sisteme de calcul i operare


Figura 1.17 Magistralele de date, adrese i control

Magistrala de date este utilizat pentru transferul datelor ntre
procesor i unitatea de memorie sau un dispozitiv periferic.
Magistrala de control ofer semnalele pentru sincronizarea fluxului
de date ntre procesor i unitatea de memorie sau un dispozitiv periferic.

O arhitectur de magistral reprezint modul n care componentele
unui sistem de calcul, n particular ale unui PC, sunt interconectate.
Principalele caracteristici care trebuie luate n calcul la alegerea unei
arhitecturi de magistral sunt:
^ s asigure performane maxime microprocesorului;
^ s fie operaional pe ntreaga durat de via a sistemului;
^ s permit eventuala modernizare a microprocesorului;
^ s permit includerea pe sistem a celor mai noi aplicaii:
multimedia, transfer de informaie etc.

Magistrala local asigur comunicarea ntre UCP i memoria RAM,
eventual printr-o memorie de tip cache. Ea se afl pe placa de baz i este
proiectat n aa fel nct s corespund specificaiilor microprocesorului.
Tehnologia microprocesorului determin caracteristicile magistralei de
sistem. n modelul iniial de PC, magistrala de sistem funciona pe 8 bii i
putea transfera aproximativ 10
6
octei/secund. Acum, pentru a putea face
fa unui procesor Pentium, este necesar o magistral pe 64 bii, cu o vitez
Introducere
de transfer a datelor de 5*10
8
octei/secund. n tabelele 1.1 i 1.2 sunt
prezentate diferite microprocesoare i magistralele lor de sistem.

Caracteristici ale magistralei de sistem
Tabelul 1.1
UCP mai vechi
Limea magistralei
de sistem
Viteza pe magistrala
de sistem
8088 8 bii 4.77 MHz
8086 16 bii 8 MHz
80286-12 16 bii 12 MHz
80386SX-16 16 bii 16 MHz
80486SX-25 32 bii 25 MHz
80486DX-33 32 bii 33 MHz
80486DX2-50 32 bii 25 MHz
80486DX-50 32 bii 50 MHz
80486DX2-66 32 bii 33 MHz
80486DX4-120 32 bii 40 MHz
5X86-133 32 bii 33 MHz
Intel P60 64 bii 60 MHz
Intel P100 64 bii 66 MHz
Cyrix 6X86 P133+ 64 bii 55 MHz
AMD K5-133 64 bii 66 MHz
Intel P150 64 bii 60 MHz
Intel P166 64 bii 66 MHz
Cyrix 6X86 P166+ 64 bii 66 MHz
Pentium Pro 200 64 bii 66 MHz
Cyrix 6X86 P200+ 64 bii 75 MHz
Pentium II 64 bii 66 MHz





Sisteme de calcul i operare
Caracteristici ale magistralei de sistem i ale UCP
Tabelul 1.2
Microprocesor Tip chipset
Viteza pe magistrala
sistem
Viteza UCP
Intel Pentium II 82440BX82440GX 100 MHz 350, 400, 450 MHz
AMD K6-2 Via MVP3ALi
Aladdin V
100 MHz
250, 300, 400 MHz
Intel Pentium
Xeon
82450NX 100 MHz 450, 500 MHz
Intel Pentium III 82440JX 133 MHz 533, 665 MHz
AMD K7 200 MHz 600, 800 MHz

Magistralele de I/E conecteaz UCP la toate celelalte componente
ale sistemului i reprezint extensii ale magistralei locale. Principalele tipuri
de magistrale de I/E sunt: PC AT, ISA, EISA, IBM Micro Channel, VESA
Local Bus, PCI, SCSI, USB.
Primul PC produs de firma IBM (proiect demarat n 1980) folosea
un procesor Intel 8088. Arhitectura magistralei de sistem, ct i cea de
extensie reprezentau o continuitate a magistralei locale a procesorului.
Pentru realizarea transferurilor de acces direct la memorie (DMA - Direct
Memory Access), ntreruperilor i funciilor de ceas/numrtor, erau
prevzute cipuri speciale. Arhitectura era simpl i prezenta o mare
disponibilitate de extensie. Drept urmare, plcile adaptoare proiectate pentru
primul PC pot fi utilizate pe calculatoarele actuale, dotate cu procesor
Pentium i magistral PCI. Sistemul suporta 1 sau 2 uniti de dischete de
160 K i posibilitatea de a conecta nc dou uniti de dischete externe.
Magistrala lucra pe 8 bii.
n 1984 IBM lanseaz pe pia sistemul PC-AT, avnd
caracteristicile:
procesor Intel 80286 (pe 16 bii);
adresarea pe 24 bii;
16 MB memorie RAM;
posibilitatea de lucru n mod protejat;
frecvena ceasului de 6 MHz, cu posibilitatea de cretere la 8 MHz.

Noua magistral pe 16 bii, cu adresare pe 24 bii, permitea utilizarea
vechilor adaptoare fr modificri hardware sau software, datorit pstrrii
magistralei pe 8 bii i a conectorilor de extensie. Varianta PC-AT oferea
trei canale DMA suplimentare i nc 7 nivele de ntrerupere. n modelul
Introducere
original PC-AT, magistrala utiliza aceeai frecven de ceas ca a
microprocesorului. Ulterior, n multe sisteme care au aprut pe pia,
magistralele de extensie lucrau la 10 sau 12 MHz. Pentru a rezolva
problemele determinate de diferena de vitez ntre procesor i magistral au
fost create circuite logice ce asigur o funcionare asincron (prin care se
accept ca viteza procesorului s fie independent de cea a magistralei).
Arhitectura ISA (Industry Standard Architecture) reprezint un
standard de facto, publicat de Intel, cu specificaiile magistralei PC-AT.
Standardizarea nu a fost facilitat, deoarece IBM nu a fcut cunoscute
caracteristicile magistralei sale. Arhitectura standard a microcalculatoarelor
(figura 1.18) realizate pn la sfritul anului 1992 cuprindea o magistral
local capabil s asigure o rat a transferului de pn la 132 Moctei/s
(MBps). Magistrala local conecta unitatea central de componentele care
aveau rolul de control i nu se substituia magistralelor existente.


Figura 1.18 Arhitectura standard a unui microcalculator

Concurenii firmei IBM, grupul celor nou: AST, Compaq, Epson,
HP, Olivetti, NEC, Tandy, Zenith i Wyse, i-au unit forele pentru a
prezenta o arhitectur diferit: EISA (Extended Industry Standard
Architecture) ce are avantajul de a rmne compatibil cu arhitectura ISA pe
16 bii. Magistrala EISA are un format pe 32 bii, att pentru adrese ct i
pentru date, permite accesul la 4 GB de memorie intern, iar rata
transferului este de 33 MB/sec.
Sisteme de calcul i operare
n anul 1987 IBM ncearc s recucereasc controlul asupra
arhitecturii sistemelor PC, pierdut odat cu publicarea detaliilor tehnice ISA
i lanseaz pe pia produsele sale din familia PS/2 (Personal System/2) ce
au la baz arhitectura MCA (Micro Channel Architecture).
Arhitectura MCA este complex, deoarece exploateaz puterea
microprocesoarelor pe 32 bii (80386, 80486 Intel). Magistrala de adrese
este de asemenea pe 32 bii. Arhitectura este optimizat prin prezena a
8 canale DMA i posibilitatea de a conecta pn la 16 echipamente
periferice simultan. Magistrala MCA este asincron i conine un program
de identificare a plcilor de extensie. Rata transferului de date 160 MB/sec.
Exist o magistral MCA n format pe 16 bii pentru calculatoarele dotate cu
microprocesoare 80286 Intel i se mai gsesc plci video pe 24 bii adaptate
la aceast arhitectur.
O dat cu crearea de ctre Microsoft a interfeei grafice Windows,
este necesar o suprafa mai mare a ecranului precum i o rezoluie mai
bun. Adaptoarele VGA ataate magistralei ISA erau depite. Soluia a
constat n conectarea adaptorului video i a memoriei asociate pe magistrala
local a sistemului. VESA a ncercat s standardizeze monitoarele PC
(diagonala ecranului, rata de mprosptare a imaginilor sau timpul de afiare
pentru o imagine) magistrala i conectorii prin care se ataeaz
echipamentele la magistrala local a procesorului. Standardul VESA a ales
ca etalon magistrala local a microprocesorului Intel 80486.
Magistrala VESA (Video Electronics Standard Association) accept
echipamente pe 32 i 64 bii, putnd lucra la frecvene mai mari 33 MHz n
cazul formatului pe 32 bii.
Magistrala PCI (Peripheral Component Interconect) a fost
dezvoltat de Intel n 1993, la concuren cu standardul VESA. Versiunea
1.0 accept 32 bii la 33 Mhz, ceea ce permite s se ating o rat de transfer
de 132 MB/s, ca i n cazul magistralei VESA.
Magistrala PCI (figura 1.19) prezint marele avantaj de a fi total
independent de procesor i dispune de propria memorie tampon.
Arhitectura PCI poate fi combinat cu o alt arhitectur de magistral, cum
ar fi ISA sau EISA. PCI este autoconfigurabil, plcile conectate fiind
automat detectate i utilizate n mod optim (Plug and Play). n specificaia
2.0 PCI permite accesul pe 64 de bii, pentru a se putea utiliza cu
microprocesorul Intel Pentium.
Magistrala SCSI (Small Computer System Interface) suport diverse
periferice. Viteza de transfer variaz de la 4 Moctei/s la 80 Moctei/s.
USB (Universal Serial Bus) este o magistral serie aprut n 1996 i
care a devenit succesoarea magistralelor tradiionale. Ea permite utilizarea
Introducere
a 127 de periferice conectate la un singur canal. n plus, permite
recunoaterea automat a perifericelor conectate pe canal i determinarea
driver-ului necesar n funcionare. Pe o astfel de magistral, informaiile
codificate n NRZI (Non Return to Zero Inverted) pot circula la un debit
adaptat perifericului (variaz de la 1.5 la 12 Moctei/s pe un cablu torsadat).
USB utilizeaz principiile de funcionare similare celor din reelele locale.
n tabelul 1.3 sunt ilustrate caracteristicile diferitelor tipuri de magistrale
de I/E.
Magistrale de I/E
Tabelul 1.3
Magistrala de I/E
An
apariie
Lime
magistral
Viteza magistral
Debit
maxim
(teoretic)
PC i XT 1980-82 8 bii
Sincron cu UCP:
4.77 i 6 MHz
4-6 MBps
ISA (AT)
Magistral simpl
1984 16 bii Asincron: 8 MHz 8 MBps
MCA
Magistral inteligent
realizat de IBM
1987 32 bii Asincron: 10 MHz 40 MBps
EISA
Magistral inteligent
pentru servere.
1988 32 bii Asincron: 8 MHz 32 MBps
VL
Magistral de mare
vitez, utilizat n 486s
1993 32 bii Sincron cu UCP:
33, 40, 50 MHz
100-160
MBps
PCI
Magistral inteligent de
mare vitez
1993 32 bii Asincron: 33 MHz 132 MBps
USB
Magistral inteligent,
simpl i modern
1997 Serial 1.2 MBps
FireWire (IEEE1394)
Magistral inteligent de
mare vitez pentru video,
memorare etc.
1999 Serial 80 MBps
Sisteme de calcul i operare

Figura 1.19 Arhitectura tipic PCI a unui sistem
cu microprocesor Pentium II


1.4 Arhitecturi paralele

Viitorul arhitecturilor de calculator este n strns concordan cu
noiunea de paralelism. Acest principiu arhitectural permite tratarea n
paralel a informaiei ce presupune execuia evenimentelor concurente.
Aceste evenimente se pot regsi la nivel de program, de procedur,
instruciune sau n interiorul unei instruciuni. Ca o definiie foarte simpl,
un calculator paralel reprezint o colecie de procesoare interconectate ntre
ele pentru a permite coordonarea activitilor acestora i schimbul de date.
Calculatoarele paralele necesit algoritmi paraleli, adic algoritmi ce pot fi
implementai pe calculatoare paralele.
La nivelul cel mai nalt, tratarea paralel permite execuia simultan
a mai multor programe independente. Se utilizeaz n sistemele mari de tip
mainframe i se trateaz la nivelul sistemului de operare (multiprograme,
timp partajat, multiprelucrare).
Introducere
Tratarea paralel a instruciunilor independente utilizeaz tehnica de
vectorizare. Se trateaz la nivel de sistem (vectorial), de limbaj de
programare (Fortran vectorial) sau la nivel de algoritm.
Tehnica denumit pipeline permite introducerea paralelismului la
nivel de instruciune. n acest sens, o instruciune este mprit n mai multe
etape succesive i se execut n acelai timp etape diferite ale mai multor
instruciuni.
Arhitecturile monoprocesor au, n general, o structur de baz
comun: o memorie principal, procesorul central i un ansamblu de
echipamente periferice. Multe calculatoare monoprocesor fac apel la tehnica
tratrii paralele, dar exist limitri. Paralelismul se poate realiza:
ntre mai multe uniti funcioanale;
ntre UAL paralele;
prin multiprogramare i timp partajat.


Figura 1.20 Arhitectura SISD

Condiiile paralelismului trebuie s in seama de restriciile inerente
n tratarea informaiei (algoritmare) i de posibilitile oferite de
componentele fizice (multiplicarea structurilor de execuie). Creterea
numrului de procesoare n acelai calculator, modific structura de baz a
acestuia. Problemele de acces la memorie devin foarte importante, pentru a
putea transmite datele n ritmul de tratare al procesoarelor. De asemenea,
problemele de comunicare ntre procesoare sunt eseniale.
Deoarece procesul principal ntr-un calculator const din execuia
unei succesiuni de instruciuni asupra unui ansamblu de date, arhitecturile
paralele pot fi clasificate dup fluxurile de instruciuni i date (dup Flynn)
astfel:
SISD - Single Instruction (Stream), Single Data (Stream);
SIMD - Single Instruction (Stream), Multiple Data (Stream);
MISD - Multiple Instruction (Stream), Single Data (Stream);
MIMD - Multiple Instruction (Stream), Multiple Data (Stream).

Input/Output UC

Memorie
UP
I
D
Sisteme de calcul i operare
SISD (fluxuri unice pentru instruciuni i date figura 1.20)
reprezint structura de baz a unei maini secveniale (numit main
Von Neumann). Exemple: IBM 370, DEC VAX, SUN, IBM PC, Macintosh.

SIMD (flux unic de instruciuni, flux multiplu de date) (fig. 1.21)
conine mai multe uniti de prelucrare ce sunt supravegheate de o singur
unitate de control. Toate unitile de tratare primesc acceai instruciune
(sau acelai program n cazul arhitecturii SPMD (Single Program, Multiple
Data) transmis prin unitatea de control, dar opereaz pe ansambluri de date
distincte.
Fiecare unitate de prelucrare Pi, execut aceeai instruciune n
acelai moment, obinndu-se o funcionare sincron a procesoarelor.
Memoria poate fi mprit n mai multe module, Mj. n aceast situaie,
accesul unitilor de prelucrare la diferitele module de memorie se face
printr-o reea de interconexiune. Aceast arhitectur include i procesoarele
vectoriale i reelele sistolice. Exemple: CRAY-1, DAP CM-1, WARP,
CM-2, ILLIAC IV.

Figura 1.21 Arhitectura SIMD
MIMD (fluxuri multiple de instruciuni, fluxuri multiple de date),
permite realizarea unui paralelism explicit. Exemple de astfel de
calculatoare sunt: transputerele, Supernode, DADO, N-cube, Ultracomputer,
Butterfly, Alliant, Sequent Balance, CRAY X-MP.
Dup cum memoria central este comun pentru mai multe procesoare
sau mai multe uniti centrale (procesor + memorie central proprie) ce
comunic ntre ele prin mesaje, se poate spune c structura este puternic
cuplat, MIMD cu memorie partajat (figura 1.22) sau slab cuplat, MIMD
cu memorie distribuit (figura 1.23).
Introducere

Figura 1.22 Arhitectura MIMD cu memorie partajat

n primul model, procesoarele execut sarcinile prin partajarea
datelor din memoria comun, ce este divizat n module (M
i
). n al doilea
model, procesoarele execut sarcinile schimbnd mesaje. n ambele modele
fiecare procesor (P
i
) posed propria unitate de control (UC
i
).

Figura 1.23 Arhitectura MIMD cu memorie distribuit

n viitor se prevede o revenire a constructorilor la arhitecturi mai puin
complexe, avnd la baz procesoare care integreaz o mai mare putere de
calcul i faciliti de comunicaie. Alternativa distribuit constituie
varianta cea mai potrivit din punct de vedere economic.