Sunteți pe pagina 1din 19

Arhitectura calculatoarelor

CAPITOLUL I

CAPITOLUL I INTRODUCERE
1.1. Arhitectura calculatoarelor - definiii i terminologie
Arhitectura calculatoarelor este o ramur a informaticii perceput destul de divers n literatura de specialitate, de unde rezult i diversitatea modurilor n care ea este definit. Astfel, n unele lucrri se spune c domeniul se ocup cu studiul structurii, comportrii i proiectrii calculatoarelor, iar n altele, cu proiectarea specificaiilor generale pentru un ntreg sistem de calcul sau numai pentru o parte a sa. Alteori, arhitectura este definit ca o interfa ntre hardware i software-ul de cel mai sczut nivel sau se consider c trateaz proiectarea unui sistem de calcul integrat capabil s devin un instrument eficient n mna programatorilor. i din punct de vedere istoric, domeniile abordate de ctre arhitectura calculatoarelor au evoluat: dac n anii '60 acestea vizau numai aritmetica sistemelor de calcul, n anii '70 i '80 vor fi abordate i elemente legate de proiectarea setului de instruciuni, iar ncepnd cu anii '90, pe lng problemele legate de proiectarea unitii centrale, a ierarhiei memoriilor, a mecanismelor de intrare - ieire, vor fi tratate i aspecte conceptual-funcionale viznd sistemele cu multiprocesare sau reele de calculatoare. Extrapolnd aceste tendine, suntem ndreptii s credem c n anul 2010 n aria arhitectural a tiinei calculatoarelor vor fi cuprinse teme legate de studiul organizrii sistemelor cu autoadaptare sau al structurilor autoinstruibile. ncercnd totui o s alegem o definiie, considerm potrivit s ne oprim asupra urmtorului enun: arhitectura calculatoarelor se ocup cu identificarea i descrierea acelor atribute ale sistemului de calcul vizibile programatorului (setul de instruciuni, reprezentarea datelor i a structurilor de date, organizarea memoriei pentru programe, modurile de adresare, mecanismul de intrare/ieire), ct i cu prezentarea principiilor structurale de proiectare ale mainilor de calcul. Cu toate c avem de-a face cu dou noiuni care au semnificaii diferite, n anumite lucrri conceptul de arhitectur este nlocuit sau confundat cu cel de organizare. Eroarea este evident, pentru c de fapt este vorba de cele dou componente distincte care se mbin armonios n arhitectura unui calculator: arhitectura se refer la setul de instruciuni al procesorului, iar organizarea, la structura mainii de calcul. Arhitectura setului de instruciuni (ISA - Instruction Set Arhitecture) descrie structura mainii de calcul din punctul de vedere al programatorului. Setul de instruciuni realizeaz interfaa ntre software i hardware. Prin abuz de limbaj, se spune uneori c membrii unei familii de procesoare au aceeai arhitectur, dac ei ruleaz acelai set de instruciuni. n acest caz termenul arhitectur se refer numai la ISA. Este deci posibil ca procesoare care au diverse organizri interne i sunt fabricate de productori diveri s fie percepute de ctre programatori ca fiind identice, tocmai pentru c au seturi de instruciuni identice (este cazul familiilor arhitecturale de tip INTEL, IBM sau SUN). Aa cum ns vom discuta mai trziu, este posibil s se construiasc i procesoare capabile s implementeze mai multe seturi de instruciuni, cum este cazul celor microprogramate, capabile s genereze microcod modificabil. Cteva exemple consacrate de arhitecturi tipice pentru seturi de instruciuni sunt: Digital Alpha (19921997), HP Precision Arhitecture (1986-1996), Sun Sparc (1987-1995), MIPS I-V (1986-1996), Intel 80x86, Pentium, Pentium MMX (1978-2002). Organizarea mainii de calcul desemneaz att modul n care a fost implementat arhitectura setului de instruciuni (tehnologiile utilizate, semnalele de comand i control, accesul la resurse), ct i felul n care sunt interconectate diversele nivele ale unitilor funcionale. Organizarea calculatorului este transparent programatorului. Datorit numai modului diferit de implementare al unor caracteristici organizaionale - ca, de exemplu, numrul unitilor funcionale, complexitatea prelucrrii instruciunilor i posibilitile ca acestea s fie tratate n paralel, dimensiunea i organizarea memoriei cache .a. - pot fi ntlnite procesoare cu seturi de instruciuni identice, dar cu performane radical diferite. Cele dou componente arhitecturale - setul de instruciuni i organizarea mainii - sunt legate ntre ele, dar nu trebuie n mod necesar tratate mpreun. Spre exemplu, instruciunea de nmulire disponibil ntr-un

Arhitectura calculatoarelor

CAPITOLUL I

calculator poate fi prezentat ca o caracteristic ISA a acestuia. Dac ns este prezentat modul cum aceast operaie este implementat, avem de-a face cu un aspect organizaional al aceluiai calculator. Cu toate c detaliile organizrii mainii sunt transparente pentru software, nu trebuie pierdut din vedere faptul c ele contribuie n mare msur la obinerea performanelor de calcul, astfel nct este de dorit ca unele elemente organizaionale de baz s fie totui cunoscute de ctre programatori. Codul compilat va rula n mod similar pe sisteme cu structuri interne diferite, dac ele au acelai ISA. El nu va fi capabil s detecteze dac sistemul pe care ruleaz are sau nu memorie cache sau implementeaz mecanismele prelucrrii pipeline, ns aceste caracteristici vor fi eseniale pentru viteza cu care programul se execut. n consecin, eficiena rulrii codului va fi diferit de la un calculator la altul, dac acestea au particulariti organizaionale distincte. Evoluia arhitecturilor de calculatoare este strns legat i uneori chiar impus de progresele din unele domenii conexe: tehnologiile de realizare ale componentelor electronice, limbajele de programare de nivel nalt, sistemele de operare, programele de aplicaii, tehnicile de proiectare, msurare i evaluare, creativitatea . a.

1.2.

Progresul tehnologic i evoluia calculatoarelor

Pentru a aduce argumente n sprijinul comentariilor de la sfritul paragrafului anterior legate de condiionrile evoluiilor arhitecturale, vom ilustra prin cteva date statistice i grafice dramaticele schimbri din ultimul timp ale parametrilor unei maini de calcul, determinate de spectaculoasele progrese ale tehnologiei. Componentele vizate n special de aceste progrese tehnologice sunt procesoarele, memoria intern, discurile magnetice i cele optice. Dinamica performanelor procesoarelor poate fi reprezentat prin mai muli indicatori, ns oricare dintre acetia poate fi edificator chiar de unul singur. Astfel, dac rata anual a creterii capacitii logice are valoarea de 30%, iar frecvena ceasului intern crete anual cu circa 20%, gradul de integrare a depit n anul 2000 pragul celor 100 milioane de componente elementare ntr-un singur circuit (pe cnd - spre exemplu - Intel 4004 nu ngloba n 1971 dect ceva mai mult de 1000 de componente!). Nici evoluia memoriilor nu rmne mai prejos: n timp ce capacitatea memoriilor DRAM crete de circa 4 ori n trei ani, iar rata de transfer a acestora se mbuntete cu 10% pe an, costul per bit scade anual cu aproximativ 25%. i memoriile externe evolueaz rapid, capacitatea discurilor hard mrindu-se cu 60% pe an, iar volumul de date disponibile dublndu-se la fiecare 9 luni. n perioada 1982-1995 performanele procesoarelor, msurate prin indicatori SPEC, s-au dublat la fiecare 1.5 ani. Astfel, generaia 1995 a microprocesoarelor familiei Intel x86 era de aproape 200 de ori mai performant dect cea a anilor '80, pe cnd un procesor RISC din acelai an era de 300 de ori mai puternic. n fine, pentru a ncheia irul acestor cteva exemple, s mai menionm c limea de band a comunicaiilor din reele se dubleaz anual. Dinamici ca i cele de mai sus sunt cu mult mai multe. Preferm totui s ne oprim aici, iar n loc de concluzii s invitm cititorul s ntrzie cteva momente privind diagramele din figura 1.1, care ilustreaz astfel de aspecte evolutive. Cum graficele din figur sunt sugestive prin ele nsele, alte comentarii suplimentare asupra lor devin de prisos.

1.3. Evoluia dispozitivelor de calculat - scurt istoric


Cu toate c despre calculatoarele electronice se vorbete numai de circa ase decenii, istoria mainilor de calculat este bogat i complex. O prezentare cronologic a progreselor din acest domeniu poate fi important, pentru c vom avea astfel posibilitatea s nelegem mai bine resorturile i motivaiile care au determinat aceste evoluii permanente i spectaculoase. Nici chiar istoria calculatoarelor nu poate fi acoperit integral n cteva pagini. Sunt matematicieni sau ingineri care au elaborat lucrri de sute de pagini dedicate numai acestui subiect, cu investigaiile extinse pn n preistorie i fapte prezentate n conexiune cu evenimente din alte domenii tiinifice sau tehnice. Pentru mai mult rigoare, diversele soluii propuse n timp pentru mainile de calcul au fost ncadrate ntr-un numr de generaii succesive. Numrul de trepte pe aceast scar de evoluie poate fi fixat la ase: generaia 0 - mainile mecanice i electromecanice de calculat; generaia 1 - calculatoarele realizate cu tuburi electronice;
6

Arhitectura calculatoarelor
generaia 2 - calculatoarele cu tranzistori; generaia 3 - calculatoarele cu circuite integrate; generaia 4 - microprocesoarele; generaia 5 - calculatoarele cu arhitecturi paralele.

