CN104850788A - 多处理器系统 - Google Patents

多处理器系统 Download PDF

Info

Publication number
CN104850788A
CN104850788A CN201510085235.XA CN201510085235A CN104850788A CN 104850788 A CN104850788 A CN 104850788A CN 201510085235 A CN201510085235 A CN 201510085235A CN 104850788 A CN104850788 A CN 104850788A
Authority
CN
China
Prior art keywords
access
request
processor unit
relevant
bus
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.)
Pending
Application number
CN201510085235.XA
Other languages
English (en)
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 CN104850788A publication Critical patent/CN104850788A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0766Error or fault reporting or storing
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

本发明的各实施方式总体上涉及多处理器系统。具体地,本发明在没有紧密耦合处理器单元的情况下实现了多处理器系统的功能安全。在使得多个处理器单元执行相同的数据处理并且实现处理器单元的功能安全时,采用总线接口单元,该总线接口单元在从处理器单元发出的访问请求的非一致性已经被确定时执行对执行安全措施处理的控制,并且在这些访问请求彼此一致时执行对响应于访问请求而开始访问处理的控制。

Description

多处理器系统
相关申请的交叉引用
于2014年2月18日提交的日本专利申请第2014-028319号的公开内容(包括说明书、附图和摘要)通过引用整体合并于此。
背景技术
本发明涉及一种具有多个处理器单元的多处理器系统,并且涉及例如一种在应用于需要其功能安全并且要考虑操作连续性的用于车辆的ECU(电子控制单元)、用于ECU的微处理器等时有效的技术。
连同近几年汽车的电气化一起,对于功能安全和操作连续性的要求也得到了增强。也就是说,存在对于诸如在控制器中产生异常之前执行通信从而事先防止意外或者即使在出现异常时仍然能够继续操作从而使得汽车能够移动至修理厂之类的功能安全(故障保护)的增强的要求。作为对应于故障保护的技术,提供了常规DLS(双重锁步)和TMR(三元多数决定规则)。在DLS中,例如,执行相同的数据处理的两个处理器单元被紧密耦合和操作,操作结果被逐一比较,数据处理在比较结果相同的情况下继续进行,在比较结果彼此不一致时进行对异常的确定,并且因此执行到备选设备的转换(changeover)等。作为其中描述DLS的文献的示例,存在日本专利特开第2013-242746号。
TMR是一种如下技术:其紧密耦合三个处理器单元,对来自相应处理器单元的逐一输出之间进行逐一比较,并且将多数决定规则应用于非一致性,从而即使在一个处理器处于异常状态时仍然使得非一致性可减轻。作为其中描述TMR的文献的示例,存在日本专利特开第1996-278898号。
发明内容
本发明人已经检查了微型计算机用于汽车用途等的功能安全。根据检查,在其中通过紧密耦合多个处理器单元来实现TMR或DLS的常规情况下,故障保护模式是固定的。因此,很难实现可编程故障保护功能,诸如根据处理仅在所需要的处理器单元之间实现故障保护功能,或者仅对于所需要的数据处理执行故障保护。另外,当一个处理器单元出故障时,也不可能通过使用另一处理器单元来重构执行TMR或DLS的一组处理器单元。如果试图事先实现用于TMR或DLS的所有专用硬件,则电路规模增加并且变得太冗余从而使得成本增加。
而且,如下限制使得很难使处理器单元以最高速度来操作:其中当在实现多个处理器单元中试图满足高性能实现和功能安全实现二者时,处理器单元必须彼此被给予关系并且必须被紧密耦合。在通过连接处理器单元而实现的常规功能安全技术中,对于处理器单元的速度限制变得很大。
根据对本说明书和附图的描述,本发明的其它问题和新的特征将变得清楚。
下面简要地说明对本申请中所公开的实施例中的典型实施例的概述。
也就是说,当使得多个处理器单元执行相同的数据处理并且实现处理器单元的功能安全时,采用总线接口单元,该总线接口单元执行如下控制:在从处理器单元发出的访问请求的非一致性已经被确定时,执行安全措施处理;以及在这些访问请求彼此一致时,开始响应于访问请求的访问处理。
下面简要说明通过本申请中所公开的实施例中的典型实施例所获得的效果。
也就是说,可以在没有紧密耦合处理器单元的情况下实现多处理器系统的功能安全。
附图说明
图1是示出多处理器系统的第一示例的框图;
图2是在指定两个处理器单元的同时执行对应于DLS的操作时的操作流程图;
图3是紧随图2的操作流程图;
图4是紧随图3的操作流程图;
图5是在指定三个处理器单元的同时执行对应于TMR的操作时的操作流程图;
图6是紧随图5的操作流程图;
图7是紧随图6的操作流程图;
图8是示出多处理器系统的第二示例的框图;
图9是示出多处理器系统MPS_2的故障保护控制操作的操作流程图;
图10是紧随图9的操作流程图;
图11是紧随图10的操作流程图;
图12是紧随图11的操作流程图;
图13是紧随图12的操作流程图;
图14是集合了图1和图8中所说明的多处理器系统的示意性说明图;
图15是示出将故障保护功能扩展至总线从模块侧的应用示例的示意性说明图;
图16是在原理上示出实施例中所说明的多处理器系统的故障保护功能的说明图;以及
图17是在原理上示出常规故障保护功能的说明图。
具体实施方式
1.实施例的概述
首先,将说明对本申请中所公开的实施例的概述。在与实施例有关的概述说明中附图中用括号被提及的附图标志仅例示该附图标志所附接至的组成部件的概念中所包括的实施例。
[1]<使用总线接口单元的处理器单元的故障保护功能>
多处理器系统(MPS_1,MPS_2和MPS_3)包括多个处理器单元(1,2和3)、可由处理器单元访问的总线从模块以及被布置在处理器单元与总线从模块之间的总线接口单元(5,5A和5B)。总线接口单元具有总线访问仲裁电路(15A)和故障保护电路块(70和70A),总线访问仲裁电路(15A)仲裁来自处理器单元的总线访问请求的竞争,故障保护电路块(70和70A)用于实现处理器单元的功能安全。故障保护电路块在规定的处理器单元并行地执行相同的数据处理之后,基于对从多个处理器单元发出的访问请求的非一致性的确定来执行安全措施处理,并且基于从多个处理器单元发出的访问请求的一致性来执行对响应于访问请求而开始访问处理的控制。
因此,可以在没有紧密耦合处理器单元的情况下实现多处理器系统的功能安全。从系统的功能安全的观点来看,在处理器单元侧不需要基于硬件的措施,并且任意地设置存在/不存在通过故障保护功能检查每个相关的处理器单元和待检查的处理器单元的组合也变得可能。另外,处理器单元的操作速度不受故障保护功能的限制。如以上所描述的,增加了对故障保护功能的选择的自由度并且可以降低在多处理器系统上实现故障保护功能的成本。
[2]<与DLS对应的操作中的故障保护控制>
在第1项中,在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求可以通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块响应于第一访问请求和第二访问请求执行共同访问(common access)(B-7和C-38)。在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求不能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块暂停第一访问请求的执行(D-9和B-38),并且在其中第二访问请求直到预定的时间消逝才能够被确定的情况下,释放对第一访问请求的暂停并且响应于第一访问请求和第二访问请求执行共同访问(B-7和C-38),并且在其中第二访问请求直到预定的时间消逝也不能被确定的情况下,执行与第一访问请求相关的安全措施处理(D-10和B-39)。参考图2至图4以及图9至图10。
根据以上内容,可以实现与DLS对应的操作中的故障保护控制。
[3]<访问请求的取消>
在第2项中,与第一访问请求相关的安全措施处理是取消第一访问请求。
根据以上内容,能够在假定如下情况的同时执行动作:其中在仅使得异常总线访问无效时能够暂停对异常的扩展。
[4]<给处理器单元的操作停止指令>
在第2项中,与第一访问请求相关的安全措施处理是给作为第一访问请求的发出源的处理器单元的操作停止指令。
据此,能够在假定如下情况的同时执行动作:其中必须阻止异常总线访问请求的发出源的操作贡献。
[5]<给处理器单元的重置处理指令>
在第2项中,与第一访问请求相关的安全措施处理是给作为第一访问请求的发出源的处理器单元的重置处理指令。
据此,能够在假定如下情况的同时执行动作:其中必须重置异常总线访问请求的发出源并且必须继续操作。
[6]<给多处理器系统的外部的错误通知>
在第3项至第5项中的任一项中,与第一访问请求相关的安全措施处理还包括给多处理器系统的外部的错误通知。
据此,能够在假定如下情况的同时执行动作:其中处理器单元的异常扩展至多处理器系统的外部。
[7]<与TMR对应的操作中的故障保护控制的第一形式>
在第1项中,在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块响应于第一访问请求、第二访问请求和第三访问请求执行共同访问(B-17)。在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块暂停第一访问请求的执行(B-16),并且在其中第二访问请求和第三访问请求二者直到预定的时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问(B-17)。在其中第二访问请求和第三访问请求二者之一直到预定的时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问(B-17),并且执行与第二访问请求或第三访问请求中不能够被确定的另一访问请求相关的安全措施处理(D-19和E-20)。在其中第二访问请求和第三访问请求二者直到预定的时间消逝也不能被确定的情况下,故障保护电路块执行与第一访问请求、第二访问请求和第三访问请求相关的安全措施处理(C-18)。参考图5至图7。
据此,可以实现与TMR对应的操作中的故障保护控制。
[8]<访问请求的取消>
在第7项中,与访问请求相关的安全措施处理是取消对应的访问请求。
根据以上内容,能够在假定如下情况的同时执行动作:其中在仅使得异常总线访问无效时能够暂停对异常的扩展。
[9]<给处理器单元的操作停止指令>
在第7项中,与访问请求相关的安全措施处理是给作为对应的访问请求的发出源的处理器单元的操作停止指令。
根据以上内容,能够在假定如下情况的同时执行动作:其中必须阻止异常总线访问请求的发出源的操作贡献。
[10]<给处理器单元的重置处理指令>
在第7项中,与访问请求相关的安全措施处理是给作为对应的访问请求的发出源的处理器单元的重置处理指令。
根据以上内容,能够在假定如下情况的同时执行动作:其中必须重置异常总线访问请求的发出源并且必须继续操作。
[11]<给多处理器系统的外部的错误通知>
在第8项至第10项中的任一项中,与访问请求相关的安全措施处理还包括给多处理器系统的外部的错误通知。
根据以上内容,能够在假定如下情况的同时执行动作:其中处理器单元的异常扩展至多处理器系统的外部。
[12]<与TMR对应的操作中的故障保护控制的第二形式>
在第1项中,在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块响应于第一访问请求、第二访问请求和第三访问请求执行共同访问(C-38)。在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块暂停第一访问请求的执行(B-38),并且在其中第二访问请求和第三访问请求直到第一时间消逝才能够被确定(B-37)的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问(C-38)。在其中第二访问请求和第三访问请求二者之一直到第一时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问并且将访问结果保持在缓冲器中(D-39和D-41),并且此外在其中第二访问请求或第三访问请求中的另一访问请求直到第二时间消逝才能够被确定(D-43)的情况下,故障保护电路块作为对与一致性相关的访问结果进行响应的结果,执行对将缓冲器中所保持的访问结果返回到相应的访问请求源的控制(F-44),并且在其中第二访问请求或第三访问请求中的另一访问请求直到第二时间消逝也不能被确定的情况下,故障保护电路块作为对与一致性相关的访问结果进行响应的结果,执行对将缓冲器中所保持的访问结果返回到相应的访问请求源的控制(D-48),并且执行与和非一致性相关的访问请求相关的安全措施处理(D-46和D-47)。在其中第二访问请求和第三访问请求二者直到第一时间消逝也不能被确定的情况下,故障保护电路块执行与第一访问请求、第二访问请求和第三访问请求相关的安全措施处理(B-39)。参考图9至图13。
根据以上内容,可以实现与TMR对应的操作中的故障安全控制。特别地,可能在当来自三个处理器单元中的两个处理器单元的访问请求彼此一致的时候执行在前访问处理的同时并且对应于剩余的一个访问请求的一致性/非一致性而确定处理。
[13]<访问请求的取消>
在第12项中,与访问请求相关的安全措施处理是取消对应的访问请求。
根据以上内容,能够在假定如下情况的同时执行动作:其中在仅使得异常总线访问无效时能够暂停对异常的扩展。
[14]<给处理器单元的操作停止指令>
在第12项中,与访问请求相关的安全措施处理是给作为对应的访问请求的发出源的处理器单元的操作停止指令。
根据以上内容,能够在假定如下情况的同时执行动作:其中必须阻止异常总线访问请求的发出源的操作贡献。
[15]<给处理器单元的重置处理指令>
在第12项中,与访问请求相关的安全措施处理是给作为对应的访问请求的发出源的处理器单元的重置处理指令。
根据以上内容,能够在假定如下情况的同时执行动作:其中必须重置异常总线访问请求的发出源并且必须继续操作。
[16]<给多处理器系统的外部的错误通知>
在第13项至第15项中的任一项中,与访问请求相关的安全措施处理还包括给多处理器系统的外部的错误通知。
根据以上内容,能够在假定如下情况的同时执行动作:其中处理器单元的异常扩展至多处理器系统的外部。
[17]<使用总线接口单元用于被指定以便可变的处理器单元的故障保护功能>
多处理器系统(MPS_1,MPS_2和MPS_3)具有多个处理器单元(1至3)、可由处理器单元访问的总线从模块(4)以及被布置在处理器单元与总线从模块之间的总线接口单元(5和5A)。总线接口单元具有总线访问仲裁电路(15)和故障保护电路块(70和70A),总线访问仲裁电路(15)仲裁来自处理器单元的总线访问请求的竞争,故障保护电路块(70和70A)用于实现处理器单元的功能安全。故障保护电路块将多个处理器单元中被指定为可编程的多个处理器单元设置为用于实现功能安全的目标。故障保护电路块在被指定为可编程的规定的处理器单元并行地执行相同的数据处理之后,基于对从多个处理器单元发出的访问请求的非一致性的确定来执行安全措施处理,并且基于从多个处理器单元发出的访问请求的一致性来执行对响应于访问请求而开始访问处理的控制。
根据以上内容,可以在没有紧密耦合处理器单元的情况下实现多处理器系统的功能安全。鉴于系统的功能安全,在处理器单元侧不需要基于硬件的措施,并且任意地设置存在/不存在通过故障保护功能检查每个相关的处理器单元和待检查的处理器单元的组合也变得可能。另外,处理器单元的操作速度不受故障保护功能的限制。由于可以将要成为故障保护的目标的处理器单元指定以便可编程,所以故障保护功能的选择的自由度(诸如故障保护的形式(诸如TMR或DLS)、用于在要成为故障保护目标的多个处理器单元的异常生成之后的指定数据处理和重新配置的故障保护功能的动态实施)取决于指定方法而显著地增加。根据以上内容,可以降低多处理器系统的故障保护功能的成本。
[18]<用于将处理器单元指定以便可编程的控制寄存器>
在第17项中,多处理器系统包括控制寄存器,控制寄存器用于将处理器单元集合指定为用于实现功能安全的目标以便可编程。
根据以上内容,通过指定的处理器单元或者从多处理器系统的外部容易地指定处理器单元成为用于实现功能安全的目标变得可能。
[19]<与所指定的两个处理器单元的DLS对应的操作>
在第18项中,在两个处理器单元被控制寄存器指定时,故障保护电路块执行与双重锁步对应的操作,以作为实现并行地执行相同的数据处理的两个处理器单元的功能安全的处理。
根据以上内容,能够很容易地实现与被指定以便可编程的两个处理器单元的DLS对应的操作。
[20]<与所指定的三个处理器单元的TMR对应的操作>
在第18项中,在三个处理器单元被控制寄存器指定时,故障保护电路块执行与三元多数决定规则对应的操作,以作为实现并行地执行相同的数据处理的三个处理器单元的功能安全的处理。
根据以上内容,可以很容易地实现与被指定以便可编程的三个处理器单元的TMR对应的操作。
[21]<与DLS对应的操作中的故障保护控制>
在第19项中,在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块响应于第一访问请求和第二访问请求执行共同访问。在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求不能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块暂停第一访问请求的执行,并且在其中第二访问请求直到预定的时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于第一访问请求和第二访问请求执行共同访问,并且在其中第二访问请求直到预定的时间消逝也不能被确定的情况下,故障保护电路块执行与第一访问请求相关的安全措施处理。(参考图2至图4以及图9至图10)
根据以上内容,可以实现与DLS对应的操作中的故障保护控制。
[22]<与TMR对应的操作中的故障保护控制的第一形式>
在第20项中,在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块响应于第一访问请求、第二访问请求和第三访问请求执行共同访问。在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块暂停第一访问请求的执行,并且在其中第二访问请求和第三访问请求直到预定的时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问。在其中第二访问请求和第三访问请求二者之一直到预定的时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问,并且执行与第二访问请求或第三访问请求中不能够被确定的另一访问请求相关的安全措施处理。在其中第二访问请求和第三访问请求二者直到预定的时间消逝也不能被确定的情况下,故障保护电路块执行与第一访问请求、第二访问请求和第三访问请求相关的安全措施处理。(参考图5至图7)
根据以上内容,可以实现与TMR对应的操作中的故障安全控制。
[23]<与TMR对应的操作中的故障安全控制的第二形式>
在第20项中,在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块响应于第一访问请求、第二访问请求和第三访问请求执行共同访问。在其中当第一访问请求从处理器单元中的一个处理器单元被发出时、与第一访问请求一致的第二访问请求和第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,故障保护电路块暂停第一访问请求的执行,并且在其中第二访问请求和第三访问请求直到第一时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问。在其中第二访问请求和第三访问请求二者之一直到第一时间消逝才能够被确定的情况下,故障保护电路块释放对第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问并且将访问结果保持在缓冲器中,并且此外在其中第二访问请求或第三访问请求中的另一访问请求直到第二时间消逝才能够被确定的情况下,故障保护电路块作为对与一致性相关的访问结果进行响应的结果,执行对将缓冲器中所保持的访问结果返回到相应的访问请求源的控制,并且在其中第二访问请求或第三访问请求中的另一访问请求直到第二时间消逝也不能被确定的情况下,故障保护电路块作为对与一致性相关的访问结果进行响应的结果,执行对将缓冲器中所保持的访问结果返回到相应的访问请求源的控制,并且执行与和非一致性相关的访问请求相关的安全措施处理。在其中第二访问请求和第三访问请求二者直到第一时间消逝也不能被确定的情况下,故障保护电路块执行与第一访问请求、第二访问请求和第三访问请求相关的安全措施处理。(参考图9至图13)
根据以上内容,可以实现与TMR对应的操作中的故障安全控制。特别地,可能在当来自三个处理器单元中的两个处理器单元的访问请求彼此一致的时候执行在前访问处理的同时并且对应于剩余的一个访问请求的一致性/非一致性而确定处理。
2.实施例的细节
将进一步详细描述实施例。
《多处理器系统MPS_1》
在图1中,示出了多处理器系统的一个示例。图1中的多处理器系统MPS_1具有代表性地示出的处理器单元(PE)1、2和3、单个或多个总线从模块(BSLV)4以及总线接口单元5。多处理器系统MPS_1可以包括单个芯片或者可以包括多个芯片。在多处理器系统MPS_1包括单个芯片时,虽然没有特别限制,然而可以通过使用CMOS集成电路制造技术等使多处理器系统MPS_1形成在一个半导体基底(诸如单晶硅)上。
处理器单元1至3为如下电路模块:其执行程序处理并且用作总线主设备(bus master),被称为例如CPU核、处理器核或加速器;并且处理器单元1至3为如下电路:其可以执行程序以执行所需要的数据处理。
总线从模块4为可由单个或多个处理器单元1至3访问的电路,并且表示例如存储器设备、诸如RAM或电可重写非易失性存储器,并且还表示存储设备、诸如安装在外围电路模块中的寄存器。
总线接口单元5具有总线接口控制功能和故障保护控制功能。总线接口控制功能为例如如下功能:其控制对来自处理器单元1至3的访问请求的仲裁以及访问请求源于访问请求目的地之间的路由。作为总线接口控制功能,例如,可以采用分离传输总线接口功能。故障保护控制功能为用于通过与用于处理器单元1至3的DLS(双重锁步)或者TMR(三元多数决定规则)对应的操作来实现故障保护的控制功能。
在图1中,总线接口单元5具有处理器单元1至3耦合至其的主端口11至13、总线从模块4耦合至其的从端口14以及总线访问仲裁电路15。
主端口11至13中的每个主端口具有访问请求标志(RFLG)20、总线访问请求队列(QREQ)21和访问结果队列(QRSL)22。访问请求标志20为标志寄存器,标志寄存器在存在来自对应的主端口的访问请求时被设置并且在所请求的访问已经完成时被清除。总线访问请求队列21为所谓的FIFO(先进先出)缓冲器,其对总线访问信息、诸如来自对应的主端口的访问目标地址、读取/写入的访问类型以及在写入访问的时候的写入数据进行排队。访问结果队列22为FIFO缓冲器,其对于在总线访问请求队列21中被排队的总线访问请求对应的所获得的访问结果进行排队。访问结果包括访问端信息,访问端信息示出了访问的正常端/异常端以及在读取访问的情况下的读取数据等。
总线访问仲裁电路15经由总线30和31接收由访问请求标志(ARFLG)20所保持的总线访问请求以及由主端口11至13中的每个端口的总线访问请求队列21所保持的总线访问信息,并且确定存在还是不存在访问竞争。当不存在竞争时,总线访问仲裁电路15向从端口14给出应答访问请求的总线访问信息,并且等待来自总线从模块4的访问完成。当其为写入访问时,电路接收访问端信息,而当其为读出时,电路接收访问端信息和读取数据。所接收的信息经由总线32被返回到总线访问请求源的处理器单元,并且被存储在访问结果队列22中。当存在竞争时,总线访问仲裁电路15基于优先权等来仲裁访问请求,并且对一个访问请求执行与以上描述的相同的访问控制处理。虽然没有特别限制,然而,在总线访问请求中包括指定访问请求源的ID信息,并且在总线请求信息中包括指定访问请求源的ID信息和指定访问规范的地址信息。访问端信息和读取数据被给予使用访问请求源的ID信息的对应的主端口。
通过例如三种模式来对于访问请求控制由总线访问仲裁电路15进行的仲裁和路由的访问控制处理:执行/暂停/取消。控制通过与DLS对应的操作和与TMR对应的操作实现故障保护功能。下文中,将详细描述控制功能。
用于通过总线接口单元5来实现故障保护功能的故障保护电路块70包括例如总线访问信息存储电路40、总线访问信息比较器41、总线访问确定/控制电路42、时间测量器件43、控制寄存器44和状态标志寄存器45。
总线访问信息存储电路40保持从主端口11至13向总线31输出的总线访问信息,并且具有被个性化用于主端口11、12和13中的每个主端口的保持区域(第一区域、第二区域和第三区域)。
总线访问信息比较器41对被个性化用于主端口11、12和13中的每个主端口的区域的值进行比较,并且确定第一区域中的信息是否与第二区域中的信息一致、第一区域中的信息是否与第三区域中的信息一致以及第二区域中的信息是否与第三区域中的信息一致。
总线访问确定/控制电路42确定是否存在经由总线30的总线访问请求。应当根据其确定处理器单元的总线访问请求被设置为通过控制寄存器44的控制设置信息可编程的。总线访问确定/控制电路42A通过总线访问信息比较器41输入比较结果51从而确定多个总线访问信息的一致性/非一致性,并且基于确定结果,由控制信号50通过总线访问仲裁电路15控制与访问请求对应的访问控制处理的执行/暂停/取消。另外,当总线访问确定/控制电路42执行取消的访问控制处理时,总线访问确定/控制电路42输出信号53,信号53指令用于与访问请求的请求源对应的处理器单元或者用于要成为访问请求的比较目标的另一处理器单元的中断请求或重置请求。根据控制寄存器44的设置内容来确定信号53的请求是中断请求还是重置请求以及哪个处理器单元为请求指定等。作为用于比较结果51的参考时序,例如,使用时间测量器件43的计时器操作的超时时序。控制寄存器44的设置可以由处理器单元中的任何处理器单元来执行,或者可以由另一逻辑器件来执行。时间测量器件43的计时器时间的设置由控制寄存器44的设置来执行。使用设定计时器时间的计时器开始和结束操作由总线访问确定/控制电路42来执行。状态标志寄存器45保持处理器单元1至3的状态。例如,状态标志寄存器45连同处理器单元的ID一起保持诸如在操作停止期间、在重置处理期间等的状态。
虽然没有特别限制,然而总线访问确定/控制电路42的故障保护控制功能概括性地被分类为与DLS对应的操作和与TMR对应的操作。虽然没有特别限制,然而要执行哪个操作控制由控制寄存器44的模式位的设置来确定。在指定与DLS对应的操作时,例如可以通过控制寄存器44指定要成为访问请求的比较目标的两个处理器单元。在指定与TMR对应的操作时,可以由控制寄存器44指定要成为访问请求的比较目标的三个处理器单元。与要执行哪个操作控制有关的指定不限于以上内容,而是可以被设置成使得在要成为访问请求的比较目标的处理器单元的数目为2时能够指定与DLS对应的操作,并且使得在要成为访问请求的比较目标的处理器单元的数目为3时能够指定与TMR对应的操作。
在专注于如下事实——其中处理器单元的异常产生系统的故障的情况为其中处理器单元向外部执行错误处理的情况——的同时,这里的故障保护控制的基本概念为检测其中被设置为执行相同的程序处理操作的多个处理器单元的访问请求彼此不同的状态以及确定其异常,作为一种用于广泛检测错误的技术。在确定时,在其中两个处理器单元被设置为比较目标的情况下,当存在来自一个处理器单元的访问请求并且来自另一处理器单元的相同的访问请求不存在时,确定这两个访问请求均为异常。通过在将两个处理器单元的组合改为比较目标的同时执行相同的确定若干次,对已经产生故障的处理器单元的指定变得可能。在其中存在来自一个处理器单元的访问请求的情况下,当三个处理器单元被设置为比较目标并且来自另一处理器单元的至少一个访问请求存在时,在上述范围内执行正常访问,而在其中来自剩余的一个处理器单元的访问请求不同的情况下,可以确定上述一个处理器单元处于故障状态。
将说明图1中的多处理器系统MPS_1中被概括性地分类为与DLS对应的操作和与TMR对应的操作的故障安全控制方法的具体示例。在图1的多处理器系统MPS_1中,当处理器单元1至3中的指定处理器单元正常地执行相同的操作时,每个处理器单元被设置为以相同的时序操作。与总线访问相关的相同的时序表示例如当访问请求被执行时,部分处理器单元不预先执行随后的访问请求。
《使用多处理器系统MPS_1的与DLS对应的操作》
在图2至图4中,说明在指定两个处理器单元从而执行与DLS对应的操作时的操作流程。
处理器单元1至3中的所需要的两个处理器单元由控制寄存器44来指定,并且与DLS对应的操作被设置。所指定的两个处理器单元并行地执行相同的程序。
当总线访问根据处理器单元1至3的程序执行以要求的时序被发出(A-1)时,总线接口单元5接收总线访问请求队列(QREQ)21中的请求,并且访问请求标志20被设置(A-2)。总线访问确定/控制电路42基于设定的访问请求标志来确定访问请求是否为要成为与DLS对应的操作的目标的处理器单元(控制寄存器44所指定的处理器单元)的请求(A-3)。
当访问请求不是与DLS对应的操作的目标时,总线访问确定/控制电路42通过信号50来允许总线访问仲裁电路15对访问请求执行仲裁操作并且使得总线访问模块4执行总线访问(A-4)。总线访问仲裁电路15对与访问请求相关的主端口的访问请求队列22中的总线访问的执行结果进行排队,并且使得主端口清除访问请求标志20(A-5)。
另一方面,当访问请求为与DLS对应的操作的目标时,将在总线访问请求队列(QREQ)21中被接收的总线访问信息保持在总线访问信息存储电路40中(B-4)。总线访问信息比较器41将这次所保持的总线访问信息与总线访问信息存储电路40的用于要成为与DLS对应的操作的目标的处理器单元的区域中的信息进行比较(B-5)。作为比较结果,确定这两条总线访问信息是否彼此一致(B-6)。
当步骤B-6中的确定结果表明一致时,由于其表示相同的访问请求已经从作为与DLS对应的操作的目标的两个处理器单元被发出,所以可知总线访问请求为有效的访问请求。因此,总线访问确定/控制电路42通过信号50来使得总线访问仲裁电路15能够从而对访问请求执行仲裁操作以执行总线从模块4的总线访问(B-7)。总线从模块4的总线访问这次变为从两个处理器单元单独发出的访问请求的一个公共总线访问。当时间测量器件43的计时器操作已经开始时,即使在超时之前也清除计时器操作(B-7)。总线访问仲裁电路15对与和DLS对应的操作的目标相关的两个主端口20的结果队列22中的总线访问的执行结果进行排队,并且使得主端口清除与访问请求的一致性相关的访问请求标志20(B-8)。
另一方面,当步骤B-6中的确定结果的结果表明非一致时,确定时间测量器件43的计时器操作是否有效(计时器操作已经开始)(C-7)。当计时器操作无效时,访问请求的非一致确定的即刻例外处理已经被信号53等指定。例如,根据对控制寄存器44的例外处理的指定,执行与和DLS对应的操作相关的另一侧处理器单元的中断请求或重置请求的生成、被制成单个芯片的多处理器系统MPS_1的芯片的外部的例外处理请求或者与访问请求相关的处理器单元的这次操作停止的指令(C-8)。
在其中在步骤C-7通过确定结果确定计时器操作有效的情况下,当计时器操作尚未被激活时,开始计时器操作(D-8),并且确定是否已经通过计时器操作测量指定时间(是否超时)(D-9)。当超时尚未实现时,流程返回到步骤B-5并且重复以上处理,而当超时已经实现时,与步骤C-8的情况一样,用于访问请求的非一致性确定的例外处理已经被信号53等指定,并且例如,执行与和DLS对应的操作相关的其它侧处理器单元的中断请求或重置请求的生成、被制成单个芯片的多处理器系统MPS_1的芯片的外部的例外处理请求或者与访问请求相关的处理器单元的这次操作停止的指令(D-10)。
在图2至图4的流程图中,例如,其中处理器单元1、2被使得并行地以相同的方式操作并且处理器单元3被使得与处理器单元1、2独立地操作的处理步骤的进程形式(以组织方式被示出)如下。
(1)按照步骤A-1、A-2、A-3、A-4和A-5的顺序,通过处理器单元3对总线访问请求执行处理,并且完成总线访问。
(2)在处理器单元1和2正常操作时,按照步骤A-1、A-2、A-3、B-4、B-5和B-6(确定为一致)、B-7和B-8的顺序执行处理,并且完成总线访问。
(3)在其中在处理器单元1和2的异常操作时操作时序不存在差异的情况下,按照步骤A-1、A-2、A-3、B-4、B-5和B-6(确定为非一致)、C-7和C-8的顺序执行处理,并且立刻确定其中总线访问信息非一致的情况为异常并且对错误执行例外处理。
(4)在其中总线访问信息由于处理器单元1和2的异常操作一旦变为非一致并且在规定的时间逝去之后仍然非一致的情况下,按照步骤A-1、A-2、A-3、B-4、B-5和B-6(确定为非一致)、C-7、D-8和D-9(从B5至D9的重复)和D-10的顺序执行处理,并且其中在规定的时间逝去之后总线访问信息仍然非一致的情况被确定为异常,并且对错误执行例外处理。
(5)在其中总线访问信息由于处理器单元1和2的异常操作一旦变为非一致并且在规定的时间逝去之前变为一致的情况下,按照步骤A-1、A-2、A-3、B-4、B-5和B-6(确定为非一致)、C-7、D-8和D-9(从B5至D9的重复)、B-6(确定为一致)、B-7和B-8的顺序执行处理,并且完成总线访问。
《使用多处理器系统MPS_1的与TMR对应的操作》
在图5至图7中,说明了当通过指定三个处理器单元来执行与TMR对应的操作时的操作流程。
处理器单元1至3由控制寄存器44来指定,并且与TMR对应的操作被设置。所指定的三个处理器单元并行地执行相同的程序。
当总线访问根据处理器单元1至3的程序执行以要求的时序被发出(A-11)时,总线接口单元5接收总线访问请求队列(QREQ)21中的请求,并且访问请求标志20被设置(A-12)。总线访问确定/控制电路42基于设定的访问请求标志来确定访问请求是否为要成为与DLS对应的操作的目标的处理器单元(控制寄存器44所指定的处理器单元)的请求(A-13)。
当访问请求不是与TMR对应的操作的目标时,总线访问确定/控制电路42通过信号50来允许总线访问仲裁电路15对访问请求执行仲裁操作并且使得总线访问模块4执行总线访问(A-14)。总线访问仲裁电路15对与访问请求相关的主端口的访问请求队列22中的总线访问的执行结果进行排队,并且使得主端口清除访问请求标志20(A-15)。注意,在图1中的多处理器系统MPS_1的示例中,由于仅三个处理器单元被安装并且与三元多数决定规则对应的操作通过使用三个处理器单元被执行,所以没有生成穿过步骤A-11至A-15的路径的处理。
当访问请求为与TMR对应的操作的目标时,将在总线访问请求队列(QREQ)21中被接收的总线访问信息保持在总线访问信息存储电路40中(B-14)。总线访问信息比较器41将这次所保持的总线访问信息与总线访问信息存储电路40的用于要成为与DLS对应的操作的目标的处理器单元的区域中的信息进行比较(B-15)。作为比较结果,确定这两条总线访问信息是否彼此一致(B-16)。在与TMR对应的操作的模式中,步骤B-16中的确定结果的一致性表示与另外的一条总线访问信息一致,或者与另外的两条总线访问信息一致。确定结果的非一致性表示与另外的一条总线访问信息不一致,或者与另外的两条总线访问信息不一致。也就是说,存在三种结果,使得来自三个处理器单元的所有总线访问请求一致、三个访问请求中的两个访问请求一致以及所有这些都不一致。由于两个访问请求的一致表示一个访问请求的非一致,所以步骤B-16中的确定结果被分支成“一致”和“非一致”二者。注意,在规定的时间逝去的期间通过时间测量器件43的计时器操作来执行步骤B-16中的确定操作,并且省略了对步骤D-8和D-9中所示的处理的说明。
当步骤B-16中的确定结果表明一致时,由于相同的访问请求已经从作为与TMR对应的操作的目标的两个处理器单元被发出,所以可知总线访问请求为有效的访问请求。因此,总线访问确定/控制电路42通过信号50来使得总线访问仲裁电路15能够对访问请求执行仲裁操作并且执行总线从模块4的总线访问(B-17)。总线从模块4的总线访问这次用作从两个或三个处理器单元单独发出的访问请求的一个公共总线访问。当时间测量器件43的计时器操作已经开始时,计时器操作即使在超时之前也被清除(B-17)。总线访问仲裁电路15对与和TMR对应的操作的目标相关的两个或三个主端口20的结果队列22中的总线访问的执行结果进行排队,并且使得主端口清除与访问请求的一致性相关的访问请求标志20(B-18)。
当步骤B-16中的确定结果的结果表明非一致时,确定结果是否与另外的两条总线访问信息一致(即,处于其中并非所有来自三个处理器单元的总线访问请求都不一致)(C-17)。当所有总线访问请求都被确定为不一致时,访问请求的非一致确定的即刻例外处理已经被信号53等指定。例如,根据对控制寄存器44的例外处理的指定,这次执行与和TMR对应的操作相关的另一侧处理器单元的中断请求或重置请求的生成、被制成单个芯片的多处理器系统MPS_1的芯片的外部的例外处理请求或者与访问请求相关的处理器单元的操作停止指令(C-18)。
当步骤C-17中的确定结果为并非所有这些总线访问请求都不一致,即,对于与总线访问信息的非一致相关的一个处理器单元的异常,基于控制寄存器44的设定值来确定是否继续处理器单元的处理。当继续处理被指令时,总线访问确定/控制电路42经由信号50取消与异常相关的处理器单元这次的总线访问请求。根据控制寄存器44的设置,通过信号53将这一状态作为错误通知给其它处理器单元或者多处理器系统MPS_1的外部(D-19)。当继续处理未被指令时,与异常相关的处理器单元的总线访问通过信号53被停止,并且此外,根据控制寄存器44的例外处理的规范,作为错误被通知给其它处理器单元或者被制成单个芯片的多处理器系统MPS_1的外部(E-20)。
注意,在图2至图7的流程图中,A系列的处理步骤编号为用作单个处理器单元的执行路径的路径,B系列的处理步骤编号为在其中多个处理器单元的并行执行产生一致的确定的情况下的路径。C系列的处理步骤编号为产生非一致的错误处理的路径。当所有处理器单元非一致时,不可能继续操作。D系列的处理步骤编号示出如下情况:其中一个处理器单元异常并且在取消总线访问之后能够继续与异常相关的处理器单元的处理。E系列的处理步骤编号示出如下情况:其中一个PE异常,并且与异常相关的处理器单元的总线访问被停止。
根据以上描述的多处理器系统MPS_1,可以获得以下操作效果。在常规技术中,通过使用采用DLS的重复或者采用TMR的三元多数决定规则确定处理器单元的输出来实现的功能安全和操作继续基于硬件。然而,由于组合和配置由硬件来确定,所以必须使得组合和配置冗余,而不管各个用户的使用应用之间的差异,并且另外,通过用户对配置及时地重新配置非常困难。在多处理器系统MPS_1中,可以通过软件在控制寄存器44中通过指定单个处理器单元和要成为目标的处理器单元的组合的、作为建立在总线接口单元中的功能的故障保护功能的有效/无效来以很低的成本任意地实现功能安全和操作连续性。
另外,由于故障保护控制使用软件根据控制寄存器44中用于程序(线程)中的指定处理的设置基于总线访问单元来执行,所以用户可以以任意时序自由地实现功能安全操作。
在包括多个处理器单元的系统的情况下,即使当指定处理器单元中出现问题时,仍然可以基于处理器单元的任意组合来选择与DLS对应的操作或者与TMR对应的操作,并且可以很容易地以很低的成本来执行与故障保护功能相关的重新配置。
《多处理器系统MPS_2》
在图8中,示出了多处理器系统的第二示例。在图1中的多处理器系统的情况下,在与DLS对应的操作和与TMR对应的操作二者中假定如下配置:其中时序被控制使得执行相同的程序的多个处理器单元的并行操作的操作时序相同,因此,上述配置使得要并行操作的多个处理器单元的相同的总线访问请求的发出在命令执行循环的多个时间上不平移。例如,其通过以下方式来实现:使得处理器单元1至3的硬件完全相同或者相同软件的执行。相比较而言,在图8中的多处理器系统MPS_2中,假定如下情况:其中不保证各个处理器单元的操作时序的一致性或者这一保证不充分。
图8中的多处理器系统MPS_2配备有总线接口单元5A,其与图1中的多处理器系统MPS_1的不同之处在于,添加了读取数据保持队列60和总线访问信息保持队列61,并且,据此,新的控制功能被添加至总线访问确定/控制电路42A和总线访问仲裁电路15A。其它配置与多处理器系统MPS_1中的相同,并且具有相同功能的配置被给予相同的标志,并且省略了其详细说明。在图8的多处理器系统MPS_2中,70A示出了用于通过总线接口单元5A实现故障保护功能的故障保护电路块。
总线访问信息保持队列61用作当总线访问信息根据总线访问确定/控制电路42A的控制被保持在总线访问信息存储电路40中时暂时保持总线访问信息的保存区域。例如,总线访问信息保持队列61与总线访问信息比较器41的总线访问信息的一致性相关的两个区域的总线访问信息。因此,总线访问信息比较器41不仅比较被个性化用于主端口11、12和13中的每个主端口的总线访问信息存储区域40的多个区域之间的值从而确定第一区域中的信息与第二区域中的信息是否彼此一致、第一区域中的信息与第三区域中的信息是否彼此一致以及第二区域中的信息与第三区域中的信息是否彼此一致,并且还根据需要比较总线访问信息保持队列61中所保存的两个区域的总线访问信息与总线访问信息存储区域40中的其它区域的总线访问信息。例如,当第一区域和第二区域中与一致性相关的总线访问信息被保存在总线访问信息保持队列61中时,根据需要将总线访问信息与总线访问信息存储区域40的第三区域中的总线访问信息进行比较。
读取数据保持队列60用作根据总线访问确定/控制电路42A的控制暂时保持经由从端口14读取的数据的保存区域。例如,当与TMR对应的操作被指定时,读取数据保持队列60基于与一致性相关的两条总线访问信息保持从总线从模块4读取的数据。在与TMR对应的操作中,当三个处理器单元正常地操作时,个体的总线访问请求彼此一致,但是由于不保证三个处理器单元1至3的操作时序的一致性,所以其被配置为使得虽然假定其中两个处理器单元的总线访问请求彼此一致并且之后另一访问请求在剩余处理器单元的总线访问请求到达之前介入的情况,然而当在这之后剩余处理器单元发出相同的总线访问请求作为与一致性相关的总线访问请求时,通过使用在读取数据保持队列60中被保存的读取数据,消除了重复执行相同的访问的无用性。
总线访问确定/控制电路42A确定是否存在经由总线30的总线访问请求。应当根据其确定处理器单元的总线访问请求被设置为通过控制寄存器44的控制设置信息可编程的。对于要确定的总线访问请求,总线访问确定/控制电路42A输入总线访问信息比较器41的比较结果51从而确定多个总线访问信息的一致性/非一致性,并且基于确定结果,由控制信号50通过总线访问仲裁电路15控制与访问请求对应的访问控制处理的执行/暂停/取消。缓冲器操作为读取数据保持队列60的推入/弹出操作。另外,当总线访问确定/控制电路42执行取消的访问控制处理时,总线访问确定/控制电路42A输出信号53,信号53指令用于与访问请求的请求源对应的处理器单元或者用于要作为访问请求的比较目标的另一处理器单元的中断请求或重置请求。根据控制寄存器44的设置内容来确定信号53的请求是中断请求还是重置请求以及哪个处理器单元为请求指定等等。作为用于比较结果51的参考时序,例如,使用时间测量器件43的计时器操作的超时时序。控制寄存器44的设置可以由处理器单元中的任何处理器单元来执行,或者可以由另一逻辑来执行。时间测量器件43的计时器时间的设置由控制寄存器44的设置来执行。使用设定计时器时间的计时器开始和结束操作由总线访问确定/控制电路42来执行。状态标志寄存器45保持处理器单元1至3的状态。例如,状态标志寄存器45连同处理器单元的ID一起保持诸如在操作停止期间、在重置处理期间等的状态。
总线访问确定/控制电路42A的故障保护控制功能按照与以上相同的方式大体上被分为与DLS对应的操作和与TMR对应的操作,并且例如通过控制寄存器44的模式位的设置被确定。
在专注于如下事实——其中处理器单元的异常产生系统的故障的情况为其中处理器单元向外部执行错误处理的情况——的同时,这里的故障保护控制的基本概念为检测其中被设置为执行相同的程序处理操作的多个处理器单元的访问请求彼此不同的状态以及确定其异常,作为一种用于广泛检测错误的技术。在确定时,在其中两个处理器单元被设置为比较目标的情况下,当存在来自一个处理器单元的访问请求并且来自另一处理器单元的相同的访问请求不存在时,确定这两个访问请求均为异常。通过在将两个处理器单元的组合改为比较目标的同时执行相同的确定若干次,对已经产生故障的处理器单元的指定变得可能。在其中存在来自一个处理器单元的访问请求的情况下,当三个处理器单元被设置为比较目标并且来自另一处理器单元的至少一个访问请求存在时,在上述范围内执行正常访问,而在其中来自剩余的一个处理器单元的访问请求不同的情况下,可以确定上述一个处理器单元处于故障状态。在多处理器系统MPS_2的情况下,假定如下情况:其中不保证各个处理器单元的操作时序一致或者这一保证不充分,因此,当剩余的一个处理器单元在这之后已经执行访问请求时,如下控制被执行:其中已经被保存在总线访问信息保持队列61中的访问信息被设置为用于访问请求信息的一致性确定的比较目标,并且当比较表明一致时,读取数据保持队列60中所保存的数据被用作读取数据。
《多处理器系统MPS_2的故障保护控制操作》
在图9至图13中,说明多处理器系统MPS_2的故障保护控制操作的操作流程。在此,与两个操作对应的处理用一系列操作流程示出,而没有使得与DLS对应的操作的流程和与TMR对应的操作的流程分开。
处理器单元1至3中的所需要的多个(两个或三个)处理器单元由控制寄存器44来指定,与DLS对应的操作或者与TMR对应的操作被设置。所指定的多个处理器单元并行地执行相同的程序。
当总线访问根据处理器单元1至3的程序执行以要求的时序被发出(A-31)时,总线接口单元5A接收总线访问请求队列(QREQ)21中的请求,并且访问请求标志20被设置(A-32)。总线访问确定/控制电路42A基于设定的访问请求标志来确定访问请求是否为要成为与DLS对应的操作或者与TMR对应的操作的目标的处理器单元(控制寄存器44所指定的处理器单元)的请求(A-33)。
当访问请求不是与DLS对应的操作和与TMR对应的操作的目标时,总线访问确定/控制电路42A通过信号50A来使得总线访问仲裁电路15A能够对访问请求执行仲裁操作并且使得总线访问模块4执行总线访问(A-34)。总线访问仲裁电路15A对与访问请求相关的主端口的访问请求队列22中的总线访问的执行结果进行排队,并且使得主端口清除访问请求标志20(A-35)。
另一方面,当访问请求为与DLS对应的操作或者与TMR对应的操作的目标时,将在总线访问请求队列(QREQ)21中被接收的总线访问信息保持在总线访问信息存储电路40中(B-34)。总线访问信息比较器41将这次所保持的总线访问信息与总线访问信息存储电路40的用于要成为与DLS对应的操作或者与TMR对应的操作的目标的处理器单元的区域中的信息进行比较(B-35)。作为比较结果,确定这两条总线访问信息是否彼此一致(B-36)。
当步骤B-6中的确定结果表明非一致性时,时间测量器件43的定时器操作在定时器操作尚未开始的情况下开始(B-37),并且通过定时器操作确定是否已经测量指定时间(超时)(B-38)。当确定没有超时时,步骤返回步骤B-35并且重复以上描述的处理,而当在步骤B-38中确定超时时,通过信号53等指定用于访问请求的非一致性确定的即刻例外处理。例如,根据控制寄存器44的例外处理的指定执行指令,诸如与和DLS对应的操作或者和TMR对应的操作相关的另一侧的处理器单元的中断请求或重置请求的生成;给被制成单个芯片的多处理器系统MPS_2的外部的例外处理请求;或者与访问请求相关的处理器单元的这次操作停止(B-39)。
当步骤B-36中的确定结果表明一致性时,确定要确定的总线访问请求的数目是三个还是更多个以及是否其所有请求尚未被发出(C-37)。也就是说,确定是否与另外两条总线访问信息一致(来自三个处理器单元的所有总线访问请求彼此一致)或者是否与另外一条总线访问信息一致(来自两个处理器单元的总线访问请求彼此一致)。在其中确定结果表明与另外两条总线访问信息一致或者表明与另外一条总线访问信息一致的情况下(C-37中的确定为“否”),相同的总线访问请求已经从作为与DLS对应的操作或者与TMR对应的操作的目标的所有多个处理器单元被发出,因此已知,总线访问请求是有效的访问请求。由此,总线访问确定/控制电路42A通过信号50A使得总线访问仲裁电路15A能够对于访问请求执行仲裁操作并且执行总线从模块4的总线访问(C-38)。对于总线从模块4的总线访问这次用作单独从多个处理器单元发出的访问请求的公共总线访问。总线访问仲裁电路15A对于和DLS或TMR对应的操作的目标相关的多个主端口20的结果队列22中的总线访问的执行结果进行排队,并且使得主端口并且清除与访问请求的一致性相关的访问请求标志20(C-39)。
当步骤C-37中的确定的结果表明既不与另外两条总线访问信息一致也不与另外一条总线访问信息一致,(C-37中的确定结果为“是”),则仅来自三个处理器单元中的两个处理器单元的访问信息在与TMR对应的操作中彼此一致,而剩余一个处理器单元没有发出总线访问请求。在这种情况下,总线访问确定/控制电路42A使得先前已经一致的总线访问信息被保存在总线访问信息保持队列61中,作为要从剩余一个处理器单元输出的总线访问信息的比较目标(D-38)。另外,总线访问确定/控制电路42A通过信号50A使得总线访问仲裁电路15A对于先前已经一致的两个访问请求执行仲裁操作从而执行总线从模块4的总线访问(在前总线访问)(D-39)。
随后,总线访问仲裁电路15A使得与和在前总线访问相关的访问请求对应的两个主端口20的总线请求标志20被清除(D-40),并且当在前总线访问被读取访问时,使得由此被读取的读取数据被保存在读取数据保持队列60中(D-41)。
然后,总线访问仲裁电路15A通过使用总线访问信息保持队列61中所保存的总线访问信息来确定随后的总线访问请求是否为与TMR对应的操作中的剩余的一个访问请求(D-42)。然而,在下面的步骤E-43中确定访问的分类(读取/写入)。当在步骤D-42中确定一致性并且在步骤E-43中确定总线访问为写入访问时,由于必要的写入访问已经完成,所以清除与剩余的一个访问请求相关的访问请求标志20以及由数据保持队列60和61保持的数据(E-44)。当在步骤E-43中确定总线访问为读取访问时,由于已经在读取数据保持队列60中获取到必要的读取数据,所以对于剩余的一个访问请求,向其请求源递送读取数据保持队列60的读取数据(F-44),并且与剩余的一个访问请求和数据保持队列60和61所保持的数据相关的访问请求标志20清除保持数据(F-45)。
在其中访问请求表明在步骤D-42中确定非一致性的情况下,如果尚未激活时间测量器件43的计时器操作,则激活时间测量器件43的计时器操作(D-43),并且确定计时器操作是否已经测量预定时间(超时)(D-44)。当计时器尚未超时时,流程返回到步骤D-42并且重复以上描述的处理。当在步骤D-44中确定超时时,剩余的一个总线访问请求在与TMR对应的操作中不一致,并且向与一致性相关的访问请求源的处理器单元递送根据已经彼此一致的两个总线访问请求事先被保持在读取数据保持队列60中的读取数据(D-48)。接着,根据控制寄存器44的设置确定错误处理的内容(D-45)。即,确定是否要使得以下操作变为可能:继续处理已经产生异常并且尚未发出剩余的一个一致的总线访问请求的处理器单元。当继续被允许时,总线访问确定/控制电路42A通过信号50A使得总线访问仲裁电路15A取消这次与非一致性相关的总线访问请求,并且例如根据对控制寄存器44的例外处理的规范,执行给已经示出与和TMR对应的操作相关的访问请求的一致性的处理器单元的另一侧的处理器单元或者给被制成单个芯片的多处理器系统MPS_2的外部的错误通知(D-46)。另一方面,当继续未被允许时,总线访问确定/控制电路42A停止已经请求与非一致性相关的总线访问的处理器单元的这次随后的总线访问,并且例如根据对控制寄存器44的例外处理的规范,执行给已经示出与和TMR对应的操作相关的访问请求的一致性的处理器单元的另一侧的处理器单元或者给被制成单个芯片的多处理器系统MPS_2的外部的错误通知(D-47)。为了停止处理器单元的后续总线访问,例如可以维持未决状态而不向访问请求返回访问完成通知。备选地,可以返回用于指定操作停止的专用响应线。
根据以上描述的多处理器系统MPS_2,与多处理器系统MPS_1相比获得了以下附加操作效果。也就是说,在多处理器系统MPS_2的情况下,即使当不保证各个处理器单元的操作时序的一致性时,并且即使当这一保证不充分时,可以执行与TMR对应的操作而没有任何问题。
《多处理器系统MPS_3》
如图14中所集合的,图1和图8中说明的多处理器系统MPS_1和MPS_2通过使用总线接口单元5和5A的故障保护电路块(用于总线主设备)70和70A的、与DLS对应的操作或者与TMR对应的操作实现了多个处理器单元1至3的故障保护。MPRT表示主端口,并且SPRT表示从端口。故障保护电路块(用于总线主设备)70和70A在图1的情况下包括总线访问信息存储电路40、总线访问信息比较器41、总线访问确定/控制电路42、时间测量器件43、控制寄存器44和状态标志寄存器45。在图8的情况下,故障保护电路块(用于总线主设备)70和70A包括总线访问信息存储电路40、总线访问信息比较器41、总线访问确定/控制电路42A、时间测量器件43、控制寄存器44、状态标志寄存器45、读取数据保持队列60和总线访问信息保持队列61。在图15中,示出了其中其被扩展至总线从模块侧的应用示例。
图15中说明的多处理器系统MPS_3具有总线接口单元5B,其与总线接口单元5、5A相比不同之处在于,增加了两个从端口(SPR)14_1和14_2以及故障保护电路块(用于总线从设备)71。相同的总线从模块4_1和4_2耦合至从端口(SPR)14_1和14_2。故障保护电路块(用于总线从设备)71对总线从模块4_1和4_2执行故障保护控制。
当用于总线主设备的故障保护电路块70和70A通过以上描述的控制允许响应于处理器单元的访问请求的总线访问时,用于总线从设备的故障保护电路块71向两个从端口14_1和14_2给出访问请求并且使得总线从模块4_1和4_2中的每个总线从模块执行相同的访问操作。用于总线从设备的故障保护电路块71据此从这二者接收访问结果并且确定这些访问结果是否相同。在读取操作的情况下,块确定读取数据是相同的,而在写入操作的情况下,块确定写入操作的最终状态是否是相同的。当状态相同时,执行对于向访问请求源返回访问结果的控制,而当这些表明非一致性时,确定总线从模块4_1或4_2中的任一个处于故障状态,并且向访问请求源等指出模块例外处理,并且另外,向其它处理器单元通知总线从模块4_1和4_2的异常。
因此,连同处理器单元的故障保护一起,还可以执行总线从模块的故障检测。注意,故障检测不限于采用故障保护电路块71,而只要故障检测是采用能够利用ECC等的总线从模块即可,在此省略了其重复描述。
《实施例中的故障保护功能的优越性》
图16是根本上示出以上描述的实施例中所说明的多处理器系统的故障保护功能的说明图。相比较而言,在图17中,根本上示出了常规故障保护功能。
如图17中所说明的,常规DLS或者TMR具有如下基本机制:其中多个处理器单元PE紧密耦合并且相互操作的一致性/非一致性通过逻辑电路来确定,并且其中当确定表明一致性时,请求对于总线接口BIF的总线访问。即,为了保证处理器单元作为基于两个链接的处理器单元的一个总线主设备来操作,这些处理器单元紧密耦合并且非独立。
另一方面,在根据以上描述的实施例的多处理器系统中,根据总线访问请求的一致性/非一致性来确定处理器单元之间的操作的一致性/非一致性,并且由总线接口单元BIU(5,5A和5B)来执行其控制。因此,处理器单元可以彼此独立。
以上描述的差异带来了根据实施例的多处理器系统的以下优势。也就是说,在图17的常规技术中,由于两个处理器单元相互具有关系,因为处理器单元必须可以最高速度操作,所以认为满足以下条件的实现很难:在实现两个处理器单元时既实现高性能又实现功能安全。在本实施例中,由于处理器单元相互仅经由总线接口单元BIU相关,所以对于最高速度的处理器单元之间的时序没有限制,并且例如,速度限制被缓解到总线接口单元BIU与处理器单元PE之间的操作速度点,并且从功能安全的角度来看,对于实现的限制少。
另外,当必须通过紧密耦合来实现TMR或DLS时,故障保护的模式是固定的,由此使得难以实现可编程的故障保护功能,诸如根据处理仅在所需要的处理器单元之间实现故障保护功能,或者仅对于所需要的数据处理执行故障保护。在半导体集成电路持续高度功能化或者逻辑器件规模持续增加的情况下,以这种方式使用控制寄存器的可编程故障保护功能比常规技术具有优势。
如以上所描述的,关于系统的功能安全,不需要对处理器单元侧采取任何措施,并且可以任意设置存在或者不存在通过故障保护功能基于要作为检查目标的总线主单元和处理器单元的组合的检查。因此,故障保护功能的选择自由度很大,并且可以降低用于在实现多个处理器单元的同时配置多处理器系统的实现成本。
由于各个处理器单元是独立的并且故障保护功能由总线接口单元来实现,所以有可能在实现处理器单元时区分操作频率并且缓解在实现各个处理器单元时对于布置区域的限制。就这点而言,合适的实施例是图8中所描述的多处理器系统MPS_2。
不必说,本发明不限于以上描述的实施例,并且可以在不偏离本发明的意图的范围内对本发明进行各种修改。
例如,处理器单元的数目或总线从模块的数目不限于实施例中的数目而可以适当地修改。
此外,总线接口控制功能不限于分离事务总线接口功能而可以是专用总线。
另外,异常出现时的动作不限于取消或停止总线访问,而可以被配置成使得:当在从总线访问请求开始的某个时间期间缺少另一处理器单元的相同的总线访问并且处理器单元被认为出现异常时,对于异常处理器单元执行处理器单元的操作停止、同步时钟的提供的停止或者电源的断电,并且完全从其它处理器单元的操作切断异常处理器单元,并且因此未对其它处理器单元施加异常处理器单元的影响。
此外,与访问请求相关的安全措施处理不限于以上描述的实施例中的那些安全措施处理,安全措施处理还可以是选自以下各项的单个或多个处理:取消由被认为异常的处理器单元发出的访问请求,对作为与其它访问请求不一致的访问请求的发出源的处理器单元的操作停止的指令,重置作为与其它访问请求不一致的访问请求的发出源的处理器单元的处理,以及给多处理器系统的外部的错误通知。

