Method and apparatus for reducing components necessary for instruction pointer generation in a simultaneous multithreaded processor
First Claim
Patent Images
1. A simultaneous multithreaded processor system comprising:
- a first multiplexer associated to a first thread of instruction pointers; and
a second multiplexer associated to a second thread of instruction pointers;
said first and second multiplexers to provide instruction pointers for execution in said processor;
first and second storage elements coupled to said respective first and second multiplexers, wherein;
one of the first and second threads is active while the other of said first and second threads is inactive; and
instruction pointers for the active thread are delivered to processor logic and the instruction pointers for the inactive thread are delivered to a storage element for delivery to the processor logic when the inactive thread becomes the active thread.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for a simultaneous multithreaded processor that reduces the number of hardware components necessary as well as the complexity of design over current systems is disclosed. As opposed to requiring individual storage elements for saving instruction pointer information for each re-steer logic component within a processor pipeline, the present invention allows for instruction pointer information of an inactive thread to be stored in a single, ‘inactive thread’ storage element until the thread becomes active again.
8 Citations
22 Claims
-
1. A simultaneous multithreaded processor system comprising:
-
a first multiplexer associated to a first thread of instruction pointers; and
a second multiplexer associated to a second thread of instruction pointers;
said first and second multiplexers to provide instruction pointers for execution in said processor;
first and second storage elements coupled to said respective first and second multiplexers, wherein;
one of the first and second threads is active while the other of said first and second threads is inactive; and
instruction pointers for the active thread are delivered to processor logic and the instruction pointers for the inactive thread are delivered to a storage element for delivery to the processor logic when the inactive thread becomes the active thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for a simultaneous multithreaded processor system, comprising the steps of:
-
associating a first multiplexer to a first thread of instruction pointers;
associating a second multiplexer to a second thread of instruction pointers;
providing, by said first and second multiplexers, instruction pointers for execution in said processor;
coupling first and second storage elements to said respective first and second multiplexers;
establishing one of the first and second threads as active and the other of said first and second threads as inactive;
delivering the instruction pointers for the active thread to processor logic; and
delivering the instruction pointers for the inactive thread to a storage element for delivery to the processor logic when the inactive thread becomes the active thread. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22)
-
-
19. A simultaneous multithreaded processor system comprising:
-
a first multiplexer associated to a first thread of instruction pointers; and
a second multiplexer associated to a second thread of instruction pointers;
said first and second multiplexers to provide instruction pointers for execution in said processor;
first and second storage elements coupled to said respective first and second multiplexers, wherein;
one of the first and second threads is active while the other of said first and second threads is inactive;
instruction pointers for the active thread are delivered to processor logic and the instruction pointers for the inactive thread are delivered to a storage element for delivery to the processor logic when the inactive thread becomes the active thread; and
a common multiplexer coupled between said first and second multiplexer and processor logic that receives instruction pointer data sequentially from the first multiplexer and the second multiplexer by utilizing a time-multiplexing protocol.
-
Specification