CAPITOLUL I

Mainile mecanice/electromecanice - generaia 0


Aceast generaie acoper o perioad cu o mare ntindere n timp (din Evul Mediu pn n 1940) i debuteaz cu mainile mecanice de calculat, construite n secolele XVI - XVIII. Pentru c erau alctuite din angrenaje cu roi dinate i prghii, aceste dispozitive semnau oarecum cu ceasurile. Ele lucrau n aritmetica zecimal, astfel nct roile aveau cte zece dini. Datorit pieselor n micare i a frecrilor, mainile erau lente i puin fiabile, iar datorit mecanicii fine utilizate, erau i scumpe. Datele destinate prelucrrii nu puteau fi stocate, iar rezultatele prelucrrilor nu puteau fi nici pstrate i nici transferate de pe o main pe alta. "Programarea" mainilor mecanice se fcea prin modificarea parametrilor constructivi ai acestora, constnd practic n schimbarea roilor dinate ale angrenajelor. Primele creaii de acest fel au fost cele concepute i realizate de ctre Wilhelm Schickard - astrolog i matematician (1624), Blaise Pascal - matematician (1642) i Gottfried Wilhelm Leibnitz - inventator i matematician (1694). Din pcate, maina lui Schickard, care efectua automat cele patru operaii aritmetice i se pare c era mult mai complex dect "cutia" construit ulterior de Pascal, a fost distrus ntr-un incendiu mpreun cu autorul ei i nu a mai fost niciodat reconstituit. La numai 17 ani, Blaise Pascal a construit o cutie care efectua numai adunri i scderi i era destinat a-l ajuta pe tatl su - de profesie perceptor. S remarcm - mcar n treact - faptul c i astzi unul din principalele domenii de aplicaie al calculatoarelor a rmas colectarea impozitelor i taxelor. Maina lui Leibnitz efectua toate cele patru operaii i aducea unele mbuntiri mpririi. Cu toate c nu a utilizat termenul, Leibnitz are primele preocupri pentru a defini principiile i tehnicile inteligenei artificiale. Versiunile ulterioare ale mainii sale au fost utilizate pn n anii '40, cnd au devenit disponibile primele calculatoare electronice. Astfel, o main mecanic comercial de calcul, versiune a mainii lui Leibnitz aritmometrul Thomas - a fost meninut n producie pn n 1926. Maini similare cu cele ale lui Pascal sau Leibnitz au mai construit - printre ali - Lepine (1725), Hillerin (1730), Pereire (1751) sau Stanhope (1775). Bazndu-se pe tabelele de logaritmi elaborate de Napier n 1617, Edmund Gunter construiete n 1624 rigla de calcul, utilizat n activitile de proiectare inginereasc pn la sfritul anilor '60. Pare paradoxal, dar prima main programabil nu efectua calcule, ci esea pnz! Ea a fost construit in 1801 de ctre un pionier al revoluiei industriale din Europa - francezul Joseph Jaquard - sub forma rzboiului de esut automat, care lucra citind informaii de pe cartele perforate. Observm cum noiunea de program a aprut mai nti n lumea mecanic. De altfel, ideea este cu mult mai veche, putnd fi ntlnit n scrierile antice ale lui Heron din Alexandria sau materializat n dispozitive de tipul cutiilor muzicale sau al ceasurilor cu mecanisme de animaie ale unor figurine. Un progres semnificativ n tehnica de calcul este datorat celui care astzi este considerat printele calculatoarelor moderne, matematicianului englez Charles Babbage (1792 - 1857). Prelund ideea stocrii datelor pe cartele perforate, el a iniiat construcia a dou maini mecanice remarcabile, numite diferenial i analitic. Primul proiect, insuficient finanat de ctre guvernul englez ntre 1828 - 1833 (i din aceast cauz rmas neterminat), viza realizarea unei maini pentru automatizarea calculului funciilor polinomiale i a tipririi rezultatelor. Suplimentar, pentru calculul funciilor trigonometrice, Babbage propunea o nou tehnic, numit metoda diferenelor finite. Maina analitic era proiectat pentru a efectua automat orice operaie aritmetic i prefigureaz primul calculator programabil, deoarece includea n premier cteva elemente constitutive ale calculatoarelor moderne: unitate aritmetic de calcul, memorie de lucru pe cartele perforate pentru date, dispozive de intrare - ieire. Din pcate, complexitatea proiectului l va face imposibil de construit la acea vreme. Totui, n anul 1853, proiectul va fi parial implementat n Suedia de ctre Edward Schentz, sub forma unui model funcional destinat calculului tabelelor astronomice. Cercetrile lui Babbage au fost completate de ctre matematiciana Ada Gordon (cstorit cu William King, nnobilat mai trziu conte de Lovelace), interesat ndeosebi de maina analitic. Ea este cea care a sugerat pentru stocarea datelor - n premier - utilizarea sistemului binar n locul celui zecimal, inspirat probabil
7

Arhitectura calculatoarelor

CAPITOLUL I

de teoria matematic a logicii binare, elaborat ntre timp de ctre George Boole (1847). Tot ea este cea care, elabornd anumii algoritmi pentru operaii matematice (ndeosebi pentru calculul numerelor lui Bernoulli), pune fundamentele unei noi discipline, numit calcul numeric. Ada Gordon este considerat de aceea primul programator din lume. n anii '70, Departamentul Aprrii al SUA va atribui numele ei unui limbaj de programare de nivel inalt - ADA. n secolul al XIX-lea "nmuguresc" primele sisteme de telecomunicaii. Telegraful lui Sommering utiliza 35 de fire pentru a transmite pe fiecare dintre ele cte un caracter. n 1819 H. C. Oersted aduce o contribuie major la dezvoltarea teoriei transmisiei semnalelor, descoperind c n jurul unui conductor strbtut de curent electric apare un cmp magnetic. Pe aceast baz, Cooke va construi n 1828 un nou telegraf, care se va dovedi foarte util pentru societile constructoare de ci ferate. Construcia cablurilor electrice izolate permite efectuarea legturilor telegrafice submarine. Prima dintre ele traverseaz Canalul Mnecii n anul 1850, fiind urmat curnd de legturile transatlantice. Un astfel de cablu care traversa oceanul, cu o lungimea de 2300 de mile, avea n 1865 o greutate de 9000 de tone i permitea transmiterea a 8 cuvinte pe minut. Costul transmisiei a 20 de cuvinte era de 100 de dolari aur. n 1876, Alexander Graham Bell reuete prima convorbire telefonic, care va sta la baza edificrii reelelor de comunicaie prin comutaie de circuite. Din 1897, legturile din aceste reele se pot efectua automat, pe baza descoperirii lui Strowger. Progresele n telecomunicaii nu se opresc ns aici. In 1864, J. C. Maxwell prognozeaz existena undelor radio, iar n 1887 Heinrich Hertz le demonstreaz existena. Pe aceast baz, Marconi realizeaz n 1901 prima transmisie radio. n fine, n 1906 Lee deForest nventeaz tubul cu vacuum. Utilizarea telegrafului a dus la elaborarea teoriei electronice care descrie comportarea semnalelor n diferite circuite. Fr aceste fundamente, construcia ulterioar a calculatoarelor de mare vitez ar fi fost imposibil. n plus, construcia reelelor telegrafice i - mai trziu - a celor telefonice a promovat circuitele de comutaie, care vor sta la baza construciei primelor calculatoare electromecanice. Tubul cu vacuum este amplificatorul cu care se va construi mai trziu primul calculator electronic. n concluzie, triada telegraf - telefon tub electronic va constitui soclul comun teoretic i practic de pe care vor fi edificate n secolul nostru toate marile descoperiri din tehnica de calcul. La sfritul secolului XIX, Herman Hollerith construiete un nou calculator mecanic - maina tabulator. Destinat prelucrrii statistice a informaiilor obinute din recesmntul populaiei, tabulatorul transporta n premier cu ajutorul curentului electric datele citite de pe cartelele perforate la unitatea de calcul. Utilizarea mainilor lui Hollerith la recensmntul efectuat n anul 1890 n SUA a redus timpul de prelucrare la numai dou luni, fa de 7,5 ani ct se estimase c va dura procedura manual. Utilizarea codului de reprezentare al datelor pe cartele, conceput chiar de Hollerith (de aceea a i fost numit cod Hollerith) s-a generalizat rapid i a fost meninut pn n zilele noastre. Hollerith Tabulating Company - companie fondat de ctre constructorul tabulatorului - realizeaz n 1914 o fuziune cu ali doi parteneri, sub numele C-T-R (Calculating - Tabulating - Recording). n 1924 holdingul se transform n International Bussines Machine, cel care astzi a devenit giganticul concern multinaional IBM, lider mondial al produciei de tehnic de calcul. De obicei, majoritatea celor care folosesc astzi termenul de calculator se refer la un dispozitiv numeric. Lucrurile nu au stat totui ntotdeauna aa: pn n anii '70, calculatoarele analogice, mecanice sau electronice, erau i ele frecvent folosite, de obicei n simularea unor sisteme reale prin intermediul unor modele. Probabil, cel mai vechi calculator analogic este clepsidra, iar cel mai utilizat, cunoscutul dispozitiv simulator al trecerii timpului - ceasul. Printele calculatoarelor analogice moderne este unanim considerat Vannavar Bush, cu toate c n 1876 lordul Kelvin construiete un astfel de dispozitiv mecanic, destinat previziunilor privind comportamentul mareelor. Bush - care lucra la Massachutets Institute of Technology - a construit la nceputul anilor '30 analizorul diferenial electromecanic, bazat pe utilizarea integratoarelor mecanice cu disc i roat de friciune. Aceast main cu greutatea de 100 de tone era capabil s rezolve ecuaii de 18 variabile i a fost utilizat pentru efectuarea de calcule balistice sau din fizica atomic. n 1945 Bush public n revista Atlantic Monthly o propunere pentru un sistem de informare numit Memex, un strmo al serviciului actual de informare i documentare pe Internet numit WWW. Calculatoarele analogice au avut importana lor pentru dezvoltarea celor numerice ns - odat cu trecerea timpului - i-au pierdut din utilitate, mai ales din cauza lipsei de precizie (exactitatea lor era esenial determinat de natura componentelor folosite la realizarea modelului sistemului simulat). Ultimele astfel de
8

