120 likes | 298 Views
Arhitektura IA-64. Milica Sudar. Tamara Barali ć. EPIC tehnologija. -eksplicitni paralelizam. -predikacija. -spekulacija. -superskalarnost. -komunikacija softvera sa procesorom. Predikacija. -eliminacija grananja. -način izvršavanja instrukcija. -povećana performansa.
E N D
Arhitektura IA-64 MilicaSudar TamaraBaralić
EPIC tehnologija -eksplicitni paralelizam -predikacija -spekulacija
-superskalarnost -komunikacija softvera sa procesorom
Predikacija -eliminacija grananja -način izvršavanja instrukcija
-povećana performansa -smanjen efekat kašnjenja između memorije i procesora
2. Kompilator svakoj sledećoj instrukciji dodeljuje predikatski registar saglasno kom putu pripada. 1. Instrukcijagrananjaimadvamogućaishoda. Instrukcija 1 3. Sveinstrukcije dužovogputa ukazujunapredikatskiregistar P1. Instrukcija 2 4. Sveinstrukcijedužovogputaukazujunapredikatskiregistar P2 Instrukcija 3 (grananje) 5. CPU započinjeizvršenjeinstrukcijadužobaputa Instrukcija 7 (p2) Instrukcija 4 (p1) 6.CPU može da izvrši instrukcije iz različitih puteva paralelno, jer one ne sadrže međuzavisnosti. Instrukcija 5 (p1) Instrukcija 8 (p2) 7. Kada CPU sazna rezultat poređenja on odbacuje rezultate dobijene u pogrešnom putu. Instrukcija 9 (p2) Instrukcija 6 (p1)
Primer if(a&&b) j=j+1; else if(c) k=k+1 else k=k-1; i = i + 1;
cmp a,0 je L1 F T cmp b,0 je L1 p2 F T add j, 1 cmp c,0 je L2 L1: p3 p1 F T add k,1 sub k, 1 p4 L2: p5 add i, 1 L3:
Spekulacija -postizanje prekomerne dobiti -punjenje podataka
-minimizacija kašnjenja -pomeranje punjenja -tehnike predviđanja grananja
Instrukcija 1 1. Kompilatortraži u izvornomkôdunadolazećapunjenja (instrukcija 8). On uklanjapunjenjeiubacujespekulativnopunjenjeispekulativnuproveruneposredno pre operacijekojaćekoristititepodatke (instrukcija 9). 2. U vremeizvršenja ova instrukcijapunipodatkeizmeorije pre negoštosuonipotrebni. Akopunjenjeizazoveizuzetak, CPU odlažeizveštavanje o izuzetku Spekulativno punjenje Instrukcija 3 Instrukcija 7(P2) Instrukcija 4(P) 3. Kompilatorzamenjujepunjenjespekulativnimpunjenjemiznad, takoda se instrukcija 8 u stvari ne pojavljuje u programu. Instrukcija 8 (punjenje podataka) Instrukcija 5(P1) 4. Ova instrukcijaproveravavalidnostpodataka. Ako je sve u redu, CPU ne prijavljujeizuzetak. Spekulativna provera(P2) Instrukcija 6(P1) Instrukcija9(P2)
Instrukcije punjenja -spekulativno punjenje -instrukcija provere