确定性执行和同步包括执行系统任务的多个处理核心的信息处理系统的方法技术方案

技术编号:7158294 阅读:345 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及包括两个处理核心的信息处理系统。由于由该系统执行应用程序包括应用任务的执行和系统任务的执行,所以该系统包括执行系统任务的微内核,该系统任务与硬件资源直接相关。该处理系统包括:微内核的计算部分mN-TT,其用于执行与切换核心A上的任务相关的系统任务;微内核的控制部分mN-ET,其用于执行与核心A不同的核心上的、与控制核心A上的任务分配顺序相关的系统任务。应用:微电子,具有高的计算能力的嵌入式电子系统。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于。本专利技术能够特别地应用于微电子领域或应用于具备高计算能力的嵌入式电子系统领域。
技术介绍
半导体工业正面临着令人失望事实不再有任何可靠的途径来显著地增加处理器的性能水平,至少在单处理器级别上是不可能的。只有使用多个并行操作的处理器的系统才能形成令人感到期望的途径来增加这些系统的计算能力。实际上,20世纪60年代进行的研究表明,并行计算系统的计算能力与效率之间的比率可能远远高于顺序系统。如今,在诸如多媒体、通信或实时处理系统等领域中的新应用针对消耗的功率水平和受控的表面面积提出越来越高的计算能力。由于不能增加单核心的处理能力,所以唯一的解决方案是增加核心的数量并使这些核心并行操作,从而给出了新的架构概念,即片上并行系统。在处理器的相当具体的上下文(即嵌入式系统)中,这种增加同一芯片上的执行核心的数量的趋势是非常明显的。在介质方面,应当趋向于引入或者甚至标准化具有几十甚至几百个执行核心的系统。这些系统中值得引用的是片上多处理器系统,通常用首字母缩写“MPSoC”来表示,其表示“片上多处理器系统”。然而,并行系统比顺序系统更难以编程和调试。应用程序的不断增加的复杂度使得这些编程和调试更加困难。在嵌入式应用中,期望集成越来越多的功能以及要被处理的数据量的不断增加也增加了这些困难。例如,蜂窝电话与具有多媒体、定位甚至游戏功能的电信功能相关联。这产生了嵌入式系统,在该嵌入式系统中,密集的计算任务与控制占主导的任务一起运行,使得应用程序的各种元件之间具有非常强的交互。这样,响应于相关联的实时约束,对不同核心的处理功能进行同步以最佳地管理高效的并行性是关键的性能和能力因素。在有效地操作嵌入式系统的并行架构方面,这是主要的困难。不得不从三个方面来看待该困难,即不确定性的掌握、通信的掌握以及控制的掌握。一旦已经识别、从应用程序中提取并在程序中表示了潜在的并行性,则接下来关键是能够以给定的硬件架构来有效地实施这种并行性。例如,在MPSoC中,为了从程序员进行的提取应用程序并行性的工作中获得最大利益,必须最佳地向芯片的所有资源分发众多的处理序列,虽然这些序列通过数据相依性或执行控制相依性而相互关联。下文中,这些序列将被称为“执行任务”执行任务与处理核心上处理功能的执行相关。应当指出的是,软件技术人员也将其称为“线程”。在本申请的剩余部分中,我们将不做区分,并且术语“任务”将仅指代执行任务。为了对MPSoC 上的这些任务的执行进行组织以及为了方便开发人员的工作,在纯粹的应用程序部分以及其他所谓的“系统”部分中构建针对它们的执行的软件支持,它们的功能是用于抽象底层硬件的资源。为了最好地利用由任务表示并在MPSoC中可用的并行性,一方面有必要研究要在各种核心上执行的处理功能的选择方式,另一方面有必要研究使它们一起操作的方式,即如何在硬件上组织控制任务执行的基本软件。因此,同样地,如同程序表示应用程序并行性的潜在性那样,关键是找到一种方式来通过适当地控制基本软件级(通常称为“内核”) 上的任务来表示架构并行性的潜在性。该研究应当考虑会不利地影响很好地使用架构的潜在并行性的所有情况。首先,存在着受访问关键共享资源(诸如中央存储器、网络、通信总线或任务管理器)限制的风险。还存在着不能足够好地管理任务之间的相依性的风险,尤其是在所述任务具有动态特性时。最后,存在着不能控制并行执行的不确定性从而使得程序调试复杂且困难的风险。处理该问题的一个标准方式是分层软件方法,在该方法中,至少能够将应用层与内核相区分,其中,应用层包括要被执行的任务,所述内核抽象硬件资源并管理机器上的任务的有效执行。通常内核自身被组织成两部分,一部分称为“微内核”,其执行与硬件直接相关的所有系统功能(诸如管理寄存器、计时器和外围设备等),以及另一部分在本文中被称做“系统层”,其负责任务间通信和其他的高级任务控制方面。该研究应当达到组织内核这样的顶峰,其中,对内核进行组织定义了选择处理核心的方式以及使处理核心以协调和高效的方式进行操作的方式。这构成了微电子学和嵌入式软件行业当前面临的主要挑战之一,并且本专利技术为此提供了解决方案。现有的解决方案建议对称地使用处理核心来执行内核。这在“对称多处理”(SMP) 类型的结构中得到实施。例如,其可以包括使Linux或Windows (注册商标)类型的相同的内核在每个不同的处理核心上执行。然而,主要的缺点在于,Linux或Windows (注册商标) 类型的内核不能在两个不同的核心上以实际上同时的方式被执行,至少对于内核的关键功能是如此的。因此,并行性被局限于内核的非关键性功能。这正是本专利技术建议通过将内核的一些关键功能分发到多个处理核心上来解决的其中一个技术问题。还存在着所谓的“划分”解决方案,其建议每个处理核心应当专用于相互未意识的活动。然后通过共享存储空间来进行交换。例如,标题为“Real-time threading service for partitioned multiprocessor systems” 的、专利申请号为 W0/2007/038011 的专利描述了如何使核心专用于执行实时任务,从而为在另一核心上执行的非实时内核执行的应用程序提供结果。类似地,存在着其他解决方案,其中,每个核心执行使其专用于特定类型的处理功能(逻辑计算、密集计算、用网络进行输入/输出中断等)的内核。典型的示例是使一个核心专用于计算而使其他核心专用于处理中断以为外围输入/输出服务。在这种典型情况中,计算核心的内核能够执行对源自由核心使其可用的输入/输出的异步数据的计算,其中在该核心中对中断的采取进行管理。中断对应于程序外部事件的发生,所述事件触发了当前任务的执行的暂停,以便执行另一个更高优先级的任务(这种执行上下文的改变称为切换)。外部事件可以是真实或模拟时钟的超前,更高优先级的任务有可能由计时器触发。这显然是受时间限制的实时任务的情况;或者“由时间触发”(TT)假设实时任务必须在给定时间之前结束,其也必须在给定时间之前开始,这依赖于任务的执行持续时间。 实时任务由计时器触发,该计时器在物理上由石英晶体振荡器来速率,因此形成了真实的时钟。外部事件也可以是数据传递的完成,则更高优先级的任务被称为经历输入-输出中断的“事件触发”(ET)。在这种类型的相对传统的设计中,采取中断的核心和计算核心弱耦合。这种类型的解决方案类似于具有协处理器的架构,其中,协处理器的协作依赖于数据和相关联信号收集的提供。这种解决方案的一个优点在于,其为快速输入/输出提供了良好的响应性,也就是说,其能够进行相关的基本计算而不必以任何方式来干扰计算核心上的处理功能的调度。当要被执行的任务彼此独立时该方法是有效的,也就是说,当他们需要很少或不需要数据交换和/或同步时。然而,当输入/输出要求与计算的强同步时或当存在着具有不同速率的多个输入/输出时,这种类型的解决方案不是非常有效。这又成为本专利技术建议解决的一个技术问题。另一现有的解决方案的种类由“主-从”类型的内核架构构成(如标题为"Coordination and synchronization of an asymmetric, single-chip, dual multiprocessor”的美本文档来自技高网...

【技术保护点】
1.一种包括两个处理核心的信息处理系统,由该系统执行应用程序包括:应用任务的执行和系统任务的执行,该系统包括执行与硬件资源直接有关的所述系统任务的微内核,该处理系统包括:第一核心A上所述微内核的计算部分mN-TT,该计算部分mN-TT执行与所述核心A上的任务的切换相关的系统任务,包括为每个任务更新表明该任务是否是可执行的状态以及为该任务收集执行数据,所述状态被包括在与该任务相关联的执行上下文中,所述状态能够为:表明该任务就绪的值;表明该任务空闲的值;表明该任务错误的值;第二核心O上所述微内核的控制部分mN-ET,该控制部分mN-ET执行由输入/输出中断触发的应用任务以及执行与对所述核心A上的任务分配顺序的控制相关的系统任务,所述系统任务包括管理:就绪任务的有序列表,和/或;空闲任务的有序列表,和/或;错误任务的列表;所述处理系统的特征在于,由所述核心A执行的与所述任务的切换相关的系统任务包括在每个任务的所述执行上下文中更新:最早的执行开始限制时间和/或最晚的执行结束限制时间;剩余执行时间配额;以便所述核心O以一顺序对就绪任务的列表中的任务进行排序,所述顺序使得能够根据每个任务的执行限制时间和根据每个任务的执行时间配额来执行每个任务。...

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:C·奥萨盖斯
申请(专利权)人:原子能和辅助替代能源委员会
类型:发明
国别省市:FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1