Abstract:
Es sind Ausführungsformen von Systemen, Verfahren und Vorrichtungen für heterogene Berechnung beschrieben. In manchen Ausführungsformen versendet ein Hardware-heterogener Planer Anweisungen zur Ausführung auf einem oder mehreren einer Vielzahl von heterogenen Verarbeitungselementen, wobei die Anweisungen einem Codefragment entsprechen, das durch das eine oder die mehreren der Vielzahl von heterogenen Verarbeitungselementen zu verarbeiten ist, wobei die Anweisungen native Anweisungen an zumindest einer des einen oder der mehreren der Vielzahl von heterogenen Verarbeitungselementen sind.
Abstract:
Disclosed is a apparatus with logic that decodes metadata access instructions, the instructions referencing the data address of a data item, and metadata logic that translates the data address to a distinct metadata address. Metadata logic also accesses the metadata referenced by the distinct metadata address in response to the decoding logic decoding the metadata instruction. Also disclosed is a program that responsive to a data access operation, which references a data address, generates a metadata access operation to reference the data address of the data address operation. The metadata access operation translating the data address to a disjoint metadata address, and accessing the metadata for the data item at the data address based on the metadata address. The metadata access instruction may be a metadata bit test and set instruction, metadata store and set instruction, a metadata store and reset instruction, a compressed metadata test instruction, a compressed metadata store instruction or a compresses metadata clear instruction.
Abstract:
A co-designed processor 605, such as a heterogeneous multi-core processor, includes, isolated from a software stack and transparent thereto by way of means such as concealed memory 640, a binary translation (BT) engine 645 having code to generate a binary translation of a first code segment and to store the binary translation in a translation cache 648. The binary translated code may include a routine to emulate an instruction not provided in the target ISA such as an instruction with a vector operand wherein a width of a datapath of the target core is less than a width of the vector operand. The heterogeneous multi-core processor may include a first and second core for executing instructions of a first ISA and a second ISA respectively wherein the second ISA may be different to the first ISA or a subset thereof. The second core may have lower power consumption than the first core and the binary translation may be from the first ISA to the second ISA.
Abstract:
In one embodiment, the present invention includes a method for receiving control in a kernel mode via a ring transition from a user thread during execution of an unbounded transactional memory (UTM) transaction, updating a state of a transaction status register (TSR) associated with the user thread and storing the TSR with a context of the user thread, and later restoring the context during a transition from the kernel mode to the user thread. In this way, the UTM transaction may continue on resumption of the user thread. Other embodiments are described and claimed.
Abstract:
A method and apparatus for optimizing an Unbounded Transactional Memory (UTM) system is herein described. Hardware support for monitors, buffering, and metadata is provided, where orthogonal metaphysical address spaces for metadata may be separate associated with threads and/or software subsystems within threads. In addition, the metadata may be held with hardware in a compressed manner with regard to data transparently to software. Furthermore, in response to metadata access instruction/operations the hardware is capable of supporting a forced metadata value to enable multiple modes of transactional execution. However, if monitors, buffered data, metadata, or other information is lost or conflicts are detected hardware provides for variations of a loss instruction that is able to poll a transaction status register for such loss or conflict and jump execution to a label in response to detecting the loss or conflict. Similarly, multiple variations of a commit instruction are provided for to allow software to define commit conditions and information to clear upon commit. Furthermore, hardware provides support to enable suspension and resume of transactions upon ring level transitions.
Abstract:
PROBLEM TO BE SOLVED: To provide a system for enabling emulation of a multiple instruction stream/multiple data stream (MIMD) extension that supports user-level sequencer management and control, and a set of privileged code executed by both operating system managed sequencers and application managed sequencers, including different sets of persistent per-CPU and per-thread data. SOLUTION: A lightweight code layer executes beneath the operating system. This code layer is invoked in response to particular monitored events, such as the need for communication between an operating system managed sequencer and an application managed sequencer. Control is transferred to this code layer, for execution of special operations, after which control returns back to originally executing code. The code layer is normally dormant and can be invoked at any time when either a user application or the operating system is executing. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide an instruction set architecture that achieves a software emulation environment with high performance. SOLUTION: A processor operates in multiple modes, including a direct execution mode and an emulation execution mode. The processor operates in a partial emulation model in which source instruction set architecture (ISA) instructions are directly processed in the direct execution mode and translated code generated by an emulation engine is processed in the emulation execution mode. Furthermore, use of information that can be stored in one or more storages of the processor and elsewhere in a system enables efficient transitions between the modes. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method and a device for simplifying the introduction of conversion from a virtual address into a physical address to a conversion unit. SOLUTION: A device to be used for a computer system is generally provided in a state including a conversion unit, a default attribute storage area and a preloading unit. The conversion unit stores conversion for converting a virtual address into a physical address and each conversion includes an attribute field. A default conversion attribute storing area stores several default conversion attributes. The preloading unit is connected to the default conversion unit and the conversion unit. When a signal indicating that the conversion of a virtual address is not stored in the conversion unit is received from the conversion unit, the preloading unit transmits a suitable default conversion attribute to the conversion unit in response to the received signal.