首页 / 专利库 / 电脑零配件 / 多核处理器 / 用于确保机动车辆的多核处理器的数据的稳定性的方法

用于确保机动车辆多核处理器的数据的稳定性的方法

阅读:379发布:2020-05-08

专利汇可以提供用于确保机动车辆多核处理器的数据的稳定性的方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种程序的设计方法,其包括:确定至少一个待系统化保护的变量数据(D1),该待保护变量数据(D1)由至少两个并行执行的任务产生并消耗,该消耗性任务的执行优先级高于该生产性任务的执行优先级,该消耗性任务对该待保护变量数据(D1)进行至少两次 访问 ;安装保护功能(F0),该保护功能用于在执行该消耗性任务期间保护该待系统化保护的变量数据(D1),以便由该消耗性任务进行的两次访问消耗具有固定值的待保护变量数据(D1)。根据 实施例 ,本发明还提供了对至少一个预先限定为待区别化保护的变量数据的保护。,下面是用于确保机动车辆多核处理器的数据的稳定性的方法专利的具体信息内容。

1.一种用于保护至少一个变量数据(D1)的稳定性的方法,所述变量数据用于程序或程序的一部分,所述程序或所述程序的一部分包括至少两个由多核微处理器实施的任务,所述方法包括:
-确定至少一个待系统化保护的变量数据(D1),所述待系统化保护的变量数据(D1)包括由至少两个任务分别产生和消耗的变量数据,所述至少两个任务在多核微处理器的两个不同核心上并行执行,每个所述核心形成独立的处理单元,所述至少两个任务各自具有执行优先级,并且包括产生所述待保护变量数据(D1)的至少一个生产性任务(A)、以及消耗所述待保护变量数据(D1)的至少一个消耗性任务(B),所述消耗性任务(B)的执行优先级高于所述生产性任务(A)的执行优先级,通过连续执行一个或多个消耗功能(F1、F2),所述消耗性任务(B)在所述消耗性任务(B)的执行期间对所述待保护变量数据(D1)进行至少两次访问,以便所述待保护变量数据(D1)可以在所述至少两次访问之间发生变化,-安装保护功能(F0),所述保护功能用于在所述消耗性任务(B)的执行期间保护所述待系统化保护的变量数据,以便由所述消耗性任务(B)进行的两次访问消耗具有固定值的待保护变量数据(D1),从而按所考虑地执行所述消耗性任务(B)。
2.根据权利要求1所述的方法,其中,在所述消耗性任务(B)中,所述保护功能(F0)包括在开始执行所述消耗性任务(B)时对所述待保护变量数据(D1)的本地复制功能(F0)。
3.根据前述权利要求中任一项所述的方法,其中,所述生产性任务(A)包括周期性的任务。
4.根据前述权利要求中任一项所述的方法,其中,所述消耗性任务(B)包括周期性的任务。
5.根据权利要求1至3中任一项所述的方法,其中,所述消耗性任务(B)是同步任务,所述同步任务用于在所述同步任务(B)的执行期间对所述待保护变量数据(D1)进行至少两次连续访问。
6.根据前述权利要求中任一项所述的方法,其包括在稳定性上对至少一个限定为需要区别化保护的变量数据(D1)的保护,所述待区别化保护的变量数据(D1)由至少两个任务分别产生和消耗,所述至少两个任务在多核微处理器的两个不同核心上并行执行。所述至少两个任务具有任意的执行优先级,并且包括产生所述待保护变量数据(D1)的至少一个第二生产性任务、以及消耗两次所述待保护变量数据(D1)的至少一个第二消耗性任务,在开始执行所述第二消耗任务时,仅当所述变量数据(D1)被限定为待区别化保护的变量数据时,所述方法包括实施对所述待区别化保护变量数据的保护功能(F0)。
7.根据前项权利要求所述的方法,其中,所述保护功能包括在所述第二消耗性任务中对所述变量数据的本地复制功能(F0)。
8.根据权利要求6至7中任一项所述的方法,其中,所述第二生产性任务包括周期性的任务。
9.根据权利要求6至8中任一项所述的方法,其中,所述第二消耗性任务包括周期性的任务。
10.根据权利要求6至8中任一项所述的方法,其中,所述第二消耗性任务是同步任务,所述同步任务用于在所述同步任务的执行期间对所述待保护变量数据(D1)进行至少两次连续访问。

