Back to results
US 8,151,090 B2Granted
Sequentially propagating instructions of thread through serially coupled PEs for concurrent processing respective thread on different data and synchronizing upon branch
AssigneeSamsung Electronics Co., Ltd.
InventorsGi-Ho Park, Shin-Dug Kim, Jung-Wook Park, Hoon-Mo Yang, Sung-Bae Park
Life of this patent
Estimating the term…
Abstract
A systolic data processing apparatus includes a processing element (PE) array and control unit. The PE array comprises a plurality of PEs, each PE executing a thread with respect to different data according to an input instruction and pipelining the instruction at each cycle for executing a program. The control unit inputs a new instruction to a first PE of the PE array at each cycle.
Claims15
A data processing device comprising:
- a PE (processing element) array comprising a plurality of PEs executing a warp of threads, each of the PEs executing a respective thread with respect to different data according to a plurality of instructions of a program by pipelining sequentially input ones of the plurality of instructions to a subsequent PE of the plurality of PEs at each cycle for executing the program;
- and
- a control unit inputting a new instruction to a first PE of the PE array at each cycle,
- wherein, when a branch-taking PE of the PE array takes a branch during the execution of the thread, all non-branching PEs in the PE array stall the respective threads for at least one cycle for synchronizing the PE array wherein the branch-taking PE executes at least one instruction of the branch and is synchronized for execution of a next warp of threads.
1 more element
A method of processing data, the method comprising:
- fetching an instruction of a program to a first PE (processing element) of a PE array at each cycle;
- and
- executing a warp of threads with respective different data in the PE array, the warp of threads executing the program in parallel,
- wherein the instruction is pipelined from the first PE to a subsequent PE in the PE array,
- wherein, when a branch-taking PE of the PE array takes a branch during the execution of the thread, all non-branching PEs in the PE array stall the respective threads for at least one cycle for synchronizing the PE array wherein the branch-taking PE executes at least one instruction of the branch and is synchronized for execution of a next warp of threads.
2 more elements
Dependencies are inferred from the claim text.