Documente Academic
Documente Profesional
Documente Cultură
Contorul de program este pe primul nivel (F), unitatea de execuţie (EX) pe al cincilea, iar
de pe nivelul al treilea mai avem o cale spre contorul de program.
Când o instrucţiune de salt necondiţionat ajunge în a 3-a etapă de procesare aceasta va
furniza contorului de program adresa de salt, astfel încât în următoarea perioadă de ceas
să se înceapă procesarea instrucţiunii de la adresa de salt. Instrucţiunile care au intrat în
pipeline după instrucţiunea de salt, adică cele din etapele întâia şi a doua, sunt anulate
(înlocuite cu NOP):
Soluţia A
Faţă de timpul (exprimat în perioade de ceas) necesar procesării unei secveţe de
instrucţiuni pe procesorul pipeline ideal (fără dependenţe), implementarea de faţă
necesită un timp de execuţie mai lung (în procente) cu:
Prin urmare timpul de execuţie va fi mai mare cu 88% faţă de cel al procesorului pipeline
ideal. Creşterea de viteză este de doar
Ts 6
speedup 3.19
T p 1.88
Soluţia B
Să presupunem, pentru uşurinţa calculelor, că la fiecare 200 de instrucţiuni consecutive
apar 20 de instrucţiuni de salt necondiţionat (10%) şi 40 de instrucţiuni de salt condiţionat
(20%). Dintre ultimele doar 34 (85%) se termină cu execuţia saltului. Aşadar, la cele 200
perioade de ceas necesare pentru execuţia celor 200 instrucţiuni în cazul ideal (când este
menţinut ritmul de o instrucţiune per ciclu de ceas) adăugăm câte 2 perioade de ceas de
pauză (câte două instrucţiuni NOP inserate) după fiecare instrucţiune de salt
necondiţionat şi câte 4 perioade de ceas de pauză (câte patru instrucţiuni NOP inserate)
după fiecare din cele 34 instrucţiuni de salt necondiţionat executate cu succes. Secvenţa
de 200 instrucţiuni va trece prin faza de execuţie într-un interval de: