Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
AssigneeInternational Business Machines Corporation
InventorsRavi K. Arimilli, Satya P. Sharma, Randal C. Swanberg
Life of this patent
Estimating the term…
Abstract
A wake-and-go mechanism may be a programming idiom accelerator. As a processor fetches instructions, the programming idiom accelerator may look ahead to determine whether a programming idiom is coming up in the instruction stream. If the programming idiom accelerator recognizes a programming idiom, the programming idiom accelerator may perform an action to accelerate execution of the programming idiom. In the case of a wake-and-go programming idiom, the programming idiom accelerator may record an entry in a wake-and-go array, for example.
Claims20
A method, in a multiple processor data processing system, for performing programming idiom acceleration, the method comprising:
- performing, by a programming idiom accelerator, a look-ahead operation to examine instruction streams being pre-fetched from memory via a bus for threads running on processors in the multiple processor data processing system, wherein the programming idiom accelerator is external to the processors, and wherein the programming idiom accelerator is associated with the bus;
- detecting, by the programming idiom accelerator, a predetermined programming idiom comprising a sequence of instructions from a set of known programming idioms within a given instruction stream for a given thread running on a given processor within the processors;
- and
- performing, by the programming idiom accelerator;
- an action to accelerate execution of the sequence of instructions by the given processor.
A data processing syStem, comprising:
- a bus;
- a memory;
- a plurality of processors, wherein each processor runs a thread executing an instruction stream of the thread;
- and
- a programming idiom accelerator external to the plurality of processors and associated with the bus, wherein the programming idiom accelerator is configured to:
- perform a look-ahead operation to examine instruction streams being pre-fetched from the memory via the bus for the threads running on the plurality of processors, wherein each instruction stream comprises instructions to be execute by the corresponding processor;
- detect a predetermined programming idiom comprising a sequence of instructions from a set of known programming idioms within a given instruction stream for a given thread running on a given processor within the processors;
- and
- perform an action to accelerate execution of the sequence of instructions by the given processor.
A computer program product comprising a non-transitory computer storage medium having a computer readable program stored thereon, wherein the computer readable program, when executed on a programming idiom accelerator, causes the programming idiom accelerator to:
- perform a look-ahead operation to examine instruction streams being pre-fetched from memory via a bus for threads running on processors in a multiple processor data processing system, wherein the programming idiom accelerator is external to the processors, and wherein the programming idiom accelerator is associated with the bus;
- detect a predetermined programming idiom comprising a sequence of instructions from a set of known programming idioms within a given instruction stream for a given thread running on a given processor within the processors;
- and
- perform an action to accelerate execution of the sequence of instructions by the given processor.
Dependencies are inferred from the claim text.