You are on page 1of 12

Ministerul Educaiei al Republicii Moldova Universitatea de Stat ,,Bogdan Petriceicu Hasdeu din Cahul Facultatea: Economie, Informatic i Matematic

Catedra: Matematic i Informatic Specialitatea: Informatic

REFERAT
La disciplina: Arhitectura Calculatorului Tema: Arhitecturi de Sisteme de calcul

Efectuat: Caraivan Nadina Gr. IT 1201 Evaluat: Muntean Ivan

Cahul, 2013

Arhitectura von Neumann


Arhitectura von Neumann este una din arhitecturile posibile (cuprinznd conceptele constructive de baz) ale calculatoarelor numerice, arhitectur care are n centrul ei o unitate central de procesare (n englez: CPU) i o unitate separat de memorare (n care se stocheaz att date ct i instruciuni). Dateaz la origin din anii 1940. Numele provine de la John von Neumann, un renumit matematician i pionier al informaticii american de origine austro-ungar evreu, primul care a stabilit (n scris, n Discurs preliminar asupra proiectrii logice a unui instrument de calcul electronic, mpreun cu Arthur W. Burks i Hermann H. Goldstine) cerinele pentru un calculator electronic de uz general (general purpose). Arhitectura s-a nrdcinat, iar majoritatea calculatoarele construite pn acum au avut i au aceast arhitectur. Principalul obiectiv al lui von Neumann a fost s construiasc un sistem de calcul de uz general n care datele de prelucrat i rezultatele calculelor intermediare s fie stocate alturi de instruciuni ntr-o memorie comun suficient de mare. Conform acestei arhitecturi, ntr-un sistem de calcul general chiar i instruciunile nsele trebuie s poat fi modificate la fel de uor ca i numerele (operanzii) cu care lucreaz i pe care le modific ele. Astfel, instruciunile sunt codificate numeric i stocate n aceeai memorie ca i datele. Pentru accesul la instruciunile codificate se definete un subsistem de prelucrare a informa iei care ncarc instruciunile din memorie pentru a fi executate, acolo unde este nevoie realizndu-se diferenierea ntre numr (operand) i instruc iune, dei nu exist diferen e formale ntre ele. Este necesar i un contor program (contor de instruc iuni) care con ine permanent adresa instruciunii urmtoare, ce va fi i ea ncrcat din memorie i apoi i executat (dup execuia instruciunii actuale). Arhitectura permite ca instruc iunile s poat prelucra i modifica nu numai date, dar chiar i alte instruc iuni, sau altfel spus, la nevoie programul se poate automodifica, cptnd astfel un caracter dinamic.

Funcionarea arhitecturii von Neumann


Dei designul i performanele calculatoarelor s-au mbuntit dramatic n compara ie cu anii 1940, principiile arhitecturii von Neumann sunt n continuare la baza aproape tuturor mainilor de calcul contemporane. Aceast arhitectur descrie un calculator cu patru module importante: unitatea aritmetic-logic (UAL), unitatea de control (UC), memoria central i dispozitivele de intrare/ieire (prescurtat I/E). Acestea sunt interconectate cu un mnunchi de fire

