3.4.3. A pipelining során fellépő problémák kezelésének módszerei

A 3.4.2. pontban bemutatott problémákat vagy sztatikusan, a program fordítása során vagy dinamikusan, azaz futás közben a hardverrel tudjuk kezelni. Módszerek:

  • NOP utasítások beiktatása a programba (fordítóprogram által)

A memóriautasítások végrehajtásához szükséges többlet-időigény és a hazardok miatti utasításvárakoztatás „üres” (NOP = NO OPERATION) utasítások beiktatásával oldható meg (annyi „üres” utasítást kell beiktatni, amennyi biztosítja a pipeline szükséges ideig történő várakoztatását).

  • Data forwarding (hardver által)

Az „adat előreengedés” esetében, ha például két egymást követő utasítás számára azonos adat szükséges, akkor az ezek közötti adatátadást a processzoron belül megfelelő áramkörök biztosítják (adatátadás csak az első utasítás végrehajtási fázisa után lehetséges).

  • Utasítás-átrendezés (fordítóprogram által)

A fordítóprogram (ha ez lehetséges) a program tartalmi megváltoztatása nélkül átrendezi az utasítássorrendet és a (memóriautasítások és hazardok kezelése miatti várakozási időket hasznos utasításokkal tölti ki.

  • Scoreboarding (hardver által)

Minden regiszterre könyvelésre kerül, hogy azok az utasítások, melyek egy adott regiszterre hivatkoznak benne vannak-e a pipeline-ban. Ha egy további utasítás egy ilyen regiszterhez akar hozzáférni, akkor az késleltetésre kerül. folytatás

tartalomjegyzék almenü fogalomszótár jelölésrendszer ellenõrzõ kérdések fejezet eleje elõzõ lap következõ lap következõ fejezet