并行程控.pdf

上传人:r7 文档编号:4061207 上传时间:2018-08-13 格式:PDF 页数:15 大小:1.73MB
返回 下载 相关 举报
摘要
申请专利号:

CN201080053025.8

申请日:

2010.10.26

公开号:

CN102667648A

公开日:

2012.09.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G05B 19/042申请日:20101026|||公开

IPC分类号:

G05B19/042; G06F9/48

主分类号:

G05B19/042

申请人:

倍福自动化有限公司

发明人:

拉蒙·巴斯

地址:

德国维尔

优先权:

2009.11.23 DE 102009047024.7

专利代理机构:

北京安信方达知识产权代理有限公司 11262

代理人:

栗若木;曲鹏

PDF下载: PDF下载
内容摘要

本发明涉及一种用于在并行操作的多个处理单元上执行程序的控制方法,其中时间信号产生器被指派至每个处理单元,在该时间信号产生器到期之后,该控制方法在指派至其的处理单元上执行,且该方法包含下述步骤:选择可用于在该处理单元上执行的程序、将所执行的时间信号产生器设定至特定的持续期间、以及在该处理单元上开始所选择的程序。

权利要求书

1: 一种用于在并行操作的多个处理单元 (C0-C3) 上执行程序 (410-450) 的控制方法 (300), 每个处理单元 (C0-C3) 与时间信号产生器 (220, D0-D3, T0-T3) 相关联, 在该时间信 号产生器 (220, D0-D3, T0-T3) 的到期之后, 在该相关联的处理单元 (C0-C3) 上执行该控制 方法 (300), 该控制方法 (300) 包含下述步骤 : - 选择 (320) 可用于在该处理单元 (C0-C3) 上执行的程序 (410-450) ; - 将该到期的时间信号产生器 (220, D0-D3, T0-T3) 设定 (350) 至预定义的时间持续期 间; 以及 - 在该处理单元 (C0-C3) 上开始 (355) 该选择的程序 (410-450)。
2: 根据权利要求 1 所述的控制方法 (300), 其中可用于执行的该程序 (410-450) 是 有实时能力的, 且有实时能力的操作系统 (510) 额外地可用于执行, 且其中对于在相同处 理单元 (C0-C3) 上该控制方法 (300) 的连续执行, 以交替的方式选择该有实时能力的程序 (410-450) 以及该有实时能力的操作系统 (510)。
3: 根据权利要求 2 所述的控制方法 (300), 其中该操作系统 (510) 以及该有实时能 力的程序 (410-450) 的该预定义的时间持续期间将彼此补足, 以产生指派至该处理单元 (C0-C3) 的周期时间。
4: 如前述权利要求任一项所述的控制方法 (300), 包含比较 (340) 该预定义的时间持 续期间的结束是否自指派至不同处理单元 (C0-C3) 的时间信号产生器 (220, D0-D3, T0-T3) 的调度到期起偏离少于预定义的时间持续期间的步骤, 以及如果是这个情况的话, 修改 (345) 该预定义的时间持续期间的步骤。
5: 根据权利要求 3 所述的控制方法 (300), 修改的该步骤包含经由一固定值 (Δ) 的平 移。
6: 如前述权利要求任一项所述的控制方法 (300), 进一步包含预防 (310) 该控制方法 (300) 的进一步接入的先前步骤, 以及能够进一步接入 (355) 该控制方法 (300) 的结束步 骤。
7: 如前述权利要求任一项所述的控制方法 (300), 列表 (400) 被指派至每个处理单元 (C0-C3), 其中列出了指派至此处理单元 (C0-C3) 的该程序 (410-450), 以及选择 (320) 在所 述列表 (400) 中的该项目下发生。
8: 根据权利要求 7 所述的控制方法 (300), 每个项目包含优先性, 以及选择 (320) 取决 于该优先性而生效。
9: 如前述权利要求所述的控制方法 (300), 进一步包含基于该处理单元 (C0-C3) 中的 至少一个的过去的容量利用而将程序 (410-450) 输入这些列表 (400) 其中之一的该步骤。
10: 一种电子计算器程序产品, 如果该电子计算器程序产品是在电子计算器系统 (110-150) 上执行, 该电子计算器程序产品包含用于执行如前述权利要求任一项所述的该 控制方法 (300) 的程序编码装置。
11: 根据权利要求 10 所述的电子计算器程序产品, 其储存在电子计算器可读取的记录 装置上。
12: 一种用于在多个处理单元 (C0-C3) 上执行一些程序 (410-450) 的系统, 该系统包 含: - 多个处理单元 (C0-C3)、 指派至每个处理单元 (C0-C3) 的时间信号产生器 (220, 2 D0-D3, T0-T3) ; - 根据前述权利要求任一项所述的控制方法 (300), 该控制方法 (300) 在这些处理单元 (C0-C3) 其中之一上被执行。
13: 根据权利要求 12 所述的系统, 其特征在于, 这些处理单元 (C0-C3) 由集成电路 (200) 所包含。
14: 根据权利要求 12 或 13 所述的系统, 其特征在于, 这些时间信号产生器 (220, D0-D3, T0-T3) 包含由时钟信号操作的计数器 (T0-T3), 一旦该计数器 (TO-T3) 达到预定的 值, 每个计数器 (T0-T3) 在指派至其的该处理单元 (C0-C3) 中导致中断。
15: 根据权利要求 12 至 14 任一项所述的系统, 其特征在于, 每个计数器包含可编程的 除法器 (D0-D3), 用于将所有除法器共享的时钟信号分成指派至计数器 (T0-T3) 的一个各 自的时钟信号。