说明书全文

用于确保机动车辆多核处理器的数据的稳定性的方法

技术领域

[0001] 本发明总体涉及计算机处理器,特别是安装在机动车辆中的计算机处理器。本发明更具体地涉及通过用于辅助设计软件程序的方法来管理多核处理器的数据的稳定性,尤其集成在机动车辆中的多核处理器的数据的稳定性。

背景技术

[0002] 以已知的方式,机动车辆包括不同的计算机,这些计算机适于负责从传感器接收数据并/或控制车辆的不同组成元件的功能。
[0003] 计算机包括至少一个处理器,该处理器包括至少一个处理单元,其也称为“核心”。包括单个处理单元的处理器称为“单核处理器”。核心允许实现处理从传感器接收的数据并生成发送至执行器的指令的功能。这样的核心的功率很大程度上取决于该核心的以Hz为单位给出的工作频率。因此,单核处理器的功率受到核心的最大频率的限制。
[0004] 此外,如上一段所指出的,本发明特别而非限制性地应用在机动车辆领域,该机动车辆包括具有所谓的“开放”系统架构的计算机,也就是说:在该系统架构中,可以根据系统的标准或所谓自适应版本的接口而重用功能,因此在该系统中可以在执行期间添加或删除新功能。
[0005] 这样的开放的系统架构可以是用于系统的根据Autosar标准的架构,该系统设计成集成至机动车辆,如本领域技术人员已知的,术语Autosar是英语名词“AUTomotive Open System Architecture(汽车开放系统架构)”的缩写。
[0006] 现在,车辆包括越来越多的功能,为了支撑所有这些功能,在车辆中安装了很多计算机。如此众多的功能以及其中某些功能的复杂性要求至少设置一台具有非常强大的处理器的计算机。因此,单核处理器的性能就过低了。
[0007] 为了增加处理器的计算能,还已知的是使用微处理器100,其包括多个核心101、102、103,特别是如图1所示的三个核心。这样的处理器100称为“多核处理器”。这允许通过多个核心101、102、103来增加微处理器100的计算能力,该多个核心各自具有例如等于单核处理器的核心频率的频率。因此,这允许增加处理器的能力。这样的处理器100还包括存储器104。
[0008] 为了使多核微处理器有效地工作,分布在其不同处理单元上的处理进程应当可以并行执行,并且因此,这些处理进程彼此之间必须不包括任何优先级关系。这导致设计上的困难,特别是涉及用于在机动车辆中实施、尤其是用于这样的机动车辆的发动机控制的软件程序的开发时,原因在于任务通常包括从输出到输入的环路形式的伺服控制。这些命令控制环路必须以精确的顺序执行,因此不能分割成在两个独立的处理单元上并行执行。
[0009] 为了克服该缺点,在文献FR 3043808中所描述的方法描述了一种用于将软件分解为不同的任务的技术,该任务可以由多核微处理器并行执行。为此,该文献FR 3043808提出了对由配置的多核微处理器实施的功能任务的划分,以使得该任务在第一组周期性任务和第二组同步任务之间进行区别,每组任务由至少一个专用于该组任务的微处理器的核心执行。

发明内容

