στην εκφώνηση της άσκησης γράφει ότι αν μια εντολή γράφει το αποτέλεσμά της στον κύκλο k(WB) τότε μία εντολή που περιμένει να χρησιμοποιήσει την ίδια μονάδα με την εντολή αυτή θα αρχίσει να εκτελείται στον κύκλο k+1... αν μια εντολή περιμένει να αδειάσει κάποιο rs entry σίγουρα θα περιμένει μέχρι τον κύκλο k+1...όμως έτσι όπως το λέει η εκφώνηση και μία εντολή που είναι ήδη στο rs και περιμένει να αδειάσει το fu θα αρχίσει να εκτελείται στον κύκλο k+1, και όχι στον κύκλο k, σωστά;...
Σε αυτήν την περίπτωση που αναφέρεις, δεν υπάρχει κάποια πληροφορία που "παράγεται" στο WB (ειδοποίηση για απελευθέρωση RS ή μετάδοση κάποιου αποτελέσματος) και η οποία θα μπορούσε να φανεί χρήσιμη στην εντολή που ήδη βρίσκεται στο rs, ώστε να την χρησιμοποιήσει από τον επόμενο κύκλο. Με αυτή την έννοια, η εντολή που βρίσκεται στον rs (με όλα τα ορίσματά της ήδη έτοιμα) μπορεί να αρχίσει την εκτέλεση μόλις απελευθερώνεται η μονάδα εκτέλεσης, δηλ. μπορεί να αρχίσει στον k. Αλλά είναι θέμα καθαρά σύμβασης. Δηλαδή αν έχετε υποθέσει ότι μπορεί να αρχίσει στον k+1 θα θεωρηθεί επίσης σωστό.
Ν.
Stratos Psomadakis wrote:
στην εκφώνηση της άσκησης γράφει ότι αν μια εντολή γράφει το αποτέλεσμά της στον κύκλο k(WB) τότε μία εντολή που περιμένει να χρησιμοποιήσει την ίδια μονάδα με την εντολή αυτή θα αρχίσει να εκτελείται στον κύκλο k+1... αν μια εντολή περιμένει να αδειάσει κάποιο rs entry σίγουρα θα περιμένει μέχρι τον κύκλο k+1...όμως έτσι όπως το λέει η εκφώνηση και μία εντολή που είναι ήδη στο rs και περιμένει να αδειάσει το fu θα αρχίσει να εκτελείται στον κύκλο k+1, και όχι στον κύκλο k, σωστά;...
Advcomparch mailing list Advcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
advcomparch@lists.cslab.ece.ntua.gr