使用多核处理器减轻共模计算故障的制作方法

文档序号:20921391发布日期:2020-05-29 14:11阅读:301来源:国知局
使用多核处理器减轻共模计算故障的制作方法

本发明涉及一种安全关键控制系统,并且更具体地涉及一种对每个冗余计算信道中的命令通路和监视通路使用不同的处理器核以减轻共模故障的安全关键控制系统。



背景技术:

在各种应用中需要安全关键控制系统,例如飞机控制、核关闭系统、医疗仪器等。在此类应用中,由于即使是单个故障也可能导致人为因素或经济损失,因此已经做出了很多努力来通过使用冗余计算信道来减轻故障,该信道实施故障检测或在至少一个信道发生故障的情况下进行备份。每个冗余计算信道通常包括一个命令通路和一个监视通路,并为每个通路的计算模块采用不同的处理器核,以促进通路之间的设计多样性,从而减轻可能导致主控制可用性损失的共模故障的影响。

嵌入式控制行业正朝着使用多核处理器的方向发展,以满足日益增长的生产容量的需求,同时降低能耗并提高可靠性。在一些先前的努力中,在不同的片上系统(soc)设备上实施与每个冗余计算信道的两个通路相对应的各自不同的处理器核。但是,在该设计中,单独的soc器件可能在异构集成电路上实施,也可能由不同的制造商提供,因此很难获得两个通路的相似级别的安全性或完整性。



技术实现要素:

在本发明的一方面,提供了一种控制系统。该控制系统包括计算信道和对象控制信道。计算信道包括命令通路和监视通路。命令通路具有第一处理器核,该第一处理器核具有第一核架构,该第一核架构接收输入数据并基于输入数据生成第一数据。监视通路具有第二处理器核,该处理器核具有第二核架构,该第二核架构接收输入数据并基于输入数据生成第二数据。第一核架构和第二核架构彼此不同,并且在单个片上系统设备中实施。计算信道响应于确定第一数据与第二数据匹配而输出第一数据作为命令数据。对象控制信道对应于计算信道,并且包括至少一个对象控制系统。对象控制系统从计算信道接收命令数据,并基于命令数据生成对象控制信号,以控制对象系统的至少一部分的操作。

在本发明的另一方面,提供了一种计算系统。该计算系统包括命令通路和监视通路。命令通路具有第一处理器核,该第一处理器核具有第一核架构,该第一核架构接收输入数据并基于输入数据生成第一数据。监视通路具有第二处理器核,该第二处理器核具有与第一核架构不同的第二核架构,该第二核架构接收输入数据并基于输入数据生成第二数据。第一核架构和第二核架构彼此不同,并且在单个片上系统设备中实施。该计算系统还包括控制逻辑,该控制逻辑接收第一数据和第二数据,并响应于确定第一数据与第二数据匹配而输出第一数据作为命令数据。

在另一方面,提供了一种操作控制系统的计算机实施的方法,该控制系统包括计算信道,其具有命令通路和监视通路。该方法包括:由命令通路的第一处理器核接收输入数据;由第一处理器核基于输入数据生成第一数据;由监视通路的第二处理器核接收输入数据;由第二处理器核基于输入数据生产第二数据,并且由计算信道输出第一数据作为命令数据。第一处理器核的第一核架构和第二处理器核的第二核架构彼此不同,并且在单个片上系统设备中实施。

附图说明

图1a描绘了根据本发明的实施例的包括多个冗余计算信道的示例性安全关键控制系统;

图1b描绘了根据本发明的实施例的包括多个冗余计算信道的示例性安全关键控制系统;

图2a描绘了根据本发明实施例的每个冗余计算信道的示例性功能框图;

图2b描绘了根据本发明实施例的图2a的示例性逻辑电路的框图;

图3是根据本发明的实施例的示例性多核soc设备的框图;

图4描绘了根据本发明的实施例的在命令通路和监视通路中使用的示例性差异特征;

图5a是示出根据本发明的实施例的在命令通路中使用的核架构和差异特征的多核soc设备的框图;

图5b是示出根据本发明的实施例的监视通路中使用的核架构和差异特征的多核soc设备的框图;和

图6是示出根据本发明的实施例的用于操作安全关键控制系统1的方法的示例性流程图。

具体实施方式

