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

Εμμανουήλ Βλατάκης-Γκαραγκού Εμμανουήλ Βλατάκης-Γκαραγκού
Tue Jul 7 17:14:34 EEST 2015


Με αφορμή τις εκφωνήσεις στα διαγωνίσματα μου δημιουργήθηκαν κάποιες απορίες
γενικού ενδιαφέροντος.

Ειδικότερα με απασχολεί η superscalar περίπτωση και η pipeline διαχείριση
των Load & Stores

*SCENARIO*

Ας πούμε ότι είμαστε σε απλή non-superscalar αρχιτεκτονική και θέλουμε να
εκτελέσουμε τις ακόλουθες δύο εντολές με αλγόριθμο Tomasulo:

ld r1, 0 (address)
ld r2, 1 (address)
Ας υποθέσουμε ότι:
1) το cache block χωραει από [address+0]...[address+7]
2) το block δεν βρίσκεται στην cache, συνεπώς έχουμε miss.
5) Hit time = 2, Miss time = 5

A)
Υποθέτω ότι αν είναι non-pipelined το function unit που χρησιμοποιεί το
load τότε αναγκαστικά θα τρέξει μόνο η πρώτη εντολή το EXECUTE και θα κάνει
miss ενώ η δεύτερη θα περιμένει και στην συνέχεια θα κάνει hit

B)
Αν τώρα υποθέσουμε ότι είναι pipelined το function unit , η ερώτηση μου
είναι τότε η πρώτη και πάλι θα δει miss, και θα διαρκέσει από το 2ο εως
 τον 7ο γύρο αλλά η δεύτερη δεν θα δει επίσης το block να βρίσκεται στην
cache και εκείνη θα κάνει και εκείνη miss ή στις caches υπάρχει κάποιο
πρωτόκολλο στην περίπτωση που προσπαθήσεις να κάνεις read κάτι που
βρίσκεται σε διαδικασία μεταφοράς?

Γιατί αν παράδειγμα :
από το 2ο εως το 7ο τρέχει η 1η load
από το 3ο εως το 8ο τρέχει 2η load
Αρχίζω να αναρωτιέμαι διάφορα πράγματα για το consistency της διαδικασίας...

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

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

Ευχαριστώ πολύ προκαταβολικά
Μανόλης.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20150707/acff5ee8/attachment.htm>


More information about the Advcomparch mailing list