IP Library Granted Patent US 9,933,996
Granted Patent B2
US 9,933,996 · App. 14/136,754 · Granted Apr 3, 2018

Selectively combinable shifters

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 9,933,996
App. No.
14/136,754
Granted
Apr 3, 2018
Kind
B2
Abstract

An apparatus for mathematical manipulation is described allowing the selective combination of shifters to shift binary numbers of various widths. Selective combination allows on-the-fly adjustment of shifters from independent to coordinated shifting operations. Selective combination allows adjustable hardware-based shifting while saving space and resources. Multiple eight-bit shifters can be configured for a variety of operand widths, such as a 32-bit width, a 24-bit width, a 16-bit width, or an eight-bit width. Multiplexers route the appropriate input data to the appropriate shifters. Opcodes configure the shifters for the desired type of shift and a shifted result is generated.

Claims (55)

1. An apparatus for mathematical manipulation comprising:

a first port coupled to a first shifter circuit wherein the first port has a first width;

a second port coupled to a second shifter circuit wherein:

the second port has a second width;

the second shifter circuit is configured to be selectively coupled to the first shifter circuit;

the first port and the second port are configured to be usable in combination to handle input of a binary number of a third width wherein the third width is less than or equal to a sum of the first width and the second width;

the first shifter circuit in combination with the second shifter circuit are configured to be usable to shift the binary number of the third width; and

the first shifter circuit is configured to shift a binary number of the first width and the second shifter circuit is configured to shift a binary number of the second width wherein the binary number of the first width and the binary number of the second width are different widths.

2. The apparatus of claim 1 wherein the first shifter circuit and the second shifter circuit are configured to be usable to shift by different amounts.

3. The apparatus of claim 1 wherein the first shifter circuit includes a barrel shifter.

4. The apparatus of claim 1 wherein the first shifter circuit includes configuration logic to enable simultaneous shifting of more than one bit.

5. The apparatus of claim 1 wherein the first shifter circuit and the second shifter circuit are configured to be usable to shift independently of one another.

6. The apparatus of claim 1 further comprising a first shift-in port for the first shifter circuit.

7. The apparatus of claim 6 wherein the first shifter circuit is configured to be usable to pad a shifted number with zeros.

8. The apparatus of claim 7 wherein the first shifter circuit, in combination with the second shifter circuit, is used to shift the binary number of the third width by a shift value greater than the second width.

9. The apparatus of claim 8 wherein the first shifter circuit, in combination with the second shifter circuit, pads the shifted number with zeros.

10. The apparatus of claim 1 further comprising a second shift-in port for the second shifter circuit.

11. The apparatus of claim 1 further comprising additional configuration logic to enable shifting of bits from the second shifter circuit to the first shifter circuit.

12. The apparatus of claim 1 wherein an opcode is used to configure the first shifter circuit and the second shifter circuit to enable shifting of the binary number of the third width.

13. The apparatus of claim 1 further comprising a processing element to control at least the first shifter circuit.

14. The apparatus of claim 1 further comprising a processing element to control at least the second shifter circuit.

15. A method of logical calculation comprising:

configuring a first shifter circuit and a second shifter circuit wherein:

the first shifter circuit is coupled to a first port that has a first width;

the second shifter circuit is coupled to a second port that has a second width wherein:

the second shifter circuit is configured to be selectively coupled to the first shifter circuit;

the first port and the second port are configured to be usable in combination to handle input of a binary number of a third width wherein the third width is less than or equal to a sum of the first width and the second width;

the first shifter circuit in combination with the second shifter circuit are configured to be usable to shift the binary number of the third width; and

the first shifter circuit is configured to shift a binary number of the first width and the second shifter circuit is configured to shift a binary number of the second width wherein the binary number of the first width and the binary number of the second width are different widths.

16. A computer implemented method for implementation of a logical calculation apparatus comprising:

implementing a first shifter circuit coupled to a first port included in logic on a semiconductor chip, wherein the first port has a first width;

implementing a second shifter circuit coupled to a second port included in the logic on a semiconductor chip, wherein:

the second port has a second width;

the second shifter circuit is configured to be selectively coupled to the first shifter circuit;

the first port and the second port are configured to be usable in combination to handle input of a binary number of a third width wherein the third width is less than or equal to a sum of the first width and the second width;

the first shifter circuit in combination with the second shifter circuit are configured to be usable to shift the binary number of the third width; and

the first shifter circuit is configured to shift a binary number of the first width and the second shifter circuit is configured to shift a binary number of the second width wherein the binary number of the first width and the binary number of the second width are different widths.

17. A computer program product embodied in a non-transitory computer readable medium for implementation of a logical calculation apparatus, the computer program product comprising code which causes one or more processors to perform operations of:

implementing a first shifter circuit coupled to a first port included in logic on a semiconductor chip, wherein the first port has a first width;

implementing a second shifter circuit coupled to a second port included in the logic on a semiconductor chip, wherein:

the second port has a second width;

the second shifter circuit is configured to be selectively coupled to the first shifter circuit;

the first port and the second port are configured to be usable in combination to handle input of a binary number of a third width wherein the third width is less than or equal to a sum of the first width and the second width;

the first shifter circuit in combination with the second shifter circuit are configured to be usable to shift the binary number of the third width; and

the first shifter circuit is configured to shift a binary number of the first width and the second shifter circuit is configured to shift a binary number of the second width wherein the binary number of the first width and the binary number of the second width are different widths.

18. A computer system for implementation of a logical calculation apparatus comprising:

a memory which stores instructions;

one or more processors coupled to the memory wherein the one or more processors are configured to:

implement a first shifter circuit coupled to a first port included in logic on a semiconductor chip, wherein the first port has a first width;

implement a second shifter circuit coupled to a second port included in the logic on a semiconductor chip, wherein:

the second port has a second width;

the second shifter circuit is configured to be selectively coupled to the first shifter circuit;

the first port and the second port are configured to be usable in combination to handle input of a binary number of a third width wherein the third width is less than or equal to a sum of the first width and the second width;

the first shifter circuit in combination with the second shifter circuit are configured to be usable to shift the binary number of the third width; and

the first shifter circuit is configured to shift a binary number of the first width and the second shifter circuit is configured to shift a binary number of the second width wherein the binary number of the first width and the binary number of the second width are different widths.

Assignments (7)
CHANGE OF NAME Recorded May 8, 2024
From: WAVE COMPUTING, INC.
To: MIPS HOLDING, INC.
Reel/Frame 067355/0324 →
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →
CHANGE OF NAME Recorded Jun 6, 2016
From: WAVE SEMICONDUCTOR, INC.
To: WAVE COMPUTING, INC.
Reel/Frame 038887/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: CHAUDHURI, SAMIT
To: WAVE SEMICONDUCTOR, INC.
Reel/Frame 031980/0954 →