现在将基于附图详细描述本发明的实施例。然而,以下实施例不限制权利要求中要求保护的发明。而且,实施例中描述的特征的所有组合对于本系统和方法的架构不是必需的。在本发明的实施例的整个描述中,相似的附图标记被分配给相似的元件。

将理解的是,尽管术语第一、第二、第三等在本文中可用于描述各种元件。这些元件的位置或元件排列的顺序不应受这些术语的限制。相反,这些术语仅用于将一个元件与另一个元件区分开。

本文所使用的术语仅是出于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,单数形式的“一”、“一个”和“该”也意图包括复数形式,除非上下文另外明确指出。

如本文所用,第一数据和第二数据之间的术语“匹配”不一定仅指“精确匹配”,也可以指“部分匹配”,在“精确匹配”中第一数据的每个元件(例如位串或字符)都等于第二数据的每个元件,在“部分匹配”中第一数据的元件在预定的可接受范围内与第二数据的元件相似。仅作为示例,如果第一数据和第二数据具有基本上相同的元件,但是在例如元件的排列顺序上不同,则可以确定匹配;在该示例中,第一数据以大尾数格式(即最高有效位)表示,而第二数据以小尾数格式(即最低有效位)表示,或者反之亦然。在另一个示例中,即使第一数据的几个连续元件与第二数据的一部分中的几个连续元件相同,也可以确定匹配;可以通过设置预定的可接受范围(例如允许差异的数量)来确定匹配。

图1a描绘了根据本发明的实施例的示例安全关键控制系统1,其包括多个冗余计算信道10a至10c。图2a描绘了根据本发明实施例的每个冗余计算信道的示例性功能框图。

如在图1a的示例中所描绘的,安全关键控制系统1包括多个冗余计算信道10a至10c。本发明的冗余计算信道的数量不限于图1a的图示。每个冗余计算信道10a至10c包括两个处理通路,例如命令通路和监视通路。冗余计算信道10a包括命令通路110a和监视通路120a。冗余计算信道10b包括命令通路110b和监视通路120b。冗余计算信道10c包括命令通路110c和监视通路120c。

在一些方面,各个冗余计算信道10a至10c的每个命令通路(例如110a、110b、110c)可以被称为用于生成命令数据的主要通路,该命令数据可用于生成用于对象系统(未示出)的控制信号,并且每个监视通路可以称为辅助通路,用于检查相应的命令通路的异常或者命令通路与监视通路所属的整体冗余计算信道的异常。

在本发明中,对象系统可以是安全关键系统,诸如具有有人和无人驾驶应用的飞机(例如无人机、无人驾驶飞行器等)、核关闭系统、医疗仪器等,它们需要根据本发明的安全关键控制系统进行的控制。

在图1a的冗余计算信道10a中,命令通路110a可以接收与对象系统有关的输入数据61,使用具有核架构arch1的处理器核210a来处理输入数据61,并且基于处理后的输入数据61生成第一输出数据(图1a中未示出)。此外,监视通路120a可以接收与输入数据61基本上相同的输入数据62,使用具有核架构arch2的处理器核220a来处理输入数据62,并且基于处理后的输入数据62生成第二输出数据(图1a中未示出)。在一个实施例中,为了增大命令通路110a与监视通路120a之间的差异特征,处理器核210a和220a以不同的核架构arch1和arch2来实施。

参照图1b,一个实施例中的安全关键控制系统1a包括两个处理器核210a和210a'和一个处理器220a,两个处理器核210a和210a'在命令通路110a'中具有各自的核架构arch1和arch1',处理器220a在监视通路120a中具有核架构arch2。系统1a容纳多个这样的核,例如具有处理器核210b、处理器核210b'、处理器核220b和处理器核220b',该处理器核210b具有核架构arch3,该处理器核210b'在命令通路110b'中具有核架构arch3',该处理器核220b具有核架构arch4,该处理器核220b'在监视通路120b'中具有核架构arch4'。

在冗余计算信道10a中没有故障的正常情况下,命令通路110a和监视通路120a可以生成相同的输出;例如,命令通路110a的第一输出数据与监视通路120a的第二输出数据匹配。在这种情况下,冗余计算信道10a可以将第一输出数据作为命令数据63输出到对象控制信道(occ)1000a。另一方面,在冗余计算信道10a中存在至少一个故障的异常情况下,命令通路110a和监视通路120a可能会产生彼此不同的输出;例如,命令通路110a的第一输出数据与监视通路120a的第二输出数据不匹配。在这种情况下,冗余计算信道10a可以不输出命令数据63和/或可以将警报信号(未示出)提供到其它冗余计算信道10b和10c中的至少一个,该警报信号表示命令通路110a的第一输出数据与监视通路120a的第二输出数据不匹配。

