概况
eT-Kernel™ MCE (Multi-Core Edition)是款使用于多核处理器的嵌入式实时操作系统。最适合用于数码家电、车载设备及移动设备等新一代高功能嵌入式系统的理想选择。即使是初次使用多核处理器,也能透过其搭载的多核处理器软件开发技术,如:现有软件资产的再利用、来灵活进行系统设计。
可混合SMP型程序与AMP型程序
eT-Kernel MCE是属于操作系统的一种,即可同时在一个实时操作系统上实现SMP型和AMP型的软件配置。

eT-Kernel MCE搭载了eSOL特有的独特调度功能。通过该功能,可以在一个系统内同时存在SMP型/AMP型混合的多个程序。以“Single Processor Mode (SPM) ”和“True SMP Mode (TSM) ”的基本调度模式为基础,共备有4个调度模式。根据程序选择适当的模式,可以在一个系统中实现SMP型程序的高吞吐量等优势以及通过AMP型程序来达到高度实时性和软件资产再利用性等优势。此外,在一个操作系统中控制所有CPU内核上的程序,因此,不需要特殊的操作系统服务来实现内核间的通信/同步。
根据该eT-Kernel MCE的调度方式,可同时实现以下优势。
保证与使用单核处理器时一样的实时性
AMP型程序与在单核处理器上作业时一样,有一个专属的CPU内核,按照可预测的顺序执行程序,保证程序内各项处理的实时性。
在整个程序中,确保最高的平均吞吐量
SMP型程序可以将整体的平均吞吐量提高到最高。最适合用于不要求各个处理都必须实现实时性的“Best Effort”型程序。
对于不同CPU内核上的程序间的通信/同步,可使用通常的API
在程序间实施通信/同步时,尽管执行的CPU内核不同,但仍可使用eT-Kernel MCE提供的通信/同步API。该API与通常任务内使用的API相同,因此,不需要重新学习机制及API的使用方法。此外,是通过一个操作系统来提供服务的,因此,可以省去操作系统间的通信时间,实现高速通信/同步。
可实现软件资产的再利用
轻易实现面向单核处理器的软件资产的再利用
即使不是为多核处理器设计的单核处理器的软件资产,采用eT-Kernel MCE的调度方式,也可以轻易在多核处理器上再利用。
提供适用于多核处理器的开发环境的eBinder®开发工具
通过使用eBinder,一边继承与使用单核处理器时相同的开发模型,同时仍然保留了多核处理器的功能和工具,可以轻松解决使用多核处理器时固有的复杂问题,使多核处理器的软件开发更加高效。除了分别在每个CPU内核上执行的各个程序调试外,协调作业的程序之间或整个系统的解析等也可以在一台PC上实施。
Back to top
调度方式
在eT-Kernel MCE基础系统中,可以在一个多核处理器、一个eT-Kernel MCE上混合1或多个 (最大为多核处理器中的内置个数) AMP型或SMP型程序。根据程序的性质,可以采用各种灵活的系统配置,同时结合每种AMP型或SMP型的优点。
使其成为可能的是eT-Kernel MCE提供的特有的调度方式。生成任务时,指定该程序在哪种模式下进行运行。作为调度方式,以下面的2种基本基础模式,共备有4个调度模式。无论在哪种模式下,都将基于优先级别采取调度。
Single-Processor Mode (SPM)
开发人员可指定程序执行的单一CPU内核的模式。据此,就像AMP型系统那样,只在指定的内核上执行程序。
SPM的优势
- 在多核处理器的基础下,可轻易进行对单核处理器的软件资产再利用。
- 对于设备驱动的再利用也有效。如果在中断处理例行程序和驱动任务中选择SPM,并指定特定的内核,则可以让单核驱动直接运行。
- 与单核处理器和通常的AMP型系统相同,通过指定CPU内核进行作业,不执行SPM型程序以外的程序,因此,可确保以往的实时性不变。
True SMP Mode (TSM)
让OS自行选择程序作业的CPU内核模式。程序内的任务分配按照该优先顺序向空闲的内核中进行动态分配,并加以执行。
TSM的优势
- 通过OS进行动态负荷分散。
- 可以在最大限度内提高整个程序的平均吞吐量。

