AMIDAR: A Class of Reconfigurable Processors
The figure shows the basic structure of an adaptive processor. It consists of four main types of components: a token generator, functional units (FU), a token distribution network and a communication structure. The token generator receives instructions and generates tokens for the functional units. The tokens describe, what the functional units have to do to accomplish the execution of the original instruction. The tokens are distributed over the token distribution network in parallel, the required data for the functional units over the communication structure. A functional unit begins the execution of a specific token as soon as the data ports have the data with the corresponding tag. Upon completion of an operation the result is sent to a port of the destination functional unit. An instruction is completed, when all the corresponding tokens are executed. To keep the processor executing instructions, one of the tokens must be responsible for sending a new instruction to the token generator. Because the tokens can be seen as micro instructions and the tokens trigger the functional units, we call our architecture a micro instruction driven architecture.
This data driven approach has a number of advantages:
Although, this model looks like a dataflow machine, it has to be noted, that it actually processes instructions by this scheme and not application data.