Arbori sistolici binari

Size: px
Start display at page:

Download "Arbori sistolici binari"

Transcription

1 1 Universitatea Tehnică Gh. Asachi Iaşi Facultatea de Automatică şi Calculatoare Şcoala de Studii Doctorale Arbori sistolici binari O. Brudaru aprilie 2006 Raport tehnic nr. 4/2006 Universitatea Tehnică Gh. Asachi Iaşi Facultatea de Automatică şi Calculatoare Şcoala de Studii Doctorale Bulevardul Dimitrie Mangeron nr. 53 A, Iaşi, cod

2 CUPRINS 1. Structura sistolică arborescentă 1 2. Comenzile de bază 2 INSERT 3 MEMBER 4 DELETE 5 3. Dicţionar VLSI bazat pe L-arbori Maşini de tip dicţionar Cerinţe şi performanţe Soluţii existente de dicţionare VLSI 7 Reţea liniară de celule 7 Dicţionarul Leiserson 7 Dicţionarul Ottmann 8 Dicţionarul Somani & Agarawa 9 Dicţionar pe grilă sistolică L-arbori Coadă sistolică cu priorităţi Cuplarea cozii cu un arbore 13 Bibliografie

3 1 Arbori sistolici În acest capitol este prezentat modul de implementare a unui arbore binar într-o structură sistolică şi sunt explicate operaţiile de bază pe care trebuie să le execute o asemenea structură. 1. Structura sistolică arborescentă Pentru unele probleme de căutare, conectarea arborescentă a elementelor de procesare este mai avantajoasă decât conectarea într-o structură liniară. În continuare se va presupune că fiecare celulă plasată într-un nod terminal al unui arbore sistolic binar poate reţine o cheie. Dacă numărul de niveluri din k arbore este k atunci numărul de vârfuri terminale este N = 2. Structura arborescentă ilustrată în fig. 1 poate fi văzută ca fiind formată din două straturi. in out Fig. 1. Structură de procesare arborescentă pentru 3 N = 2 Primul strat grupează elementele ce asigură propagarea comenzilor şi a fluxurilor de date de la rădăcină către nodurile terminale care corespund elementelor de procesare propriu-zisă. Al doilea strat are rolul de a combina informaţiile şi de a propaga rezultatele către rădăcina arborelui. Elementele 3 trasate în fig. 1 (pentru N = 2 ) cu linie continuă, formează primul strat şi realizează duplicarea mesajelor în tactul de procesare respectiv, în timp ce elementele trasate cu linie întreruptă constituie al doilea strat şi realizează o anumită funcţie depinzând de cele două intrări alimentate de nivelul inferior în scopul sintezei şi trimiterii rezultatului în sus.

4 Un mod de a implementa fizic un circuit arborescent este sub forma de H- arbore este ilustrat în fig. 2. rãdãcinã Fig. 2. Plasarea pe un cip sub formă de H-arbore pentru N = 2 Arborele sistolic are ca atribut principal faptul că poate realiza emisia datelor (fan-out) către toate elementele de procesare cât şi colectarea lor (fan-in), presupunând că pe durata fiecărui tact toate procesoarele sunt active. În continuare se va presupune că procesoarele funcţionează în mod pipeline, adică fronturile de activitate se deplasează în jos prin nodurile marcate cu linie continuă şi respectiv în sus prin cele trasate cu linie discontinuă. Fiecare front corespunde unei comenzi care se adresează unui întreg nivel din arbore, adică procesoarele de pe aceeaşi linie orizontală execută aceeaşi comandă. Structura arborescentă este capabilă să execute orice comandă din setul permis de comenzi în O(logN) timp şi cu o perioadă constantă dacă numărul de elemente nu depăşeşte pe N Comenzile de bază Să examinăm modul în care un arbore sistolic implementează un dicţionar simplu, adică execută comenzile MEMBER/INSERT/DELETE asupra unei mulţimi de cel mult N elemente. Se va presupune că nu se admit copii ale cheilor în arborele sistolic, aşadar nu se va face o tentativă de a insera o cheie deja prezentă în arbore. Valorile sunt păstrate în celulele conectate cu nodurile terminale.

5 Arbori sistolici O. Brudaru Comanda INSERT Pentru implementarea comenzii INSERT(k), căutarea unui registru liber se face prin includerea în fiecare nod de pe primul strat a unui contor care ţine evidenţa numărului de regiştri liberi din subarborele cu rădăcina în acel nod. Comanda de inserare este dirijată către un subarbore al cărui contor este nenul. Contoarele de pe drumul de deplasare a comenzii INSERT(k) sunt decrementate cu 1. tact: t=0 t=1 ins ins 7 ins tact: ins 3 ins 7 ins 5 t= ins 5 ins ins 7 t= tact: t=4 t=5 ins ins 3 Fig. 3. Trei comenzi de inserare consecutive ins 5

6 Când se întâlneşte un registru liber întru-un element de procesare de pe ultimul nivel, atunci k este memorat în acel registru (presupunem că acest lucru este asigurat prin faptul că adăugarea unei noi chei se face în limita capacităţii de memorare care este de N valori). Dacă există doi subarbori pentru care contoarele asociate rădăcinilor acestora sunt nenule, atunci se va alege doar unul pentru a evita inserarea multiplă a lui k. Este evident că operaţia de inserare cere O(logN) timp şi are perioadă constantă. Un exemplu de funcţionare a comenzii INSERT este arătat în fig. 3 pentru N = Comanda MEMBER Implementarea comenzii MEMBER se face trimiţând comanda MEMBER(k) către toate elementele de procesare. Fiecare element va răspunde afirmativ sau negativ după cum k este egal cu conţinutul registrului din acel element de procesare. Propagarea comenzii se face prin primul strat. Al doilea strat colectează răspunsurile realizând operaţia sau logic asupra intrărilor primite de la nivelul imediat inferior. În final, prin rădăcină se extrage disjuncţia logică a tuturor răspunsurilor. Timpul de răspuns este O(logN), egal cu timpul necesar propagării răspunsurilor de la elementele de pe nivelul terminal până la rădăcină. Datorită modului de lucru pipeline perioada este constantă. În fig. 4 este ilustrată acţiunea comenzii MEMBER(7), pe arborele binar aflat în starea finală din fig. 3. Comenzile INSERT şi MEMBER pot fi urmate după un tact de orice alta comanandă din cele trei. Din păcate, comanda INSERT nu poate fi lansată după DELETE înainte ca DELETE să fi terminat actualizarea contorilor de pe drumul menţionat anterior, adica mai devreme de 2 log 2 N tacte. Intr-adevăr, o astfel de problemă apare atunci când DELETE urmează să steargă un element când în arbore sunt exact N elemente. În acest caz, o comanda INSERT lansată mai devreme ca efecul lui DELETE să se fi propagat complet, adică să fi atins şi rădăcina în deplasarea pe al doilea strat, nu găseşte un loc liber chiar dacă un astfel de loc urmează a fi creat sau s-a creat deja.

