Prototipul de la Universitatea Carnegie Mellon

Trimis la data: 2008-09-25 Materia: Informatica Nivel: Facultate Pagini: 5 Nota: / 10 Downloads: 36
Autor: Horia Dimensiune: 36kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
Referat despre Prototipul CMU
Prezentul articol se pretinde a fi descrierea sumară a cercetării care se desfăşoară la Universitatea Carnegie Mellon. Carnegie Mellon are două grupuri care lucrează la un prototip special de circuit reconfigurabil numit PipeRench. Asta vine de la “pipe'': ţeavă (subliniind natura “pipelined'' a circuitului) şi “wrench'': cheie franceză. Circuitul acesta se vrea o unealtă generală pentru a scrie aplicaţii “pipelined''.

Referat despre Prototipul CMU
Unul dintre grupuri lucrează la proiectarea, depanarea şi construirea unui circuit prototip şi a interfeţei sale cu un sistem de calcul (bazat pe o magistrală PCI), iar celălalt la un compilator care să genereze cod pentru PipeRench. Între cele două grupuri există o oarecare independenţă, în sensul că, deşi pentru moment compilatorul dezvoltat are ca singură ţintă prototipul PipeRench, în mod ideal ar trebui să fie uşor portat şi pentru alte feluri de circuite reconfigurabile, cum ar fi cele comerciale.

De la început au fost făcute o serie de decizii în spaţiul posibilelor design-uri, care limitează aplicabilitatea, dar fac problema tractabilă. Ca oricînd în cercetarea ştiinţifică, nu este clar de la început că aceste decizii au fost cele mai bune; numai viitorul va arăta dacă această cărare este profitabilă, sau dacă rezultatele vor fi foarte specifice.

Voi discuta pe scurt unele dintre deciziile mai interesante, pentru a ilustra natura unora dintre problemele întîlnite şi soluţiile oferite.

Aplicaţii vectoriale
Principalele aplicaţii care sunt ţinta implementării pe PipeRench sunt cele care aplică o aceeaşi procesare relativ complicată asupra unui set mare de valori (unui vector). Exemple ideale: compresia, criptarea, codificarea, filtrarea de semnal, analiza statistică, etc. PipeRench va implementa atunci funcţiunea care trebuie aplicată repetat şi datele vor fi trimise una cîte una spre el; la ieşire se vor culege rezultatele.

Un coprocesor master de magistrală
PipeRench are un controler special care este capabil să genereze adrese pentru magistrală pentru a citi şi scrie singur din memorie.

Controlerul are mai multe scopuri:
- Controlerul citeşte chiar informaţia de configurare pentru PipeRench din memorie. Cînd procesorul principal vrea ca PipeRench să facă ceva anume, îi trimite doar un semnal şi adresa în memorie unde se află configuraţia de încărcat. PipeRench apoi se încarcă singur.
- Controlerul lui PipeRench este capabil să citească de unul singur vectori din memorie şi să-i proceseze. Procesorul central îi spune lui PipeRench unde sunt datele, cîte şi cum sunt aranjate, iar PipeRench aplică întregul program fiecăreia dintre date, în regim de pipeline.
- Controlerul manipulează de asemenea un cache intern circuitului, în care configuraţiile mai des folosite sunt ţinute, pentru a evita accesul frecvent la magistrala calculatorului şi la memoria lentă.

Hardware virtualizat
Probabil cea mai interesantă decizie este aceea de a “virtualiza'' hardware-ul. Aceasta simplifică enorm scrierea de programe, pentru că utilizatorul nu mai trebuie să se preocupe de resursele disponibile. Ideea este asemănătoare cu cea de la memoria virtuală:
- Utilizatorul scrie un program pentru o maşină cu mărime nelimitată;
- Programul este împărţit în felii “virtuale''; să zicem că sunt m astfel de felii;
- Hardware-ul disponibil poate cuprinde numai cîteva din aceste felii, să zicem n < m (cazul n >= m este un caz particular);
- Primele n felii din cele m sunt încărcate şi se execută. Cînd vine rîndul execuţiei feliei virtuale n+1, din hardware este scoasă felia 1 şi înlocuită cu n+1.;
- La fiecare ciclu de ceas ulterior o nouă felie virtuală este scoasă şi înlocuită cu alta.

În felul acesta circuitul hardware “alunecă'' (ca în figura 3) peste program. Figura ilustrează primii 6 paşi din procesarea unui vector v[] de valori. Fiecare valoare a vectorului trebuie procesată de un program în 4 paşi. Fiecare “felie'' virtuală este un pas din program. Datele intră în felia 0, trec apoi prin 1, 2 şi ies din 3, după care sunt scrise în memorie. Aceeaşi operaţie este aplicată tuturor elementelor din vector. Pentru figură deci m=4, n=2.

Figura 1: Funcţionarea unui program pentru un circuit cu 4 “felii'' virtuale folosind hardware real cu 2 “felii''.
Metoda are o sumedenie de avantaje. De exemplu, atunci cînd apare un circuit mai mare pe piaţă, programele se vor executa mai repede, pentru că vor avea mai mult hardware la dispoziţie. Nu trebuie deloc recompilate. În plus, putem executa azi (mai lent) programe pentru care nu vom avea destul hardware decît mîine.

O arhitectură “pipe-line''
După cum vedeţi fiecare felie lucrează la un moment asupra altor date de intrare; la fiecare m/n paşi se produce un rezultat.
Din cauză că felia 1 este scoasă cînd apare n+1 e clar că datele pot curge numai într-o direcţie în acest circuit. Acest model este asemănător cu al maşinilor “data-flow'' (subiectul depăşeşte cadrul acestui articol). În principiu orice aplicaţie poate fi adusă în această formă, dar nu orice aplicaţie este eficient prelucrată astfel.
Un limbaj intermediar independent de arhitectură

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles