-
公开(公告)号:JP2006323845A
公开(公告)日:2006-11-30
申请号:JP2006135600
申请日:2006-05-15
Applicant: IBM
Inventor: ARIMILLI RAVI K , WILLIAMS DEREK E
IPC: G06F12/08
Abstract: PROBLEM TO BE SOLVED: To provide a processor, data processing system, and method for initializing a memory block within the data processing system. SOLUTION: In response to receiving an initialization operation from an associated processor core that indicates a target memory block to be initialized, a cache memory determines a coherency state of the target memory block. In response to a determination that the target memory block has a data-invalid coherency state with respect to the cache memory, the cache memory issues on interconnection a corresponding initialization request indicating the target memory block. In response to the initialization request, the target memory block is initialized to an initialization value within a memory of the data processing system. The target memory block may thus be initialized without the cache memory holding a valid copy of the target memory block. COPYRIGHT: (C)2007,JPO&INPIT
-
公开(公告)号:DE102016222041A1
公开(公告)日:2017-06-22
申请号:DE102016222041
申请日:2016-11-10
Applicant: IBM
Inventor: GUTHRIE GUY L , SHEN HUGH , WILLIAMS DEREK E
IPC: G06F12/08
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.
-
3.
公开(公告)号:DE102013204414A1
公开(公告)日:2013-10-02
申请号:DE102013204414
申请日:2013-03-14
Applicant: IBM
Inventor: GHAI SANJEEV , GUTHRIE GUY L , STARKE WILLIAM J , STUECHELI JEFF A , WILLIAMS DEREK E , WILLIAMS PHILLIP G
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.
-
公开(公告)号:DE102013204417B4
公开(公告)日:2020-03-19
申请号:DE102013204417
申请日:2013-03-14
Applicant: IBM
Inventor: GHAI SANJEEV , GUTHRIE GUY L , STARKE WILLIAM J , STUECHELI JEFF A , WILLIAMS DEREK E , WILLIAMS PHILLIP G
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).
-
公开(公告)号:DE102013201079A1
公开(公告)日:2013-08-08
申请号:DE102013201079
申请日:2013-01-24
Applicant: IBM
Inventor: GUTHRIE GUY L , LE HIEN M , SHEN HUGH , STUECHELI JEFF A , WILLIAMS DEREK E
IPC: G06F12/08
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.
-
6.
公开(公告)号:DE102013204414B4
公开(公告)日:2022-01-27
申请号:DE102013204414
申请日:2013-03-14
Applicant: IBM
Inventor: GHAI SANJEEV , GUTHRIE GUY L , STARKE WILLIAM J , STUECHELI JEFF A , WILLIAMS DEREK E , WILLIAMS PHILLIP G
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.
-
公开(公告)号:GB2519886A
公开(公告)日:2015-05-06
申请号:GB201502220
申请日:2013-08-06
Applicant: IBM
Inventor: FREY BRADLY , GUTHRIE GUY L , MAY CATHY , WILLIAMS DEREK E
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.
-
公开(公告)号:DE102013022610B4
公开(公告)日:2025-01-30
申请号:DE102013022610
申请日:2013-03-14
Applicant: IBM
Inventor: GHAI SANJEEV , GUTHRIE GUY L , STARKE WILLIAM J , STUECHELI JEFF A , WILLIAMS DEREK E , WILLIAMS PHILLIP G
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.
-
公开(公告)号:GB2519886B
公开(公告)日:2015-09-30
申请号:GB201502220
申请日:2013-08-06
Applicant: IBM
Inventor: FREY BRADLY , GUTHRIE GUY L , MAY CATHY , WILLIAMS DEREK E
-
公开(公告)号:DE102013204417A1
公开(公告)日:2013-10-02
申请号:DE102013204417
申请日:2013-03-14
Applicant: IBM
Inventor: GHAI SANJEEV , GUTHRIE GUY L , STARKE WILLIAM J , STUECHELI JEFF A , WILLIAMS DEREK E , WILLIAMS PHILLIP G
Abstract: Ein Datenverarbeitungssystem beinhaltet einen Prozessorkern, der durch Cachespeicher übergeordneter und untergeordneter Ebenen unterstützt wird. In Reaktion auf ein Ausführen eines Freigabebefehls in dem Prozessorkern wird eine Freigabeanforderung von dem Prozessorkern an den Cachespeicher der untergeordneten Ebene gesendet, 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 wird ermittelt, 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, wird die Ziel-Cachespeicherzeile in einem Daten-Array des Cachespeichers der untergeordneten Ebene beibehalten, und ein Ersetzungsreihenfolgefeld in einem Verzeichnis des Cachespeichers der untergeordneten Ebene wird so aktualisiert, dass die Ziel-Cachespeicherzeile mit größerer Wahrscheinlichkeit in Reaktion auf einen nachfolgenden Cachespeicher-Fehltreffer aus dem Cachespeicher der untergeordneten Ebene bereinigt wird.
-
-
-
-
-
-
-
-
-