7 Arbori sistolici O. Brudaru 5 tact: t=6 7? t= ? 7? ? tact: t=8 t= ? 7? ? tact: t=10 t=11 1 rãspuns Fig. 4. Acţiunea comenzii MEMBER(7). 2.3.Comanda DELETE Execuţia unei comenzi DELETE(k) reclamă ştergerea valorii k urmată de actualizarea contorilor asociaţi nodurilor de pe unicul drum de la rădăcina arborelui la nodul al cărui registru îl conţine pe k (am presupus că valoarea k există în arbore). Acest lucru se poate face doar după localizarea acelui nod terminal corespunzător procesorului ce conţine pe k, în cadrul procesării ce se realizează în cel de al doilea strat. Timpul de răspuns este O(logN). Printr-un anumit amendament precizat în cele ce urmează, intervalul de timp intre două

8 lansări consecutive de comenzi identice sau diferite poate fi făcut constant. În consecinţă putem formula următorul rezultat: Propoziţia 1. Un arbore sistolic de mărime N poate executa comenzile MEMBER/INSERT/ DELETE cu un timp de răspuns O (log N) şi perioada constantă dacă numărul de elemente din mulţimea de chei nu depăşeşte N, în ipoteza că INSERT adaugă întotdeauna o cheie nouă iar DELETE elimină o valoare existentă în arbore. 3. Dicţionar VLSI bazat pe L-arbori 3.1. Maşini de tip dicţionar Fie S o mulţime ordonată de chei { k 1, k 2,..., k N } şi R = { r1, r2,..., rn } mulţimea de înregistrări. Un dicţionar este definit în mod formal ca o submulţime F a lui S R, unde dacă ( ki, ri ) F atunci r i este înregistrarea asociată cheii k i în F Cerinţe şi performanţe Mulţimea uzuală de instrucţiuni care sunt tratate de o maşină dicţionar este formată din: INSERT(k,r) inserează/actualizează înregistrarea asociată cheii k. DELETE(k) şterge din dicţionar înregistrarea şi cheia k şi ănregistrarea asociată. UPDATE(k,r)- modifică înregistrarea de cheie k. SEARCH(k) caută înregistrarea de cheie k. XMIN returnează înregistrarea asociată valorii minime a cheii. XMAX returnează înregistrarea asociată valorii maxime a cheii. NEAR(k) returnează înregistrarea pentru care valoarea cheii este cea mai apropiată de k.. COMPRESS(k) mută perechile (k,r) pentru care k >k către poziţiile ocupate de perechile precedente. NOP instrucţiunea nu realizează nimic (No Operation) şi este folosită pentru temporizarea instrucţiunilor. Acest set de instrucţiuni poate fi extins cu diverse variante de implementare. Astfel, o instrucţiune INSERT redundantă, adică pentru care valoarea cheii este deja prezentă în dicţionare, poate fi tratată ca o actualizare sau poate fi ignorată. De asemenea, instrucţiunile SEARCH, XMIN, XMAX, NEAR care returnează o înregistrare corespunzătoare valorii de interogare a cheii pot fi

9 Arbori sistolici O. Brudaru 7 implementate distructiv, ştergând înregistrările respective din dicţionar sau nedistructiv, păstrându-le intacte. Pe de altă parte, comenzi, cum ar fi PRED (k) şi SUCC (k) se pot obţine din instrucţiunea de bază NEAR prin specificaţii suplimentare. Performanţele unei maşini dicţionar se referă la următoarele: timpul de răspuns în tratarea unei comenzi; perioada de tratare a comenzilor cu excepţia instrucţiunilor COMPRESS şi NOP; capacitatea maşinii definită de numărul maxim N de elemente ce pot fi memorate în dicţionar şi numărul n de elemente prezente la un moment dat în structură; debitul definit ca numărul de comenzi executate în unitatea de timp Soluţii existente de dicţionare VLSI În continuare sunt trecute în revistă câteva soluţii remarcabile de dicţionare adecvate pentru implementarea VLSI. Reţea liniară de celule. O astfel de structură corespunde listei înlănţuite [Knu76]. fiecare celulă conţine valoarea cheii şi înregistrarea sau adresa acesteia. Conţinutul celulelor este sortat crescător după valorile cheii (v. fig. 1). Comenzile se deplasează în acelaşi sens. (k 1,r 1 ) (k 2,r 2 )... (k n,r n ) Fig. 5. Reţea liniară de tip listă înlănţuită Celulele sunt foarte simple, perioada este de un tact, toate comenzile pot fi executate inclusiv variantele lor redundante dar, din păcate, timpul de răspuns O (n) limitează drastic performanţa structurii pentru valori mari ale lui n. Dicţionarul Leiserson. În soluţia propusă în [Lei79], elementele de procesare sunt plasate pe nodurile terminale şi valorile cheilor sunt memorate în aceste elemente în ordine crescătoare. Arborele este folosit pentru emisia comenzilor, o comandă atingând simultan toate elementele de procesare (v. fig.6).

10 I/O (k 1,r 1 ) (k 2,r 2 ) (k 3,r 3 ) (k n,r n ) Fig. 6. Dicţionarul Leiserson Maşina poate executa comenzile INSERT(k,r), DELETE(k), SEARCH(k), Xmin. O instrucţiune INSERT(k,r) redundantă provoacă deplasarea către dreapta a conţinutului celulelor cu chei superioare lui k şi dacă astfel de instrucţiuni redundante sunt numeroase, performanţele structurii se degradează. De asemenea, DELETE(k) în varianta redundantă alterează înregistrarea având cheia imediat deasupra lui k. Deşi este destul de simplă şi are perioada egală cu unu, maşina nu suportă instrucţiuni redundante, timpul de răspuns este O (log N) şi pentru a păstra N itemi reţeaua are nevoie de 2N 1 celule. Dicţionarele Ottmann. În [ORS81] sunt prezentate două îmbunătăţiri ale dicţionarului lui Leiserson, prima referitoare la tratarea instrucţiunilor redundante iar a doua reducând timpul de răspuns. Faţă de maşina [Lei79], este introdusă comanda COMPRESS cu scopul de a gestiona golurile generate de instrucţiunile redundante INSERT(k,r), DELETE(k,r). Timpul de răspuns este O (log N) deşi maşina poate conţine puţine chei la un moment dat (adică n este mic) iar perioada este egală cu 3 pentru că fiecare instrucţiune DELETE trebuie urmată de două instrucţiuni COMPRESS. S 1 S 3 S2 S 4 S 5 S 6 S 7 S 15 S 14 S 13 S 12 S 11 S 10 S 9 S 8 Fig. 7. Arborele-X Această soluţie a suportat încă o ameliorare prin transformarea structurii de arbore binar într-un arbore-x, adică un arbore în care nodurile de pe acelaşi nivel (nu doar de pe cel terminal!) sunt conectate liniar (v. fig. 7).

