IP Library Granted Patent US 7,840,783
Granted Patent B1
US 7,840,783 · App. 11/852,916 · Granted Nov 23, 2010

System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths

View Patent ↗
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 7,840,783
App. No.
11/852,916
Granted
Nov 23, 2010
Kind
B1
Abstract

A system, method, and computer program product are provided for performing a register renaming operation utilizing hardware which operates in at least two modes. In operation, hardware is operated in at least two modes including a first mode for operating the hardware using a logical register of a first bit width and a second mode for operating the hardware using a logical register of a second bit width. The first bit width is twice a width of the second bit width. Additionally, a register renaming operation is performed, including renaming at least one logical register to at least one physical register of the first bit width, utilizing the hardware.

Claims (34)

1. A method, comprising:

operating hardware corresponding to a processor in at least two modes including a first mode for operating the hardware using a logical register of a first bit width and a second mode for operating the hardware using a logical register of a second bit width, wherein the processor operates on instructions based at least in part upon a mode indicator such that the instructions are operated on at a first precision when in the first mode and the same instructions are operated on at a second precision when in the second mode, and when executing a plurality of threads, a first thread operates in the first mode with the first precision based at least in part upon the mode indictor included for the first thread and a second thread operates in the second mode with the second precision based at least in part upon the mode indicator included for the second thread; and

performing a register renaming operation based at least in part upon the mode indicator, wherein the register renaming operation depends on the operating mode of the hardware and the act of performing comprises renaming at least one logical register to at least one physical register of the first bit width when in the first mode for operating the hardware.

2. The method of claim 1 , wherein the operating includes utilizing a data type of the second bit width.

3. The method of claim 1 , wherein the operating includes utilizing a data type of the first bit width.

4. The method of claim 1 , wherein the hardware includes an instruction set architecture.

5. The method of claim 1 , wherein the hardware includes an out-of-order architecture.

6. The method of claim 1 , wherein the at least one logical register is of the second bit width.

7. The method of claim 1 , wherein the at least one logical register is of the first bit width.

8. The method of claim 7 , wherein a least significant bit of an address of the at least one logical register is not masked during the first mode of operation.

9. The method of claim 1 , wherein the at least one logical register includes a first register and a second register that belong to a same set.

10. The method of claim 1 , wherein the at least one logical register includes a first register and a second register adjacent to the first register.

11. The method of claim 10 , wherein a first portion of data of a size equal to the first bit width is stored in the first register and a second portion of the data is stored in the second register.

12. The method of claim 10 , wherein data of a size equal to the second bit width is stored in one of the first register or the second register.

13. The method of claim 12 , wherein a least significant bit of an address of the first register or address of the second register is masked during the second mode of operation.

14. The method of claim 12 , wherein the renaming includes masking a bit position.

15. The method of claim 14 , wherein the hardware supports a read-modify-write mechanism to merge logical register data with data from memory.

16. The method of claim 15 , wherein the read-modify-write mechanism merges data from one of the first register or the second register with data from the memory based on the masked bit position.

17. The method of claim 1 , wherein the hardware is capable of executing simultaneously N operations, and a number of write ports required to obtain a logical-to-physical mapping is less than or equal to 2N.

18. The method of claim 17 , wherein the number of write ports is N.

19. The method of claim 1 , wherein the hardware is capable of executing simultaneously N operations, and a number of read ports required to obtain a logical-to-physical mapping is less than or equal to 6N.

20. The method of claim 19 , wherein the number of read ports is 4N.

21. The method of claim 1 , wherein the first thread is capable of executing in the first mode of operation simultaneously with the second thread executing in the second mode of operation.

22. The method of claim 1 , wherein the hardware is capable of a read-modify-write operation to merge data from the at least one logical register with results of an operation.

23. The method of claim 22 , wherein the merging includes merging a first or second adjacent logical register with the results of the operation based on a bit of the first and the second adjacent logical registers.

24. A system, comprising:

a renaming unit for performing a register renaming operation based at least in part upon a mode indicator utilizing hardware corresponding to a processor for operating in at least two modes, including a first mode for operating the hardware using a logical register of a first bit width and a second mode for operating the hardware using a logical register of a second bit width, wherein the register renaming operation depends on the operating mode of the hardware; and

the processor for operating on instructions based at least in part upon the mode indicator such that the instructions are operated on at a first precision when in the first mode and the instructions are operated on at a second precision when in the second mode, and when executing a plurality of threads, a first thread operates in the first mode with the first precision based at least in part upon the mode indictor included for the first thread and a second thread operates in the second mode with the second precision based at least in part upon the mode indicator included for the second thread.

25. The system of claim 24 , wherein the hardware includes the processor coupled to memory via a bus.

26. A computer program product embodied on a computer readable medium having executable code to execute a process using a processor, the process comprising:

operating hardware in at least two modes including a first mode for operating the hardware using a logical register of a first bit width and a second mode for operating the hardware using a logical register of a second bit width, wherein the hardware operates on instructions based at least in part upon a mode indicator such that the instructions are operated on at a first precision when in the first mode and the instructions are operated on at a second precision when in the second mode, and when executing a plurality of threads, a first thread operates in the first mode with the first precision based at least in part upon the mode indictor included for the first thread and a second thread operates in the second mode with the second precision based at least in part upon the mode indicator included for the second thread; and

performing a register renaming operation based at least in part upon the mode indicator, wherein the register renaming operation depends on the operating mode of the hardware and the act of performing comprises renaming at least one logical register to at least one physical register of the first bit width when in the first mode for operating the hardware.

27. The product of claim 26 , wherein the first thread executes in the first mode of operation simultaneously with the second thread executing in the second mode of operation.

28. The product of claim 26 , wherein the hardware performs a read-modify-write operation to merge data from the at least one logical register with results of an operation.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035443/0763 →
CHANGE OF NAME Recorded Apr 16, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035443/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2010
From: RMI CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 023926/0338 →
CHANGE OF NAME Recorded Jun 15, 2009
From: RAZA MICROELECTRONICS, INC.
To: RMI CORPORATION
Reel/Frame 022824/0306 →
CHANGE OF NAME Recorded May 29, 2009
From: RAZA MICROELECTRONICS, INC.
To: RMI CORPORATION
Reel/Frame 022756/0607 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 019812 FRAME 0859. ASSIGNOR(S) HEREBY CONFIRMS THE THIRD ASSIGNORS NAME FROM RICARDO RAMIERZ TO RICARDO RAMIREZ. Recorded Apr 15, 2008
From: SINGH, GAURAV; SRINIVASAN, SRIVATSAN; RAMIREZ, RICARDO; CHEN, WEI-HSIANG; NGUYEN, HAI NGOC
To: RAZA MICROELECTRONICS, INC.
Reel/Frame 020806/0975 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2007
From: SINGH, GAURAV; SRINIVASAN, SRIVATSAN; RAMIERZ, RICARDO; CHEN, WEI-HSIANG; NGUYEN, HAI NGOC
To: RAZA MICROELECTRONICS, INC.
Reel/Frame 019812/0859 →