Arhitectura calculatoarelor

CAPITOLUL I

sisteme au fost folosite n anii '70 ca integratoare electronice pentru simularea unor sisteme dinamice complexe sau ca sintetizatoare muzicale. Cu toate c n general s-a ncetenit ideea c industria de calculatoare i are originile n perioada celui de-al doilea rzboi mondial, nc din 1872 ( la numai cteva decenii dup introducerea primelor aplicaii practice ale electricitii), Society of Telegraph Engineers discut, cu ocazia celei de-a patra adunri ordinare de la Londra, probleme referitoare la "calculul electric". Contribuiile teoretice din domeniu elaborate n secolul al XIX-lea vor fi completate la nceputul secolului XX. Astfel, teoria logicii binare a lui Boole va fi completat n anii '30 la Bell Labs de ctre Claude Shannon. La sfritul acestui deceniu, matematicianul englez Alan M. Turing, pune bazele teoretice ale informaticii, dezvoltnd i noiunea unei maini universale (astzi numit chiar maina Turing). Aceasta putea s execute orice algoritm care ar fi putut fi descris, avnd totui o structur simpl, cu memorie, mecanism de luare a deciziilor i un procesor de tip automat cu stri finite. Turing introduce conceptul de calculabilitate, lanseaz ideea c un calculator poate emula un altul i demonstreaz c o problem care poate fi rezolvat pe un anumit calculator poate fi de asemenea rezolvat pe orice calculator. Dac problema nu poate fi ns rezolvat pe maina Turing, ea nu va putea fi soluionat pe nici un sistem de calcul, prezent sau viitor. Turing a jucat un rol i n cel de-al doilea rzboi mondial, construind n mare secret la Bletchley Park maina Colossus, destinat decriptrii codurilor de comunicaie ale inamicilor germani. O alt contribuie teoretic de valoare a acelor vremuri a fost construcia primului model simplificat al celulei nervoase. Aceast prim ncercare de a modela cu ajutorul componentelor electronice unul din cei 10
11

neuroni ai creierului uman a fost fcut n 1943 i aparine neurofiziologilor Warren McCulloch i Walter Pitts. Reelele neurale, construite ulterior pe baza acestui model sau a altora mai evoluate, sunt structuri de calcul paralele, radical diferite de calculatoare. Ele au capacitatea de a se instrui i - cu toate c inc nu sunt n mod direct legate de calculatoare - este foarte posibil ca n viitor aceste relaii s se modifice n mod spectaculos. n 1934, Konrad Zuse inaugureaz o nou er, construind primul calculator utilitar electromecanic, bazat conceptual pe maina analitic a lui Babbage i folosind eficient releele electromagnetice. Dup realizarea modelelor Z1 i Z2, utilizate n Germania pentru proiectarea avioanelor, Zuse a avut chiar intenia de a construi cu ajutorul a 1500 de tuburi un calculator electronic. Din pcate, bombele celui de-al doilea rzboi mondial au distrus cea mai mare parte a muncii sale, iar ulterior Zuse a ratat ncercarea de a-i continua cercetrile, spre sfritul vieii dedicndu-se picturii. n aceeai perioad n care Zuse realiza mainile sale, Howard Aiken construia la Universitatea Havard, cu sprijinul financiar i practic al IBM - ului, o alt implementare a mainilor lui Babbage calculatorul programabil Mark I. Terminat n 1944, maina lui Aiken a fost utilizat de ctre US Navy pn la sfritul rzboiului. Ea utiliza aritmetica zecimal, avea o memorie de 72 cuvinte a 23 bii, efectund o adunare n 0,3 secunde i o multiplicare n 6 secunde. Mark I avea o arhitectur Harvard, denumire care va fi atribuit ulterior i altor sisteme care folosesc ci separate de tratare pentru date i instruciuni. Cu toate c mainile electromecanice de calculat au dus la reduceri semnificative ale timpilor de calcul i la creterea acurateei i preciziei rezultatelor, ele aveau dou mari dezavantaje: viteza limitat de operare i construcia complicat, lipsit de fiabilitate i scump.

Calculatoarele cu tuburi electronice - generaia 1


Dac ncercm o comparaie plastic, un calculator modern construit astzi cu tuburi electronice ar avea dimensiunile cldirii Empire State Building. Totui, acest balon de sticl vidat - avnd n interior anodul, catodul, filamentul i grila - reprezint primul comutator electronic utilizat n construcia unui calculator, eliminnd total releele electromagnetice, care erau mult mai lente. Aceast prim generaie deschide era electronic n evoluia calculatoarelor i se ntinde ntre anii 1945 1958. Primul calculator electronic este considerat ENIAC (Electronic Numerical Integrator and Calculator), o main programabil specializat, solicitat de armata american pentru realizarea calculului tabelelor balistice de artilerie. Unii istorici propun pentru ntietate maina ABC, construit n 1940 de Atanasoff i Berry, la Iowa State College. Criticii acestei propuneri argumenteaz ns c ABC nu a fost niciodat terminat i ea nici nu era un sistem de calcul de uz general, fiind destinat numai pentru rezolvarea ecuaiilor liniare. Calculatorul ENIAC a fost construit la Moore School of Engineering a Universitii din Pennsylvania, de ctre inginerii Presper Eckert i John W. Mauchly, ajutai de John von Neumann, fiind terminat n 1945. Era un prototip cu dimensiuni care astzi ne par gigantice pentru o main de calcul: 17480 de tuburi electronice, 70000
9

Arhitectura calculatoarelor

CAPITOLUL I

rezistoare, 10000 condensatori, 6000 comutatoare, greutate de 30 tone, suprafaa de 30 x 20 picioare, putere instalat de 140 kW. ENIAC avea o arhitectur construit n jurul unui registru acumulator, lucra la o frecven de ceas de 100 kHz, putea stoca 20 de numere lungi de 10 cifre reprezentate zecimal, iar ca dispozitive de intrare-ieire utiliza cititoare i perforatoare de cartele. Ca o curiozitate, datorit celor 20 de circuite sumatoare care operau n paralel, ENIAC poate fi considerat i primul sistem cu procesare paralel. Programarea lui era foarte laborioas, fcndu-se manual, prin acionarea unor comutatoare i modificarea unor legturi pe un panou. De altfel, chiar Mauchly, care introduce temenul de "programare" ntr-un articol dedicat calculului electronic i publicat n 1942, se limiteaz la aceste operaii primitive, accepiunea modern a cuvntului "program" fiind stabilit mai trziu, n 1946, la consftuirile de var de la Moore School. Deoarece nu putea s execute instruciuni condiionale ( de tip IFTHEN sau REPEATUNTIL) i deci nu putea s ia decizii pe baza rezultatelor calculelor pe care le efectua - trstur fundamental a tuturor calculatoarelor moderne - ENIAC nu poate fi introdus n aceast categorie, fiind considerat, ca i predecesorul su ABC, mai mult un prototip destul de sofisticat al unei maini de calcul. Eckert i Mauchly prsesc Moore School i nfiineaz propria lor companie - Electronic Control Corporation - unde elaboreaz proiectul primului calculator universal automat (UNIVAC - Universal Automatic Computer). Cu toate c va pierde ntietatea implementrii n favoarea celor de la compania Remington-Rand, UNIVAC va deveni mai trziu primul calculator cu succes comercial din SUA i va fi achiziionat de US Census Bureau pentru a nlocui echipamentele IBM mai vechi. John von Neumann a fost unul din participanii la construcia ENIAC - ului. Sesiznd necesitatea

