Sisteme transportoare cu prelucrare a datelor - studopediya

Dezvoltatorii de arhitectura de calculator pentru o lungă perioadă de timp au început să recurgă la metode de proiecție-tirovanie, cunoscut colectiv ca „combinație de operațiuni,“ în cazul în care computerul Appa-turii la un moment dat mai mult de o efectuează simultan Bazo-ing operare. Această metodă generală implică două concepte: paralelism și pipelining. Cu toate că au multe lucruri în comun și sunt adesea dificil să se distingă în practică, acești termeni de reflecție-zhayut două abordări complet diferite. Atunci când alinierea paralelism dos operațiunile TIGA prin reproducerea copii multiple ale structurii hardware. Performanță înaltă este realizată prin funcționarea simultană a tuturor elementelor instituțiilor implicate în soluționarea diferitelor părți ale sarcinii.

Pipeline (sau pipelining), în general, pe baza funcției secțiunii SRI să fie executat în părți mai mici numite etape, și alocarea pentru fiecare dintre ele o unitate hardware separată. Deoarece procesarea oricăror comenzi ma-autobuz pot fi împărțite în mai multe etape (mai multe etape), organizează datele Vav de la o etapă la alta. Obținem un câștig clar în viteza de procesare prin combinarea operațiilor de mai sus, separate în timp. Pre-presupunem că operațiunea poate fi identificat cinci micro-operații, fiecare dintre care va-este satisfăcută pe unitatea de timp. Dacă există o consistentă indivizibilă Aranjați-TION, cele 100 de perechi de argumente va procesa pentru 500 de unități. Dacă fiecare micro-operație într-o etapă separată (sau cu alte cuvinte - etape) dispozitiv de transport, apoi a cincea oară unitate în diferite stadii de prelucrare a unui astfel de dispozitiv va fi amplasat primele cinci perechi de argumente, și întregul set de o sută de perechi vor fi procesate pentru 5 + 99 = 104 miolo- time -tsy - accelerare în comparație cu dispozitivul serial este de aproape cinci ori (numărul de etape de conducte).

Pentru a ilustra funcționarea transportorului descris mai sus, presupunem că Run-a comenzilor tipice pot fi împărțite în următoarele etape:

transportor de lucru poate fi reprezentat în mod convențional, folosit diagramele de sincronizare (fig. 7.2), care sunt de obicei înfățișate instrucțiuni executabile, numărul de cicluri și acest echipe nN performante.

Fig. 7.2 Funcționare Grafic simplu transportor

Înlănțuire crește tranzitată procesorului (numărul de co-Mende, culminând într-o unitate de timp), dar nu reduce timpul de execuție a sensibil-echipa. De fapt, este chiar ușor crește timpul pentru a efectua fiecare comandă-TION overhead asociate cu administrarea ca stații de registru. Cu toate acestea, creșterea lățimii de bandă înseamnă că programul va rula mai repede decât un sistem de nekonveyernoy simplu. Pipeline este eficientă numai atunci când transportorul este aproape de podea clorhidric de încărcare, iar viteza de avans a noilor comenzi și operanzii corespunzătoare transportorului maxim-Produ clusive. Dacă există o întârziere, va rula în operațiuni paralele și mai puțin productivitatea generală va scădea. Acest lucru se datorează faptului că punerea în aplicare a situațiilor de pipelining apar care împiedică Run-INJ instrucțiuni viitoare din fluxul de instrucțiuni într-un accident vascular cerebral dedicat ei. O astfel de situa-TION numit un conflict. Conflictele reduc performanța reală con-Weyer, care ar putea fi realizat în cazul ideal. Există trei categorii de conflicte:

1. conflictele structurale care apar din cauza resurselor conflicte atunci când hardware-ul nu poate suporta toate combinațiile posibile de comenzi atunci când efectuează simultan o cerere de înregistrare.

2. Conflictele de date apar atunci când executarea unei comenzi depinde de rezultatul comenzii anterioare.

3. Conflictele de management care apar atunci când înlănțuire comenzi tranzițiile-ing și alte comenzi care schimba valoarea contorului de program.

Conflictele din conducta care duce la necesitatea de a suspenda executarea-Mende (conducta stand). De obicei, în cele mai simple transportoare suspendate în cazul în care orice comandă, toate comenzile ulterioare sunt, de asemenea, ei suspendate. Echipele precedente suspendate pot continua să ruleze, dar în timpul prios-setare nu este selectată, nici o nouă comandă.