Claims (23)

1.一种多处理器系统,包括:
多个处理器单元;
总线从模块,使得所述总线从模块可由所述处理器单元访问;以及
总线接口单元,被布置在所述处理器单元与所述总线从模块之间,
其中所述总线接口单元具有总线访问仲裁电路和故障保护电路块,所述总线访问仲裁电路仲裁来自所述处理器单元的总线访问请求的竞争,所述故障保护电路块用于实现所述处理器单元的功能安全;以及
其中所述故障保护电路块在规定的所述处理器单元并行地执行相同的数据处理之后,基于对从多个处理器单元发出的访问请求的非一致性的确定来执行安全措施处理,并且基于从所述多个处理器单元发出的所述访问请求的一致性来执行对响应于所述访问请求而开始访问处理的控制。
2.根据权利要求1所述的多处理器系统,
其中所述故障保护电路块:
在其中当第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的第二访问请求能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,响应于所述第一访问请求和所述第二访问请求执行共同访问;以及
在其中当所述第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的所述第二访问请求不能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,暂停所述第一访问请求的执行,并且在其中所述第二访问请求直到预定的时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于所述第一访问请求和所述第二访问请求执行共同访问,并且在其中所述第二访问请求直到预定的时间消逝也不能被确定的情况下,执行与所述第一访问请求相关的所述安全措施处理。
3.根据权利要求2所述的多处理器系统,
其中与所述第一访问请求相关的所述安全措施处理是取消所述第一访问请求。
4.根据权利要求2所述的多处理器系统,
其中与所述第一访问请求相关的所述安全措施处理是给作为所述第一访问请求的发出源的处理器单元的操作停止指令。
5.根据权利要求2所述的多处理器系统,
其中与所述第一访问请求相关的所述安全措施处理是给作为所述第一访问请求的发出源的处理器单元的重置处理指令。
6.根据权利要求3所述的多处理器系统,
其中与所述第一访问请求相关的所述安全措施处理还包括给所述多处理器系统的外部的错误通知。
7.根据权利要求1所述的多处理器系统,
其中所述故障保护电路块:
在其中当第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,响应于所述第一访问请求、所述第二访问请求和所述第三访问请求执行共同访问;
在其中当所述第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的所述第二访问请求和所述第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,暂停所述第一访问请求的执行,并且在其中所述第二访问请求和所述第三访问请求二者直到预定的时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问;
在其中所述第二访问请求和所述第三访问请求二者之一直到所述预定的时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问,并且执行与所述第二访问请求或所述第三访问请求中不能够被确定的另一访问请求相关的所述安全措施处理;以及
在其中所述第二访问请求和所述第三访问请求二者直到所述预定的时间消逝也不能被确定的情况下,执行与所述第一访问请求、所述第二访问请求和所述第三访问请求相关的所述安全措施处理。
8.根据权利要求7所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理是取消对应的访问请求。
9.根据权利要求7所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理是给作为对应的访问请求的发出源的处理器单元的操作停止指令。
10.根据权利要求7所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理是给作为对应的访问请求的发出源的处理器单元的重置处理指令。
11.根据权利要求8所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理还包括给所述多处理器系统的外部的错误通知。
12.根据权利要求1所述的多处理器系统,
其中所述故障保护电路块:
在其中当第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,响应于所述第一访问请求、所述第二访问请求和所述第三访问请求执行共同访问;
在其中当所述第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的所述第二访问请求和所述第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,暂停所述第一访问请求的执行,并且在其中所述第二访问请求和所述第三访问请求直到第一时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的所述访问请求执行共同访问;
在其中所述第二访问请求和所述第三访问请求二者之一直到所述第一时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问并且将访问结果保持在缓冲器中,并且此外在其中所述第二访问请求或所述第三访问请求中的另一访问请求直到第二时间消逝才能够被确定的情况下,作为对与一致性相关的访问结果进行响应的结果,执行对将所述缓冲器中所保持的所述访问结果返回到相应的访问请求源的控制,并且在其中所述第二访问请求或所述第三访问请求中的另一访问请求直到所述第二时间消逝也不能被确定的情况下,作为对与一致性相关的访问结果进行响应的结果,执行对将所述缓冲器中所保持的所述访问结果返回到相应的访问请求源的控制,并且执行与和非一致性相关的访问请求相关的所述安全措施处理;以及
在其中所述第二访问请求和所述第三访问请求二者直到所述第一时间消逝也不能被确定的情况下,执行与所述第一访问请求、所述第二访问请求和所述第三访问请求相关的所述安全措施处理。
13.根据权利要求12所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理是取消对应的访问请求。
14.根据权利要求12所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理是给作为对应的访问请求的发出源的处理器单元的操作停止指令。
15.根据权利要求12所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理是给作为对应的访问请求的发出源的处理器单元的重置处理指令。
16.根据权利要求13所述的多处理器系统,
其中与所述访问请求相关的所述安全措施处理还包括给所述多处理器系统的外部的错误通知。
17.一种多处理器系统,包括:
多个处理器单元;
总线从模块,使得所述总线从模块可由所述处理器单元访问;以及
总线接口单元,被布置在所述处理器单元与所述总线从模块之间,
其中所述总线接口单元具有总线访问仲裁电路和故障保护电路块,所述总线访问仲裁电路仲裁来自所述处理器单元的总线访问请求的竞争,所述故障保护电路块用于实现所述处理器单元的功能安全;
其中所述故障保护电路块将所述处理器单元中被指定为可编程的多个处理器单元设置为用于实现所述功能安全的目标;以及
其中所述故障保护电路块在被指定为可编程的规定的所述处理器单元并行地执行相同的数据处理之后,基于对从多个处理器单元发出的访问请求的非一致性的确定来执行安全措施处理,并且基于从所述多个处理器单元发出的所述访问请求的一致性来执行对响应于所述访问请求而开始访问处理的控制。
18.根据权利要求17所述的多处理器系统,包括控制寄存器,所述控制寄存器用于将处理器单元集合指定为用于实现所述功能安全的目标以便是可编程的。
19.根据权利要求18所述的多处理器系统,
其中在两个处理器单元被所述控制寄存器指定时,所述故障保护电路块执行与双重锁步对应的操作,以作为实现并行地执行相同的数据处理的所述两个处理器单元的功能安全的处理。
20.根据权利要求18所述的多处理器系统,
其中在三个处理器单元被所述控制寄存器指定时,所述故障保护电路块执行与三元多数决定规则对应的操作,以作为实现并行地执行相同的数据处理的所述三个处理器单元的功能安全的处理。
21.根据权利要求19所述的多处理器系统,
其中所述故障保护电路块:
在其中当第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的第二访问请求能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,响应于所述第一访问请求和所述第二访问请求执行共同访问;以及
在其中当所述第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的所述第二访问请求不能够通过由规定的两个处理器单元并行执行相同的数据处理而被确定的情况下,暂停所述第一访问请求的执行,并且在其中所述第二访问请求直到预定的时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于所述第一访问请求和所述第二访问请求执行共同访问,并且在其中所述第二访问请求直到预定的时间消逝也不能被确定的情况下,执行与所述第一访问请求相关的所述安全措施处理。
22.根据权利要求20所述的多处理器系统,
其中所述故障保护电路块:
在其中当第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,响应于所述第一访问请求、所述第二访问请求和所述第三访问请求执行共同访问;
在其中当所述第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的所述第二访问请求和所述第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,暂停所述第一访问请求的执行,并且在其中所述第二访问请求和所述第三访问请求直到预定的时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问;
在其中所述第二访问请求和所述第三访问请求二者之一直到所述预定的时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问,并且执行与所述第二访问请求或所述第三访问请求中不能够被确定的另一访问请求相关的所述安全措施处理;以及
在其中所述第二访问请求和所述第三访问请求二者直到所述预定的时间消逝也不能被确定的情况下,执行与所述第一访问请求、所述第二访问请求和所述第三访问请求相关的所述安全措施处理。
23.根据权利要求20所述的多处理器系统,
其中所述故障保护电路块:
在其中当第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的第二访问请求和第三访问请求能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,响应于所述第一访问请求、所述第二访问请求和所述第三访问请求执行共同访问;
在其中当所述第一访问请求从所述处理器单元中的一个处理器单元被发出时、与所述第一访问请求一致的所述第二访问请求和所述第三访问请求不能够通过由规定的三个处理器单元并行执行相同的数据处理而被确定的情况下,暂停所述第一访问请求的执行,并且在其中所述第二访问请求和所述第三访问请求直到第一时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的所述访问请求执行共同访问;
在其中所述第二访问请求和所述第三访问请求二者之一直到所述第一时间消逝才能够被确定的情况下,释放对所述第一访问请求的暂停并且响应于与一致性相关的访问请求执行共同访问并且将访问结果保持在缓冲器中,并且此外在其中所述第二访问请求或所述第三访问请求中的另一访问请求直到第二时间消逝才能够被确定的情况下,作为对与一致性相关的访问结果进行响应的结果,执行对将所述缓冲器中所保持的所述访问结果返回到相应的访问请求源的控制,并且在其中所述第二访问请求或所述第三访问请求中的另一访问请求直到所述第二时间消逝也不能被确定的情况下,作为对与一致性相关的访问结果进行响应的结果,执行对将所述缓冲器中所保持的所述访问结果返回到相应的访问请求源的控制,并且执行与和非一致性相关的访问请求相关的所述安全措施处理;以及
在其中所述第二访问请求和所述第三访问请求二者直到所述第一时间消逝也不能被确定的情况下,执行与所述第一访问请求、所述第二访问请求和所述第三访问请求相关的所述安全措施处理。
CN201510085235.XA 2014-02-18 2015-02-16 多处理器系统 Pending CN104850788A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-028319 2014-02-18
JP2014028319A JP6297853B2 (ja) 2014-02-18 2014-02-18 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
CN104850788A true CN104850788A (zh) 2015-08-19