pstrrii programului de calcul alturi de datele ce vor fi procesate, el propune o mbuntire imediat a arhitecturii ENIAC, constnd dintr-un suport comun de stocare de tip read/write, organizat n locaii adresabile i numit memoria de lucru. Instruciunile programului astfel stocat vor fi executate secvenial. Primul calculator cu program memorat este EDVAC (Electronic Discret Variabile Calculator). De fapt, se poate vorbi despre trei variante ale acestui calculator: cel proiectat de von Neumann, cel proiectat de echipa sa iniial i cel care a fost pn la urm construit la Moore School n 1949. Von Neumann i echipa sa prsesc Moore School i se stabilesc la Institute for Advanced Studies al Universitii Princeton, unde construiesc, ncepnd cu 1947, mainile IAS, noi modele conceptuale de calculatoare bazate pe arhitectura EDVAC. Aceste arhitecturi, cunoscute sub numele von Neumann, stau la baza majoritii sistemelor de calcul construite pn astzi. Unul din cele mai importante centre pentru dezvoltarea calculatoarelor a fost n anii '40 Manchester University din Anglia. Aici a fost inventat de ctre F. C. Williams un nou mod de stocare al datelor binare, utiliznd un tub catodic (CRT). n 1948, T. Kilburn transform memoria lui Williams ntr-un prototip de calculator numit Manchester Baby, care poate revendica astzi i el ntietatea ca prim calculator cu program memorat. Tot n Anglia, dar de data asta la Cambridge University, n 1949 Maurice V. Wilkes construiete EDSAC (Electronic Delay Storage Automatic Calculator), un sistem asemntor cu IAS. Nu toat lumea aprecia ns n Anglia potenialul calculatoarelor. Cam n aceeai perioad n care un membru al Astronomer Royal declara (naintea lansrii de ctre sovietici a primului satelit artificial) c o cltorie n spaiu este "o prostie", profesorul Hartree declara: "noi avem un calculator la Cambridge, mai este unul la Manchester i altul la NPL. Presupun c mai trebuie unul n Scoia, i vom mulumi atunci pe toat lumea". Rezultatul colaborrii ntre Manchester University i Ferranti Ltd. va fi calculatorul practic Ferranti Mark I, urmat de modelul Ferranti Mercury, care utilizeaz n premier memoria pe toruri de ferit (patentat n 1949 la Harvard University de ctre An Wang, i folosit ulterior la primul calculator destinat procesrii informaiilor n timp real - modelul Whirlwind, produs n 1953 la MIT pentru US Air Force). n anii '60, utilizarea acestui tip de memorie va fi generalizat. Punctul culminant al fructuoasei colaborri ntre Manchester University i Ferranti va fi atins n 1962 cu calculatorul Atlas, care implementa n premier conceptul de memorie virtual i era la ora aceea cel mai puternic din lume. De obicei, ntr-o istorie a calculatoarelor realizrile sovieticilor sunt ignorate cu desvrire. Este totui bine de tiut c cercetrile acestora n domeniul tehnicii de calcul electronice au demarat imediat dup sfritul celui de-al doilea rzboi mondial. S. A. Lebedev i echipa sa vor construi un prim calculator ntre 1949 - 1950, pe care l vor numi MESM. El va fi urmat de o variant mbuntit, numit BESM. Activitatea lui Lebedev nu va fi ns incurajat de ctre autoritile sovietice de la inceputul anilor '50, care o considerau mult prea costisitoare.
10

Arhitectura calculatoarelor

CAPITOLUL I

n plus, muli savani rui considerau c niciodat calculatoarele numerice nu vor fi n stare s fac o concuren real celor analogice. Istoria primei generaii de calculatoare electronice este strns legat de realizrile companiei IBM. Pn n 1940, IBM producea mai ales perforatoare de cartele sau maini de scris electrice. Dup primele contacte cu Aiken, la Universitatea Harvard, preedintele T. J. Watson Sr. dispune construcia n 1948 a mainii de calculat SSEC (Selective Sequence Control Computer), care nu era ns un calculator cu program memorat. Preedintele Watson nu agrea ns prea tare noile dispozitive de calculat, pe care le considera c pot periclita afacerile societii. Va fi convins ns de contrariu chiar de ctre fiul su, care nlocuiete n 1953 modelul electromecanic Mark IV (urma a lui Mark I) cu calculatorul comercial IBM 701 EPDM, un concurent adevrat al UNIVAC - ului. Concernul IBM a mai lansat modelele 704 i 709 (1958), acesta din urm fiind ultimul calculator cu tuburi electronice. n 1955, IBM 704 este primul mainframe cu unitate de calcul n virgul flotant. El a fost proiectat n mare parte de ctre Gene Amdahl, cel care i va nfiina mai trziu propria companie i va construi supercomputerele anilor 1990. Pentru c seria 700 nu lucra cu echipamentele de procesare bazate pe cartele perforate, IBM creaz modelul 650 EPDM, compatibil cu vechile maini de calcul din seria 600 i deci atrgtor i pentru utilizatorii tradiionali ai produselor sale. De altfel, conceptul de compatibilitate va reprezenta de acum nainte o constant a preocuprilor concernului, ori de cte ori va lansa un produs nou. Avnd un pre de cost sczut, IBM 650 a fost cumprat de universitile americane, care reuesc astfel s pun n aceti ani bazele unei prime comuniti de utilizatori ai calculatoarelor. Succesul seriei 700 va asigura poziia dominant a IBM-ului pe piaa calculatoarelor mari (numite i mainframes) pentru cel puin un deceniu. De altfel, dup 1960 concernul devine cel mai important fabricant de tehnic de calcul din lume, poziie pe care o va pstra pn n zilele noastre.

Calculatoarele cu tranzistori - generaia 2


Tuburile cu vid erau voluminoase, necesitau consumuri energetice mari i disipau cantiti uriae de cldur. De aceea, continuarea erei calculatoarelor electronice va fi condiionat - ntre 1958 i 1964 - de utilizarea tranzistorilor. Inventat n 1948 i oferind aceleai funcii de baz ca i tubul cu vid, dar la tensiuni i cureni mult mai mici, tranzistorului nu i s-a prezis un viitor deosebit, aa cum s-a ntmplat la nceput i cu alte mari descoperiri ale tiinei. Chiar electronitii considerau c el nu poate asigura puterea electric a unui tub i astfel comportamentul de comutator electronic al tranzistorului (determinat de jonciunea ntre emitor i colector stabilit ntr-un material semiconductor i comandat de tensiunea aplicat pe baz) nu poate fi valorificat. Evident c avantajele tranzistorului l vor inpune ns rapid. Neavnd filament, el nu mai disip cantiti mari de caldur. Dac un tub electronic avea un inch diametru i trei lungime, gabaritul tranzistorului se reduce la numai inch diametru i 3/16 inch lungime. Tranzistorul nu este numai mult mai mic ci i mai fiabil i mai ieftin dect tubul electronic. Apelnd din nou la o comparaie, un calculator modern construit cu tranzistori ce ocupa doar cteva etaje din Empire State Building. Primul calculator experimental cu tranzitori a fost TX-0, construit la MIT n 1955, cu scopul de a testa conceptele unui nou calculator, TX-2. El nu va mai fi niciodat realizat, ns Ken Olsen, unul dintre membrii echipei care a lucrat la prototipuri, nfiineaz compania Digital Equipment Corporation (DEC), unde fabric pentru nceput module logice tranzistorizate. Aceste plci cu circuit imprimat, numite Flip Chips, puteau fi utilizate la construcia unor structuri logice specializate de control. Astfel a fost realizat primul calculator construit de DEC, maina pe 18 bii PDP1, bazat pe arhitectura TX-0. La Computer Museum din Boston poate fi admirat acest model, pe care ruleaz Space War - primul joc pe calculator din lume. n urmtorii ani sunt lansate pe pia noi versiuni mbuntite, care n cele din urm vor forma familia de calculatoare PDP (o succesiune de modele culminnd cu PDP15). n paralel, DEC construiete alte dou familii de sisteme - una cu dimensiunea cuvntului de 12 bii (avnd ca model reprezentativ PDP8, desemnat ca fiind primul minicalculator si vndut n 1967 cu circa 9000 de dolari) i alta pe 36 de bii (modelul PDP10 fiind bine cunoscut ca un mainframe lucrnd n timp partajat). Concernul IBM construiete la rndul su primul calculator cu tranzistori, transformnd modelul 709 n 7090 (sau 709 I). Urmaul imediat 7094 aduce ca noutate modulul specializat pentru calcule n virgul flotant, destinat aplicaiilor tiinifice. Pentru afaceri, IBM construiete un mic sistem (numit 1401) care utilizeaz
11

Arhitectura calculatoarelor

CAPITOLUL I

aritmetica BCD (binar codificat zecimal). Acesta este considerat precursorul majoritii calculatoarelor de buzunar. Compania CDC (Control Data Corporation) i face debutul pe piaa calculatoarelor transformnd n produs comercial un model destinat aplicaiilor militare. CDC impune pe pia dou familii de sisteme: seria 3000, cu maini pe 24 de bii i seria 6000 cu maini pe 60 de bii. Modelul 6600, proiectat de Seymour Cray, este considerat a fi unul dintre primele supercalculatoare moderne.

Circutele integrate - generaia 3


