在处理器单元的至少两种运行模式之间切换的方法以及相应的处理器单元的制作方法

文档序号:6487308阅读:170来源:国知局
专利名称:在处理器单元的至少两种运行模式之间切换的方法以及相应的处理器单元的制作方法
技术领域
本发明从根据独立权利要求的前序部分的、用于在处理器单元的至少两种运行模式之间切换的方法以及具有至少两个集成的执行单元的相应的处理器单元出发。
背景技术
这种具有至少两个集成的执行单元的处理器单元也是作为双内核或多内核体系结构而公开的。按照当今的现有技术,主要出于两种原因而提出这种双内核或多内核体系结构一方面可以因此通过以下方式来实现效率提高、即性能提高,即将两个执行单元或内核作为半导体组件上的两个计算单元来看待和处理。在该配置中,两个执行单元或内核处理不同的程序或任务。因此可以实现效率提高,因而该配置被称为效率模式或性能模式。
实现双内核或多内核体系结构的第二个原因是安全性提高,其方式是两个执行单元冗余地执行相同的程序。对两个执行单元或CPU、即内核的结果进行比较,并且在比较一致性的情况下可以识别出差错。以下该配置被称为安全模式。
一般,所述两种配置排它地被包含在双内核或多内核体系结构上,即原则上具有至少两个执行单元的计算机只运行在一种模式、即性能模式或安全模式下。

发明内容
本发明的任务是,能够实现这种双内核或多内核处理器单元就至少两种运行方式而言的组合的运行,并且在此情况下尤其是在用于安全性提高的安全模式和用于效率提高的效率模式之间实现优化的切换战略。
一方面出于安全性原因希望冗余地执行程序或任务,另一方面出于成本原因,在执行安全性要求不高的功能时准备好冗余的硬件是不值得追求的。根据本发明,通过在处理器单元的至少两种运行模式之间的优化的切换来解决该目标冲突。因此本发明的出发点在于一种用于在具有至少两个执行单元的处理器单元的至少两种运行模式之间切换的方法以及相应的处理器单元。
有利地,通过访问预先给定的作为切换触发器起作用的存储器地址来实现从第一到第二运行模式的切换。即介绍像切换装置(模式选择器)或比较装置那样的硬件组件和相应的方法,例如在运行中可以最佳地在也就是在安全模式中冗余地执行的安全性要求高(sicherheitskritisch)的程序和在效率模式中互相独立地在两个执行单元上执行的安全性要求不高的程序之间切换。
在此,在第一运行模式中相同的程序由至少两个执行单元同步地执行,并且通过所设置的比较装置如下来检验,即在执行相同程序时所产生的执行单元的状态一致。在关于这一点不一致时,于是可以设想,通过应急运行来显示故障、直至关断有故障的单元的不同故障反应。
在一种专门的实施形式中,安全模式相当于第一运行模式,而效率模式相当于第二运行模式。在此情况下,合宜地通过中断请求来实现、尤其是通过中断装置来触发从第二运行模式到第一运行模式的切换,其中该中断请求一方面可以通过时间条件来触发,或者也可以通过状态条件来触发,也就是对应于两个执行单元中的至少一个的确定状态或者也对应于确定事件的出现。
有利地实现专门划分为至少三个分离的存储区,其中执行单元依赖于各自的运行模式而访问第一存储区或第二存储区,或与该存储区处于连接中。在此情况下,合宜地在一种专门的实施形式中给至少两个执行单元中的每一个分别分配处理器单元上的第一存储区,其中这些执行单元在第一运行模式、即尤其是安全模式中与该第一存储区处于连接中或访问该第一存储区。在第二运行模式中,两个执行单元只访问分配给两个执行单元的第二存储区或与该第二存储区处于连接中。
合宜地,现在这样来设置监控装置、尤其是切换装置本身,使得监控,在相应的运行模式中仅访问相应的存储区,或存在通向存储区的相应的连接。也就是说在第二运行模式中,分析装置仅访问第二存储区,而不访问第一存储区,并且在第一运行模式中实现仅对相应的第一存储区、而不是对第二存储区的访问,这由上述的监控装置来检验,并且以可能相应的故障反应、诸如故障信号、应急运行或断开来认可。
在此情况下,在分离的存储器模块中设置所述三个存储区中的每一个、即至少两个第一存储区以及第二存储区,使得在处理器单元上有至少三个存储器模块可供使用。在此,合宜地将安全性要求高的程序分别存放在第一存储区中,而将安全性要求不高的程序存放在第二存储区中,其中具有有关切换的所述触发功能的预先给定的存储器地址合宜地被包含在第二存储区中。
如果为了在第一运行模式中比较执行单元的状态而在处理器单元上设置有明确的比较装置,并且该比较装置仅在第一运行模式中起作用,而在过渡到第二运行模式时不起作用,使得在非冗余的安全性要求不高的运行中不进行比较并且因此不实现可能诱发的故障反应,则产生另一优点。
由权利要求的特征以及说明书和附图的内容得出其它的优点和有利的扩展方案。