numit magistral(bus) pe care circul datele de calcul i datele de program (instruc iuni) i sunt conduse n tactul unui ceas (ir permanent de impulsuri regulate). Conceptual, memoria unui calculator poate fi vzut ca un ir de celule numerotate. Fiecare celul primete drept adres un numr unic propriu, asemntor cu numerele caselor de pe o strad. Celulele pot nmagazina o cantitate mic, prestabilit de informaie. Informaia poate fi interpretat i ca instruciune, i ca date propriu-zise. Instruc iunile prescriu calculatorului ce s fac, iar datele sunt acele informa ii care trebuie prelucrate conform cu instruciunile. n principiu orice celul poate stoca (memora) att instruc iuni ct i date. Important este posibilitatea ca una sau mai multe instruc iuni, deja stocate n memorie, s fie privite de ctre alte instruciuni drept date de prelucrat/modificat dinamic (n mers), dup necesitate. UAL este din multe puncte de vedere inima calculatorului. Aceasta este capabil s efectueze mai multe tipuri de operaii, de exemplu opera ii aritmetice (adunare, nmul ire .a.), operaii de comparaie, operaii de manevrare a datelor (duplicare, mutare, trunchiere .a.) precum i operaii care influeneaz ordinea i fluxul instruc iunilor. Sistemele de I/E sunt dispozitive prin care calculatorul preia informa ii din lumea exterioar i raporteaz napoi rezultatele. ntr-un calculator personal obinuit dispozitive de intrare sunt de exemplu tastatura i mausul, iar dispozitive de ieire sunt monitorul iimprimanta. Exist i dispozitive I/E combinate, att pentru intrare ct i pentru ieire, de exemplu modemul, placa de reea i discul dur magnetic. Unitatea de control este un modul central care comand i leag toate celelalte module ntre ele. Rolul ei este s culeag (citeasc) instruc iunile i datele din memorie sau de la dispozitivele I/E (intrare/ieire), s decodeze instruc iunile, s ofere UAL (unit ii aritmeticologice) date de intrare corecte conform cu instruc iunea, s comande UAL ce anume opera ie s efectueze asupra intrrilor, precum i s trimit (scoat afar) rezultatele, adic s scrie n memorie sau ctre dispozitivele de ieire, E. O component cheie a unit ii de control este un contorul (numrtorul) de instruciuni. El con ine la orice moment adresa instruc iunii curente din secvena de program n execuie, i numr instruc iunile, fiind astfel n permanent schimbare. Fizic, ncepnd din anii 1980, UAL i unitatea de control se plaseaz unitar n acelai circuit integrat numit unitate central de procesare (central processing unit, CPU ) saumicroprocesor sau i procesor. Miniaturizarea continu a dus printre altele i la apariia aa numitelor uniti grafice de procesare, ( graphic processing unit, GPU), care comand i coordoneaz toate operaiunile de afiare pe ecranul calculatorului - n locul plcii de extensie pentru grafic. Pentru arhitectura calculatoarelor s-au adoptat numeroase standarde. Un prim standard de acest fel, care mai este utilizat i n prezent, este ISA (Industry Standard Architecture), care a fost elaborat de IBM odat cu primul IBM PC (Personal Computer, computer personal), aprut la nceputul anilor 1980.

Sistemele de calcul rapide pot avea nglobate mai multe procesoare. Fiecare procesor (CPU) include o unitate de control precum i unul sau mai multe nuclee de proces logicaritmetic, fiecare dispunnd de o UAL proprie.

