IP Library Granted Patent US 7,225,212
Granted Patent B2
US 7,225,212 · App. 10/195,522 · Granted May 29, 2007

Extended precision accumulator

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,225,212
App. No.
10/195,522
Granted
May 29, 2007
Kind
B2
Abstract

A multiply unit includes an extended precision accumulator. Microprocessor instructions are provided for manipulating portions of the extended precision accumulator including an instruction to move the contents of a portion of the extended accumulator to a general-purpose register (“MFLHXU”) and an instruction to move the contents of a general-purpose register to a portion of the extended accumulator (“MTLHX”).

Claims (34)

1. A microprocessor comprising:

an extended-precision accumulator, wherein said extension-precision accumulator includes an extended register, a high-order register, and a low-order register; and

a register file including a plurality of general purpose registers;

wherein in response to a first move instruction, the microprocessor moves a first value from said low-order register to a first general purpose register, moves a second value from said high-order register to said low-order register, and zero-extends a third value from said extended register and moves the zero-extended third value to said high-order register.

2. The microprocessor of claim 1 wherein, in response to a second move instruction, the microprocessor moves a subset of bits of a fourth value from said high-order register to said extended register, moves a fifth value from said low-order register to said high-order register, and moves a sixth value from said first general purpose register to said low-order register.

3. A method in a microprocessor for moving data in response to an instruction, the microprocessor comprising an extended-precision accumulator and a register file including a plurality of general purpose registers, said extended-precision accumulator including an extended register, a high-order register, and a low-order register, the method comprising:

moving a first value from said low-order register to a first general purpose register;

moving a second value from said high-order register to said low-order register;

zero-extending a third value stored in said extended register; and

moving the zero-extended third value to said high-order register.

4. The method of claim 3 further comprising moving, in response to a second instruction, a subset of bits of a fourth value from said high-order register to said extended register, a fifth value from said low-order register to said high-order register, and a sixth value from said first general purpose register to said low-order register.

5. The method of claim 3 wherein the high-order register is 32 bits wide, and the extended register is less than 32 bits wide.

6. The method of claim 3 wherein the extended register is cleared after the data is moved.

7. A computer-readable medium comprising a microprocessor embodied in software, the microprocessor including:

an extended-precision accumulator, wherein said extended-precision accumulator includes an extended register, a high-order register, and a low-order register; and

a register file including a plurality of general purpose registers;

wherein, in response to a first move instruction, the microprocessor moves a first value from said low-order register to a first general purpose register, moves a second value from said high-order register to said low-order register, and zero-extends a third value stored in said extended register and moves the zero-extended third value to said high-order register.

8. The computer-readable medium of claim 7 wherein, in response to a second move instruction, the microprocessor moves a subset of bits of a fourth value from said high-order register to said extended register, moves a fifth value from said low-order register to said high-order register, and moves a sixth value from said first general purpose register to said low order register.

9. The computer-readable medium of claim 7 , wherein the microprocessor is embodied in hardware description language software.

10. The computer-readable medium of claim 7 , wherein the microprocessor is embodied in one of Verilog hardware description language software and VHDL hardware description language software.

11. A method in a microprocessor for moving data in response to an instruction, the microprocessor comprising an extended-precision accumulator and a register file including a plurality of general purpose registers, the extended-precision accumulator including an extended register, a high-order register, and a low-order register, the method comprising:

moving a subset of bits of a first value from the high-order register to the extended register;

moving a second value from the low-order register to the high-order register; and

moving a third value from a first general purpose register to the low-order register.

12. The method of claim 11 wherein the high-order register is 32 bits wide, and the extended register is less than 32 bits wide.

13. A system for moving data in response to an instruction, comprising:

means for moving a first value from a low-order register of an extended-precision accumulator to a general purpose register;

means for moving a second value from a high-order register of the extended-precision accumulator to the low-order register;

means for zero-extending a third value stored in an extended register of the extended-precision accumulator; and

means for moving the zero-extended third value to the high-order register.

14. The system of claim 13 , wherein the system is configured to move data in response to a second instruction, the system comprising:

means for moving a subset of bits of a fourth value from the high-order register to the extended register;

means for moving a fifth value from the low-order register to the high-order register; and

means for moving a sixth value from the general purpose register to said low-order register.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BRIDGE CROSSING, LLC
To: ARM FINANCE OVERSEAS LIMITED
Reel/Frame 033074/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: MIPS TECHNOLOGIES, INC.
To: BRIDGE CROSSING, LLC
Reel/Frame 030202/0440 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2008
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 021985/0015 →
SECURITY AGREEMENT Recorded Aug 24, 2007
From: MIPS TECHNOLOGIES, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 019744/0001 →