Descoperirea modalitii de obinere a tranzistorilor prin combinarea a dou materiale semiconductoare pe un suport de siliciu, va permite ca un ntreg panou cu logic cablat al unui calculator s fie nlocuit cu un simplu circuit, avnd o suprafa de civa centimetri ptrai, un consum energetic foarte redus i o fiabilitate remarcabil. Funcie de numrul de componente electronice elmentare pe care le nglobau funcional, circuitele integrate s-au realizat folosind pe rnd tehnologiile SSI (Small Scale Integration integrare pe scar redus), MSI (Medium Scale Integration integrare pe scar larg) sau VLSI (Very Large Scale Integration integrare pe scar foarte larg). Avnd la dispoziie aceast nou descoperire a electronicii, trecerea de la mainframe la microprocesor nu se va face direct, ci prin parcurgerea etapei intermediare a minicalculatoarelor, definite ca fiind "sisteme de calcul de uz general, cu lungimea cuvntului cuprins ntre 8 i 32 de bii, avnd cel puin 4096 cuvinte de memorie i un pre sub 20000 de dolari". Acestea vor deveni accesibile - mai ales din cauza preului de vnzare i a gabaritului - pentru utilizarea n fiecare departament al unei companii sau n numeroase aplicaii industriale de conducere a proceselor n timp real. Unul din primele minicalculatoare a fost modelul PDP 5, introdus de DEC n 1964. Cu toate c i modelele PDP10 sau 15 includ n structura lor i circuite integrate, prima main DEC integral construit cu chipuri de siliciu este PDP 8I (1966). Aceasta motenea calitile celui mai de succes calculator construit de firm pn atunci, dar i unele limitri arhitecturale ale predecesorului su. De aceea, se construiete rapid (n 1969) PDP 11, un succesor al modelelor PDP 8 i PDP15, capabil s lucreze pe 16 bii i s adreseze direct 256 KB de memorie, utilizabil mai ales pentru aplicaii de procesare a textelor. Ca i IBM360, PDP11 va fi printele unei familii de calculatoare, destul de diversificat (spre exemplu, modelul 11/05 era destinat controlului automat, pe cnd modelul 11/70 era un superminicalculator). Totui, datorit arhitecturii sale robuste, nc muli ani va supravieui i modelul PDP8, chiar fabricat i sub forma unui singur chip (microprocesorul Intersil 6100). Succesorul lui PDP 11 i PDP 10 (numit i DECSystem 20) a fost VAX (Virtual Arhitecture Extension), o main pe 32 bii care nglobeaz experiena celor dou familii anterioare. Prima versiune, VAX - 11/780 (1978), emula printr-o unitate de comand microprogramat un PDP11. Cu timpul, calculatoarele VAX, proiectate ca mini-mainframe, devin principala linie de producie DEC din anii 80, fiind lansate cu succes pe pia diferite versiuni, de la staii de lucru la sisteme multiprocesor. Ele vor fi nlocuite ceva mai trziu cu procesoarele RISC pe 64 de bii Alpha. Nu numai DEC a fabricat ns minicalculatoare. De exemplu, Data General a produs familia Nova, iar Hewlett - Packard, seria HP2100. IBM a nlocuit n 1965 mainile 1401 i 7090 cu familia arhitectural 360, coninnd maini compatibile software, ns avnd diferite nivele de complexitate, performane i costuri, destinate att aplicaiilor tiinifice, ct i afacerilor. Cel mai simplu membru - IBM 360/20 - avea o singur memorie intern pe toruri de ferit cu o capacitate de 8 kilocuvinte, pe cnd modelul 360/91 dispunea de memorie secundar cu mare capacitate, unitate de calcul n virgul flotant rapid i numeroase periferice ataate. Acesta din urm era de 300 de ori mai rapid dect primul. Calculatoarele aveau acelai set de instruciuni i - ncepnd cu modelul 360/40 - i acelai sistem de operare - OS/360. Modelul 360/85 va fi primul calculator cu memorie cache. Un alt element de noutate al acestor maini este virtualitatea lor, adic acea capacitate a sistemului de operare de a emula pentru fiecare utilizator cte o main virtual, exclusiv la dispoziia acestuia. Seria 360 va fi succedat de seriile 370, 4300, 3080, 3090, etc, toate avnd aceleai caracteristici arhitecturale de baz. Concernul IBM nu se va limita ns numai la construcia de calculatoare. La sfritul anilor 1970 vor fi lansate pe pia cu mare succes unitile de floppy disk, casele de marcat computerizate pentru supermarket - uri i mainile automate de numrat bancnote. Primul supercalculator tiinific este considerat TIASC (Texas Instruments Advanced Scientific Computer), o main complex, cu multe caracteristici interesante. Pentru a asigura o vitez mare de procesare pentru vectori lungi de date, TIASC utilizeaz tehnica pipeline de prelucrare a instruciunilor, adresarea
12

Arhitectura calculatoarelor

CAPITOLUL I

ntreesut a memoriei i renun complet la ntreruperi (pentru a reduce la maxim ciclul de prelucrare al instruciunilor). TIASC a fost utilizat pentru aplicaii speciale, cum ar fi de exemplu analiza datelor seismice pentru detectarea zcmintelor de petrol. Istoria tehnicii de calcul reine i alte realizri remarcabile ale acestei epoci. Astfel, CDC-Cyber, o versiune integrat a supercalculatoarelor 6600 i 7600, ncearc s devin o main tiinific pornind de la un model comercial uzual, la care se adaug instruciuni pentru procesarea irurilor de caractere i pentru calcul cu numere BCD. Nefiind o reuit deplin, compania CDC continu construcia calculatoarelor gigant cu modelul Star - 100, care ns nu se va vinde. Acest lucru l determin pe deja celebrul Seymour Cray s-i nfiineze propria sa companie de supercomputere. La Universitatea din Ilinois a fost dezvoltat modelul ILLIAC. Versiunea ILLIAC III dispunea de un procesor paralel i era o main destinat analizei fotografiilor obinute ntr-o camer nuclear. Modelul ILLIAC IV a contribuit la punerea la punct a unei tehnologii pentru obinerea chip-urilor de memorie cu semiconductori, asemntoare cu cea a procesoarelor. Rezultatul cel mai important al acestor cercetri este ns indiscutabil primul calculator comercial masiv paralel, modelul STARAN, contruit n 1967, care coninea 8192 procesoare cuplate ntre ele ntr-o reea sofisticat de comunicaie. O versiune modern a acestuia este utilizat i astzi pentru sistemele radar ale avioanelor militare.

Microprocesoarele - generaia 4
Tehnologia de integrare pe scar larg (VLSI) a permis nglobarea ntr-un singur chip a zeci sau sute de mii de componente electronice discrete. Dac n tehnologia LSI un calculator putea fi construit modular, fiecare modul fiind reprezentat de ctre un singur circuit integrat, odat cu noile chip-uri VLSI apare posibilitatea de a integra ntr-unul din acestea chiar ntreaga unitate central a calculatorului. Apare astfel microprocesorul, descoperirea care poate fi comparat, ca efecte la scara istoriei, cu invenia tiparului sau utilizarea forei aburului. Cum n scurt timp procedura de proiectare a circuitelor VLSI devine o tehnic normalizat, iar accesul la instrumentele de proiectare asistat (CAD) este asigurat, obinerea unui nou circuit integrat (inclusiv simularea i testarea sa funcional) devine posibil cu investiii foarte mici, chiar sub nivelul de 10000 de dolari. Intel Corporation a fost fondat n 1969 de ctre Bob Noyce i Gordon Moore, cu scopul de a produce memorii semiconductoare pentru mainframes. Aici va fi realizat n 1971, de ctre Hoff i Fredrico Fagin (cu o contribuie esenial a lui Stanley Mazor), primul microprocesor pe 4 bii - Intel 4004, care era destinat s constituie baza unui calculator de birou i integra circa 2300 tranzistori. n anul urmtor este produs Intel 8008, microprocesor pe 8 bii, destinat controlului unui terminal. Din fericire pentru viitorul lui Intel, fabricantul terminalului renun la utilizarea circuitului 8008 i compania este obligat s-i gseasc alt destinaie. Intel obine n scurt timp dou noi variante mbuntite de microprocesoare: modelele pe 8 bii 8080 (1974) i 8085. Motorola 6800 va fi primul microprocesor pe 8 bii ai companiei omonime, comparabil ca performane cu 8080, dar avnd cu totul alt arhitectur. Acesta circuit va declana o competiie acerb pentru ntietatea pe pia, care pentru o bun perioad de timp va diviza lumea informatic n dou emisfere: Motorola i Intel. Companii mai mici se vor lansa i ele pe acest cmp concurenial. Faggin va prsi Intel i va fonda n 1974, mpreun cu Ralph Ungerman, compania Zilog. Aici va construi i lansa n 1976 modelul Z80, perfect compatibil cu 8080, dar cu mai multe registre i un set mbogit de instruciuni. Nu de acelai succes se vor bucura ns modelele ulterioare Z8000 i Z8. n mod similar, Chuck Peddle va prsi Motorola i va construi la MOS Technology modelul 6502, care ns nu va mai fi compatibil cu 6800. Perioada microprocesoarelor pe 8 bii (1975-1980) este considerat epoca de aur a acestora. Acum a sosit momentul pentru lansarea pe pia a calculatorului personal (personal computer - PC). Accesibil nespecialitilor, ieftin i cu un gabarit redus, acest ultim unealt modern a secolului XX va deveni indispensabil pe biroul orcrui om care dorete s in pasul cu progresul. La ase luni dup introducerea lui Intel 8008, n Frana se va construi un prim calculator bazat pe el, denumit Micral. Acesta va fi repede uitat, pentru c in Statele Unite nu a avut nici un fel de succes, dar va consacra termenul de microcalculator. Alt calculator bazat pe 8008 a fost Scelbi-8H, comercializat cu numai 565 de dolari. Totui, primul calculator personal este considerat Altair 8800, construit n 1975 de ctre Ed Roberts, proprietarul unei companii din Albuquerque, numit MITS. Unul dintre primii programatori care elaboreaz soft pentru acest PC este tnrul Bil Gates, care creaz n iulie 1975 un interpretor de Basic. Foarte
13

Arhitectura calculatoarelor

CAPITOLUL I

