IP Library Patent Application 13828747
Patent Application
App. No. 13/828,747

Superforwarding Processor

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/828,747
Abstract

Methods and systems that allow the processor to effectively and efficiently reduce or eliminate the latency associated with instructions that copy the value of one register to another register. A processor includes a superforwarding table, a superforwarding logic block, and a computation engine. The superforwarding table stores an entry, wherein the entry has a valid bit, a key field, and a forward field. The superforwarding logic block determines which register contains the information needed for an instruction. The computation engine executes instructions.

Claims (32)

1 . A method comprising:

comparing a value of a source register for an instruction against a key for each valid entry in a superforwarding table; and

modifying the instruction by replacing the value of the source register with a value in a forward field if the source register matches the key for a valid entry in the superforwarding table.

2 . The method of claim 1 , further comprising:

identifying a register-to-register (RtR) transfer instruction, wherein the RtR transfer instruction transfers a value of a RtR source register to a RtR destination register; and

updating an entry in the superforwarding table by setting a valid bit, storing the RtR destination register into the key field, and storing the RtR source register into the forward field.

3 . The method of claim 2 , wherein storing the RtR source register comprises looking up the RtR source register in a register rename table to determine an associated RtR source physical register, wherein storing the RtR source register comprises storing contents of the RtR source physical register into the forward field.

4 . The method of claim 1 , further comprising:

looking up the source register in a register rename table to determine an associated source physical register; and

modifying the instruction by replacing the source register with the associated source physical register if the source register does not match the key for any valid entry in the superforwarding table.

5 . The method of claim 1 wherein the comparing compares each source register of the instruction.

6 . A processor comprising:

a superforwarding table configured to store an entry, wherein the entry has a valid bit, a key, and a forward field;

a superforwarding logic block, in communication with the superforwarding table, configured to determine if an instruction can use information in the forward field; and

a computation engine, in communication with the superforwarding logic block, configured to execute instructions.

7 . The processor of claim 6 , wherein the superforwarding table is further configured to store one or more additional entries.

8 . The processor of claim 6 , wherein the superforwarding logic block is further configured to determine if the instruction uses the results of a register-to-register (RtR) transfer instruction, and if so, modify the instruction to use an architectural source of the RtR transfer instruction.

9 . The processor of claim 6 , further comprising a register rename block, in communication with the superforwarding table and the superforwarding logic block, configured to map each architectural register to a physical register.

10 . The processor of claim 9 , wherein the register rename block is configured to provide the superforwarding table with a physical RtR source register associated with an architectural source register of an RtR transfer instruction.

11 . The processor of claim 9 , wherein the register rename block is configured to identify a physical source register associated with an architectural source register of the instruction.

12 . The processor of claim 11 , wherein the superforwarding table is configured to determine if the architectural source register matches the key in a valid entry of the superforwarding table.

13 . The processor of claim 12 , wherein the superforwarding table is configured to identify an associated physical RtR source register stored in the forward field concurrently with the register rename block identifying the physical source register.

14 . A non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor comprising:

a superforwarding table configured to store an entry, wherein the entry has a valid bit, a key, and a forward field;

a superforwarding logic block, in communication with the superforwarding table, configured to determine which register contains the information needed for an instruction; and

a computation engine, in communication with the superforwarding logic block, configured to execute instructions.

15 . The non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor of claim 14 , wherein the superforwarding logic block is further configured to determine if the instruction uses the results of a register-to-register (RtR) transfer instruction, and if so, modify the instruction to use an architectural source of the RtR transfer instruction.

16 . The non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor of claim 14 , further comprising a register rename block, in communication with the superforwarding table and the superforwarding logic block, configured to map each architectural register to a physical register.

17 . The non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor of claim 16 , wherein the register rename block is configured to provide the superforwarding table with a physical RtR source register associated with an architectural source register of an RtR transfer instruction.

18 . The non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor of claim 16 , wherein the register rename block is configured to identify a physical source register associated with an architectural source register of the instruction.

19 . The non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor of claim 18 , wherein the superforwarding table is configured to determine if the architectural source register matches the key in a valid entry of the superforwarding table.

20 . The non-transitory computer readable storage medium having encoded thereon computer readable program code for generating a computer processor of claim 19 , wherein the superforwarding table is configured to identify an associated physical RtR source register stored in the forward field concurrently with the register rename block identifying the physical source register.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: IMAGINATION TECHNOLOGIES LIMITED
To: HELLOSOFT LIMITED
Reel/Frame 046578/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: HELLOSOFT LIMITED
To: MIPS TECH LIMITED
Reel/Frame 046580/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: MIPS TECH LIMITED
To: MIPS TECH, LLC
Reel/Frame 046580/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: IMAGINATION TECHNOLOGIES LIMITED
To: HELLOSOFT LIMITED
Reel/Frame 046588/0985 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: HELLOSOFT LIMITED
To: MIPS TECH LIMITED
Reel/Frame 046589/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: MIPS TECH LIMITED
To: MIPS TECH, LLC
Reel/Frame 046589/0726 →
CHANGE OF NAME Recorded May 20, 2016
From: MIPS TECHNOLOGIES, INC.
To: IMAGINATION TECHNOLOGIES, LLC
Reel/Frame 038768/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: WANG, QIAN; SUDHAKAR, RANGANATHAN
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 030002/0921 →