Family

ID=53798240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510085235.XA Pending CN104850788A (zh) 2014-02-18 2015-02-16 多处理器系统

Country Status (3)

Country Link
US (2) US9846666B2 (zh)
JP (1) JP6297853B2 (zh)
CN (1) CN104850788A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355543A (zh) * 2015-07-15 2017-01-25 瑞萨电子株式会社 数据处理系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018041311A (ja) 2016-09-08 2018-03-15 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム及び車両制御システム
US11226918B2 (en) * 2017-12-08 2022-01-18 Hewlett-Packard Development Company, L.P. Blocking systems from responding to bus mastering capable devices
JP7236811B2 (ja) 2018-03-30 2023-03-10 株式会社デンソー 情報処理装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
CN1841350A (zh) * 2005-03-30 2006-10-04 佳能株式会社 仲裁器和控制仲裁器的方法以及信息处理装置
US20070033511A1 (en) * 2005-08-05 2007-02-08 Davies Steven P Methods and apparatus for processor system having fault tolerance
US20080005435A1 (en) * 2006-06-23 2008-01-03 Samsung Electronics Co., Ltd. Bus arbitration system, medium, and method
CN101164051A (zh) * 2005-03-01 2008-04-16 高通股份有限公司 总线访问仲裁方案
US20090063724A1 (en) * 1999-06-22 2009-03-05 Pechanek Gerald G System core for transferring data between an external device and memory
CN102112972A (zh) * 2008-08-07 2011-06-29 日本电气株式会社 多处理器系统及其控制方法
CN102934102A (zh) * 2010-05-26 2013-02-13 日本电气株式会社 多处理器系统、执行控制方法和执行控制程序
CN103218343A (zh) * 2013-03-28 2013-07-24 上海大学 采用数据驱动机制多处理器间数据通信电路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221369A (ja) * 1995-02-09 1996-08-30 Nec Eng Ltd マルチ情報処理システム
JPH08278898A (ja) 1995-04-05 1996-10-22 Mitsubishi Electric Corp Cpu判定装置
JP4819707B2 (ja) * 2007-01-18 2011-11-24 Necエンジニアリング株式会社 冗長演算システムよび演算部
JP2011145900A (ja) * 2010-01-14 2011-07-28 Toyota Motor Corp マルチプロセッサ装置
JP2011248809A (ja) * 2010-05-31 2011-12-08 Nec Engineering Ltd 冗長演算システム
JP5874492B2 (ja) * 2012-03-29 2016-03-02 株式会社ソシオネクスト フォールトトレラント制御装置、フォールトトレラントシステムの制御方法
JP2013242746A (ja) 2012-05-22 2013-12-05 Nec Commun Syst Ltd 故障検出システムと方法並びに半導体装置
US9128838B2 (en) * 2013-08-02 2015-09-08 Infineon Technologies Ag System and method of high integrity DMA operation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US20090063724A1 (en) * 1999-06-22 2009-03-05 Pechanek Gerald G System core for transferring data between an external device and memory
CN101164051A (zh) * 2005-03-01 2008-04-16 高通股份有限公司 总线访问仲裁方案
CN1841350A (zh) * 2005-03-30 2006-10-04 佳能株式会社 仲裁器和控制仲裁器的方法以及信息处理装置
US20070033511A1 (en) * 2005-08-05 2007-02-08 Davies Steven P Methods and apparatus for processor system having fault tolerance
US20080005435A1 (en) * 2006-06-23 2008-01-03 Samsung Electronics Co., Ltd. Bus arbitration system, medium, and method
CN102112972A (zh) * 2008-08-07 2011-06-29 日本电气株式会社 多处理器系统及其控制方法
CN102934102A (zh) * 2010-05-26 2013-02-13 日本电气株式会社 多处理器系统、执行控制方法和执行控制程序
CN103218343A (zh) * 2013-03-28 2013-07-24 上海大学 采用数据驱动机制多处理器间数据通信电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355543A (zh) * 2015-07-15 2017-01-25 瑞萨电子株式会社 数据处理系统
CN106355543B (zh) * 2015-07-15 2021-08-10 瑞萨电子株式会社 数据处理系统