curnd vor aprea pe pia i vor avea un mare succes alte PC - uri, bazate pe unul din microprocesoarele pe 8 biti 8080, Z80, 6800 sau 6502: SWTP 6800, Apple I i II, KIM - 1, Commodore PER, Sinclair ZX80, VIC - 20. Tot compania Intel va fi cea care lanseaz cu succes pe pia primele modele viabile de microprocesoare pe 16 bii - 8086 i extensiile sale 80186 i 80286. n paralel este utilizat i varianta hibrid 8088, care de fapt era un 8086 cu magistrala extern de 8 bii. Primul model Intel pe 32 de bii este 80386. Succesorul su, Intel 80486, aduce ca nouti unitatea distinct de calcul cu virgul flotant i suportul pentru memorie virtual. Despre familia de procesoare Intel se poate spune c nu este arhitectural consistent: n ceea ce privete setul de instruciuni, compatibilitatea ascendent este asigurat de la 8086 n sus, ns compatibilitatea de sus n jos nu mai opereaz. Aceast caracteristic asigur totui portabilitare programelor, n sensul posibilitii transferrii execuiei lor de pe o main mai veche pe oricare alta de generaiile succesoare. La un an de la lansarea lui Intel 8080, Motorola iese pe pia cu un competitor direct, modelul pe 8 bii 6800. Cu toate c astzi este general recunoscut c Motorola 6800 avea o arhitectur superioar lui Intel 8080, ntrzierea apariiei sale pe pia i o oarecare dificultate n utilizare l va face s rmn n umbra acestuia din urm. De mai mult succes s-a bucurat n epoc procesorul 6502, construit de o parte din fotii membri ai echipei Motorola, care au prsit-o i au nfiinat MOS Technology. Acest circuit s-a impus prin utilizarea sa la calculatoarele pe o singur plac (SBC - Single Board Computer), de tipul popularelor n acea vreme KIM i SYM. Aceste progrese au permis multor ingineri sau studeni s nvee s foloseasc microprocesoarele i s ncerce implementarea lor n noi aplicaii. Printre ei se numrau i tinerii Steven Jobs i Steven Wozniak care avnd la dispoziie un garaj i cteva mii de dolari mprumutai - pun pe picioare compania care construiete Apple II, primul calculator personal bazat pe microprocesorul 6502. Motorola ncearc s devin lider al competiiei de-abia nceput, producnd modelul pe 32 bii 68000, ns Intel ctig din nou, pentru c modelul pe 16 bii 8086 a fost promovat mai bine pe pia i n plus era total compatibil ca soft cu mai vrstnicul 8080. Cu o arhitectur intern ntr-adevr pe 32 de bii, Motorola 68000 lucra ns extern de 16 bii i era complet incompatibil cu 6800. Dup nc un eec cu versiunea 68010, pentru care nu s-a putut scrie un sistem de operare, Motorola va recupera rapid din terenul pierdut n competiia cu Intel. Astfel, modelul 68020 - care lucra integral pe 32 de bii ofer suport pentru memorie virtual printr-un coprocesor, Motorola 68030 nglobeaz acest coprocesor n circuitul prncipal i ofer memorie cache, iar Motorola 68040 dezvolt performanele lui 68030. Firma DEC se lanseaz mai lent i mai puin spectaculos n competiia microprocesoarelor. Ea ofer o licen corporaiei Intersil, care va produce varianta VLSI a procesorului PDP 8, numit 6100. Similar, Western Digital va implementa n trei chip-uri modelul PDP11 i va numi acest sistem PDP-11/03. Mai trziu DEC dezvolt propriul su microprocesor, care a echipat produselel VAXstation, fiind o implementare a mainii VAX, sub numele de MicroVAX. Toate microprocesoarele menionate pn acum aveau arhitecturi de tip CISC (Complex Instruction Set Computer - calculator cu set complex de instruciuni). Necesitatea asigurrii unor viteze de lucru ct mai mari, ct i cerinele de simplificare a setului de instruciuni i a logicii aferente acestuia, determin introducerea unor modificri arhitecturale remarcabile, care duc la apariia microprocesoarelor RISC (Reduced Instruction Set Computer - calculator cu set redus de instruciuni). Reducerea setului de instruciuni duce la mrirea dimensiunii codului de program, pentru c unele instruciuni uzuale n arhitecturile CISC vor trebui emulate acum prin secvene consistente de instruciuni simple, dar - per global - crete viteza de procesare a unitii centrale. Un prim astfel de microprocesor a fost SPARC, construit la Berkeley UC. La puin timp apare MIPS R2000, construit la Universitatea Stanford, iar IBM propune modelul su RISC 2000. Astzi exist serioase controverse privind ntietatea celui care a stabilit conceptul RISC. n realitate, acest concept a existat nc de la stabilirea primei arhitecturi de calculator, iar n continuare nu s-a fcut dect trecerea de la acea idee la implementarea ei. Performanele procesoarelor RISC devin notabile. Maina pe 64 de bii Alpha, fabricat de DEC, ajunge s execute cteva sute de milioane de instruciuni pe secund (MIPS). ntre timp, Intel intr pe piaa arhitecturilor RISC cu i 860, care iniial a fost un proiect secret ce urmrea integrarea unor pri din arhitectura HP n viitoarele procesoare Intel. n categoria arhitecturilor RISC reuite pot fi incluse i circuitele Texas Instruments din seria TMS320 Cxx, care de fapt sunt DSP-uri (Digital Signal Processor - procesoare digitale de semnale), utilizate pn i astzi
14

Arhitectura calculatoarelor

CAPITOLUL I

ntr-o gam larg de aplicaii: telefonia digital, modemurile, echipamente pentru control automat industrial i altele.

Procesoarele paralele - generaia 5


Am menionat deja primul procesor masiv palalel comercial de succes, modelul Staran, vndut uneori i sub numele de ASPRO. Un alt procesor paralel celebru a fost MPP, construit de NASA pentru a prelucra uriaele cantiti de date furnizate de ctre sateliii circumteretri. Acesta coninea de fapt 16384 procesoare elementare pe un bit, dispuse ntr-o reea. De o proiectare similar a beneficiat i modelul AMT DAP. Un produs care a intrat nc de la lansarea pe pia n concuren cu circuitele DSP Texas Instruments a fost transputerul. Acesta reprezint o celul de procesare paralel, dispunnd de mai multe canale de comunicaie ce pot fi configurate n diferite topologii de reea. O astfel de soluie a fost Connection Machine, o dezvoltare a procesorului paralel MPP, care dispunea de o reea suplimentar de comunicaie, destinat rulrii datelor, ct i de suport software pentru procesoare virtuale, ceea ce simplific programarea aplicaiilor care manevreaz volume foarte mari de informaii. Bazndu-se pe unele rezultate obinute de CalTech, Intel proiecteaz un multiprocesor ce consta ntr-o reea de pn la maxim 128 de procesoare (fie 80286, 386 sau i860). Similar, pornind de la cercetri efectuate la Carnegie Mellon, Intel construiete procesorul sistolic, numit Warp, ct i maina Paragon, care combin facilitile de comunicaie ale lui Warp cu puterea de calcul a lui i860.

1.4. Evoluia istoric a arhitecturilor pentru calculatoare


Dac examinm arhitecturile sistemelor de calcul construite n acest secol, am putea realiza din nou o clasificare a lor n ase generaii distincte: Generaia 0 - mainile electromecanice (cu roi dinate, motoare, relee electromagnetice), ntre anii 1920 1950; Generaia 1 - calculatoarele cu tuburi electronice, ntre 1940 1960; Generaia 2 - calculatoarele cu tranzistori, ntre 1960 1970; Generaia 3 - calculatoarele cu circuite integrate TTL (logic integrat pe scar mic, medie i larg), ntre anii 1970 i 1980; Generaia 4 - calculatoare cu circuite integrate VLSI (tehnologie CMOS capabil de a plasa o ntreag unitate central ntr-un chip), ntre anii 1975 i prezent; Generaia 5 - sisteme de calcul paralele (tehnologie CMOS capabil de a plasa mai multe procesoare

ntr-un singur chip) , ntre anii 1980 i prezent. ntre aceste generaii exist ntreptrunderi semnificative, pentru c noile tehnologii nu nlocuiesc peste noapte pe cele vechi. Tranziia ctre o nou generaie arhitectural se declaneaz de obicei atunci cnd sunt atinse limitele tehnologice ale predecesoarei. Se observ c n faza iniial a fiecrei astfel de tranziii, arhitecturile generaiei mai vechi nu se modific, ele fiind numai implementate cu ajutorul unei noi tehnologii. Abia dup ce s-a trecut peste aceast prim etap sunt demarate cercetrile pentru identificarea posibilitilor arhitecturale suplimentare oferite de noua tehnologie. Pe parcursul primelor trei generaii enumerate mai sus (zero, unu i doi), proiectarea arhitectural a fost n totalitate liber, pentru c fiecare circuit al calculatorului era construit din componente electronice elementare, preponderent analogice, astfel inct proiectanii aveau la dispoziie numeroase opiuni. Dimpotriv, generaiile trei, patru i cinci nu reprezint dect diverse modaliti - este adevrat c din ce n ce mai evoluate de a ncadra dispozitivele caracteristice celei de-a doua generaii n spaii mult mai mici. Pentru c dezvoltarea produciei de circuite unicat devenise prea scump, ncepnd cu a treia generaie productorii de componenete au nceput s furnizeze pentru calculatoare module prefabricate. De acum nainte calculatoarele se obin pur i simplu prin asamblarea unor dispozitive numerice specializate: pori logice, circuite basculante bistabile, regitri, multiplexoare, sumatoare i chiar uniti aritmetice i logice complete. Prin nenumratele posibiliti de combinare a acestor elemente funcionale, flexibilitatea proiectrii devine remarcabil. n acei ani, oricine stpnea bine logica binar i avea unele cunotine de electronic putea construi un calculator. Costul proiectrii scade considerabil i - mai ales dup nlocuirea memoriilor pe ferit cu

15

Arhitectura calculatoarelor

CAPITOLUL I

