IP Library Granted Patent US 8,452,945
Granted Patent B2
US 8,452,945 · App. 10/245,106 · Granted May 28, 2013

Indirect indexing instructions

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 8,452,945
App. No.
10/245,106
Granted
May 28, 2013
Kind
B2
Abstract

A data processor includes an instruction decoder, an execution unit, a general-purpose register file, and an index-register file. The instruction set for the data processor includes indirect-indexing instructions to facilitate table lookups. When executing such an instruction, the execution unit reads an index stored at an index-register location specified by the instruction. The index refers to a general-purpose register location, which is then read and copied to a general-purpose register location as specified by the instruction. The disclosed execution unit includes four functional units, each with two read ports and a write port so that eight table lookups can be performed in parallel.

Claims (15)

1. A microprocessor comprising:

registers, each of said registers having plural locations at different positions within that register;

an instruction decoder for decoding instructions, said instructions including first and second indirect-indexing instructions, said first indirect-indexing instruction specifying a first index register of said registers, a first result register of said registers, and a first position of said positions, said second indirect-indexing instruction specifying a second index register of said registers, a second result register of said registers, and a second position of said positions, said second position being different from said first position; and

an execution unit for executing

said first indirect-indexing instruction so as to write a first result at said first position within said first result register, said first result being at least in part a function of data stored at a first data-storage location at a third position within a first data-storage register of said registers, said first data-storage register and said third position being determined by a first index stored at said first position within said first index register, and

said second indirect-indexing instruction so as to write a second result at said second position within said second result register, said second result being at least in part a function of data stored at a second data-storage location at a fourth position within a second data-storage register of said registers, said second data-storage register and said fourth position being determined by a second index stored at said second position within said second index register.

2. A microprocessor as recited in claim 1 wherein said instructions include a series of n indirect-indexing instructions, each of said n indirect-indexing instructions specifying the same index register and a different position.

3. A microprocessor as recited in claim 1 wherein said first indirect-indexing instruction has an instruction field that specifies said first position.

4. A microprocessor as recited in claim 1 wherein said first indirect-indexing instruction has an opcode that specifies said first position.

5. A non-transitory computer readable media comprising a program of computer-executable instructions, said program including first and second indirect-indexing instructions, said first indirect-indexing instruction specifying a first index register of said registers, a first result register of said registers, and a first position, said second indirect-indexing instruction specifying a second index register of said registers, a second result register of said registers, and a second position, said second position being different from said first position,

said first indirect-indexing instruction, when executed, writing a first result at said first position within said first result register, said first result being at least in part a function of data stored at a first data-storage location at a third position within a first data-storage register of said registers, said first data-storage register and said third position being determined by a first index stored at said first position within said first index register, and

said second indirect-indexing instruction, when executed, writing a second result at said second position within said second result register, said second result being at least in part a function of data stored at a second data-storage location at a fourth position within a second data-storage register of said registers, said second data-storage register and said fourth position being determined by a second index stored at said second position within said second index register.

6. Media as recited in claim 5 wherein said program includes a series of a indirect-indexing instructions, each of said a n indirect-indexing instructions specifying the same index register and a different position.

7. Media as recited in claim 5 wherein said first indirect-indexing instruction has an instruction field that specifies said first position.

8. Media as recited in claim 5 wherein said first instruction has an opcode that specifies said first position.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 013776/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2002
From: MORRIS, DALE
To: HEWLETT-PACKARD COMPANY
Reel/Frame 013527/0957 →