Abstract:
PROBLEM TO BE SOLVED: To provide an improved cache coherent data processing system, cache system and method of data processing in a cache coherent data processing system. SOLUTION: A first data-invalid coherency state that indicates that an address tag is valid and that a storage location does not contain valid data is set. In response to snooping an exclusive access request specifying a target address matching the address tag and indicating a relative domain location of the requester that has initiated the exclusive access operation, an update is made to a second data-invalid coherency state that indicates that the address tag is valid, that the storage location does not contain valid data, and whether a target memory block associated with the address tag is cached within a first coherency domain upon successful completion of the exclusive access operation based upon the relative location of the requester. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a cache coherent data processing system. SOLUTION: When a master receives a memory access request, access to a first cache directory in an upper level cache of a cache hierarchy is carried out. In response to association of a target address with an effective address tag and an entry having a first ineffective coherency condition, a request designating the target address is instantly sent onto the mutual connection fabric. In response to association of the target address with the entry having a second ineffective coherency condition in the first cache directory, a request designating the target address is sent onto the mutual connection fabric after the coherency condition associated with the target address is decided in the second cache directory of the cache coherency lower level cache. COPYRIGHT: (C)2007,JPO&INPIT
Abstract:
Verfahren zum Verarbeiten von Daten in einem Datenverarbeitungssystem (100), das einen Prozessorkern (202) beinhaltet, der durch Cachespeicher (204; 230; 232) übergeordneter und untergeordneter Ebenen unterstützt wird, wobei das Verfahren aufweist:in Reaktion auf ein Ausführen eines Freigabebefehls in dem Prozessorkern (202) Senden einer Freigabeanforderung von dem Prozessorkern (202) an den Cachespeicher (230; 232) der untergeordneten Ebene, wobei die Freigabeanforderung eine Zieladresse angibt, die einer Ziel-Cachespeicherzeile zugehörig ist;in Reaktion auf ein Empfangen der Freigabeanforderung in dem Cachespeicher (230; 232) der untergeordneten Ebene Ermitteln, ob die Zieladresse einen Treffer in dem Cachespeicher (230; 232) der untergeordneten Ebene erzielt; undin Reaktion auf ein Ermitteln, dass die Zieladresse einen Treffer in dem Cachespeicher (230; 232) der untergeordneten Ebene erzielt, Beibehalten der Ziel-Cachespeicherzeile in einem Daten-Array (302) des Cachespeichers (230; 232) der untergeordneten Ebene und Aktualisieren eines Ersetzungsreihenfolgefeldes (416) in einem Verzeichnis (308) des Cachespeichers (230; 232) der untergeordneten Ebene, sodass die Ziel-Cachespeicherzeile mit größerer Wahrscheinlichkeit in Reaktion auf einen nachfolgenden Cachespeicher-Fehltreffer in einer Kongruenzklasse, die die Ziel-Cachespeicherzeile beinhaltet, aus dem Cachespeicher (230; 232) der untergeordneten Ebene bereinigt wird,danach, in Reaktion auf einen Zugriff auf die Ziel-Cachespeicherzeile in dem Cachespeicher (230; 232) der untergeordneten Ebene vor dem Bereinigen der Ziel-Cachespeicherzeile aus dem Cachespeicher (230; 232) der untergeordneten Ebene, Unterlassen eines Aktualisierens des Ersetzungsreihenfolgefeldes (416).
Abstract:
Ein Mehrprozessor-Datenverarbeitungssystem enthält eine Vielzahl von Cache-Speichern, darunter einen Cache-Speicher. Der Cache-Speicher gibt eine Operation des Lese-Typs für eine Ziel-Cache-Zeile aus. Während des Wartens auf den Empfang der Ziel-Cache-Zeile führt der Cache-Speicher eine Überwachung aus, um eine konkurrierende Operation des Speicher-Typs für die Ziel-Cache-Zeile zu erfassen. In Reaktion auf das Empfangen der Ziel-Cache-Zeile installiert der Cache-Speicher die Ziel-Cache-Zeile in dem Cache-Speicher und stellt einen Kohärenzzustand der Ziel-Cache-Zeile, die in dem Cache-Speicher installiert wurde, anhand der Tatsache ein, ob die konkurrierende Operation des Speicher-Typs erfasst wird.
Abstract:
Verfahren zum Verarbeiten von Daten in einem Datenverarbeitungssystem (100), das einen Prozessorkern (202) beinhaltet, der durch Cachespeicher übergeordneter und untergeordneter Ebenen (204, 230, 232) unterstützt wird, wobei das Verfahren aufweist:in Reaktion auf ein Ausführen eines Freigabebefehls in dem Prozessorkern Senden einer Freigabeanforderung von dem Prozessorkern an den Cachespeicher der untergeordneten Ebene (902), wobei die Freigabeanforderung eine Zieladresse angibt, die einer Ziel-Cachespeicherzeile zugehörig ist;in Reaktion auf ein Empfangen der Freigabeanforderung in dem Cachespeicher der untergeordneten Ebene Ermitteln (904), ob die Zieladresse einen Treffer in dem Cachespeicher der untergeordneten Ebene erzielt;in Reaktion auf ein Ermitteln, dass die Zieladresse einen Treffer in dem Cachespeicher der untergeordneten Ebene erzielt, Beibehalten (910) der Ziel-Cachespeicherzeile in einem Daten-Array des Cachespeichers der untergeordneten Ebene und Aktualisieren eines Ersetzungsreihenfolgefeldes in einem Verzeichnis des Cachespeichers der untergeordneten Ebene, sodass die Ziel-Cachespeicherzeile mit größerer Wahrscheinlichkeit in Reaktion auf einen nachfolgenden Cachespeicher-Fehltreffer in einer Kongruenzklasse, die die Ziel-Cachespeicherzeile beinhaltet, aus dem Cachespeicher der untergeordneten Ebene bereinigt wird; undin Reaktion auf den nachfolgenden Cachespeicher-Fehltreffer Schreiben der Ziel-Cachespeicherzeile durch eine Castout-Operation in den Cachespeicher der untergeordneten Ebene mit einer Kennzeichnung (922), dass die Ziel-Cachespeicherzeile ein Ziel einer vorherigen Freigabeanforderung des Prozessorkerns war,wobei die Castout-Operation beinhaltet:Übertragen einer Cast-in-Anforderung (1000) von dem Cachespeicher der untergeordneten Ebene zu einem Cachespeicher einer noch weiter untergeordneten Ebene, wobei die Cast-in-Anforderung die Kennzeichnung beinhaltet; undin Reaktion auf die Cast-in-Anforderung (1006) Festlegen (1008) eines Ersetzungsreihenfolgefeldes in einem Verzeichnis des Cachespeichers der noch weiter untergeordneten Ebene durch den Cachespeicher der noch weiter untergeordneten Ebene, sodass die Ziel-Cachespeicherzeile mit größerer Wahrscheinlichkeit aus dem Cachespeicher der noch weiter untergeordneten Ebene bereinigt wird (1010),wobei in Reaktion auf die Cast-in-Anforderung das Verfahren weiterhin aufweist:Festlegen der Kennzeichnung für die Ziel-Cachespeicherzeile in dem Verzeichnis des Cachespeichers der noch weiter untergeordneten Ebene durch den Cachespeicher der noch weiter untergeordneten Ebene.
Abstract:
In a processor, an instruction sequence including, in order, a load-and-reserve instruction specifying a read access to a target memory block, an instruction delimiting transactional memory access instructions belonging to a memory transaction, and a store-conditional instruction specifying a conditional write access to the target memory block is detected. In response to detecting the instruction sequence, the processor causes the conditional write access to the target memory block to fail.
Abstract:
In einem Multithread-Datenverarbeitungssystem mit einer Mehrzahl von Prozessorkernen werden speichermodifizierende Anforderungen von einer Mehrzahl von gleichzeitig ausführenden Hardware-Threads in einer gemeinsam genutzten Warteschlange empfangen. Die speichermodifizierenden Anforderungen enthalten eine Anforderung zum Ungültigmachen von Umsetzungen von einem initiierenden Hardware-Thread. Die Anforderung zum Ungültigmachen von Umsetzungen wird aus der gemeinsam genutzten Warteschlange entfernt und in einer Sidecar-Logik in einem von einer Mehrzahl von Sidecars gepuffert, von denen jeder jeweils einem der Mehrzahl von Hardware-Threads zugehörig ist. Während die Anforderung zum Ungültigmachen von Umsetzungen in dem Sidecar gepuffert wird, überträgt die Sidecar-Logik die Anforderung zum Ungültigmachen von Umsetzungen, sodass sie von der Mehrzahl von Prozessorkernen empfangen und verarbeitet wird. In Reaktion auf eine Bestätigung der Beendigung der Verarbeitung der Anforderung zum Ungültigmachen von Umsetzungen durch den initiierenden Prozessorkern entfernt die Sidecar-Logik die Anforderung zum Ungültigmachen von Umsetzungen aus dem Sidecar. Die Beendigung der Verarbeitung der Anforderung zum Ungültigmachen von Umsetzungen an allen der Mehrzahl von Prozessorkernen wird durch eine Rundsende-Synchronisierungsanforderung sichergestellt.
Abstract:
In Reaktion auf ein Ausführen eines Freigabebefehls wird eine Freigabeanforderung, die eine Zieladresse einer Ziel-Cachespeicherzeile angibt, von einem Prozessorkern an einen Cachespeicher einer untergeordneten Ebene gesendet. In Reaktion darauf wird ermittelt, ob die Zieladresse einen Treffer in dem Cachespeicher der untergeordneten Ebene erzielt. In diesem Fall wird die Ziel-Cachespeicherzeile in einem Daten-Array des Cachespeichers der untergeordneten Ebene beibehalten, und es wird ein Ersetzungsreihenfolgefeld des Cachespeichers der untergeordneten Ebene so aktualisiert, dass die Ziel-Cachespeicherzeile mit größerer Wahrscheinlichkeit in Reaktion auf einen nachfolgenden Cachespeicher-Fehltreffer in einer Kongruenzklasse bereinigt wird, die die Ziel-Cachespeicherzeile beinhaltet. In Reaktion auf den nachfolgenden Cachespeicher-Fehltreffer wird die Ziel-Cachespeicherzeile durch eine Castout-Operation in den Cachespeicher der untergeordneten Ebene mit einer Kennzeichnung geschrieben, dass die Ziel-Cachespeicherzeile ein Ziel einer vorherigen Freigabeanforderung des Prozessorkerns war.
Abstract:
A method and system for providing the ability to add or remove components of a data processing system without powering the system down ("Hot-plug"). The system includes an arbiter, residing within a Host Bridge, Control & Power logic, and a plurality of in-line switch modules coupled to a bus. Each of the in-line switch modules provide isolation for load(s) connected thereto. The Host Bridge in combination with the Control & Power Logic implement the Hot-plug operations such as ramping up and down of the power to a selected slot, and activating the appropriate in-line switches for communication from/to a load (target/controlling master).
Abstract:
Verfahren zum Verarbeiten von Daten in einem Datenverarbeitungssystem (100), das einen Prozessorkern (202) beinhaltet, der durch Cachespeicher (204; 230; 232) übergeordneter und untergeordneter Ebenen unterstützt wird, wobei das Verfahren aufweist:automatisches Einfügen eines Freigabebefehls durch einen Compiler (500) in einen Programmcode, der durch den Prozessorkern (202) ausgeführt wird, wobei das automatische Einfügen beinhaltet, dass der Compiler (500) den Freigabebefehl in Reaktion auf ein Erkennen eines Endes einer Verarbeitung eines Datensatzes automatisch in den Programmcode einfügt,Ausführen des Freigabebefehls durch den Prozessorkern (202) bei Abschluss des Verarbeitens eines Datensatzes, der eine Ziel-Cachespeicherzeile und eine Vielzahl sonstiger Cachespeicherzeilen beinhaltet, um das Bereinigen des Datensatzes aus dem Cachespeicher (230; 232) der untergeordneten Ebene zu unterstützen,in Reaktion auf ein Ausführen des Freigabebefehls in dem Prozessorkern (202) Senden einer Freigabeanforderung von dem Prozessorkern (202) an den Cachespeicher (230; 232) der untergeordneten Ebene, wobei die Freigabeanforderung eine Zieladresse angibt, die der Ziel-Cachespeicherzeile zugehörig ist;in Reaktion auf ein Empfangen der Freigabeanforderung in dem Cachespeicher (230; 232) der untergeordneten Ebene Ermitteln, ob die Zieladresse einen Treffer in dem Cachespeicher (230; 232) der untergeordneten Ebene erzielt; undin Reaktion auf ein Ermitteln, dass die Zieladresse einen Treffer in dem Cachespeicher (230; 232) der untergeordneten Ebene erzielt, Beibehalten der Ziel-Cachespeicherzeile in einem Daten-Array (302) des Cachespeichers (230; 232) der untergeordneten Ebene und Aktualisieren eines Ersetzungsreihenfolgefeldes (416) in einem Verzeichnis (308) des Cachespeichers (230; 232) der untergeordneten Ebene, sodass die Ziel-Cachespeicherzeile mit größerer Wahrscheinlichkeit in Reaktion auf einen nachfolgenden Cachespeicher-Fehltreffer in einer Kongruenzklasse, die die Ziel-Cachespeicherzeile beinhaltet, aus dem Cachespeicher (230; 232) der untergeordneten Ebene bereinigt wird.