Arhitectura Dataflow
Arhitectura de tip dataflow este o arhitectur a unui calculator care contrasteaz n mod direct tradiional arhitectura von Neumannsau cea de control al fluxului. Arhitecturi de tip dataflow nu conin un counter (registru al adresei instruciunii ce este sau urmeaz s fie executat) sau (cel puin conceptual) capacitatea de a executa instruciuni este exclusiv determinat pe baza disponibilitii argumentelor de de intrare ale instruciunilor. Dei nicio component hardware cu scop general ce folosete o arhitectur de tip dataflow nu a nregistrat niciun succes comercial, acest lucru s-a compensat prin implementarea unei astfel de arhitecturi cu succes n hardware specializate, cum ar fi n cele pentru procesarea a semnalului digital, reele de rutare, de procesare grafic i, mai recent, n data warehousing. Aceast implementare a devenit foarte relevant n multe arhitecturi software actuale, inclusiv cnd vine vorba despre design-ul motoarelor de cutare n baze de date i a reelelor de calculatoare cu putere de calcul n paralel. Arhitecturile de tip dataflow sincronizate tind s ajusteze i s sincronizeze volumul de informaii prezente n aplicaii ce se desfoar n timp real. Arhitecturile de tip data flow ce au o natur determinist permit programatorilor s rezolve task-uri complexe precum sincronizri i accesul la resurse comune. n anii 1980, precum i nceputul anilor 1990, arhitecturile hardware pentru fluxuri de date au reprezentat un subiect major de cercetare.Jack Dennis de la MIT a fost un pionier n ceea ce privete arhitecturile de tip dataflow statice, n timp ce Manchester Dataflow Machinei arhitectura de tip Tagged Token reprezentau dou proiecte mari pe partea fluxului de date dinamic. Design-urile ce folosesc adresarea convenional a memoriei sunt numite maini cu fluxuri de date statice. Aceste maini nu permiteau executarea mai multor instane ale aceleiai rutine deoarece nu se putea face o distingere ntre tagurile de memorie. Design-urile ce foloseau coninutul memoriei adresate (CMA) sunt numite maini cu fluxuri de date dinamice. Acestea folosesc taguri n memorie pentru a facilita paralelismul proceselor. n mod normal, compilatoarele analizeaz codul surs al programului pentru a depista dependenele ntre instruciuni i date pentru a se realiza o organizare mai bun a secvenei de execuie n fiierele de output binare. Instruciunile sunt organizate secvenial ns informaia despre dependene nu este nregistrat n fiierele binare. Numai fiierele binare compilate pentru o main cu arhitectur de tip dataflow conin aceast informative de dependena ntre date. n loc de a folosi nume de variabile, un compilator de flux de date nregistreaz aceste dependene prin crearea unor taguri unice pentru fiecare dependen. Acordnd fiecrei dependene cte un tag

unic, se permite seciunilor non-dependente din fiierele binare s fie executate n alt ordine dect cea secvenial adic n alt ordine de idei, se pot executa n paralel. Programele sunt ncrcate n CMA-ul (coninutul memoriei adresate) unui computer cu flux de date dinamic. Atunci cnd toi operanzii unei instruciuni ce au fost tag-uii devin disponibili, acea instruciune este marcat fiind gata pentru execuie de ctre o unitate de execuie. Acest procedeu mai este cunoscut i sub numele de lansarea sau execuia instruciunii. Similar, orice instruciuni ce se ncadreaz n normele acestui tip de sistem sunt marcate ca fiind gata pentru execuie. Astfel, ordinea de execuie a instruciunilor poate s difere de una secvenial scris n cod. O instruciune, mpreun cu operanzii necesari, este trimis unitii de execuie sub forma unui pachet, numit i instruciune token. n mod similar, un flux de date procesat este transmit napoi la CMA sub form de data token. Procesul de a transmite instruciuni i rezultate sub form de pachete permite execuia acestor instruciuni n paralel la o scar mai mare. Reele cu flux de date trimit instruciuni token ctre unitate de execuie i primesc data tokenuri de la CMA. n contrast cu arhitectura convenional de tip von Neumann, data tokenurile nu sunt pstrate permanent n memorie, ci mai degrab sunt mesaje ce exist numai cnd acestea sunt transmise. Dei, datorit numeroaselor cercetri n domeniu, nu s-a putut trece peste cteva probleme legate de:

Transmiterea eficient a data tokenurilor ntr-un sistem de procesare n paralel masiv. Transmiterea eficient a instruciunilor token ntr-un sistem de procesare n paralel masiv. Construirea unui CMA destul de mare pentru a stoca toat dependenele unui program

real. Instruciunile precum i dependenele acestora s-au dovedit a fi prea meticuloasea i dificil de implementat o metod pentru a fi transmise eficient ntr-o reea mai mare. S-a constatat c timpul de transmisie a unei instruciuni i a tagului aferent ntr-o reea mare este mai lung dect cel pentru execuia acelei instruciuni. Cu toate acestea, execuia out-of-order(EOoO) a devenit o paradigma predominant n domeniul calculatoarelor nc din anii 90. Aceast paradigm introduce ideea unei ferestre de execuie. Fereastr de execuie urmeaz conceptul de ordine secvenial tipice unei arhitecturi von Neumann, ns n cadrul acestei ferestre instruciunilor le este permis s fie executate n funcie de ordinea dependenelor existente.