在冗余计算信道10b中,命令通路110b可以接收与对象系统有关的输入数据64,使用具有核架构arch3的处理器核210b来处理输入数据64,并基于处理后的输入数据64生成第一输出数据(图1a中未示出)。此外,监视通路120b可以接收与输入数据64基本相同的输入数据65,使用具有核架构arch4的处理器核220b来处理输入数据65,并基于处理后的输入数据65生成第二输出数据(图1a中未示出)。在一个实施例中,为了增大命令通路110b和监视通路120b之间的差异特征,处理器核210b和220b以不同的核架构arch3和arch4来实施。

在冗余计算信道10b中没有故障的正常情况下,命令通路110b和监视通路120b可以生成相同的输出;例如,命令通路110b的第一输出数据与监视通路120b的第二输出数据匹配。在这种情况下,冗余计算信道10b可以将命令数据66输出到对象控制信道1000b。另一方面,在冗余计算信道10b中存在至少一个故障的异常情况下,命令通路110b和监视通路120b可能会产生彼此不同的输出;例如,命令通路110b的第一输出数据与监视通路120b的第二输出数据不匹配。在这种情况下,冗余计算信道10b可以不输出命令数据66和/或可以将警报信号(未示出)提供到其它冗余计算信道10a和10c中的至少一个,该警报信号表示命令通路110b的第一输出数据与监视通路120b的第二输出数据不匹配。

在冗余计算信道10c中,命令通路110c可以接收与对象系统有关的输入数据67,使用具有核架构arch5的处理器核210c来处理输入数据67,并基于处理后的输入数据67生成第一输出数据(图1a中未示出)。此外,监视通路120c可以接收与输入数据67基本相同的输入数据68,使用具有核架构arch6的处理器核220c来处理输入数据68,并基于处理后的输入数据68生成第二输出数据(图1a中未示出)。在一个实施例中,为了增大命令通路110c和监视通路120c之间的差异特征,处理器核210c和220c以不同的核架构arch5和arch6来实施。

在冗余计算信道10c中没有故障的正常情况下,命令通路110c和监视通路120c可以生成相同的输出;例如,命令通路110c的第一输出数据与监视通路120c的第二输出数据匹配。在这种情况下,冗余计算信道10c可以将命令数据69输出到对象控制信道1000c。另一方面,在冗余计算信道10c中存在至少一个故障的异常情况下,命令通路110c和监视通路120c可能会产生彼此不同的输出;例如,命令通路110c的第一输出数据与监视通路120c的第二输出数据不匹配。在这种情况下,冗余计算信道10c可以不输出命令数据69和/或可以将警报信号(未示出)提供到其它冗余计算信道10a和10b中的至少一个,该警报信号表示命令通路110c的第一输出数据与监视通路120c的第二输出数据不匹配。

尽管在图1a中示出核架构arch1至arch6对于每个冗余计算信道10a至10c是不同的,本发明的实施例不限于此;例如,在一个冗余计算信道中使用的至少一个核架构可以在另一冗余计算信道中使用。在另一特定示例中,冗余计算信道100b(或冗余计算信道100c)的处理器核110b和120b(或处理器核110c和120c)可以分别用核架构arch1和arch2来实施,用于冗余信道100a中的处理器核110a和120a。

在本发明中,输入数据(例如61、64或67)包括但不限于:在对象系统的各个位置处测量或感测到的传感器数据或与对象系统的操作或状态相关的数据。

