Using renamed registers to support multiple vset{i}vl{i} instructions

US12260217B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12260217-B2
Application numberUS-202318115970-A
CountryUS
Kind codeB2
Filing dateMar 1, 2023
Priority dateDec 2, 2022
Publication dateMar 25, 2025
Grant dateMar 25, 2025

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 method for renaming architectural register, such as control and status register (CSR), is disclosed. The method includes decoding an instruction for updating CSR, updating the CSR based on a respective instruction of the one or more instructions, allocating a unique tag to the instruction in pipeline, and writing the tag into a mapping table for renaming the CSR. The tag can identify the CSR included in the instruction or the updated values of the CSR. The tag can be associated with a unique value. Moreover, the method can employ a First In, First Out (FIFO) queuing technique and virtual bits.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for renaming architectural register, comprising: decoding one or more instructions in a pipeline, wherein the one or more instructions update a control and status register (CSR), wherein the one or more instructions are of a same type, and the CSR includes a first register and a second register; updating values in the CSR based on a respective instruction of the one or more instructions; allocating one or more tags to the respective instruction in the pipeline, wherein the one or more tags identify the CSR included in or associated with the one or more instructions or the updated values of the CSR, and wherein each of the one or more tags is associated with a unique value; and writing, for renaming the CSR, values of the first register and the second register into a mapping table as one combined unit such that the values of the first register and the second register are reduced to a single entry. 2. The method of claim 1 , wherein the first register is a vector type register (vtype) and the second register is a vector length register (vl). 3. The method of claim 2 , further comprising: when a respective instruction of the one or more instructions that overwrote a respective tag retires from the pipeline, liberating the respective tag. 4. The method of claim 3 , wherein the respective tag is liberated in an order that is different from an allocated order. 5. The method of claim 3 , further comprising: wherein the respective tag is liberated in a program order. 6. A method for renaming architectural register, comprising: decoding one or more instructions in a pipeline, wherein the one or more instructions update a control and status register (CSR) including a vector type register (vtype) and vector length register (vl); allocating, based on the one or more instructions, a register entry of the CSR into a first in, first out (FIFO) queue; updating the register entry based on a respective instruction of the one or more instructions; and deallocating, when the respective instruction of the one or more instructions retire from the pipeline, the register entry. 7. The method of claim 6 , wherein the allocating is managed by an allocation pointer that points to a next register entry to be allocated. 8. The method of claim 6 , wherein the deallocating is managed by a retirement pointer to point to a next register entry to be retired. 9. The method of claim 8 , further comprising: allocating, using a virtual bit, a virtual index to the FIFO queue. 10. The method of claim 6 , further comprising: writing an updated value of an updated register entry to an integer register file. 11. A non-transitory computer readable medium comprising a circuit representation that, when processed by a computer, is used to program or manufacture an integrated circuit comprising: a processor including circuitry configured to: decode one or more instructions in a pipeline, wherein the one or more instructions update a control and status register (CSR), wherein the one or more instructions are of a same type, and the CSR includes a first register and a second register; update values in the CSR; allocate one or more tags to the respective instruction in pipeline, wherein the one or more tags identify the CSR included in or associated with the one or more instructions or the updated values of the CSR, and wherein each of the one or more tags is associated with a unique value; and writing, for renaming the CSR, values of the first register and the second register into a mapping table as one combined unit such that the values of the first register and the second register are reduced to a single entry. 12. The non-transitory computer readable medium of claim 11 , wherein the first register is a vector type register (vtype) and the second register is a vector length register (vl). 13. The non-transitory computer readable medium of claim 12 , wherein the processor including circuitry is further configured to: when a respective instruction of one or more instructions that overwrote a respective tag retires from the pipeline, liberate the respective tag. 14. The non-transitory computer readable medium of claim 13 , wherein the respective tag is liberated in an order that is different from an allocated order. 15. The non-transitory computer readable medium of claim 13 , wherein the respective tag is liberated in a program order. 16. The non-transitory computer readable medium of claim 13 , wherein: an entry of the CSR is held in a first in, first out (FIFO) queue before the values of the CSR is updated; and the processor including circuitry is further configured to allocate, using a virtual bit, a virtual index to the FIFO queue.

Assignees

Inventors

Classifications

  • Reordering of instructions, e.g. using queues or age tags · CPC title

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

  • Register renaming · CPC title

  • Special purpose registers · 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 US12260217B2 cover?
A method for renaming architectural register, such as control and status register (CSR), is disclosed. The method includes decoding an instruction for updating CSR, updating the CSR based on a respective instruction of the one or more instructions, allocating a unique tag to the instruction in pipeline, and writing the tag into a mapping table for renaming the CSR. The tag can identify the CSR …
Who is the assignee on this patent?
Sifive Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/30145. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 25 2025 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).