11 Arbori sistolici O. Brudaru 9 În noua structură în toate celulele se memorează intrări ( k, r). Celulele posedă două feluri de conexiuni şi anume cele corespunzătoare arborelui binar utilizate pentru emisia instrucţiunilor şi cele pentru comunicaţiile între celulele aceluiaşi nivel, trasate în fig. 7 respectiv cu linii subţiri şi linii groase. Instrucţiunile sunt executate de toate celulele de pe un nivel dat pe durata aceluiaşi tact. Deoarece sunt plasate date şi în nodurile de pe nivelurile intermediare, dacă răspunsul ar fi trimis imediat înapoi către rădăcină, există riscul ca răspunsul la o comandă dat de o celulă de pe un nivel situat mai aproape de rădăcină să ajungă la rădăcină înaintea răspunsului la o comandă anterioară dat de la un nivel mai profund, ceea ce ar putea conduce la asocieri eronate de răspunsuri la comenzi. Soluţia utilizată în [ORS81] constă în transmiterea răspunsului către nodurile terminale, utilizând conceptul de frontieră efectivă care este formată din nodurile care sunt fie terminale, fie au ca descendenţi noduri fără înregistrări asociate (vide) fie descendenţii părintelui nu sunt noduri vide. Frontiera efectivă îşi schimbă configuraţia în timpul exploatării dicţionarului dar în orice moment ea cuprinde cel mult două niveluri succesive aşa cum este arătat în fig. 8 în care etichetele k marchează o cheie diferită de +. Frontiera efectivă joacă rolul de reflector al răspunsurilor venite de la nivelurile de deasupra. În timpul deplasării de la frontiera efectivă către rădăcină aceste răspunsuri sunt agregate pentru a forma răspunsul final la comanda respectivă. Cum răspunsurile reflectate pot proveni din noduri aflate pe straturi adiacente într-un acelaşi subarbore, rezultă că răspunsurile care trebuie agregate pot sosi într-un nod cu un decalaj de un tact. Aşadar agregării pe un nivel trebuie să i se rezerve două tacte. Datorită unor cerinţe referitoare la corecta funcţionare a instrucţiunilor de actualizare, inserare şi de eliminare a golurilor, perioada dicţionarului este de 9 tacte. Timpul de răspuns este O (log n). Dicţionarul poate procesa comenzile redundante, instrucţiunile nu au complexitate ridicată, dar structura necesită 2 N celule de memorie pentru a asigura o capacitate de N chei şi o gestiune corectă a golurilor. k frontiera efectivã k k k k k k oo oo oo oo oo k k k oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo Fig. 8. Exemplu de frontieră efectivă a arborelui Dicţionarul Somani & Agarawa. Structura propusă în [SA85] se bazează pe un arbore binar dar elementele sunt memorate fără a fi ordonate iar frontiera efectivă este pe un singur nivel al arborelui. Un nod în arborele binar execută

12 instrucţiuni dar el poate şi modifica instrucţiunile pe care le transmite mai departe. Arborele dispune de un mecanism de echilibrare astfel că pentru fiecare nod subarborele stâng conţine aproape acelaşi număr de chei ca subarborele din dreapta. Instrucţiunile se propagă de la rădăcină către nivelul terminal. Un nod generează pentru descendenţii lui două copii, eventual modificate, ale instrucţiunii primite. După execuţia instrucţiunilor pe ultimul nivel, instrucţiunile sunt trimise înapoi către rădăcină, fiecare nod primind două instrucţiuni de la descendenţi, combinându-le într-o singură instrucţiune pe care o transmite mai departe în sus. Inserările redundante se fac prin inserarea noii înregistrări şi ştergerea celei vechi. Timpul de răspuns este O (log n). Capacitatea de N intrări este asigurată cu N celule de memorare, dar complexitatea unei celule de procesare este superioară celei din arborele binar din [Lei79]. Dicţionar pe grilă sistolică. În [SS85] este propusă o arhitectură cu o topologie neuzuală pentru un dicţionar, soluţia adoptată fiind justificată prin necesitatea ca celulele vecine funcţional să fie vecine şi fizic (v. fig. 9). Conexiunile îngroşate sunt pentru transmisia datelor în timp ce cele subţiri sunt pentru transmisia comenzilor şi pentru rezultate. Reţeaua are N intrări şi N ieşiri. Răspunsul apare pe ultima linie după N tacte. La o suprafaţa ocupată de O (N) complexitatea conexiunilor este inferioară soluţiilor bazate pe arbori. Intrările trebuie să primească aceeaşi comandă la un moment dat, iar ieşirile trebuie agregate cu un circuit suplimentar. Într-un modul VLSI în care timpii de propagare depind de lungimea conexiunilor, modelul este superior structurilor bazate pe arbori. S 1 S 2 S 3 S 4 S 8 S 7 S 6 S 5 S 9 S 10 S 11 S 12 S 16 S 15 S 14 S 13 Fig. 9. Reţea sistolică rectangulară pentru dicţionar Alte soluţii de dicţionare VLSI sunt discutate în [Gas93].

13 Arbori sistolici O. Brudaru L-arbori Coadă sistolică cu priorităţi O coadă sistolică cu priorităţi este o structură care execută operaţiile de inserare, extragere a valorii minime şi ştergerea unei valori date, respectiv comenzile INSERT/XMIN/DELETE, asupra unei mulţimi cu cel mult N elemente. Masivul este compus din N celule conectate liniar cu portul de intrare-ieşire al primei celule din stânga conectat la calculatorul gazdă ca în fig. 10. Fiecare celulă are doi regiştri, A şi B, fiecare registru putând memora un element din setul de intrare. Dacă un registru nu conţine nici o valoare, atunci considerăm că este încărcat cu, acest element desemnând o valoare mai mare decât oricare valoare posibilă din setul de date de intrare. Inaintea începerii funcţionării cozii, regiştrii de tip A şi B din toate celulele sunt încărcaţi cu. Scopul acestei structuri sistolice este de a menţine setul de n N valori în ordine crescătoare, cu toate valorile încărcate în regiştrii A situaţi în primele n celule din masiv. Regiştrii B sunt utilizaţi pentru transmiterea valorilor recent introduse şi plasarea acestora în poziţia corespunzătoare din şirul ordonat. Când o valoare ajunge în poziţia corectă ea înlocuieşte valoarea aflată în registrul A. Valoarea care a fost în A este transmisă spre celula imediat următoare din dreapta. Astfel, orice înserare provoacă o deplasare din aproape în aproape spre dreapta a tuturor elementelor. Sistemul va fi controlat astfel încât dacă o celulă este activă atunci celulele vecine sunt inactive. gazda A H A 1 A 2 A 3 A 4 A 5 B H B 1 B 2 B 3 B 4 B 5 Fig. 10. Tabloul sistolic ce implementează o coadă cu priorităţi O celulă va compara conţinutul registrului A propriu cu cel al registrului A al celulei din stânga. În acest moment, datorită temporizării, celula vecină din stânga este inactivă, deci conţinutul registrului A este stabilizat şi poate fi consultat. Gazda joacă rolul unui vecin din stânga ori de câte ori prima celulă este activă, iar în rest trimite sau primeşte valori spre şi dinspre prima celulă. De îndată ce valoarea înserată a fost mutată în celula următoare într-un pas, după încă un pas, se poate lansa o nouă comandă de inserare, deoarece prima celulă va fi disponibilă. Să notăm cu A L şi B L valorile regiştrilor celulei din stânga celei curente. Această pereche de celule este arătată în fig. 11. Celula curentă execută pe parcursul tactului activ t următoarele operaţii:

14 1. copiază conţinutul lui B L în B ; 2. rearanjează valorile din A L, A şi B astfel încât A L A B A L A celula inactiva B L B celula activa curenta Fig. 11. Celula curentă şi celula vecină din stânga Conexiunile între două celule vecine asigură transmiterea către dreapta a valorilor regiştrilor A L şi B L şi actualizarea conţinutului registrului A L după ordonarea din pasul 2. Se constată că valoarea din registrul B L se deplasează către dreapta când locul acestei valori nu este în celula din stânga celei curente şi ajunge în registrul A L al aceleiaşi celule dacă era în poziţia corectă. Remarcăm faptul că operaţia de copiere a registrului B L în registrul B se face astfel încât valoarea din registrul B L să nu fie distrusă. Dacă A L conţine valoarea, valoare care poate fi plasată în acest registru în vederea realizării unei comenzi XMIN, valorile din dreapta vor fi mutate cu o celulă spre stânga. Gazda, care după cum s-a menţionat joacă rolul vecinului din stânga pentru prima celulă, are şi ea doi regiştri A H şi B H, care au funcţia omonimilor lor plasaţi în celule şi sunt folosiţi pentru a asigura corecta funcţionare a primei celule. Operarea cu aceşti regiştri ai gazdei se face în funcţie de tipul de comandă lansată de gazdă, după cum urmează: 1. Pentru inserarea unei valori k, registrul A H este încărcat cu iar registrul BH este încărcat cu valoarea k. Această valorizare asigură mutarea lui k spre unul din regiştrii primei celule din coadă, atunci când, în tactul următor, aceasta devine activă. 2. Pentru extragerea minimului, ambii regiştri A H şi B H ai gazdei sunt încărcaţi cu. În următorul ciclu activ cea mai mică valoare se va fi mutat în registrul A H şi va putea fi extrasă de gazdă. Prima celulă va avea acum în registrul A 1, iar acest registru va fi încărcat în următorul pas cu o valoare sosită din dreapta. Pe durata tactelor următoare, valorile vor migra către dreapta şi se vor plasa după ultima celulă ce conţine date din setul de intrare. 3. Când gazda este inactivă, adică nu lansează comenzi către masivul sistolic, conţinutul lui A H este menţinut pe iar cel al lui B H pe valoarea. Celulele din tabloul sistolic îşi continuă activitatea curentă chiar dacă gazda nu emite noi comenzi spre prima celulă.

15 Arbori sistolici O. Brudaru 13 Conform punctului (2), operaţia XMIN se face încărcând regiştrii A H şi BH ai gazdei cu. Ca efect, prima celulă care se activează după exact un tact şi în care este întotdeauna valoarea minimă, transmite conţinutul registrului A1 spre stânga, către gazdă în registrul A H. Minimul extras dispare astfel din coadă. Dipariţia minimului duce la apariţia unui "gol" identificat prin faptul că în celula respectivă ambii regiştri conţin. Acest "gol" se deplasează la dreapta, câte o celulă pe tact, celulele care conţin efectiv date, compactânduse. Este de menţionat faptul că sistemul nu este prevăzut cu un mecanism de semnalizare a umplerii cozii aşa că introducerea unui număr de elemente mai mare decât lungimea cozii duce la pierderea acelor valori care depaşesc dimensiunea cozii. Operaţia DELETE se poate realiza printr-un semnal de control special care este trimis în prima celulă sistolică împreună cu elementul ce trebuie scos din coadă. Pentru a căuta şi şterge valoarea respectivă, acest semnal de ştergere însoţit de valoarea ce trebuie eliminată, se propagă de la stânga la dreapta prin toate celulele. Fiecare celulă care primeşte semnalul de ştergere, compară valoarea din registrul A cu valoarea ce trebuie ştearsă şi în caz de egalitate crează un gol încărcându-şi regiştrii proprii cu. Dacă valoarea ce trebuie ştearsă este diferită de cea din registrul A al celulei atinse de ştergere, atunci celula acţionează ca în lipsa semnalului de control ce indică ştergerea. În ambele cazuri, semnalul de ştergere şi valoarea de şters sunt transmise către celula din dreapta, eliminâdu-se astfel toate apariţiile cheii ce trebuie şterse. Toate valorile din dreapta celei şterse sunt mutate cu o celulă către stânga. Transferul golului se realizează prin câte o celulă pe tact şi orice altă comandă ce urmează celei de ştergere (care vine din stânga) nu poate întâlni golul creat de ştergere căci acesta se mişcă cu aceeaşi viteză către dreapta cu cel puţin un pas înaintea unei astfel de comenzi. Astfel, pentru instrucţiunile sosite de la gazdă ulterior operaţiei de ştergere, este asigurată integritatea secvenţei de valori din coadă. În concluzie, următoarea afirmaţie este adevărată: Propoziţia 1. În ipotezele de mai sus, tabloul sistolic liniar cu N celule poate executa fiecare dintre comenzile INSERT/XMIN/DELETE cu timp de răspuns constant, dacă numărul de valori introduse nu depăşeşte pe N. Ca o consecinţă, masivul sistolic liniar descris mai sus poate sorta în O(n) timp o secvenţă de n valori. După introducerea celor n valori în coadă, secvenţa ordonată crescător se extrage cu n comenzi XMIN succesive Cuplarea cozii cu un arbore În continuare se consideră o combinaţie între un arbore şi un tablou liniar, numită L-arbore, în care între procesoarele de pe ultimul nivel din arbore

