CN105373455B - 处理器系统,发动机控制系统和控制方法 - Google Patents

处理器系统,发动机控制系统和控制方法 Download PDF

Info

Publication number
CN105373455B
CN105373455B CN201510509719.2A CN201510509719A CN105373455B CN 105373455 B CN105373455 B CN 105373455B CN 201510509719 A CN201510509719 A CN 201510509719A CN 105373455 B CN105373455 B CN 105373455B
Authority
CN
China
Prior art keywords
task
processor
lockstep
period
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510509719.2A
Other languages
English (en)
Other versions
CN105373455A (zh
Inventor
冈本达志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN105373455A publication Critical patent/CN105373455A/zh
Application granted granted Critical
Publication of CN105373455B publication Critical patent/CN105373455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

本公开涉及处理器系统,发动机控制系统和控制方法。处理器系统包括主处理器,所述主处理器相继处理多个任务,检验处理器,所述检验处理器相继处理所述多个任务中的至少一个任务,和控制电路,所述控制电路进行控制,以致当主处理器和检验处理器进行锁步操作时,检验处理器工作,而当主处理器和检验处理器不进行锁步操作时,检验处理器停止其工作,锁步操作是其中主处理器和检验处理器都处理相同任务的操作,其中控制电路进行控制,以致从利用锁步操作处理任务之时到在下一个锁步操作中处理另一个任务之时的时期等于或小于最大测试期,所述最大测试期是处理器系统容许的测试期。

Description

处理器系统,发动机控制系统和控制方法
相关申请的交叉引用
本申请基于并要求2014年8月19日提交的日本专利申请No.2014-166615的优先权,该申请的公开内容通过引用整个包含于此。
技术领域
本发明涉及处理器系统、发动机控制系统和控制方法,尤其涉及其中进行锁步操作等的处理器系统、发动机控制系统和控制方法。
背景技术
近年来,作为车载电子设备等的功能安全标准,国际标准组织的ISO26262已受到关注。功能安全意味着通过实现功能设计,即使当在车载电子设备的组件,比如微计算机(例如,MCU:微控制单元)中发生故障(或失败,下面称为“故障”)时,也至少确保可接受的最低安全。例如,当发生故障时,必须在发生故障后的预定时期内,检测出所述故障。
作为功能设计的例子,存在利用多个处理器核心的锁步方法。作为相关技术,未经审查的日本专利申请公开No.2010-198131(下面称为“专利文献1”)公开一种与利用锁步方法的处理器系统相关的技术。在锁步方法中,在多个处理器核心中进行相同处理(任务),并通过相互比较这些处理器核心的执行结果,检测故障(错误)。
通常,在锁步方法中,由于多个处理器核同时工作,因此微计算机中的电流消耗增大。于是,在利用锁步方法的微计算机中,存在发热量(下面称为“发热量”)增大的问题。应注意未经审查的日本专利申请公开No.2008-217051(下面称为“专利文献2”)公开一种与其中减小发热量的锁步方法相关的技术。
发明内容
发明人发现以下问题。如上所述,即使发生故障,在车载系统等中使用的微计算机也需要在发生故障后的预定时期内,检测出所述故障。同时,在专利文献2中,按照处理器的温度,停止和重启两个处理器之一。然而在这种结构中,存在当仅仅一个处理器在工作时,不能检测出在该处理器中发生的故障的可能性。此外,在专利文献1中,存在当进行锁步操作时,处理器系统中的发热量增大的可能性。
根据本说明书中的以下说明以及附图,其它问题和新特征将更明显。
本发明的第一方面是一种处理器系统,包括:主处理器,所述主处理器相继处理多个任务;检验处理器,所述检验处理器相继处理所述多个任务中的至少一个任务;和控制电路,所述控制电路进行控制,以致当主处理器和检验处理器进行锁步操作时,检验处理器工作,而当主处理器和检验处理器不进行锁步操作时,检验处理器停止其工作,锁步操作是其中主处理器和检验处理器都处理相同任务的操作,其中控制电路进行控制,以致从利用锁步操作处理任务到在下一个锁步操作中处理另一个任务的时期等于或小于预定的最大测试期,所述最大测试期是处理器系统容许的测试期。
注意把按照实施例的上述设备表述成方法或系统的事件,使计算机实现上述设备或上述设备的一部分的程序,包括上述设备的图像拾取设备也被看作按照本发明的实施例。
按照上述方面,能够在降低发热量的同时,在预定时期内检测故障。
附图说明
根据结合附图进行的某些实施例的以下说明,上述及其它方面、优点和特征将更明显,附图中:
图1表示按照实施例的处理器系统的概况;
图2是说明按照实施例的最大验证测试期的时间图;
图3表示按照第一实施例的处理器系统的结构;
图4是表示按照第一实施例的控制电路进行的处理的流程图;
图5是按照第一实施例的时间图的例子;
图6是表示按照第一实施例的任务处理和芯片温度之间的关系的例子的示图;
图7表示按照第二实施例的处理器系统的结构;
图8是表示按照第二实施例的任务处理和芯片温度之间的关系的例子的示图;
图9表示按照第三实施例的处理器系统的结构;
图10是表示按照第三实施例的控制电路进行的处理的流程图;
图11是表示按照第三实施例的任务处理和芯片温度之间的关系的例子的示图;
图12表示按照第四实施例的处理器系统的结构;
图13表示按照第四实施例的比较单元的结构;
图14表示按照第五实施例的处理器系统的结构;
图15是表示按照第五实施例的控制电路进行的处理的流程图;
图16是表示按照第五实施例的任务处理和芯片温度之间的关系的例子的示图;
图17表示按照第六实施例的处理器系统的结构;
图18是表示按照第六实施例的控制电路进行的处理的流程图;
图19是表示按照第六实施例的任务处理和芯片温度之间的关系的例子的示图。
具体实施方式
下面参考附图,说明实施例。为了使说明清晰,以下的说明和附图可被酌情部分省略和简化。此外,作为进行各种处理的功能块,在附图中表示的各个元件可以利用诸如CPU(中央处理器)、内存和其它种类电路之类的硬件实现,或者可以用诸如载入内存中的程序之类的软件实现。于是,本领域的技术人员会明白这些功能块可仅仅用硬件实现,仅仅用软件实现,或者用硬件和软件的组合实现。即,它们不限于硬件或者软件。注意在附图中,向相同的组件赋予相同的附图标记,必要时省略重复的说明。
上述程序可被保存在各种非临时性计算机可读介质中,从而被提供给计算机。非临时性计算机可读介质包括各种有形存储介质。非临时性计算机可读介质的例子包括磁记录介质(比如软盘、磁带和硬盘驱动器),磁光记录介质(比如磁光盘),CD-ROM(只读存储器),CD-R,和CD-R/W,和半导体存储器(比如掩模ROM、PROM(可编程ROM),EPROM(可擦PROM),闪速ROM,和RAM(随机存取存储器))。此外,可利用各种临时性计算机可读介质,把程序提供给计算机。临时性计算机可读介质的例子包括电信号、光信号和电磁波。临时性计算机可读介质可用于通过有线通信路径(比如电线和光纤)或者无线通信路径,把程序提供给计算机。
(实施例的概况)
在说明实施例之前,先说明实施例的概况。图1表示按照实施例的处理器系统1的概况。如图1中所示,处理器系统1包括控制电路2、存储器4、比较器6和处理器单元10。处理器单元10包括主处理器12和检验处理器14。注意,检验处理器14的电路结构(硬件结构)可以和主处理器12的相同。此外,如后所述,主处理器12和检验处理器14在锁步方法中,起能够处理多个任务的第一处理器和第二处理器的作用。注意,主处理器12和检验处理器14可分别充当第一处理器和第二处理器,或者可分别充当第二处理器和第一处理器。
处理器系统1可以是例如控制诸如汽车之类车辆的电动机(比如发动机)的微计算机芯片。不过,处理器系统1并不局限于这样的微计算机芯片。即,处理器系统1控制诸如车辆的电动机之类的待控制系统。例如,处理器系统1可以是控制发动机的发动机控制系统。包括上述组件的处理器系统1在预定情况下,进行锁步操作。锁步操作意味着其中主处理器12和检验处理器14都处理相同任务的操作。注意,存储器4和比较器6不一定必须设置在处理器系统1中。即,存储器4和比较器6可被布置在处理器系统1之外。
存储器4保存处理器单元10应处理的多个任务(数据),比如用于控制发动机的发动机控制任务。处理器单元10读取(取回)保存在存储器4中的任务,并处理读取的任务。主处理器12相继处理多个读取(取回)的任务。同时,当处理器系统在控制电路2的控制下进行锁步操作时,检验处理器14处理和主处理器12处理的任务相同的任务。当进行锁步操作时,比较器6比较主处理器12的处理结果(主处理结果)和检验处理器14的处理结果(检验处理结果)。随后,当主处理结果不同于检验处理结果时,比较器6发出出错通知。
检验处理器14处理的任务和主处理器12处理的任务相同。于是,在通常情况下,检验处理结果和主处理结果相同。不过,当主处理器12(或检验处理器14)发生故障时,检验处理结果不同于主处理结果。于是,当比较器6比较主处理结果和检验处理结果,主处理结果不同于检验处理结果时,意味着检测到处理器单元10中的故障(错误)的发生。即,锁步操作起用于检测主处理器12(或检验处理器14)中的故障的测试处理的作用。
控制电路2(控制单元)判定是否应进行锁步操作。换句话说,控制电路2启用或禁止锁步方法。当进行锁步操作时(当启用锁步方法时),控制电路2使检验处理器14工作。另一方面,当不进行锁步操作时(当禁止锁步方法时),控制电路2停止检验处理器14。注意,控制电路2进行控制,以致从利用锁步操作处理任务到在下一个锁步操作中处理另一个任务的时期等于或小于最大验证测试期(最大测试期)。即,控制电路2在预定定时启用锁步方法,以致第一锁步处理和在第一锁步处理之后的第二锁步处理之间的间隔等于或小于最大验证测试期。
最大验证测试期是对于各个系统,确定容许值的验证测试期(测试期)。此外,验证测试意味着进行检验处理器系统1的功能是否被正常执行的功能检验测试。此外,验证测试期(PTP)意味着进行验证测试的间隔。此外,最大验证测试期(PTPmax)是系统可接受的验证测试期的最大值。注意在按照本实施例的处理器系统1中,验证测试对应于通过进行锁步操作检测故障的处理。下面给出详细说明。
图2是说明按照本实施例的最大验证测试期的时间图。作为功能安全的方法,存在其中当发生故障时,使系统进入停止状态的方法。在按照本实施例的处理器系统1中,当进行测试处理(锁步操作)时(箭头B),检测在处理器单元10(主处理器12)中发生的故障(箭头A)。随后,当比较器6发出出错通知时,受控制的系统变成停止状态(箭头C)。
从发生故障到系统变成停止状态的时期被称为“容错时间间隔”。此外,从发生故障到检测出故障的时期被称为“诊断测试间隔”。此外,从检测出故障到系统变成停止状态的时期被称为“故障反应时间”。上述PTPmax意味着通过从诊断测试间隔中减去测试处理所必需的时间而获得的时期。
注意,根据受控制的系统的规格、性能等,可以确定故障反应时间(例如,300ms(毫秒))。此外,容错时间间隔(例如,500ms)可由受控制的系统的制造商确定。根据这些值,能够预先获得诊断测试间隔(例如,200ms)。此外,可预先对于各个处理器系统1,确定测试处理所必需的时间(例如,5ms)。结果,PTPmax(例如,195ms)被预先确定。于是,PTPmax是受控制的系统可接受的预定测试期。
设想其中从进行测试处理到进行下一次测试处理的时期超过PTPmax的情况。在这种情况下,如果在完成前次测试处理之后立即发生故障(错误),那么从发生故障到进行检测故障的下次测试处理的时期超过图2中所示的预定诊断测试间隔。与之相反,在本实施例中,控制电路2进行控制,以致从在锁步操作(测试处理)中处理任务到在下一个锁步操作中处理另一个任务的时间等于或小于PTPmax。于是,按照本实施例的处理器系统1能够在预定时期内检测故障。
此外,当对于每个任务进行锁步操作时,对于每个任务进行测试处理。于是,能够在预定时期内检测故障。不过,如果一直进行锁步操作,那么使两个处理器(主处理器12和检验处理器14)都始终工作。这引起处理器系统1中的发热量增大的可能性。与之相反,在本实施例中,不一定一直进行锁步操作。即,只要从利用锁步操作处理任务到在下一个锁步操作中处理另一个任务的时期等于或小于PTPmax的条件被满足,就停止锁步操作。即,检验处理器14不一定一直工作。于是,能够满足系统要求的功能安全规范,并减少处理器系统1中的发热量。
(第一实施例)
图3表示按照第一实施例的处理器系统100的结构。在第一实施例中,处理器系统100控制的系统是车辆等的发动机系统。不过,受控制的系统并不局限于这样的发动机系统(这也适用于其它实施例)。处理器系统100包括存储器104、比较器106、处理器单元110、控制电路122和124、和CGC(时钟门控单元)132和134。处理器单元110包括主处理器112和检验处理器114。
此外,处理器系统100包括中断控制器140、传感器输入接口(IF)152和154、行驶日志定时器156、发动机控制输出接口(IF)162和164、行驶日志控制输出接口(IF)166,和定时器170。设置在处理器系统100中的各个组件连接到总线102。即,设置在处理器系统100中的组件通过总线102互连。
存储器104对应于图1中所示的存储器4。存储器104保存处理器单元110应处理的多个任务(数据)。在第一实施例中,例如,存储器104保存发动机点火控制任务(任务A)、燃料控制任务(任务B)、行驶日志控制任务(任务C)、空转任务(任务D)和故障诊断任务(任务E)。此外,至少发动机点火控制任务(任务A)和燃料控制任务(任务B)是发动机控制任务。
例如,处理器单元110是锁步CPU或类似物。处理器单元110对应于图1中所示的处理器单元10。类似地,主处理器112和检验处理器114分别对应于主处理器12和检验处理器14。注意,检验处理器114的电路结构可以和主处理器112的电路结构相同。
CGC 132接收内部时钟,并在控制电路122的控制下,把时钟信号Sg11提供给主处理器112,或者停止时钟信号Sg11的供给。CGC134接收内部时钟,并在控制电路124的控制下,把时钟信号Sg12提供给检验处理器114,或者停止时钟信号Sg12的供给。
控制电路122和124对应于图1中所示的控制电路2。控制电路122关于CGC 132是否应向主处理器112供给时钟信号Sg11,而控制CGC 132。具体地,当时钟信号Sg11应被提供给主处理器112时,控制电路122使主处理器用时钟使能信号Sg31有效(高电平)(即,启用(下面表示成“使…有效”))。另一方面,当时钟信号Sg11不应被提供给主处理器112时,控制电路122使主处理器用时钟使能信号Sg31无效(低电平)(即,禁用(下面表示成“使…无效”))。
当使主处理器用时钟使能信号Sg31有效(即,启用)时,CGC 132把时钟信号Sg11提供给主处理器112。结果,主处理器112工作。另一方面,当使主处理器用时钟使能信号Sg31无效(即,禁用)时,CGC132停止向主处理器112供给时钟信号Sg11。结果,主处理器112停止工作。
控制电路124关于CGC 134是否应向检验处理器114供给时钟信号Sg12,而控制CGC134。具体地,当时钟信号Sg12应被提供给检验处理器114时,控制电路124使检验处理器用时钟使能信号Sg32有效。另一方面,当时钟信号Sg12不应被提供给检验处理器114时,控制电路124使检验处理器用时钟使能信号Sg32无效。
当使检验处理器用时钟使能信号Sg32有效时,CGC 134把时钟信号Sg12提供给检验处理器114。结果,检验处理器114工作。另一方面,当使检验处理器用时钟使能信号Sg32无效时,CGC 134停止向检验处理器114供给时钟信号Sg12。结果,检验处理器114停止工作。
控制电路124(控制单元)按照来自中断控制器140的中断请求信号Sg30,判定是否应进行锁步操作。换句话说,控制电路124判定是否启用或禁止锁步方法。后面说明是否进行锁步操作的所述判定。当进行锁步操作时,控制电路124使检验处理器用时钟使能信号Sg32有效,从而使检验处理器114工作。另一方面,当不进行锁步操作时,控制电路124使检验处理器用时钟使能信号Sg32无效,从而停止检验处理器114。注意如后所述,控制电路124进行控制,以致从利用锁步操作处理任务到在下一个锁步操作中处理另一个任务的时期等于或小于PTPmax(最大验证测试期)。即,控制电路124在预定定时启用锁步方法,以致第一锁步处理和在第一锁步处理之后的第二锁步处理之间的间隔等于或小于PTPmax(最大验证测试期)。
按照来自中断控制器140的中断请求信号Sg30,处理器单元110从存储器104读取(取回)对应于中断请求信号Sg30的任务。随后,处理器单元110处理读取(取回)的任务。主处理器112相继处理多个取回的任务(任务A-E)。同时,在控制电路124的控制下,当处理器系统进行锁步操作时,检验处理器114处理和主处理器112处理的任务相同的任务。换句话说,当检验处理器114在控制电路124的控制下被停止时,不进行锁步操作。于是,只有主处理器112处理任务。另一方面,当检验处理器114在控制电路124的控制下工作时,进行锁步操作。于是,主处理器112和检验处理器114分别处理相同的任务。
此外,当进行锁步操作时,控制电路124使比较使能信号Sg33有效。另一方面,当不进行锁步操作时,控制电路124使比较使能信号Sg33无效。比较器106对应于图1中所示的比较器6。当使比较使能信号Sg33有效时,比较器106比较主处理器112的处理结果(主处理结果)和检验处理器114的处理结果(检验处理结果)。随后,当主处理结果不同于检验处理结果时,比较器106发出出错通知。当发出出错通知时,作为受控制系统的发动机系统进行使发动机停止的控制(对应于图2中的故障反应时间),从而停止发动机。
传感器输入接口152例如从设置在发动机系统中的爆震传感器,接收爆震传感器信号。当传感器输入接口152收到爆震传感器信号时,传感器输入接口152把对应于爆震传感器信号的传感器输入中断请求信号Sg21输出给中断控制器140。传感器输入接口154例如从设置在发动机系统中的氧传感器,接收氧传感器信号。当传感器输入接口154收到氧传感器信号时,传感器输入接口154把对应于氧传感器信号的传感器输入中断请求信号Sg22输出给中断控制器140。
行驶日志定时器156例如每个时期(Tlog)(即,按时间间隔Tlog)地向中断控制器140输出用于记录行驶日志的行驶日志中断请求信号Sg23。注意,时期Tlog不一定必须是恒定的时期,相反可以是适合于记录行驶日志(行驶时间)的任意时期。
定时器170计数(或测量)时间。此外,定时器170每个预定时期Tdt(即,按预定时间间隔Tdt)地向中断控制器140输出故障诊断定时器中断请求信号Sg24。注意,时期Tdt等于或小于PTPmax。即,定时器170按等于或小于PTPmax的时间间隔,向中断控制器140输出故障诊断定时器中断请求信号Sg24。注意,时期Tdt不一定必须始终是恒定的时期,而是可被酌情改变,只要它等于或小于PTPmax即可。此外,在设置于定时器170中的寄存器172中,设定等于或小于PTPmax的设定值(时期Tdt)。这样,在预定定时(即,对于每个时期Tdt),启动故障诊断任务。
中断控制器140接收上述信号Sg21-Sg24。随后,中断控制器140按照信号Sg21-Sg24,向处理器单元110和控制电路124输出中断请求信号Sg30。该中断请求信号Sg30可包括应通过中断进行中的处理而处理的(下面表述成“通过中断处理而处理的”或者简单表述成“处理的”)任务的识别信息。具体地,例如,中断控制器140按照信号Sg21或Sg22,输出包括发动机点火控制任务(任务A)或燃料控制任务(任务B)的识别信息的中断请求信号Sg30。即,按照从传感器输入接口152和154供给的输入信号(Sg21和Sg22),启动发动机控制任务(发动机点火控制任务和燃料控制任务)。这样,可利用设置在受控制发动机中的传感器,启动发动机控制任务,并且通过这样,能够控制发动机。此外,中断控制器140按照信号Sg23,输出包括行驶日志控制任务(任务C)的识别信息的中断请求信号Sg30。此外,中断控制器140按照信号Sg24,输出包括故障诊断任务(任务E)的识别信息的中断请求信号Sg30。此外,当中断控制器140未收到信号Sg21-Sg24任意之一时,中断控制器140可输出包括空转任务(任务D)的识别信息的中断请求信号Sg30。
当处理器单元110收到包括发动机点火控制任务(任务A)的识别信息的中断请求信号Sg30时,处理器单元110从存储器104读取发动机点火控制任务。随后,处理器单元110处理发动机点火控制任务,并把处理结果输出给发动机控制输出接口162。随后,发动机控制输出接口162把用于进行发动机点火控制的发动机点火控制信号输出给发动机系统。
当处理器单元110收到包括燃料控制任务(任务B)的识别信息的中断请求信号Sg30时,处理器单元110从存储器104读取燃料控制任务。随后,处理器单元110处理燃料控制任务,并把处理结果输出给发动机控制输出接口164。随后,发动机控制输出接口164把用于进行燃料控制的燃料控制信号输出给发动机系统。
当处理器单元110收到包括行驶日志控制任务(任务C)的识别信息的中断请求信号Sg30时,处理器单元110从存储器104读取行驶日志控制任务。处理器单元110处理行驶日志控制任务,并把处理结果输出给行驶日志控制输出接口166。随后,行驶日志控制输出接口166把用于记录行驶日志的行驶日志控制信号输出给发动机系统。
当处理器单元110收到包括故障诊断任务(任务E)的识别信息的中断请求信号Sg30时,处理器单元110从存储器104读取故障诊断任务。随后,处理器单元110处理故障诊断任务。故障诊断任务是借助其能够检测处理器单元110中的故障的任务。理想的是尽可能快地处理故障诊断任务。
此外,当处理器单元110收到包括空转任务(任务D)的识别信息的中断请求信号Sg30时,或者当处理器单元110未收到任何中断请求信号Sg30时,处理器单元110从存储器104读取空转任务(任务D)。随后,处理器单元110处理空转任务。
图4是表示按照第一实施例的控制电路124进行的处理的流程图。控制电路124从中断控制器140,接收中断请求信号Sg30(S102)。控制电路124判定接收的中断请求信号Sg30是否指示故障诊断任务(任务E)(S104)。当中断请求信号Sg30未指示故障诊断任务(任务E)(S104为否)时,控制电路124停止向检验处理器114的时钟的供给,从而阻止进行锁步操作(S112)。具体地,控制电路124使检验处理器用时钟使能信号Sg32无效,从而停止检验处理器114。此外,控制电路124使比较使能信号Sg33无效,从而禁止比较器106工作(S114)。
另一方面,当中断请求信号Sg30指示故障诊断任务(S104为是)时,控制电路124向检验处理器114供给时钟,从而进行以致执行锁步操作的控制(S122)。具体地,控制电路124使检验处理器用时钟使能信号Sg32有效,从而使检验处理器114工作。此外,控制电路124使比较使能信号Sg33有效,从而使比较器106能够工作(S124)。
在第一实施例中,通过上述处理,对于故障诊断任务(任务E),进行锁步操作,从而主处理器112和检验处理器114两者处理故障诊断任务(任务E)。同时,对于其它任务(任务A-D),不进行锁步操作,从而所述其它任务由主处理器112独自处理。此外,对于故障诊断任务,比较器106比较主处理结果和检验处理结果。随后,当主处理结果和检验处理结果彼此不同时,比较器106发出出错通知。这样,通过利用故障诊断任务,进行故障诊断。随后当存在故障时,检测出错误。
图5是按照第一实施例的时间图的例子。在整个时期中,时钟信号Sg11处于开态,从而主处理器112处理数据D1-D9。注意,数据D1-D3及数据D8和D9是与故障诊断任务相关的数据。于是,在从时间t0到时间t1的时期中,时钟信号Sg12也处于开态,从而检验处理器114处理数据D1-D3。即,在从时间t0到时间t1的时期中,锁步状态处于“工作状态”。
在从时间t1到时间t3的时期中,关于除故障诊断任务外的任务的数据D4-D7被处理。于是,控制电路124使检验处理器用时钟使能信号Sg32无效。结果,时钟信号Sg12变成关闭状态。即,锁步状态变成“停止状态”。
在时间t2,从定时器170输出故障诊断定时器中断请求信号Sg24。结果,控制电路124在时间t3,使检验处理器用时钟使能信号Sg32有效。于是,时钟信号Sg12变成开态,从而检验处理器114处理数据D8和D9。即,锁步状态变成“工作状态”。从锁步状态变成停止状态的时间t1,到锁步状态变成工作状态的时间t3的时期Tdt等于或小于PTPmax。
图6是表示按照第一实施例的任务处理和芯片温度之间的关系的例子的示图。在图6中,实线指示在对于所有任务(任务A-D)都进行锁步操作的情况下(下面称为“比较例”)的芯片的温度。此外,点划线指示按照第一实施例的处理器系统100的芯片的温度。此外,时期T1对应于例如等同于发动机控制中的一个周期(或一个过程)的时期。不过,它并不局限于这样的时期。此外,时期T2是处理器系统100处理与发动机控制相关的任务的容许期。于是,处理器系统100在该时期T2中,处理与发动机控制相关的任务A-C。此外,关系“T2<T1”成立。
此外,在图6中,任务A、B和C是按照该列举顺序处理的。之后,处理任务D(空转任务)。注意,这些任务的处理顺序并不局限于图6中所示的例子。该顺序随着中断控制器140的中断处理而变化。此外,在第一实施例中,如上所述,每个时期Tdt(即,按时间间隔Tdt)地利用中断处理,处理任务E(故障诊断任务)。注意,在图6中所示的例子中,任务E是在任务C之后(在图6的左侧)和在任务D的中间(在图6的右侧)处理的。不过,任务的处理顺序并不局限于这个例子。例如,可在任务A和B的处理之间,或者在任务C的中间,处理任务E。
在对于所有任务(任务A-D)进行锁步操作的情况下,当处理器系统(微计算机)相继处理任务A、B和C时,检验处理器以及主处理器处理所有任务。于是,微计算机上的处理负荷增大。结果,如图6中用实线所示,在任务C的处理期,芯片温度超过温度阈值。于是,处理器系统试图进行控制,以致芯片温度保持低于或等于温度阈值。结果,处理器系统不能处理任务C。
与之相反,处理器系统100被配置成以致只有任务E(故障诊断任务)是利用锁步操作处理的。在这种情况下,检验处理器114只处理任务E。换句话说,任务A-D不利用锁步操作处理。即,任务A-D由主处理器112独自处理,而不是由主处理器112和检验处理器114两者处理。于是,与比较例相比,由任务A-D的处理引起的芯片温度的升高大约被减半。
注意在第一实施例中,由于检验处理器114及主处理器112都处理任务E,因此在利用中断处理来处理任务E的时期中,芯片温度升高。不过,任务E的处理期是其中能够检测出故障的最小时期。于是,任务E的处理期中的温度的升高能够被降低到最小程度。结果,在第一实施例中,在所有任务的整个处理期中,芯片温度都不会超过温度阈值。于是,按照第一实施例的处理器系统100能够减小发热量。
此外,在第一实施例中,如上所述,从处理任务E之时到处理下一个任务E之时的时期Tdt(即,从进行锁步操作之时到进行下一个锁步操作之时的时期)等于或小于PTPmax。此外,如上所述,当进行锁步操作时,能够检测出故障。于是,按照第一实施例的处理器系统100能够在预定时期(PTPmax)内,检测出故障。即,按照第一实施例的处理器系统100能够在预定时期(PTPmax)内检测出故障,同时减小发热量。
(第二实施例)
下面说明第二实施例。在上述第一实施例中,使用一个定时器170来利用中断处理,处理故障诊断任务(任务E)。与之相反,在第二实施例中,设置多个定时器,以利用中断处理,处理故障诊断任务(任务E)。即,在第二实施例中,利用中断处理,处理多种故障诊断任务。注意在下面的说明中,向与上面已说明的组件实质相同的组件赋予相同的附图标记,并酌情省略其说明。
图7表示按照第二实施例的处理器系统200的结构。按照第二实施例的处理器系统200具有通过用两个定时器270A和270B替换按照第一实施例的处理器系统100中的定时器170而获得的结构。按照第二实施例的处理器系统200中的除定时器270A和270B外的结构/组件和第一实施例的相似。
定时器270A计数(或测量)时间。此外,定时器270A每个预定时期TdtA地向中断控制器140输出故障诊断定时器中断请求信号Sg24A。注意,时期TdtA等于或小于PTPmax。即,定时器270A按等于或小于PTPmax的时间间隔,向中断控制器140输出故障诊断定时器中断请求信号Sg24A。注意,时期TdtA不一定必须始终是恒定的时期,而是可被酌情改变,只要它等于或小于PTPmax即可。此外,在设置于定时器270A中的寄存器272A中,设定等于或小于PTPmax的设定值(时期TdtA)。这样,在预定定时(即,对于每个时期TdtA),启动故障诊断任务A。
定时器270B计数(或测量)时间。此外,定时器270B每个预定时期TdtB地向中断控制器140输出故障诊断定时器中断请求信号Sg24B。注意,时期TdtB等于或小于PTPmax。即,定时器270B按等于或小于PTPmax的时间间隔,向中断控制器140输出故障诊断定时器中断请求信号Sg24B。注意,时期TdtB不一定必须始终是恒定的时期,而是可被酌情改变,只要它等于或小于PTPmax即可。此外,在设置于定时器270B中的寄存器272B中,设定等于或小于PTPmax的设定值(时期TdtB)。这样,在预定定时(即,对于每个时期TdtB),启动故障诊断任务B。
除了信号Sg21-Sg23外,中断控制器140还接收信号Sg24A和Sg24B。中断控制器140按照信号Sg24A,输出包括故障诊断任务A(任务EA)的识别信息的中断请求信号Sg30。类似地,中断控制器140按照信号Sg24B,输出包括故障诊断任务B(任务EB)的识别信息的中断请求信号Sg30。
当来自中断控制器140的中断请求信号Sg30指示故障诊断任务A(任务EA:第一故障诊断任务)或者故障诊断任务B(任务EB:第二故障诊断任务)时,控制电路124进行图4中所示的步骤S122和S124中的处理。另一方面,当来自中断控制器140的中断请求信号Sg30既不指示故障诊断任务A(任务EA:第一故障诊断任务),又不指示故障诊断任务B(任务EB:第二故障诊断任务)时,控制电路124进行图4中所示的步骤S112和S114中的处理。即,在第二实施例中,利用锁步操作,处理故障诊断任务A(任务EA)和故障诊断任务B(任务EB)。换句话说,通过检验处理器114以及主处理器112处理故障诊断任务A(任务EA)和故障诊断任务B(任务EB)。这样,通过利用故障诊断任务A(任务EA)和故障诊断任务B(任务EB),用锁步操作进行故障诊断。
当处理器单元110收到包括故障诊断任务A(任务EA)的识别信息的中断请求信号Sg30时,处理器单元110从存储器104读取故障诊断任务A。随后,处理器单元110处理故障诊断任务A。故障诊断任务A是通过利用主处理器112的区域A(第一区域)和检验处理器114的区域A(第一区域)处理的任务。即,故障诊断任务A是借助其,能够检测主处理器112的区域A(第一区域)和检验处理器114的区域A(第一区域)中的故障的任务。理想的是尽可能快地处理故障诊断任务A。
当处理器单元110收到包括故障诊断任务B(任务EB)的识别信息的中断请求信号Sg30时,处理器单元110从存储器104读取故障诊断任务B。随后,处理器单元110处理故障诊断任务B。故障诊断任务B是通过利用主处理器112的区域B(第二区域)和检验处理器114的区域B(第二区域)处理的任务。即,故障诊断任务B是借助其,能够检测主处理器112的区域B(第二区域)和检验处理器114的区域B(第二区域)中的故障的任务。理想的是尽可能快地处理故障诊断任务B。
注意,故障诊断任务A被配置成以致利用置于主处理器112的区域A和检验处理器114的区域A中的组件处理。即,当故障诊断任务A被处理时,不一定必须使置于主处理器112的区域A之外的组件和置于检验处理器114的区域A之外的组件工作。类似地,故障诊断任务B被配置成以致利用置于主处理器112的区域B和检验处理器114的区域B中的组件处理。即,当故障诊断任务B被处理时,不一定必须使置于主处理器112的区域B之外的组件和置于检验处理器114的区域B之外的组件工作。注意,区域A和B可完全分离,或者可相互重叠。
图8是表示按照第二实施例的任务处理和芯片温度之间的关系的例子的示图。在图8中,实线指示在对于所有任务(任务A-D)都进行锁步操作的情况下(比较例)的芯片的温度。此外,点划线指示按照第二实施例的处理器系统200的芯片的温度。在图8中所示的例子中,任务EA和EB是在任务D的中间处理的。不过,处理顺序并不局限于这个例子。可在任务A和B的处理之间,处理任务EA和EB,或者可在任务C的中间,处理任务EA和EB。
类似于第一实施例,按照第二实施例的处理器系统200被配置成以致利用锁步操作仅仅处理任务EA和EB(故障诊断任务)。这种情况下,检验处理器114只处理任务EA和EB。换句话说,不利用锁步操作处理任务A-D。即,任务A-D由主处理器112独自处理,而不是由主处理器112和检验处理器114两者处理。于是,与比较例相比,由任务A-D引起的芯片温度的升高大约被减半。
注意在第二实施例中,由于检验处理器114及主处理器112都处理任务EA和EB,因此在利用中断处理来处理任务EA和EB的时期中,芯片温度升高。不过,各个任务EA和EB的处理期是其中能够检测出故障的最小时期。于是,各个任务EA和EB的处理期中的温度升高Tmp2能够被降低到最小程度。此外,在第二实施例中,当处理任务EA时,只使主处理器112和检验处理器114的区域A工作。类似地,当处理任务EB时,只使主处理器112和检验处理器114的区域B工作。即,在第二实施例中,在处理故障诊断任务的时期中工作的组件的数目少于第一实施例。于是,第二实施例中的各个任务EA和EB的处理期中的温度升高Tmp2小于第一实施例中的故障诊断任务(任务E)的处理期中的温度升高Tmp1。从而,按照第二实施例的处理器系统200能够比第一实施例更多地减少发热量。
此外,如上所述,和第一实施例的情况中一样,在第二实施例中,从处理任务EA之时到处理下一个任务EA之时的时期TdtA和从处理任务EB之时到处理下一个任务EB之时的时期TdtB都等于或小于PTPmax。于是,从处理任务EA之时到处理任务EB之时的时期,和从处理任务EB之时到处理下一个任务EA之时的时期(即,从进行锁步操作之时到进行下一个锁步操作之时的时期)都等于或小于PTPmax。于是,按照第二实施例的处理器系统200也能够在预定时期(PTPmax)内检测故障,同时减少发热量。
(第三实施例)
下面说明第三实施例。第三实施例和上述实施例的不同之处在于未利用中断处理来处理任何故障诊断任务。在第三实施例中,如下所述,按照与发动机控制相关的任务的种类,判定是否应进行锁步操作。
在第三实施例中,任务A(发动机点火控制任务),任务B(燃料控制任务)和任务D(空转任务)被归类成“重要性高的任务”(第一任务)。同时,任务C(行驶日志控制任务)被归类成“重要性低的任务”(第二任务)。不过,对任务归类的方式并不局限于这个例子。注意,“重要性高的任务”是在受处理器系统控制的系统(比如发动机系统)中,对安全性和可靠性等来说高度重要的任务。“重要性低的任务”是在受处理器系统控制的系统中,对安全性和可靠性等来说不太重要的任务。如后所述,按照第三实施例的处理器系统被配置成以致当处理器系统处理重要性高的任务时,处理器系统进行锁步操作,而当处理器系统处理重要性低的任务时,处理器系统不进行锁步操作。即,“重要性高的任务”是需要为其检测在其执行期间发生的故障的任务。
图9表示按照第三实施例的处理器系统300的结构。按照第三实施例的处理器系统300具有通过在按照第一实施例的处理器系统100中,除去定时器170,和用控制电路324(控制单元)替换控制电路124而获得的结构。按照第三实施例的处理器系统300中的除与第一实施例的上述差异外的结构/组件和按照第一实施例的类似。
类似于控制电路124,控制电路324按照来自中断控制器140的中断请求信号Sg30,判定是否应进行锁步操作。此外,类似于控制电路124,控制电路324通过使检验处理器用时钟使能信号Sg32有效或无效,关于CGC 134是否应向检验处理器114供给时钟信号Sg12,而控制CGC 134。此外,类似于控制电路124,在进行锁步操作时,控制电路324使比较使能信号Sg33有效,而在不进行锁步操作时,使比较使能信号Sg33无效。
图10是表示按照第三实施例的控制电路324进行的处理的流程图。控制电路324从中断控制器140接收中断请求信号Sg30(S202)。控制电路324判定接收的中断请求信号Sg30是否指示重要性高的任务(例如,任务A或B)(S204)。当中断请求信号Sg30未指示重要性高的任务时(S204为否),控制电路324停止向检验处理器114供给时钟,从而阻止进行锁步操作(S212)。具体地,控制电路324使检验处理器用时钟使能信号Sg32无效,从而停止检验处理器114。此外,控制电路324使比较使能信号Sg33无效,从而禁止比较器106工作(S214)。即,对于除发动机控制任务之外的任务(例如,对于行驶日志控制任务),控制电路324禁用锁步方法。
另一方面,当中断请求信号Sg30指示重要性高的任务时(S204为是),控制电路324向检验处理器114供给时钟,从而进行以致执行锁步操作的控制(S222)。具体地,控制电路324使检验处理器用时钟使能信号Sg32有效,从而使检验处理器114工作。此外,控制电路324使比较使能信号Sg33有效,从而使比较器106工作(S224)。即,对于发动机控制任务(例如,发动机点火控制任务和燃料控制任务),控制电路324启用锁步方法。
在第三实施例中,对于重要性高的任务(任务A、B和D),进行锁步操作,这些任务由主处理器112和检验处理器114两者处理。另一方面,对于其它任务(任务C),不进行锁步操作,这些任务由主处理器112独自处理。此外,对于重要性高的任务,比较器106比较主处理结果和检验处理结果。随后,当主处理结果和检验处理结果彼此不同时,比较器106发出出错通知。这样,通过利用重要性高的任务,进行错误诊断。然后,当存在故障时,检测出错误。
图11是表示按照第三实施例的任务处理和芯片温度之间的关系的例子的示图。在图11中,实线指示在对于所有任务(任务A-D)都进行锁步操作的情况下(下面称为“比较例”)的芯片的温度。此外,点划线指示按照第三实施例的处理器系统300的芯片的温度。
此外,在图11中,任务A、B和C是按照该列举顺序处理的。之后,处理任务D(空转任务)。注意,这些任务的处理顺序并不局限于图11中所示的例子。该顺序随着中断控制器140的中断处理而变化。
和上述其它实施例的情况中一样,在比较例中,由于对于所有任务都进行锁步操作,因此微计算机上的处理负荷增大。结果,如图11中用实线所示,在任务C的处理期中,芯片温度超过温度阈值。于是,处理器系统试图进行控制,以致芯片温度保持低于或等于温度阈值。结果,处理器系统不能处理任务C。
与之相反,按照第三实施例的处理器系统300被配置成以致当处理器系统300处理重要性低的任务(任务C)时,它不进行锁步操作。即,检验处理器114不处理重要性低的任务(任务C)。于是,与比较例相比,由任务C的处理引起的芯片温度的升高大约被减半。结果,在第三实施例中,在所有任务的整个处理期中,芯片温度都不超过温度阈值。于是,按照第三实施例的处理器系统300能够减小发热量。
注意,需要满足最大验证测试期(PTPmax)地进行故障检测的要求只有在处理重要性高的任务时才需要被满足。换句话说,当处理重要性低的任务时,不一定必须满足需要满足最大验证测试期(PTPmax)地进行故障检测的要求。注意,在第三实施例中,当处理重要性高的任务时,总是进行锁步操作。即,在这种情形下,从进行锁步操作之时到进行下一个锁步操作之时的时期大约为0。于是,按照第三实施例的处理器系统300能够在预定时期(PTPmax)内检测出故障。即,按照第三实施例的处理器系统300能够在预定时期(PTPmax)内检测出故障,同时减小发热量。此外,在第三实施例中,当与第一实施例等相比时,不需要通过中断进行中的这种发动机控制任务的处理,而与为发动机控制所必需的任务(即,任务A和B)分离地处理故障诊断任务。
注意在第一实施例等中,任务A-D未被归类成重要性高的任务和重要性低的任务。不过,在第一实施例等中,即使在从利用锁步操作处理故障诊断任务之时到利用下一个锁步操作处理另一个故障诊断任务之时的时期中,借助中断处理仅仅处理重要性高的任务,也能够在预定时期(PTPmax)内检测出故障。
(第四实施例)
下面说明第四实施例。第四实施例和第三实施例的不同之处在于在第四实施例中,控制电路通过利用处理器单元110(主处理器112)的取回地址,判定是否应进行锁步操作。
图12表示按照第四实施例的处理器系统400的结构。按照第四实施例的处理器系统400具有通过在按照第三实施例的处理器系统300中,用控制电路424(控制单元)替换控制电路324而获得的结构。此外,按照第四实施例的处理器系统400包括比较取回地址和存储器104中的重要性高的任务的地址信息的比较单元410。此外,控制电路424不从中断控制器140接收中断请求信号Sg30。控制电路424改为从比较单元410接收地址匹配信号Sg41。按照第四实施例的处理器系统400中的除与第三实施例的上述差异之外的结构/组件与第三实施例的类似。
图13表示按照第四实施例的比较单元410的结构。比较单元410包括地址信息提取单元412(412A,412B和412D),和地址比较单元414(414A,414B和414D)。地址信息提取单元412提取在存储器104中保存重要性高的任务的地址的信息。具体地,地址信息提取单元412A提取发动机点火控制任务(任务A)的地址信息(地址信息A)。地址信息提取单元412B提取燃料控制任务(任务B)的地址信息(地址信息B)。地址信息提取单元412D提取空转任务(任务D)的地址信息(地址信息D)。
地址比较单元414比较处理器单元110的取回地址和重要性高的任务的地址信息。随后,当它们彼此匹配时,地址比较单元414向控制电路424输出地址匹配信号Sg41。具体地,地址比较单元414A比较取回地址和由地址信息提取单元412A提取的地址信息A。随后,当取回地址匹配地址信息A时,地址比较单元414A向控制电路424输出地址匹配信号Sg41A。
类似地,地址比较单元414B比较取回地址和由地址信息提取单元412B提取的地址信息B。随后,当取回地址匹配地址信息B时,地址比较单元414B向控制电路424输出地址匹配信号Sg41B。此外,地址比较单元414D比较取回地址和由地址信息提取单元412D提取的地址信息D。随后,当取回地址匹配地址信息D时,地址比较单元414D向控制电路424输出地址匹配信号Sg41D。
控制电路424按照地址匹配信号Sg41(Sg41A,Sg41B,Sg41D),判定是否应进行锁步操作。具体地,当控制电路424收到地址匹配信号Sg41(Sg41A,Sg41B,Sg41D)时,控制电路424判定处理器单元110处理重要性高的任务。这种情况下,控制电路424进行执行锁步操作的处理(图10中的步骤S222和S224中的处理)。另一方面,当控制电路424未收到地址匹配信号Sg41(Sg41A,Sg41B,Sg41D)时,控制电路424判定处理器单元110处理重要性低的任务。在这种情况下,控制电路424进行阻止处理器单元进行锁步操作的处理(图10中的步骤S212和S214中的处理)。
类似于第三实施例,在第四实施例中,当处理重要性高的任务时,进行锁步操作。另一方面,当处理重要性低的任务时,不进行锁步操作。于是,类似于第三实施例,按照第四实施例的处理器系统400能够在预定时期(PTPmax)内检测故障,同时减少发热量。此外,按照第四实施例的处理器系统400通过利用取回地址,确定待处理任务的种类。于是,按照第四实施例的处理器系统400能够按照处理器单元110处理的任务的种类,判定是否应进行锁步操作,而不利用从中断控制器140供给的中断请求信号Sg30。
(第五实施例)
下面说明第五实施例。第五实施例和第三实施例的不同之处在于:在正常条件下,对于任意任务,进行锁步操作;不过当处理器单元110上的负荷增大时,对于重要性低的任务,不进行锁步操作。
图14表示按照第五实施例的处理器系统500的结构。按照第五实施例的处理器系统500具有通过在按照第三实施例的处理器系统300中,用控制电路524(控制单元)替换控制电路324而获得的结构。此外,按照第五实施例的处理器系统500包括周期监视器570(周期监视器570A和570B)。按照第五实施例的处理器系统500中的除与第三实施例的上述差异之外的结构/组件与第三实施例的类似。
周期监视器570检测重要性高的任务(任务A和B)的中断的发生频率。此外,当中断频率超过预定标准时,周期监视器570向控制电路524输出周期监视器中断请求信号Sg51。
具体地,周期监视器570A监视由于传感器输入中断请求信号Sg21的中断之间的间隔(中断的周期)。当传感器输入中断请求信号Sg21的中断间隔小于预定基准间隔时,周期监视器570A向控制电路524输出周期监视器中断请求信号Sg51A。换句话说,当传感器输入中断请求信号Sg21的中断周期超过预定基准周期时,周期监视器570A向控制电路524输出周期监视器中断请求信号Sg51A。
类似地,周期监视器570B监视由于传感器输入中断请求信号Sg22的中断之间的间隔(中断的周期)。当传感器输入中断请求信号Sg22的中断间隔小于预定基准间隔时,周期监视器570B向控制电路524输出周期监视器中断请求信号Sg51B。换句话说,当传感器输入中断请求信号Sg22的中断周期超过预定基准周期时,周期监视器570B向控制电路524输出周期监视器中断请求信号Sg51B。
注意,上述基准间隔和基准周期是根据由周期监视器570监视的信号引起的中断多频繁地导致处理器单元110上的负荷的增大,以及芯片温度是否由于该增大的负荷而超过温度阈值(示于图6,后面说明的图16等中)确定的。即,当传感器输入中断请求信号的中断间隔等于或大于基准间隔时(即,当中断周期等于或小于基准周期时),处理器单元110上的负荷未高到足以使芯片温度超过温度阈值。
另一方面,当传感器输入中断请求信号的中断间隔小于基准间隔时(即,当中断周期超过基准周期时),存在由于处理器单元110上的负荷较高,芯片温度超过温度阈值的可能性。于是,当处理器单元110上的负荷较高时,周期监视器570向控制电路524输出周期监视器中断请求信号Sg51(Sg51A,Sg51B)。注意在输出周期监视器中断请求信号Sg51之后的任意时刻,周期监视器570可清除中断周期的计数。
类似于控制电路124,控制电路524按照来自中断控制器140的中断请求信号Sg30,判定是否应进行锁步操作。注意如后所述,控制电路524按照处理器单元110上的负荷是否为高,来判定是否应进行锁步操作。换句话说,控制电路524至少按照重要性高的任务的处理操作的频率,判定是否应进行锁步操作。
此外,类似于控制电路124,控制电路524通过使检验处理器用时钟使能信号Sg32有效或无效,关于CGC 134是否应向检验处理器114供给时钟信号Sg12,而控制CGC 134。此外,类似于控制电路124,在进行锁步操作时,控制电路524使比较使能信号Sg33有效,而在不进行锁步操作时,使比较使能信号Sg33无效。
图15是表示按照第五实施例的控制电路524进行的处理的流程图。控制电路524从中断控制器140接收中断请求信号Sg30(S302)。此时,控制电路524判定控制电路524是否从周期监视器570,收到周期监视器中断请求信号Sg51(Sg51A,Sg51B)(S304)。当控制电路524未收到周期监视器中断请求信号Sg51时(S304为否),重要性高的任务的处理操作的频率不高,从而处理器单元110上的负荷不高。于是,控制电路524向检验处理器114供给时钟,从而进行以致执行锁步操作的控制(S322)。具体地,控制电路524使检验处理器用时钟使能信号Sg32有效,从而使检验处理器114工作。此外,控制电路524使比较使能信号Sg33有效,从而允许比较器106工作(S324)。
另一方面,当控制电路524收到周期监视器中断请求信号Sg51时(S304为是),重要性高的任务的处理操作的频率较高,从而处理器单元110上的负荷较高。此时,控制电路524判定在步骤S302接收的中断请求信号Sg30是否指示重要性低的任务(S306)。当中断请求信号Sg30未指示重要性低的任务时(S306为否),待处理的任务是重要性高的任务。于是,控制电路524进行以致执行锁步操作的控制(S322和S324)。
另一方面,当中断请求信号Sg30指示重要性低的任务时(S306为是),控制电路524停止向检验处理器114供给时钟,从而阻止进行锁步操作(S312)。具体地,控制电路524使检验处理器用时钟使能信号Sg32无效,从而停止检验处理器114。此外,控制电路524使比较使能信号Sg33无效,从而禁止比较器106工作(S314)。
图16是表示按照第五实施例的任务处理和芯片温度之间的关系的例子的示图。在图16中,实线指示在对于所有任务(任务A-D)连续进行锁步操作的情况下(下面称为“比较例”)的芯片的温度。此外,点划线指示按照第五实施例的处理器系统500的芯片的温度。
此外,在图16中,任务A、B和C是按照该列举顺序处理的。之后,处理任务D(空转任务)。注意,这些任务的处理顺序并不局限于图16中所示的例子。该顺序按照中断控制器140的处理而变化。此外,在图16中,作为例子表示了在前周期Cy1和后续周期Cy2。注意在图16中所示的例子中,当在周期Cy2中处理任务B时,从周期监视器570输出周期监视器中断请求信号Sg51。
如图16中举例所示,由于在周期Cy1中不输出周期监视器中断请求信号Sg51,因此这意味着在周期Cy1中,处理器单元110上的负荷不高。于是,芯片温度小于或等于温度阈值。与之相反,当处理任务B时,在周期Cy2中输出周期监视器中断请求信号Sg51。于是,在周期Cy2中,处理器单元110上的负荷较高。
这种状态下,在比较例(用实线表示)中继续进行锁步操作。于是,当处理任务C时,芯片温度超过温度阈值。与之相反,按照第五实施例的处理器系统500被配置成在周期Cy2中处理任务C(重要性低的任务)的上述状态下,不进行锁步操作。即,在上述状态下,检验处理器114不处理重要性低的任务(任务C)。结果,与比较例相比,由任务C的处理引起的温度的升高大约被减半。于是,在第五实施例中,在所有任务的整个处理期中,芯片温度不超过温度阈值。于是,按照第五实施例的处理器系统500能够减少发热量。
类似于第三实施例,在第五实施例中,当处理重要性高的任务时,总是进行锁步操作。于是,按照第五实施例的处理器系统500能够在预定时期(PTPmax)内检测故障,同时减少发热量。
注意在图14中,作为周期监视器570,分别设置了周期监视器570A和570B。不过,周期监视器570A和570B不一定必须被设置成分离的组件。例如,一个周期监视器570可监视传感器输入中断请求信号Sg21的中断频率(中断间隔,中断周期)和传感器输入中断请求信号Sg22的中断频率(中断间隔,中断周期)。在这种情况下,和上述第五实施例的情况中一样,周期监视器570可分别监视传感器输入中断请求信号Sg21的中断间隔(中断周期)和传感器输入中断请求信号Sg22的中断间隔(中断周期)。另一方面,周期监视器570可不区分传感器输入中断请求信号Sg21和Sg22,可集体监视这些中断请求信号的中断间隔(中断周期)。即,周期监视器570可监视传感器输入中断请求信号Sg21和Sg22的集合频率。例如,当首先输入传感器输入中断请求信号Sg21,随后输入传感器输入中断请求信号Sg22时,周期监视器570可把它们总共当作两个中断请求信号。
注意,尽管在上述第五实施例中,周期监视器570检测重要性高的任务(任务A和B)的中断间隔,不过,对其检测该间隔的任务并不局限于重要性高的任务。周期监视器570可对于当被频繁处理时会增大处理器单元110上的负荷的一些重要性低的任务,检测中断间隔。此外,周期监视器570可监视中断请求信号Sg30,从而检测指示对其进行锁步操作的任务(即,任务A和B)的中断请求信号Sg30的中断间隔。注意就空转任务(任务D)来说,其在处理器单元上的处理负荷不高,从而即使当对其进行锁步操作时,也不会相当大地升高芯片温度。于是,周期监视器570不必监视空转任务(任务D)(即使它被归类成重要性高的任务)。
(第六实施例)
下面说明第六实施例。在第六实施例中,在正常条件下,对于任意任务都不进行锁步操作。不过,当在处理重要性高的任务之后过去的时间等于或大于等于或小于最大验证测试期(PTPmax)的锁步操作期(第一时期)时,利用锁步操作,处理重要性高的任务。换句话说,在第六实施例中,并不总是利用锁步操作处理重要性高的任务,而是在比如最大验证测试期(PTPmax)被满足的时刻,利用锁步操作间歇地处理重要性高的任务。换句话说,在第六实施例中,在满足最大验证测试期(PTPmax)的同时,关于重要性高的任务的锁步操作被间除(即,一些重要性高的任务利用锁步操作处理,而其它重要性高的任务不利用锁步操作处理)。
图17表示按照第六实施例的处理器系统600的结构。按照第六实施例的处理器系统600具有通过在按照第三实施例的处理器系统300中,用控制电路624(控制单元)替换控制电路324而获得的结构。此外,按照第六实施例的处理器系统600包括时期监视器670。按照第六实施例的处理器系统600中的除与第三实施例的上述差异之外的结构/组件与第三实施例的相似。
时期监视器670计数(或测量)在利用前一个锁步操作处理重要性高的任务之后过去的时间。随后,当在利用前一个锁步操作处理重要性高的任务之后过去锁步操作期(第一时期)时,时期监视器670向控制电路624输出时期监视器中断请求信号Sg61。注意,预先确定的锁步操作期小于PTPmax。此外,在设置于时期监视器670中的寄存器672中,设定小于PTPmax的设定值(锁步操作期)。
类似于控制电路124,控制电路624按照来自中断控制器140的中断请求信号Sg30,判定是否应进行锁步操作。注意如后所述,控制电路624进行以致每个锁步操作期(即,按等于锁步操作期的间隔)地执行锁步操作的控制。此外,类似于控制电路124,控制电路624通过使检验处理器用时钟使能信号Sg32有效或无效,关于CGC 134是否应向检验处理器114供给时钟信号Sg12,而控制CGC 134。此外,类似于控制电路124,在进行锁步操作时,控制电路624使比较使能信号Sg33有效,而在不进行锁步操作时,使比较使能信号Sg33无效。
图18是表示按照第六实施例的控制电路624进行的处理的流程图。控制电路624从中断控制器140接收中断请求信号Sg30(S402)。控制电路624判定控制电路624此时是否从时期监视器670收到时期监视器中断请求信号Sg61(S404)。当控制电路624未收到时期监视器中断请求信号Sg61时(S404为否),这意味着锁步操作期还未过去。于是,控制电路624停止向检验处理器114的时钟的供给,从而阻止进行锁步操作(S412)。具体地,控制电路624使检验处理器用时钟使能信号Sg32无效,从而停止检验处理器114。此外,控制电路624使比较使能信号Sg33无效,从而禁止比较器106工作(S414)。
另一方面,当控制电路624收到时期监视器中断请求信号Sg61时(S404为是),这意味着锁步操作期已过去。此时,控制电路624判定在步骤S402接收的中断请求信号Sg30是否指示重要性高的任务(S406)。当中断请求信号Sg30未指示重要性高的任务时(S406为否),待处理的任务是重要性低的任务。于是,控制电路624进行以致不执行锁步操作的控制(S412和S414)。
另一方面,当中断请求信号Sg30指示重要性高的任务时(S406为是),控制电路624向检验处理器114供给时钟,从而进行以致执行锁步操作的控制(S422)。具体地,控制电路624使检验处理器用时钟使能信号Sg32有效,从而使检验处理器114工作。此外,控制电路624使比较使能信号Sg33有效,从而允许比较器106工作(S424)。即,控制电路624使处理器单元利用锁步操作,处理在预定定时(即,锁步操作期已过去的定时)发生的发动机控制任务。
图19是表示按照第六实施例的任务处理和芯片温度之间的关系的例子的示图。在图19中,实线指示在对于所有任务(任务A-D)连续进行锁步操作的情况下(下面称为“比较例”)的芯片的温度。此外,点划线指示按照第六实施例的处理器系统600的芯片的温度。
此外,在图19中,任务A、B和C是按照该列举顺序处理的。之后,处理任务D(空转任务)。注意,这些任务的处理顺序并不局限于图19中所示的例子。该顺序按照中断控制器140的处理而变化。此外,在图19中,作为例子表示了在前周期Cy1和后续周期Cy2。注意在图19中所示的例子中,当在周期Cy2中处理任务A时,从时期监视器670输出时期监视器中断请求信号Sg61。
如图19中举例所示,由于在周期Cy1中不输出时期监视器中断请求信号Sg61,因此这意味着在周期Cy1中,在进行前次锁步操作之后,锁步操作期还未过去。于是,在周期Cy1中,不仅对于重要性低的任务(任务C),而且对于重要性高的任务(任务A和B),都不进行锁步操作。即,在周期Cy1中,由于检验处理器114不工作,因此芯片温度的升高被减小(或者被阻止)。与之相反,在比较例中,由于当在周期Cy1中处理任务A-C时进行锁步操作,因此芯片温度超过温度阈值。(在周期Cy2中,芯片温度也超过温度阈值)。
同时在第六实施例中,在周期Cy2中,输出时期监视器中断请求信号Sg61。即,在进行前次锁步操作之后,锁步操作期已过去。于是,当在此时进行锁步操作时,PTPmax能够被满足。此时,利用中断处理来处理任务A和B(重要性高的任务)。于是,当处理这些任务A和B时,进行锁步操作。此外,当利用中断处理来处理任务C(重要性低的任务)时,不进行锁步操作,并且检验处理器114被停止。于是,即使在周期Cy2中,芯片温度也不超过温度阈值。于是,在第六实施例中,在所有任务的整个处理期中,芯片温度不超过温度阈值。于是,按照第六实施例的处理器系统600能够减少发热量。
此外,在第六实施例中,每个锁步操作期(即,按等于锁步操作期的间隔)地处理对于重要性高的任务的锁步操作。此外,该锁步操作期小于PTPmax。即,从进行锁步操作之时到进行下一次锁步操作之时的时期小于PTPmax。如上所述,当进行锁步操作时,能够检测故障。于是,按照第六实施例的处理器系统600能够在预定时期(PTPmax)内,检测故障。即,按照第六实施例的处理器系统600能够在预定时期(PTPmax)内检测故障,同时减少发热量。
此外,第六实施例被配置成以致通过利用锁步操作处理重要性高的任务,来进行故障诊断。于是,与第一实施例相反,不需要利用中断处理来进行故障诊断。注意如果即使在锁步操作期已过去之后,也未利用中断处理来处理重要性高的任务(即,利用中断处理仅仅处理重要性低的任务),那么和第一实施例的情况中一样,可利用中断处理来处理故障诊断任务。即,当在预定定时(锁步操作期已过去的定时)未发生重要性高的任务(发动机控制任务)时,可以启动故障诊断任务。在这种情况下,控制电路624可利用锁步操作,处理该故障诊断任务。这样,即使当在预定定时未发生发动机控制任务时,也能够进行故障诊断。
注意,锁步操作期是按照利用中断处理来处理重要性高的任务的频率酌情确定的。例如,当利用中断处理来处理重要性高的任务的频率较高时,即使当锁步操作期被增大到接近于PTPmax的值时,在从锁步操作期已过去之时到最大验证测试期(PTPmax)已过去之时的时期内,利用中断处理来处理重要性高的任务的可能性仍然非常高。于是,在这种情况下,能够进行锁步操作,以致PTPmax被满足。另一方面,当利用中断处理来处理重要性高的任务的频率较低时,在从锁步操作期已过去之时到最大验证测试期(PTPmax)已过去之时的时期内,利用中断处理来处理重要性高的任务的可能性较低。于是,理想的是在利用中断处理来处理重要性高的任务的频率较低时,缩短锁步操作期。
当很少利用中断处理来处理重要性低的任务,并且非常频繁地利用中断处理来处理重要性高的任务时,和当与发动机控制的一个周期相比PTPmax非常长时,第六实施例尤其有效。当非常频繁地利用中断处理来处理重要性高的任务时,如上所述可增大锁步操作期。在这种情况下,由于其中不进行锁步操作的时期增大,因此能够降低芯片温度的升高。此外,当与发动机控制的一个周期相比,PTPmax非常长时,在对应于PTPmax的时期中可以包括多个周期。在这种情况下,由于其中不进行锁步操作的周期的数目增大,因此能够降低芯片温度的升高。
注意在上述实施例中,时期监视器670计数(或测量)在前次锁步操作中处理重要性高的任务之后过去的时间。不过,计数方法并不局限于这种结构。例如,时期监视器670可计数(或测量)利用中断处理来处理重要性高的任务的时间。这种情况下,当处理重要性高的任务的总时间达到锁步操作期(第一时期)时,时期监视器670可向控制电路624输出时期监视器中断请求信号Sg61。此外,时期监视器670不一定必须被设置成独立的组件。即,除了其原功能之外,控制电路624还可执行时期监视器670的功能。
(变形例)
注意,本发明并不局限于上述实施例,上述实施例可被酌情修改,而不脱离本发明的精神和范围。例如,可酌情以一个集成组件的形式,形成上述组件中的一些组件。此外,一个组件的多个功能可酌情由分离组件执行。此外,在上述实施例中,当处理器单元的状态从不进行锁步操作的状态变成进行锁步操作的状态时,主处理器112中的已处理数据可被复制到检验处理器114。
此外,上述实施例可以相互结合,从而被组合地应用。例如,第一实施例可以与第六实施例结合。即,当计划在第一实施例中的故障诊断任务的中断定时利用中断处理来处理重要性高的任务时,可如第六实施例一样,处理重要性高的任务,而不是处理故障诊断任务,并且可以对于该重要性高的任务进行锁步操作。此外,第一实施例可以和第四实施例结合,并被配置成以致通过利用取回地址,确定故障诊断任务的中断的发生。
此外,在上述实施例中,通过向检验处理器114供给时钟,使检验处理器114工作,和通过停止时钟的供给,使检验处理器114停止。不过,检验处理器114的工作方法并不局限于这样的结构。即,不一定必须利用时钟来改变检验处理器114的工作状态。例如,处理器单元可被配置成以致主处理器112和检验处理器114被分别供给其电力。这种情况下,当进行锁步操作时,可使检验处理器114通电。此外,当不进行锁步操作时,检验处理器114可被断电。
此外,在上述实施例中,应利用中断处理进行处理的任务的识别信息包含在从中断控制器140供给的中断请求信号Sg30中。不过,本发明并不局限于这样的结构。例如,可在中断控制器140和处理器单元110之间,设置分别对应于各个任务(例如,任务A-E)中的相应一个任务的多条中断线。这种情况下,当使中断线之一上的信号有效时,处理器单元110可从存储器104读取对应于该中断线的任务。此外,在上述实施例中,控制电路被设置成与中断控制器140分离的组件。不过,控制电路和中断控制器140可被形成为一个集成组件。
上面基于实施例,具体说明了发明人作出的本发明。不过,本发明并不局限于上述实施例,不用说,可以作出各种修改,而不脱离本发明的精神和范围。本领域的普通技术人员可随心所欲地组合第一到第六实施例。
尽管利用几个实施例,说明了本发明,不过本领域的技术人员会认识到在附加权利要求的精神和范围内,可以用各种各样的变形例实践本发明,本发明并不局限于上面说明的例子。
此外,权利要求的范围不受上述实施例限制。
此外注意,申请人的意图是包含所有权利要求要素的等同物,即使稍后在专利审查过程中被修改。

Claims (23)

1.一种处理器系统,包括:
主处理器,所述主处理器相继处理多个任务;
检验处理器,所述检验处理器相继处理所述多个任务中的至少一个任务;和
控制电路,所述控制电路进行控制,以致当主处理器和检验处理器进行锁步操作时,检验处理器工作,而当主处理器和检验处理器不进行锁步操作时,检验处理器停止其工作,锁步操作是其中主处理器和检验处理器都处理相同任务的操作,其中
控制电路进行控制,以致从利用锁步操作处理任务之时到在下一个锁步操作中处理另一个任务之时的时期等于或小于预定的最大测试期,所述最大测试期是处理器系统容许的测试期,
其中,所述最大测试期是通过从容错时间间隔中减去故障反应时间和测试处理所必需的时间之和来定义的,
其中,所述故障反应时间是从检测出故障到处理器系统变成停止状态的时期,以及
其中,容错时间间隔是从在处理器系统中发生故障到处理器系统变成停止状态的时期。
2.按照权利要求1所述的处理器系统,其中
按等于或小于最大测试期的间隔,利用中断处理来处理至少一个故障诊断任务,和
控制电路进行控制,以致当利用中断处理来处理故障诊断任务时,进行锁步操作。
3.按照权利要求2所述的处理器系统,其中控制电路进行控制,以致当不利用中断处理来处理故障诊断任务时,不进行锁步操作。
4.按照权利要求2所述的处理器系统,其中
利用中断处理来处理多个故障诊断任务,和
所述多个故障诊断任务之中的第一故障诊断任务是用于进行关于主处理器的第一区域的故障诊断的任务,所述多个故障诊断任务之中的第二故障诊断任务是用于进行关于主处理器的第二区域的故障诊断的任务。
5.按照权利要求1所述的处理器系统,其中
利用中断处理来处理第一任务和不同于第一任务的第二任务,第一任务是如果在其执行过程中发生故障、那么需要检测出所述故障的任务,和
控制电路进行控制,以致当利用中断处理来处理第一任务时,进行锁步操作。
6.按照权利要求5所述的处理器系统,其中控制电路进行控制,以致当主处理器中的取回地址匹配存储器中的第一任务的地址时,进行锁步操作,所述存储器保存所述多个任务。
7.按照权利要求1所述的处理器系统,其中
利用中断处理来处理第一任务和不同于第一任务的第二任务,并利用锁步操作处理所述第一任务和不同于第一任务的第二任务,第一任务是如果在其执行过程中发生故障、那么需要检测出所述故障的任务,和
控制电路进行控制,以致按照处理器系统处理至少所述第一任务的频率,不进行关于第二任务的锁步操作。
8.按照权利要求5所述的处理器系统,其中当在利用锁步操作处理第一任务之后过去的时期变成等于或大于比最大测试期短的第一时期时,并且当第一任务再次被中断处理请求时,控制电路进行控制,以致利用锁步操作处理第一任务。
9.一种控制方法,包括:
进行控制,以致当进行锁步操作时,使检验处理器工作,锁步操作是其中主处理器和检验处理器都处理相同任务的操作,主处理器被配置成相继处理多个任务,检验处理器被配置成相继处理所述多个任务中的至少一个任务;
进行控制,以致当不进行锁步操作时,使检验处理器停止;和
进行控制,以致从在锁步操作中处理任务之时到在下一个锁步操作中处理另一个任务之时的时期等于或小于预定的最大测试期,最大测试期是系统容许的测试期,
其中,所述最大测试期是通过从容错时间间隔中减去故障反应时间和测试处理所必需的时间之和来定义的,
其中,所述故障反应时间是从检测出故障到处理器系统变成停止状态的时期,以及
其中,容错时间间隔是从在处理器系统中发生故障到处理器系统变成停止状态的时期。
10.按照权利要求9所述的控制方法,其中
按等于或小于最大测试期的间隔,利用中断处理来处理至少一个故障诊断任务,和
进行控制,以致当利用中断处理来处理故障诊断任务时,进行锁步操作。
11.按照权利要求10所述的控制方法,其中进行控制,以致当不利用中断处理来处理故障诊断任务时,不进行锁步操作。
12.按照权利要求10所述的控制方法,其中
利用中断处理来处理多个故障诊断任务,
当利用中断处理来处理所述多个故障诊断任务之中的第一故障诊断任务时,进行关于主处理器的第一区域的故障诊断,和
当利用中断处理来处理所述多个故障诊断任务之中的第二故障诊断任务时,进行关于主处理器的第二区域的故障诊断。
13.按照权利要求9所述的控制方法,其中
利用中断处理来处理第一任务和不同于第一任务的第二任务,第一任务是如果在其执行过程中发生故障、那么需要检测出所述故障的任务,和
进行控制,以致当利用中断处理来处理第一任务时,进行锁步操作。
14.按照权利要求13所述的控制方法,其中进行控制,以致当主处理器中的取回地址匹配存储器中的第一任务的地址时,进行锁步操作,所述存储器保存所述多个任务。
15.按照权利要求9所述的控制方法,其中
利用中断处理来处理第一任务和不同于第一任务的第二任务,第一任务是如果在其执行过程中发生故障、那么需要检测出所述故障的任务,
进行控制,以致利用锁步操作处理所述第一任务和第二任务,和
进行控制,以致按照处理至少所述第一任务的频率,不进行关于第二任务的锁步操作。
16.按照权利要求13所述的控制方法,其中当在利用锁步操作处理第一任务之后过去的时期变成等于或大于比最大测试期短的第一时期时,并且当第一任务再次被中断处理请求时,控制电路进行控制,以致利用锁步操作处理第一任务。
17.一种保存程序的非临时性计算机可读介质,所述程序使计算机执行:
进行控制,以致当进行锁步操作时,使检验处理器工作的步骤,锁步操作是其中主处理器和检验处理器都处理相同任务的操作,主处理器被配置成相继处理多个任务,检验处理器被配置成相继处理所述多个任务中的至少一个任务;
进行控制,以致当不进行锁步操作时,使检验处理器停止的步骤;和
进行控制,以致从在锁步操作中处理任务之时到在下一个锁步操作中处理另一个任务之时的时期等于或小于预定的最大测试期的步骤,最大测试期是系统容许的测试期,
其中,所述最大测试期是通过从容错时间间隔中减去故障反应时间和测试处理所必需的时间之和来定义的,
其中,所述故障反应时间是从检测出故障到处理器系统变成停止状态的时期,以及
其中,容错时间间隔是从在处理器系统中发生故障到处理器系统变成停止状态的时期。
18.一种发动机控制系统,包括:
第一处理器和第二处理器,所述第一处理器和第二处理器都能够利用锁步方法,处理包括发动机控制任务在内的多个任务;和
启用或禁止锁步方法的控制单元,其中
控制单元在预定定时启用锁步方法,以致第一锁步处理和在第一锁步处理之后的第二锁步处理之间的间隔等于或小于最大测试期,所述最大测试期是系统容许的测试期,
其中,所述最大测试期是通过从容错时间间隔中减去故障反应时间和测试处理所必需的时间之和来定义的,
其中,所述故障反应时间是从检测出故障到处理器系统变成停止状态的时期,以及
其中,容错时间间隔是从在处理器系统中发生故障到处理器系统变成停止状态的时期。
19.按照权利要求18所述的发动机控制系统,其中控制单元使处理器利用锁步方法,处理在所述预定定时发生的发动机控制任务。
20.按照权利要求19所述的发动机控制系统,其中当在所述预定定时未发生发动机控制任务时,启动故障诊断任务,控制单元使处理器利用锁步方法处理故障诊断任务。
21.按照权利要求18所述的发动机控制系统,其中在所述预定定时启动故障诊断任务,控制单元使处理器利用锁步方法处理故障诊断任务。
22.按照权利要求18所述的发动机控制系统,还包括传感器输入接口,其中
按照从传感器输入接口供给的输入信号,启动发动机控制任务。
23.按照权利要求22所述的发动机控制系统,其中对于除发动机控制任务外的任务,控制单元禁止锁步方法。
CN201510509719.2A 2014-08-19 2015-08-19 处理器系统,发动机控制系统和控制方法 Active CN105373455B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-166615 2014-08-19
JP2014166615A JP6360387B2 (ja) 2014-08-19 2014-08-19 プロセッサシステム、エンジン制御システム及び制御方法

Publications (2)

Publication Number Publication Date
CN105373455A CN105373455A (zh) 2016-03-02
CN105373455B true CN105373455B (zh) 2020-08-28

Family

ID=53719625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510509719.2A Active CN105373455B (zh) 2014-08-19 2015-08-19 处理器系统,发动机控制系统和控制方法

Country Status (5)

Country Link
US (2) US9823957B2 (zh)
EP (1) EP3065054B1 (zh)
JP (1) JP6360387B2 (zh)
KR (1) KR20160022245A (zh)
CN (1) CN105373455B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033236A (ja) * 2015-07-31 2017-02-09 日立オートモティブシステムズ株式会社 車両制御装置
GB2555628B (en) 2016-11-04 2019-02-20 Advanced Risc Mach Ltd Main processor error detection using checker processors
US10331532B2 (en) * 2017-01-19 2019-06-25 Qualcomm Incorporated Periodic non-intrusive diagnosis of lockstep systems
DE102017208484A1 (de) * 2017-05-19 2018-11-22 Robert Bosch Gmbh Verfahren und Vorrichtung zur Erkennung von Hardwarefehlern in Mikroprozessoren
JP6786448B2 (ja) * 2017-06-28 2020-11-18 ルネサスエレクトロニクス株式会社 半導体装置
US10754740B2 (en) * 2018-02-27 2020-08-25 Nxp Usa, Inc. Dynamic suppression of error detection in processor switch fabric
CN108536045B (zh) * 2018-04-27 2020-12-29 国机智骏汽车有限公司 电动汽车的整车控制器、车辆及方法
JP6981920B2 (ja) * 2018-05-25 2021-12-17 ルネサスエレクトロニクス株式会社 半導体装置、およびデバッグ方法
US11119695B2 (en) * 2019-03-28 2021-09-14 Infineon Technologies Ag Memory dispatcher
GB202019527D0 (en) * 2020-12-10 2021-01-27 Imagination Tech Ltd Processing tasks in a processing system
GB2605467B (en) 2021-06-29 2023-12-06 Imagination Tech Ltd Verifying processing logic of a graphics processing unit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1495611A (zh) * 2002-07-12 2004-05-12 �ձ�������ʽ���� 容错计算机系统及其再同步方法和再同步程序
WO2007006013A2 (en) * 2005-07-05 2007-01-11 Viasat, Inc. Synchronized high-assurance circuits
CN101278264A (zh) * 2005-09-28 2008-10-01 英特尔公司 众核处理器的可靠计算
JP2013065220A (ja) * 2011-09-19 2013-04-11 Mitsubishi Electric Corp 情報処理装置
CN103778028A (zh) * 2012-10-18 2014-05-07 瑞萨电子株式会社 半导体器件
CN103852713A (zh) * 2012-11-30 2014-06-11 瑞萨电子株式会社 半导体装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
US7243212B1 (en) * 2004-08-06 2007-07-10 Xilinx, Inc. Processor-controller interface for non-lock step operation
DE102004058288A1 (de) * 2004-12-02 2006-06-08 Robert Bosch Gmbh Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten
US8826288B2 (en) * 2005-04-19 2014-09-02 Hewlett-Packard Development Company, L.P. Computing with both lock-step and free-step processor modes
JP4470949B2 (ja) 2007-02-28 2010-06-02 日本電気株式会社 フォールトトレラントコンピュータおよびその制御方法
US7673188B2 (en) * 2007-08-09 2010-03-02 Globalfoundries Inc. System and method for controlling synchronous functional microprocessor redundancy during test and method for determining results
US8010846B1 (en) * 2008-04-30 2011-08-30 Honeywell International Inc. Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame
US8291252B2 (en) * 2008-08-27 2012-10-16 Igt Power management in a multi-station gaming machine
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8275977B2 (en) * 2009-04-08 2012-09-25 Freescale Semiconductor, Inc. Debug signaling in a multiple processor data processing system
US8069367B2 (en) * 2009-05-05 2011-11-29 Lockheed Martin Corporation Virtual lock stepping in a vital processing environment for safety assurance
US8484508B2 (en) * 2010-01-14 2013-07-09 Arm Limited Data processing apparatus and method for providing fault tolerance when executing a sequence of data processing operations
EP2537091A4 (en) * 2010-02-16 2014-08-06 Freescale Semiconductor Inc DATA PROCESSING METHOD, DATA PROCESSOR, AND APPARATUS COMPRISING DATA PROCESSOR
EP2550598A1 (de) * 2010-03-23 2013-01-30 Continental Teves AG & Co. oHG Redundante zwei-prozessor-steuerung und steuerungsverfahren
JP5716824B2 (ja) * 2011-03-28 2015-05-13 富士通株式会社 マルチコアプロセッサシステム
US9720861B2 (en) * 2014-12-02 2017-08-01 Qualcomm Incorporated Memory access by dual processor systems
GB2549280B (en) * 2016-04-11 2020-03-11 Advanced Risc Mach Ltd Self-testing in a processor core

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1495611A (zh) * 2002-07-12 2004-05-12 �ձ�������ʽ���� 容错计算机系统及其再同步方法和再同步程序
WO2007006013A2 (en) * 2005-07-05 2007-01-11 Viasat, Inc. Synchronized high-assurance circuits
CN101278264A (zh) * 2005-09-28 2008-10-01 英特尔公司 众核处理器的可靠计算
JP2013065220A (ja) * 2011-09-19 2013-04-11 Mitsubishi Electric Corp 情報処理装置
CN103778028A (zh) * 2012-10-18 2014-05-07 瑞萨电子株式会社 半导体器件
CN103852713A (zh) * 2012-11-30 2014-06-11 瑞萨电子株式会社 半导体装置

Also Published As

Publication number Publication date
JP6360387B2 (ja) 2018-07-18
CN105373455A (zh) 2016-03-02
US20160055047A1 (en) 2016-02-25
US10394644B2 (en) 2019-08-27
US9823957B2 (en) 2017-11-21
EP3065054A1 (en) 2016-09-07
KR20160022245A (ko) 2016-02-29
EP3065054B1 (en) 2020-10-28
JP2016042336A (ja) 2016-03-31
US20180046530A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
CN105373455B (zh) 处理器系统,发动机控制系统和控制方法
US8819485B2 (en) Method and system for fault containment
JP6462870B2 (ja) 半導体装置及び診断テスト方法
JP6266239B2 (ja) マイクロコンピュータ
EP2360594A1 (en) Information processing apparatus, processing unit switching method, and processing unit switching program
KR20190035480A (ko) 마이크로 컨트롤러 및 마이크로 컨트롤러의 제어방법
CN103176581A (zh) 电源管理装置及电源管理方法
JP2008225929A (ja) 情報処理装置
US20100122072A1 (en) Debugging system, debugging method, debugging control method, and debugging control program
US10120760B2 (en) Vehicle infotainment system
US20130177119A1 (en) Control device and nuclear power plant control system
CN115904793A (zh) 一种基于多核异构系统的内存转存方法、系统及芯片
JP2018112977A (ja) マイクロコンピュータ
US20190332506A1 (en) Controller and function testing method
TW202238383A (zh) 電腦系統、電腦伺服器及其啟動方法
US10921875B2 (en) Computer system, operational method for a microcontroller, and computer program product
US20200201409A1 (en) Information processing apparatus and method of controlling information processing apparatus
US9063714B1 (en) Detecting startup fault of SDRAM voltage regulator
US11493982B2 (en) Microcontroller and power management integrated circuit application clustering for safe state management
JP6090094B2 (ja) 情報処理装置
US20080201605A1 (en) Dead man timer detecting method, multiprocessor switching method and processor hot plug support method
EP4369200A1 (en) Safety power management
JP2012069063A (ja) P−run信号出力装置、組込制御装置
US20200133375A1 (en) Information processing device and control method for the same
JP2024014427A (ja) 電子制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant