System and method for simulating hardware interrupts
AssigneeInternational Business Machines Corporation
InventorDavid Erb
Life of this patent
Estimating the term…
Abstract
A system and method is provided to simulate hardware interrupts by inserting instructions into a stream of instructions where a “no operation” (or NOOP) instruction would normally be inserted. The instruction is inserted is a conditional branch instruction, called a BISLED, that branches if there is external data in a known memory area. In one embodiment, the processor has at least two pipelines that need to be aligned so that certain instructions are scheduled for the first pipeline and other instructions are scheduled for the other. In this embodiment, the BISLED also serves the purpose of re-aligning the instruction stream so that instructions are placed in the correct pipeline based upon the function performed by the instruction.
Claims30
A computer-implemented method comprising:
- aligning an instruction stream adapted to run on a processor with a plurality of pipelines, the aligning including:
- determining whether a scheduled instruction occupying a first slot in a first pipeline needs to be shifted to a second pipeline;
- moving the instruction to a second slot corresponding to the second pipeline in response to the determination;
- and
- inserting a conditional branch instruction in the first slot, wherein the instruction is adapted to branch on external data.
An information handling system comprising:
- one or more processors, wherein at least one of the processors has a plurality of instruction pipelines;
- memory accessible by the processors;
- and
- means for aligning an instruction stream executed by one of the processors with the plurality of pipelines, the means for aligning including:
- means for determining whether a scheduled instruction occupying a first slot in a first pipeline needs to be shifted to a second pipeline;
- means for moving the instruction to a second slot corresponding to the second pipeline in response to the determination;
- and
- means for inserting a conditional branch instruction in the first slot, wherein the instruction is adapted to branch on external data.
A computer program product stored on a computer operable media, the computer program product comprising:
- means for aligning an instruction stream adapted to run on a processor with a plurality of pipelines, the means for aligning including:
- means for determining whether a scheduled instruction occupying a first slot in a first pipeline needs to be shifted to a second pipeline;
- means for moving the instruction to a second slot corresponding to the second pipeline in response to the determination;
- and
- means for inserting a conditional branch instruction in the first slot, wherein the instruction is adapted to branch on external data.
Dependencies are inferred from the claim text.