cele bazate pe semiconductori - prolifereaz din ce n ce mai mult modelele noi pe care numeroase campanii, unele fr nici o experien n domeniu, se angajeaz s le lanseze pe pia i s le comercializeze. Un factor care a favorizat aceast explozie arhitectural a calculatoarelor a fost lipsa unei oferte largi de software. Sistemele de operare au progresat lent, iar limbajele de programare de nivel inalt devenite astzi clasice s-au impus treptat i cu destule reticene. Pn a fi obinuii s recurg la soluia achiziionrii de soft comercial, clienii erau atrai ndeosebi s cumpere arhitecturi de calcul noi, care erau ntr-adevr oferite pe pia la preuri atrgtoare, dar utilizau doar limbaje de asamblare sau compilatoare primitive. Paradoxal, dar se poate spune c generaia a patra aduce cu ea chiar un regres arhitectural, pentru c proiectarea unui computer se ntoarce - ntr-un anume sens - la nivelul tranzistor. Afirmaia se bazeaz pe constatarea c proiectanii de circuite integrate nu se mai limiteaz s fabrice pur i simplu chip-uri sau module specializate, ci ncearc s concentreze n pastila de siliciu chiar un ntreg calculator. Continund seria contradiciilor, se constat o cretere indirect a costurilor de proiectare arhitectural, datorat investiiilor mari n tehnologie, pe cnd preurile de fabricaie ale componentelor propriu-zise ale calculatorului scad spectaculos. naintea generaiei a patra, costul producerii hardware-ului era foarte apropiat de cel al proiectrii. De acum ncolo ns, costurile de producie vor fi mult mai mici dect cele ale proiectrii, iar marja beneficiului pe unitatea fabricat va scdea. n consecin, dac n trecut era profitabil s se produc i s se vnd cteva exemplare dintr-un model nou, de acum nainte proiectarea scump nu se mai poate amortiza dect prin producerea i vnzarea a mii, zeci de mii sau chiar milioane de exemplare din produsul propus pieei. Crearea unei asemenea piee uriae impune i diversificarea ofertei de soft, pentru c gama aplicaiilor rezolvabile cu calculatorul trebuie lrgit, n scopul creterii atractivitii acestuia. n plus, preocuprile de asigurare a compatibilitii programelor trec adeseori chiar n faa celor de cretere a performanelor. Furnizorii de hard lrgesc oferta de programe de aplicaii, ceea ce mrete ns i mai mult costurile de dezvoltare ale noului produs, astfel nct se intr ntr-un cerc vicios. Datorit problemelor de mai sus, generaia a patra i-a pus pe fabricanii de sisteme de calcul n faa unei mari dileme: s opteze ntre a proiecta o arhitectur original de procesor sau de a cumpra una imediat disponibil. Prima alegere implica o investiie major, cu mari riscuri, avnd ns ca avantaj perspectiva de a acapara cu noul produs un segment important de pia. A doua opiune putea aduce ns beneficii imediate cu o investiie minim, necesar numai pentru a fabrica i vinde clone ale unor produse deja consacrate. Singura dificultate n acest al doilea caz consta n a impune produsul copiat pe o pia unde deja originalele sunt cunoscute i se vnd. Punnd n balan cele dou alternative, fabricarea i vnzarea unui mare numr de produse compatibile cu unul etalon prea totui mai rapid aductoare de profit. Datorit unor astfel de decizii pragmatice, pe parcursul generaiei a patra are loc transferul celei mai mari pri a activitii de proiectare a procesoarelor de la productorii tradiionali de calculatoare (Univac, Control Data, Honeywell, Remington, Sperry, RCA, Singer) ctre companiile productoare de circuite integrate. Astfel, alturi de cteva companii (IBM, DEC .a.) care au fcut fa, n oarecare msur, acestei tranziii, liderii de pia devin noii fabricani de chip-uri: Intel, Motorola, Texas Instruments etc. Acum poate fi mai uor explicat i pasul napoi n complexitatea arhitectural, semnalat mai devreme. Dincolo de restriciile tehnologice impuse i de experiena mai redus n calculatoare ale fabricanilor de circuite integrate, datorit mbririi fr rezerve de ctre acetia a unei tehnologii VLSI nc imature, au fost sacrificate unele performane de baz care pn acum puteau fi oricnd asigurate cu un numr suficient de pori logice. Restriciile tehnologice impuse n primul rnd de cerina ca unitatea central s fie integrat ntr-un singur circuit, au dus n prim faz la limitarea complexitii i deci i la scderea performanei globale. Din fericire, soluia creterii gradului de integrare pe chip (care a ajuns la peste 10 milioane tranzistori) vine s compenseze aceste impedimente, ceea ce face ca astzi un microprocesor s fie competitiv chiar cu cele mai performante procesoare mainframe. Singurele avantaje pe care btrnele calculatoare medii sau mari le mai dein nc se refer la domeniul mai larg al aplicaiilor pe care acestea le rezolv sau la unele faciliti de acces la baze de date imense. n alte direcii, cum ar fi de exemplu derularea operaiilor de I/E, superioritatea acestora fa de microprocesoare se datoreaz mai mult implementrilor subsistemelor de transfer al datelor dect performanelor arhitecturale. Dintr-un alt punct de vedere, generaia a patra mai poate fi numit i cea a standardizrii i etalonrii arhitecturilor. Faptul c o companie de calculatoare a putut lansa rapid i ieftin pe pia un nou model, utiliznd un microprocesor standard cumprat, a dus la scderea interesului pentru concepia unor arhitecturi originale. Un astfel de demers ar fi necesitat construcia unui nou circuit VLSI i a unei infrastructuri software adecvate, ceea ce implic cheltuieli foarte mari. Chiar i astzi, numai cteva companii au puterea financiar de a lansa astfel de
16

Arhitectura calculatoarelor

CAPITOLUL I

investiii. Se explic astfel persistena pe pia a celor dou familii (tradiionale) de PC-uri: cele compatibile IBM, echipate cu microprocesoare Intel i cele compatibile Apple - MacIntosh, cu microprocesoare Motorola. Este adevrat c lng ele se dezvolt bine n ultimul timp i procesoarele RISC (SPARC, MIPS, PowerPC, HP Precision Arhitecture i Alpha), ns acestea nu dein nc segmente de pia semnificative. Reducerea arhitecturilor de procesoare la un numr restrns de norme a avut ca efect simplificarea fabricaiei calculatoarelor. Succesul unei companii de calculatoare va depinde de acum nainte mai ales de modul cum ea i promoveaz produsele pe pia i de competitivitatea preului de vnzare. Iar pentru ca acesta din urm s fie ct mai mic, investiiile nu se fac n inovarea proiectrii sistemului, ci n reducerea costurilor sale de asamblare. Datorit acestor aspecte, pentru un anumit interval de timp, pe pia nu s-au putut oferi PC-uri cu performane foarte nalte, iar aceast bre a fost exploatat de ctre fabricanii de staii de lucru. Ei au oferit maini mai performante i - evident - mai scumpe. Performana superioar a fost obinut cu aceleai procesoare ca i la PC-uri, dar cu inovaii n ceea ce privete dispozitivele externe: memorie cache, magistrale rapide, discuri i memorii de mare capacitate, suport pentru interfee grafice. Cu timpul, aceste mbuntiri au fost preluate i de ctre PC-uri, asfel nct productorii de staii de lucru au fost primii constrni s dezvolte inovaii arhitecturale. O consecin a acestor preocupri este reprezentat de avntul din ultima vreme al arhitecturilor RISC. Rezultatul competiiei ntre PC i staiile de lucru este astzi - ca i n multe alte cazuri similare - unul integrator: preurile staiilor de lucru se apropie de cel al PC-urilor, iar performanele PC-urilor se apropie de cel al staiilor de lucru. Cele dou familii de sisteme de calcul aproape c au fuzionat pe pia, singurul element care nc le mai distinge fiind softul. Aceasta este una din explicaiile pentru care n prezent se simte cu pregnan nevoia trecerii la o nou generaie arhitectural. Dac nu uitm c i performanele circuitelor VLSI de tip microprocesor tind s ating limita lor de saturaie, este clar c progresul urmtorilor ani nu se poate obine dect prin tranziia la generaia a cincea, cea a utilizrii procesoarelor multiple. Muli specialiti consider c elementul de distincie ntre a patra i a cincea generaie este trecerea de la integrarea pe scar foarte larg (VLSI) la cea pe scar ultranalt (ULSI), ceea ce permite mai ales nglobarea la un pre concurenial a mai multor procesoare ntr-un singur chip. Totui, ca i la tranziiile anterioare ntre generaii, primele arhitecturi implementate aici sunt tributare modelelor anterioare. Astfel, supercomputerele cu funcionare masiv paralel utilizeaz nc un set tradiional de instruciuni, partajeaz o unic memorie de lucru sau apeleaz la semantici secveniale pentru controlul interaciunilor ntre procese. Mai mult, vom ntlni multiprocesoare care lucreaz cu un singur ir de instruciuni (SIMD) sau chiar ncearc s ascund modul de lucru paralel n spatele unui model simplu (SPMD). Nu vom ncheia acest paragraf fr a face cteva comentarii privind evoluia suportul software al calculatoarelor. Limbajele de programare uzuale susin nc i astzi modelul clasic de programare simpl, bazat de arhitectura von Neumann i algoritmica structurat. Acest model presupune ca accesul la datele din memoria de lucru s se fac secvenial, timpii de acces la diferitele entiti stocate fiind relativ egali. Mainile de calcul moderne dispun ns de o ierarhie a memoriei mbuntit (cache, memorie virtual). Este important acum de a organiza calculele astfel nct ele s se beneficieze, de exemplu, de o maxim localitate a datelor n cache (aa cum vom vedea n capitolul corespunztor din aceast lucrare) sau s se evite o excesiv paginare a memoriei de lucru (un acces disc poate scdea performenele cu un factor cuprins ntre 1000 i 100000!). Pentru satisfacerea unor astfel de exigene, de ajutor pot s fie n mare msur compilatoarele sofisticate, capabile s analizeze codul de program i s rearanjeze buclele sau s predicteze efectuarea salturilor. Aceste soluii vor fi depite n curnd de ctre tehnicile de programare inteligent, mai ales atunci cnd programatorul urmrete optimizarea codului pentru o anumit main. Pe viitor, proiectanii vor fi aceia care vor impune normele referitoare la transpunerea modelelor lingvistice de programare n reprezentri arhitecturale complexe, ct i cerinele de performan pentru creatorii de compilatoare. Impunnd n fapt un set de restricii, ei vor trebui totui s in seama c programatorii nu trebuie constrni s realizeze soft dependent de o anumit arhitectur a procesorului, ci s aib la dispoziie un model arhitectural fundamental. Modelul trebuie s fie suficient de general pentru a putea suporta implementri ale oricrui tip de algoritm pe orice tip de main. Aceast cerin se numete asigurarea independenei arhitecturale a programatorului. Pentru arhitecturile paralele, problema asigurrii independenei arhitecturale devine dificil de rezolvat, pn acum nefiind gsit o soluie acceptabil (modelele de lucru cu maini multiple, cum ar fi Linda i PRAM, au
17

Arhitectura calculatoarelor

CAPITOLUL I

o eficien destul de modest). S-a ncercat ocolirea gsirii directe a soluiei prin adoptarea unui model secvenial de programare i pasarea ctre compilator a sarcinii de a-l transpune ntr-o anumit arhitectur paralel (compilatoare paralelizatoare sau vectorizatoare). Unele dintre aceste compilatoare reprezint ns nite nereuite i sunt numite programe ale lui Pavlov. Ele impun programatorului s insereze n programul su directive de compilare i comentarii, cu promisiunea de a obine o anumit eficien. n final ns, acesta va constata c a scris el nsui un program paralel, dar nu n codul principal, ci n comentarii. O abordare mai pertinent presupune ca programatorul s aib posibilitatea de a opta s lucreze la un nivel de abstractizare care s-i releveze arhitectura mainii numai att ct el are nevoie ca s-i poat optimiza codul. Aceasta este, de exemplu, filosofia dezvoltrii pentru paralelism a limbajelor C i - ntr-o anumit msur Fortran. Se obin astfel extensii ale limbajelor specificate pentru aproape toate mainile paralele de astzi, ns acestea nu sunt portabile pe alte arhitecturi. Putem s spunem astfel c o dilem mai veche, care se menine ns i astzi, este acea de a alege ntre obinerea portabilitatii cu o pierdere semnificativ de performan sau de a atinge aceast performan, cu preul pierderii portabilitii.

