Documente Academic
Documente Profesional
Documente Cultură
instruciune
= + + +
Tehnica
Forwarding
Salturi ntrziate
Salturi ntrziate
Pentru MIPS tipic avem: media apariiilor salturilor dinamice este de 15% - 25%
Putem executa ntre 3 i 6 instruciuni MIPS pn a avea un salt; pre puine
instruciuni pentru a ne gndi la un paralelism paralelism la nivel de blocuri
ILP (Instruction Level Parallelism) poate fi crescut prin exploatarea parelismului
din interiorul unui ciclu
Adunarea a dou array-uri de 1000 elemente n paralel:
for (i=1; i< 1000; i=i+1)
x[i] = x[i] + y[i]
Fiecare iteraie poate fi suprapus cu orice alt iteraie va exista o conversie de
la acest tip de ciclu la un paralelism la nivelul instruciunii
Se desface ciclul static de ctre compilator sau dinamic de ctre hardware. O alt
metod este aceea de a utiliza instruciuni vectori
Codul prezentat poate fi executat n 4 intruciuni dac avem procesoare care
lucreaz pe vectori: 2 instr de LOAD; 1 instr de ADD i 1 instr STORE BACK. Aceste
instruciuni pot fi executate n pipe.
Dac 2 instruciuni sunt paralele => ele pot fi executate ntr-un pipe de adncime
arbitrar fr a cauza stall-uri
Dependine de date
Dependine de nume
Dependine de control
Dependine de nume
O dependin de ieire apare instr i i j scriu acelai registru sau aceeai locaie de
memorie =>trebuie meninut ordinea
Hazarde posibile