Offering techniques for programming Multi-Processor Systems-on-Chip (MPSoCs) capable of executing simultaneous multiple applications, this book includes methodologies to narrow the software productivity gap, and reviews challenges underlying current practices.
Introduction.- Background and Problem Definition.- Related Work.- MPSoC Runtime Management.- Sequential Code Flow.- Parallel Code Flow.- Extensions for Software Defined Radio.- Multi-application Flow.- Conclusions and Outlook.
This book provides embedded software developers with techniques for programming heterogeneous Multi-Processor Systems-on-Chip (MPSoCs), capable of executing multiple applications simultaneously. It describes a set of algorithms and methodologies to narrow the software productivity gap, as well as an in-depth description of the underlying problems and challenges of today's programming practices. The authors present four different tool flows: A parallelism extraction flow for applications written using the C programming language, a mapping and scheduling flow for parallel applications, a special mapping flow for baseband applications in the context of Software Defined Radio (SDR) and a final flow for analyzing multiple applications at design time. The tool flows are evaluated on Virtual Platforms (VPs), which mimic different characteristics of state-of-the-art heterogeneous MPSoCs.