TILE-BASED PROCESSOR ARCHITECTURE MODEL FOR HIGH-EFFICIENCY EMBEDDED HOMOGENEOUS MULTICORE PLATFORMS
First Claim
1. A processor allowing to execute threads of instructions in parallel comprisingone or more instruction memories comprising a plurality of instruction bundles comprising one or more instructions,a plurality of point-to-point communication means, hereafter called data communication links, wherein data can be stored, comprisinga write port wherein data can be written by performing a write operation and wherein information about write operation availability can be obtained,a read port wherein data can be read following a predefined order in relation to the sequence of write operations previously performed on said write port by performing a read operation and wherein information about read operation availability can be obtained,a plurality of processing means, hereafter called processing elementswherein said instructions are executed by processing input data obtained from one or more said data communication link read ports and by writing the data produced by the execution to one or more said data communication write ports,wherein data stored in the data communication links can be explicitly managed by performing said read and write operations provided by said data communication links based on instruction data,wherein data communications between instructions executed on said processing elements are only performed using said data communication means,wherein said instruction executions on said processing elements are synchronized based on read and write operation information availability provided by said data communication links,wherein for each instruction memory there is one of said processing elements that is a branch unit providing an address of a next said instruction bundle to execute.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a processor which comprises processing elements that execute instructions in parallel and are connected together with point-to-point communication links called data communication links (DCL). The instructions use DCLs to communicate data between them. In order to realize those communications, they specify the DCLs from which they take their operands, and the DCLs to which they write their results. The DCLs allow the instructions to synchronize their executions and to explicitly manage the data they manipulate. Communications are explicit and are used to realize the storage of temporary variables, which is decoupled from the storage of long-living variables.
-
Citations
12 Claims
-
1. A processor allowing to execute threads of instructions in parallel comprising
one or more instruction memories comprising a plurality of instruction bundles comprising one or more instructions, a plurality of point-to-point communication means, hereafter called data communication links, wherein data can be stored, comprising a write port wherein data can be written by performing a write operation and wherein information about write operation availability can be obtained, a read port wherein data can be read following a predefined order in relation to the sequence of write operations previously performed on said write port by performing a read operation and wherein information about read operation availability can be obtained, a plurality of processing means, hereafter called processing elements wherein said instructions are executed by processing input data obtained from one or more said data communication link read ports and by writing the data produced by the execution to one or more said data communication write ports, wherein data stored in the data communication links can be explicitly managed by performing said read and write operations provided by said data communication links based on instruction data, wherein data communications between instructions executed on said processing elements are only performed using said data communication means, wherein said instruction executions on said processing elements are synchronized based on read and write operation information availability provided by said data communication links, wherein for each instruction memory there is one of said processing elements that is a branch unit providing an address of a next said instruction bundle to execute.
Specification