A multiprocessor system includes a plurality of central processing units
(CPUs) connected to one another by a system bus. Each CPU includes a cache
controller to communicate with its cache, and a primary memory controller
to communicate with its primary memory. When there is a cache miss in a
CPU, the cache controller routes an address request for primary memory
directly to the primary memory via the CPU as a speculative request
without access the system bus, and also issues the address request to the
system bus to facilitate data coherency. The speculative request is queued
in the primary memory controller, which in turn retrieves speculative data
from a specified primary memory address. The CPU monitors the system bus
for a subsequent transaction that requests the specified data in the
primary memory. If the subsequent transaction requesting the specified
data is a read transaction that corresponds to the speculative address
request, the speculative request is validated and becomes non-speculative.
If, on the other hand, the subsequent transaction requesting the specified
data is a write transaction, the speculative request is canceled.
Ένα σύστημα πολυεπεξεργαστών περιλαμβάνει μια πολλαπλότητα των μονάδων κεντρικής επεξεργασίας (CPUs) που συνδέονται με το ένα άλλο με ένα λεωφορείο συστημάτων. Κάθε ΚΜΕ περιλαμβάνει έναν ελεγκτή κρύπτης που επικοινωνούν με την κρύπτη της, και έναν ελεγκτή αρχικής μνήμης για να επικοινωνήσει με την αρχική μνήμη της. Όταν υπάρχει μια δεσποινίδα κρύπτης σε μια ΚΜΕ, ο ελεγκτής κρύπτης καθοδηγεί ένα αίτημα διευθύνσεων για την αρχική μνήμη άμεσα στην αρχική μνήμη μέσω της ΚΜΕ ως θεωρητικό αίτημα χωρίς πρόσβαση το λεωφορείο συστημάτων, και διανέμει επίσης το αίτημα διευθύνσεων στο λεωφορείο συστημάτων να διευκολύνει τη συνοχή στοιχείων. Το θεωρητικό αίτημα περιμένεται στη σειρά στον ελεγκτή αρχικής μνήμης, ο οποίος ανακτά στη συνέχεια τα θεωρητικά στοιχεία από μια διευκρινισμένη διεύθυνση αρχικής μνήμης. Η ΚΜΕ ελέγχει το λεωφορείο συστημάτων για μια επόμενη συναλλαγή που ζητά τα διευκρινισμένα στοιχεία στην αρχική μνήμη. Εάν η επόμενη συναλλαγή που ζητά τα διευκρινισμένα στοιχεία είναι μια διαβασμένη συναλλαγή που αντιστοιχεί στο θεωρητικό αίτημα διευθύνσεων, το θεωρητικό αίτημα επικυρώνεται και γίνεται μη-θεωρητικό. Εάν, αφ' ετέρου, η επόμενη συναλλαγή που ζητά τα διευκρινισμένα στοιχεία είναι γράψτε τη συναλλαγή, το θεωρητικό αίτημα ακυρώνεται.