Skip to Main Content
In the past few years, computer grids and clusters of computers have been widely used in order to keep up with the high computational performance required by high-end applications. Also, they are especially attractive due to their good performance at relatively low cost, if compared to powerful servers and supercomputers. The same scenario can be faced on the embedded world, where high specialized tasks are usually partitioned to dedicated processors composing distributed systems. This work is focused on the architectural specialization of cluster machines by analysing application behavior and optimizing instruction-set architectures. The motivation for this work relies on the observation that tasks found in embedded software present a behavior that normally can be implemented by a subset of instruction-set architectures. This opens opportunities for optimization by removing the not needed instructions. As a consequence, processors become specialized since their resources fit better to applications performance and power consumption constraints. This work proposes a design flow to adapt cluster machines to the constraints of embedded applications, where high flexibility and performance are achieved by hardware customization and its further distribution. Moreover, it is presented a case of study with the entire design flow description as well as the synthesis results.