并且,以该基本调度模式为基础,包括2种调度模式。
Single Processor Mode on TSM cores (SPM on TSM)
从执行TSM程序的多个内核 (TSM内核)中,开发者可指定进行程序作业的单一CPU内核的模式。这样,程序只在指定的内核上被执行,在该内核上也会执行其他的TSM程序及SRL-on-TSM程序。
SPM on TSM的优势
- 即使是只有2个CPU内核的多核处理器上,也可以混构SMP型/AMP型程序
- 可有效地对设备驱动的再利用
- 如果中断处理例行程序和驱动任务选择SPM on TSM并指定特定的内核,则不需要驱动任务的自旋锁处理
- 可以减少SPM时容易发生的CPU内核的停机时间,有效利用CPU内核资源
Serialized threads on TSM cores (SRL on TSM)
串联执行指定的任务集 (通常指属于某个进程的所有任务) 的模式。串联化是指这些任务不在多个内核上同时执行。在该点与SPM和SPM on TSM相同,但不同的是,被执行的内核不是固定的,是跨越多个TSM内核的点。以属于某进程的任务集为对象进行串联,而不会对属于其他进程的任务进行串联。这样,如果让多个进程在本模式下作业,则对于进程内的任务集来说,实现了与单核处理器相同的串联动作,另一方面,会以进程为单位,对其他进程进行负载均衡,可以获得SMP的自动负载分散的优势。
SRL on TSM的优势
- 在多核处理器的基础下,可以对单核处理器的软件资源再利用,执行 SMP调度
SPM on TSM、SRL on TSM的系统构成镜像

4个调度模式的比较
调度模式 | 执行内核 | 线程的内核移动 | 动态负载分散 | 被其他内核干扰 |
Single Processor Mode (SPM) |
SPM内核 | No | 生成任务时固定 | 没有或被限定 |
True SMP Mode (TSM) | TSM内核 | Yes | OS自动调整 | 有 |
Single Processor Mode on True SMP (SPM on TSM) |
TSM内核 | No | 生成任务时固定 | 有 |
Serial on True SMP (SRL on TSM) |
TSM内核 | Yes | 按任务集(进程)自动调整 | 有 |
系统构成示例
使用拥有4个CPU内核的多核处理器时的系统构成示例。使用SPM on TSM、SRL on TSM时,模式将进一步增加。
系统构成示例

Back to top
软件资产的转移镜像
通过指定Single Processor Mode (SPM) 、Single Processor Mode on TSM (SPM on TSM) 、Serial on TSM (SRL on TSM) 可以迅速轻易地在多核处理器上对单核处理器上的现有软件资产进行再利用与现有AMP型程序的转移。
以下是转移AMP型系统时的镜像图。
什么是SMP?什么是AMP? |
---|
在多核处理器上构建的软件构成中,包括对称型多处理 (Symmetrical multi-processing : SMP)和非对称型多处理 (Asymmetrical multi-processing : AMP) 2种。 AMP是一种功能分布式的软件配置,在拥有多个CPU内核的系统中,指定每个内核的作用/用途,并允许每个内核处理一个独立的程序。 另一方面,SMP是指不决定各个CPU内核的作用/用途,通过多个内核处理单一程序的负载分散型软件构成。 |
Back to top
构建SMP型程序时的注意事项 |
---|
SMP型程序拥有使整体的平均吞吐量达到最大限度的优势,从此概念上来看,有几点需要注意。 关于SMP型程序,程序被动态划分给多个CPU内核并被执行,因此,无法预测各个进程处理的执行顺序和CPU内核分配,对于某些进程的实时性无法得到可靠的保证。。此外,以往的面向单核处理器的现有程序中,基于优先级别的调度方法来执行排除时,有时会因同步、排除的做法而发生问题,比如低优先级别的程序在CPU内核空闲时被执行。 |
Back to top
TRON论坛的多核处理器与MP T-Kernel的关系 |
---|
TRON论坛在推进适用于多核处理器的MP T-Kernel的开发。eSOL至今作为TRON论坛的干事会员,将eT-Kernel MCE的专有技术和科技贡献给TRON论坛,并也为创建MP T-Kernel标准规范做出了积极的贡献。(目前为普通会员) |
Back to top