Multiple thread micro-sequencer apparatus and method with a single processor
First Claim
1. A micro-sequencer apparatus for processing multi-threads including multiple data and multiple instructions in parallel on a single processor, said apparatus comprising:
- a thread counter (12) for identifying a current thread from a plurality of threads for producing a thread signal representative of said current thread, each thread representing an independent process, for determining subsequent sequence of each of said plurality of threads for subsequent identification as the current thread, and for identifying an input signal associated with said current thread;
a thread program counter (16) for storing a program count for each of said plurality of threads indicating the address location of an executable instruction within the respective independent process, said program count for each current thread being different than said program count for a subsequent thread, and for receiving said thread signal to produce said program count for said current thread;
an instruction memory (20) storing at least one algorithm providing a process and having a plurality of executable instructions for receiving said program count to designate one of said plurality of instructions as a current instruction; and
a processor (20) for receiving said current instruction of said current thread and performing a function of said current instruction with said input to produce an output, said processor being shared to process each of said plurality of threads.
2 Assignments
0 Petitions
Accused Products
Abstract
A micro-sequencer apparatus (10) allows a plurality of threads to independently process one or several algorithms using common components by allowing each thread to execute one instruction during a cycle. A thread counter (12) identifies the current thread to allow processing of its instruction. A thread program counter (16) stores the program count or address for the current instruction for the current thread. An instruction memory (20) stores all instructions, and the program count identifies the particular instruction for processing. A processor (26) receives input information unique to the current thread and processes same with the current instruction to produce an output.
-
Citations
20 Claims
-
1. A micro-sequencer apparatus for processing multi-threads including multiple data and multiple instructions in parallel on a single processor, said apparatus comprising:
-
a thread counter (12) for identifying a current thread from a plurality of threads for producing a thread signal representative of said current thread, each thread representing an independent process, for determining subsequent sequence of each of said plurality of threads for subsequent identification as the current thread, and for identifying an input signal associated with said current thread; a thread program counter (16) for storing a program count for each of said plurality of threads indicating the address location of an executable instruction within the respective independent process, said program count for each current thread being different than said program count for a subsequent thread, and for receiving said thread signal to produce said program count for said current thread; an instruction memory (20) storing at least one algorithm providing a process and having a plurality of executable instructions for receiving said program count to designate one of said plurality of instructions as a current instruction; and a processor (20) for receiving said current instruction of said current thread and performing a function of said current instruction with said input to produce an output, said processor being shared to process each of said plurality of threads. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of sequencing multiple threads including multiple data and multiple instructions in parallel through a single processor, the method including the steps of:
-
identifying a current thread from a plurality of threads and producing a thread signal, each thread representing an independent process, determining the subsequent sequence of the remainder of the plurality of threads as for identification as the current thread, identifying an input signal associated with the current thread, storing a program count for each of the plurality of threads indicating the address location of an executable instruction within the respective process, receiving the thread signal to produce a program count for the current thread, storing at least one algorithm providing the process and having a plurality of executable instructions and receiving the program count to designate one of the instructions as a current instruction, and receiving and processing the current instruction of the current thread with the input signal to produce an output signal thereon on a single processor, each thread sharing the processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A micro-sequencer apparatus for processing multi-threads including multiple data and multiple instructions, said apparatus comprising:
-
a thread counter (12) for identifying a current thread from a plurality of threads for producing a thread signal representative of said current thread, for determining subsequent sequence of each of said plurality of threads for subsequent identification as the current thread, and for identifying an input signal associated with said current thread; a thread program counter (16) for storing a program count for each of said plurality of threads indicating the address of an executable instruction, said program count for each current thread being different than said program count for a subsequent thread, and for receiving said thread signal to produce said program count for said current thread; an instruction memory (20) storing at least one algorithm having a plurality of executable instructions for receiving said program count to designate one of said plurality of instructions as a current instruction; a processor (20) for receiving said current instruction and performing a function of said current instruction with said input to produce an output; an input multiplexer (14) connected to a plurality of input signals to receive said current thread and to supply one of said input signals associated with said current thread as part of said input, the other of said input signals associated with the other threads. - View Dependent Claims (20)
-
Specification