As embedded devices, such as mobile smart phones, tablets, Internet TV sets, and so on, require more functions to respond to consumers’ needs, their processors have been becoming more powerful.
Since it is important for embedded processors to maintain their power consumption as low as possible, they cannot simply make their clock frequencies higher to increase their performance; thus, they nowadays consist of multiple processor cores and provide symmetric multi-processor (SMP) environments.
Some processors even go further and include different kinds of processor cores. The Texas Instruments OMAP4 processor and the Renesas Electronics R-Mobile processor are such examples. The OMAP4 processor consists of dual ARM Cortex-A9 cores and dual Cortex-M3 cores, and the R-Mobile processor consists of a Cortex-A9 core and a Renesas SH core.
The OMAP4 processor incorporates Cortex-M3 cores, which are designed as microcontrollers and much smaller than but incompatible with A9 cores, to ofﬂoad multimedia processing and to achieve faster real- time response. The R-Mobile processor incorporates an SH core also to ofﬂoad multimedia processing.
Therefore, incorporating more smaller cores to ofﬂoad the speciﬁc types of processing can be a trend for future embedded processors. Systems software, especially the operating system (OS) kernel, is, however, rather slow to respond to such an archi- tectural change. While there have been researches conductedto support muti-core systems, they targeted server class systems with highly functional processors and their approaches do not ﬁt into embedded processors.
Since there has been no support for such embedded heterogeneous muti-core processors, only approach currently available is to execute independent OS kernels on different processors. A typical conﬁguration for the OMAP4 processor is to execute the Linux SMP kernel on the dual Cortex-A9 and to execute an real-time OS (RTOS) on the less powerful Cortex-M3. The problems of such an architecture are:
1) Linux and RTOS run independently with few cooperations between them and
2) only static functions can be provided by the software executed on the RTOS.
This paper proposes an extensible RTOS architecture for embedded heterogeneous muti-core processors. The architecture splits the RTOS kernel, which runs on a less powerful core, such as Cortex-M3 for OMAP4, and delegate its functions to the user-level kernel (UK) that runs on a powerful core, such as Cortex-A9 for OMAP4.
The kernel on a less powerful core is called a proxy kernel (PK) since the global decisions are made by the UK and it works as a proxy of the UK. Figure 1 shows the overall architectures of the existing and proposed systems on OMAP4. The architecture addresses the problems of the existing systems that consist of the independent OS kernels by making the PK closely coupled with Linux and controlled ﬂexibly via the UK.
The experiment results running micro benchmark programs show that a communication cost between the UK and its user process is negligible and that there are cases where UK outperforms the monolithic kernel. These results conﬁrm that the proposed approach is practically useful.
To read more of this external content, download the complete paper from the online archives at ThinkMind.org.