Processing device and method for managing tasks thereof
US-2024320037-A1 · Sep 26, 2024 · US
US9626189B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9626189-B2 |
| Application number | US-201213524356-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 15, 2012 |
| Priority date | Jun 15, 2012 |
| Publication date | Apr 18, 2017 |
| Grant date | Apr 18, 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.
Embodiments relate to reducing operand store compare penalties by detecting potential unit of operation (UOP) dependencies. An aspect includes a computer system for reducing operation store compare penalties. The system includes memory and a processor. The system performs a method including cracking an instruction into units of operation, where each UOP includes instruction text and address determination fields. The method includes identifying a load UOP among the plurality of UOPs and comparing values of the address determination fields of the load UOP with values of address determination fields of one or more previously-decoded store UOPs. The method also includes forcing, prior to issuance of the instruction to an execution unit, a dependency between the load UOP and the one or more previously-decoded store UOPs based on the comparing.
Opening claim text (preview).
What is claimed is: 1. A computer system for reducing operand store compare (OSC) penalties, the system comprising: memory configured to store instructions and data; and a processor comprising an instruction fetch unit, a cracking unit, an instruction decode unit, an issue unit, and a unit of operation (UOP) comparison unit that includes a load/store identification unit, a classifying unit, and a comparison unit, the processor configured to execute the instructions to perform a method comprising: prior to sending an instruction received from the instruction fetch unit to the issue unit for issuance of the instruction to an execution unit: cracking and decoding, by the cracking unit and the instruction decode unit, the instruction into one or more UOPs, each UOP comprising instruction text (itext) and including address determination fields required to form an operand storage address, the address determination fields including at least one of a base address field, an index address field, and a displacement address field; identifying, by the load/store identification unit of the UOP comparison unit, a load UOP among the one or more UOPs; categorizing, by the classifying unit of the UOP comparison unit, the load UOP into one of a plurality of groups of load UOPs according to a location of the address determination fields within the load UOP; comparing, by the comparison unit of the UOP comparison unit, values of the address determination fields of the load UOP with values of address determination fields of one or more previously-decoded store UOPs to detect a dependency between the load UOP and the one or more previously-decoded store UOPs, wherein one or more least significant bits of the load UOP are masked during the comparing; and forcing, by the comparison unit of the UOP comparison unit the dependency between the load UOP and the one or more previously-decoded store UOPs, wherein the forcing the dependency causes the load UOP to be issued after the one or more previously-decoded store UOPs. 2. The computer system according to claim 1 , wherein comparing the values of the address determination fields of the load UOP with the values of the address determination fields of the one or more previously-decoded store UOPs includes performing the comparing of the values of the address determination fields according to the classifying of the load UOP into the one of the plurality of groups of load UOPs. 3. The computer system according to claim 1 , wherein the one or more previously-decoded store UOPs includes at least two previously-decoded store UOPs. 4. The computer system according to claim 1 , wherein the address determination fields include at least the base field and the displacement field, the method further comprising: applying a mask to the displacement field of at least one of the load UOP and the one or more previously-decoded store UOPs to increase a range of address values in which the values of the address determination fields of the load UOP correspond to the values of the address determination fields of the one or more of the previously-decoded store UOPs. 5. The computer system according to claim 4 , the method further comprising: adjusting a value of the mask based on an operand length of one or more of the load UOP and the one or more previously-decoded store UOPs. 6. The computer system according to claim 4 , the method further comprising: adjusting a value of the mask based on a previously-detected correspondence between the load UOP and at least one of the one or more previously-decoded store UOPs for which the values of the address determination fields of the load UOP are not the same as the values of the address determination fields of the one or more previously-decoded store UOPs. 7. The computer system according to claim 1 , the method further comprising: clearing a first store UOP from among the one or more previously-decoded store UOPs based on a determination that a value of one or more of the address determination fields of the one or more previously-decoded store UOPs has changed. 8. A computer implemented method for reducing operand store compare (OSC) penalties, the method comprising: prior to sending an instruction received from an instruction fetch unit to an issue unit for issuance of the instruction to an execution unit: cracking and decoding, by a cracking unit and a decoding unit of a computer, the instruction into one or more units of operation (UOPs), each UOP comprising instruction text (itext) and including address determination fields, the address determination fields including at least one of a base address field, an index address field, and a displacement address field; identifying, by a load/store identification unit of a UOP comparison unit of the computer, a load UOP among the one or more UOPs; classifying, by a classifying unit of the UOP comparison unit, the load UOP into one of a plurality of groups of load UOPs according to a location of the address determination fields within the load UOP; comparing, by a comparison unit of the UOP comparison unit of the computer, values of the address determination fields of the load UOP with values of address determination fields of one or more previously-decoded store UOPs to detect a dependency between the load UOP and the one or more previously-decoded store UOPs, wherein one or more least significant bits of the load UOP are masked during the comparing; and forcing, by the comparison unit of the UOP comparison unit of the computer, the dependency between the load UOP and the one or more previously-decoded store UOPs, wherein the forcing the dependency causes the load UOP to be issued after the one or more previously-decoded store UOPs. 9. The method according to claim 8 , further comprising: executing the one or more UOPs at least one of simultaneously and out of order. 10. The method according to claim 8 , wherein the comparing is performed based on a group to which the load UOP belongs. 11. The method according to claim 8 , wherein the one or more previously-decoded store UOPs includes at least two previously-decoded store UOPs. 12. The method according to claim 8 , wherein the address determination fields include at least the base field and the displacement field, the method further comprising: applying a mask to the displacement field of at least one of the load UOP and the one or more previously-decoded store UOPs to increase a range of address values in which the values of the address determination fields of the load UOP correspond to the values of the address determination fields of the one or more of the previously-decoded store UOPs. 13. The method according to claim 12 , further comprising: adjusting a value of the mask based on an operand length of one or more of the load UOP and the one or more store previously-decoded UOPs. 14. The method according to claim 8 , further comprising: clearing a first store UOP from among the one or more store previously-decoded UOPs based on a determination that a value of one or more of the address determination fields of the one or more store previously-decoded UOPs has changed. 15. A computer program product for reducing operand store compare (OSC) penalties, the computer program product comprising: a non-transitory computer readable storage medium readable by a processor and storing instructions for execution by the processor for performing a method comprising: prior to sending an instruction received from an instruction fetch unit to an issue unit for issuance of the instruction to an execution unit: cracking and decoding, by a cracking unit and a decodi
LOAD or STORE instructions; Clear instruction · CPC title
Dependency mechanisms, e.g. register scoreboarding · CPC title
Maintaining memory consistency · CPC title
Runtime instruction translation, e.g. macros · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.