[0010] 然而,基于文献FR 3043808的信息,本发明允许处理另一困难,该困难涉及并行设置的软件任务所处理的数据的一致性,更确切地说,涉及对某些数据的稳定性需求。
[0011] 应注意的是,根据参考上述Autosar标准的术语,数据的可靠性包括两个概念:
[0012] -如通过参考Autosar[TPS_SWCT_01481]而限定的数据的稳定性涉及不同功能使用相同的变量数据值的需求;
[0013] -如通过参考Autosar[TPS_SWCT_01482]而限定的数据组的一致性涉及功能生成或使用在同一时刻采样的一组数据的需求。
[0014] 在单核处理器的情况下,已经在不同的抢占式任务之间存在数据一致性的需求,而从单核处理器到多核处理器的变化没有改变这些需求。根据现有技术,已经存在用于确保数据组的一致性的保护方案,这些方案对于单核或多核的处理器是相同的。除了文献FR 3043808中描述的方法之外,本发明涉及一种用于确保数据的稳定性的保护装置。然而,所有功能仅需要它们所共享的数据是稳定的。本发明提出了一种保护方法,用于在不了解对该数据的稳定性需求的情况下、或者在多次使用该数据的功能的设计者认为需要稳定性的情况下根据实施例,系统地确保至少一个数据的稳定性。
[0015] 作为在单核架构转变成多核架构期间需要保护装置的稳定性需求的说明性示例,在汽车领域中,热机的燃烧模式是变量,该变量由发动机的管理功能来更新,该功能如所有管理任务一样安装在周期性任务中,该周期性任务具有例如10ms的周期。变量“发动机燃烧模式”由安装在燃烧的同步任务中的不同基本喷射功能使用,即燃烧前喷射、燃烧期间喷射以及燃烧后喷射。然而,由于在最高发动机转速下,同步任务的周期大于10ms,同步任务比周期为10ms的周期性任务优先。另外,该同步任务通常是抢占式的,以确保没有延迟处理该同步任务。因此,在单核处理器中,由于同步任务执行所有基本喷射功能而不会被中断,因此燃烧的同步任务的输入始终保持稳定。在将周期为10ms的周期性任务以及同步任务分配在两个不同核心上的多核处理器中,变量“发动机燃烧模式”可能在执行同步任务期间发生变化,这可能在缺乏确保该数据的稳定性的保护装置时导致故障。
[0016] 以上示例说明了在单核软件架构中的任务的持续时间内具有稳定值的变量数据在另一多核软件架构中不一定具有稳定值。然而,一方面,在某些情况下,由于不存在对变量数据的稳定性的功能性需求,这没有影响。另一方面,在其他情况下,这可能会在更改软件架构期间产生故障。
[0017] 另外,通常地,在修改软件程序的架构以从单核架构变为多核架构的情况下,或者在开发软件程序的新部分并将其用于与第三方软件程序的预先存在的部分协作的情况下,变量数据可能尚未被识别为需要受到保护以确保其稳定性,而这些数据由于新的架构或新的软件程序部分的加入而应当受到保护或变为需要受到保护。
[0018] 总而言之,在如上所述的抢占式任务的情况下,当变量数据被生产性任务以外的消耗性任务消耗并具有高于生产性任务的优先级的优先级时,可能出现变量数据的稳定性问题。实际上,应注意的是,当生产性任务优先于消耗性任务时,在先前的单核架构中已经需要考虑到变量数据的保护问题。
[0019] 在本发明的范围内,当在抢占性任务的情况下基于单核架构设计新的多核架构时,当生产性任务以外的消耗性任务消耗变量数据且该消耗性任务的优先级大于或等于该生产性任务的优先级时,需要特别注意。在预先存在的软件程序中,这样的变量数据可能尚未被识别为在稳定性方面必须受到保护,即使存在该需求。同样地,如果新的软件程序更改了任务之间的优先级顺序,则例如可能出现数据不一致的情况,而显而易见地,稳定性是通过优先级的选择来确保的。更一般而言,无论是否在抢占式任务的情况下,当在设计或修改多核处理器中存在的软件时,需要检查所有在一个核心中产生并在另一核心中被消耗两次或更多次的数据,以了解数据对于其各种消耗性功能来说是否需要是稳定的。这项工作可能会非常繁重,尤其是在多核架构中恢复预先为单核架构设计的软件时。
[0020] 在这种情况下,本发明旨在优化软件程序的设计,以便在使开发工作量最小化的情况下满足变量数据的稳定性需求,同时优化对微处理器容量的使用。
[0021] 更具体地,本发明涉及一种在上述范围内用于辅助软件程序的设计的方法,从而通过根据可能的两种方法实施一种保护机制来确保变量数据的稳定性:系统化方法和区别化方法。无论从功能性的观点来看是否存在需求,系统化的保护方法都涉及将受到系统化保护的数据。区别化方法允许保护由功能设计者预先识别为存在保护需求的数据。
[0022] 有利地,应用该系统化的方法,以将研究工作量限制在涉及有限数量的数据的非常精确的范围内,从而不会消耗过多的微处理器容量。该区别化方法要求详尽地搜索所有需求,这允许限制对微处理器容量的依赖。由于变量数据的不稳定性问题意味着在设计新的软件程序之前预先存在的程序可能尚未被识别,因此,本发明特别地涉及程序或程序的一部分用于在并行执行任务时与预先存在的程序协作的情况。
[0023] 换句话说,本发明涉及一种用于保护至少一个变量数据的稳定性的方法,该变量数据用于程序或程序的一部分,该程序或程序的一部分包括由多核微处理器实施的至少两个任务,该方法包括:
[0024] -确定至少一个待系统化保护的变量数据,该待系统化保护的变量数据包括由至少两个任务分别产生和消耗的变量数据,该至少两个任务在多核微处理器的两个不同核心上并行执行,每个核心形成独立的处理单元,该至少两个任务各自具有执行优先级,并且包括产生该待保护变量数据的至少一个生产性任务和消耗该待保护变量数据的至少一个消耗性任务,该消耗性任务的执行优先级高于该生产性任务的执行优先级,通过连续执行一个或多个消耗性功能,该消耗性任务在该消耗性任务的执行期间对该待保护变量数据进行至少两次访问,以便该待保护变量数据可以在该至少两次访问之间发生变化;
[0025] -安装保护功能,该保护功能用于在执行消耗性任务期间保护该待系统化保护的变量数据,以便由消耗性任务进行的两次访问消耗具有固定值的变量数据,从而按所考虑地执行消耗性任务。
[0026] 通过本发明,可以设计用于与预先存在的软件程序部分协作的软件程序部分,其中变量数据的生产性任务和消耗性任务由独立于多核微处理器的处理单元实现,同时确保该变量数据的稳定性,其中包括在设计新程序部分之前无法识别稳定性需求的情况。有利地,在消耗性任务中,该保护功能包括在该消耗性任务开始执行时对该待保护变量数据的值进行本地复制的功能。本发明也适用于由单核微处理器实施的软件程序移植到具有多核微处理器的架构的情况。
[0027] 根据实施例,该生产性任务包括周期性的任务。
[0028] 根据实施例,该消耗性任务包括周期性的任务。
[0029] 根据实施例,该消耗性任务是同步任务,该同步任务用于在该同步任务的执行期间对该待保护变量数据进行至少两次连续访问。
[0030] 根据实施例,该方法包括在稳定性上对限定为需要区别化保护的变量的保护,该待区别化保护的变量数据由至少两个任务分别产生和消耗,该至少两个任务在多核微处理器的两个独立的核心上并行执行,该至少两个任务具有任意的执行优先级,并且包括产生该待保护变量数据的至少一个第二生产性任务、以及消耗两次该待保护变量数据的至少一个第二消耗性任务,在开始执行该第二消耗性任务时,仅当该变量数据被限定为待区别化保护变量数据时,该方法包括实施对该待区别化保护变量数据的保护功能。
[0031] 有利地,该保护功能包括在第二消耗性任务中对该变量数据的本地复制功能。
[0032] 根据实施例,该第二生产性任务包括周期性的任务。
[0033] 根据实施例,该第二消耗性任务包括周期性的任务。
[0034] 根据实施例,该第二消耗性任务是同步任务,该同步任务用于在该同步任务的执行期间对该待保护变量数据进行至少两次连续访问。附图说明
[0035] 通过阅读仅作为示例给出的本发明的实施例的详细描述并参照附图,本发明的其他特征和优点将显现,在附图中:
[0036] -图1是单核微处理器的示意图;
[0037] -图2是多核微处理器的架构示例的示意图;
[0038] -图3是着重示出了在具有抢占式调度的多核心的情况下的待保护变量数据的示例的示意图;
[0039] -图4是示出了待保护变量数据的基本保护功能的实施示例的示意图。