16 există şi conexiuni orizontale, pe lângă conectarea lor de către arborele binar, conform exemplului din fig. 12. Celula din extremitatea stângă a structurii liniare poate realiza operaţii de intrare-ieşire. Structura de L-arbore combină avantajul emisiei instrucţiunilor într-un arbore cu posibilitatea masivului liniar de a face transferuri de date între celulele vecine. Se presupune, ca şi până acum, că elementele de pe acelaşi nivel sunt activate simultan şi un nivel este activat doar după ce toate elementele de pe nivelul anterior şi-au executat complet sarcinile de calcul. În continuare, structura de L-arbore este folosită pentru a implementa o structură de dicţionar extins pe care să se execute comenzile MEMBER / INSERT / DELETE / XMIN. În ipoteza că structura de L-arbore trebuie să realizeze o coadă cu priorităţi şi trebuie să asigure facilitatea suplimentară de a avea un timp de răspuns mic pentru comanda MEMBER, cea mai convenabilă combinaţie funcţională este să se folosească substructura de tip arbore pentru comanda MEMBER, iar structura de masiv liniar pentru celelalte comenzi. in out gazda A g B g A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 Fig. 12. L-arbore cu 8 noduri terminale conectate liniar Folosirea arborelui şi pentru comanda DELETE poate cere o întârziere în emisia primei comenezi XMIN, deoarece poate fi vizat pentru ştergere un element din coadă care ar putea ajunge la cea mai din stănga celulă din coadă şi deci furnizat ca rezultat pentru XMIN, înainte ca DELETE să ajungă pe ultimul nivel pentru a-l şterge. O comandă INSERT lansată prin arbore ridică aceleaşi probleme dacă trebuie urmată imediat de o comandă XMIN. Pe de altă parte, o comandă MEMBER lansată prea devreme după o comandă DELETE, poate da un răspuns eronat dacă ambele comenzi se adresează aceleişi chei pentru că MEMBER poate atinge procesorul în care este cheia înaintea comenzii DELETE. Comanda MEMBER este executată în L-arbore exact ca în cazul arborelui. Procesoarele conectate în masivul liniar îşi deplasează cheile pe care le deţin

17 Arbori sistolici O. Brudaru 15 la dreapta sau la stânga, atunci când primesc o comandă INSERT respectiv o comandă DELETE sau MIN. Fiecare procesor decide sensul în care se face deplasarea cheilor comparând valoarea cheii k din comanda INSERT(k) sau DELETE(k) cu cea păstrată în registrul A propriu şi cea din registrul A al procesorului din stânga. Cu o temporizare adecvată, structura de L-arbore poate menţine toate cheile într-o zonă continuă aliniată la stânga masivului liniar. Un L-arbore cu N procesoare conectate liniar execută comenzile MEMBER / INSERT / DELETE / XMIN cu O (log N) timp de răspuns şi cu perioadă constantă dacă numărul de elemente memorate este mai mic sau egal cu N, presupunându-se că o comandă INSERT inserează o cheie nouă sau DELETE elimină o cheie existentă. Operaţia de inserare/ştergere a unei chei existente/inexistente în structură este numită redundanţă. O inserare redundantă face ca procesoarele să-şi deplaseze cheile la dreapta când de fapt acest lucru nu trebuie făcut. Pe de altă parte, o ştergere redundantă provoacă o deplasare la stânga provocând pierderea celei mai mici chei care depăşeşte valoarea ce trebuie ştearsă. Aceste probleme ar putea fi evitate dacă se admite că în masivul liniar să existe goluri adică unele procesoare aflate în stânga masivului să nu conţină valori, altfel spus secvenţa de chei să nu fie continuă. În acest caz, o comandă INSERT redundantă va fi acceptată şi cheia va colapsa cu valoarea deja existentă având ca rezultat crearea sau extinderea unui gol. Comanda DELETE va şterge pur şi simplu valoarea indicată cu acelaşi de apariţie/extindere a unui gol. Numărul mare de goluri ar putea însă mări timpul de răspuns al comenzilor XMIN. În continuare, un gol aflat în orice poziţie de la stânga ultimei chei păstrate în masivul liniar este notat cu *, iar un gol aflat în dreapta ultimei chei se marchează cu. Să presupunem că pe tot parcursul activităţii L-arborelui (i) primul procesor din masivul liniar nu este marcat cu * şi că (ii) pentru orice procesor marcat cu *, vecinul din dreapta nu este etichetat cu *. În esenţă, o inserare redundantă duce la marcarea cu * a două procesoare consecutiv (cele care păstrează cele două valori egale). O ştergere obişnuită (neredundantă) marchează cu * procesorul corespunzător cheii şterse. Fie comanda auxiliară COMPRESS care are ca efect ca un procesor să îşi deplaseze cheia către stânga dacă vecinul din stânga este marcat cu *. Pentru a păstra condiţiile (i)-(ii), procesorul aflat la dreapta locaţiei asupra căreia se presupune că s-a executat o actualizare/schimbare, va fi suficient să execute una sau două comenzi COMPRESS după ce a fost executată o comandă INSERT, respectiv DELETE. Comanda XMIN va furniza în mod corect cea mai mică cheie potrivită condiţiei (i) dar deplasarea la stânga a tuturor cheilor ar putea să păstreze marcajul * al primului procesor. Dar deoarece caracteristica (ii) se păstrează

18 când se face deplasare la stânga, rezultă că al doilea procesor nu este marcat cu *. Aşadar, (i) se păstrează dacă XMIN este urmată întotdeauna de comanda COMPRESS. Din condiţiile (i) şi (ii) rezultă că cel mult jumătate dintre procesoare sunt marcate la un moment dat cu * şi atunci capacitatea efectivă a masivului liniar este redusă la jumătate. Aşadar, un L-arbore de mărime N execută comenzile MEMBER / INSERT / DELETE / XMIN cu O (log N) timp de răspuns şi perioadă constantă dacă numărul de chei păstrate nu depăşeşte N / 2, inserţiile şi ştergerile redundante fiind permise. Bibliografie [Gas93] Gastaldo, M., Contribution à l algorithmique parallèle des structures de données et des structures discrètes: machines dictionnaire et algorithmes pour les graphes, ENLS, LIP-IMAG, 291/93, [Knu76] Knuth, D. E., The Art of Computer Programming - Seminumerical Algorithms, vol. 3. Sorting and Searching, Editura Tehnica, Bucuresti, 1976 (in Romanian). [Lei79] Leiserson, C.E., Systolic priority queues, Rep. CMU-CS , Dept. Comp. Sci, Carnegie-Mellon University, [ORS81] Ottman, Th., Rosenberg, A.L., Stockmeyer, L.J., A dictionary machine for VLSI, Rep. RC , IBM TJ Watson Research Cntr., Zorktown, NY, [SS85] Schmeck, H., Schroeder, H., Dictionary machine for different models of VLSI, IEEE Trans. on Computers, C-34 (5), pp , 1985.

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962) ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)