Also Published As

Publication number Publication date
JP2015153282A (ja) 2015-08-24
US9846666B2 (en) 2017-12-19
US10102166B2 (en) 2018-10-16
US20150234760A1 (en) 2015-08-20
JP6297853B2 (ja) 2018-03-20
US20180067882A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
JP6496562B2 (ja) 半導体装置、診断テスト方法及び診断テスト回路
EP3663920B1 (en) Buffer checker
EP2642392B1 (en) Semiconductor integrated circuit device and system using the same
JP2000040073A (ja) マルチプロセッサ・コンピュ―タ・システムのためのi/o処理
CA2549540C (en) A task management control apparatus and method
JP2000040076A (ja) 多重コンピュ―タ・プロセスの制御
GB2579590A (en) Workload repetition redundancy
CN104850788A (zh) 多处理器系统
JPS5968004A (ja) 車載用コンピユ−タのフエイルセ−フ方法
US20150046759A1 (en) Semiconductor integrated circuit device
CN104346306B (zh) 高完整性dma操作的系统和方法
JP5699896B2 (ja) 情報処理装置、異常判定方法
US11940866B2 (en) Verifying processing logic of a graphics processing unit
EP4390686A1 (en) Scheduling of duplicate threads
US20240231832A1 (en) Scheduling of duplicate threads
US20240231900A1 (en) Scheduling of duplicate threads
US20150052307A1 (en) Processor and control method of processor
KR102476933B1 (ko) 인터커넥트 및 인터커넥트의 작동방법
CN110462603B (zh) 微型计算机
CN118227278A (zh) 重复线程的调度
GB2619989A (en) Scheduling of duplicate threads
US20240231981A1 (en) Verifying processing logic of a graphics processing unit
JP7497729B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP5087884B2 (ja) データ処理ユニット、およびこれを使用したデータ処理装置
Schneider et al. Multicore vs safety

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information

Address after: Tokyo, Japan, Japan

Applicant after: Renesas Electronics Corporation

Address before: Kanagawa

Applicant before: Renesas Electronics Corporation

COR Change of bibliographic data
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20191022