以下借助在附图中所示的图来更详细地阐述本发明。其中图1展示了具有至少两个执行单元和本发明硬件组件的本发明处理器单元,图2揭示了从安全模式到效率模式的切换,而图3示出了从效率模式到安全模式的切换。
具体实施例方式
在控制应用中,尤其是在诸如发动机控制、制动控制或者甚至转向和传动等等的汽车控制领域中,但是同样在像自动化的工业应用中,或在机床领域中,一般存在出于安全原因要求冗余执行的软件任务或程序,以便识别差错的出现。但是这种安全性要求高的应用除了这些安全性要求高的程序之外也具有甚至允许有差错的软件组成部分或程序,因为它们对于安全性要求高的功能本身的提供而言不是必需的或因此不被包括,而是仅提供附加的功能、尤其是舒适功能。出于安全原因希望冗余的执行,出于成本原因不值得追求准备冗余的硬件。根据本发明,通过在处理器单元的至少两种运行模式之间的优化的切换来解决该问题,如已经在优点方面所说明的那样,并且以下将更详细地阐述。
因此,以下示出本发明在安全性要求高的系统、例如诸如制动、转向、传动或发动机的车辆固有的系统中的应用。在此,系统的本发明处理器单元由根据图1的双内核体系结构、即具有至少两个执行单元101和102(CPU1和CPU2)的处理器单元100组成。在该实例中,分别给两个执行单元101和102、即CPU1和CPU2分配了也称为RAM1和RAM2的工作存储器110或111。两个执行单元101和102与比较装置、即比较器170相连接。每个执行单元此外还具有通向切换装置、即模式选择器130或131的连接,比较模块、即比较装置170也具有与该模式选择器130或131的连接。每一个易失性工作存储器110或111以及切换装置130或131分别通过总线140或141与各一个第一存储装置150或151以及第二存储装置180相连接。
在该实施例中采用两个操作系统,一个用于安全性要求高的程序或任务,而一个用于安全性要求不高的程序或任务。例如将OSEKtimeOS用作安全性要求高的程序的操作系统,而例如将OSEK OS用作安全性要求不高的任务的操作系统。
如已经提及的那样,应用软件被划分为安全性要求高的程序和安全性要求不高的程序。被分类为安全性要求不高的所有程序或任务允许失效、有差错地被执行或完全不被执行。由此不会危及整个系统或环境。仅仅通过被分类为安全性要求高的程序或任务就可以安全地运行整个系统。不过存在以下可能性,即只要仅仅通过安全性要求高的任务或程序来执行运行,该运行就会导致整个功能的质量损失,不过所述整个功能在可预先给定的容差内已被分类为可容忍的。
在两个执行单元101和102、也就是两个CPU、即CPU1和CPU2上冗余地执行安全性相关的、即安全性要求高的任务或程序。在此,在第一操作系统、在这里为OSEKtime OS的控制下执行这些程序。为此将图1中所示出的非易失性存储区150或151倍增为两个部分,使得对应于两个执行单元存在两个第一存储区150和151。安全性要求高的程序或任务双重地、即冗余地位于这些第一存储区中。即安全性要求高的任务中的每一个一方面定位于存储区150中,而另一方面定位于存储区151中。在此情况下,尤其可以将第一操作系统本身分类为安全性要求高的,并且因此同样存放在两个存储区中。即在我们的实例中,操作系统OSEKtime OS分别一方面存放在存储区150中,而另一方面存放在存储区151中。在此情况下,在一种特别的实施方案中,这两个第一存储区分别被实施为独立的非易失性存储器模块ROM1或ROM2,这些存储器模块ROM1或ROM2也可以被实施为ROM、PROM、EPROM、EEPROM,闪速EPROM等等。
在此,不是强制性地要求双重存放安全性要求高的程序或任务。也可以通过采用ECC码(差错校正码)来保障这些安全性要求高的程序或任务。这种用于在存储器中识别差错的方法是多种多样的,其中基本前提是利用差错识别码或差错校正码、即签名(Signatur)来保障。在最简单的情况下,该签名可以仅由签名位、例如奇偶位组成。另一方面,也可以通过像Berger码或Bose-Lin码等等的更复杂的ED码(差错检测)或者也可以通过诸如汉明码等等的更复杂的ECC码来实现保障,以便通过相应的位数能够实现更可靠的差错识别。但是也可以例如将(固定布线的或软件形式的)发生器表格用作代码发生器,以便给地址范围内的位的确定的输入模式分配任意长度的所希望的代码模式。因此,尤其可以通过校正功能来确保存储器中的数据安全性,并且避免双重存放。仍然在两个执行单元中实现安全性要求高的程序的冗余的执行,由此根据本发明通过比较一致性来揭示内核、即执行单元中的差错,其中对于本发明的这种情况来说,与图1相反,仅需要一个第一存储区。
为了提高效率,非安全性相关的或安全性要求高的程序或任务在两个执行单元、即CPU上分散地计算,并且在相应的子操作系统、即在这里为OSEK子系统的控制下实施。因此尤其是在两个执行单元中的每一个上运行独立的操作系统、在这里为独立的OSEK系统。安全性要求不高的程序或任务所位于的第二存储区180单一地存在。它由两个执行单元101或102来使用,或由两个执行单元101或102来访问它。在一种特别的实施形式中,该第二存储区也可以被构造为独立的非易失性存储器模块ROM3,并且被布置为ROM、PROM、EPROM、EEPROM、闪速EPROM等等。
在此,可以这样来构造存储区、即第一存储区和第二存储区,使得例如在涉及地址的O和X之间构造这些第一存储区或这个第一存储区(在ECC保障的情况下),并且由同样涉及地址的X+1至Y来构造第二存储区。此外,从双重的第一存储区出发,其中如以前所阐述的那样,也仅唯一的受保障的第一存储区可以获得应用。于是如已经说明的那样,O至X的第一存储区双重地正好分别在一个第一存储区中存在。在此,将每个第一存储区具体地分配给一个执行单元。
在第一运行模式中,这里在本实例中为在安全模式中,在两个执行单元、即两个CPU 101和102上冗余地并且尤其是同步地执行安全性要求高的程序或任务。在比较装置、即比较器170中,互相比较各自的CPU状态。在此,可以将确定的状态分配给确定的程序阶段,其中只要这些确定的状态被暂存,并且例如是通过标识可明确地被分配的,这些确定的状态就可以以时间要求不高的方式、即在任意的时刻被比较。但是在优选的情况下,不仅冗余地而且同步地执行安全性要求高的程序或任务,使得在运行中可以直接进行执行单元的各自状态的比较。于是相应地从各自所分配的第一存储区150或151中装载并执行新的指令和/或数据。在比较器170中,检查CPU状态的一致性,其中在应该符合的状态不一致时识别出差错。作为差错反应,一方面可以进行关于使用处理器单元的相应系统的差错显示,而另一方面可以进行像应急运行的差错反应,也就是在受保障的应急运行中例如利用专门为此设置的程序和/或数据来运行包含处理器单元的系统。在此,也可以在继续进行的差错分析中例如进行m取n测试(n-aus m-Test),其中n和m是自然数,并且n≥2,以及m>n>m/2,或者k取1代码,其中k对应于>1的自然数。如果例如通过这样的测试明确地将执行单元识别为有差错,则作为其它的差错反应也可以进行该执行单元的关断和余下单元的应急运行,或将有差错的执行单元切换到应急运行中。
在安全模式中或一般地在第一运行模式中,允许执行单元仅访问第一存储区中的地址或数据。即相应的执行单元在第一运行模式中仅允许访问尤其是分配给它的第一存储区。这通过监控装置、尤其是切换装置或模式选择器130或131或模式选择器130和131中的监控装置来检验。如果在此情况下出现差错,则可以设想并且可以规定如上所述的、关于在CPU状态一致时的比较差错的可比较的差错反应。也就是说,但是也可以设想并且可以规定,针对第一运行模式的这种情况,切换装置、即在这里为模式选择器130或131经由总线140或141建立到分别所属的第一存储区150或151中的连接,或监控相应的访问侵犯。
在该实施例的第二运行模式中执行安全性要求不高的程序或任务。在两个执行单元、即CPU 1和2(101、102)上运行不同的安全性要求不高的程序。例如用于第二运行模式的操作系统本身、即OSEK子系统也属于此。两个执行单元或CPU因此分享可以如以前所述那样构造的非易失性第二存储区。不过给每一个CPU分配独立的易失性工作存储区RAM1和RAM2、即110或111。由于相应的这种安全性要求不高的程序不是或不全部是被双重实施的,所以至少在理论上存在两个执行单元因等待资源的释放而互相阻断的可能性。通过适当地、例如按照调度程序将任务或程序分配到执行单元101和102上来抵抗这种情况。在此,其它的措施、诸如交替的访问或根据相应的程序被分配优先级的访问等等也是可能的。在该第二运行模式、即根据我们的实施例的效率模式中,不允许访问第一存储区中的地址。
在这里也通过检验装置、尤其是通过切换装置、模式选择器来进行检验,或者将检验装置在模式选择器中分开实施。在这里,在于第二运行模式中识别出有差错的访问的情况下,也可以引入相应的差错反应。在此,一方面可以设想并可以预先给定对应于第一运行模式的差错反应。这尤其因此是合宜的,因为在有差错的访问的情况下,也许甚至访问安全性要求高的存储区。一方面这可以通过以下方式来实现,即仅在第二运行模式中建立通向第二存储区的连接,并且在该运行模式中断开通向第一存储区的连接,或另行阻止访问第一存储区并且仅允许进入第二存储区。
现在在图2和3中详细地再次阐述运行模式之间的切换。
为了从第一运行模式、即这里的安全模式进入第二运行模式、即这里的效率模式或性能模式,需要访问预先给定的或所标明的地址,由此实现转换为第二运行模式。在此情况下,该所标明的地址在程序执行时可能在第一存储区中出现或相应地从外部输送。即在第一运行模式或安全模式中,允许仅仅访问第一存储区中的地址或程序;如果在该安全模式中访问例如第二存储区中的另一个地址,则如上所述存在具有可能的相应的差错反应的差错。这在图2中再次被说明。在方框200中,两个执行单元101和102处于第一运行模式、即安全模式中。以询问210检验,下一个指令的地址是否等于相应的被标明的切换地址的触发器地址。如果情况不是如此,两个处理单元继续处于第一运行模式中,并且因此分别访问第一存储区150、151。然而,如果下一个指令和/或数据的地址对应于触发器地址,则在方框220中实现到第二运行模式、即效率或性能模式中的切换或转换。此外,每个执行单元此时获得第二存储区中的地址,在该地址上应继续在第二运行模式中的执行。在此情况下关断比较单元或比较装置170,也即使之不起作用(禁用)。因此,在方框230中第一处理单元101处于第二运行模式中,而在方框231中第二处理单元102同样处于第二运行模式、即性能模式中。也就是说,在该具体的实例中,从安全模式到性能模式中的唯一可能性例如是调用专门的OSEKtime任务T触发器、诸如OSEKtime操作系统的ttidle任务或包含在其中的被标明为触发器地址的地址、尤其是该程序部分或该任务的起始地址。尤其是在两个执行单元同步地工作时,有必要在两个CPU中同时实现该调用。在此,像刚才ttidle那样的T触发器任务例如是位于第二存储区180中的OSEK调度程序的调用。例如在切换设备、即模式选择器130、131中,将该相应的地址调整为触发器地址,以便转换到效率模式中。如所述的那样,这在方框210中、即正是在模式选择器、即切换装置中被检查。因此正是直至重新转换到安全模式中为止,未来的地址访问只还是允许在ROM区180、即非易失性第二存储区中进行。
在图3中现在示出了从效率模式、即性能模式尤其是返回到第一运行模式、即安全模式中的切换或转换。在方框300中执行单元101、即CPU1处于第二运行模式、即性能模式中。同样地,在方框310中,第二执行单元102刚好处于该效率模式、即在该实施例的第二运行模式中。在方框320或方框321中,现在为每个执行单元触发中断请求、即中断,通过该中断实现两个执行单元101和102在方框330中到第一运行模式、即安全模式中的切换。此时重新接通比较装置、即比较器170,并且随后在方框340中两个执行单元重新运行在安全模式、即第一运行模式中。在此情况下,中断请求可以一方面通过时间条件、即定时器中断来触发,或通过状态条件或事件条件来触发。这意味着,为了从效率模式转换到安全模式中,生成第一操作系统OSEKtime的中断请求。在两个CPU中,对相对于OSEK操作系统优先级更高的OSEKtime操作系统的该定时器中断相同地进行编程,因为在两个CPU上运行相同的OSEKtime系统。尤其是在同步运行OSEKtime系统的情况下,中断、即中断请求同时到达两个CPU。如所述的那样,OSEKtime调度程序中断因此根据规定具有很高的、尤其是最高的优先级。在同步的情况下,与此相应地同时执行两个中断请求。如已提及的那样,随着这些中断请求的执行,比较装置170也同样重新起作用,即切换到第一运行状态、即安全模式中,并且尤其是执行单元重新冗余地运行。
除了已经提及的定时器中断之外,也可以采用状态中断或事件中断,以便实现从第二到第一运行模式中的所述运行模式转换。在此情况下,执行单元的确定状态例如可以触发高优先级的中断,该中断于是对于两个执行单元来说具有有效性。这例如可以是CPU中的由于执行ROM 180中的程序而生成的状态,该CPU触发这种高优先级的中断请求,该中断请求也适用于第二CPU。事件、尤其是从处理器单元的外部输入的事件同样也可以触发这种中断并因此触发运行模式转换。优选具有定时器中断的第一变型方案,但是同样可以设想并因此显示如所述那样的状态中断或事件中断。
因此根据该任务按照本发明示出在具有两个集成的执行单元的处理器单元的两种运行模式之间优化的切换,其中鉴于本发明主题的基本思想,具体的实施例可以起非限制性的作用。
权利要求
1.一种具有至少两个执行单元的处理器单元,其中包含有切换装置,通过该切换装置可以在所述处理器单元的至少两种运行模式之间切换,其特征在于,这样来构造所述切换装置,使得通过以下方式来触发从第一运行模式到第二运行模式的转换,即由所述处理器单元访问预先给定的存储器地址。
2.按照权利要求1的处理器单元,其特征在于,所述第一运行模式相当于安全模式,在该安全模式中所述两个执行单元执行相同的程序,并且设置有比较装置,该比较装置比较所述执行单元在执行相同的程序时所产生的状态的一致性。
3.按照权利要求2的处理器单元,其特征在于,这样来构造所述执行单元,使得这些执行单元在所述第一运行模式中同步地执行相同的程序。
4.按照权利要求1的处理器单元,具有至少三个分离的存储区,其中在所述第一运行模式中每个执行单元分别与被分配给每个执行单元的第一存储区处于连接中。
5.按照权利要求1的处理器单元,具有至少两个分离的存储区,其中在所述第二运行模式中两个执行单元仅与被分配给两个执行单元的第二存储区处于连接中。
6.按照权利要求1和5的处理器单元,其特征在于,应被访问的所述预先给定的存储器地址被定位在所述第二存储区中。
7.按照权利要求1的处理器单元,具有至少两个分离的存储区,其中在所述第一运行模式中两个执行单元仅与被分配给两个执行单元的第一存储区处于连接中。
8.按照权利要求1和7的处理器单元,其特征在于,所述预先给定的存储器地址作为触发器地址被包含在所述第一存储区中,并且应被访问的紧接着的地址被包含在所述第二存储区中。
9.按照权利要求1和5的处理器单元,其特征在于,设置有监控装置、尤其是切换装置,其被这样构造用于监控,使得分析装置在所述第二运行模式中仅与所述第二存储区处于连接中。
10.按照权利要求1和4的处理器单元,其特征在于,设置有监控装置、尤其是切换装置,其被这样构造用于监控,使得分析装置在所述第一运行模式中仅分别与所述第一存储区处于连接中。
11.按照权利要求4或5的处理器单元,其特征在于,所述存储区中的每一个被设置在分离的存储器模块中。
12.按照权利要求2的处理器单元,其特征在于,在过渡到相当于效率模式的所述第二运行模式中时使所述比较装置不起作用,并且仅在所述第一运行模式中进行所述状态的比较。
13.按照权利要求1的处理器单元,其特征在于,包含有中断装置,这样来构造该中断装置,使得该中断装置能够实现通过中断请求而返回到所述第一运行模式中。
14.按照权利要求13的处理器单元,其特征在于,通过时间条件来触发所述中断请求。
15.按照权利要求13的处理器单元,其特征在于,通过状态条件来触发所述中断请求。
16.用于在具有至少两个执行单元的处理器单元的至少两种运行模式之间切换的方法,其特征在于,通过以下方式来触发从第一运行模式到第二运行模式的转换,即由所述处理器单元访问预先给定的存储器地址。
17.按照权利要求16的方法,其特征在于,所述执行单元在所述第一运行模式中同步地执行相同的程序。
18.按照权利要求16的方法,其特征在于,在两种运行模式中执行不同的程序,其中在所述第一运行模式中由两个执行单元冗余地执行安全性要求高的程序,而在所述第二运行模式中执行安全性要求不高的程序。
19.按照权利要求18的方法,其特征在于,所述安全性要求高的程序被冗余地存放在分别被分配给所述执行单元的第一存储区中。
20.按照权利要求18的方法,其特征在于,所述安全性要求不高的程序被存放在唯一的第二存储区中,并且两个执行单元在所述第二运行模式中仅访问所述第二存储区。
21.按照权利要求16的方法,其特征在于,在所述第一运行模式中冗余地执行安全性要求高的程序,并且比较此时所产生的状态的一致性。
22.按照权利要求16的方法,其特征在于,在所述第一运行模式中所述执行单元分别仅访问被分配给每个执行单元的第一存储区。
23.按照权利要求16的方法,具有至少两个分离的存储区,其中在所述第一运行模式中两个执行单元仅访问被分配给两个执行单元的第一存储区。
24.按照权利要求16和23的方法,其特征在于,所述预先给定的存储器地址作为触发器地址被包含在所述第一存储区中,并且应被访问的紧接着的地址被包含在所述第二存储区中。
25.按照权利要求16的方法,其特征在于,在所述第二运行模式中两个执行单元仅访问被分配给两个执行单元的第二存储区。
26.按照权利要求16和25的方法,其特征在于,监控分析装置在所述第二运行模式中仅访问所述第二存储区。
27.按照权利要求16和22或23的方法,其特征在于,监控分析装置在所述第一运行模式中仅访问所述第一存储区。
28.按照权利要求16的方法,其特征在于,通过中断请求来实现从所述第二运行模式到所述第一运行模式的切换,其中通过时间条件或状态条件来触发所述中断请求。
全文摘要
用于在具有至少两个执行单元的处理器单元的至少两种运行模式之间切换的方法,其特征在于,通过以下方式来触发从第一运行模式到第二运行模式的转换,即由该处理器单元访问预先给定的存储器地址。
文档编号G06F9/38GK1842763SQ200480017828
公开日2006年10月4日 申请日期2004年6月22日 优先权日2003年6月24日
发明者R·韦伯勒, B·米勒, R·安格鲍尔, R·格梅利希, S·本茨 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1