Arhitectura Harvard
Arhitectura Harvard este o arhitectur a calculatoarelor caracterizat prin stocarea separat a instruciunilor i datelor. Numele acestei arhitecturi provine de la sistemul de

calcul Harvard Mark I, ce stoca instruciunile pe 24 bii pe o band perforat, iar datele n contoare electromecanice ce permiteau 23 de cifre. Din cauza lungimii cuvintelor, a tehnologiei de implementare i a structurii memoriei de adresare diferite, n cadrul acestei arhitecturi nu este necesar ca cele dou tipuri de memorie (program si date) s dispun de aceleai caracteristici. De regul memoria pentru instruciuni are o capacitate mai mare dect cea de date. De exemplu, microcontrolerele PIC au un cuvnt de date de 8 bii i o lungime a instruciunii de 12, 14, 16 sau 32 bii. n funcie de necesarul de memorie instruciunile pot fi stocate de exemplu ntr-o memorie de tip ROM (read-only), n timp ce datele se afl ntr-o memorie de tip citire-scriere. n arhitectura von Neumann pur CPU-ul poate fie citi o instruciune, fie citi/scrie date din/n memorie. Nu pot fi efectuate ambele operaiuni simultan, deoarece se folosete aceeai magistral. Prin contrast, ntr-un calculator bazat pe arhitectura Harvard CPU-ul poate citi o instruciune i n acelai timp poate accesa i date, chiar i fr cache. De aceea o arhitectur Harvard poate fi mai rapid:fetch-urile instruciunilor i accesul la date nu concureaz pentru aceeai cale de transfer de date. Arhitectura Harvard are spaii de adresare separate pentru date i instruciuni: adresa 0 pentru date nu este aceeai cu adresa 0 pentru instruciuni. n perioada modern arhitectura Harvard este folosit n principal n dou tipuri de dispozitive:
Procesoarele de semnale specializate din cadrul dispozitivelor pentru prelucrarea

semnalelor audio i/sau video.


Microcontrolerele din cadrul aplicaiilor electronice (PIC de la Microchip, AVR de la

Atmel); acestea dispun de dimensiuni mici ale memoriilor de program i de date i se folosesc de avantajul arhitecturii RISC executarea instruciunilor ntr-un ciclu main (nu neaprat un ciclu de ceas).

Arhitectura cu memorie partajat


Arhitecturile cu memorie partajat sunt arhitecturi ce se gsesc in calculatoarele cu memorie partajat, unde exist un spaiu comun de memorie pentru toate procesoarele din sistem. Aceste calculatoare mai sunt numite i multiprocesoare, iar datorit gradului mare de interaciune ntre procesoare, care mpart aceeai memorie i ntre care exist o bun sincronizare, se spune c aceste sisteme au un cuplaj strns. n cazul arhitecturilor cu memorie partajat s-a pornit de la maina von Neumann, iar fiecrui procesor i s-a adugat o memorie cache, pentru un acces mai rapid la date i instruciuni. Deoarece memoria este partajat, dezavantajul major l constituie scderea performanelor sistemului odat cu creterea numrului de procesoare.

Arhitecturi cu memorie partajat


n funcie de resurse, exist dou tipuri de sisteme, care la rndul lor se mpart n urmtoarele arhitecturi:

Cu resurse globale

1. arhitectura UMA (Uniform Memory Access) 2. arhitectura UMA cu memorii cache locale

Cu resurse distribuite (procesoarele au memoriile locale ditribuite din punct de vedere

fizic, ns acestea formeaz o memorie comun) 1. arhitectura NUMA (Non-Uniform Memory Access) 2. arhitectura COMA (Cache-Only Memory Access) 3. arhitectura CC-NUMA (Cache Coherent Non-Uniform Memory-Access)

Arhitectura UMA
Calculatoarele din aceast categorie au ca trstur esenial faptul c procesoarele care folosesc o memorie partajat, au acelai timp de acces la memorie. Totui un numr prea mare de procesoare poate introduce ntrzieri, pentru c apare accesul concurent la aceeai resurs. Procesoarele ce comunic cu memoria sunt conectate prin intermediul unei reele.

