Principiul combinării operațiunilor unui academician cu

Să ne întoarcem la diagrama ciclului de funcționare (Fig. 9.34) și ia în considerare totalitatea etapelor ciclului pentru comenzile de bază (varianta de bază a ciclului). Dacă acești pași sunt executați secvențial în timp, apoi, însumând durata pașilor individuali indicați în figură, obținem timpul ciclului







și performanța procesorului, operații (comenzi) / s,

În multe cazuri, o procedură secvențială pentru executarea etapelor unui ciclu nu oferă performanța necesară a procesorului.

Akademik SALebedev în 1956, a propus să crească performanța folosind principiul alinierii în timp a operațiunilor individuale (etape) ale ciclului de funcționare, iar acest principiu este pus în aplicare în M-20 calculator sub forma timpului de execuție paralelă în funcțiune în ALU și următoarea preia din memorie la Mandia.

Să presupunem că ciclu procesor este format din k pași, în cazul în care prima etapă are o durată de TI, apoi în etape succesive de punere în aplicare a procedurii SG-durată

și performanța generală a procesorului, operații /

Viteza mașinii poate fi crescută, în cazul în care pentru fiecare etapă au separat o unitate de echipament și conectați aceste unități în linia de prelucrare - operațiuni de conducte (în acest caz, conducta de instrucțiuni), astfel încât rezultatele-tat efectua aici unele unități etapă a fost transferată la etapa următoare la următorul bloc și așa mai departe (Figura 9.35).

Conductă de funcționare sincronă. Dacă conductele funcționează la un ritm forțat și în același timp tT este alocat pentru orice etapă. (accidentul conductei), atunci un astfel de conviet este numit sincron.

Procedura este împărțită în etape, iar calendarul ceasului este selectat în funcție de condiții

și din cauza ciclicității procesului de lucru în ultima inegalitate, luăm tk + 1 = t1.

Dacă a doua condiție nu este îndeplinită pentru etapele adiacente, acestea ar trebui combinate într-o etapă sau pe cea mai lungă etapă, împărțită în mai multe etape. În acest din urmă caz, tT este selectat din nou și condiția (**) este verificată din nou.

În Fig. Figura 9.36 prezintă o cronologie pentru executarea comenzilor pe o conductă sincronă cu 5 poziții. Aceleași simboluri marchează diferite etape ale ciclului de lucru al aceleiași comenzi.

După ce toate pozițiile conductelor sunt umplute, în paralel, cât mai multe comenzi sunt procesate ca în conducta blocurilor de procesare (poziții).

Transportorul este caracterizat de un factor de combinare al operațiilor egal cu numărul de pași de procesare a informațiilor executate simultan.

Performanța nominală a unui transportor sincron atunci când este încărcat complet

Să găsim raportul dintre performanța procesorului în conducerea și executarea secvențială a etapelor ciclului de lucru.

De fapt, creșterea productivității reale a procesorului va fi mai mică datorită perioadelor de nefuncționare (întârzieri) ale conductei. În procedurile de executare a unor comenzi (de exemplu, comenzi de transfer de date), nu există etape separate ale ciclului general de lucru și, prin urmare, blocurile transportoare individuale sunt inactive. Pentru comanda de transfer condiționată bazată pe rezultatul operațiunii anterioare, selectarea comenzii următoare trebuie să fie întârziată (conductorul este inactiv în câteva bare) până când se generează un semn de rezultat (format într-o etapă ulterioară) a operației precedente.

Dacă pm este probabilitatea de a selecta o comandă care determină întârzierea conductei la m cicluri (m = 1, 2. k), atunci performanța reală a conductei

Linie asincronă de comenzi. Când durata depind în mare măsură de procedurile de etape individuale ale tipului de comandă și tipul de operanzi este oportun să se utilizeze transportor asin-Chrono în care nici o operație singur ciclu de blocuri sale și informația de la o unitate de transportor este transferat la altul atunci când blocul termină procedura sa, iar următorul full vor fi eliberați de prelucrarea comenzii anterioare.

controlul transmisiei de informații între adiacente unității-E în conducta asincron prin intermediul a două declanșatoare - bloc gata (indicând încheierea operațiunii în bloc) și unitatea de eliberare ulterioară.







În Fig. Figura 9.38 prezintă diagrama de timp a executării a trei comenzi în calculatorul EC-1050. Schema de timp este construită pentru cazul în care "secțiunea de program" selectată pentru un acces la memorie conține patru comenzi de format registru.

Etapa I conține două proceduri, prelevarea de probe din zona programului din OP (8 octeți) și despachetarea site-ului - alocarea următoarei comenzi de la acesta și plasarea acestuia în registrul de comandă.

Etapa III constă, de asemenea, din două proceduri: executarea operațiunilor în UA și înregistrarea rezultatului în memorie.

Din diagrama se poate observa că începând cu momentul t4, trei etape ale ciclului sunt executate simultan pentru trei echipe. În exemplul dat, din momentul t7, datorită duratei lungi a operațiunii N + 1, funcționarea unităților hardware corespunzătoare etapelor I și II este suspendată în UAU.

