[Advcomparch] Απορία επί του Tomasulo / Double Load στο ίδιο block

Konstantinos Nikas knikas at cslab.ece.ntua.gr
Wed Jul 8 13:28:31 EEST 2015


Καλησπέρα,

Στην πραγματικότητα, το pipelined/non-pipelined functional unit έχει
να κάνει με τον υπολογισμό της διεύθυνσης. Από τη στιγμή που ο
υπολογισμός της διεύθυνσης ολοκληρωθεί, η εντολή μπορεί να σταλεί στην
cache από τον load buffer (υποθέτωντας ότι έχουμε non-blocking
caches).

Όσον αφορά τις ασκήσεις (όπου προσπαθούμε να βρούμε ένα τρόπο να
κωδικοποιήσουμε εύκολα και κατανοητά κάποια πράγματα), επειδή δε σπάμε
το χρόνο που απαιτείται στο EX για το load σε χρόνο_υπολογισμού +
χρόνο_πρόσβασης, το pipelined functional unit αποτελεί ένα εύσχημο
τρόπο να σας πούμε ότι μπορείς να έχεις overlapped loads.

Από εκεί και πέρα, όπως έχω εξηγήσει και στο μάθημα, όταν ο
επεξεργαστής χρειαστεί κάτι από την ιεραρχία μνήμης, απευθύνεται στην
cache και λέει "θέλω το block" και στη συνέχεια είτε περιμένει είτε
εκτελεί όποιες εντολές παρακάτω μπορεί. Όταν η cache βρει αυτό που
ζητήθηκε το δίνει πίσω στον επεξεργαστή. Προφανώς αν η cache έχει
ξεκινήσει να εξυπηρετεί ένα miss για block Χ και λάβει και δεύτερο
αίτημα για το ίδιο block X, δε θα ξεκινήσει τη διαδικασία από την
αρχή, αλλά θα τα εξυπηρετήσει και τα δύο ταυτόχρονα.

> Γ)
> Επίσης σε περίπτωση που έχουμε superscalar αρχιτεκτονική και έχουμε ας πούμε
> δύο cdb,
> γράφουν ταυτόχρονα στην cache?

Τα CDΒ δεν έχουν καμία σχέση με τις caches. Είναι σαφές και από τις
διαφάνειες και από το βιβλιό ότι πάνω στο CDB βρίσκονται τα FUs, RSs
και o ROB.

> Δ)
> Τέλος κάτι ίσως προφανέστερο των παραπάνω.
> Αν έχουμε 2- superscalar αρχιτεκτονική π.χ και έχουμε δύο data bus, αλλά η
> μνήμη μας παρέχει ένα port, τότε υποθέτω ότι έχουμε bottleneck και θα
> αναγκαστεί η μία εκ των δύο load ακόμα και αν είναι για ανεξάρτητα block να
> περιμένει σωστά?

To τι κάνει η cache εξαρτάται από τα ports και από το αν είναι
non-blocking ή όχι. Εμείς γενικά θεωρούμε ότι είναι non-blocking.


-- 
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