Facilitating processing in a computing environment using an extended drain instruction
AssigneeInternational Business Machines Corporation
InventorsKhary J. Alexander, Fadi Y. Busaba, Mark S. Farrell, Bruce C. Giamei, Timothy J. Slegel, Charles F. Webb
Life of this patent
Estimating the term…
Abstract
An extended DRAIN instruction is used to stall processing within a computing environment. The instruction includes an indication of the one or more processing stages at which processing is to be stalled. It also includes a control that allows processing to be stalled for additional cycles, as desired. The enhanced DRAIN instruction enables its use to be more granular and to have minimal impact with respect to each individual use.
Claims18
A computer system for stalling processing, said computer system comprising:
- a memory;
- and
- a hardware processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- obtaining for execution an extended DRAIN instruction, said extended DRAIN instruction having an architected definition comprising an opcode field identifying said extended DRAIN instruction, a stall field separate from the opcode field specifying a processing stage to stall, the processing stage being selected from a plurality of processing stages at which the extended DRAIN instruction may stall processing, a cycles field indicating a number of additional cycles to stall processing, and a conditions field to specify one or more conditions to satisfy before processing continues, wherein the opcode field, the stall field, the cycles field and the conditions field are each separate architected fields of the extended DRAIN instruction;
- and
- executing said extended DRAIN instruction, the executing comprising:
- determining at which processing stage to stall, said determining using the stall field of the extended DRAIN instruction;
- and
- stalling processing at the determined processing stage, wherein the stalling comprises stalling processing at the determined processing stage for at least the number of additional cycles as specified within the cycles field of the extended DRAIN instruction, and wherein the stalling the number of additional cycles specified within the cycles field begins after the one or more conditions specified in the conditions field of the extended DRAIN instruction have been satisfied, wherein stalling continues even after the one or more conditions are satisfied that would have allowed processing to continue absent the additional cycles.
A computer system for stalling processing in a processor, the computer system comprising:
- a memory;
- and
- a hardware processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- obtaining an extended DRAIN instruction to stall processing within the processor, the extended DRAIN instruction having an architected definition including an opcode field identifying said extended DRAIN instruction and a stall field separate from the opcode field that specifies a processing stage in which to stall processing, the processing stage being selected from a plurality of processing stages at which the extended DRAIN instruction may stall processing, and wherein the extended DRAIN instruction further comprises a cycles field, said cycles field indicating a number of additional cycles to stall processing;
- and
- executing the extended DRAIN instruction, said executing stalling processing at the processing stage specified by the stall field of the extended DRAIN instruction, and wherein the executing comprises stalling processing at least the number of additional cycles as specified within the cycles field of the extended DRAIN instruction, wherein the stalling the number of additional cycles begins after one or more specified conditions have been satisfied that would have allowed processing to continue absent the additional cycles.
A computer system for stalling processing in a processor, the computer system comprising:
- a memory;
- and
- a hardware processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- obtaining an extended DRAIN instruction to stall processing within the processor, the extended DRAIN instruction having an architected definition including an opcode field identifying said extended DRAIN instruction and a cycles field separate from the opcode field that indicates a number of additional cycles to stall processing;
- and
- executing the extended DRAIN instruction, said executing stalling processing at a processing stage indicated by the extended DRAIN instruction, wherein the stalling comprises stalling processing at the processing stage at least the number of additional cycles, wherein the stalling the number of additional cycles begins after one or more conditions specified in the extended DRAIN instruction have been satisfied, wherein stalling continues even after the one or more conditions are satisfied that would have allowed processing to continue absent the additional cycles.
A method of stalling processing, said method comprising:
- obtaining for execution an extended DRAIN instruction, said extended DRAIN instruction having an architected definition comprising an opcode field identifying said extended DRAIN instruction, a stall field separate from the opcode field specifying a processing stage to stall, the processing stage being selected from a plurality of processing stages at which the extended DRAIN instruction may stall processing, a cycles field indicating a number of additional cycles to stall processing, and a conditions field to specify one or more conditions to satisfy before processing continues, wherein the opcode field, the stall field, the cycles field and the conditions field are each separate architected fields of the extended DRAIN instruction;
- and
- executing said extended DRAIN instruction, the executing comprising:
- determining at which processing stage to stall, said determining using the stall field of the extended DRAIN instruction;
- and
- stalling processing at the determined processing stage, wherein the stalling comprises stalling processing at least the number of additional cycles as specified within the cycles field of the extended DRAIN instruction, and wherein the stalling the number of additional cycles begins after the one or more conditions specified in the conditions field of the extended DRAIN instruction have been satisfied, wherein stalling continues even after the one or more conditions are satisfied that would have allowed processing to continue absent the additional cycles.
A method of stalling processing in a processor, the method comprising:
- obtaining an extended DRAIN instruction to stall processing within the processor, the extended DRAIN instruction having an architected definition including an opcode field identifying said extended DRAIN instruction and a cycles field separate from the opcode field that indicates a number of additional cycles to stall processing;
- and
- executing the extended DRAIN instruction, said executing stalling processing at a processing stage indicated by the extended DRAIN instruction, wherein the stalling comprises stalling processing at the processing stage at least the number of additional cycles, wherein the stalling the number of additional cycles begins after one or more conditions specified in the extended DRAIN instruction have been satisfied, wherein stalling continues even after the one or more conditions are satisfied that would have allowed processing to continue absent the additional cycles.
Dependencies are inferred from the claim text.