Abstract:
PROBLEM TO BE SOLVED: To provide systems, methods, and apparatuses for virtual to physical address translation with support for page attributes.SOLUTION: A system receives an instruction to translate a virtual memory pointer to a physical memory address for a memory location; in address translation hardware, translates the virtual memory pointer to the physical memory address on the basis of page table information to produce a partial result of the instruction; and, as the result of the instruction, loads the physical memory address and one or more page attributes into one or more processor registers without accessing to a memory hierarchy.
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 return a physical memory address about a linear address given as an operand without typically giving additional information in the conventional address translation instruction. SOLUTION: This embodiment relates to a system, method and device for translating from a linear address to a physical address, with support for page attribute. In some embodiments, the system receives an instruction to translate a memory point to a physical memory address about a certain memory position. The system can return the physical memory address to one or a plurality of page attributes. Other embodiments are described and patent claim is made. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide systems, methods, and apparatus for virtual to physical address translation with support for page attributes.SOLUTION: The methods include: a step 502 of receiving an instruction to translate a virtual memory pointer to a physical memory address for a memory location; a step 504 of translating the virtual memory pointer into the physical memory address based on page table information; and a step 506 of returning the physical memory address and one or more page attributes.
Abstract:
A processor has an instruction to translate a virtual memory pointer to a physical memory address. The instruction returns the address and attributes associated with the page corresponding to the address. The translation may use a translation look aside buffer (TLB) or a page table. It may use the page table if the address is not in the TLB. The instruction may be used by a virtual machine manager to produce a host physical address. It may be used by a guest operating system to produce a guest physical memory address. The instruction may have an operand to define the context of the translation. The returned address may be stored in a dedicated register.
Abstract:
In some embodiments, an apparatus includes logical interrupt identification number creation logic to receive physical processor identification numbers and create logical processor identification numbers through using the physical processor identification numbers. Each of the logical processor identification numbers corresponds to one of the physical processor identification numbers, and the logical processor identification numbers each include a processor cluster identification number and an intra-cluster identification number. The processor cluster identification numbers are each formed to include a group of bits from the corresponding physical processor identification number shifted in position, and the intra-cluster identification numbers are each formed in response to values of others of the bits of the corresponding physical processor identification number. Other embodiments are described.
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:
Vorrichtung, die aufweist: Eine erste Prozessorbaugruppe (0), die ein erstes Cluster von Prozessoren und einen ersten Uncore (42) mit einer ersten Prozessorauswahllogik (46) mit einem ersten Filter (48) umfasst; eine zweite Prozessorbaugruppe (1), die ein zweites Cluster von Prozessoren und einen zweiten Uncore (52) mit einer zweiten Prozessorauswahllogik (56) mit einem zweiten Filter (58) umfasst; einen Eingabe/Ausgabe-Hub (12), der mit der ersten (0) und zweiten Prozessorbaugruppe (1) gekoppelt ist und eine Prozessorauswahllogik (20) umfasst, um Identifikationszahlen für ein logisches Ziel zu empfangen, die mit Interrupts verknüpft sind, welche jeweils eine Prozessorcluster-Identifikationszahl aufweisen, um einen Cluster aus Prozessoren zu identifizieren, an den die Interrupts gerichtet sind, und wobei die Identifikationszahlen für ein logisches Ziel jeweils dazu geeignet sind, zu identifizieren, welche Prozessoren innerhalb des identifizierten Clusters aus Prozessoren zur Verfügung stehen, um den entsprechenden der Interrupts zu empfangen, und wobei die Prozessorauswahllogik (20) dazu eingerichtet ist, einen der ersten und zweiten Cluster auszuwählen, um den Interrupt zu empfangen, und der Filter (48) des ausgewählten Clusters eingerichtet ist, einen oder mehrere Prozessoren basierend auf dem Leistungszustand und/oder der Priorität aus der Betrachtung herauszufiltern, umfassend eine Identifikation eines oder mehrerer Prozessoren in einem niedrigsten Energiesparzustand und ein Finden des Prozessors mit der geringsten Priorität unter dem einen oder den mehreren Prozessoren in einem niedrigsten Energiesparzustand, wobei die Prozessorauswahllogik (20) dazu eingerichtet ist, auf eine Bitmap des ersten Clusters aus Prozessoren in Energiesparzuständen zuzugreifen und die Bitmap mit einer eingehenden Zielbitmap logisch zu UND-Verknüpfen, um einen Prozessor mit einem Identifizierer als ein Ziel, um den Interrupt zu empfangen, auszuwählen, und die Prozessorauswahllogik (46) des ausgewählten Clusters eingerichtet ist, den ausgewählten der zur Verfügung stehenden Prozessoren durch eine relative Position eines entsprechenden Bits in den Identifikationszahlen für ein logisches Ziel zu identifizieren, und wobei andere der zur Verfügung stehenden Prozessoren im identifizierten Cluster, die nicht ausgewählt sind, den Interrupt zu empfangen, den Interrupt nicht empfangen.
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:
A technique to enable efficient interrupt communication within a computer system. In one embodiment, an advanced programmable interrupt controller (APIC) is interfaced via a set of of bits within an APIC interface register using various interface instructions or operations, without using memory-mapped input/output (MMIO).