说明书


并行程控

    技术领域 本发明涉及一种控制方法以及一种用于在并行操作的多个处理单元上执行多个 程序的方法。
     背景技术 机器以及设备常基于可从存储器编程的控制系统 (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 的时间冲突。两种启发法的组合同 样地是可能的, 例如在第一调整中通过提供线性依赖的周期时间以及在第二调整中通过对 于彼此的一次平移。
    

并行程控.pdf_第1页
第1页 / 共15页
并行程控.pdf_第2页
第2页 / 共15页
并行程控.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《并行程控.pdf》由会员分享,可在线阅读,更多相关《并行程控.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102667648 A(43)申请公布日 2012.09.12CN102667648A*CN102667648A*(21)申请号 201080053025.8(22)申请日 2010.10.26102009047024.7 2009.11.23 DEG05B 19/042(2006.01)G06F 9/48(2006.01)(71)申请人倍福自动化有限公司地址德国维尔(72)发明人拉蒙巴斯(74)专利代理机构北京安信方达知识产权代理有限公司 11262代理人栗若木 曲鹏(54) 发明名称并行程控(57) 摘要本发明涉及一种用于在并行操作的多个处理单元上执行程序的控制方。

2、法,其中时间信号产生器被指派至每个处理单元,在该时间信号产生器到期之后,该控制方法在指派至其的处理单元上执行,且该方法包含下述步骤:选择可用于在该处理单元上执行的程序、将所执行的时间信号产生器设定至特定的持续期间、以及在该处理单元上开始所选择的程序。(30)优先权数据(85)PCT申请进入国家阶段日2012.05.23(86)PCT申请的申请数据PCT/EP2010/066172 2010.10.26(87)PCT申请的公布数据WO2011/061046 DE 2011.05.26(51)Int.Cl.权利要求书2页 说明书8页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请。

3、权利要求书 2 页 说明书 8 页 附图 4 页1/2页21.一种用于在并行操作的多个处理单元(C0-C3)上执行程序(410-450)的控制方法(300),每个处理单元(C0-C3)与时间信号产生器(220,D0-D3,T0-T3)相关联,在该时间信号产生器(220,D0-D3,T0-T3)的到期之后,在该相关联的处理单元(C0-C3)上执行该控制方法(300),该控制方法(300)包含下述步骤:-选择(320)可用于在该处理单元(C0-C3)上执行的程序(410-450);-将该到期的时间信号产生器(220,D0-D3,T0-T3)设定(350)至预定义的时间持续期间;以及-在该处理单元(。

4、C0-C3)上开始(355)该选择的程序(410-450)。2.根据权利要求1所述的控制方法(300),其中可用于执行的该程序(410-450)是有实时能力的,且有实时能力的操作系统(510)额外地可用于执行,且其中对于在相同处理单元(C0-C3)上该控制方法(300)的连续执行,以交替的方式选择该有实时能力的程序(410-450)以及该有实时能力的操作系统(510)。3.根据权利要求2所述的控制方法(300),其中该操作系统(510)以及该有实时能力的程序(410-450)的该预定义的时间持续期间将彼此补足,以产生指派至该处理单元(C0-C3)的周期时间。4.如前述权利要求任一项所述的控制方。

5、法(300),包含比较(340)该预定义的时间持续期间的结束是否自指派至不同处理单元(C0-C3)的时间信号产生器(220,D0-D3,T0-T3)的调度到期起偏离少于预定义的时间持续期间的步骤,以及如果是这个情况的话,修改(345)该预定义的时间持续期间的步骤。5.根据权利要求3所述的控制方法(300),修改的该步骤包含经由一固定值()的平移。6.如前述权利要求任一项所述的控制方法(300),进一步包含预防(310)该控制方法(300)的进一步接入的先前步骤,以及能够进一步接入(355)该控制方法(300)的结束步骤。7.如前述权利要求任一项所述的控制方法(300),列表(400)被指派至每。

6、个处理单元(C0-C3),其中列出了指派至此处理单元(C0-C3)的该程序(410-450),以及选择(320)在所述列表(400)中的该项目下发生。8.根据权利要求7所述的控制方法(300),每个项目包含优先性,以及选择(320)取决于该优先性而生效。9.如前述权利要求所述的控制方法(300),进一步包含基于该处理单元(C0-C3)中的至少一个的过去的容量利用而将程序(410-450)输入这些列表(400)其中之一的该步骤。10.一种电子计算器程序产品,如果该电子计算器程序产品是在电子计算器系统(110-150)上执行,该电子计算器程序产品包含用于执行如前述权利要求任一项所述的该控制方法(3。

7、00)的程序编码装置。11.根据权利要求10所述的电子计算器程序产品,其储存在电子计算器可读取的记录装置上。12.一种用于在多个处理单元(C0-C3)上执行一些程序(410-450)的系统,该系统包含:-多个处理单元(C0-C3)、指派至每个处理单元(C0-C3)的时间信号产生器(220,权 利 要 求 书CN 102667648 A2/2页3D0-D3,T0-T3);-根据前述权利要求任一项所述的控制方法(300),该控制方法(300)在这些处理单元(C0-C3)其中之一上被执行。13.根据权利要求12所述的系统,其特征在于,这些处理单元(C0-C3)由集成电路(200)所包含。14.根据权。

8、利要求12或13所述的系统,其特征在于,这些时间信号产生器(220,D0-D3,T0-T3)包含由时钟信号操作的计数器(T0-T3),一旦该计数器(TO-T3)达到预定的值,每个计数器(T0-T3)在指派至其的该处理单元(C0-C3)中导致中断。15.根据权利要求12至14任一项所述的系统,其特征在于,每个计数器包含可编程的除法器(D0-D3),用于将所有除法器共享的时钟信号分成指派至计数器(T0-T3)的一个各自的时钟信号。权 利 要 求 书CN 102667648 A1/8页4并行程控技术领域0001 本发明涉及一种控制方法以及一种用于在并行操作的多个处理单元上执行多个程序的方法。背景技术。

9、0002 机器以及设备常基于可从存储器编程的控制系统(SPS)来控制。为了此目的,微型计算器通常用以执行检索分别连接至该机器或设备的一些传感器状态的程序,并基于所确定的状态而分别接入连接至该机器或设备的一些执行器。复杂的机器或设备分别可包含多个传感器以及执行器,并对于微型计算器的性能具有高需求。0003 为了分别控制机器或设备,微型计算器常并行地执行一些程序。该程序可彼此交互作用,或彼此独立。例如,当涉及对于传感器的状态改变或对于传感器的取样频率、或当情况可能为对于输出执行器值的最小保证反应时间时,不同的程序对于微型计算器有不同的需求。0004 上至某种程度,利用在微型计算器中计时较快的微处理。

10、器可满足对于控制系统的所增加需求。然而,由于物理条件,这种能力增强不能如所想要的增加,以至于目前的微处理器主要依赖几个并行操作的计算核心,以增加它们的能力。在过去所使用只利用一个计算核心来控制用于控制机器的数个程序的定义顺序的方法几乎不适合用于将程序分配至多个计算核心。0005 DE 196 48 422 C2提出利用时间片段控制而将计算核心的可用计算时间交替地分配至用于控制这种机器的有实时能力的程序以及非有实时能力的操作系统。所提出的时间片段控制是利用可编程定时器来控制,该可编程定时器在预定义的时间量到期之后在该计算核心中导致中断(INT)。独立于分配至该操作系统的计算时间,可确定分配至该操。

11、作系统的计算时间。0006 基于本发明的目的是提供一种方法以及一种系统,以在并行操作的多个处理单元上执行用于控制机器的数个程序。发明内容0007 利用包含权利要求1的特征的控制方法,以及利用包含权利要求12的特征的系统来解决本发明的目的。在从属权利要求中指出了本发明的有利具体实施例。0008 在第一具体实施例中,时间信号产生器被指派至并行操作的多个处理单元的每一个,当该时间信号产生器到期时,在所指派的处理单元上执行用于执行程序的控制过程。在此上下文中,该控制方法包含下述步骤:选择可用于在该处理单元上执行的程序、将到期的时间信号产生器设定至预定义的时间持续期间、以及在该处理单元上开始所选择的程序。

12、。0009 如此一来,可达成在时间信号产生器所控制的时间持续期间到期之后,在处理单元上分别接入控制方法,在该处理单元上被执行的程序的改变将被控制。因此,可使用包含多个处理单元的常规微处理器,其中前提是程序只可利用控制指令而在该微处理器的其中说 明 书CN 102667648 A2/8页5一个处理单元上初始化,该控制指令在所述处理单元上执行。特别是,包含多个计算核心的x86型微处理器以这种方式配置,且可有利地被使用,以执行该控制方法。0010 根据常规的方法,为了利用在微处理器的第二处理单元上执行的控制程序来控制该微处理器的第一处理单元上的程序初始化,需要许多时间以及努力,其通常需要在该第一处理。

13、单元上开始另一个控制程序以及该两个控制程序之间的通信。由于与其涉及的同步化努力,两个处理单元将不可用于执行该微处理器的其它程序达相当长的时间持续期间;因此,并非该微处理器的全部计算能力都可被使用。0011 可用于执行的程序可具有实时能力,且此外,可提供非有实时能力的操作系统用于计算核心中的执行。当在相同的处理单元上连续地执行控制方法时,可交替地选择该有实时能力的程序以及非有实时能力的操作系统。0012 通过相应地选择时间信号产生器设定成的预定义的时间持续期间,时间的持续期间可被分别指派至所选择的程序或操作系统,在这期间,处理单元可分别由该程序或操作系统使用。因此,一旦其已被接入,可影响接入该程。

14、序的间隔、程序用于其执行的最大等待时间以及多少计算时间是在该程序的配置。并行于该程序的执行,非有实时能力的操作系统可用于执行标准工作,例如,分别输入或输出程序数据至硬盘或显示器上。该操作系统或分别被其控制的程序可在一个或数个计算核心上并行执行。0013 可在自由的界限内无限制地设定时间的持续期间。操作系统以及有实时能力的程序的预定义的时间持续期间可将彼此补足,以产生指派至处理单元的周期时间。不同的处理单元可包含不同的相关周期时间。周期时间被分配至该操作系统以及该有实时能力的程序的比例可,例如,基于参数来修改。此参数可分别在该处理单元或微处理器的操作期间修改,以考虑到由该程控的机器的可变负载条件。

15、。0014 在将到期的时间信号产生器设定至预定的时间持续期间之前,该预定的时间持续期间能以该时间持续期间的调度结束自不同处理单元的时间信号产生器的调度到期起不偏移少于预定义的时间持续期间的如此方式而被适配(adapted)。因此可保护控制方法不在相同的时间被多于一个处理单元接入的情况。如果控制程序执行用于在多个处理单元上协调一些程序所需并排除数个控制程序情况同时发生的进一步工作时,这是特别有利的。这种工作可,例如,包含分别将共享的资源指派至该程序或该操作系统,或控制程序之间的通信。0015 通过如所述来调整预定义的时间持续期间,可通过避免处理单元必须在执行控制程序之前等待来最大化处理单元的总输。

16、出。0016 调整可通过调度的时间持续期间的一次修改而生效;或者,可修改指派至该程序的预定义时间持续期间,以至于该调整在所有随后的程序接入中生效。相关计算核心的周期时间可因此改变,以至于与其它处理单元的周期的冲突一直较少发生。特别是可因此避免结束周期性地抵触的周期时间(使得每个单一情况中的调整较不可能发生)。0017 在进一步的具体实施例中,控制方法可包含避免进一步接入该控制方法的先前步骤以及能够进一步接入该控制方法的结束步骤。如果该控制方法将不在多个处理单元上并行执行,如上所述,这些步骤可作为对于处理错误的额外保护。0018 由于控制程序在同时因此产生的多重可接入性,例如,可基于以关于时间信。

17、号产生器异步的方式发生的事件来接入该控制程序,例如通过主动地接入在处理单元上执行的说 明 书CN 102667648 A3/8页6程序。0019 可将列表指派至每个处理单元,其中列出了可用于在所述处理单元上执行的程序。然后在所述列表上的项目下进行选择该程序。因此,单独的程序可被指派至特定的处理单元。优选地用以并行执行的程序可被指派至不同的处理单元,而优选地用于以连续方法执行的程序可被指派至相同的处理单元。以此方式,可将,例如由一些程控的机器所造成的程序之间的依赖列入考虑。0020 使用处理单元的程序分配可由用户执行,以至于可使用该用户的系统知识;在进一步的具体实施例中,可利用该控制程序来执行该。

18、分配,其中该控制程序例如使用至少一个处理单元的先前容量利用作为用于该分配的确定性基础。利用通过该控制程序的该分配,可达成一致该处理单元的均匀容量利用。此外可能分别部分或完全地将处理单元的其中一个免除来执行程序或免除该操作系统,以至于可将该处理单元设定成节能模式。0021 列表中程序的项目可包含该程序的优先性,且可基于该优先性来执行选择该程序。因此使得高优先性的程序从计算核心挤出低优先性的程序变得可能。通过将优先性列入考虑,被控制机器的时间规则可遵从因此可能增加控制系统的弹性以及可靠性。由于只针对各自的计算核心来局部地评估列表,可在不同的计算核心上同时执行具有不同优先性的程序。0022 控制方法。

19、可在为电子计算器程序产品形式的电子计算器系统上执行,或储存在电子计算器可读取的记录装置上。0023 根据第二具体实施例,用于执行一些程序的系统包含多个处理单元、与每个处理单元相关联的时间信号产生器以及上述控制方法。该处理单元可包含在集成电路中。特别是,该处理单元可包含计算核心(核心)或虚拟计算核心(像是用于例如超执行绪程(hyper-threading)。因此,用途可由在该集成电路上该处理单元的紧密型连接来构成,以至于例如可利用连接彼此的多个程序来更有效率地完成复杂技术设备的控制。0024 可将时间信号产生器实施为在时钟信号上操作的计数器,其中一旦该计数器达到预定的值时,每个计数器在其相关联的。

20、处理单元中导致中断(INT)。特别是,该计数器可倒数,且该预定的值可为零。这种计数器已在现有包含多个处理单元的微处理器中被提供。0025 每个计数器可包含可编程的除法器,用于将对于每个计数器相同的系统时钟分成指派至该计数器的时钟信号。利用这个,所有的时间持续期间衍生自相同的时间基础,且具有已知关于彼此的比例。通过选择计数器所设定成的值,以及通过相应地编程相关联的除法器,可在自由的界限内设定该计数器的时间持续期间,以至于可实现用于处理具有强烈不同需求的程序的有弹性系统。附图说明0026 在下述中,将参照伴随的附图来更详细地描述本发明,其中:0027 图1示出了受控制的技术设备的示意概图;0028。

21、 图2示出了图1的处理器的示意图;0029 图3描绘了用于在图2的处理器上执行的方法的流程图;0030 图4示出了用于图3方法的示范性过程表;以及0031 图5描绘了用于预防在图2的处理器上设定的时间持续期间结束的冲突的各种启说 明 书CN 102667648 A4/8页7发法。具体实施方式0032 图1示出了受控制的技术设备100的示意概图。该受控制的技术设备100包含以已知方式连接至主存储器120、只读存储器130、显示器140以及输入装置150的微型计算器110。该微型计算器110通常包含至少一微处理器(处理器,中央处理单元,CPU)以及各种额外的组件,例如电压供应器以及至该主存储器12。

22、0以及至该只读存储器130的接口。提供该显示器140以及该输入装置150以允许用户操作该微型计算器110。利用经由网络的接口以及连接至该接口的进一步的电子计算器系统,可随选地或额外地实现该微型计算器110的用途。在一个具体实施例中,可相应地忽略该显示器140以及该输入装置150。0033 制造机器160包含连接至传感器接口170的多个传感器165,以及连接至执行器接口180的多个执行器175。每个该接口170以及180连接至该微型计算器110。可提供有实时能力的网络,以分别将该传感器165连接至该传感器接口170,或将该执行器175连接至该执行器接口180,及/或将该接口170以及180连接至。

23、该微型计算器110,例如EtherCat。0034 所描绘的制造机器160代表了由微型计算器110控制的任何想要的机器或设备。该制造机器160可,例如为CNC机器工具或用于制造钢板的轧板机。在替代的具体实施例中,可包含少于所描绘的传感器165及/或执行器175。该传感器165可为模拟及/或数字传感器,例如为路径传感器、光传感器、温度传感器、速度传感器、声波或其它传感器的形式。在复杂的制造机器160中,传感器165的数目可多于100。该执行器175可实现模拟及/或数字执行器值,例如以阀、驱动器、光以及温度控制以及其它执行器的形式。复杂的制造机器160可包含用于控制80个轴或更多个的执行器。003。

24、5 由组件110-150组成的电子计算器系统取样传感器165,并取决于所取样的值来控制执行器175。取决于制造机器160的配置,在该电子计算器系统110-150上执行一或数个程序,以确定该执行器175的活化。0036 图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的数目不一定必须为二的次方。。

25、该计算核心C0-C3可在该处理器200中被物理地实施,或由虚拟技术,例如超执行绪程,来提供。每个该计算核心C0-C3连接至指派至它的计数器T0-T3,该计数器随后连接至指派至它的除法器D0-D3。所有的除法器D0-D3连接至共享的时钟产生器220。该时钟产生器220可,例如位在图1的微型计算器110中,或在替代的具体实施例中,在该处理器200的该外壳210内。在优选的具体实施例中,用于脉冲该计算核心C0-C3的时钟信号以及由该时钟产生器220提供的时钟信号衍生自共享的时钟信号。0037 每个计算核心C0-C3可使用写入操作以及优选地也以读取操作来接入D0-D3指派至它的计数器T0-T3以及该除。

26、法器。利用由所指派的计算核心C0-C3来执行的写入操作,该除法器D0-D3可被编程成除数,以至于由时钟产生器220提供的时钟信号以其频率被除以所编程的除数,且所产生的时钟信号被提供至各自的计数器T0-T3。0038 计数器T0-T3为当该计数器的状态到达零时在相关联的计算核心C0-C3中导致中说 明 书CN 102667648 A5/8页8断的减量器(decrementer)。用以减少的开始点的计数器状态可被相关联的计算核心写入至该计数器T0-T3。在优选的具体实施例中,该计数器T0-T3也可被相关联的计算核心停止以及开始。0039 除法器D0-D3以及计数器T0-T3与计算核心C0-C3的关。

27、联是透明的,其意指在该计算核心C1至C3的其中一个上执行的程序只接入至该除法器D0-D3以及至与该程序正执行所在的计算核心C0-C3相关联的计数器T0-T3。对于所有的计算核心C0-C3,用于接入相关联的除法器D0-D3以及计数器T0-T3的程序指令是相同的。由于处理器200的构造,不可能接入不同计算核心C0-C3的除法器D0-D3或计数器T0-T3。0040 如果,例如在计算核心C1上执行的程序将写入与计算核心C0相关联的计数器T0中,在该计算核心C1上执行的程序必须确保其将在计算核心改变成在该计算核心C0上执行,或该计算核心C1上执行的程序必须连络在该计算核心C0上执行的另一个程序,以至于。

28、后者的程序执行所想要的至计数器T0的接入。0041 如果在计算核心C0-C3的其中一个上发生了中断,例如通过初步地设定中断向量而在各自的核心C0-C3上接入控制程序(调度器),该调度器选择将在相应的计算核心C0-C3上执行的程序。随后该控制程序重设指派的计数器T0-T3及/或指派的除法器D0-D3,并开始所选择的程序。以此方式,实施了时间片段机制,该时间片段机制在新的中断再次接入该控制程序之前只提供有限的计算时间至所选择的程序,且该控制程序检查哪个程序将在下述中继续。0042 对于所有的计算核心C0-C3,控制程序是相同的。因此,该控制程序将被其指派的计数器T0-T3最后中断的计算核心C0-C。

29、3分配至可用的程序以在所述计算核心C0-C3上执行。因此,为了以分配的方式在多个计算核心C0-C3上执行一些程序实施了时间片段机制。通过选择将在各自计算核心C0-C3(控制程序在该计算核心C0-C3上执行)上局部执行的程序,该控制程序在所有的计算核心C0-C3上被有效地执行,因此已达成分配至该计算核心C0-C3的程序负载,且不再需要通过在单一计算核心上执行的中央控制程序来控制在处理器200上执行的所有程序的复杂方法。0043 图3示出了用于在图1的微型计算器110中在图2的处理器200上执行的方法300的流程图。该方法300代表上述参照图2的控制程序(调度器)的必要步骤。0044 在第一步骤3。

30、05中,方法300在其初始状态中。步骤305是在已接入该方法300之后由该方法300由执行的第一个步骤,例如通过来自图2的计数器T0-T3中的其中一个的中断。在后续的步骤310中,该方法300先阻挡该方法300的进一步接入,以预防该方法300在多个该计算核心C0-C3上并行执行的几个情况。可例如利用已知的处理器200的同步化机制使阻挡生效,例如信号量(semaphore)或相应的寄存器,其被提供以协调该计算核心C0-C3对不能同时利用的资源的竞争接入。只有在该方法300提供超过程序至计算核心C0-C3的分配且妨碍该方法300的并行执行的服务时,才需要服务步骤310。这种服务可例如包括专门使用的。

31、资源的分配(例如该只读存储器130)至在该计算核心C0-C3上执行的程序。对于至计算核心C0-C3的程序小量分配,在不同的计算核心C0-C3上可能允许一些同时执行的方法300,且不需要步骤310上所描述的阻挡。0045 在随后的步骤315中,检查了有实时能力的程序或非有实时能力的操作系统是否是下一个将在各自的计算核心C0-C3上执行。方法300以在相同计算核心C0-C3上连续说 明 书CN 102667648 A6/8页9接入该方法300的例子中,该操作系统以及有实时能力的程序以替代的方式执行之如此方法而被配置。如下更详细地参照图4的描述,如果将执行有实时能力的程序,该方法200分支成步骤32。

32、0,并从分配至该计算核心C0-C3的表中选择项目(该方法300在该计算核心C0-C3上执行),该项目代表可用于在该计算核心C0-C3上执行的潜在的一些程序的其中之一。0046 在随后的步骤325中,在以时间控制的方式再次接入方法300之前,确定了将哪个时间持续期间提供至所选择的程序,以执行至计算核心C0-C3的新程序分配。0047 然而,如果在步骤315中确定将执行操作系统,方法300分支成步骤330,并选择该操作系统作为将执行的下一个程序。该操作系统可协调其它的程序,其至计算核心C0-C3的其中一个的分配不被该方法300控制,但被该操作系统本身控制。取决于该操作系统的这种程序在提供给该操作系。

33、统的时间帧内由该方法300的控制程序来执行。类似于上述步骤325中,在随后的步骤335中确定了哪个时间持续期间被指派至该操作系统用于执行。0048 在执行步骤325及/或335之后,该方法在步骤340中继续,该步骤340检查所定义的时间持续期间的结束是否与定时器T0-T3其中之一被编程所针对的不同时间持续期间的结束抵触。为了此目的,所有计数器T0-T3的到期时间可被储存在存储器区域中,该存储器区域可被每个计算核心C0-C3接入。0049 在此上下文中,时间持续期间的结束的冲突意指在步骤325或335其中之一确定的该时间持续期间的结束更接近定时器T0-T3其中一个到期且方法300比已预定的还早被。

34、接入的时间点。此预定范围至少相应于该方法300用于一次执行通常所需的时间。0050 如果步骤240确定预定义的时间持续期间的结束与另一个时间持续期间冲突,在步骤345中调整该预定义的时间持续期间。为了此目的,该预定义的时间持续期间可增加或减少一预定的值。步骤345中用于调整该预定的时间持续期间的启发法也可考虑计数器T0-T3导致中断的时间点的周期性。在一个具体实施例中,重复步骤340以及345,直到已达成该时间持续期间的调整,其确保将不会发生冲突。可使用用于预防步骤340以及345的无限循环的一般保护步骤。0051 在步骤350中,与方法300被执行所在的计算核心C0-C3相关联的计数器T0-。

35、T3被设定成相应于预定的时间持续期间的值。0052 最后在步骤355中,移除了在步骤310中设定的阻挡,以至于方法300的进一步接入变得可能,并开始了在步骤320或330其中之一中选择的程序或操作系统。优选地,这些动作都在一个单一步骤中被不能分离地执行,以至于该方法300在所选择的程序或操作系统分别在计算核心C0-C3上开始之前不被重新开始。0053 图4示出了用于图3的方法300的示范性过程表400。单独的过程表400被指派至图2的每个计算核心C0-C3。通过将程序410-450输入该过程表400中,执行该程序410-450至各自的计算核心C0-C3的分配被执行。0054 在表400中记录程。

36、序410至450。指派优先性、等待时间、状态以及一些时间步骤给每个输入的程序410-450。该优先性指出将执行该程序410-450的急迫性,高优先性相应于高急迫性。在一些可用于执行的程序410-450中,由方法300的控制程序选择具有最高优先性的程序410-450。该程序410-450的等待时间指出在该程序410-450的连续接入之间经过了多少时间。该等待时间通常以可调整用于计算核心C0-C3的系统时钟单位指出,说 明 书CN 102667648 A7/8页10其中该系统时钟总计可为10s至100ms,优选为100s至1ms。在一个具体实施例中,该系统时钟被设定成表400中所记录的所有程序41。

37、0-450的最短等待时间。例如,为了简化与可整合于图1的制造机器160中的另一个处理系统的通信,进一步可提供另一个时钟以同步化该系统时钟。因此,在技术设备100的架构内可分别提供多个分配的时钟产生器或时钟,该时钟产生器或时钟提供用于不同控制过程的时间基础。可例如通过插入等待周期而发生同步化。0055 程序410-450的状态指出该程序410-450是否可用于执行、等待或被执行。如果程序410-450的状态是高度准备好的,其已等待用于执行够久,且准备好被执行。如果该程序410-450不需要任何计算时间,并等待其下一个接入,该状态为等待中。如果该程序410-450被执行,其状态为执行中。随着每个系。

38、统时钟,每个程序410-450的时间步骤数目被减少1。0056 如果程序410-450的时间步骤的数目到达零,该程序410-450的状态被设为高度准备好的。然而,该时间步骤被继续计数,直到由图3的方法300的控制程序选择用于执行的程序410-450。该程序410-450的状态然后被设为执行中,且该程序410-450的时间步骤数目被设成其等待时间。0057 程序410-450的状态从等待到高度准备好的改变不因此立即导致在图2的其中一个计算核心C0-C3上执行该程序410-450。反而,该程序410-450的状态以信号通知其可行性,以及在方法300的控制程序的下一个接入期间,程序410-450被执。

39、行,其状态为高度准备好的以及其同时具有最高优先性。0058 如果所执行的程序410-450已完成其工作,且直到其下一次被接入之前不需要任何进一步的计算时间,该程序410-450接入图3的方法300的控制程序。在过程表400中的该程序410-450的状态从执行中被设成等待中。0059 在一个具体实施例中,由方法300的控制程序使程序410-450分别至表400或计算核心C0-C3的分配生效。该控制程序针对每个接入将哪个程序410-450在什么时候被选择文件化。如果没有程序410-450可选择,因为没有一个可用于执行,该计算核心的闲置时间被文件化。该控制程序从文件化的工作时间以及闲置时间来确定该计。

40、算核心的容量利用,且如果需要的话,将程序410-450分配至计算核心C0-C3,其容量利用低于其它计算核心C0-C3的容量利用。0060 也能以使得最小数目的计算核心C0-C3展现尽可能高的容量利用的方式来执行分配,以至于剩余的计算核心C0-C3完全不被使用或只使用一小程度,且可转为节能模式。0061 在进一步的具体实施例中,由微型计算器110的用户手动地执行程序410-450分别至表或至计算核心C0-C3的分配。如同上述所解释的,然而方法300的控制程序可收集相应的文件化项目,基于该文件化项目,该用户可执行该分配。作为支持的手段,可例如以列表或图表的形式来处理所文件化的数据。在一个替代方案中,将多个计算核心C0-C3的容量利用程度作为时间的进程来呈现给该用户,因为该例子可以是连同平均的该计算核心C0-C3容量利用平均程度。在图1的微型计算器110的操作期间,可改变程序410-450分别至表400或至计算核心C0-C3的分配,其允许对于该微型计算器110的变动条件或或需求的调整。0062 也可例如通过用户将一些程序410-450分别手动地分配至表或计算核心C0-C3,说 明 书CN 102667648 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 控制;调节


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1