[Advcomparch] control dependence στον Tomasulo
ΑΛΕΞΑΝΔΡΟΣ ΚΟΝΤΑΡΙΝΗΣ
chromesatch at yahoo.gr
Sun Jun 14 12:37:42 EEST 2009
Καλημέρα,
στην διαφάνεια 8/46 του dynamic scheduling με speculation λέει:
...κατά το ooo execution εκτελούμε εντολές οι οποίες εξαρτώνται από το αποτέλεσμα της εντολής διακλάδωσης. Αν η πρόβλεψη δεν επαληθευθεί, θα πρέπει να κάνουμε rollback στο σημείο όπου κάναμε την πρόβλεψη, διότι οι εντολές στο λανθασμένο predicted path έχουν ήδη εκτελεστεί...Λύση: in-order completion
(κατόπιν εισάγεται η έννοια του ROB κτλ)
Το ερώτημα μου είναι το εξής:
Με δεδομένο ότι ΔΕΝ έχουμε speculation, ROB, commit στάδιο κτλ (όπως δηλ στο πρώτο ερώτημα της άσκησης) δεν είμαστε υποχρεωμένοι να ΜΗΝ προχωρήσουμε σε execution εντολής που ανήκει σε επόμενο basic block? Δηλ, δεν πρέπει πρώτα να γίνει resolve η branch εντολή και μετά να γίνει execute η επόμενη εντολή? Ή τουλάχιστον να μην κάνει η επόμενη εντολή write result προτού επαληθευθεί ότι το branch prediction ήταν το σωστό.
(βλ. σελ 105 της 4ης έκδοσης του βιβλίου στα αγγλικά)
Η ερώτηση γίνεται με αφορμή τον κύκλο 23 της λύσης της περσινής άσκησης, όπου παραβιάζεται το παραπάνω. Εκτός κι αν θεωρείται δεκτή μία ενδεικτική υλοποίηση που θα είχε πρόβλημα σε λάθος prediction.
Αν παρανόησα κάτι, ελπίζω να μην μπέρδεψα κανέναν.
___________________________________________________________
Χρησιμοποιείτε Yahoo!;
Βαρεθήκατε τα ενοχλητικά μηνύματα (spam); Το Yahoo! Mail
διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών
μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20090614/5cd22be7/attachment.htm>
More information about the Advcomparch
mailing list