HARDWARE PROFILING MECHANISM TO ENABLE PAGE LEVEL AUTOMATIC BINARY TRANSLATION

A hardware profiling mechanism implemented by performance monitoring hardware enables page level automatic binary translation. The hardware during runtime identifies a code page in memory containing potentially optimizable instructions. The hardware requests allocation of a new page in memory associ...

Full description

Saved in:
Bibliographic Details
Main Authors MERTEN, MATTHEW C, YAMADA, KOICHI, THAKKAR, VIVEK, SHAIKH, OMAR M, CAPRIOLI, PAUL, SRINIVAS, SURESH, AL-OTOOM, MUAWYA M, KANHERE, ABHAY S, OSCIAK, PAWEL
Format Patent
LanguageEnglish
French
Published 03.10.2013
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:A hardware profiling mechanism implemented by performance monitoring hardware enables page level automatic binary translation. The hardware during runtime identifies a code page in memory containing potentially optimizable instructions. The hardware requests allocation of a new page in memory associated with the code page, where the new page contains a collection of counters and each of the counters corresponds to one of the instructions in the code page. When the hardware detects a branch instruction having a branch target within the code page, it increments one of the counters that has the same position in the new page as the branch target in the code page. The execution of the code page is repeated and the counters are incremented when branch targets fall within the code page. The hardware then provides the counter values in the new page to a binary translator for binary translation. L'invention concerne un mécanisme de profilage matériel mis en oeuvre par un matériel de surveillance de performance qui permet une traduction binaire automatique de niveau de page. Le matériel identifie, pendant l'exécution, une page de code en mémoire contenant des instructions potentiellement optimisables. Le matériel demande l'attribution d'une nouvelle page en mémoire associée à la page de code, la nouvelle page contenant un ensemble de compteurs et chacun des compteurs correspondant à l'une des instructions dans la page de code. Lorsque le matériel détecte une instruction de branchement ayant une cible de branchement à l'intérieur de la page de code, il incrémente l'un des compteurs qui a la même position dans la nouvelle page que la cible de branchement dans la page de code. L'exécution de la page de code est répétée et les compteurs sont incrémentés lorsque les cibles de branchement se situent à l'intérieur de la page de code. Le matériel fournit ensuite les valeurs de compteur dans la nouvelle page à un traducteur binaire pour une traduction binaire.
Bibliography:Application Number: WO2012US31572