Checkpointing in speculative versioning caches

    公开(公告)号:GB2485083A

    公开(公告)日:2012-05-02

    申请号:GB201200165

    申请日:2010-07-19

    Applicant: IBM

    Abstract: Mechanisms for generating checkpoints (1030) in a speculative versioning cache (310, 1210) of a data processing system (100) are provided. The mechanisms execute code within the data processing system (100), wherein the code accesses cache lines in the speculative versioning cache (310, 1210). The mechanisms further determine (1350) whether a first condition occurs indicating a need to generate a checkpoint (1030) in the speculative versioning cache (310, 1210). The checkpoint (1310) is a speculative cache line which is made non-speculative in response to a second condition occurring that requires a roll-back of changes to a cache line corresponding to the speculative cache line. The mechanisms also generate the checkpoint (1310) in the speculative versioning cache (310, 1210) in response to a determination that the first condition has occurred.

    Einfügen von Operation- und Angeben-Befehlen für einen optimierten SIMD-Code

    公开(公告)号:DE112010003308T5

    公开(公告)日:2012-06-21

    申请号:DE112010003308

    申请日:2010-07-19

    Applicant: IBM

    Abstract: Es werden Mechanismen zum Einfügen von angegebenen Befehlen bereitgestellt, um Ausnahmebedingungen bei der Ausführung von vektorisiertem Code zurückzuverfolgen und anzugeben. Ein Teil des ersten Codes (620) wird zum Übersetzen empfangen. Der Teil des ersten Codes (620) wird ausgewertet, um nichtspekulative Befehle, die festgelegte nichtspekulative Operationen in dem ersten Code (620) durchführen, zu ermitteln, welche für den Ersatz durch Ersetzungsoperation-und-Angeben-Befehle in Frage kommen, die die festgelegten nichtspekulativen Operationen durchführen und des Weiteren eine Angabe-Operation durchführen, um den Ersetzungsoperation-und-Angeben-Befehlen (1020) jedwede Ausnahmebedingungen anzugeben, die speziellen Ausnahmebedingungswerten (840) entsprechen, welche in Eingängen eines Vektorregisters vorhanden sind. Der Ersetzungsvorgang wird durchgeführt (1080), und auf der Grundlage des Ersetzens des mindestens einen nichtspekulativen Befehls wird zweiter Code (630) erzeugt. Das Datenverarbeitungssystem (100), das den übersetzten Code (630) ausführt, ist so konfiguriert, dass es als Reaktion auf einen spekulativen Befehl, der eine Ausnahmebedingung erzeugt, ohne die Ausnahmebedingungsbehandlung zu starten, spezielle Ausnahmebedingungswerte (840) in Vektor-Ausgaberegistern speichert.

    Einrichten von Prüfpunkten bei Cachespeichern für die spekulative Versionierung

    公开(公告)号:DE112010003330T5

    公开(公告)日:2012-06-21

    申请号:DE112010003330

    申请日:2010-07-19

    Applicant: IBM

    Abstract: Es werden Mechanismen zur Erstellung von Prüfpunkten (1030) in einem Cachespeicher für die spekulative Versionierung (310, 1210) eines Datenverarbeitungssystems (100) bereitgestellt. Die Mechanismen führen Code innerhalb des Datenverarbeitungssystems (100) aus, wobei der Code auf Cachespeicherzeilen im Cachespeicher für die spekulative Versionierung (310, 1210) zugreift. Durch die Mechanismen wird weiterhin festgestellt (1350), ob eine erste Bedingung eintritt, die auf die Notwendigkeit des Einrichtens eines Prüfpunkts (1030) im Cachespeicher für die spekulative Versionierung (310, 1210) hinweist. Bei dem Prüfpunkt (1030) handelt es sich um eine spekulative Cachespeicherzeile, die bei Eintreten einer zweiten Bedingung, welche ein Zurückrollen der Änderungen an einer der spekulativen Cachespeicherzeile entsprechenden Cachespeicherzeile erfordert, nichtspekulativ gemacht wird. Durch die Mechanismen wird außerdem ein Prüfpunkt (1310) im Cachespeicher für die spekulative Versionierung (310, 1210) erstellt, wenn festgestellt wird, dass die erste Bedingung eingetreten ist.

    Insertion of operation-and-indicate instructions for optimized SIMD code

    公开(公告)号:GB2486117A

    公开(公告)日:2012-06-06

    申请号:GB201204358

    申请日:2010-07-19

    Applicant: IBM

    Abstract: Mechanisms are provided for inserting indicated instructions for tracking and indicating exceptions in the execution of vectorized code. A portion of first code (620) is received for compilation. The portion of first code (620) is analyzed to identify non-speculative instructions performing designated non-speculative operations in the first code (620) that are candidates for replacement by replacement operation-and-indicate instructions that perform the designated non-speculative operations and further perform an indication operation for indicating any exception conditions corresponding to special exception values (840) present in vector register inputs to the replacement operation-and-indicate instructions (1020). The replacement is performed (1080) and second code (630) is generated based on the replacement of the at least one non-speculative instruction. The data processing system (100) executing the compiled code (630) is configured to store special exception values (840) in vector output registers (1130), in response to a speculative instruction generating an exception condition, without initiating exception handling.

Patent Agency Ranking