There are several key system-level questions involved in designing an MPSOC based on configurable processors:
How many processors are needed?
How should these processors be configured and extended?
Should the multiple processors be homogeneous or heterogeneous?
How should the processors communicate? Standard buses? Network on chip (NoC)? Point to point?
What is the right concurrency model? Pipelined? Dataflow? Multithreading?
How can software developers extract concurrency from application software?
How should applications be partitioned to best meet design goals?
How can the design space encompassing multiple configurable processors, new inter-processor communications architectures, and memory choices best be ...