kategória | ||||||||||
| ||||||||||
| ||
|
||||||||||
Regiszter adatokra vonatkozó ál- és valódi adatfüggöségek teljesítmény korlátozó hatásának csökkentése, illetve kiküszöbölése (utasítás várakoztatás, regiszter átnevezés, eredmények elöreküldése, három- operandusú utasítások elve)
Utasítás várakozt 444f53e atás:
Az utasítás várakoztatás célja az utasítások között fellépö függöségek hatására létrejövö kibocsátási blokkolások megszüntetése. Ezt úgy éri el, hogy a VP felé függöségek vizsgálata nélkül kibocsátja (issue) a dekódolt utasításokat, majd ezek után végez függöség vizsgálatot, a VP-ben lévö utasítások között. A nem függö utasításokat kiküldi (dispatch) a VE felé.
Regiszter átnevezés:
Az álfüggöségek megszüntethetök, például regiszter operandusok esetén regiszterátnevezéssel. Regiszterátnevezéskor az i2 utasítás célregiszterének nevét kell egy jelenleg nem használt másik névre változtatni:
i1: mul r1, r2, r3 => i1: mul r1, r2, r3 // r1 <= (r2)*(r3)
i2: add r2, r4, r5 => i2: add r36, r4, r5 // r36 <= (r4)+(r5)
Az álfüggöségek jelentös mértékben akadályozzák az ILP processzorok teljesítöképességének kihasználását. Ezért ezeket vagy a fordítóprogram statikusan, vagy az ILP-processzorok dinamikusan megszüntetik. (Pl.: részleges RISC 6000, teljes ES/9000)
Megvalósítás: minden célregisztert átneveznek, átnevezéseket követni kell források átnevezése, átnevezési tábla, átnevezések érvényességét kezelni kell., r22 tartalmát vmikor be kell írni r1-be.
Eredmények elöreküldése (result bypassing):
Célja a RAW idöbeli negatív hatásainak csökkentése. Elve: a végrehajtó egység által szolgáltatott eredményt nemcsak a regisztertárba vezetik vissza, hanem minden olyan VE bemenetére is, amely ezt az eredményt forrás operandusként felhasználja:
add r1, r2, r3 // r1<=(r2)+(r3)
sub r4, r5, r1 // r4<=(r5)-(r1)
Megvalósítás:
FX
Hármoperanduszú utasítások elve
Bevezették az úgynevezett i=a*b+c szemantikájú utasításokat és ezt nevezték el 3 operandusu utasításnak több különbözö néven pl. multiple add. Lényege 3 operanduszal végez egyszerre müveletet és két müvelet egyidejü végrehajtását szolgálja. Ezeknél az utasításoknál a párhuzamosság mértéke 2. Alkalmazása dedikált célokra hasznos az-az tudományos müszaki számítások. Általános programoknál a gyorsítás mértéke elhanyagolható. Mivel a 2 operandusú utasítások átnevezése 3 operandusú utasításokhoz vezet, ezért ehhez egy belsö utasításformátum konverzió is szükséges.
Cél: regiszterátnevezés megvalósítása (Pl.:ES/9000)
Találat: 353