并行程控 技术领域 本发明涉及一种控制方法以及一种用于在并行操作的多个处理单元上执行多个 程序的方法。
背景技术 机器以及设备常基于可从存储器编程的控制系统 (SPS) 来控制。为了此目的, 微 型计算器通常用以执行检索分别连接至该机器或设备的一些传感器状态的程序, 并基于所 确定的状态而分别接入连接至该机器或设备的一些执行器。 复杂的机器或设备分别可包含 多个传感器以及执行器, 并对于微型计算器的性能具有高需求。
为了分别控制机器或设备, 微型计算器常并行地执行一些程序。该程序可彼此交 互作用, 或彼此独立。例如, 当涉及对于传感器的状态改变或对于传感器的取样频率、 或当 情况可能为对于输出执行器值的最小保证反应时间时, 不同的程序对于微型计算器有不同 的需求。
上至某种程度, 利用在微型计算器中计时较快的微处理器可满足对于控制系统的 所增加需求。然而, 由于物理条件, 这种能力增强不能如所想要的增加, 以至于目前的微处 理器主要依赖几个并行操作的计算核心, 以增加它们的能力。在过去所使用只利用一个计 算核心来控制用于控制机器的数个程序的定义顺序的方法几乎不适合用于将程序分配至 多个计算核心。
DE 196 48 422 C2 提出利用时间片段控制而将计算核心的可用计算时间交替地 分配至用于控制这种机器的有实时能力的程序以及非有实时能力的操作系统。 所提出的时 间片段控制是利用可编程定时器来控制, 该可编程定时器在预定义的时间量到期之后在该 计算核心中导致中断 (INT)。 独立于分配至该操作系统的计算时间, 可确定分配至该操作系 统的计算时间。
基于本发明的目的是提供一种方法以及一种系统, 以在并行操作的多个处理单元 上执行用于控制机器的数个程序。
发明内容 利用包含权利要求 1 的特征的控制方法, 以及利用包含权利要求 12 的特征的系统 来解决本发明的目的。在从属权利要求中指出了本发明的有利具体实施例。
在第一具体实施例中, 时间信号产生器被指派至并行操作的多个处理单元的每一 个, 当该时间信号产生器到期时, 在所指派的处理单元上执行用于执行程序的控制过程。 在 此上下文中, 该控制方法包含下述步骤 : 选择可用于在该处理单元上执行的程序、 将到期的 时间信号产生器设定至预定义的时间持续期间、 以及在该处理单元上开始所选择的程序。
如此一来, 可达成在时间信号产生器所控制的时间持续期间到期之后, 在处理单 元上分别接入控制方法, 在该处理单元上被执行的程序的改变将被控制。 因此, 可使用包含 多个处理单元的常规微处理器, 其中前提是程序只可利用控制指令而在该微处理器的其中
一个处理单元上初始化, 该控制指令在所述处理单元上执行。 特别是, 包含多个计算核心的 x86 型微处理器以这种方式配置, 且可有利地被使用, 以执行该控制方法。
根据常规的方法, 为了利用在微处理器的第二处理单元上执行的控制程序来控制 该微处理器的第一处理单元上的程序初始化, 需要许多时间以及努力, 其通常需要在该第 一处理单元上开始另一个控制程序以及该两个控制程序之间的通信。 由于与其涉及的同步 化努力, 两个处理单元将不可用于执行该微处理器的其它程序达相当长的时间持续期间 ; 因此, 并非该微处理器的全部计算能力都可被使用。
可用于执行的程序可具有实时能力, 且此外, 可提供非有实时能力的操作系统用 于计算核心中的执行。当在相同的处理单元上连续地执行控制方法时, 可交替地选择该有 实时能力的程序以及非有实时能力的操作系统。
通过相应地选择时间信号产生器设定成的预定义的时间持续期间, 时间的持续期 间可被分别指派至所选择的程序或操作系统, 在这期间, 处理单元可分别由该程序或操作 系统使用。因此, 一旦其已被接入, 可影响接入该程序的间隔、 程序用于其执行的最大等待 时间以及多少计算时间是在该程序的配置。并行于该程序的执行, 非有实时能力的操作系 统可用于执行标准工作, 例如, 分别输入或输出程序数据至硬盘或显示器上。 该操作系统或 分别被其控制的程序可在一个或数个计算核心上并行执行。 可在自由的界限内无限制地设定时间的持续期间。 操作系统以及有实时能力的程 序的预定义的时间持续期间可将彼此补足, 以产生指派至处理单元的周期时间。不同的处 理单元可包含不同的相关周期时间。 周期时间被分配至该操作系统以及该有实时能力的程 序的比例可, 例如, 基于参数来修改。 此参数可分别在该处理单元或微处理器的操作期间修 改, 以考虑到由该程控的机器的可变负载条件。
在将到期的时间信号产生器设定至预定的时间持续期间之前, 该预定的时间持续 期间能以该时间持续期间的调度结束自不同处理单元的时间信号产生器的调度到期起不 偏移少于预定义的时间持续期间的如此方式而被适配 (adapted)。因此可保护控制方法不 在相同的时间被多于一个处理单元接入的情况。 如果控制程序执行用于在多个处理单元上 协调一些程序所需并排除数个控制程序情况同时发生的进一步工作时, 这是特别有利的。 这种工作可, 例如, 包含分别将共享的资源指派至该程序或该操作系统, 或控制程序之间的 通信。
通过如所述来调整预定义的时间持续期间, 可通过避免处理单元必须在执行控制 程序之前等待来最大化处理单元的总输出。
调整可通过调度的时间持续期间的一次修改而生效 ; 或者, 可修改指派至该程序 的预定义时间持续期间, 以至于该调整在所有随后的程序接入中生效。相关计算核心的周 期时间可因此改变, 以至于与其它处理单元的周期的冲突一直较少发生。特别是可因此避 免结束周期性地抵触的周期时间 ( 使得每个单一情况中的调整较不可能发生 )。
在进一步的具体实施例中, 控制方法可包含避免进一步接入该控制方法的先前步 骤以及能够进一步接入该控制方法的结束步骤。 如果该控制方法将不在多个处理单元上并 行执行, 如上所述, 这些步骤可作为对于处理错误的额外保护。
由于控制程序在同时因此产生的多重可接入性, 例如, 可基于以关于时间信号产 生器异步的方式发生的事件来接入该控制程序, 例如通过主动地接入在处理单元上执行的
程序。 可将列表指派至每个处理单元, 其中列出了可用于在所述处理单元上执行的程 序。然后在所述列表上的项目下进行选择该程序。因此, 单独的程序可被指派至特定的处 理单元。优选地用以并行执行的程序可被指派至不同的处理单元, 而优选地用于以连续方 法执行的程序可被指派至相同的处理单元。 以此方式, 可将, 例如由一些程控的机器所造成 的程序之间的依赖列入考虑。
使用处理单元的程序分配可由用户执行, 以至于可使用该用户的系统知识 ; 在进 一步的具体实施例中, 可利用该控制程序来执行该分配, 其中该控制程序例如使用至少一 个处理单元的先前容量利用作为用于该分配的确定性基础。利用通过该控制程序的该分 配, 可达成一致该处理单元的均匀容量利用。此外可能分别部分或完全地将处理单元的其 中一个免除来执行程序或免除该操作系统, 以至于可将该处理单元设定成节能模式。
列表中程序的项目可包含该程序的优先性, 且可基于该优先性来执行选择该程 序。因此使得高优先性的程序从计算核心挤出低优先性的程序变得可能。通过将优先性列 入考虑, 被控制机器的时间规则可遵从因此可能增加控制系统的弹性以及可靠性。由于只 针对各自的计算核心来局部地评估列表, 可在不同的计算核心上同时执行具有不同优先性 的程序。
控制方法可在为电子计算器程序产品形式的电子计算器系统上执行, 或储存在电 子计算器可读取的记录装置上。
根据第二具体实施例, 用于执行一些程序的系统包含多个处理单元、 与每个处理 单元相关联的时间信号产生器以及上述控制方法。该处理单元可包含在集成电路中。特 别是, 该处理单元可包含计算核心 ( 核心 ) 或虚拟计算核心 ( 像是用于例如超执行绪程 (hyper-threading))。 因此, 用途可由在该集成电路上该处理单元的紧密型连接来构成, 以 至于例如可利用连接彼此的多个程序来更有效率地完成复杂技术设备的控制。
可将时间信号产生器实施为在时钟信号上操作的计数器, 其中一旦该计数器达到 预定的值时, 每个计数器在其相关联的处理单元中导致中断 (INT)。特别是, 该计数器可倒 数, 且该预定的值可为零。这种计数器已在现有包含多个处理单元的微处理器中被提供。
每个计数器可包含可编程的除法器, 用于将对于每个计数器相同的系统时钟分成 指派至该计数器的时钟信号。 利用这个, 所有的时间持续期间衍生自相同的时间基础, 且具 有已知关于彼此的比例。通过选择计数器所设定成的值, 以及通过相应地编程相关联的除 法器, 可在自由的界限内设定该计数器的时间持续期间, 以至于可实现用于处理具有强烈 不同需求的程序的有弹性系统。
附图说明
在下述中, 将参照伴随的附图来更详细地描述本发明, 其中 :
图 1 示出了受控制的技术设备的示意概图 ;
图 2 示出了图 1 的处理器的示意图 ;
图 3 描绘了用于在图 2 的处理器上执行的方法的流程图 ;
图 4 示出了用于图 3 方法的示范性过程表 ; 以及
图 5 描绘了用于预防在图 2 的处理器上设定的时间持续期间结束的冲突的各种启发法。 具体实施方式
图 1 示出了受控制的技术设备 100 的示意概图。该受控制的技术设备 100 包含以 已知方式连接至主存储器 120、 只读存储器 130、 显示器 140 以及输入装置 150 的微型计算 器 110。该微型计算器 110 通常包含至少一微处理器 ( 处理器, 中央处理单元, CPU) 以及 各种额外的组件, 例如电压供应器以及至该主存储器 120 以及至该只读存储器 130 的接口。 提供该显示器 140 以及该输入装置 150 以允许用户操作该微型计算器 110。利用经由网络 的接口以及连接至该接口的进一步的电子计算器系统, 可随选地或额外地实现该微型计算 器 110 的用途。在一个具体实施例中, 可相应地忽略该显示器 140 以及该输入装置 150。
制造机器 160 包含连接至传感器接口 170 的多个传感器 165, 以及连接至执行器接 口 180 的多个执行器 175。每个该接口 170 以及 180 连接至该微型计算器 110。可提供有实 时能力的网络, 以分别将该传感器 165 连接至该传感器接口 170, 或将该执行器 175 连接至 该执行器接口 180, 及 / 或将该接口 170 以及 180 连接至该微型计算器 110, 例如 EtherCat。
所描绘的制造机器 160 代表了由微型计算器 110 控制的任何想要的机器或设备。 该制造机器 160 可, 例如为 CNC 机器工具或用于制造钢板的轧板机。在替代的具体实施例 中, 可包含少于所描绘的传感器 165 及 / 或执行器 175。该传感器 165 可为模拟及 / 或数 字传感器, 例如为路径传感器、 光传感器、 温度传感器、 速度传感器、 声波或其它传感器的形 式。在复杂的制造机器 160 中, 传感器 165 的数目可多于 100。该执行器 175 可实现模拟 及 / 或数字执行器值, 例如以阀、 驱动器、 光以及温度控制以及其它执行器的形式。复杂的 制造机器 160 可包含用于控制 80 个轴或更多个的执行器。 由组件 110-150 组成的电子计算器系统取样传感器 165, 并取决于所取样的值来 控制执行器 175。 取决于制造机器 160 的配置, 在该电子计算器系统 110-150 上执行一或数 个程序, 以确定该执行器 175 的活化。
图 2 示出了图 1 的微型计算器 110 的处理器 200 的示意图。该处理器 200 包含外 壳 210, 其中配置了四个计算核心 C0-C3。 在其它的具体实施例中, 该处理器 200 可包含不同 的数量的计算核心 C0-C3, 在处理器 200 中计算核心 C0-C3 的典型数目为 2、 4、 8、 16 或 32。 对于该处理器 200 中的计算核心 C0-C3 没有上限 ; 此外, 该处理器 200 中计算核心 C0-C3 的 数目不一定必须为二的次方。 该计算核心 C0-C3 可在该处理器 200 中被物理地实施, 或由虚 拟技术, 例如超执行绪程, 来提供。 每个该计算核心 C0-C3 连接至指派至它的计数器 T0-T3, 该计数器随后连接至指派至它的除法器 D0-D3。所有的除法器 D0-D3 连接至共享的时钟产 生器 220。 该时钟产生器 220 可, 例如位在图 1 的微型计算器 110 中, 或在替代的具体实施例 中, 在该处理器 200 的该外壳 210 内。在优选的具体实施例中, 用于脉冲该计算核心 C0-C3 的时钟信号以及由该时钟产生器 220 提供的时钟信号衍生自共享的时钟信号。
每个计算核心 C0-C3 可使用写入操作以及优选地也以读取操作来接入 D0-D3 指派 至它的计数器 T0-T3 以及该除法器。利用由所指派的计算核心 C0-C3 来执行的写入操作, 该除法器 D0-D3 可被编程成除数, 以至于由时钟产生器 220 提供的时钟信号以其频率被除 以所编程的除数, 且所产生的时钟信号被提供至各自的计数器 T0-T3。
计数器 T0-T3 为当该计数器的状态到达零时在相关联的计算核心 C0-C3 中导致中
断的减量器 (decrementer)。用以减少的开始点的计数器状态可被相关联的计算核心写入 至该计数器 T0-T3。 在优选的具体实施例中, 该计数器 T0-T3 也可被相关联的计算核心停止 以及开始。
除法器 D0-D3 以及计数器 T0-T3 与计算核心 C0-C3 的关联是透明的, 其意指在该 计算核心 C1 至 C3 的其中一个上执行的程序只接入至该除法器 D0-D3 以及至与该程序正执 行所在的计算核心 C0-C3 相关联的计数器 T0-T3。对于所有的计算核心 C0-C3, 用于接入相 关联的除法器 D0-D3 以及计数器 T0-T3 的程序指令是相同的。由于处理器 200 的构造, 不 可能接入不同计算核心 C0-C3 的除法器 D0-D3 或计数器 T0-T3。
如果, 例如在计算核心 C1 上执行的程序将写入与计算核心 C0 相关联的计数器 T0 中, 在该计算核心 C1 上执行的程序必须确保其将在计算核心改变成在该计算核心 C0 上执 行, 或该计算核心 C1 上执行的程序必须连络在该计算核心 C0 上执行的另一个程序, 以至于 后者的程序执行所想要的至计数器 T0 的接入。
如果在计算核心 C0-C3 的其中一个上发生了中断, 例如通过初步地设定中断向 量而在各自的核心 C0-C3 上接入控制程序 ( 调度器 ), 该调度器选择将在相应的计算核 心 C0-C3 上执行的程序。随后该控制程序重设指派的计数器 T0-T3 及 / 或指派的除法器 D0-D3, 并开始所选择的程序。 以此方式, 实施了时间片段机制, 该时间片段机制在新的中断 再次接入该控制程序之前只提供有限的计算时间至所选择的程序, 且该控制程序检查哪个 程序将在下述中继续。 对于所有的计算核心 C0-C3, 控制程序是相同的。因此, 该控制程序将被其指派的 计数器 T0-T3 最后中断的计算核心 C0-C3 分配至可用的程序以在所述计算核心 C0-C3 上执 行。因此, 为了以分配的方式在多个计算核心 C0-C3 上执行一些程序实施了时间片段机制。 通过选择将在各自计算核心 C0-C3( 控制程序在该计算核心 C0-C3 上执行 ) 上局部执行的 程序, 该控制程序在所有的计算核心 C0-C3 上被有效地执行, 因此已达成分配至该计算核 心 C0-C3 的程序负载, 且不再需要通过在单一计算核心上执行的中央控制程序来控制在处 理器 200 上执行的所有程序的复杂方法。
图 3 示出了用于在图 1 的微型计算器 110 中在图 2 的处理器 200 上执行的方法 300 的流程图。该方法 300 代表上述参照图 2 的控制程序 ( 调度器 ) 的必要步骤。
在第一步骤 305 中, 方法 300 在其初始状态中。步骤 305 是在已接入该方法 300 之后由该方法 300 由执行的第一个步骤, 例如通过来自图 2 的计数器 T0-T3 中的其中一个 的中断。在后续的步骤 310 中, 该方法 300 先阻挡该方法 300 的进一步接入, 以预防该方法 300 在多个该计算核心 C0-C3 上并行执行的几个情况。可例如利用已知的处理器 200 的同 步化机制使阻挡生效, 例如信号量 (semaphore) 或相应的寄存器, 其被提供以协调该计算 核心 C0-C3 对不能同时利用的资源的竞争接入。只有在该方法 300 提供超过程序至计算核 心 C0-C3 的分配且妨碍该方法 300 的并行执行的服务时, 才需要服务步骤 310。 这种服务可 例如包括专门使用的资源的分配 ( 例如该只读存储器 130) 至在该计算核心 C0-C3 上执行 的程序。对于至计算核心 C0-C3 的程序小量分配, 在不同的计算核心 C0-C3 上可能允许一 些同时执行的方法 300, 且不需要步骤 310 上所描述的阻挡。
在随后的步骤 315 中, 检查了有实时能力的程序或非有实时能力的操作系统是否 是下一个将在各自的计算核心 C0-C3 上执行。方法 300 以在相同计算核心 C0-C3 上连续
接入该方法 300 的例子中, 该操作系统以及有实时能力的程序以替代的方式执行之如此方 法而被配置。如下更详细地参照图 4 的描述, 如果将执行有实时能力的程序, 该方法 200 分 支成步骤 320, 并从分配至该计算核心 C0-C3 的表中选择项目 ( 该方法 300 在该计算核心 C0-C3 上执行 ), 该项目代表可用于在该计算核心 C0-C3 上执行的潜在的一些程序的其中之 一。
在随后的步骤 325 中, 在以时间控制的方式再次接入方法 300 之前, 确定了将哪个 时间持续期间提供至所选择的程序, 以执行至计算核心 C0-C3 的新程序分配。
然而, 如果在步骤 315 中确定将执行操作系统, 方法 300 分支成步骤 330, 并选择该 操作系统作为将执行的下一个程序。该操作系统可协调其它的程序, 其至计算核心 C0-C3 的其中一个的分配不被该方法 300 控制, 但被该操作系统本身控制。取决于该操作系统的 这种程序在提供给该操作系统的时间帧内由该方法 300 的控制程序来执行。类似于上述步 骤 325 中, 在随后的步骤 335 中确定了哪个时间持续期间被指派至该操作系统用于执行。
在执行步骤 325 及 / 或 335 之后, 该方法在步骤 340 中继续, 该步骤 340 检查所定 义的时间持续期间的结束是否与定时器 T0-T3 其中之一被编程所针对的不同时间持续期 间的结束抵触。为了此目的, 所有计数器 T0-T3 的到期时间可被储存在存储器区域中, 该存 储器区域可被每个计算核心 C0-C3 接入。 在此上下文中, 时间持续期间的结束的冲突意指在步骤 325 或 335 其中之一确定 的该时间持续期间的结束更接近定时器 T0-T3 其中一个到期且方法 300 比已预定的还早被 接入的时间点。此预定范围至少相应于该方法 300 用于一次执行通常所需的时间。
如果步骤 240 确定预定义的时间持续期间的结束与另一个时间持续期间冲突, 在 步骤 345 中调整该预定义的时间持续期间。为了此目的, 该预定义的时间持续期间可增加 或减少一预定的值。步骤 345 中用于调整该预定的时间持续期间的启发法也可考虑计数器 T0-T3 导致中断的时间点的周期性。在一个具体实施例中, 重复步骤 340 以及 345, 直到已 达成该时间持续期间的调整, 其确保将不会发生冲突。可使用用于预防步骤 340 以及 345 的无限循环的一般保护步骤。
在步骤 350 中, 与方法 300 被执行所在的计算核心 C0-C3 相关联的计数器 T0-T3 被设定成相应于预定的时间持续期间的值。
最后在步骤 355 中, 移除了在步骤 310 中设定的阻挡, 以至于方法 300 的进一步接 入变得可能, 并开始了在步骤 320 或 330 其中之一中选择的程序或操作系统。优选地, 这些 动作都在一个单一步骤中被不能分离地执行, 以至于该方法 300 在所选择的程序或操作系 统分别在计算核心 C0-C3 上开始之前不被重新开始。
图 4 示出了用于图 3 的方法 300 的示范性过程表 400。单独的过程表 400 被指 派至图 2 的每个计算核心 C0-C3。通过将程序 410-450 输入该过程表 400 中, 执行该程序 410-450 至各自的计算核心 C0-C3 的分配被执行。
在表 400 中记录程序 410 至 450。指派优先性、 等待时间、 状态以及一些时间步骤 给每个输入的程序 410-450。 该优先性指出将执行该程序 410-450 的急迫性, 高优先性相应 于高急迫性。在一些可用于执行的程序 410-450 中, 由方法 300 的控制程序选择具有最高 优先性的程序 410-450。该程序 410-450 的等待时间指出在该程序 410-450 的连续接入之 间经过了多少时间。该等待时间通常以可调整用于计算核心 C0-C3 的系统时钟单位指出,
其中该系统时钟总计可为 10μs 至 100ms, 优选为 100μs 至 1ms。在一个具体实施例中, 该 系统时钟被设定成表 400 中所记录的所有程序 410-450 的最短等待时间。例如, 为了简化 与可整合于图 1 的制造机器 160 中的另一个处理系统的通信, 进一步可提供另一个时钟以 同步化该系统时钟。因此, 在技术设备 100 的架构内可分别提供多个分配的时钟产生器或 时钟, 该时钟产生器或时钟提供用于不同控制过程的时间基础。可例如通过插入等待周期 而发生同步化。
程序 410-450 的状态指出该程序 410-450 是否可用于执行、 等待或被执行。如果 程序 410-450 的状态是高度准备好的, 其已等待用于执行够久, 且准备好被执行。如果该 程序 410-450 不需要任何计算时间, 并等待其下一个接入, 该状态为等待中。如果该程序 410-450 被执行, 其状态为执行中。随着每个系统时钟, 每个程序 410-450 的时间步骤数目 被减少 1。
如果程序 410-450 的时间步骤的数目到达零, 该程序 410-450 的状态被设为高度 准备好的。然而, 该时间步骤被继续计数, 直到由图 3 的方法 300 的控制程序选择用于执行 的程序 410-450。 该程序 410-450 的状态然后被设为执行中, 且该程序 410-450 的时间步骤 数目被设成其等待时间。
程序 410-450 的状态从等待到高度准备好的改变不因此立即导致在图 2 的其中一 个计算核心 C0-C3 上执行该程序 410-450。 反而, 该程序 410-450 的状态以信号通知其可行 性, 以及在方法 300 的控制程序的下一个接入期间, 程序 410-450 被执行, 其状态为高度准 备好的以及其同时具有最高优先性。
如果所执行的程序 410-450 已完成其工作, 且直到其下一次被接入之前不需要任 何进一步的计算时间, 该程序 410-450 接入图 3 的方法 300 的控制程序。在过程表 400 中 的该程序 410-450 的状态从执行中被设成等待中。
在一个具体实施例中, 由方法 300 的控制程序使程序 410-450 分别至表 400 或计 算核心 C0-C3 的分配生效。该控制程序针对每个接入将哪个程序 410-450 在什么时候被选 择文件化。如果没有程序 410-450 可选择, 因为没有一个可用于执行, 该计算核心的闲置时 间被文件化。该控制程序从文件化的工作时间以及闲置时间来确定该计算核心的容量利 用, 且如果需要的话, 将程序 410-450 分配至计算核心 C0-C3, 其容量利用低于其它计算核 心 C0-C3 的容量利用。
也能以使得最小数目的计算核心 C0-C3 展现尽可能高的容量利用的方式来执行 分配, 以至于剩余的计算核心 C0-C3 完全不被使用或只使用一小程度, 且可转为节能模式。
在进一步的具体实施例中, 由微型计算器 110 的用户手动地执行程序 410-450 分 别至表或至计算核心 C0-C3 的分配。如同上述所解释的, 然而方法 300 的控制程序可收集 相应的文件化项目, 基于该文件化项目, 该用户可执行该分配。作为支持的手段, 可例如以 列表或图表的形式来处理所文件化的数据。在一个替代方案中, 将多个计算核心 C0-C3 的 容量利用程度作为时间的进程来呈现给该用户, 因为该例子可以是连同平均的该计算核心 C0-C3 容量利用平均程度。在图 1 的微型计算器 110 的操作期间, 可改变程序 410-450 分别 至表 400 或至计算核心 C0-C3 的分配, 其允许对于该微型计算器 110 的变动条件或或需求 的调整。
也可例如通过用户将一些程序 410-450 分别手动地分配至表或计算核心 C0-C3,以及通过方法 300 的控制程序将其它程序分别自动地分配至表或计算核心 C0-C3 来并行地 将两方法皆执行。
图 5 示出了用于预防在图 2 的处理器上设定的时间持续期间结束的冲突的各种启 发法。以水平的方向指出了时间进程。在垂直的方向, 在示范性的计算核心 C0 或 C1 上指 出了四行程序 410-450 以及操作系统 510 的执行顺序。深色区域代表操作系统的配置, 明 亮区域为有实时能力的程序 410-450 的具体实施例。
在明亮以及深色区域之间的每个改变的时候, 接入了图 3 的方法 300 的控制程序。 当与在各自的计算核心 C0-C3 上由操作系统以及有实时能力的程序 410-450 使用的时间相 比时, 该方法 300 的执行时间很少, 使得它们不在图 5 的描绘中被指出。
第一行描绘了计算核心 C0 上操作系统以及有实时能力的程序 410-450 的配置顺 序。第二行示出了计算核心 C1 上该操作系统以及有实时能力的程序 410-450 的相应配置 顺序。连接该两行的垂直虚线示出了计算核心 C0 以及 C1 上方法 300 的接入冲突点。
在第三行中, 第二行的进程沿着时间轴而被平移特定的值。此平移是因为指派至 程序 410-450 的时间持续期间延长了预定义的时间 Δ 所造成, 以预防在图 5 描绘的右边结 束时的冲突 ( 垂直虚线 )。时间 Δ 的插入只执行一次。 第四行概述了用于预防冲突的替代方法。这里, 指派至程序 410-450 的时间持续 期间在指派至该程序 410-450 的任何时间持续期间到期之后延长了时间 Δ。
在第三行之后用于预防冲突的启发法似乎较简单, 因为只考虑了在另一个计算核 心 C0 上的方法 300 的下一个接入。
在第四行之后的方法具有分别产生为指派至操作系统的时间持续期间以及指派 至程序 410-450 的时间持续期间的总和的周期时间可相互对照调整的优势。
取决于第一以及第二行进程的周期时间关于彼此而具有的比例, 可选择第三以及 第四行的方法, 以预防计算核心 C0 以及 C1 上方法 300 的时间冲突。两种启发法的组合同 样地是可能的, 例如在第一调整中通过提供线性依赖的周期时间以及在第二调整中通过对 于彼此的一次平移。