具体实施方式

[0040] 在下文中,所描述的实施例更具体地涉及在机动车辆中根据本发明的使用处理器。然而,本发明还涉及在不同情况下、特别是在任意类型的车辆中的任意使用。
[0041] 机动车辆(未示出)包括通过车轮置于行车道的底盘。为了允许车辆在行车道上行驶,该车辆还包括适于驱动车轮的至少一部分转动的动力总成
[0042] 动力总成(未示出)包括至少一个内燃发动机和/或电动系统。
[0043] 特别地,为了控制和操纵燃油发动机和电动机的运行,该车辆还包括至少一个控制计算机。通常,控制计算机允许不同功能软件的执行,该不同功能软件用于控制和操纵诸如动力总成的发动机、变速箱等的车辆的不同构件。
[0044] 在这种情况下,控制计算机包括如图2所示的多核处理器1,该多核处理器1包括多个核心,尤其包括两个、三个、四个、五个核心等。
[0045] 多核处理器1包括两个分区10、20,其中第一分区10用于控制第一组任务并且第二分区20用于控制第二组任务。
[0046] 每个分区10、20至少包括一个核心11、12、21。在图2所示的示例中,第一分区10包括2个核心11、12,并且第二分区20包括核心21。然而,每个分区10、20的核心数量当然也可以不同。
[0047] 每个分区10、20还包括专用于每个分区10、20的存储空间13、23。
[0048] 因此,使用第二分区20的核心21的软件将被存储在第二分区20的存储空间23中。这允许分别更新使用第一分区10的软件以及使用第二分区20的软件。
[0049] 应注意的是,属于第一组或第二组(当然可以有更多的任务组)的任务可以各自具有执行优先级。然而,本发明适用于根据系统化的方法或区别化的方法实施保护,而不管通过定序器或通过使用任务监控器或其他方法确定的任务调度类型如何,并且本发明尤其适用于“抢占式调度”的情况,调度允许主要任务在有可能同时执行多个任务时具有访问数据和硬件资源的优先权,该主要任务例如与机动车中的安全性或发动机控制有关。理论上,多核微处理器的使用允许解决硬件资源的访问方面的冲突,然而如前所述的,对变量数据的访问可能存在冲突。
[0050] 因此,具有更高优先级的任务相对于具有较低优先级的任务优先访问数据。
[0051] 当多个软件程序共存于计算机时,多个任务在多核微处理器并行执行,其中抢占式调度决定不同任务的相应优先级,在可随时间连续且随机变化的时刻反复出现任务的中断。
[0052] 特别是在机动车辆中实施的范围内,在上述任务组中,将周期性任务与同步任务区别开来,该同步任务尤其涉及发动机控制。另一方面,周期性任务可以具有例如大于10ms或小于5ms的执行周期。最后,在涉及到变量数据、尤其是涉及由于变量数据的可靠性应当得到确保而需要保护的变量数据时,将这些变量数据的生产性任务和消耗性的任务进行区分。
[0053] 另外,在下文中,认为具有通常小于5ms的短周期的周期性任务比具有通常大于10ms的较长周期的周期性任务具有更高的优先级,并且认为与发动机控制有关的同步任务始终具有比任意周期性任务更高的优先级。
[0054] 特别地,在任务组在多核微处理器的不同核心上并行运行的情况下,如图2所示,第一组任务可以包括周期小于或等于5ms的周期性任务,第二组任务可以包括周期大于或等于10ms的周期性任务,并且第三组任务可以包括与电机控制相关的同步任务。
[0055] 根据实施例,为了识别待保护的变量数据,一方面,本发明提出着重于由例如周期大于或等于10ms的周期性的消耗性任务产生的、在周期性的消耗性任务中多次消耗的变量数据。另一方面,根据该实施例,识别出由例如周期小于或等于5ms的周期性的生产性任务产生的、在与发动机控制有关的同步消耗性任务中多次消耗的变量数据。
[0056] 根据实施例,涉及与发动机控制有关的同步消耗性任务所消耗的变量数据,由于很难预测在低于或不低于该变量数据的生产性任务的周期的时间段期间,与发动机控制有关的同步任务是否多次访问该变量数据,因此考虑将该变量数据全部识别为待保护的变量数据。
[0057] 根据本发明,因此,通过将检查限制在由周期性任务产生的、由具有较高优先级的任务在每个周期内多次消耗的变量数据的清单内,根据本发明的用于设计软件程序的方法允许限制为了识别变量数据的稳定性需求而需提供的工作量。
[0058] 实际上,在生产性任务的优先级高于消耗性任务的优先级的情况下,在本方法之外,必然需要提前进行对变量数据的保护。
[0059] 根据实施例,当无法通过实施上述分析来确认变量数据应该受到保护时,该变量数据将被认为应受到保护。
[0060] 因此,本发明旨在,在如上所述的通过多核微处理器执行并行任务的情况下,允许确保软件程序中的待保护变量数据的稳定性。
[0061] 通过借助于如上所述的优化的分析来识别待保护变量数据以减少在软件程序的设计阶段必需的工作量,本发明允许仅针对该待保护的变量数据实施系统化的保护功能。
[0062] 图2允许示出将变量数据识别为待保护的变量数据的情况。在图2中,时间t的流逝从上到下进行。微处理器P包括两个核心1、2,核心也称为处理单元。
[0063] 在处理单元1中,生产性任务A分别在时刻t0、t1和t2以A.0、A.1和A.2多次执行。生产性任务A产生数据D1,该数据D1在每次执行生产性任务A时定期更新,也就是说在时刻t0、t1、t2等处定期更新。
[0064] 在处理单元2中,消耗性任务B以B.1执行一次,并且包括在时刻t1'和t2'消耗两次数据D1的两个功能F1和F2,时刻t1'和t2'分别插在时刻t1和时刻t2之间以及在时刻t2之后。消耗性任务B的优先级高于生产性任务A的优先级,因此,在单核的情况下,任务A被阻止,并且数据D1对于任务B是稳定的。在多核的情况下,参照图3,任务A和任务B在两个不同的核心上同时并行执行。因此,消耗数据D1的消耗性任务B的功能F1和功能F2在消耗性任务B的单次且相同的执行中没有使用该变量数据D1的同一个值:因此该变量数据D1是不稳定的。
[0065] 在必要的情况下,本发明考虑实施用于保护待保护变量数据的功能。图3和下面的描述阐明这样的保护功能的非限制性实施示例。
[0066] 因此,图3示出了在每次开始执行消耗性任务B时执行的基本保护功能F0。
[0067] 根据实施例,在消耗性任务B开始时执行的基本保护功能F0在该消耗性任务B的范围内对待保护的变量数据D1进行本地复制,并且更一般地,对该消耗性任务B的一个或多个功能所消耗的所有待保护的变量数据进行本地复制。然后,在该消耗性任务B中消耗变量数据D1的一个或多个功能使用由该基本保护功能F0生成的本地副本,以使得该待保护的变量数据从消耗性任务B的度来说确实具有稳定的值。
[0068] 所提出的该保护方法的优点在于,通常可以在消耗性任务B中不重命名数据D1,这允许避免必须修改功能F1和F2的可能预先存在的代码。唯一要执行的操作是,通过链接文件提供功能F1、F2与生产性任务A和消耗性任务B之间的新的连接,无论每个功能F1、F2的代码如何。当软件架构或工具要求重命名数据D1时,根据本发明的方法仍然有效,然而需要修改数据D1的所有消耗性功能以指示替换D1的新的名称。
[0069] 优选地,安装该基本保护功能F0,以便借助保护分量符合Autosar标准,该保护分量通过限定为优先于所有周期性任务而属于与发动机控制有关的同步任务,以使得该基本保护功能F0在消耗性任务B的任意其他功能之前被使用。
[0070] 有利地,通过前述的允许识别数量有限的待保护变量数据的针对性分析,本发明仅导致所消耗的硬件资源的最小增加。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