Fusing immediate value, write-based instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media

US9477476B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9477476-B2
Application numberUS-201213686229-A
CountryUS
Kind codeB2
Filing dateNov 27, 2012
Priority dateNov 27, 2012
Publication dateOct 25, 2016
Grant dateOct 25, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • of immediate specifier, e.g. constants · CPC title

  • G06F9/3017Primary

    Runtime instruction translation, e.g. macros · CPC title

  • Instruction operation extension or modification · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9477476B2 cover?
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 …
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/30167. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 25 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).