A distributed system structure for a large-way, symmetric multiprocessor
system using a bus-based ache-coherence protocol is provided. The
distributed system structure contains an address switch, multiple memory
subsystems, and multiple master devices, either processors, I/O agents, or
coherent memory adapters, organized into a set of nodes supported by a
node controller. The node controller receives commands from a master
device, communicates with a master device as another master device or as a
slave device, and queues commands received from a master device. Since the
achievement of coherency is distributed in time and space, the node
controller helps to eliminate certain types of snoop collisions by pacing
commands selected from its queues in certain circumstances. After a
command is selected for snoop from a particular queue, the node controller
does not select another command for snoop from that particular queue until
the command returns for snoop, at which time the node controller may
introduce a configurable delay before allowing a command to be selected
from that particular queues.
Μια διανεμημένη δομή συστημάτων για έναν μεγάλος-τρόπο, συμμετρικό σύστημα πολυεπεξεργαστών που χρησιμοποιεί ένα λεωφορείο-βασισμένο στον πρωτόκολλο πόνος-συνοχής παρέχεται. Η διανεμημένη δομή συστημάτων περιέχει έναν διακόπτη διευθύνσεων, πολλαπλάσια υποσυστήματα μνήμης, και πολλαπλάσιες κύριες συσκευές, είτε επεξεργαστές, I/O πράκτορες, είτε συνεπείς προσαρμοστές μνήμης, που οργανώνονται σε ένα σύνολο κόμβων που υποστηρίζονται από έναν ελεγκτή κόμβων. Ο ελεγκτής κόμβων λαμβάνει τις εντολές από μια κύρια συσκευή, επικοινωνεί με μια κύρια συσκευή ως μια άλλη κύρια συσκευή ή ως συσκευή σκλάβων, και περιμένει στη σειρά τις εντολές που παραλαμβάνονται από μια κύρια συσκευή. Δεδομένου ότι το επίτευγμα της συνοχής διανέμεται στο χρόνο και στο χώρο, ο ελεγκτής κόμβων βοηθά να αποβάλει ορισμένους τύπους συγκρούσεων snoop με το ρυθμό των εντολών που επιλέγονται από τις σειρές αναμονής του σε ορισμένες περιστάσεις. Αφότου επιλέγεται μια εντολή για το snoop από μια ιδιαίτερη σειρά αναμονής, ο ελεγκτής κόμβων δεν επιλέγει μια άλλη εντολή για το snoop από εκείνη την ιδιαίτερη σειρά αναμονής έως ότου επιστρέφει η εντολή για το snoop, όταν μπορεί ο ελεγκτής κόμβων να εισαγάγει μια διαμορφώσιμη καθυστέρηση πρίν επιτρέπει σε μια εντολή για να επιλεχτεί από το εκείνο το τις ιδιαίτερες σειρές αναμονής.