More information

Metrici LPR interfatare cu Barix Barionet 50 -

Metrici LPR interfatare cu Barix Barionet 50 - Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de

More information

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul

More information

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; } Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.

More information

Subiecte Clasa a VI-a

Subiecte Clasa a VI-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

More information

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea

More information

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură

More information

Versionare - GIT ALIN ZAMFIROIU

Versionare - GIT ALIN ZAMFIROIU Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control

More information

Procesarea Imaginilor

Procesarea Imaginilor Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni

More information

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document

More information

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. 9. Memoria Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. Primul nivel conține memorie de program cache (L1P) și memorie de date cache (L1D). Al doilea

More information

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze

More information

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

Olimpiad«Estonia, 2003

Olimpiad«Estonia, 2003 Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?

More information

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului

More information

HEAPSORT I. CONSIDERAŢII TEORETICE

HEAPSORT I. CONSIDERAŢII TEORETICE I. CONSIDERAŢII TEORETICE HEAPSORT Algoritm de sortare care combină calităţile sortării prin inserţie cu cele ale sortării prin interclasare. A fost inventat de Williams 1964. Prin heapsort se ordonează

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

GHID DE TERMENI MEDIA

GHID DE TERMENI MEDIA GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile

More information

Modalitǎţi de clasificare a datelor cantitative

Modalitǎţi de clasificare a datelor cantitative Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase

More information

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4

More information

Auditul financiar la IMM-uri: de la limitare la oportunitate

Auditul financiar la IMM-uri: de la limitare la oportunitate Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare

More information

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor

More information

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive. . egimul de curent continuu de funcţionare al sistemelor electronice În acest regim de funcţionare, valorile mărimilor electrice ale sistemului electronic sunt constante în timp. Aşadar, funcţionarea sistemului

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Update firmware aparat foto

Update firmware aparat foto Update firmware aparat foto Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încredere că puteţi realiza acest update cu succes, acesta

More information

Metoda BACKTRACKING. prof. Jiduc Gabriel

Metoda BACKTRACKING. prof. Jiduc Gabriel Metoda BACKTRACKING prof. Jiduc Gabriel Un algoritm backtracking este un algoritm de căutare sistematică și exhausivă a tuturor soluțiilor posibile, dintre care se poate alege apoi soluția optimă. Problemele

More information

Structuri de date: ARBORI

Structuri de date: ARBORI Structuri de date: ARBORI Organizarea liniară de tip listă este adecvată pentru aplicaţiile în care datele (elementele din listă) formează o mulţime omogenă si deci se află pe acelasi nivel. În multe aplicaţii,

More information

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB Grafuri bipartite Lecție de probă, informatică clasa a XI-a Mihai Bărbulescu b12mihai@gmail.com Facultatea de Automatică și Calculatoare, UPB Colegiul Național de Informatică Tudor Vianu București 27 februarie

More information

Mecanismul de decontare a cererilor de plata

Mecanismul de decontare a cererilor de plata Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie

More information

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: 9, La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -

More information

CERERI SELECT PE O TABELA

CERERI SELECT PE O TABELA SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325

More information

Reţele Neuronale Artificiale în MATLAB

Reţele Neuronale Artificiale în MATLAB Reţele Neuronale Artificiale în MATLAB Programul MATLAB dispune de o colecţie de funcţii şi interfeţe grafice, destinate lucrului cu Reţele Neuronale Artificiale, grupate sub numele de Neural Network Toolbox.

More information

The First TST for the JBMO Satu Mare, April 6, 2018

The First TST for the JBMO Satu Mare, April 6, 2018 The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =

More information

APLICAŢII ELEMENTARE CU ARBORI

APLICAŢII ELEMENTARE CU ARBORI APLICAŢII ELEMENTARE CU ARBORI I. CONSIDERAŢII TEORETICE Din punct de vedere etimologic termenul de arbore a fost introdus de către matematicianul Arthur Cayley în 1857, plecând de la o analogie botanică.

More information

Lucrarea de laborator nr. 4

Lucrarea de laborator nr. 4 Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri

More information

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe Candlesticks 14 Martie 2013 Lector : Alexandru Preda, CFTe Istorie Munehisa Homma - (1724-1803) Ojima Rice Market in Osaka 1710 devine si piata futures Parintele candlesticks Samurai In 1755 a scris The

More information

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET CAIETUL DE SARCINI Organizare evenimente VS/2014/0442 Euro network supporting innovation for green jobs GREENET Str. Dem. I. Dobrescu, nr. 2-4, Sector 1, CAIET DE SARCINI Obiectul licitaţiei: Kick off,

More information

Itemi Sisteme de Operare

Itemi Sisteme de Operare Itemi Sisteme de Operare 1. Pentru a muta un dosar (folder) de pe partiţia C: pe partiţia D: folosim: a. New Folder b. Ctrl + C din bara de instrumente şi Copy; c. Ctrl + X şi Ctrl + V; d. Edit Paste;

More information

Propuneri pentru teme de licență

Propuneri pentru teme de licență Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor

More information

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de

More information

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Nume şi Apelativ prenume Adresa Număr telefon  Tip cont Dobânda Monetar iniţial final Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse

More information

.. REGISTRE Registrele sunt circuite logice secvenţiale care primesc, stochează şi transferă informaţii sub formă binară. Un registru este format din mai multe celule bistabile de tip RS, JK sau D şi permite

More information

The driving force for your business.

The driving force for your business. Performanţă garantată The driving force for your business. Aveţi încredere în cea mai extinsă reţea de transport pentru livrarea mărfurilor în regim de grupaj. Din România către Spania în doar 5 zile!

More information

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci. O condiţie necesară şi suficientă ca un număr să fie număr Fibonacci Autor: prof. Staicu Ovidiu Ninel Colegiul Economic Petre S. Aurelian Slatina, jud. Olt 1. Introducere Propuse de Leonardo Pisa în 1202,

More information

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare). Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare). Formatul instrucţiunilor

More information

Baze de date distribuite și mobile

Baze de date distribuite și mobile Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model

More information

INTEROGĂRI ÎN SQL SERVER

INTEROGĂRI ÎN SQL SERVER INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte

More information

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII Adrian Mugur SIMIONESCU MODEL OF A STATIC SWITCH FOR ELECTRICAL SOURCES WITHOUT INTERRUPTIONS IN LOAD

More information

Mircea Merca 1) Articol dedicat Prof. Dr. Ioan Tomescu la a 70-a aniversare

