[Advcomparch] Περί Tomasulo WAW Hazard

Konstantinos Nikas knikas at cslab.ece.ntua.gr
Tue Jun 5 13:29:43 EEST 2012


Όχι. Αν δεις τον αλγόριθμο στη διαφάνεια 24 (ή στον αντίστοιχο πίνακα 
στο βιβλίο σας) θα διαπιστώσεις πως στο Write Result στάδιο το 
αποτέλεσμα μια εντολής που βρίσκεται στο RS r γράφεται στο Register File 
μόνο αν o Register Result Status λέει ότι ο συγκεκριμένος καταχωρητής 
περιμένει την τιμή από το r.

Επομένως, στην εκτέλεση που περιγράφεις ως λανθασμένη, δε θα έχουμε 
πρόβλημα μιας και στο RF θα γράψει μόνο η τελευταία εντολή που 
"κλείδωσε" τον καταχωρητή.

Κ.


On 02/06/12 18:00, Alex Dimo wrote:
> Μελετάω τον Tomasulo αλγόριθμο και νομίζω πως έχω καταλάβει πώς
> δουλεύει, όμως δεν μου είναι σαφές το *πώς αποφεύγονται τα **WAW**Hazards*.
>
> Πιο συγκεκριμένα στις διαλέξεις λέγεται πως όταν ολοκληρώσει τον
> υπολογισμό της μία εντολή (κύκλος που γράφεται στο fieldExec-Comp), στον
> επόμενο κύκλο ελευθερώνεται το αποτέλεσμα στον *Common**Data**Bus*(και
> το παίρνει όποιος το χρειαστεί), ενώ ταυτόχρονα πηγαίνει και γράφει το
> αποτέλεσμα στον αντίστοιχο καταχωρητή στο *Register**File. *Στον επόμενο
> κύκλο ο πίνακας *Register**Result**Status*ΔΕΝ θα έχει περιεχόμενο στο
> αντίστοιχο fieldπου αφορά αυτόν τον Register (εφόσον δεν έχει γίνει
> δέσμευση του καταχωρητή μετά την δέσμευση της εντολής μας που μόλις
> έφερε αποτέλεσμα), ή θα έχει αντιστοίχιση σε άλλο RS, το οποίο
> «κλείδωσε» τον συγκεκριμένο καταχωρητή αργότερα (εντολή που γράφει στον
> ίδο καταχωρητή, επόμενη στην ροή του προγράμματος).
>
> Στην τελευταία περίπτωση όμως, αν η επόμενη εντολή που «κλείδωσε»
> αργότερα τον καταχωρητή, επιστρέψει γρηγορότερα αποτέλεσμα, τότε πρώτη
> θα γράψει στο *Common**Data**Bus*(που δεν μας πειράζει, αφού θα φέρει
> ταυτότητα το δεδομένο, από ποιον RSπροήλθε) και πρώτη θα γράψει στο
> *Register**File, *σύμφωνα με τον παραπάνω συλλογισμό, κάτι το οποίο θα
> δηιουργούσε WAWHazard, παρά το RegisterRenaming.
>
>
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch

-- 
Dr. Konstantinos Nikas
Computing Systems Laboratory
School of Electrical and Computer Engineering
National Technical University of Athens

Tel: +30-210-7724159
e-mail: knikas at cslab.ece.ntua.gr
http://www.cslab.ece.ntua.gr/~knikas


More information about the Advcomparch mailing list