1.5. Tendine n dezvoltarea tehnologiilor arhitecturilor de calcul


n locul unor prognoze privind evoluia dispozitivelor de calculat, bazate pe evoluiile istorice sumar prezentate mai sus, dar supuse riscului de a putea fi contrazise n doar civa ani, preferm s ncercm extragerea ctorva tendine n devoltarea tehnologiilor de calculatoare. Pentru nceput, s remarcm faptul c evoluia tehnologiei de calcul este puin diferit fa de tranziia standard a "generaiilor". Astfel, putem considera c prima tehnologie de calcul, al crei debut coincide cu epoca abacului si a cifrelor scrise, urmrea s ofere ajutor memoriei umane n efectuarea prin operaii simple cu numere. Avantajul consta n faptul c operatorul se putea concentra asupra operaiilor i nu asupra numerele cu care acestea lucrau. Se asigura astfel o precizie de calcul crescut, iar numerele manipulate puteau fi mult mai mari. Aceste caracteristici tehnologice s-au meninut cteva mii de ani. A doua er tehnologic, al crei debut poate fi identificat cu construcia primelor maini mecanice de calculat, introduce sistemele care au ele nsele abiliti aritmetice, astfel nct operatorul este degrevat de aceste sarcini i se poate dedica definitiv execuiei unui calcul global mai complex. Aritmetica mecanizat a fost uzual cteva sute de ani. A treia etap tehnologic debuteaz odat cu maina diferenial a lui Babbage. n aceast etap ctig n importan algoritmii i tehnicile de elaborare ale acestora. Ca urmare a stocrii n memoria mainii att a datelor i rezultatelor, ct i a algoritmului, sunt eliminate erorile umane care apreau la introducerea datelor, n urmrirea pailor de calcul sau la extragerea rezultatelor. Calculele sunt acum complet separate de numere, iar algoritmica se gsete cu acestea n acelai raport n care se gsete de exemplu algebra cu adunarea i nmulirea. Operatorul este complet liber s se dedice numai proiectrii unor algoritmi mai compleci, inclusiv prin utilizarea cantitilor simbolice. Calcul simbolic permite unei maini s nregistreze i s repete procese mentale umane formalizate de ctre operator. Odat ce a fost proiectat primul calculator automat fezabil (ENIAC), s-a simit imediat nevoia ca el s poat fi programat opernd cu cantiti simbolice (EDVAC). Aceast a patra etap a dezvoltrii tehnologice este crucial pentru evoluia tehnicii de calcul: se atinge acum nivelul maxim de precizie a calculelor, ce poate fi obinut de o main care nu dispune de capacitatea creatoare a minii umane. Astfel, un set de instruciuni elaborat de ctre om va fi executat ntocmai de ctre calculator, orice eroare care va aprea datorndu-se n exclusivitate acestor instruciuni. Ca o prognoz, se poate spune cu destul siguran c evoluiile tehnologice viitoare vor avea ca principal obiectiv crearea unor calculatoare dotate cu abilitatea de a-i crea ele nsele programe, de a se autoinstrui, deci de a avea inteligen artificial. Rezultatele obinute pn acum cu unele dintre aceste tehnici, cum ar fi sistemele expert, logica fuzzy, reelele neurale, algoritmii genetici sau teoria haosului, sunt promitoare i ndreptesc speranele optimitilor, care ateapt s aib n curnd acces la maina dotat chiar cu via aritificial. n ceea ce privete tendinele de evoluie ale viitoarelor arhitecturi de calculatoare, s-ar putea crede c suntem deja pe cale de a trece la o nou generaie - cea a tratamentului paralel al datelor. Realitatea este ns puin diferit. Construcia procesoarelor masiv paralele actuale este oarecum asemntoare cu ncercrile
18

Arhitectura calculatoarelor

CAPITOLUL I

de la sfritul secolului trecut de a crete puterea automobilelelor prin montarea motoarele cu abur pe ele. Astzi, paralelismul este utilizat ntr-o manier conservativ, pentru c se aleg soluii prin care procesoare tradiionale sunt dotate cu uniti de calcul multiple, ce pot funciona simultan. Un exemplu poate fi procesorul Pentium, care n unele cazuri - poate efectua simultan dou operaii aritmetice. Tratamentul paralel poate fi mbuntit prin includerea n acelai circuit a mai multor calculatoare specializate. Este ceea ce propune Intel, care are n vedere construcia unui microprocesor care s aib att uniti de prelucrare universale, capabile s execute secvene normale de instruciuni, ct i cteva uniti specializate, efectund eventual prelucrri pentru interfaa grafic sau pentru procesarea unor date de intrare speciale, de tip multimedia. Un astfel de procesor paralel eterogen va fi ntr-un evident contrast cu cele actuale omogene - construite din 10 pn la 1000 de uniti de calcul identice. Viabilitatea arhitecturilor paralele va crete probabil i pe msur ce tehnologiile vor avansa astfel nct costurile acestora s devin competitive cu cele ale procesoarelor tradiionale. Ca un argument, menionm c mainile cu arhitecturi paralele omogene destinate aplicaiilor tiinifice sau inginereti din generaia curent, avnd putere de calcul cu unul sau dou ordine de mrime mai ridicate dect la uniprocesoare, sunt cu dou sau trei ordine de mrime mai scumpe ca acestea. innd cont i de faptul c tehnologia cu care sunt realizate mainile paralele este aproape cu o generaie n urm (datorit timpilor lungi necesari proiectrii i implementrii), avem suficiente argumente pentru a concluziona c raportul cost/performan este astzi net favorabil sistemelor uniprocesor. n consecin, potenialii cumprtori de calculatoare prefer ori s mai atepte civa ani, pn cnd sistemele uniprocesor vor oferi performane similare celor multiprocesor, fr ns a pretinde cheltuieli software sau hardware suplimentare, ori s utilizeze sisteme cu un paralelelism limitat (multiprocesoare pe scar redus sau configuraii n reea), ori n fine s utilizeze acceleratori specializai (procesoare vectoriale sau matriceale, de imagine sau DSP-uri).

19

Arhitectura calculatoarelor

CAPITOLUL I

Figura 1.1. Progresul tehnologic i evoluia calculatoarelor

20

Arhitectura calculatoarelor

CAPITOLUL I

Figura 1.2. Una din mainile difereniale ale lui Babbage

Figura 1.3. Reprezentarea schematic a unei reele neurale

21

Arhitectura calculatoarelor

CAPITOLUL I

Figura 1.4. Un detaliu al calculatorului ENIAC

Figura 1.5. Un mainframe IBM din anii '60

22

Arhitectura calculatoarelor

CAPITOLUL I

Figura 1.6. Arhitectura microprocesorului Intel 8086

Figura 1.7. Arhitectura microprocesorului Intel 80286

23