为了将每个冗余计算信道10a至10c中的命令通路(例如110a、110b或110c)的第一输出数据与监视通路(例如120a、120b或120c)的第二输出数据进行比较,在一个实施例中,在命令通路与监视通路之间可以存在通信路径,以允许第一输出数据和/或第二输出数据通过其交换。在这种情况下,监视通路可以将第二输出数据发送到命令通路,并且命令通路可以将第二输出数据与第一输出数据进行比较。接下来,如果命令通路的第一输出数据和监视通路的第二输出数据彼此匹配,则命令通路可以确定在命令通路和监视通路所对应的冗余计算信道中没有故障,并且因此,命令通路可以通过通信网络50输出命令数据(例如63、66或69)。如果命令通路的第一输出数据和监视通路的第二输出数据彼此之间不匹配,命令通路可以确定在对应的冗余计算信道中存在一个或多个故障,因此可以不输出命令数据。在这种情况下,在可选操作中,命令通路可以通过通信网络50向一个或多个其它冗余计算信道发送警报信号,该警报信号表示相应的冗余计算信道中存在故障。进一步,在可选操作中,接收警报信号的一个或多个其它冗余计算信道可以接替发生故障的冗余计算信道的任务或操作;在该特定示例中,一个或多个冗余计算信道被称为从模式信道,并且其中已经发生故障的冗余计算信道被称为主模式信道。

在一个实施例中,如图2a所示,在冗余计算信道100'中,可以存在逻辑电路2040,该逻辑电路2040接收命令通路110'的第一输出数据51和监视通路120'的第二输出数据52。命令通路110'具有与命令通路110a、110b、110c(图1a)、110a'和110b'(图1b)中的任何一个基本相同的配置,并且监视通路120'具有与监视通路120a、120b、120c(图1a)和120b'(图1b)中的任何一个基本相同的配置。逻辑电路2040可以将第一输出数据51与第二输出数据52进行比较,并且响应于确定第一输出数据51和第二输出数据52彼此匹配而通过通信网络50将第一输出数据51作为命令数据63'输出。另一方面,如果第一输出数据51和第二输出数据52彼此不匹配,则逻辑电路2040可以不输出命令数据63'。在这种情况下,在可选操作中,逻辑电路2040可以通过通信网络50向一个或多个其它冗余计算信道发送警报信号,该警报信号表示相应的冗余计算信道中存在故障。进一步,在可选操作中,接收警报信号的一个或多个其它冗余计算信道可以接替发生故障的冗余计算信道的任务或操作。

在一个实施例中,如图2b的示例中所示,逻辑电路2040可以被实施为包括输入数据寄存器2041和2042,多个异或逻辑(xor)门60_1至60_n、求和电路2043以及缓冲器2045。这里,n是大于0的整数并且是数据51或52的位长。数据寄存器2041可以通过串行移位和锁存数据51来接收第一输出数据51,并且将对应的位作为一个输入提供给每个xor逻辑门60_1至60_n。类似地,数据寄存器2042可以通过串行移位和锁存数据52来接收第二输出数据52,并且将对应的位作为另一个输入提供给每个xor逻辑门60_1至60_n。接下来,如果第一输出数据51和第二输出数据52的对应位不同,则每个xor逻辑门60_1至60_n可以输出值“1”,否则,输出值“0”。如果求和值大于阈值2046,则求和电路2043可以将xor逻辑门60_1至60_n的输出c_1至c_n求和,并且输出激活信号2044。如果激活信号2044存在,则缓冲器2045可以输出命令数据63'。否则,缓冲器2045可以不输出命令数据63’。例如,如果阈值2046被设置为“零”,则第一输出数据51与第二输出数据52之间的至少一位差可以使逻辑电路2040确定数据51和52之间的不匹配。在另一个实施例中,逻辑电路2040的功能可以使用处理器(未示出)来实施。