Mircea Merca 1) Articol dedicat Prof. Dr. Ioan Tomescu la a 70-a aniversare M. Merca, Partiţii întregi şi grafuri orientate aciclice 15 Partiţii întregi şi grafuri orientate aciclice Mircea Merca 1) Articol dedicat Prof. Dr. Ioan Tomescu la a 70-a aniversare Abstract. The algorithms

More information

Metoda de programare BACKTRACKING

Metoda de programare BACKTRACKING Metoda de programare BACKTRACKING Sumar 1. Competenţe............................................ 3 2. Descrierea generală a metodei............................. 4 3......................... 7 4. Probleme..............................................

More information

Vizualizarea documentelor xml

Vizualizarea documentelor xml Vizualizarea documentelor xml Fără un fişier de stil asociat: browserul vizualizează conținutul documentului xml, cu posibilitatea de a vedea/ascunde descendenții unui nod din structura arborescentă Exemplu:

More information

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune Laborator 07 Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune Unitatea de Instruction Execute EX / Unitatea de Memorie MEM / Unitatea Write-Back WB 0. Resurse minimale necesare!

More information

Managementul referinţelor cu

Managementul referinţelor cu TUTORIALE DE CULTURA INFORMAŢIEI Citarea surselor de informare cu instrumente software Managementul referinţelor cu Bibliotecar Lenuţa Ursachi PE SCURT Este gratuit Poţi adăuga fişiere PDF Poţi organiza,

More information

Documentaţie Tehnică

Documentaţie Tehnică Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda

More information

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple Memoria cache Memoria virtuală 1 Memorii RAM: datele sunt identificate cu ajutorul unor adrese unice Memorii asociative:

More information

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A. Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte

More information

Multicore Multiprocesoare Cluster-e

Multicore Multiprocesoare Cluster-e Multicore Multiprocesoare Cluster-e O mare perioadă de timp, creearea de calculatoare puternice conectarea mai multor calculatoare de putere mică. Trebuie creat software care să știe să lucreze cu un număr

More information

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER 3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere

More information

Cap.5 Normalizarea relaţiilor

Cap.5 Normalizarea relaţiilor CAPITOLUL 5 NORMALIZAREA RELAŢIILOR Dependenţele de date reprezintă constrângeri care se impun valorilor atributelor unei relaţii şi determină proprietăţile relaţiei în raport cu operaţiile de inserare,

More information

ISBN-13:

ISBN-13: Regresii liniare 2.Liniarizarea expresiilor neliniare (Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 3rd ed, ISBN-13:978-0-07-340110-2 ) Există cazuri în care aproximarea

More information

Evoluția pieței de capital din România. 09 iunie 2018

Evoluția pieței de capital din România. 09 iunie 2018 Evoluția pieței de capital din România 09 iunie 2018 Realizări recente Realizări recente IPO-uri realizate în 2017 și 2018 IPO în valoare de EUR 312.2 mn IPO pe Piața Principală, derulat în perioada 24

More information

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete

More information

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog Laborator 1 Programare declarativă O paradigmă de programare în care controlul fluxului de execuție este lăsat la latitudinea implementării limbajului, spre deosebire de programarea imperativă în care

More information

LINEAR VOLTAGE-TO-CURRENT CONVERTER WITH SMALL AREA

LINEAR VOLTAGE-TO-CURRENT CONVERTER WITH SMALL AREA BULETINUL INSTITUTULUI POLITEHNIC DIN IAŞI Publicat de Universitatea Tehnică Gheorghe Asachi din Iaşi Tomul LXI (LXV), Fasc. 1, 2015 Secţia ELECTROTEHNICĂ. ENERGETICĂ. ELECTRONICĂ LINEAR VOLTAGE-TO-CURRENT

More information

R O M Â N I A CURTEA CONSTITUŢIONALĂ

R O M Â N I A CURTEA CONSTITUŢIONALĂ R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;

More information

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural

More information

Metode de acces la informatie în bazele de date pentru prelucrari grafice

Metode de acces la informatie în bazele de date pentru prelucrari grafice 46 Metode de acces la informatie în bazele de date pentru prelucrari grafice Sef lucr.dr.ing. Marius Dorian ZAHARIA Catedra de Calculatoare, Universitatea POLITEHNICA Bucuresti Lucrarea prezinta modalitati

More information

6. Bucle. 6.1 Instrucţiunea while

6. Bucle. 6.1 Instrucţiunea while 6. Bucle În capitolul trecut am văzut cum putem selecta diferite instrucţiuni pentru execuţie folosind instrucţiunea if. O buclă este o structură de control care provoacă executarea unei instrucţiuni sau

More information

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router Pentru a putea vizualiza imaginile unei camere web IP conectată într-un echipament Huawei HG8121H, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M ) FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK

More information

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip Mods euro truck simulator 2 harta romaniei by elyxir Mods euro truck simulator 2 harta romaniei by elyxir.zip 26/07/2015 Download mods euro truck simulator 2 harta Harta Romaniei pentru Euro Truck Simulator

More information

10. Modelarea şi eliminarea zgomotelor din imaginile digitale

10. Modelarea şi eliminarea zgomotelor din imaginile digitale Procesarea Imaginilor - Laborator 0: Modelarea şi eliminarea zgomotelor din imagini 0. Modelarea şi eliminarea zgomotelor din imaginile digitale 0.. Introducere Zgomotul este o informaţie nedorită care

More information

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Termen de trimitere a temei: Luni, 31 martie 2008, ora 23:55 1. Specificatii functionale O arhitectura de tip Cell consta din urmatoarele

More information

EN teava vopsita cu capete canelate tip VICTAULIC

EN teava vopsita cu capete canelate tip VICTAULIC ArcelorMittal Tubular Products Iasi SA EN 10217-1 teava vopsita cu capete canelate tip VICTAULIC Page 1 ( 4 ) 1. Scop Documentul specifica cerintele tehnice de livrare pentru tevi EN 10217-1 cu capete

More information

X-Fit S Manual de utilizare

X-Fit S Manual de utilizare X-Fit S Manual de utilizare Compatibilitate Acest produs este compatibil doar cu dispozitivele ce au următoarele specificații: ios: Versiune 7.0 sau mai nouă, Bluetooth 4.0 Android: Versiune 4.3 sau mai

More information

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. Baze de date-anul 2 Laborator 4 SQL Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. I. [Funcţii grup şi clauza GROUP BY] Clauza GROUP BY este utilizată pentru a diviza liniile unui

More information

CERERI SELECT PE MAI MULTE TABELE

CERERI SELECT PE MAI MULTE TABELE SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890

More information

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL

More information

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY BULETINUL INSTITUTULUI POLITEHNIC DIN IAŞI Publicat de Universitatea Tehnică Gheorghe Asachi din Iaşi Tomul LX (LXIV), Fasc. 4, 2014 Secţia ELECTROTEHNICĂ. ENERGETICĂ. ELECTRONICĂ A NOVEL ACTIVE INDUCTOR

