Programming heterogeneous multicore embedded SoCs
Ajay Jayaraj, Texas Instruments
embedded.com (April 25, 2014)
Over the last decade, the market demand for increased processing performance with reduced power and area footprint has remained strong and embedded SoCs have stepped up to the challenge. This performance, power and area (PPA) improvement has been achieved by adding cores – both general purpose cores and specialized cores such as DSPs and GPUs among other things. This trend has resulted in networks of heterogeneous multicore embedded SoCs.
Traditional approaches to programming such complex SoCs focus on manually partitioning the application across the various cores and hand optimizing the appropriate sections of the application for a given core. This approach tends to yield the maximum entitlement but has the following drawbacks:
- The partitioning is static and has to be redone for each system configuration.
- Increased time to market because programmers need to develop their own dispatch, communication and synchronization mechanisms
- The resulting application is not portable
- Requires detailed knowledge of the SoC and network architecture
- Make modeling “what-if” scenarios difficult because significant rework is required to move a section of the application that has been mapped and optimized for one type core to another core
An important observation is that as embedded SoCs increase in complexity, they are starting to look a lot like their desktop counterparts from a software architecture standpoint.
To read the full article, click here
Related Semiconductor IP
- 1.8V/3.3V I/O library with ODIO and 5V HPD in TSMC 16nm
- 1.8V/3.3V I/O Library with ODIO and 5V HPD in TSMC 12nm
- 1.8V to 5V GPIO, 1.8V to 5V Analog in TSMC 180nm BCD
- 1.8V/3.3V GPIO Library with HDMI, Aanlog & LVDS Cells in TSMC 22nm
- Specialed 20V Analog I/O in TSMC 55nm
Related White Papers
- Using dynamic run-time scheduling to improve the price-performance-power efficiency of heterogeneous multicore SoCs
- How FPGAs, multicore CPUs, and graphical programming are changing embedded design
- Programming heterogeneous multiprocessors
- Defining standard Debug Interface Socket requirements for OCP-Compliant multicore SoCs: Part 1