Transportor aritmetic. Conducta de comenzi de mai sus a fost luată în considerare. Cu toate acestea, în scopul de a îmbunătăți productivitatea principiu val-HN de pipelining este utilizat pe scară largă în carne IIR performante informații semnificative unități (Alus), care sunt construite ca o conductă de aritmetică, în care astfel de linii de transport aritmetice pot fi în număr de procesor, inclusiv specializate de prelucrare - date pentru anumite operații cu date. Aceste dispozitive de operare (aritmetice) sunt adesea numite ma-gistral.

Permiteți dispozitivului de operare să calculeze o anumită funcție Φ din datele de intrare (efectuați o operație pe datele de intrare). Putem reprezenta funcția Φ sub forma unei secvențe de subfuncții mai simple

și astfel încât rezultatele transformării efectuate de subfuncția ji. sunt utilizate ca intrări pentru calculul subfuncției ji + 1. și dacă pentru fiecare subfuncție există un bloc de circuit realizându-l pentru fiecare subfuncție, obținem o conductă aritmetică care poate fi executată ca o conductă asincronă sau ca o conductă asincronă.

Elementele de mai sus ale teoriei conductei sincrone de instrucțiuni rămân în vigoare pentru conductele aritmetice sincrone. Dacă tT este cursa conductei, atunci după încărcarea completă ea va transmite valorile funcției Ф în intervale de timp tT. Creșterea performanței procesorului datorată utilizării conductei aritmetice poate fi estimată de (******).

Dacă conducta aritmetică este utilizat pentru a efectua diferite operații de TION, determinarea compoziției compoundate bochih ra poziții (blocuri) a transportorului și poate necesita ajustarea (programarea) cu respectiva dată de actualele unități de comutare de comandă asupra funcționării transportorului.

De exemplu, luați în considerare utilizarea unei conducte aritmetice pentru a adăuga doi vectori X + Y = Z, ale căror componente sunt numere reprezentate într-o formă în virgulă mobilă și într-o formă normalizată.

Selectăm patru etape în operarea adăugării numerelor cu virgulă mobilă: 1) compararea și definirea diferenței de ordine; 2) ordonarea alinierii - schimbarea mantistei unui număr cu o ordine inferioară după numărul de cifre, egal cu diferența de ordine; 3) adăugarea mantiselor; 4) normalizarea rezultatului.

Aritmetică Conducta aceste etape sunt realizate blocuri segregat-TION care formează banda transportoare, pe care, se deplasează operanzilor sau rezultatele intermediare de funcționare Așa cum se mișcă în conducta, noi componente sunt introduse vectori.

Permiteți timpilor necesari pentru efectuarea etapelor de adăugare a numerelor cu un punct de plutire t1. t2. t3. t4.

Fig.9.39 Exemplu de configurare a conductei aritmetice pentru efectuarea diferitelor operațiuni

Prin urmare, dacă nu organizați conducta și efectuați succesiv toți pașii operației, atunci pentru a obține componenta zi = xi + yi, timpul T = t1 + t2 + t3 + t4 este necesar.

În conducta sincronă, așa cum am menționat mai sus, lungimea fiecărei eta-pa este stabilită de cea mai lungă dintre ele, deși în acest caz este t3. Apoi, dacă conducta este plină, rezultatele adunării elementelor vectorilor vor fi extrase la fiecare interval de timp t3. adică, mult mai rapid decât în ​​absența conductelor.

În Fig. Exemplul 9.39 așa cum este reprezentat prin structura de deplasare a transportorului (magist-eral) ALU corespunzătoare ALU cunoscute la momentul compania calculatoare Texas Instruments ASC, iar comutației sunt prezentate exemple de realizare a unităților de transport pentru a efectua operațiuni diferite în cazul adăugării în virgulă mobilă de multiplicare și de numere cu un punct fix.

utilizarea eficientă în mod special este de operare (Arif-meticheskih) transportoare în dispozitive de calcul specializate, cu algoritmi de procesare limitate a curenților de date de intrare, la fel ca în acest caz, capacitatea de a sparge-ix ALU într-un număr mare de simple, unitățile de transport cu viteză pentru circuit de mici și timpul în teryah lor comutare.

In unele microprocesoare sunt prezente simultan și aritmetică transportor de conducte de instrucțiuni, de multe ori într-un procesor (microprocesor) este izolat -Partea I - aparate privind prelucrarea efectivă a comenzilor și E -Partea - echipamentele asociate cu operațiile asupra datelor 1.

I - de la Instrucțiune (instrucțiune, comandă) și E - de la executare (executare).

Ceea ce privește elementele arhitecturii computerului.

Ce determină gravitatea problemei atunci când alegeți structura și formatul comenzilor moderne ale computerului. Care sunt modalitățile de a rezolva această problemă.

Ce este datele definite de sine? De ce, atunci când se utilizează etichete, numărul comenzilor diferite din sistemul de comandă al mașinii este redus.

Care sunt scopul și caracteristicile implementării transferului necondiționat cu returnare?

Cum indexează organizarea procesării seturilor de date comandate?

Care este relația dintre vectorul de stare al programului (procesorul) și vectorul de întrerupere?

Care este scopul și procedura pentru întreruperea programelor de calculator?

Ce este o întrerupere vectorială? Descrieți procedura de întrerupere vectorială utilizând memoria stack-ului.

Care este diferența dintre conductele sincrone și cele asincrone?

Cum îmbunătățește arhitectura RISC performanța sa? Care este rolul "ferestrelor de registru suprapuse"?







Trimiteți-le prietenilor: