-
公开(公告)号:GB2517876A
公开(公告)日:2015-03-04
申请号:GB201500043
申请日:2013-05-20
Applicant: IBM
Inventor: PRASKY BRIAN ROBERT , VASILEVSKIY ALEXANDER , BONANNO JAMES JOSEPH , SIU JORAN , MITRAN MARCEL , SLEGEL TIMOTHY
Abstract: Embodiments relate to branch prediction preloading. An aspect includes a system for branch prediction preloading. The system includes an instruction cache and branch target buffer (BTB) coupled to a processing circuit, the processing circuit configured to perform a method. The method includes fetching a plurality of instructions in an instruction stream from the instruction cache, and decoding a branch prediction preload instruction in the instruction stream. An address of a predicted branch instruction is determined based on the branch prediction preload instruction. A predicted target address is determined based on the branch prediction preload instruction. A mask field is identified in the branch prediction preload instruction, and a branch instruction length is determined based on the mask field. Based on executing the branch prediction preload instruction, the BTB is preloaded with the address of the predicted branch instruction, the branch instruction length, the branch type, and the predicted target address.
-
公开(公告)号:DE112018005998B4
公开(公告)日:2022-06-15
申请号:DE112018005998
申请日:2018-11-16
Applicant: IBM
Inventor: MICIC ALEKSANDAR , SIU JORAN , D´SOUZA IRWIN , JEREMIC FILIP , GRACIE CHARLES ROBERT , PIVKINE DMITRI
Abstract: Verfahren, um ein Kopieren eines Datenobjekts (88) in einer gleichzeitig ablaufenden kopierenden Garbage-Collection-Operation zu optimieren, wobei das Verfahren die folgenden durch einen Computer (12, 82) ausgeführten Prozesse umfasst:Erkennen (610) einer Quellenkopie des Datenobjekts (88), das als Teil der Garbage-Collection-Operation kopiert werden soll;Auswählen eines primären zugreifenden Threads (92A) aus einer Mehrzahl von zugreifenden Threads (92), die in einem Wettlauf um die Zuweisung von Speicherbereich für ein einzelnes Datenobjekt (88), das das Datenobjekt (88) ist, in einem Survivor-Bereich (86N) konkurrieren, wobei der primäre zugreifende Thread (92A) als Ergebnis davon ausgewählt wird, dass er ein erster Thread ist, der den Speicherbereich zuweist und einen Quellobjekt-Kopfbereich des Datenobjekts (88) in einer atomaren Operation aktualisiert;Einleiten (620), durch den primären zugreifenden Thread (92A), eines Kopierens der Quellenkopie an einen Zielspeicherort, wobei das Einleiten (620) ein Erstellen eines Zielobjekt-Kopfbereichs (200, 300, 524) für ein Zielobjekt (500) an dem Zielspeicherort umfasst, wobei der Zielobjekt-Kopfbereich (200, 300, 524) einen Anzeiger enthält, der so gesetzt ist, dass er anzeigt, dass das Kopieren im Gange ist, so dass andere zugreifende Threads (92) über einen Status des Kopierens durch Zugriff auf den Zielobjekt-Kopfbereich (200, 300, 524) benachrichtigt werden, wobei der Anzeiger ein Kopierbit (212, 312) in dem Zielobjekt-Kopfbereich (200, 300, 524) ist, das einen Speicherort hat, der einem Speicherort des Weiterleitungsbits (112) in dem Quellenobjekt-Kopfbereich (120) entspricht, und wobei das Setzen des Weiteren ein Setzen des Kopierbits (212, 312) umfasst;Anhalten (630) einer Ausführung eines sekundären zugreifenden Threads (92N), der versucht, das Datenobjekt (88) zu verwenden, und zwar so lange, wie der Anzeiger anzeigt, dass das Kopieren im Gange ist; undErsetzen (640), als Reaktion auf einen Abschluss des Kopierens, des Zielobjekt-Kopfbereichs (200, 300, 524) durch eine Kopie eines Quellenobjekt-Kopfbereichs (120) der Quellenkopie.
-
公开(公告)号:DE112018005998T5
公开(公告)日:2020-08-06
申请号:DE112018005998
申请日:2018-11-16
Applicant: IBM
Inventor: MICIC ALEKSANDAR , SIU JORAN , D´SOUZA IRWIN , JEREMIC FILIP , GRACIE CHARLES ROBERT , PIVKINE DMITRI
Abstract: Eine Vorgehensweise, um ein Kopieren eines Datenobjekts in einer gleichzeitig ablaufenden kopierenden Garbage-Collection-Operation zu optimieren, wird bereitgestellt. In einer Ausführungsform wird eine Quellenkopie des Datenobjekts erkannt, das als Teil der Garbage-Collection-Operation kopiert werden soll. Ein Kopieren der Quellenkopie an einen Zielspeicherort wird durch einen primären zugreifenden Thread eingeleitet. Dieses Einleiten des Kopierens umfasst die Erstellung eines temporären Zielobjekt-Kopfbereichs für das Zielobjekt an dem Zielspeicherort, welcher einen Anzeiger enthält, der so gesetzt ist, dass er anzeigt, dass das Kopieren im Gange ist. Während das Kopieren stattfindet, wird die Ausführung von beliebigen anderen zugreifenden Threads, die versuchen, das Datenobjekt zu verwenden, so lange angehalten, wie der Anzeiger anzeigt, dass das Kopieren im Gange ist. Sobald das Kopieren abgeschlossen ist, wird der Zielobjekt-Kopfbereich durch eine Kopie des Quellenobjekt-Kopfbereichs ersetzt, wobei der Anzeiger zurückgesetzt wird.
-
公开(公告)号:DE112013002956T5
公开(公告)日:2015-03-12
申请号:DE112013002956
申请日:2013-05-20
Applicant: IBM
Inventor: PRASKY BRIAN ROBERT , VASILEVSKIY ALEXANDER , BONANNO JAMES JOSEPH , SIU JORAN , MITRAN MARCEL , SLEGEL TIMOTHY
IPC: G06F9/38
Abstract: Ausführungsformen betreffen das Vorabladen von Verzweigungsvorhersagen. Ein Aspekt beinhaltet ein System zum Vorabladen von Verzweigungsvorhersagen. Das System enthält einen Befehls-Cache-Speicher und einen Verzweigungsziel-Pufferspeicher (BTB), der mit einer Verarbeitungsschaltung verbunden ist, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie ein Verfahren durchführt. Das Verfahren beinhaltet das Abrufen einer Vielzahl von Befehlen in einem Befehlsstrom aus dem Befehls-Cache-Speicher und das Decodieren eines Verzweigungsvorhersage-Vorabladebefehls in dem Befehlsstrom. Auf der Grundlage des Verzweigungsvorhersage-Vorabladebefehls wird eine Adresse eines vorhergesagten Verzweigungsbefehls ermittelt. Auf der Grundlage des Verzweigungsvorhersage-Vorabladebefehls wird eine vorhergesagte Zieladresse ermittelt. In dem Verzweigungsvorhersage-Vorabladebefehl wird ein Maskenfeld erkannt und auf der Grundlage des Maskenfelds wird die Länge eines Verzweigungsbefehls ermittelt. Auf der Grundlage des Ausführens des Verzweigungsvorhersage-Vorabladebefehls werden die Adresse des vorhergesagten Verzweigungsbefehls, die Länge des Verzweigungsbefehls, der Typ der Verzweigung und die vorhergesagte Zieladresse vorab in den BTB geladen.
-
-
-