LOCK ELISION WITH BINARY TRANSLATION BASED PROCESSORS

Generally, this disclosure provides systems, devices, methods and computer readable media for detection and exploitation of lock elision opportunities with binary translation based processors. The device may include a dynamic binary translation (DBT) module to translate a region of code from a first...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: NEELAKANTAM, NAVEEN, KHARTIKOV, DENIS M, KELM, JOHN H
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Generally, this disclosure provides systems, devices, methods and computer readable media for detection and exploitation of lock elision opportunities with binary translation based processors. The device may include a dynamic binary translation (DBT) module to translate a region of code from a first instruction set architecture (ISA) to translated code in a second ISA and to detect and elide a lock associated with a critical section of the region of code. The device may also include a processor to speculatively execute the translated code in the critical section. The device may further include a transactional support processor to detect a memory access conflict associated with the lock and/or critical section during the speculative execution, roll back the speculative execution in response to the detection, and commit the speculative execution in the absence of the detection. La présente invention concerne de manière générale des systèmes, des dispositifs, des procédés et des supports lisibles par ordinateur permettant la détection et l'exploitation d'opportunités d'élisions de verrou avec des processeurs basés sur une traduction binaire. Le dispositif peut comprendre : un module de traduction binaire dynamique (DBT) conçu pour traduire une région de code provenant d'une première architecture d'ensemble d'instructions (ISA) en un code traduit dans une seconde ISA et pour détecter et élider un verrou associé à une section critique de la région de code ; un processeur conçu pour exécuter de manière spéculative le code traduit dans la section critique ; et un processeur transactionnel conçu pour détecter un conflit d'accès à la mémoire associé au verrou et/ou à la section critique au cours de l'exécution spéculative, pour invalider l'exécution spéculative en réponse à la détection et pour valider l'exécution spéculative en l'absence de détection.