Instruction length decoder system and method

US11086627B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11086627-B2
Application numberUS-201916586715-A
CountryUS
Kind codeB2
Filing dateSep 27, 2019
Priority dateSep 27, 2019
Publication dateAug 10, 2021
Grant dateAug 10, 2021

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.

A system is provided that includes an instruction buffer that stores bytes representative of one or more macroinstructions and instruction length decoder circuitry. The instruction length decoder circuitry includes a non-sequential first multiplexer circuitry having first input lines receiving a first input data representative of a speculative length of a first macroinstruction of the macroinstructions, and first selector that selects from the first input lines via a one-hot selector vector. The instruction length decoder circuitry also includes a first output line communicatively coupled to second selector, wherein the first output line causes the selector to select from a second input data representative of a first location of a first ending byte for the first macroinstruction with respect to a value x. The first multiplexer circuitry and the second selector may output start and end byte locations for the macroinstructions.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: an instruction buffer configured to store a plurality of bytes representative of one or more macroinstructions executable via a processor; and instruction length decoder circuitry communicatively coupled to the instruction buffer, comprising: non-sequential first multiplexer circuitry, comprising: a plurality of first input lines that receive a first input data representative of a speculative length of a first macroinstruction of the one or more macroinstructions, and a first selector that selects from the first input lines via a one-hot selector vector; and a first output line communicatively coupled to a selection circuitry, wherein the first output line causes the selection circuitry to select from a second input data representative of a first location of a first ending byte for the first macroinstruction with respect to a value x, and wherein the instruction length decoder circuitry is configured to output a first macroinstruction start byte location and a first macroinstruction end byte location based on at least the first multiplexer circuitry and the selection circuitry, wherein the instruction length decoder circuitry determines the first macroinstruction start byte location and the first macroinstruction end byte location in one cycle of the processor. 2. The system of claim 1 , wherein the instruction length decoder circuitry comprises: a second multiplexer circuitry included in the selection circuitry, wherein the second multiplexer comprises a plurality of second input lines that receive the second input data and a second selector communicatively coupled to the first output line that selects from the second input lines; and a third multiplexer circuitry comprising a plurality of third input lines that receive a third input data representative of a speculative length of a second macroinstruction of the one or more macroinstructions and a third selector that selects from the third data input via a second multiplexer output line from the second multiplexer circuitry, and wherein the instruction length decoder circuitry is configured to output a second macroinstruction start byte based on at least the first multiplexer circuitry, the second multiplexer circuitry, and the third multiplexer circuitry. 3. The system of claim 2 , wherein the instruction length decoder circuitry comprises a fourth multiplexer circuitry comprising a plurality of four input lines that receive a fourth input data representative of a second location of a second ending byte for the second macroinstruction with respect to the value x and a fourth selector that selects from the fourth input data via a third multiplexer output line from the third multiplexer circuitry, and wherein the instruction length decoder circuitry is configured to output the second macroinstruction start byte and a second macroinstruction end byte based on at least the first multiplexer circuitry, the second multiplexer circuitry, the third multiplexer circuitry, and the fourth multiplexer circuitry. 4. The system of claim 3 , wherein the first multiplexer circuitry, the second multiplexer circuitry, the third multiplexer circuitry, and the fourth multiplexer circuitry process all inputs in one cycle of the processor. 5. The system of claim 4 , wherein the first multiplexer circuitry and the second multiplexer circuitry process the first and the second input data in a high pulse portion of the one cycle of the processor and wherein the third multiplexer circuitry and the fourth multiplexer circuitry process the third and the fourth input data in a low pulse portion of the one cycle of the processor. 6. The system of claim 3 , wherein a fourth multiplexer output from the fourth multiplexer circuitry is transmitted into the first selector of the first multiplexer circuitry to replace the one-hot selector vector after a first use of the one-hot selector vector. 7. The system of claim 1 , comprising a data encoding circuitry communicatively coupled to the instruction buffer, to the first multiplexer circuitry, and to the selection circuitry, wherein the data encoding circuitry is configured to transform the one or more macroinstructions into the speculative length, the one-hot selector vector, or a combination thereof. 8. The system of claim 7 , wherein the data encoding circuitry comprises at least one programmable logic array (PLA). 9. The system of claim 1 , wherein the one or more macroinstructions are encoded via a variable length encoding format. 10. The system of claim 1 , wherein the value x=7 and wherein the instruction buffer stores at least 32 bytes representative of the one or more macroinstructions. 11. A method, comprising: storing, via an instruction buffer, a plurality of bytes representative of one or more macroinstructions executable via a processor; receiving, via a non-sequential first multiplexer circuitry included in an instruction length decoder circuitry, a first input data representative of a speculative length of a first macroinstruction of the one or more macroinstructions; selecting, via the non-sequential first multiplexer circuitry, the first input data via a first selector comprising a one-hot selector vector; receiving, via a second multiplexer circuitry, a second input data representative of a first location of a first ending byte for the first macroinstruction with respect to a value x; selecting, via the second multiplexer circuitry, the second input data via a second selector comprising a first multiplexer output from the first multiplexer circuitry; and outputting, via the instruction length decoder circuitry, a first macroinstruction start byte location and a first macroinstruction end byte location of the first macroinstruction based on at least the first multiplexer circuitry and the second multiplexer circuitry, wherein the instruction length decoder circuitry outputs the first macroinstruction start byte location and the first macroinstruction end byte location in one cycle of the processor. 12. The method of claim 11 , comprising: receiving, via a third multiplexer circuitry, a third input data representative of a speculative length of a second macroinstruction of the one or more macroinstructions; selecting, via the third multiplexer circuitry, the third input data via a third selector comprising a second multiplexer output from the second multiplexer circuitry; and outputting, via the instruction length decoder circuitry, a second macroinstruction start byte based on at least the first multiplexer circuitry, the second multiplexer circuitry, and the third multiplexer circuitry. 13. The method of claim 12 , comprising: receiving, via a fourth multiplexer circuitry, a fourth input data representative of a second location of a second ending byte for the second macroinstruction with respect to the value x; selecting, via the fourth multiplexer circuitry, the fourth input data via a fourth selector comprising a third multiplexer output from the third multiplexer circuitry; and outputting, via the instruction length decoder circuitry, the second macroinstruction start byte and a second macroinstruction end byte based at least in part on the first multiplexer circuitry, the second multiplexer circuitry, the third multiplexer circuitry, and the fourth multiplexer circuitry. 14. The method of claim 13 , comprising replacing the one-hot selector vector as the first selector with a fourth multiplexer output from the fourth multiplexer after a first use of the one-hot selector vector. 15. The method of claim 13 , comprising processing the first and the second input data via the

Assignees

Inventors

Classifications

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • Determining start or end of instruction; determining instruction length · CPC title

  • Buffers; Shared memory; Pipes · CPC title

  • Speculative instruction execution · 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 US11086627B2 cover?
A system is provided that includes an instruction buffer that stores bytes representative of one or more macroinstructions and instruction length decoder circuitry. The instruction length decoder circuitry includes a non-sequential first multiplexer circuitry having first input lines receiving a first input data representative of a speculative length of a first macroinstruction of the macroinst…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/30152. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 10 2021 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).