在本发明中,命令数据(例如63、66、69或63')是源数据,其被至少一个对象控制信道(例如1000a、1000b、1000c)用来生成对象控制信号(例如1010、1020、1030)以控制对象系统的各个部分(例如致动器)的行动或操作。

在一个实施例中,如图1a所示,对象控制信道1000a基于选择算法从命令数据63、66和69生成对象控制信号1010。对象控制信道1000b基于选择算法从命令数据63、66和69生成对象控制信号1020。对象控制信道1000c基于选择算法从命令数据63、66和69生成对象控制信号1030。在一个实施例中,选择算法包括接收所有三个命令数据63、66和69以及选择命令数据63、66和69的中值或平均值。在另一个实施例中,每个对象控制信道使用的选择算法还可以选择命令数据63、66和69中的任何一个;例如,如果三个冗余计算信道中的两个(例如,如果图1a的10a和10b)出故障,则每个对象控制信道将使用从信道10c输出的保持健康的命令数据69。在其它实施例中,每个对象控制信道仅基于其映射命令数据来生成对象控制信号。例如,对象控制信道1000a仅基于命令数据63生成对象控制信号1010,对象控制信道1000b仅基于命令数据66生成对象控制信号1020,并且对象控制信道1000c仅基于命令数据69生成对象控制信号1030。每个对象控制信号1010至1030可用于控制对象系统的各个部分(例如致动器)的行动。

通信网络50可以包括基于internet、局域网(lan)、广域网(wan)、码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma、cdma-2000、时分多址(tdma)、长期演进(lte)、无线lan、蓝牙、航空电子标准(例如arinc-429、arinc664、mil-std1553等)等的通信。

在一个实施例中,在同一多核soc设备中实施每个冗余计算信道的命令通路和监视通路中采用的各个不同的处理器核。与将不同处理器实施到两个或更多个单独的设备中的现有技术不同,根据本发明的多核soc设备(其中不同核处理器在单个硅芯片或裸片中实施)可以允许与命令通路和监视通路相对应的处理器核处理器具有相似或基本相同水平的性能指标(例如生产容量、功耗),以提高安全关键控制系统的安全性和完整性,并减少安全关键控制系统的swap-c(尺寸、重量、面积、功率和成本),同时保持系统安全。如图1a所示,冗余计算信道10a包括其中实施了不同处理器核210a和220a的多核soc设备100a。冗余计算信道10b包括多核soc设备100b,其中实施了不同的处理器核210b和220b。冗余计算信道10c包括多核soc设备100c,其中实施了不同的处理器核210c和220c。

在一个实施例中,为了进一步增强系统安全性,命令通路和监视通路的各个处理器核可以基于进一步的设计差异特征来处理数据,这将在后面参考图4、5a和5b进行描述。

图3是根据本发明的实施例的示例性多核soc设备100d的框图。图4描绘了根据本发明的实施例的在命令通路和监视通路中使用的示例性的差异特征。图5a是示出根据本发明的实施例的在命令通路中使用的核架构和差异特征的多核soc设备100d的框图。图5b是示出根据本发明的实施例的在监视通路中使用的核架构和差异特征的多核soc设备100d的框图。

如图3所示,具有不同核架构的两个处理器核210d和220d在同一多核soc设备100d中实施。例如,处理器核210d具有核架构archa,并且处理器核220d具有与核架构archa不同的核架构archb。尽管如图3所示,在多核soc设备100d中实施了针对每个核架构archa和archb的单个核,本发明不限于此,例如,对于至少一个核架构archa和archb不止一个核可以在多核soc设备中实施(例如,具有核架构archa的两个核和具有核架构archb的两个核)。在另一示例中(图中未示出),具有三个或更多不同核架构的多个核(例如,具有核架构archa的一个或多个核,具有核架构archb的一个或多个核,具有与架构archa和archb不同的核架构的一个或多个核)是在单个多核soc设备中实施的。

在一个实施例中,处理器核210d和220d的相应核架构archa和archb选自诸如数字信号处理(dsp)、coretm处理器(例如corei3、corei5、corei7)、arc、alpha、avr、blackfin、risc-vtm、具有多核处理器(例如xilinxultrascalempsoc)的现场可编程门阵列(fpga)等。

在一些方面,处理器核210d(或处理器核220d)可以使用一个或多个高速缓存存储器211d和212d(或221d和222d)来减少从共享存储器230访问数据的等待时间。参照图3所示的例子,高速缓冲存储器211d和212d分别被实施为具有l1高速缓存和l2高速缓存,但是本发明的示例性实施例不限于此。共享存储器230是指用于存储从对象系统(未示出)收集的输入数据(例如61、62、64、65、67或68)的存储器,并且每个处理器核210d和220d可以读取来自共享存储器230的输入数据,处理输入数据,基于处理后的输入数据生成输出数据,并将输出数据写入共享存储器230。

soc设备100d可以进一步包括多核一致性结构235,其提供用于在处理器核210d与220d之间交换数据并且允许处理器核210d和220d访问共享存储器230的接口。

soc设备100d可以进一步包括各种外围设备,诸如但不限于一个或多个存储器控制器240a至240b、本地总线控制器245、外围组件互连快速(pcie)总线控制器250、串行i/o控制器255、sata控制器260、千兆位以太网交换机265、一个或多个以太网控制器270a至270b、通用串行总线(usb)控制器275、通用异步接收器/发送器(uart)控制器280、spi、i2c控制器285、安全引擎290、调试监视器模块295、电源管理模块300、和通用i/o模块305。i/o一致性结构310可以为soc设备100d的上述元件之间的通信提供接口。

在一个实施例中,一个或多个存储器控制器240a和240b可以用提供用于访问外部ddr同步dram(ddrsdram)的接口的双倍速率(ddr)存储器控制器来体现。例如,ddr存储器控制器240a可以控制ddr2sdram的操作,并且ddr存储器控制器240b可以控制ddr3sdram的操作。

pcie总线控制器250、串行i/o控制器255、sata控制器260和千兆位以太网交换机265构成高速数据交换i/o接口信道,并耦合到串行器/解串器(serdes)315,其促进串行数据在两点之间的并行数据传输。

命令通路和监视通路的相应处理器核210d和220d可以基于设计多样性特征来处理数据。例如,处理器核210d基于第一组差异特征来处理数据(例如61、64或67),并且处理器核220d基于第二组差异特征来处理数据(例如62、65或68)。第一组差异特征中的至少一个可以与第二组差异特征中的相应一个不同。

如在图4的示例中所描绘的,由处理器核210d和220d使用或访问的差异特征400可以是硬件或软件资源,包括:共享存储器411的部分、i/o接口412、ddr存储器类型413、引导存储器类型414、系统时钟415、用于编码的计算机编程语言416、编译器417、编码工具418、用于存储和处理的数据419的数字表示格式、字节序模式420、一致性模块模式421、缓存模式422、i/o数据时序423、电源设计424等。

在一个实施例中,关于共享存储器411的部分,处理器核210d和220d排他地访问共享存储器的不同部分(例如图3的230)以从存储设备读取数据和向存储设备写入数据。如图3所示,例如,处理器核210d访问共享存储器230的上半部分,并且处理器核220d访问共享存储器230的下半部分,或者反之亦然。

在一个实施例中,关于i/o接口412,处理器核210d和220d使用彼此不同的i/o接口。例如,处理器核210d使用pcie总线2510作为i/o接口,如图5a所示;处理器核220d使用本地总线2450作为i/o接口,如图5b所示;或者反之亦然。

在一个实施例中,关于ddr存储器类型413,处理器核210d和220d使用彼此不同的ddr存储器类型。例如,处理器核210d使用ddr2sdram2420,如图5a所示;处理器核220d使用ddr3sdram2410,如图5b所示;或者反之亦然。

在一个实施例中,关于引导存储器类型414,处理器核210d和220d使用彼此不同的引导存储器类型。例如,处理器核210d使用耦合到pcie总线2510的引导存储器2520,如图5a所示;处理器核220d使用耦合到本地总线2450的引导存储器2460,如图5b所示;或者反之亦然。在一些实施例中,处理器核210d和220d都使用安全启动功能,在其它实施例中,处理器核210d和220d都不使用安全启动功能。

在一个实施例中,关于系统时钟415,处理器核210d和220d使用彼此具有不同频率(例如时钟周期)的系统时钟。例如,处理器核210d使用具有第一频率的系统时钟391,如图5a所示;第二组处理器核220d使用具有第二频率的系统时钟392,如图5b所示。

在图5a所示的特定示例中,pcie控制器250对耦合到pcie存储器桥2540、引导存储器2520、和非易失性存储器2530的pcie总线2510执行控制。非易失性存储器2530可以由磁阻随机存取存储器(mram)、闪存、铁电ram(fram)等来体现。此外,可以通过pcie总线接口2510输入将由处理器核210d处理的输入数据(例如图1a的61、64、或67),并将其存储到共享存储器230的相应部分(例如上半部分)中。处理器核210d可以访问共享存储器230的相应部分以读取和处理输入数据,通过处理输入数据来生成输出数据,并将输出数据存储到共享存储器230的相应部分中。

在图5b所示的特定示例中,本地总线控制器245对耦合到本地总线存储器桥2490、引导存储器2460、非易失性存储器2470(例如mram、闪存、fram等)和地址锁存器2480的本地总线2450执行控制。另外,可以通过本地总线接口2450输入将要由处理器核220d处理的输入数据,并将其存储到共享存储器230的相应部分(例如下半部分)中。220d可以访问共享存储器230的对应部分以读取和处理输入数据,通过处理输入数据来生成输出数据,并且将输出数据存储到共享存储器230的对应部分中。

尽管在图5a和5b中未示出,处理器核210d和220d可以基于图4中所示的其它差异特征来处理数据。

在一个实施例中,关于计算机编程语言416,基于诸如c、c++、ada、assembly、等不同编程语言编码的程序指令来控制处理器核210d和220d。例如,程序指令的某些部分用汇编语言编程,以优化独特功能的性能。

在一个实施例中,关于编译器417,基于不同的编译器(例如,windriver、gnu、codewarriortm等)编译的程序指令来控制处理器核210d和220d。

在一个实施例中,关于编码工具418,基于诸如simulink等的不同编码工具编码的程序指令来控制处理器核210d和220d。

在一个实施例中,关于数据419的数字表示格式,处理器核210d的输入数据和输出数据与处理器核220d的输入数据和输出数据不同。数字表示格式的示例包括定点滑动b刻度、具有固定b刻度的固定点、16位浮点、32位浮点、64位浮点等。

在一个实施例中,关于字节序模式420,处理器核210d和220d使用不同的字节序模式来存储数据。字节序模式的示例包括大字节序模式[例如最高有效位(msb)]、小字节序模式[例如,最低有效位(lsb)]等。

在一个实施例中,关于一致性模式421,处理器核210d和220d在qos仲裁策略方面使用不同的一致性模式来访问接口(例如,对于soc和i/o功能,安全访问vs可共享访问;主模式vs从模式)。

在一个实施例中,关于高速缓存模式422,处理器核210d和220d使用不同的高速缓存模式,诸如非高速缓存模式、回写模式、直写模式、只读高速缓存模式、单独行锁定模式、sram模式、部分i/o隐藏模式等。例如,处理器核210d和220d之一使用高速缓存模式,而处理器核210d和220d中的另一个关闭高速缓存模式。

在一个实施例中,关于i/o数据时序423,处理器核210d和220d在循环帧的不同时隙中提供命令或执行i/o数据处理,经由可编程乘法器的频率修改、串行传输、和并行传输。

在一个实施例中,关于电源设计424,通过多个分立设备(例如负载降压转换器的dc/dc点)或单个电源音序器设备来设计向处理器核210d和220d提供电功率的电源。

图6是描绘根据本发明的实施例的用于操作安全关键控制系统1的方法600的示例流程图。

参照图6,方法600包括步骤s110至s190。

在步骤s110,对应于特定冗余计算信道(例如图1a的10a)的命令通路(例如图1a的110a)的第一处理器核(例如图1a的210a)可以接收第一输入数据(例如图1a的61)。接下来,第一处理器核可以处理输入数据并基于处理后的第一输入数据生成第一输出数据(s120)。

在步骤s130,可以对应于冗余计算信道(例如图1a的10a)的监视通路(例如图1a的120a)的第二处理器核(例如图1a的220a)可以接收第二输入数据(例如图1a的62)。接下来,第二处理器核可以处理第二输入数据并基于处理后的第二输入数据生成第二输出数据(s140)。

接下来,在步骤s150中,可以将第一输出数据与第二输出数据进行比较。如果确定第一输出数据与第二输出数据在阈值内匹配(是),则冗余计算信道可以在步骤s160将第一输出数据作为命令数据输出(例如图1a的63)。在步骤s170,对象控制信道(例如1000a)可以基于命令数据生成对象控制信号(例如图1a的1010),以控制对象系统的各个部分(例如致动器)的行动。

在步骤s180中,如果确定第一输出数据与第二输出数据不匹配(否),则冗余计算信道可以不输出命令数据。此外,在可选操作中,在步骤s190,冗余计算信道可以通过通信网络50将表示冗余计算信道中存在故障的警报信号发送到另一冗余计算信道。

所附权利要求中的所有手段或步骤加上功能元件(如果有的话)的相应结构、材料、行动和等同物旨在包括用于与其它要求保护的元件组合地执行功能的任何结构、材料或行动,如明确要求。已经出于说明和描述的目的给出了本发明的描述,但是并不意图是穷举的或将本发明限于所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并使本领域的其它普通技术人员能够理解本发明的各种实施例,这些实施例具有适于特定用途的所考虑的各种修改。

尽管已经相对于本发明的优选实施例具体地示出和描述了本发明,但是本领域技术人员将理解,在不脱离本发明的精神和范围的情况下,可以对形式和细节进行前述和其它改变。因此,本发明不限于所描述和示出的确切形式和细节,而是落入所附权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1