Method and apparatus for dynamic modification of microprocessor instruction group at dispatch
AssigneeInternational Business Machines Corporation
InventorsJames Wilson Bishop, Hung Qui Le, Jafar Nahidi, Dung Quoc Nguyen, Brian William Thompto
Life of this patent
Estimating the term…
Abstract
Dynamic reformatting of a dispatch group by selective activation of inactive Start bits of instructions within the dispatch group at the time the instructions are read from the IBUF. The number of instructions in the reformatted dispatch groups can vary from as few as one instruction per group to a maximum number of instructions read from the IBUF per cycle. The reformatted dispatch groupings can be terminated after a single cycle, or they can remain reformatted for as many cycles as desired, depending upon need.
Claims14
A method of handling instructions in a computer processor, comprising:
- reading a dispatch group of program instructions from an Instruction Buffer (IBUF), said dispatch group comprising a first predetermined number of program instructions, said dispatch group being predecoded prior to being read into said IBUF wherein said predecoding comprises the insertion of an inactive Start bit in each of said program instructions in said dispatch group, and activating one of said inactive Start bits to define the dispatch group;
- and
- after reading said dispatch group, dynamically modifying the size of said dispatch group by changing the number of program instructions in said dispatch group to a number different than said first predetermined number, said dynamic modification comprises changing the predecoding after said dispatch group is read from said IBUF wherein said changing of said predecoding comprises activating a different of said Start bits to redefine said dispatch group.
A processor, comprising:
- multiple hardware resources;
- an Instruction Buffer (IBUF) storing one or more predecoded dispatch groups of program instructions, said dispatch group being predecoded prior to being read into said IBUF wherein said predecoding comprises the insertion of an inactive Start bit in each of said program instructions in said dispatch group, and activating one of said inactive Start bits to define the dispatch group;
- and
- a dispatch controller which controls the dispatch of program instructions to said hardware resources, said dispatch controller including:
- an event detector for detecting certain events occurring during dispatch;
- and
- a trigger generator for triggering said IBUF to dynamically modify said dispatch group of program instructions after said program instructions have been read from said IBUF, based on events detected by said event detector, said dynamic modification comprises changing the predecoding after said dispatch group is read from said IBUF wherein said changing of said predecoding comprises activating a different of said Start bits to redefine said dispatch group.
A computer program product for executing instructions in a computer processor, the computer program product comprising a computer-readable storage medium having computer-readable program code embodied in the medium, the computer-readable program code comprising:
- first computer executable instructions for reading a dispatch group of program instructions from an Instruction Buffer (IBUF), said dispatch group comprising a first predetermined number of program instructions, said dispatch group being predecoded prior to being read into said IBUF wherein said predecoding comprises the insertion of an inactive Start bit in each of said program instructions in said dispatch group, and activating one of said inactive Start bits to define the dispatch group;
- and
- second computer executable instructions for dynamically modifying the size of said dispatch group after reading said dispatch group, by changing the number of program instructions in said dispatch group to a number different than said first predetermined number, said dynamic modifying comprising changing the predecoding after said dispatch group is read from said IBUF wherein said changing of said predecoding comprises activating a different of said Start bits to redefine said dispatch group.
Dependencies are inferred from the claim text.