Performing rounding operations responsive to an instruction
US-9223751-B2 · Dec 29, 2015 · US
US9477476B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9477476-B2 |
| Application number | US-201213686229-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 27, 2012 |
| Priority date | Nov 27, 2012 |
| Publication date | Oct 25, 2016 |
| Grant date | Oct 25, 2016 |
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.
Fusing immediate value, write-based instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media are disclosed. In one embodiment, a first instruction indicating an operation writing an immediate value to a register is detected by an instruction processing circuit. The circuit also detects at least one subsequent instruction indicating an operation that overwrites at least one first portion of the register while maintaining a value of a second portion of the register. The at least one subsequent instruction is converted (or replaced) with a fused instruction(s), which indicates an operation writing the at least one first portion and the second portion of the register. In this manner, conversion of multiple instructions for generating a constant into the fused instruction(s) removes the potential for a read-after-write hazard and associated consequences caused by dependencies between certain instructions, while reducing a number of clock cycles required to process the instructions.
Opening claim text (preview).
What is claimed is: 1. An instruction processing circuit configured to: detect a first instruction from an instruction stream indicating an operation writing an immediate value to a register; detect at least one subsequent instruction in the instruction stream indicating an operation overwriting at least one first portion of the register and maintaining a value of a second portion of the register; and convert the at least one subsequent instruction into at least one fused instruction, representing an encoding of one or more processor-specific microinstructions, indicating an operation writing the at least one first portion and the second portion of the register. 2. The instruction processing circuit of claim 1 further configured to store the immediate value and an identifier of the register associated with the first instruction in a register write tracking table; and the instruction processing circuit configured to detect the at least one subsequent instruction in the instruction stream indicating the operation overwriting the at least one first portion of the register based on the identifier of the register stored in the register write tracking table. 3. The instruction processing circuit of claim 1 configured to detect the first instruction and the at least one subsequent instruction fetched consecutively in the instruction stream. 4. The instruction processing circuit of claim 3 further configured to issue the first instruction and the at least one fused instruction for execution. 5. The instruction processing circuit of claim 3 configured to convert the at least one subsequent instruction into the at least one fused instruction that combines the operations of the first instruction and the at least one subsequent instruction. 6. The instruction processing circuit of claim 5 further configured to remove the first instruction from the instruction stream. 7. The instruction processing circuit of claim 5 further configured to replace the first instruction in the instruction stream with an instruction indicating no operation. 8. The instruction processing circuit of claim 3 configured to convert the at least one subsequent instruction into the at least one fused instruction that combines the operations of the first instruction and the at least one subsequent instruction. 9. The instruction processing circuit of claim 8 further configured to remove the at least one subsequent instruction from the instruction stream. 10. The instruction processing circuit of claim 8 further configured to replace the at least one subsequent instruction in the instruction stream with an instruction indicating no operation. 11. The instruction processing circuit of claim 2 configured to: detect the first instruction and the at least one subsequent instruction fetched non-consecutively in the instruction stream; detect the at least one subsequent instruction in the instruction stream indicating the operation overwriting the at least one first portion of the register based on the identifier of the register stored in the register write tracking table; and convert the at least one subsequent instruction into the at least one fused instruction based on the immediate value stored in the register write tracking table. 12. The instruction processing circuit of claim 2 configured to store the immediate value and the identifier of the register in at least one data row dedicated to the register in the register write tracking table, the at least one data row comprising the immediate value. 13. The instruction processing circuit of claim 2 configured to store the immediate value and the identifier of the register in at least one data row in the register write tracking table, the at least one data row comprising the immediate value and the identifier of the register. 14. The instruction processing circuit of claim 1 , wherein the first instruction and the at least one subsequent instruction are ARM architecture-based instructions; and wherein the first instruction is a MOVW instruction, and the at least one subsequent instruction is selected from the group consisting of: a MOVT instruction and an ORR instruction. 15. The instruction processing circuit of claim 1 integrated into a semiconductor die. 16. The instruction processing circuit of claim 1 , further comprising a device selected from the group consisting of: a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player. 17. An instruction processing circuit, comprising: a means for detecting a first instruction indicating an operation moving an immediate value to a register; a means for detecting at least one subsequent instruction indicating an operation overwriting at least one first portion of the register and maintaining a value of a second portion of the register; and a means for converting the at least one subsequent instruction into at least one fused instruction, representing an encoding of one or more processor-specific microinstructions, indicating an operation writing the at least one first portion and the second portion of the register. 18. A method for processing computer instructions, comprising: detecting a first instruction indicating an operation moving an immediate value to a register; detecting at least one subsequent instruction indicating an operation overwriting at least one first portion of the register and maintaining a value of a second portion of the register; and converting the at least one subsequent instruction into at least one fused instruction, representing an encoding of one or more processor-specific microinstructions, indicating an operation writing the at least one first portion and the second portion of the register. 19. The method of claim 18 further comprising storing the immediate value and an identifier of the register associated with the first instruction in a register write tracking table; and wherein detecting the at least one subsequent instruction in the instruction stream indicating the operation overwriting the at least one first portion of the register is based on the identifier of the register stored in the register write tracking table. 20. The method of claim 18 comprising detecting the first instruction and the at least one subsequent instruction fetched consecutively in an instruction stream. 21. The method of claim 19 , wherein the first instruction and the at least one subsequent instruction are fetched non-consecutively in an instruction stream; wherein detecting the at least one subsequent instruction in the instruction stream indicating the operation overwriting the at least one first portion of the register is based on the identifier of the register stored in the register write tracking table; and wherein converting the at least one subsequent instruction into the at least one fused instruction is based on the immediate value stored in the register write tracking table. 22. A non-transitory computer-readable medium having stored thereon computer-executable instructions to cause a processor to implement a method comprisi
of immediate specifier, e.g. constants · CPC title
Runtime instruction translation, e.g. macros · CPC title
Instruction operation extension or modification · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.