Parallel data processing apparatus
First Claim
Patent Images
1. A controller operable to control an array of processing elements, the controller comprising:
- a retrieval unit operable to retrieve instruction items for each of a plurality of instructions streams, each instruction stream having a plurality of instructions items;
a combining unit operable to combine the plurality of instruction streams into a serial instruction stream;
a distribution unit operable to distribute the serial instruction stream to an array of processing elements;
a plurality of instruction stream processors, one for each instruction stream, for controlling the respective instruction streams;
a semaphore controller for controlling synchronization between instruction streams, wherein each of the instruction streams includes at least one semaphore value to indicate the availability of said instruction stream, and wherein said semaphore controller is configured to set semaphore operations including a preset operation, a wait operation, and a signal operation;
an embedded processor unit configured for reading, presetting, incrementing, and decrementinq semaphore signals;
a status block for providing status information regarding each of the instruction streams; and
a scheduler connected to receive status information, and operable to determine which of the instruction streams is to be active.
3 Assignments
0 Petitions
Accused Products
Abstract
A controller operable to control an array of processing elements comprises a retrieval unit operable to retrieve instruction items for each of a plurality of instructions streams, each instruction stream having a plurality of instructions items, a combining unit operable to combine the plurality of instruction streams into a serial instruction stream, and a distribution unit operable to distribute the serial instruction stream to an array of processing elements.
-
Citations
16 Claims
-
1. A controller operable to control an array of processing elements, the controller comprising:
-
a retrieval unit operable to retrieve instruction items for each of a plurality of instructions streams, each instruction stream having a plurality of instructions items; a combining unit operable to combine the plurality of instruction streams into a serial instruction stream; a distribution unit operable to distribute the serial instruction stream to an array of processing elements; a plurality of instruction stream processors, one for each instruction stream, for controlling the respective instruction streams; a semaphore controller for controlling synchronization between instruction streams, wherein each of the instruction streams includes at least one semaphore value to indicate the availability of said instruction stream, and wherein said semaphore controller is configured to set semaphore operations including a preset operation, a wait operation, and a signal operation; an embedded processor unit configured for reading, presetting, incrementing, and decrementinq semaphore signals; a status block for providing status information regarding each of the instruction streams; and a scheduler connected to receive status information, and operable to determine which of the instruction streams is to be active. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A controller operable to control an array of processing elements, the controller comprising:
-
a retrieval unit operable to retrieve instruction items for each of a plurality of instructions streams, each instruction stream having a plurality of instructions items; a combining unit operable to combine the plurality of instruction streams into a serial instruction stream; a distribution unit operable to distribute the serial instruction stream to an array of processing elements; an instruction stream processor for controlling a plurality of instruction streams; a semaphore controller for controlling synchronization between instruction streams, wherein each of the instruction streams includes at least one semaphore value to indicate the availability of said instruction stream, and wherein said semaphore controller is configured to set semaphore operations including a preset operation, a wait operation, and a signal operation; an embedded processor unit configured for reading, presetting, incrementing, and decrementinq semaphore signals; a status block for providing status information regarding each of the instruction streams; and a scheduling means connected to receive status information, and operable to determine which of the instruction streams is to be active.
-
Specification