IP Library Granted Patent US 6,925,643
Granted Patent B2
US 6,925,643 · App. 10/269,247 · Granted Aug 2, 2005

Method and apparatus for thread-based memory access in a multithreaded processor

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 6,925,643
App. No.
10/269,247
Granted
Aug 2, 2005
Kind
B2
Abstract

Techniques for thread-based memory access by a multithreaded processor are disclosed. The multithreaded processor determines a thread identifier associated with a particular processor thread, and utilizes at least a portion of the thread identifier to select a particular portion of an associated memory to be accessed by the corresponding processor thread. In an illustrative embodiment, a first portion of the thread identifier is utilized to select one of a plurality of multiple-bank memory elements within the memory, and a second portion of the thread identifier is utilized to select one of a plurality of memory banks within the selected one of the multiple-bank memory elements. The first portion may comprise one or more most significant bits of the thread identifier, while the second portion comprises one or more least significant bits of the thread identifier. Advantageously, the invention reduces memory access times and power consumption, while preventing the stalling of any processor threads.

Claims (24)

1. A method for accessing a memory associated with a multithreaded processor, the method comprising the steps of:

determining a thread identifier associated with a particular thread of the multithreaded processor; and

utilizing at least a portion of the thread identifier to select a particular portion of the memory to be accessed by the corresponding processor thread;

wherein the utilizing step further comprises the steps of utilizing a first portion of the thread identifier to select one of a plurality of multiple-bank memory elements within the memory and utilizing a second portion of the thread identifier to select one of a plurality of memory banks within the selected one of the multiple-bank memory elements.

2. The method of claim 1 wherein the first portion comprises one or more most significant bits of the thread identifier.

3. The method of claim 1 wherein the second portion comprises one or more least significant bits of the thread identifier.

4. The method of claim 1 wherein each of the multiple-bank memory elements includes an even memory bank and an odd memory bank, and a least significant bit of the second portion is utilized to select one of the even memory bank and the odd memory bank for access by the corresponding processor thread.

5. The method of claim 1 wherein the memory comprises a main memory coupled to the multithreaded processor.

6. The method of claim 1 wherein the memory comprises a data memory of the multithreaded processor.

7. The method of claim 1 wherein the memory comprises a cache memory of the multithreaded processor.

8. The method of claim 7 wherein the cache memory comprises a plurality of thread caches, at least a given one of the thread caches comprising a memory array having one or more sets of memory locations.

9. The method of claim 8 wherein the given thread cache further comprises a thread identifier register for storing the thread identifier.

10. The method of claim 1 wherein the multithreaded processor is configured to utilize token triggered threading.

11. The method of claim 10 wherein the token triggered threading utilizes a token to identify in association with a current processor clock cycle a particular context that will be permitted to issue an instruction for a subsequent clock cycle.

12. The method of claim 1 wherein the multithreaded processor is configured for pipelined instruction processing.

13. A processor system comprising:

a multithreaded processor; and

a memory associated with the multithreaded processor;

the multithreaded processor being operative to determine a thread identifier associated with a particular thread of the multithreaded processor, and to utilize at least a portion of the thread identifier to select a particular portion of the memory to be accessed by the corresponding processor thread;

wherein a first portion of the thread identifier is utilized to select one of a plurality of multiple-bank memory elements within the memory and a second portion of the thread identifier is utilized to select one of a plurality of memory banks within the selected one of the multiple-bank memory elements.

14. An article of manufacture comprising a machine-readable storage medium having embodied thereon program code for use in accessing a memory associated with a multithreaded processor, wherein the program code when executed by the processor implements the steps of:

determining a thread identifier associated with a particular thread of the multithreaded processor; and

utilizing at least a portion of the thread identifier to select a particular portion of the memory to be accessed by the corresponding processor thread;

wherein the utilizing step further comprises the steps of utilizing a first portion of the thread identifier to select one of a plurality of multiple-bank memory elements within the memory and utilizing a second portion of the thread identifier to select one of a plurality of memory banks within the selected one of the multiple-bank memory elements.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2012
From: ASPEN ACQUISITION CORPORATION
To: QUALCOMM INCORPORATED
Reel/Frame 029377/0700 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT BY SUPPLEMENTING TWO PAGES MISSING FROM THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 025084 FRAME 0963. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Oct 25, 2010
From: SANDBRIDGE TECHNOLOGIES, INC.
To: ASPEN ACQUISITION CORPORATION
Reel/Frame 025178/0760 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2010
From: SANDBRIDGE TECHNOLOGIES, INC.
To: ASPEN ACQUISITION CORPORATION
Reel/Frame 025084/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2002
From: HOKENEK, ERDEM; MOUDGILL, MAYAN; GLOSSNER, C. JOHN
To: SANDBRIDGE TECHNOLOGIES, INC.
Reel/Frame 013503/0205 →