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:
Technologien für mehrstufige Virtualisierung beinhalten eine Rechenvorrichtung mit einem Prozessor, der einen Root-Virtualisierungsmodus und einen Non-Root-Virtualisierungsmodus unterstützt. Ein Non-Root-Hypervisor stellt fest, ob er unter der Kontrolle eines Root-Hypervisors ausgeführt wird; falls ja, registriert er beim Root-Hypervisor einen Callback-Handler und Auslösebedingungen. Der Non-Root-Hypervisor hostet eine oder mehrere virtuelle Maschinen. In Reaktion auf einen Ausgang einer virtuellen Maschine stellt der Root-Hypervisor fest, ob für den Grund des Ausgangs der virtuellen Maschine ein Callback-Handler registriert wurde; falls ja, überprüft er die Auslösebedingungen im Zusammenhang mit dem Callback-Handler. Wenn die Auslösebedingungen erfüllt sind, aktiviert der Root-Hypervisor den Callback-Handler. Der Callback-Handler kann ein virtuelles Virtualisierungsunterstützungsobjekt auf der Grundlage von Veränderungen aktualisieren, die vom Root-Hypervisor an einem Virtualisierungsunterstützungsobjekt vorgenommen wurden. Der Root-Hypervisor kann den Callback-Handler im Non-Root-Virtualisierungsmodus aktivieren. Weitere Ausführungsformen werden beschrieben und beansprucht.
Abstract:
Ein Prozessor eines Aspekts umfasst eine Decodiereinheit zum Decodieren eines Befehls zum Aussetzen eines Threads auf Benutzerebene, dazu dienend, einen ersten alternativen Zustand anzuzeigen. Der Prozessor umfasst außerdem eine Ausführungseinheit, die mit der Decodiereinheit gekoppelt ist. Die Ausführungseinheit dient dazu, den Befehl mit einer Berechtigung auf Benutzerebene durchzuführen. Die Ausführungseinheit dient, in Reaktion auf den Befehl, zum: (a) Aussetzen der Ausführung eines Threads auf Benutzerebene, von dem der Befehl, empfangen worden sein sollte; (b) Überführen eines logischen Prozessors, auf dem der Thread auf Benutzerebene ausgeführt worden sein sollte, in den angezeigten ersten alternativen Zustand; und (c) Wiederaufnehmen der Ausführung des Threads auf Benutzerebene, wenn sich der logische Prozessor in dem angezeigten ersten alternativen Zustand befindet, mit einer Latenz, die kleiner sein soll als die Hälfte der Latenz, mit der die Ausführung eines Threads wiederaufgenommen werden kann, wenn sich der logische Prozessor in einem Prozessor-angehalten-Leistungszustand befindet.
Abstract:
Methods and apparatus are disclosed for efficient TLB (translation look-aside buffer) shoot-downs for heterogeneous devices sharing virtual memory in a multi-core system. Embodiments of an apparatus for efficient TLB shoot-downs may include a TLB to store virtual address translation entries, and a memory management unit, coupled with the TLB, to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy-invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi-core system and read the lazy-invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy-invalidation state.
Abstract:
Eine Vorrichtung weist ein Extended Capability Register und Eingabe/Ausgabe-(E/A) Speicherverwaltungsschaltungen auf. Die Eingabe/Ausgabe- (E/A) Speicherverwaltungsschaltungen sind vorgesehen zum Empfangen einer Adressumsetzungsanforderung, die eine virtuelle Gastadresse referenziert, die einem virtuellen Gastadressraum einer virtuellen Maschine zugehörig ist, von einer E/A-Vorrichtung. Die Eingabe/Ausgabe- (E/A) Speicherverwaltungsschaltungen können die virtuelle Gastadresse in eine physikalische Gastadresse umsetzen, die einem physikalischen Gastadressraum der virtuellen Maschine zugehörig ist, und als Reaktion auf das Bestimmen, dass ein Wert, der durch das Extended Capability Register gespeichert wird, einen Restrict-Translation-Request-Response-Modus (RTRR - Modus zur Einschränkung der Umsetzungsanforderungsantwort) angibt, eine Umsetzungsantwort, die die physikalische Gastadresse aufweist, an die E/A-Vorrichtung senden.
Abstract:
Hier beschriebene besondere Ausführungsformen sehen eine elektronische Vorrichtung vor, die dazu konfiguriert werden kann, Daten in einer sicheren Domäne in einem Cloud-Netzwerk zu speichern, Verschlüsselungsschlüssel zu erstellen, wobei jeder Verschlüsselungsschlüssel eine andere Art des Zugriffs auf die Daten ermöglichen soll, und die Verschlüsselungsschlüssel in einem Schlüsselspeicher einer sicheren Domäne in dem Cloud-Netzwerk zu speichern. In einem Beispiel ermöglicht jeder Verschlüsselungsschlüssel den Zugriff auf eine andere Version der Daten. In einem anderen Beispiel speichert eine Zähler-Engine den Speicherort jeder Version der Daten in dem Cloud-Netzwerk.
Abstract:
Methods and apparatus are disclosed for efficient TLB (translation look aside buffer) shoot downs for heterogeneous devices sharing virtual memory in a multi core system. Embodiments of an apparatus for efficient TLB shoot downs may include a TLB to store virtual address translation entries and a memory management unit coupled with the TLB to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi core system and read the lazy invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy invalidation state.
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:
An example processing system may comprise: a lower stack bound register configured to store a first memory address, the first memory address identifying a lower bound of a memory addressable via a stack segment; an upper stack bound register configured to store a second memory address, the second memory address identifying an upper bound of the memory addressable via the stack segment; and a stack bounds checking logic configured to detect unauthorized stack pivoting, by comparing a memory address being accessed via the stack segment with at least one of the first memory address and the second memory address.