[Advcomparch] forwarding??

Nick none advnick at gmail.com
Fri May 30 05:17:33 EEST 2008


>  >Ήθελα να ρωτήσω αν υπάρχει forwarding μεταξύ των εντολών που
>  >εκτελούνται στην ίδια μονάδα. Για παράδειγμα:
>  >DSGTUI R3, R1, #800
>  >BEQZ R3, foo
>  >Μπορεί το αποτέλεσμα της DSGTUI να διοχετευτεί στην επόμενη εντολή
>  >αμέσως μετά το στάδιο execute ή πρέπει να περιμένει και το στάδιο WB??
>
> Aν υποθέσουμε ότι στον κύκλο k ολοκληρώνεται η εκτέλεση της DSGTUI,
> τότε η εγγραφή στο CDB της τιμής του R3 θα γίνει στον κύκλο k+1, οπότε
> η εγγραφή της τιμής αυτής στο αντίστοιχο πεδίο Vj του res. station
> όπου βρίσκεται η BEQZ (το οποίο είναι στην ουσία κάποιο είδος
> forwarding) θα γίνει και αυτή στον κύκλο k+1 (το CDB μεταφέρει μια
> τιμή στους προορισμούς που την χρειάζονται ταυτόχρονα). H εκτέλεση
> επομένως της BEQZ (η αντίστροφη μέτρηση στην ουσία των κύκλων που
> διαρκεί) θα αρχίσει από τον κύκλο k+2.
>
>
> N.
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>

Αν έχουμε εκτέλεση μιας εντολής μονάδας ακεραίων στον κύκλο K τότε
γίνεται ή όχι να έχουμε στον ιδιο κύκλο Load/Store ή εντολή στην FPU
με διαφορετικά ορίσματα ?

Εννοώ, να έχουμε στην αλλαγή του loop απο το 1ο στο 2ο, ταυτόχρονη
χρησιμοποίηση του EX στον ίδιο κύκλο απο τη τελευταία εντολή του 1ου
loop και την πρώτη εντολή του 2oυ loop.

Αν αντιλαμβάνομαι σωστά στην περίπτωση μας κάτι τέτοιο δεν γίνεται
οπότε θέλουμε stall και τώρα που το σκέφτομαι θα θέλαμε ο επεξεργαστής
να υποστηρίζει SMT για κάτι τέτοιο.


More information about the Advcomparch mailing list