[Advcomparch] Διαθεσιμότητα υλικού, ROB flushing

knikas at cslab.ece.ntua.gr knikas at cslab.ece.ntua.gr
Sat Jun 9 15:48:32 EEST 2012


Καλησπέρα,

το έχουμε εξηγήσει πολλές φορές. Το pipeline είναι σύγχρονο κύκλωμα και
όχι ασύγχρονο. Δηλαδή οι αποφάσεις παίρνονται σε κάποια ακμή του ρολογιού
(συνήθως τη θετική). Αυτό σημαίνει ότι την ώρα που αποφασίζεις ότι μπορείς
να ελευθερώσεις μια θέση στο CMT στάδιο, την ίδια στιγμή έχει τσεκάρει και
το IS αν μπορεί να κάνει issue. Επομένως, οποιαδήποτε αλλαγή συμβαίνει σε
ένα στάδιο γίνεται ορατή από τα άλλα στον επόμενο κύκλο του ρολογιού.

Όσον αφορά τα branches, νομίζω ότι η εκφώνηση είναι σαφής. Στο WR εφόσον η
πρόβλεψη είναι λανθασμένη γίνονται ΟΛΑ τα flushes.

Κ.

> Καλησπέρα.
>
> 3 Ερωτήσεις:
> 1. (αφορά και τα 2 μέρη της άσκησης) Όταν μια εντολή Α κάνει WR στον κύκλο
> k, μπορεί μια επόμενη εντολή Β να εκδοθεί στον ίδιο κύκλο k και να
> καταλάβει τον Reservation Station που κατείχε η Α; Ή ο RS της Α
> σημαδεύεται
> ως ελεύθερος, και είναι διαθέσιμος προς κατάληψη από τον κύκλο k+1 και
> μετά;
> 2. Ομοίως για τις εγγραφές του Reorder Buffer. Όταν μια εντολή Α κάνει CMT
> στον κύκλο k και σημαδέψει τη θέση που καταλάμβανε στον ROB ως ελεύθερη,
> μπορεί μια επόμενη εντολή Β να καταλάβει τη θέση αυτή στον ίδιο κύκλο k, ή
> πρέπει να περιμένει ως τον επόμενο κύκλο (k+1); Υποθέτουμε ότι δεν
> υπάρχουν
> άλλες ελεύθερες θέσεις στον ROB, παρά μόνο αυτή που μόλις απελευθέρωσε η
> Α.
> 3. Και μια διευκρίνιση: από την εκφώνηση φαίνεται να προκύπτει ότι το
> σύστημα είναι aggressive ως προς το flushing του ROB σε περίπτωση
> misprediction. Ισχύει κάτι τέτοιο; Δηλαδή ο ROB θα καθαριστεί πριν ο
> commit
> pointer φτάσει στην εντολή διακλάδωσης;
>
> Ευχαριστώ!
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>




More information about the Advcomparch mailing list