用于影响控制设备的控制程序的方法_2

文档序号:9793945阅读:来源:国知局
起以第二值覆写变量。
[0023]优选地,第二函数通过第二计算核心的执行通过触发信号开始,例如这样使得第二计算核心执行一无限循环,在每一个循环过程中检查触发信号的存在并且在所述检查的肯定结果时开始第二函数的执行。在一个实施方案中,所述触发信号由控制程序激活。在该实施方案中,可以将能够明确配属给第一函数的事件、例如确定的变量的覆写或确定的I/o引脚的操控作为触发器。在另一实施方案中,触发信号通过管理实例激活。在该实施方案中,可以将为此目的特意存储的触发变量的操控或者处理器的确定的寄存器的操控用作触发器。
[0024]在另一实施方式中,所述管理实例通过第二计算核心的程序计数器的置位开始第二函数通过第二计算核心的执行。例如,只要第二计算核心没有执行第二函数,就可以以无限循环的执行加载第二计算核心,并且管理实例开始第二函数的执行,其方式是,所述管理实例将第二计算核心的程序计数器置位成如下存储器地址,在所述存储器地址处存储第二函数的开始或第二函数的调用。
[0025]此外优选地,所述管理实例构造为用于通过第一计算核心识别第一函数的调用并且紧随在调用第一函数之后开始第二函数通过第二计算核心的执行,或者识别出从控制程序中先前于第一函数的函数回跳并且紧随实施回跳之后开始第二函数通过第二计算核心的执行,或者识别出第一函数通过第一计算核心的正在进行的执行并且紧随识别出第一函数通过第一计算核心正在进行的执行之后通过第二计算核心开始第二函数的执行,从而第一函数和第二函数至少部分地并行执行。
[0026]在一种可能的实施方案中,所述第二函数并行地由多个第二计算核心执行。特别地,如果第二函数单独地通过第二计算核心的执行比第一函数通过第一计算核心的执行持续更长时间并且第二函数这样实现使得在维持数据一致性时能够实现第二函数通过多个计算核心的并行执行,则可以规定,第二函数分布到多个第二计算核心上并且所述第二函数能由多个第二计算核心并行执行。优选地,管理实例构造为用于控制第二函数在一个或多个计算核心上的分布。
[0027]为了确保控制程序在第一函数的执行之后才访问变量的值,在已经以由第二函数计算的第二值来写变量之后,在本发明的一种实施方式中规定,所述管理实例延迟控制程序通过第一处理器核心的实施,特别是在第一函数执行之后停止控制程序的执行。例如可以规定,所述管理实例短时停止第一处理器核心或者借助中断使第一处理器核心执行无限循环,并且在第二函数已经以第二值来写变量之后,结束中断。在另一实施方式中,所述管理实例构造为用于这样选择第二时刻,使得变量以第二值的覆写紧随以第一值写变量的存储器地址之后进行。为此可以规定,第二函数将第二值写入到缓冲区域的地址存储器中,所述管理实例从缓冲区域的存储器地址读取第二值并且紧随通过第一函数写第一值之后以第二值覆写变量。备选地也可以规定,第二函数将第二值直接写到变量的存储器地址中,其中,管理实例构造为用于直接在写第二值之前中断第二函数通过第二计算核心的执行,直至第一函数已经将第一值写到变量的存储器地址中。在又一个实施方式中,设置所述特征的组合,即管理实例构造为用于这样选择第二时刻,使得以第二值覆写变量紧随通过第一函数写第一值之后进行,从而普遍不需要控制程序的执行的延迟。同时,管理实例构造为用于,当第一时刻和第二时刻之间的时间段过短而不能及时地、即在到达第三时刻之前以第二值覆写变量时,延迟控制程序通过第一计算核心的执行。
[0028]在本发明的一种特别优选的实施方案中,所述管理实例构造为用于通过处理器的数据接口识别控制程序对控制程序的变量的写访问,并且管理实例还构造为用于将已经由第一函数或第二函数配属的变量的值写入到存储器的缓冲区域中。管理实例特别是构造为用于在开始第二函数通过第二计算核心的执行之前将第二函数的输入变量的映射写入到缓冲区域的存储器地址中。在此,函数的输入变量理解为控制程序的以下每种变量:所述变量由函数读取以便使用所述变量的值来确定变量的第一值或第二值。在此规定,第二函数读取存储在缓冲区域中的输入变量的值。此外规定,管理实例确保第一函数和第二函数对于相同的输入变量读取相同的值。
[0029]在一种特别优选的实施方案中,管理实例构造为用于通过处理器的数据接口探测控制程序对第二函数的输入变量的写访问,例如通过监控第一计算核心的程序计数器或者通过读取处理器的调试接口或追踪接口。此外,管理实例构造为用于追踪第二函数在存储器的缓冲区域中对输入变量的所有写访问,即在对输入变量之一的每一次写访问时将输入变量的新值的映射写入到缓冲区域中。通过这种方式确保,在每一个时刻在存储器的缓冲区域中存储第二函数的所有输入变量的当前映射。在开始第二函数的执行时,管理实例中断输入变量的映射到缓冲区域中的写入,并且第二函数从缓冲区域读取输入变量的值。通过这种方式确保,第一函数和第二函数对于相同的输入变量读取相同的值。例如不能实现,在由第二函数已读取输入变量之前,通过第一函数覆写不仅由第一函数而且由第二函数读取的输入变量。在第二函数的执行之后,管理实例接受将第二函数的输入变量的映射写入到存储器的缓冲区域中。此外优选,第二函数将变量的所有第二值先写入缓冲区域中。通过这种方式不能进行,在第一函数已读取输入变量的值之前,第二函数覆写第一函数的输入变量。
[0030]在本发明的另一可能的实施方案中规定,所述管理实例分别直接在第二函数通过第二计算核心执行之前一次性地将第二函数的所有输入变量的映射写入到缓冲区域中。
[0031]根据本发明规定,管理实例将第一时刻、第二时刻和第三时刻在时间上彼此这样相协调,使得第一时刻位于第二时刻之前并且第二时刻位于第三时刻之前。这意味着,第一函数现首先将变量的第一值写入到变量的存储器地址中,随后以第二值覆写变量的存储器地址,并且此后控制程序从变量的存储器地址读取变量的第二值。
[0032]优选地,所述管理实例这样确保所述时间流程,使得第二函数将变量的第二值写入到缓冲区域的存储器地址中。所述管理实例构造为用于从缓冲区域的存储器地址读取变量的第二值,通过第一函数探测变量的第一值的写入并且紧随通过第一函数写第一值之后以第二值覆写变量。通过这种方式能够实现,在没有延迟控制程序的执行的情况下在时间上彼此协调第一时刻、第二时刻和第三时刻,只要第一时刻和第三时刻之间的时间段、即变量的第一值通过第一函数的写入和变量的值通过控制程序的下一次读取之间的时间段对于在所述时间段内以第二值覆写变量是足够短的。
[0033]在本发明的一种特别优选的实施方案中规定,例如借助测量或者借助基于控制程序的二进制代码的分析的时间估计来确定第一时刻和第三时刻之间的时间段的长度,并且给管理实例提供时间段的所确定的长度,其中,所述管理实例构造为用于当所述时间段的长度低于一预给定的值时延迟控制程序通过第一计算核心在第一时刻和第三时刻之间的执行,并且通过这种方式在需要时增大所述时间段的长度。
[0034]不言而喻地,在应用根据本发明的方法的情况下在控制设备上也存储多个第二函数。在一种可能的实施方案中,存储多个第二函数,以便依照根据本发明的方法来影响多个第一函数。在所述实施方案中优选,给每一个第二函数配属一个优先级并且所述管理实例根据第二函数的不同优先级来控制第二函数在不同计算核心上的分布,特别是这样使得给具有高优先级的第二函数比具有低优先级的第二函数提供更多的计算资源。在此,管理实例构造为用于,有利于具有较高优先级的其它第二函数地中断第二函数的执行,以便提供更多的计算资源来执行所述其它第二函数。
[0035]在一种可能的实施方案中设置多个第二函数,以便备选地影响一个唯一的第一函数。例如可以规定,并行地分别在自身的第二计算核心上执行所有第二函数,其中,每一个第二函数给变量配属一个值并且管理实例在第二时刻以多个第二值之一覆写变量。例如,每一个第二函数可以给变量配属一个第二值并且将相应的第二值写入到缓冲区域的相应地址中,并且管理实例构造为用于从存储在缓冲区域中的多个第二值读取确定的第二值并且在第二时刻写入到变量的存储器地址中。特别优选地,管理实例根据用户的输入选择第二值,其中,使用户能够在控制程序通过第一计算核心的执行的运行时间例如根据借助接口单元与控制设备连接的计算机来改变输入。通过这种方式使用户能够在多个第二函数之间进行切换以便影响第一函数,而为此不中断控制程序的执行。也可以规定,在存储器中存储多个第二函数,并且仅仅一个唯一的第二计算核心加载所述多个第二函数之一的执行,其中,管理实例根据用户的输入来开始所选择的第二函数通过
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1