Arhitectura UMA cu memorii cache locale

Arhitectura UMA cu memorii cache locale Aceast arhitectur reprezint o mbuntire a versiunii anterioare. Aici fiecare procesor conine o memorie cache. Dac datele necesare procesorului se gsesc n cache-ul aferent acestuia, atunci procesorul le utilizeaza, fr a mai apela la memoria partajat. Astfel se reduce timpul de acces i se reduce n anumite proporii si accesul la aceeai resurs aflat n memorie. Dac unele date din memoria partajat sunt coninute i n memoriile cache, atunci modificarea datelor din memoria comun presupune i modificarea datelor din memoriile cache, lucru necesar pentru asigurarea consistenei.

Arhitectura NUMA
n cazul arhitecturii NUMA, fiecare procesor are asociat o memorie local, iar toate memoriile locale formeaz o memorie vzut ca un tot unitar, ca un spaiu unic de adrese. Atunci cnd procesorul acceseaz date din memoria local, timpul de acces va fi unul scurt, spre deosebire de cazul n care procesorul acceseaz date din memoria local aferent altui procesor. n cel de-al doilea caz timpul va fi mai mare datorit transportului datelor prin reeaua de interconectare. O trstur esenial pentru mainile din aceast categorie o reprezint factorul NUMA. Acesta indic diferenele ntre accesarea datelor din memoria local de ctre un procesor i accesarea datelor dintr-o alt zon, care nu este local, de ctre acelai procesor. n mod normal acest factor se refer la primul i ultimul procesor din cadrul unei reele (cele mai ndeprtate procesoare).

Arhitectura COMA

Arhitectura COMA n arhitectura COMA, memoriile cache ale fiecrui procesor vor forma un spaiu unic de adresare. n cazul de fa, exist un dispozitiv, numit controler de memorie, care are rolul de a aduce datele necesare fiecrui procesor n memoria sa cache local. O problem apare n cazul n care un procesor are nevoie de un bloc de date, ns are memoria cache plin. Deoarece nu exist o memorie comun, va trebui ca datele vechi s fie mutate n memoria altui procesor, pentru ca noile date s poat fi aduse n memoria cache a procesorului care acceseaz datele. Controlerul de memorie are printre alte atribuii i aceea de a muta blocurile dintr-o memorie n alta.

Arhitectura CC-NUMA

Arhitectura CC-NUMA Acest model mbin cele dou arhitecturi: NUMA i COMA. Fiecare dintre procesoare are att o memorie local, ct i o memorie cache. Memoria cache este folosit n cazul n care datele de care are nevoie procesorul nu se gsesc n memoria local. Pentru datele necesare procesoarelor se caut mai nti n memoriile locale asociate acestora. Dac datele sunt coninute n aceste memorii, atunci datele sunt prelucrate de procesor, dac nu, atunci datele din memoriile celorlalte procesoare sunt aduse n memoria cache a procesorului care are nevoie de acele date.

Bineneles c trebuie s se realizeze o consisten a memoriilor cache: n cazul n care datele din memoriile locale se modific, trebuie modificate i datele care se gsesc n memoria cache a altor procesoare.

BIBLIOGRAFIE:

Site-uri vizitate:
http://www.scrigroup.com/calculatoare/hardware/ARHITECTURAUNUI-CALCULATOR-PE32168.php http://dc471.4shared.com/doc/MUCq_95j/preview.html http://www.google.ro/search? q=arhitectura+cu+memorie+partajata&hl=ro&source=lnms&tbm =isch&sa=X&ei=9PUsUayjO_HV4QTg6oDIAQ&ved=0CAcQ_AUoAQ &biw=1024&bih=634 http://valungureanu.toateblogurile.ro/2012/02/19/informatica-sicalculatorul/

CUPRINS

1. Arhitectura von Neuman 2. Arhitectura Dataflow 3. Arhitectura Harvard 4. Arhitectura cu memorie partajat 5. Bibliografie

You might also like