More information

Lucrarea Nr.1. Sisteme de operare. Generalitati

Lucrarea Nr.1. Sisteme de operare. Generalitati Lucrarea Nr.1 Sisteme de operare. Generalitati Scopul lucrarii Lucrarea îsi propune familiarizarea studentilor cu sistemele de operare disponibile în laborator, respectiv acele sisteme de operare cu ajutorul

More information

Interogarea (query), este operaţia prin care se obţin datele

Interogarea (query), este operaţia prin care se obţin datele CAPITOLUL 3 INTEROGAREA BAZELOR DE DATE Interogarea (query), este operaţia prin care se obţin datele dorite dintr-o bază de date, selectate conform unui anumit criteriu (condiţie). Întrucât operaţia de

More information

Nu găseşti pe nimeni care să te ajute să transporţi comenzile voluminoase?

Nu găseşti pe nimeni care să te ajute să transporţi comenzile voluminoase? Agenda ta de lucru este încărcată şi eşti nevoit\ă să îţi consumi timpul şi nervii prin staţii de autobuz, pe arşiţă sau pe frig, ca să poţi ajunge la timp să îţi ridici comanda? Nu găseşti pe nimeni care

More information

Transmiterea datelor prin reteaua electrica

Transmiterea datelor prin reteaua electrica PLC - Power Line Communications dr. ing. Eugen COCA Universitatea Stefan cel Mare din Suceava Facultatea de Inginerie Electrica PLC - Power Line Communications dr. ing. Eugen COCA Universitatea Stefan

More information

SAG MITTIGATION TECHNICS USING DSTATCOMS

SAG MITTIGATION TECHNICS USING DSTATCOMS Eng. Adrian-Alexandru Moldovan, PhD student Tehnical University of Cluj Napoca. REZUMAT. Căderile de tensiune sunt una dintre cele mai frecvente probleme care pot apărea pe o linie de producţie. Căderi

More information

SISTEME INTELIGENTE DE SUPORT DECIZIONAL. Ș.l.dr.ing. Laura-Nicoleta IVANCIU. Curs 7 Sisteme inteligente de suport decizional bazate pe RNA

SISTEME INTELIGENTE DE SUPORT DECIZIONAL. Ș.l.dr.ing. Laura-Nicoleta IVANCIU. Curs 7 Sisteme inteligente de suport decizional bazate pe RNA SISTEME INTELIGENTE DE SUPORT DECIZIONAL Ș.l.dr.ing. Laura-Nicoleta IVANCIU Curs 7 Sisteme inteligente de suport decizional bazate pe RNA Cuprins RNA pentru aproximare de funcții Clasificatori cu RNA Studii

More information

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice Arhitecturi cu fire de execuție multiple 1 Arhitecturi cu memorie partajată

More information

Actualizarea firmware-ului pentru aparatul foto digital SLR

Actualizarea firmware-ului pentru aparatul foto digital SLR Actualizarea firmware-ului pentru aparatul foto digital SLR Vă mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să realizaţi actualizarea firmwareului. Dacă nu sunteţi sigur că puteţi realiza

More information

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. 9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie

More information

:= 950; BEGIN DELETE FROM

:= 950; BEGIN DELETE FROM Cursori în PLSQL La fiecare execuţie a unei instrucţiuni SQL serverul Oracle deschide o zonă de memorie în care este analizată şi executată instrucţiunea. Această zonă de memorie se numeşte cursor. Există

More information

Algoritmi pentru regăsirea informaţiei

Algoritmi pentru regăsirea informaţiei Algoritmi pentru regăsirea informaţiei Costel Cătălin Gărgăun Colegiul Henri Coandă Bacău, catalin_costel@yahoo.com Ana Nicoleta Grigoreanu Colegiul Henri Coandă Bacău, ananicoleta2002@yahoo.com Abstract

More information

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru Мобильный портал WAP версия: wap.altmaster.ru Printesa fluture Love, romance and to repent of love. in romana comy90. Formular de noastre aici! Reduceri de pret la stickere pana la 70%. Stickerul Decorativ,

More information

TRAJECTORIES GENERATED BY THE R-R-RRT MECHANISM TRAIECTORII GENERATE DE MECANISMUL R-R-RRT

TRAJECTORIES GENERATED BY THE R-R-RRT MECHANISM TRAIECTORII GENERATE DE MECANISMUL R-R-RRT TRAIECTORII GENERATE DE MECANISMUL R-R-RRT Prof. univ. dr. ing. Liliana Luca, Univ. Constantin Brancusi din Targu- Jiu Prof. univ. dr. ing. Iulian Popescu, Universitatea din Craiova TRAJECTORIES GENERATED

More information

Proiectarea Sistemelor Software Complexe

Proiectarea Sistemelor Software Complexe Proiectarea Sistemelor Software Complexe Curs 3 Principii de Proiectare Orientată pe Obiecte Principiile de proiectare orientată pe obiecte au fost formulate pentru a servi ca reguli pentru evitarea proiectării

More information

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM I. Sisteme de calcul 1. Arhitectura generală a unui sistem de calcul DPI UCC MEM Canale I/E DPI/E, MEM externe UAL DPE UCP UC Fig.1. Structura

More information

Mai bine. Pentru c putem.

Mai bine. Pentru c putem. 1 CUPRINS: 1. SUMAR APLICAŢIE...... 3 1.1 Introducere... 3 1.2 Tipul de aplicaţie... 3 2. SPECIFICAŢII FUNCŢIONALE... 3 3. INSTALARE... 3 3.1 Introducere... 3 3.2 Ce trebuie să verificaţi înainte de a

More information

manivelă blocare a oglinzii ajustare înclinare

manivelă blocare a oglinzii ajustare înclinare Twister MAXVIEW Twister impresionează prin designul său aerodinamic și înălțime de construcție redusă. Oglinda mai mare a îmbunătăți gama considerabil. MaxView Twister este o antenă de satelit mecanică,

More information

Proceduri de analizã a datelor

Proceduri de analizã a datelor Proceduri de analizã a datelor Liste Prin listã se întelege o serie de linii succesive într-o foaie de calcul, fiecare coloanã din listã continând date cu aceeasi semnificatie logicã. De exemplu, o listã

More information

F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.

F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5. Capitolul 8 Data mining date corelate Reprezentarea datelor Vom continua să considerăm modelul de date coşuri de produse şi vom vizualiza datele ca o matrice booleană unde: linii=coşuri şi coloane=articole.

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM I. Sisteme de calcul 1. Arhitectura generală a unui sistem de calcul DPI UCC MEM Canale I/E DPI/E, MEM externe UAL DPE UCP UC Fig.1. Structura

More information