kategória | ||||||||||
| ||||||||||
| ||
|
||||||||||
Regiszter átnevezés II. (a megvalósítás elve és a föbb feladatok utasítás várakoztatást feltételezve, kiküldéshez kötött operandusz lehívás esetén)
Regiszter átnevezés megvalósítási elve és föbb felad 919e49j atai utasítás várakoztatást és kiküldéshez kötött operandusz lehívás esetén:
Az utasítások kibocsátása során a processzornak át kell neveznie a célregisztert, valamint a forrásregiszterek közül azokat, amelyeket már korábban átnevezett. Az operációs kód, a forrás (címei)- és cél regiszterek a VÁ-ba kerülnek.
Az utasítások kiküldésekor a processzor elvégzi hivatkozott forrás operandusok érvényességi bitjeinek vizsgálatát a VÁ-ban, majd a végrehajtható utasításokat továbbítja a szabad VE-kbe. A hivatkozott forrás operandusok beolvasása vagy az ÁPT-böl (Átnevezö puffer tár) vagy az ART-böl (Arch. Regiszter Tár).
Amikor elöáll az eredmény a végrehajtóegységben, a processzor frissíti az átnevezö puffertár tartalmát. Itt nincs szükség a várakozóállomások frissítésére, mivel azok csak azonosítókat és nem adatokat tárolnak
A már nem használt pufferek felszabadítása (utasítás befejezésekor) itt kicsit bonyolultabb feladat, mint a kibocsátáshoz kötött esetben. Amikor ugyanis a processzor visszaírja az architektúrális regisztertárba az eredményt, elöfordulhat, hogy a várakozóállomások még tartalmaznak olyan utasítást, amelyek forrásoperandusa az átnevezett regiszterre hivatkozik. Ennek megoldására bevezethetünk egy számlálót, amelyet inkrementál a processzor, valahányszor egy forrásoperandus hivatkozik az átnevezö pufferre és csökkenti a számláló értékét, amikor ennek az utasításnak a végrehajtása befejezödött. Ha a számláló újra eléri a nulla értéket (vagyis minden olyan utasítás végrehajtása befejezödött, amelynek valamelyik forrásoperandusa hivatkozott a pufferre), akkor a puffer felszabadítható és újra fel lehet használni átnevezésre.
Találat: 514