Professional Documents
Culture Documents
REFERAT
La disciplina: Arhitectura Calculatorului Tema: Arhitecturi de Sisteme de calcul
Cahul, 2013
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
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).
Cu resurse globale
1. arhitectura UMA (Uniform Memory Access) 2. arhitectura UMA cu memorii cache locale
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 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