Abstract:
PROBLEM TO BE SOLVED: To allow lower and upper bounds of an object pointed to by a pointer to be automatically checked during execution of a program in programming languages such as C and C++ programs. SOLUTION: A processor 200 has default registers 202 and bound registers 204 which represent hardware register extensions of the default registers. The bound registers 204 maintain the association of metadata with its corresponding data. By providing the association between the default registers 202 and the bound registers 204, the calling convention of these registers 202 remains the same. The metadata being held at the bound registers 204 may be used to specify a range of memory addresses which can be accessed (loaded/stored) using the processor 200. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a mechanism for scheduling user-level threads so that the user-level threads can be executed on a processor that is not directly managed by an OS. SOLUTION: User-level threads on a first instruction sequencer are managed in response to executing user-level instructions on a second instruction sequencer that is under control of an application level program. A first user-level thread is run on the second instruction sequencer and contains one or more user level instructions. A first user level instruction has at least (1) a field that makes reference to one or more instruction sequencers or (2) implicitly references with a pointer to a code that specifically addresses one or more instruction sequencers when the code is executed. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
In an embodiment, a method is provided. The method includes managing user-level threads on a first instruction sequencer in response to executing user-level instructions on a second instruction sequencer that is under control of an application level program. A first user-level thread is run on the second instruction sequencer and contains one or more user level instructions. A first user level instruction has at least 1) a field that makes reference to one or more instruction sequencers or 2) implicitly references with a pointer to code that specifically addresses one or more instruction sequencers when the code is executed.
Abstract:
Eine Reihe von Standardregistern eines Prozessors wird in Metadatenregister auf dem Prozessor eines Computersystems erweitert. Die Standardregister haben darauf Daten gespeichert, während Metadaten, die mit den Daten in Beziehung stehen, separat in den Metadatenregistern gespeichert sind.
Abstract:
Befehle und Logik zur Bereitstellung verbesserter Paging-Fähigkeiten für Secure Enclave-Seitencaches. Ausführungsformen beinhalten mehrere Hardware-Threads oder Prozessorkerne, einen Cache zum Speichern sicherer Daten für gemeinsame Seitenadressen, die einer Secure Enclave zugeordnet sind, und für die Hardware-Threads zugänglich sind. Eine Decode-Stufe dekodiert einen ersten Befehl, der besagte gemeinsame Seitenadresse als einen Operand festlegt, und Ausführungseinheiten markieren einen Eintrag entsprechend einer Enclave-Seitencache-Zuordnung für die gemeinsame Seitenadresse, um die Erstellung einer neuen Übersetzung für entweder besagten ersten oder zweiten Hardware-Thread für den Zugriff auf die gemeinsame Seite zu blockieren. Ein zweiter Befehl wird zur Ausführung dekodiert, wobei der zweite Befehl besagte Secure Enclave als einen Operand festlegt, und Ausführungseinheiten Hardware-Threads aufzeichnet, die gerade auf sichere Daten im Enclave-Seitencache entsprechend der Secure Enclave zugreifen, und die aufgezeichnete Anzahl an Hardware-Threads dekrementiert, wenn einer der Hardware-Threads die Secure Enclave verlässt.