A multiprocessor computer system including a multiprocessor device
preferably comprised of a set of processors, each including a respective
L1 cache. The multiprocessor is preferably fabricated as a single device.
The computer system includes a memory subsystem comprised of a load miss
block adapted for queuing a load operation issued by a first processor
that misses in an L1 cache of the first processor and a store miss block
adapted for queuing store type operations. An arbiter of the memory
subsystem is configured to receive queued operations from the load and
store miss blocks and further configured to select and initiate one of the
received operations. The subsystem further includes means for forwarding
the address associated with the load miss operation to a lower level cache
and means for receiving a hit/miss response from the lower level cache. In
the preferred embodiment, the load miss block is adapted to detect the
response from lower level cache and to request a bus interface unit to
fetch data via a system bus if the lower level cache responds with a miss.
The bus interface unit is configured to signal the load miss block when a
first portion of the fetched data is available. In response thereto, the
load miss block is configured to initiate a forwarding operation that
returns the first potion of the data to the requesting processor if the
forwarding operation can be initiated without displacing a valid load miss
operation. The store and load miss block preferably each include separate
store miss queues for each processor of the multiprocessor. The bus
interface unit is preferably further configured to signal the load miss
block when the entire granule (i.e., cache line) of requested data is
available. The forwarding operation is preferably initiated if a first
stage of a load miss block pipeline is invalid at some point after the
first portion data is available, but before the entire requested data is
available.
Ένα συγκρότημα ηλεκτρονικών υπολογιστών πολυεπεξεργαστών συμπεριλαμβανομένης μιας συσκευής πολυεπεξεργαστών που αποτελείται κατά προτίμηση από ένα σύνολο επεξεργαστών, κάθε ένα συμπεριλαμβανομένης μιας αντίστοιχης L1 κρύπτης. Ο πολυεπεξεργαστής κατασκευάζεται κατά προτίμηση ως ενιαία συσκευή. Το συγκρότημα ηλεκτρονικών υπολογιστών περιλαμβάνει ένα υποσύστημα μνήμης που αποτελείται από έναν φραγμό δεσποινίδας φορτίων που προσαρμόζεται για την αναμονή μιας λειτουργίας φορτίων που εκδίδεται από έναν πρώτο επεξεργαστή που λείπει σε μια L1 κρύπτη του πρώτου επεξεργαστή και ενός φραγμού δεσποινίδας καταστημάτων που προσαρμόζονται για τις διαδικασίες τύπων καταστημάτων αναμονής. Ένας κριτής του υποσυστήματος μνήμης διαμορφώνεται για να λάβει τις περιμεμένες στη σειρά διαδικασίες από τους φραγμούς δεσποινίδας φορτίων και καταστημάτων και διαμορφώνεται περαιτέρω για να επιλέξει και να αρχίσει μια από τις λαμβανόμενες διαδικασίες. Το υποσύστημα περιλαμβάνει περαιτέρω τα μέσα για τη διεύθυνση που συνδέεται με τη λειτουργία δεσποινίδας φορτίων σε μια χαμηλότερη κρύπτη επιπέδων και τα μέσα για μια απάντηση χτυπήματος/δεσποινίδας από τη χαμηλότερη κρύπτη επιπέδων. Στην προτιμημένη ενσωμάτωση, ο φραγμός δεσποινίδας φορτίων προσαρμόζεται για να ανιχνεύσει την απάντηση από τη χαμηλότερη κρύπτη επιπέδων και για να ζητήσει από μια μονάδα διεπαφών λεωφορείων για να προσκομίσει τα στοιχεία μέσω ενός λεωφορείου συστημάτων εάν η χαμηλότερη κρύπτη επιπέδων αποκρίνεται με μια δεσποινίδα. Η μονάδα διεπαφών λεωφορείων διαμορφώνεται για να επισημάνει το φραγμό δεσποινίδας φορτίων όταν μια πρώτη μερίδα των προσκομισμένων στοιχείων είναι διαθέσιμη. Στην απάντηση επιπλέον, ο φραγμός δεσποινίδας φορτίων διαμορφώνεται για να αρχίσει μια λειτουργία αποστολής που επιστρέφει την πρώτη φίλτρο των στοιχείων στο ζητώντας επεξεργαστή εάν η λειτουργία αποστολής μπορεί να αρχίσει χωρίς μετατόπιση μιας έγκυρης λειτουργίας δεσποινίδας φορτίων. Η δεσποινίδα καταστημάτων και φορτίων εμποδίζει κατά προτίμηση κάθε μια περιλαμβάνει τις χωριστές σειρές αναμονής δεσποινίδας καταστημάτων για κάθε επεξεργαστή του πολυεπεξεργαστή. Η μονάδα διεπαφών λεωφορείων κατά προτίμηση περαιτέρω διαμορφώνεται για να επισημάνει το φραγμό δεσποινίδας φορτίων όταν ο ολόκληρος κόκκος (δηλ., γραμμή κρύπτης) των ζητούμενων στοιχείων είναι διαθέσιμος. Η λειτουργία αποστολής αρχίζει κατά προτίμηση εάν ένα πρώτο στάδιο μιας σωλήνωσης φραγμών δεσποινίδας φορτίων είναι άκυρο σε κάποιο σημείο αφότου το πρώτο στοιχείο μερίδας είναι διαθέσιμο, αλλά προτού το ολόκληρο ζητούμενο στοιχείο να είσαι διαθέσιμο.