Forming instruction groups based on decode time instruction optimization
US-9348596-B2 · May 24, 2016 · US
US9678756B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9678756-B2 |
| Application number | US-201615148328-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 6, 2016 |
| Priority date | Jun 28, 2013 |
| Publication date | Jun 13, 2017 |
| Grant date | Jun 13, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Instructions are grouped into instruction groups based on optimizations that may be performed. An instruction is obtained, and a determination is made as to whether the instruction is to be included in a current instruction group or another instruction group. This determination is made based on whether the instruction is a candidate for optimization, such as decode time instruction optimization. If it is determined that the instruction is to be included in another group, then the other group is formed to include the instruction.
Opening claim text (preview).
What is claimed is: 1. A computer program product for facilitating processing in a processing environment, said computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining an instruction to be executed in the processing environment; determining whether the instruction is to be included in a current group of instructions or a new group of instructions, wherein the determining is based on whether the instruction is a candidate for optimization with another instruction according to an optimization criterion, and wherein the determining comprises determining whether the instruction represents a beginning of a potential optimization sequence that includes the instruction and the other instruction; based on determining the instruction is to be included in the new group of instructions, forming the new group of instructions, the new group of instructions including the instruction and the other instruction, and wherein the forming forms the new group of instructions based on the instruction representing the beginning of the potential optimization sequence; and based on forming the new group of instructions, executing at least one instruction associated with the new group of instructions. 2. The computer program product of claim 1 , wherein the determining whether the instruction represents the beginning of the potential optimization sequence comprises checking a marker associated with the instruction, the marker indicating whether the instruction starts the potential optimization sequence. 3. The computer program product of claim 2 , wherein the method further comprises marking the instruction with the marker, the marker indicating one of: the instruction is considered as representing the beginning of the potential optimization sequence, or the instruction is not considered as representing the beginning of the potential optimization sequence, and wherein the marking is performed at instruction fetch. 4. The computer program product of claim 1 , wherein the determining whether the instruction is to be included in the current group of instructions or the new group of instructions further comprises: checking whether an instruction sequence to be optimized that includes at least the instruction and the other instruction fits in the current group; and forming the new group based on determining the instruction is a candidate for optimization and the instruction sequence does not fit in the current group. 5. The computer program product of claim 4 , wherein the checking includes checking a marker associated with the instruction, the marker indicating a length of the instruction sequence. 6. The computer program product of claim 5 , wherein the method further comprises: determining a number of instructions in the instruction sequence; and marking the instruction with a selected marker that indicates the number of instructions, the marking being performed at instruction fetch. 7. The computer program product of claim 1 , wherein the optimization criterion is specified in one or more templates, and wherein at least one template of the one or more templates is to be used to determine whether the instruction is a candidate for optimization. 8. The computer program product of claim 1 , wherein the optimization criterion optimizes the instruction and the other instruction by creating at least one internal operation that represents at least a portion of the instruction and at least a portion of the other instruction. 9. The computer program product of claim 1 , wherein the optimization is performed at decode time. 10. A computer system for facilitating processing in a processing environment, said computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising: obtaining an instruction to be executed in the processing environment; determining whether the instruction is to be included in a current group of instructions or a new group of instructions, wherein the determining is based on whether the instruction is a candidate for optimization with another instruction according to an optimization criterion, and wherein the determining comprises determining whether the instruction represents a beginning of a potential optimization sequence that includes the instruction and the other instruction; based on determining the instruction is to be included in the new group of instructions, forming the new group of instructions, the new group of instructions including the instruction and the other instruction, and wherein the forming forms the new group of instructions base don the instruction representing the beginning of the potential optimization sequence; and based on forming the new group of instructions, executing at least one instruction associated with the new group of instructions. 11. The computer system of claim 10 , wherein the determining whether the instruction represents the beginning of the potential optimization sequence comprises checking a marker associated with the instruction, the marker indicating whether the instruction starts the potential optimization sequence. 12. The computer system of claim 11 , wherein the method further comprises marking the instruction with the marker, the marker indicating one of: the instruction is considered as representing the beginning of the potential optimization sequence, or the instruction is not considered as representing the beginning of the potential optimization sequence, and wherein the marking is performed at instruction fetch. 13. The computer system of claim 10 , wherein the determining whether the instruction is to be included in the current group of instructions or the new group of instructions further comprises: checking whether an instruction sequence to be optimized that includes at least the instruction and the other instruction fits in the current group; and forming the new group based on determining the instruction is a candidate for optimization and the instruction sequence does not fit in the current group. 14. The computer system of claim 13 , wherein the checking includes checking a marker associated with the instruction, the marker indicating a length of the instruction sequence. 15. The computer system of claim 14 , wherein the method further comprises: determining a number of instructions in the instruction sequence; and marking the instruction with a selected marker that indicates the number of instructions, the marking being performed at instruction fetch. 16. The computer system of claim 10 , wherein the optimization criterion is specified in one or more templates, and wherein at least one template of the one or more templates is to be used to determine whether the instruction is a candidate for optimization. 17. The computer system of claim 10 , wherein the optimization criterion optimizes the instruction and the other instruction by creating at least one internal operation that represents at least a portion of the instruction and at least a portion of the other instruction. 18. The computer system of claim 10 , wherein the optimization is performed at decode time.
using instruction pipelines · CPC title
of compound instructions · CPC title
Reducing the execution time required by the program code · CPC title
Instruction prefetching · CPC title
Decoding the operand specifier, e.g. specifier format · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.