PROCESSOR, DATA PROCESSING SYSTEM, AND METHOD FOR INITIALIZING MEMORY BLOCK

    公开(公告)号:JP2006323845A

    公开(公告)日:2006-11-30

    申请号:JP2006135600

    申请日:2006-05-15

    Applicant: IBM

    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

    UNGÜLTIGMACHEN EINES UMSETZUNGSEINTRAGS IN EINEM MULTITHREAD-DATENVERARBEITUNGSSYSTEM

    公开(公告)号:DE102016222041A1

    公开(公告)日:2017-06-22

    申请号:DE102016222041

    申请日:2016-11-10

    Applicant: IBM

    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.

    Daten-Cachespeicherblock-Freigabeanforderungen in einer Cachespeicherhierarchie mit mehreren Ebenen

    公开(公告)号:DE102013204414A1

    公开(公告)日:2013-10-02

    申请号:DE102013204414

    申请日:2013-03-14

    Applicant: IBM

    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.

    Daten-Cachespeicherblock-Freigabeanforderungen

    公开(公告)号:DE102013204417B4

    公开(公告)日:2020-03-19

    申请号:DE102013204417

    申请日:2013-03-14

    Applicant: IBM

    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).

    Daten-Cachespeicherblock-Freigabeanforderungen in einer Cachespeicherhierarchie mit mehreren Ebenen

    公开(公告)号:DE102013204414B4

    公开(公告)日:2022-01-27

    申请号:DE102013204414

    申请日:2013-03-14

    Applicant: IBM

    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.

    Interaction of transactional storage accesses with other atomic semantics

    公开(公告)号:GB2519886A

    公开(公告)日:2015-05-06

    申请号:GB201502220

    申请日:2013-08-06

    Applicant: IBM

    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.

    Daten-Cachespeicherblock-Freigabeanforderungen

    公开(公告)号:DE102013022610B4

    公开(公告)日:2025-01-30

    申请号:DE102013022610

    申请日:2013-03-14

    Applicant: IBM

    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.

    Daten-Cachespeicherblock-Freigabeanforderungen

    公开(公告)号:DE102013204417A1

    公开(公告)日:2013-10-02

    申请号:DE102013204417

    申请日:2013-03-14

    Applicant: IBM

    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.

Patent Agency Ranking