JP6368034B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP6368034B2
JP6368034B2 JP2017507143A JP2017507143A JP6368034B2 JP 6368034 B2 JP6368034 B2 JP 6368034B2 JP 2017507143 A JP2017507143 A JP 2017507143A JP 2017507143 A JP2017507143 A JP 2017507143A JP 6368034 B2 JP6368034 B2 JP 6368034B2
Authority
JP
Japan
Prior art keywords
circuit
inspection
signal
main body
asynchronous transfer
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
JP2017507143A
Other languages
English (en)
Other versions
JPWO2016151674A1 (ja
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 JPWO2016151674A1 publication Critical patent/JPWO2016151674A1/ja
Application granted granted Critical
Publication of JP6368034B2 publication Critical patent/JP6368034B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • 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
    • 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/1608Error detection by comparing the output signals of redundant 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
    • 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/566Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、機能安全のために二重化された論理回路と、非同期で動作する他の論理回路との間の非同期データ転送回路を備えるデータ処理装置に適用して有効な技術に関する。
高性能なCPU(Central Processing Unit)コアなどの高い周波数のクロックで動作する論理回路は、他の論理回路の動作クロックとの間の関係を非同期とすることで、周波数の向上を狙う場合が多い。例えば、CPUとオンチップバスとの界面では、非同期バスブリッジを挿入しCPUクロックとバスクロックを非同期にすることでCPUの動作周波数を高速化する。
また、高信頼を求められる車載などの分野における回路の一部についてはDCLS(Dual-Core Lock-Step)で回路を二重化するなど、回路の冗長化を行なうことで、システム動作時の故障を検出し安全に停止等が行なえるようなシステム構成を取ることで安全性を確保する。例えばDCLS構成を用いてCPU等の回路を二重化すると、二重化されたCPUの出力信号を逐次比較する。このため、一方のCPUに一時的または永続的な故障が発生した場合、即座に異常の発生を検知することができる。ただし、二重化による二者の比較では異常の検出に留まり、バックアップや復旧などの処理は別途行われる。車載に必要とされる安全性は、ASIL(Automotive Safety Integrity Level)等で規格化されており、これを満足するために、CPUの二重化技術等が利用される。
高性能と高信頼の両立が求められるデータ処理装置について本発明者が検討した結果、以下のような新たな課題があることがわかった。
二重化された2個の回路は、同一のデータ処理を同時に並列して実行しており、同一の処理結果であると期待され同時に出力される出力どうしが互いに比較され、不一致の場合には少なくとも一方の回路が故障した異常として検出される。二重化された当該2個の回路は、同一のクロックドメインで同期して動作しており、「同時」とは同一クロックサイクルであることを意味する。ここで、二重化において「同時」であることは必ずしも必須ではなく、所定の時間差(サイクル数の差)が保たれていても良い。しかしここでは説明を簡略化するために、二重化された2個の回路では同一のデータ処理が同時に並列して実行されるものとして説明する。
互いに非同期の2個のクロックドメインでそれぞれ二重化された2組の回路対の間で、単純に非同期転送回路を2組備えてデータの非同期転送を行う場合について検討する。データを送信する側で二重化された2個の回路からは、故障がなければ同一である2個のデータが送信側クロックに同期して同時に送出される。一方データを受信する側では、送出された当該2個のデータをそれぞれ別の非同期転送回路で転送して、受信側クロックに載せ替えて受信する。送信側クロックと受信側クロックが互いに非同期であると、送信側で同時、即ち送信側クロックの同一サイクルで送出された2個のデータであっても、受信側では受信側クロックの同一サイクルで受信されるとは限らない。全く同一の非同期転送回路を備えていても、送信側クロックと受信側クロックが非同期であるために、受信側でのデータの取り込みタイミングを完全に一致させることはできずゆらぎを生じるからである。そのため、受信側の2重化された回路対に対するデータの入力は、同時に行われるべきところ、受信タイミングのゆらぎに起因して、異なるサイクルで入力される場合が発生する。受信側回路では同一のデータが同時に入力され同時に同じ処理を並行して実行して同じ結果が出力されることを期待して、2個の回路からの出力が比較されるにもかかわらず、入力されるデータのタイミングにずれが生じると、2個の回路からの出力にもずれが生じ、これが故障として検出されてしまう。
このように、同一のデータが同時に入力され同一の処理が同時に並行して行われることによって同時に同じ結果が出力されることを期待して、2個の回路からの出力が比較される二重化された回路に、二重化された非同期転送回路対を接続すると、期待される同時性が保証されないために、故障が発生していないにも関わらず、誤って故障として検出される恐れがある。同一のデータが所定の時間差で入力され同一の処理が当該時間差を保って並行して行われることによって同じ処理結果が当該時間差を保って出力されることを期待して、2個の回路からの出力が比較される二重化された回路についても同様である。単純に二重化された非同期転送回路対を接続すると、期待される同じ時間差が保証されないために、故障が発生していないにも関わらず、誤って故障として検出される恐れがある。
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、互いに非同期の2つのクロックドメインのそれぞれにおいて二重化された2組の回路対を備えるデータ処理装置において、前記2組の回路対の間に、ペイロード信号を転送するための非同期転送回路を設ける。非同期転送回路は、2組の回路対にそれぞれ接続された2組のブリッジ回路対を備え、ペイロード信号とともに当該ペイロード信号が受信側で安定するタイミングを示す制御信号を非同期転送する。2組のブリッジ回路対とペイロード信号は二重化することができるが、前記制御信号は二重化されず、受信されたペイロード信号を二重化された回路対に対して、期待される同じ時間差で供給するためのタイミング制御に使用される。前記制御信号を検査するための検査用制御信号を追加しても良い。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
図1は、二重化された回路対を含むデータ処理装置の構成例を示すブロック図である。 図2は、非同期転送回路を備えるデータ処理装置の構成例を示すブロック図である。 図3は、それぞれが二重化された2組の回路対の間に、図2に示される非同期転送回路を単純に二重化して備えたデータ処理装置の構成例(比較例)を示すブロック図である。 図4は、実施形態1のデータ処理装置の構成例を示すブロック図である。 図5は、二重化されたCPUとバスを含むデータ処理装置の構成例を示すブロック図である。 図6は、実施形態1の一例として、非同期で動作するCPUとバスがそれぞれ二重化されたデータ処理装置の構成例を示すブロック図である。 図7は、実施形態1のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。 図8は、実施形態2のデータ処理装置に含まれる非同期転送回路の構成例を示すブロック図である。 図9は、実施形態2のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。 図10は、実施形態3のデータ処理装置に含まれる非同期転送回路の構成例を示すブロック図である。 図11は、実施形態3のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。 図12は、実施形態4のデータ処理装置の第1の構成例を示すブロック図である。 図13は、実施形態4のデータ処理装置の第2の構成例を示すブロック図である。 図14は、実施形態4のデータ処理装置の第3の構成例を示すブロック図である。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<それぞれ二重化された2組の回路対間の非同期転送>
本願において開示される代表的な実施の形態は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロックドメイン(ACLK)において二重化された第1本体回路(LRA)と第1検査回路(LCA)と、前記第1クロックドメインとは非同期の第2クロックドメイン(BCLK)において二重化された第2本体回路(LRB)と第2検査回路(LCB)とを備える。また、前記データ処理装置は、前記第1クロックドメインと前記第2クロックドメインとの間でペイロード信号(P)の転送を行う非同期転送回路(1)を備える。
前記非同期転送回路は、前記第1本体回路と前記第1検査回路にそれぞれ接続され前記第1クロックドメインにおいて二重化された第1本体側ブリッジ回路(BRA)と第1検査側ブリッジ回路(BCA)とを備える。また、前記非同期転送回路は、前記第2本体回路と前記第2検査回路にそれぞれ接続され前記第2クロックドメインにおいて二重化された第2本体側ブリッジ回路(BRB)と第2検査側ブリッジ回路(BCB)とを備える。
前記非同期転送回路は、前記ペイロード信号を送出する側の第1又は第2本体側ブリッジ回路によって生成され前記ペイロード信号が受信側で安定するタイミングを示す制御信号(CsAB,CsBA)を有し、前記制御信号と、対応する第1又は第2検査側ブリッジ回路によって生成された検査用制御信号(CsCAB,CsCBA)とを比較し、不一致の場合には故障として検出する。
これにより、非同期のクロックドメインでそれぞれ二重化された回路対の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。非同期で動作させることによって、他方の速度限界に制約されることなく、それぞれのクロックドメインにおいて必要に応じて動作周波数を高くすることができるため、性能を向上することができる。また、非同期転送回路において、前記制御信号が二重化の対象外とされることによって、二重化された関係を保ったままでの非同期転送を可能とし、それ以外のペイロード信号やブリッジ回路などを二重化することができるので、信頼性を向上することができる。
〔2〕<一定の時間差を保って実行される二重化方式(図7)>
項1において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。また、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較(2_3)は、前記第1クロックドメインで行うときには前記第1サイクル数の時間差で行い、前記第2クロックドメインで行うときには前記第2サイクル数の時間差で行う(2_4)。
これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができる。
〔3〕<ペイロード信号を二重化(図8)>
項1において、前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号(PR)と前記制御信号(CsAB,CsBA)とを転送し、前記第1検査側ブリッジ回路は、検査用ペイロード信号(PC)と前記検査用制御信号(CsCAB)を生成し、前記検査用ペイロード信号を前記第2検査側ブリッジ回路に転送する。
前記非同期転送回路は、前記第1クロックドメインで前記制御信号と前記検査用制御信号との前記比較を行い(2_3)、不一致の場合には故障として検出する。
前記非同期転送回路は、前記制御信号を前記第2クロックドメインに転送する。
前記非同期転送回路は、前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信(4_R)し、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信し(4_C)、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
これにより、非同期転送回路において、ペイロード信号が二重化され、信頼性を高めることができる。
〔4〕<一定の時間差を保って実行される二重化方式(図9)>
項3において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較(2_3,2_4)は、前記第1クロックドメインで前記第1サイクル数の時間差で行い、前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
これにより、項2と同様に、非同期転送回路においてペイロード信号が二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
〔5〕<ペイロード信号と制御信号を二重化(図10)>
項1において、前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号(PR)と前記制御信号(CsRAB,CsRBA)とを転送する。
前記第1検査側ブリッジ回路は、検査用ペイロード信号(PC)と前記検査用制御信号(CsCAB,CsCBA)を生成し、前記検査用ペイロード信号と前記検査用制御信号を前記第2検査側ブリッジ回路に転送する。
前記非同期転送回路は、前記第2クロックドメインで前記制御信号と前記検査用制御信号との間で1サイクルまでのずれを許容する比較を行い(2_7)、不一致の場合には故障として検出する。
前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信し(4_R)、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信する(4_C)。前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
これにより、非同期転送回路において、ペイロード信号と制御信号がともに二重化され、信頼性を項3の場合よりも高めることができる。
〔6〕<一定の時間差を保って実行される二重化方式(図11)>
項5において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。
前記制御信号と対応する前記検査用制御信号との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
これにより、項2と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
〔7〕<制御信号は3本の信号間で比較(図10)>
項5において、前記第2本体側ブリッジ回路は、前記ペイロード信号を受信する第2本体側フリップフロップ(4_R)を有し、前記第2検査側ブリッジ回路は、前記検査用ペイロード信号を受信する第2検査側フリップフロップ(4_C)を有する。
前記非同期転送回路は、以下の各信号の3者間の比較を行い(2_7)、少なくともいずれか1つの信号が他の信号と不一致の場合には故障として検出する。各信号とは、前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号(N4−1−1)と、前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号(N4−1−2)と、前記検査用制御信号(N4−2)である。
これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項5の場合よりも高めることができる。
〔8〕<一定の時間差を保って実行される二重化方式(図11)>
項7において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。
前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号(N4−1−1)と対応する前記検査用制御信号(N4−2)との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行う。当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。
前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号(N4−1−2)と対応する前記検査用制御信号(N4−2)との比較は、前記第2クロックドメインで行い、当プラス/マイナス1サイクルの時間差以内で一致するときには一致とし、プラス/マイナス1サイクルの範囲内で不一致の場合に故障として検出する。
前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
これにより、項2と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
〔9〕<故障管理回路(EML: Error Management Logic)>
項1から項8のうちのいずれか1項において、前記データ処理装置は、故障が検出されたことが通知される、故障管理回路(EML)をさらに備える。
これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理(例えば、割り込み、リセットなど)を適切に発生させることができる。
〔10〕<デュアルCPU+デュアルバスブリッジ>
項1から項9のうちのいずれか1項に記載されるデータ処理装置において、前記第1本体回路と前記第1検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるCPUであり、前記第2本体回路と前記第2検査回路とは、それぞれ同一の回路構成によるバスブリッジである。
これにより、デュアルCPU+デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
〔11〕<1チップLSI(Large Scale Integrated circuit)>
項1から項10のうちのいずれか1項において、前記データ処理装置は、単一の半導体基板上に形成される。
これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間での非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
〔12〕<二重化された回路から別の回路への非同期転送(図14)>
別の観点による実施の形態に係る半導体装置は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロック(ACLK)に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路(LRA)と第1検査回路(LCA)とを備える。また、前記データ処理装置は、前記第1クロックとは非同期の第2クロック(BCLK)に同期して動作する第2回路(LB)と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路(1)とを備える。
前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路(BA)と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路(BB)とを備える。前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号(CsAB,CsBA)とで互いに接続される。
前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号(PRA)及び第1本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第1本体側変換回路(BRA)を備える。また、前記第1ブリッジ回路は、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号(PCA)及び第1検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第1検査側変換回路(BCA)を備える。
また、前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号(CsRAB)と前記第1検査側非同期転送制御信号のうち対応する出力信号(CsCAB)とを比較して不一致を検出する第1の比較回路(2_3)とを備える。前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号(CsRAB)を前記非同期転送制御信号のうちの出力信号(CsAB)として前記第2ブリッジ回路に送出する。
前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第2回路に供給する。
これにより、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を送信する場合において、非同期転送回路の一部である、第1本体側変換回路と第1検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
〔13〕<二重化された回路への別の回路からの非同期転送(図12、13)>
さらに別の観点による実施の形態に係る半導体装置は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロック(BCLK)に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路(LRB)と第1検査回路(LCB)と、前記第1クロックとは非同期の第2クロック(ACLK)に同期して動作する第2回路(LA)とを備える。また、前記データ処理装置は、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号(P)の非同期転送を行う非同期転送回路(1)を備える。
前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路(BB)と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路(BA)とを備え。前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号(CsAB,CsBA)とで互いに接続される。
前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号(PRB)及び第1本体側非同期転送制御信号(CsRBA,CsRAB)に変換する第1本体側変換回路(BRB)を備える。また、前記第1ブリッジ回路は、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号(PCB)及び第1検査側非同期転送制御信号(CsCBA,CsCAB)に変換する第1検査側変換回路(BCB)を備える。また、前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号(CsRBA)と前記第1検査側非同期転送制御信号のうち対応する出力信号(CsCBA)とを比較して不一致を検出する第2の比較回路(2_4)を備える。
前記第1ブリッジ回路は、前記第2ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第1本体側変換回路を介して前記第1本体回路に、前記第1検査側変換回路を介して前記第1検査回路にそれぞれ供給する。
これにより、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の一部である、第1本体側変換回路と第1検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
〔14〕<それぞれ二重化された2組の回路対間の非同期転送(図6〜11)>
項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第2本体側変換回路を介して前記第2本体回路に、前記第2検査側変換回路を介して前記第2検査回路にそれぞれ供給する。
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項1と同様に、高性能と高信頼を両立させることができる。
〔15〕<ペイロード信号を二重化(図8、9)>
項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
前記第1ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号(PC)を送信する。
前記第2ブリッジ回路において、前記第2本体側変換回路と前記第2検査側変換回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号をそれぞれ受信する。
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項3と同様に、高性能と高信頼を両立させることができる。
〔16〕<ペイロード信号と制御信号を二重化(図10、11)>
項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号(CsRAB)として前記第2ブリッジ回路に送出し、前記第1本体側ペイロード信号を前記ペイロード信号(PR)として前記第2ブリッジ回路に送出する。前記第1ブリッジ回路は、さらに、前記第1検査側非同期転送制御信号のうちの出力信号を前記検査用非同期転送制御信号(CsCAB)として前記第2ブリッジ回路に送出し、前記第2検査側ペイロード信号を検査用ペイロード信号(PC)として前記第2ブリッジ回路に送出する。
前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)によって示されるタイミングで、前記ペイロード信号を受信して前記第2本体側ペイロード信号として、前記第2本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第2検査側ペイロード信号として、前記第2検査側変換回路に供給する。前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)と、前記検査用非同期転送制御信号のうちの入力信号(CsCAB)とを比較する第3の比較回路(2_7)を備える。
これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項5と同様に、高性能と高信頼を両立させることができる。
〔17〕<非同期転送制御信号は3本の信号間で比較(図10、11)>
項16において、前記第3の比較回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)が前記第1本体側変換回路に供給されるノードの信号と、前記第2検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号(CsCAB)とを比較し、少なくともいずれか1つの信号が他の信号と不一致であることを検出する。
データ処理装置。
これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項16の場合よりも高めることができる。
〔18〕<一定の時間差を保って実行される二重化方式(図7、9、11)>
項12から項17のうちのいずれか1項に記載されるデータ処理装置において、前記第1本体回路と前記第1検査回路は、同一の前記処理を前記第1クロックにおける0サイクル以上の所定のサイクル数の差を保って実行する。
これにより、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
〔19〕<故障管理回路(EML)>
項12から項18のうちのいずれか1項において、前記データ処理装置は、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路(EML)をさらに備える。
これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理(例えば、割り込み、リセットなど)を適切に発生させることができる。
〔20〕<1チップLSI>
項12から項19のうちのいずれか1項において、前記データ処理装置は、単一の半導体基板上に形成される。
これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間、または、デュアルバスブリッジ等の二重化された2回路対と二重化されていない周辺回路モジュール等の間の非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
2.実施の形態の詳細
実施の形態について更に詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
はじめに、解決しようとする課題についてさらに詳しく説明する。
図1は、二重化された回路対を含むデータ処理装置10の構成例を示すブロック図である。データ処理装置10には、二重化されていない通常の2個の論理回路7_1と7_2との間に、二重化された2個(1対)の論理回路LRとLCとが含まれ、それらの出力を比較する比較回路2_1と2_2及び比較結果が不一致である場合にそれが通知される故障管理回路EML(Error Management Logic)が含まれる。図1に示されるデータ処理装置10は、さらに、それぞれが所定段数のフリップフロップから成る、複数の遅延回路6_1〜6_4を含んで構成される。二重化された論理回路の一方である本体側回路LRは「Reference」と呼ばれ「[R]」と略記され、他方の検査側回路LCは「Checker」と呼ばれ「[C]」と略記される。なお、一部の信号線は複数の信号配線からなることを示すバス表記がされているが、単一の信号線についても同様の説明が妥当する。このことは本明細書全体を通して同様である。
一般に、二重化された回路対には、同一の入力が与えられ、同一の処理を並列に実行してそれぞれ得られる結果(出力)どうしが常に比較されているため、本体側回路LRまたは検査側回路LCに何らかの要因で動作不良が発生した場合に、それを故障として検出することができる。二重化されないブロックからの信号は本体側回路LRと検査側回路LCの両方に入力される。本体側回路LRと検査側回路LCの出力信号は本体側回路LRのみが二重化されないブロックに接続され、検査側回路LC側出力は比較のためにのみ使われる。本体側回路LRと検査側回路LCの動作サイクルは、チップレイアウト上の制約(例えば、本体側回路LRと検査側回路LCに対して同じタイミングで信号を供給するのが困難な場合)や動作安全上の制約(例えば、動作エラーが本体側回路LRと検査側回路LCの両方で同時に起こることを避けたいという要求)から、意図的に1〜2サイクルずらすことが多い。この場合、動作をずらすための遅延回路(フリップフロップ)が使われる。二重化されていない回路から検査側回路LC側に入る信号と、本体側回路LRから比較器に入る信号に、これらの遅延回路(フリップフロップ)が挿入される。
図1に示されるデータ処理装置10では、論理回路7_1から本体側回路LRへの入力が遅延回路6_1で所定のサイクル数だけ遅延されて検査側回路LCに入力され、論理回路7_2から本体側回路LRへの入力も同様に、遅延回路6_2で同じサイクル数だけ遅延されて検査側回路LCに入力される。本体側回路LRと検査側回路LCは同じ回路であり、同じ処理を実行するが、入力が上記所定のサイクル数だけずれているので、処理の実行と結果の出力も同じサイクル数だけずれることとなる。本体側回路LRから論理回路7_1への出力は遅延回路6_2で同じサイクル数だけ遅延されて比較回路2_1に入力され、検査側回路LCから論理回路7_1への出力と比較され、本体側回路LRから論理回路7_2への出力は遅延回路6_3で同じサイクル数だけ遅延されて比較回路2_2に入力され、検査側回路LCから論理回路7_2への出力と比較される。比較回路2_1と2_2で検出された不一致は故障管理回路EMLに通知される。故障管理回路EMLは、割り込み処理やリセットなど、故障を検出した場合に実行すべき処理を起動する。
非同期転送について説明する。高速で動作するデータ処理回路間のデータ転送に、非同期ブリッジ(非同期転送回路)を使用することでクロックドメイン間を非同期として扱うことができ、両者の間のタイミングを考慮する必要がなくなる(組合せ回路の論理遅延に対してのケアをする必要がほぼなくなる)。このため、クロック周波数の高速化を見込むことができる。この技術は高速なクロックが必要な場合や、同期したクロックを使うことができない場合に使われる。ただし、タイミングについては全く考慮しないで良いわけではなく、制御信号間の遅延値のずれが一定時間におさまるような制約を設ける場合がほとんどである。
図2は、非同期転送回路1を備えるデータ処理装置10の構成例を示すブロック図である。CPUクロックCPU−CLKに同期して動作するCPU7_3と、バスクロックBUS−CLKに同期して動作するバス(BUS)7_4との間に、非同期転送回路(非同期ブリッジ)1を備える。非同期転送回路1は、CPUクロックCPU−CLKに同期して動作するCPU側ブリッジ回路BAと、バスクロックBUS−CLKに同期して動作するバス側ブリッジ回路BBとを含む。CPU側ブリッジ回路BAはCPU7_3と例えばバスプロトコルで信号の授受を行っており、バス側ブリッジ回路BBはバス7_4と例えば同じ(または異なる)バスプロトコルで信号の授受を行っているものとする。CPU側ブリッジ回路BAからペイロード信号Pをバス側ブリッジ回路BBに転送するとき、ペイロード信号Pが受信されるバス側ブリッジ回路BBで安定するタイミングを示すための制御信号CsABとCsBAが送受される。CPU側ブリッジ回路BAから送信される制御信号CsABは、例えばペイロード信号Pが出力され、安定していることを示すバリッド(Valid)信号であり、バス側ブリッジ回路BBから送信される制御信号CsBAは、例えばペイロード信号Pを受信する準備が整ったことを示すレディ(Ready)信号である。一連のデータが送受されるときには、制御信号CsABとCsBAは、送信するデータのインデックスと受信したデータのインデックスをそれぞれ示す、ポインター(Pointer)であってもよい。CPU側ブリッジ回路BAから送信される制御信号CsABは、バスクロックBUS_CLKドメインで動作するフリップフロップ3_ABで受信され、ペイロード信号Pの取り込みタイミングを生成する組合せ回路5を経てフリップフロップ4に供給される。フリップフロップ3_ABは、非同期信号のメタステーブル抑止のためのフリップフロップであり、2段またはそれ以上の段数のフリップフロップで構成される。この取り込みタイミングは、ペイロード信号PがバスクロックBUS_CLKに対して安定しているタイミングを保証するものである。フリップフロップ3_BAも、非同期信号のメタステーブル抑止のためのフリップフロップであり、2段またはそれ以上の段数のフリップフロップで構成される。フリップフロップ3_BAはバス側ブリッジ回路BBから送信される制御信号CsBAをCPU側ブリッジ回路BAで受信する。制御信号CsABとCsBAは、必ずしも双方向である必要はない。例えば、ペイロードPが送出される周期が一定間隔以上であることが保証される場合には、CsABとしてValid信号のみを使って良いし、CsBAとしてReady信号のみを使ってもよい。図2には、ペイロード信号がCPU側からバス側に転送される場合のみが示されるが、逆方向の非同期転送回路も同様に構成することができる。これらの事項は、実施形態1に限らず全ての実施形態にも同様に妥当する。
非同期転送を含むデータ処理回路を、安全性の観点から二重化する場合について検討する。
図3は、それぞれが二重化された2組の回路対の間に、図2に示される非同期転送回路を備えたデータ処理装置の構成例(比較例)を示すブロック図である。
本体側[R]においては、互いに非同期のクロックACLKとBCLKにそれぞれ同期して動作するACLK側本体回路LRAとBCLK側本体回路LRBとが、ACLK側ブリッジ回路BRAとBCLK側ブリッジ回路BRBとで構成される非同期転送回路で互いに接続されている。ブリッジ回路BRAは制御信号CsRABとペイロード信号PRを送出し、ブリッジ回路BRBは制御信号CsRABをフリップフロップ2_RABで受信し、組合せ回路5_Rによって生成されたタイミング信号によりペイロード信号PRをフリップフロップ4_Rに取り込む。ブリッジ回路BRBは制御信号CsRBAを送出し、ブリッジ回路BRAは制御信号CsRBAをフリップフロップ3_RBAで受信する。
検査側[C]においては、互いに非同期のクロックACLKとBCLKにそれぞれ同期して動作するACLK側検査回路LCAとBCLK側検査回路LCBとが、ACLK側ブリッジ回路BCAとBCLK側ブリッジ回路BCBとで構成される非同期転送回路で互いに接続されている。ブリッジ回路BCAは制御信号CsCABとペイロード信号PCを送出し、ブリッジ回路BCBは制御信号CsCABをフリップフロップ2_CABで受信し、組合せ回路5_Cによって生成されたタイミング信号によりペイロード信号PCをフリップフロップ4_Cに取り込む。ブリッジ回路BCBは制御信号CsCBAを送出し、ブリッジ回路BCAは制御信号CsCBAをフリップフロップ3_CBAで受信する。
ACLK側の本体回路LRAと検査回路LCAは、例えば図1に示されるように二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。BCLK側の本体回路LRBと検査回路LCBも同様に二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。
制御信号CsRAB,CsRBA,CsCAB,CsCBAとペイロード信号PR,PCがACLKドメインとBCLKドメインとの間で非同期転送される信号である。両者のクロック(ACLKとBCLK)は非同期であり、両者の信号間でのタイミングは考慮されないため、本体側[R]と検査側[C]との間で動きがずれてしまう場合がある。制御信号CsRABとCsCABは、ACLKドメインから送出されるので、ACLKについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。ペイロード信号PRとPCについても同様に、ACLKドメインから送出されるので、ACLKについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。しかし、制御信号CsRABがフリップフロップ3_RABによってBCLKドメインに取り込まれるタイミングと、制御信号CsCABがフリップフロップ3_CABによってBCLKドメインに取り込まれるタイミングとは、BCLKドメインにおける同一サイクルとは限らない。非同期転送では、ACLKとBCLKの位相差が任意であるためである。制御信号CsRABとCsCABがBCLKドメインに取り込まれたタイミングが互いに異なると、ペイロード信号PRとPCについても取り込まれるタイミングが互いに異なることとなる。このため、受信したBCLKドメインで二重化されている本体回路LRBと検査回路LCBには、本来同じデータが同じサイクル(又は所定のサイクル数の時間差)で供給されることが期待されるところ、実際に供給されるサイクルにずれが生じてしまい、それに伴って出力にもずれが生じ、その比較結果は不一致となる。
このように、非同期転送回路を含む回路対を単純に二重化しただけでは、本体側[R]と検査側[C]とも論理的に動作に問題がない即ち故障がない場合でも、両者の動きが異なり比較エラーを検出してしまう可能性がある。
〔実施形態1〕<それぞれ二重化された2組の回路対間の非同期転送>
図4は、実施形態1のデータ処理装置10の構成例を示すブロック図である。上記の課題を解決するために、データ処理装置10は、ACLKドメインにおける本体側[RA]と検査側[CA]の二重化とBCLKドメインにおける本体側[RB]と検査側[CB]の二重化とをそれぞれ行うが、非同期転送回路の一部は二重化の対象外としている。即ち、ACLKドメインにおける本体側[RA]は本体回路LRAと本体側ブリッジ回路BRAよりなり、検査側[CA]は検査回路LCAと検査側ブリッジ回路BCAよりなる。BCLKドメインにおける本体側[RB]は本体回路LRBと本体側ブリッジ回路BRBよりなり、検査側[CB]は検査回路LCBと検査側ブリッジ回路BCBよりなる。非同期転送回路1は、本体側[RA]と検査側[CA]に含まれ二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、本体側[RB]と検査側[CB]に含まれ二重化された本体側ブリッジ回路BRBと検査側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BAと4、組合せ回路5、及び比較回路2_3と2_4と2_5を含んで構成される。
ACLKドメインにおいて、本体側ブリッジ回路BRAは制御信号CsRABとペイロード信号PRAを出力し、検査側ブリッジ回路BCAは制御信号CsCABとペイロード信号PCAを出力し、比較回路2_3は制御信号CsRABとCsCABとを比較し、比較回路2_5はペイロード信号PRAとPCAとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ACLKドメインからは、制御信号CsRABが二重化されない制御信号CsABとして送出され、ペイロード信号PRAが二重化されないペイロード信号Pとして送出される。
BCLKドメインでは、二重化されていないフリップフロップ3_ABによって制御信号CsABが取り込まれ、組合せ回路5によって規定されるタイミングによって、フリップフロップ4がペイロード信号Pを取り込む。BCLKドメインに取り込まれた制御信号CsABとペイロード信号Pは、CsRABとPRBとして本体側ブリッジ回路BRBに入力され、CsCABとPCBとして検査側ブリッジ回路BCBに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
BCLKドメインにおいて、本体側ブリッジ回路BRBは制御信号CsRBAを出力し、検査側ブリッジ回路BCBは制御信号CsCBAを出力し、比較回路2_4は制御信号CsRBAとCsCBAとを比較する。上述のように入力された制御信号CsRABとCsCAB、ペイロード信号PRBとPCBにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。BCLKドメインからは、制御信号CsRBAが二重化されない制御信号CsBAとして送出される。ACLKドメインでは、二重化されていないフリップフロップ3_BAによって制御信号CsBAが取り込まれ、CsRBAとCsCBAとして、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAにそれぞれ入力される。
以上述べてきたように、ACLKドメインにおける本体側[RA]と検査側[CA]と、BCLKドメインにおける本体側[RB]と検査側[CB]とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。二重可能対象外とされる回路は、フリップフロップ3_ABと3_BAとフリップフロップ4、及び組合せ回路5であり、二重化された回路の規模と比較して極めて小さいので、これらを二重化の対象外としたことによる故障検出率の低下は極めて限定的である。これにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
以上の説明では、ACLKドメインからBCLKドメインへの転送についてのみ説明したが、逆方向の非同期転送についても同様に構成することができ、同様の効果を奏することができる。
<デュアルCPU+デュアルバスブリッジ>
図5は、二重化されたCPUとバスを含むデータ処理装置の構成例を示すブロック図である。データ処理装置10は、本体側[RA]のCPU−RA(LRA_1)とバス−RA(BUS−RA)、検査側[CA]のCPU−CA(LCA_1)とバス−CA(BUS−CA)、比較回路2_6、故障管理回路EML、及び、二重化されていない他の論理回路7_5を備える。他の論理回路7_5とは、例えばメモリや周辺回路モジュールなどである。論理回路7_5からの入力はバス−RA(BUS−RA)とバス−CA(BUS−CA)を介して並行してCPU−RA(LRA_1)とCPU−CA(LCA_1)とに同一の入力データとして入力される。CPU−RA(LRA_1)とCPU−CA(LCA_1)とは同一の処理を実行しており、故障などがなければ同じ処理結果が出力される。比較回路2_6は、バス−RA(BUS−RA)の出力とバス−CA(BUS−CA)の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路EMLに通知する。故障管理回路EMLは割り込みやリセットなど、故障に対応して予め決められた処理を起動する。図5には全体がACLKドメインで同期動作するデータ処理装置10が示されている。同一のデータが同時に入力された二重化されたCPUとバスは、同時に並列して同じ処理を実行し、同時に同じ処理結果を出力することが期待される。このため、比較回路2_6はバス−RA(BUS−RA)の出力とバス−CA(BUS−CA)の出力との比較を毎サイクル常に行うことによって、単発的な故障も検出することができる。なお、本体側[RA]と検査側[CA]の動作は、図1を引用して説明したように意図的に所定のサイクル数だけずれて同一の処理を実行するように構成してもよい。
全てがACLKドメインで動作するために、上述のように、処理結果の比較のタイミング制御は容易であり、比較回路2_6を毎サイクル常に動作させることにより、常時、故障を監視することができる。一方、CPUとバスとを同じクロックドメインで同期動作させるためには、どちらか低い方の性能限界に合せることとなるため、全体の動作周波数が制限されることとなる。
図6は、実施形態1の一例として、非同期で動作するCPUとバスがそれぞれ二重化されたデータ処理装置10の構成例を示すブロック図である。データ処理装置10は、図5に示したデータ処理装置と同様に、本体側[RA]のCPU−RA(LRA_1)とバス−RA(BUS−RA)、検査側[CA]のCPU−CA(LCA_1)とバス−CA(BUS−CA)、比較回路2_6、故障管理回路EML、及び、例えばメモリや周辺回路モジュールなどの二重化されていない他の論理回路7_5を備える。比較回路2_6は、バス−RA(BUS−RA)の出力とバス−CA(BUS−CA)の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路EMLに通知する。本実施形態1のデータ処理装置10は、本体側[RA]のCPU−RA(LRA_1)と検査側[CA]のCPU−CA(LCA_1)とをACLKドメインにおいて二重化し、本体側[RB]のバス−RA(BUS−RA)と検査側[CB]のバス−CA(BUS−CA)とをBCLKドメインにおいて二重化し、ACLKドメインとBCLKドメインの界面に非同期転送回路1を備える。
非同期転送回路1は、ACLKドメインで二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、BCLKドメインで二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、二重化の対象外であるフリップフロップ3_ABと3_BAとフリップフロップ4、組合せ回路5、及び比較回路2_3と2_4と2_5を含んで構成される。ACLKドメインにおいて、本体側ブリッジ回路BRAは本体側[RA]のCPU−RA(LRA_1)と接続され、検査側ブリッジ回路BCAは検査側[CA]のCPU−CA(LCA_1)と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。BCLKドメインにおいて、本体側ブリッジ回路BRBは本体側[RB]のBUS−RB(LRB)と接続され、検査側ブリッジ回路BCBは検査側[CB]のBUS−CA(LCB)と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。
ACLKドメインにおいて、本体側ブリッジ回路BRAは制御信号CsRABとペイロード信号PRAを出力し、検査側ブリッジ回路BCAは制御信号CsCABとペイロード信号PCAを出力し、比較回路2_3は制御信号CsRABとCsCABとを比較し、比較回路2_5はペイロード信号PRAとPCAとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ACLKドメインからは、制御信号CsRABが二重化されない制御信号CsABとして送出され、ペイロード信号PRAが二重化されないペイロード信号Pとして送出される。
BCLKドメインでは、二重化されていないフリップフロップ3_ABによって制御信号CsABが取り込まれ、組合せ回路5によって規定されるタイミングによって、フリップフロップ4がペイロード信号Pを取り込む。BCLKドメインに取り込まれた制御信号CsABとペイロード信号Pは、CsRABとPRBとして本体側ブリッジ回路BRBに入力され、CsCABとPCBとして検査側ブリッジ回路BCBに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
BCLKドメインにおいて、本体側ブリッジ回路BRBは制御信号CsRABを出力し、検査側ブリッジ回路BCBは制御信号CsCABを出力し、比較回路2_4は制御信号CsRABとCsCABとを比較する。上述のように入力された制御信号CsRABとCsCAB、ペイロード信号PRBとPCBにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。BCLKドメインからは、制御信号CsRBAが二重化されない制御信号CsBAとして送出される。ACLKドメインでは、二重化されていないフリップフロップ3_BAによって制御信号CsBAが取り込まれ、CsRBAとCsCBAとして、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAにそれぞれ入力される。
各比較回路2_3、2_4、2_5及び2_6からの不一致の通知は、故障管理回路EMLに集約され、少なくともいずれか1ヵ所から不一致が通知されたときには、故障管理回路EMLは検出された故障に対応するための処理、例えば割り込みやリセットなどを適切に発生させることができる。
以上述べてきたように、ACLKドメインにおける本体側[RA]CPU−RA(LRA_1)と検査側[CA]CPU−CA(LCA_1)と、BCLKドメインにおける本体側[RB]BUS−RB(LRB)と検査側[CB]BUS−CA(LCB)とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。これにより、デュアルCPU+デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
特に制限されないが、データ処理装置10は、例えば、公知のCMOS(Complementary Metal-Oxide-Semiconductor field effect transistor)LSIの製造技術を用いて、シリコンなどの単一半導体基板上に形成される。
これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間での非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
<一定の時間差を保って実行される二重化方式>
図1を引用して説明したように、二重化された本体側[RA][RB]と検査側[CA][CB]の回路、即ち、回路LRAとLCA,LRBとLCB、CPU−RA(LRA_1)、CPU−CA(LCA_1)、とBUS−RB(LRB)やBUS−CB(LCB)の動作は、同時、即ち同じクロックサイクルではなく、意図的に1〜2サイクルずらすことが多い。
図7は、実施形態1のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。図7には非同期転送回路1のみの構成例が示されており、図4、図6に示されるデータ処理装置10に搭載される非同期転送回路1を置き換えることができる。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BAと4、組合せ回路5、及び比較回路2_3と2_4と2_5を含む。これらの構成と動作は図4、図6に示される非同期転送回路1と同様であるので、説明を省略する。図7に示される別の構成例の非同期転送回路1は、さらに遅延回路6_5〜6_10を備える。
ACLKドメインにおいて、遅延回路6_5は本体[RA]側ブリッジ回路BRAから出力される制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて比較回路2_3に入力する。遅延回路6_6はBCLKドメインから転送されフリップフロップ3_BAで受信した制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて制御信号CsCBAとして検査[CA]側ブリッジ回路BRAに入力する。遅延回路6_7は本体[RA]側ブリッジ回路BRAから出力されるペイロード信号PRAに挿入されており、所定サイクル数の遅延を加えて比較回路2_5に入力する。
BCLKドメインにおいて、遅延回路6_8は本体[RB]側ブリッジ回路BRBから出力される制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて比較回路2_4に入力する。遅延回路6_9はACLKドメインから転送されフリップフロップ3_ABで受信した制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて制御信号CsCABとして検査[CB]側ブリッジ回路BRBに入力する。遅延回路6_10はACLKドメインから転送されフリップフロップ4で受信したペイロード信号に挿入されており、所定サイクル数の遅延を加えてペイロード信号PCBとして検査[CB]側ブリッジ回路BRBに入力する。
遅延回路6_5〜6_7は、それぞれ1〜数段のフリップフロップで構成することができ、ACLKドメインにおいて検査[CA]側回路及びブリッジ回路BCAの動作を、本体[RA]側回路及びブリッジ回路BRAの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_8〜6_10は、それぞれ1〜数段のフリップフロップで構成することができ、BCLKドメインにおいて検査[CB]側回路及びブリッジ回路BCBの動作を、本体[RB]側回路及びブリッジ回路BRBの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_5〜6_7による遅延量(サイクル数)と遅延回路6_8〜6_10による遅延量(サイクル数)とは同じである必要はない。
これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができ、信頼性を向上することができる。本体[RA]側回路と検査[CB]側回路の動作が同時ではないので、本体[RA]側回路と検査[CB]側回路に同時に影響を与える外来雑音が混入した場合にも、その時点で実行している処理は互いに異なるから、雑音によって処理結果に誤りが生じる場合にも誤り方が異なるため、より的確に故障を検出することができる。
〔実施形態2〕<ペイロード信号を二重化>
実施形態1では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、制御信号CsABとCsBA及びペイロード信号Pを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。本実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号Pを二重化することにより、より信頼性を向上させる。
図8は、実施形態2のデータ処理装置10に含まれる非同期転送回路1の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BA、及び比較回路2_3と2_4を含む。これらの構成と動作は図4、図6に示される非同期転送回路1と同様であるので、説明を省略する。図8に示される実施形態2の非同期転送回路1は、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。フリップフロップ3_ABによってBCLKドメインに転送された制御信号CsABは、同じ値のまま本体[RB]側ブリッジ回路BRBの組合せ回路5_Rと検査[CB]側ブリッジ回路BCBの組合せ回路5_Cとにそれぞれ入力される。組合せ回路5_Rと組合せ回路5_Cとは故障がない限り同じ動作を行って、二重化されて転送されて来るペイロード信号PRとPCを、それぞれフリップフロップ4_Rと4_Cでそれぞれ取り込む。ペイロード信号PRとPCはACLKドメインで二重化されている、本体[RA]側回路LRAと検査[CA]側回LCAとからそれぞれ、ブリッジ回路BRAとブリッジ回路BCAを介して出力されており、故障がない限り同じ値であるので、フリップフロップ4_Rと4_Cでそれぞれ取り込まれたペイロード信号も、同じ値であるものと期待される。
以上説明した通り、本実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号PをPRとPCに二重化し、合せてその取り込み回路であるフリップフロップ4_Rと4_C、組合せ回路5_Rと5_Cとをそれぞれ二重化することにより、より信頼性を向上することができる。
<一定の時間差を保って実行される二重化方式>
図9は、実施形態2のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BA、及び比較回路2_3と2_4を含む。さらに、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。これらの構成と動作は図8に示される非同期転送回路1と同様であるので、説明を省略する。図9に示される別の構成例の非同期転送回路1は、さらに遅延回路6_5、6_6、6_8及び6_9を備える。
ACLKドメインにおいて、遅延回路6_5は本体[RA]側ブリッジ回路BRAから出力される制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて比較回路2_3に入力する。遅延回路6_6はBCLKドメインから転送されフリップフロップ3_BAで受信した制御信号CsRBAに挿入されており、当該所定サイクル数の遅延を加えて制御信号CsCBAとして検査[CA]側ブリッジ回路BRAに入力する。
BCLKドメインにおいて、遅延回路6_8は本体[RB]側ブリッジ回路BRBから出力される制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて比較回路2_4に入力する。遅延回路6_9はACLKドメインから転送されフリップフロップ3_ABで受信した制御信号CsRABに挿入されており、当該所定サイクル数の遅延を加えて制御信号CsCABとして検査[CB]側ブリッジ回路BRBに入力する。
遅延回路6_5〜6_6は、それぞれ1〜数段のフリップフロップで構成することができ、ACLKドメインにおいて検査[CA]側回路及びブリッジ回路BCAの動作を、本体[RA]側回路及びブリッジ回路BRAの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_8〜6_9は、それぞれ1〜数段のフリップフロップで構成することができ、BCLKドメインにおいて検査[CB]側回路及びブリッジ回路BCBの動作を、本体[RB]側回路及びブリッジ回路BRBの動作に対して一律に1〜数クロックサイクル遅延させる。遅延回路6_5〜6_6による遅延量(サイクル数)と遅延回路6_8〜6_9による遅延量(サイクル数)とは同じである必要はない。
これにより、本実施形態2に示すようにペイロード信号PRとPCを二重化したデータ処理装置10においても、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式を適用して、信頼性を向上することができる。
〔実施形態3〕<ペイロード信号と制御信号を二重化>
実施形態1では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、制御信号CsABとCsBA及びペイロード信号Pを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号Pを二重化することにより、信頼性をより向上させた。本実施形態3では、さらに制御信号CsAB,CsBAも二重化することにより、信頼性をより向上させる。
図10は、実施形態3のデータ処理装置10に含まれる非同期転送回路1の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとを含む。これらの構成と動作は図4、図6に示される非同期転送回路1と同様であるので、説明を省略する。本実施形態3では、ペイロード信号に加えて制御信号も二重化されるので、本体[RA]側のペイロード信号PRと制御信号CsRAB及びCsRBAが、検査[CA]側のペイロード信号PCと制御信号CsCAB及びCsCBAと二重化される。これに伴って、BCLKドメインでは、制御信号CsRABとCsCABを受信するフリップフロップ3_RABと3_CABが二重化され、ペイロード信号PRとPCを受信するフリップフロップ4_Rと4_C、及びその取り込みタイミングを与える組合せ回路5_Rと5_Cとが、それぞれ二重化されている。非同期転送回路1は、さらに比較回路2_7と2_8を備える。
制御信号CsRABとCsCABとが同じタイミングで遷移する制御信号であっても、それらがフリップフロップ3_RABと3_CABに受信されるタイミングは、必ずしも同じタイミングと限らない。これは、「解決すべき課題」において指摘した通りである。そこで、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号のみを、ペイロード信号PRとPCを受信するタイミングを生成するために組合せ回路5_Rと5_Cの両方に供給し、検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号は、上記本体側の信号との比較にのみ用い、組合せ回路5_Cには供給しない。
比較回路2_7は、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号と検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号とを比較して不一致である場合には、故障として故障管理回路EMLに通知するが、1サイクルのずれは許容する。原理的に1サイクルのずれは、故障が無くても発生する可能性があるので、厳密に比較すると故障でない場合にまで故障に対応する処理が起動されてしまう問題を回避するためである。
比較回路2_7は3入力として、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号のうち、組合せ回路5_Rに入力されるノードN4−1−1と、組合せ回路5_Cに入力されるノードN4−1−2と、検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号のノードN4−2とを比較することができる。ノードN4−1−1とノードN4−2の比較、及び、ノードN4−1−2とノードN4−2の比較は、1サイクルのずれを許容した一致/不一致比較を行い、ノードN4−1−1とノードN4−1−2はサイクルずれを許容しない一致/不一致比較を行い、いずれか1つのノードが他のノードと異なる場合に不一致として検出し、故障管理回路EML(不図示)に通知する。
本体側の制御信号CsRABをフリップフロップ3_RABで受信した信号と検査側の制御信号CsCABをフリップフロップ3_CABで受信した信号とは、上述のように1サイクルのずれが発生する可能性がある。しかし、本体側の制御信号CsRABのみがペイロード信号PRとPCの取り込みタイミングの生成に使用されるので、故障がない限りその取り込みタイミングにサイクルずれが発生することはない。また、検査側の制御信号CsCABをフリップフロップ3_CABで受信した信号は本体側との比較に用いられるが、発生し得る1サイクルのずれは、比較回路2_7によって吸収されるので、誤って故障として検出される問題が回避される。
ACLKドメインにおいて、本体側の制御信号CsRBAをフリップフロップ3_RBAで受信した信号と検査側の制御信号CsCBAをフリップフロップ3_CBAで受信した信号についても、同様に、1サイクルのずれが発生する可能性がある。しかし、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAには、ともに本体側の制御信号CsRBAをフリップフロップ3_RBAで受信した信号が入力されるので、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAの動作、及びその後段の本体側回路と検査側回路の動作は、故障がない限りサイクルずれが発生することはない。また、検査側の制御信号CsCBAをフリップフロップ3_CBAで受信した信号は本体側との比較に用いられるが、発生し得る1サイクルのずれは、比較回路2_8によって吸収されるので、誤って故障として検出される問題が回避される。
これにより、非同期転送回路1において、ペイロード信号と制御信号がともに二重化され、実施形態2の場合よりもさらに信頼性を高めることができる。
<一定の時間差を保って実行される二重化方式>
図11は、実施形態3のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAとフリップフロップ3_RBAと3_CBA、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとフリップフロップ3_RABと3_CAB、及び比較回路2_7と2_8を含む。さらに、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。これらの構成と動作は図10に示される非同期転送回路1と同様であるので、説明を省略する。図9に示される別の構成例の非同期転送回路1は、さらに遅延回路6_6_1、6_6_2、6_9_1及び6_9_2を備える。
ACLKドメインにおいて、検査[CA]側回路LCA(不図示)及びブリッジ回路BCAは、本体[RA]側LRA(不図示)及びブリッジ回路BRAから、1〜複数の一定サイクルの時間差(ずれ)を保って動作しており、遅延回路6_6_1、6_6_2はその一定サイクルの遅延を与える遅延回路である。BCLKドメインにおいて、検査[CB]側回路LCB(不図示)及びブリッジ回路BCBは、本体[RB]側LRB(不図示)及びブリッジ回路BRBから、1〜複数の一定サイクルの時間差(ずれ)を保って動作しており、遅延回路6_9_1、6_9_2はその一定サイクルの遅延を与える遅延回路である。
ACLKドメインにおいて、遅延回路6_6_1と6_6_2はBCLKドメインから転送されフリップフロップ3_RBAで受信した制御信号CsRBAに挿入されており、遅延回路6_6_1は上記一定サイクル数の遅延を加えて比較回路2_8に入力し、遅延回路6_6_2は同じく上記一定サイクル数の遅延を加えて比較回路2_8に入力し、合せてブリッジ回路BCAに入力する。
BCLKドメインにおいて、遅延回路6_9_1と6_9_2はACLKドメインから転送されフリップフロップ3_RABで受信した制御信号CsRABに挿入されている。遅延回路6_9_1は上記一定サイクル数の遅延を加えて比較回路2_7に入力し、遅延回路6_9_2は同じく上記一定サイクル数の遅延を加えて比較回路2_7に入力し、合せてブリッジ回路BCBの組合せ回路5_Cに入力する。
これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができる。
〔実施形態4〕
実施形態1〜3ではACLKドメインの回路とBCLKドメインの回路の両方をそれぞれ二重化の対象としているのに対し、本実施形態4は、一方の回路は別の手段で安全性を確保している状況を想定して、一方だけを二重化する実施の形態である。ここで、安全性を確保する別の手段とは、例えば、定期的なスキャンテストなどによる回路の故障テストである。図12と図13には、二重化されていない側から二重化されている側へペイロード信号を非同期転送する非同期転送回路1が示され、図14には逆に二重化されている側から二重化されていない側へペイロード信号を非同期転送する非同期転送回路1が示される。なお、二重化されていない側を二重化された回路に置き換えることにより、実施形態1〜3で開示した回路と同様に構成することができる。
<二重化された回路への別の回路からの非同期転送>
図12は、実施形態4のデータ処理装置10の第1の構成例を示すブロック図である。
データ処理装置10は、ACLKドメインで動作する論理回路LAと、BCLKドメインで二重化された本体側[RB]回路LRBと検査側[CB]回路LCBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、論理回路LAに接続されACLKドメインで動作するブリッジ回路BAと、BCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BBは、二重化されていないフリップフロップ3_ABと比較回路2_4を備え、また、本体側[RB]回路LRBと検査側[CB]回路LCBにそれぞれ接続され、二重化されて動作するブリッジ回路BRBとBCBとを備える。ブリッジ回路BRBとBCBとは、それぞれペイロード信号Pを受信するフリップフロップ4_Rと4_C、及びそれらに与える取り込みタイミングを生成する組合せ回路5_Rと5_Cとを備える。組合せ回路5_Rと5_Cとは同一の処理を行なう二重化された回路である。
ACLKドメインで動作する論理回路LAからはブリッジ回路BAを介してペイロード信号Pと制御信号CsABが送出され、ブリッジ回路BAはフリップフロップ回路3_BAを備えて、BCLKドメインから転送される制御信号CsBAを受信する。
制御信号CsABは二重化されていないフリップフロップ3_ABによってBCLKドメインで受信され、本体側[RB]ブリッジ回路BRBに入力され、並行して検査側[CB]ブリッジ回路BCBに入力される。単一の信号であるからブリッジ回路BRBとBCBにそれぞれ入力されても時間差(サイクル差)は生じない。故障がない限り、組合せ回路5_Rと5_Cとは同一の取り込みタイミングを、フリップフロップ4_Rと4_Cに与え、二重化されていないペイロード信号Pを、フリップフロップ4_Rと4_Cとで受信する。二重化されていないペイロード信号Pを同一の取り込みタイミングで取り込むので、フリップフロップ4_Rと4_Cによって受信されたペイロード信号には、サイクルずれは発生しない。
本体側[RB]ブリッジ回路BRBが出力する制御信号CsRBAと、検査側[CB]ブリッジ回路BCBが出力する制御信号CsCBAとは、比較回路2_4に入力されて比較され、不一致の場合は故障管理回路EML(不図示)に通知される。本体側[RB]の制御信号CsRBAは、制御信号CsBAとしてACLKドメインに転送され、ブリッジ回路BAのフリップフロップ回路3_BAに入力される。
図13は、実施形態4のデータ処理装置10の第2の構成例を示すブロック図である。
データ処理装置10は、ACLKドメインで動作する論理回路LAと、BCLKドメインで二重化された本体側[RB]回路LRBと検査側[CB]回路LCBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、論理回路LAに接続されACLKドメインで動作するブリッジ回路BAと、BCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BBは、二重化されていないフリップフロップ3_ABと4と組合せ回路5と比較回路2_4とを備え、また、本体側[RB]回路LRBと検査側[CB]回路LCBにそれぞれ接続され、二重化されて動作するブリッジ回路BRBとBCBとを備える。
ACLKドメインで動作する論理回路LAからはブリッジ回路BAを介してペイロード信号Pと制御信号CsABが送出され、ブリッジ回路BAはフリップフロップ回路3_BAを備えて、BCLKドメインから転送される制御信号CsBAを受信する。制御信号CsABは二重化されていないフリップフロップ3_ABによってBCLKドメインで受信され、組合せ回路5と本体側[RB]ブリッジ回路BRBに入力され、並行して検査側[CB]ブリッジ回路BCBに入力される。組合せ回路5はフリップフロップ4にペイロード信号Pの取り込みタイミングを与え、フリップフロップ4に受信されたペイロード信号Pは、ペイロード信号PRBとPCBとしてそれぞれブリッジ回路BRBとBCBに入力される。元々二重化されていない単一の信号であるからブリッジ回路BRBとBCBにそれぞれ入力されても時間差(サイクル差)は原理的に生じない。
本体側[RB]ブリッジ回路BRBが出力する制御信号CsRBAと、検査側[CB]ブリッジ回路BCBが出力する制御信号CsCBAとは、比較回路2_4に入力されて比較され、不一致の場合は故障管理回路EML(不図示)に通知される。本体側[RB]の制御信号CsRBAは、制御信号CsBAとしてACLKドメインに転送され、ブリッジ回路BAのフリップフロップ回路3_BAに入力される。
以上図12と図13を引用して説明したように、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。非同期転送回路の一部である、本体側[RB]ブリッジ回路BRBと検査側[CB]ブリッジ回路BCBが二重化されるからである。
<二重化された回路から別の回路への非同期転送>
図14は、実施形態4のデータ処理装置10の第3の構成例を示すブロック図である。
データ処理装置10は、ACLKドメインで二重化された本体側[RA]回路LRAと検査側[CA]回路LCAと、BCLKドメインで動作する論理回路LBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、ACLKドメインで動作するブリッジ回路BAと、論理回路LBに接続されBCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BAは、二重化されていないフリップフロップ3_BAと比較回路2_3と2_5とを備え、また、本体側[RA]回路LRAと検査側[CA]回路LCAにそれぞれ接続され、二重化されて動作するブリッジ回路BRAとBCAとを備える。ブリッジ回路BRAとBCAとは、それぞれ、制御信号CsRABとCsCAB、ペイロード信号PRAとPCAを出力し、制御信号CsRBAとCsCBAが入力される。制御信号CsRABとCsCABは比較回路2_3に入力され、ペイロード信号PRAとPCAは比較回路2_5に入力され、一方または両方の比較回路で不一致が検出された場合には故障管理回路EML(不図示)に通知される。制御信号CsRBAは制御信号CsABとして、また、ペイロード信号PRAはペイロード信号Pとして、BCLKドメインに転送される。
ブリッジ回路BBは、フリップフロップ3_ABと4と組合せ回路5とを含んで構成される。ACLKドメインから転送される制御信号CsABは、フリップフロップ3_ABで受信され、組合せ回路5に供給される。組合せ回路5は、ACLKドメインに対して出力するCsBAを生成して送出し、また、ペイロード信号Pを取り込むタイミングを、フリップフロップ4に供給する。
ペイロード信号Pが転送されるBCLKドメインは二重化されていないので、そもそもサイクルずれの問題は発生しない一方、ペイロード信号Pを送出する、ACLKドメインのブリッジ回路BRAとBCAは二重化されることにより、信頼性を向上することができる。
<一定の時間差を保って実行される二重化方式>
図12〜14を引用して説明した本実施形態4に係るデータ処理装置10は、図7、9、11と同様の考え方により、遅延回路6を適宜挿入することにより、二重化された回路対における同一のデータ処理が一定の時間差(サイクル数)を保って実行されるように変更することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、非同期転送回路には、転送方向や転送タイミングの異なる他のペイロード信号の転送回路を追加することができる。本体側回路とそれに接続されるブリッジ回路、検査側回路とそれに接続されるブリッジ回路のブロック分割は、便宜的なものであって、適宜変更することができる。
本発明は、機能安全のために二重化された論理回路と、非同期で動作する他の論理回路との間の非同期データ転送回路を備えるデータ処理装置に広く適用することができる。
1 非同期転送回路
2_1〜2_8 比較回路
3_AB,3_BA,3_RAB,3_RBA,3_CAB,3_CBA フリップフロップ
4、4_R,4_C フリップフロップ
5、5_R,5_C 組合せ回路
6_1〜6_10 遅延回路(検査側の動作を所定サイクル数だけずらすための所定段数のフリップフロップ)
10 データ処理装置
LA,LB,7_1〜7_5 論理回路
LR,LRA,LRB 本体回路(R:Reference)
LC,LCA,LCB 検査回路(C:Checker)
BA,BB ブリッジ回路
BRA,BRB 本体側ブリッジ回路
BCA,BCB 検査側ブリッジ回路
P,PR,PC ペイロード信号
CsAB,CsBA,CsRAB,CsRBA,CsCAB,CsCBA 非同期転送制御信号
EML 故障管理回路(Error Management Logic)

Claims (16)

  1. 第1クロックドメインにおいて二重化された第1本体回路と第1検査回路と、前記第1クロックドメインとは非同期の第2クロックドメインにおいて二重化された第2本体回路と第2検査回路と、前記第1クロックドメインと前記第2クロックドメインとの間でペイロード信号の転送を行う非同期転送回路とを備え、
    前記非同期転送回路は、
    前記第1本体回路と前記第1検査回路にそれぞれ接続され前記第1クロックドメインにおいて二重化された第1本体側ブリッジ回路と第1検査側ブリッジ回路と、前記第2本体回路と前記第2検査回路にそれぞれ接続され前記第2クロックドメインにおいて二重化された第2本体側ブリッジ回路と第2検査側ブリッジ回路と、
    前記第1クロックドメインで動作する比較回路と、を備え、
    前記第1本体側ブリッジ回路は、前記ペイロード信号と、当該ペイロード信号が受信側で安定するタイミングを示す制御信号とを前記第2本体側ブリッジ回路及び前記第2検査側ブリッジ回路に出力し、
    前記第1検査側ブリッジ回路は、検査用ペイロード信号と、検査用制御信号とを出力し、
    前記比較回路は、前記制御信号と前記検査用制御信号とを、前記第1クロックドメインのサイクルに基づいて比較する、
    データ処理装置。
  2. 請求項1において、
    前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
    前記比較回路は、前記第1サイクル数の時間差に基づいて比較を行う、
    データ処理装置。
  3. 請求項1において、
    前記第1検査側ブリッジ回路は、前記検査用ペイロード信号を前記第2検査側ブリッジ回路に転送し、
    前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信し、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信し、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する、
    データ処理装置。
  4. 請求項3において、
    前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
    前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
    前記比較回路は前記第1サイクル数の時間差に基づいて比較を行い、
    前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う、
    データ処理装置。
  5. 請求項1において、前記比較回路による比較結果が不一致の時は、故障が検出されたことが通知される、故障管理回路をさらに備える、
    データ処理装置。
  6. 請求項1において、
    前記第1本体回路と前記第1検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるCPUであり、
    前記第2本体回路と前記第2検査回路とは、それぞれ同一の回路構成によるバスブリッジである、
    データ処理装置。
  7. 請求項1において、単一の半導体基板上に形成される、
    データ処理装置。
  8. 第1クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路と第1検査回路と、前記第1クロックとは非同期の第2クロックに同期して動作する第2回路と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
    前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路と、
    前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路とを備え、前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
    前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号及び第1本体側非同期転送制御信号に変換する第1本体側変換回路と、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号及び第1検査側非同期転送制御信号に変換する第1検査側変換回路と、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号と前記第1検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第1の比較回路とを備え、
    前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第2ブリッジ回路に送出し、
    前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2回路に供給する、
    データ処理装置。
  9. 第1クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路と第1検査回路と、前記第1クロックとは非同期の第2クロックに同期して動作する第2回路と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
    前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路と、
    前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路とを備え、前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
    前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号及び第1本体側非同期転送制御信号に変換する第1本体側変換回路と、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号及び第1検査側非同期転送制御信号に変換する第1検査側変換回路と、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号と前記第1検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第2の比較回路とを備え、
    前記第1ブリッジ回路は、前記第2ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第1本体側変換回路を介して前記第1本体回路に、前記第1検査側変換回路を介して前記第1検査回路にそれぞれ供給する、
    データ処理装置。
  10. 請求項8において、
    前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路と第2検査回路とを含み、
    前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号及び第2本体側非同期転送制御信号に変換する第2本体側変換回路と、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号及び第2検査側非同期転送制御信号に変換する第2検査側変換回路とを備え、
    前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2本体側変換回路を介して前記第2本体回路に、前記第2検査側変換回路を介して前記第2検査回路にそれぞれ供給する、
    データ処理装置。
  11. 請求項8において、
    前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路と第2検査回路とを含み、
    前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号及び第2本体側非同期転送制御信号に変換する第2本体側変換回路と、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号及び第2検査側非同期転送制御信号に変換する第2検査側変換回路とを備え、
    前記第1ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号を送信し、前記第2ブリッジ回路において、前記第2本体側変換回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2検査側変換回路も、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信する、
    データ処理装置。
  12. 請求項8において、
    前記第2回路は、第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路と第2検査回路とを含み、
    前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号及び第2本体側非同期転送制御信号に変換する第2本体側変換回路と、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号及び第2検査側非同期転送制御信号に変換する第2検査側変換回路とを備え、
    前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第2ブリッジ回路に送出し、前記第1本体側ペイロード信号を前記ペイロード信号として前記第2ブリッジ回路に送出し、前記第1検査側非同期転送制御信号のうちの出力信号を検査用非同期転送制御信号として前記第2ブリッジ回路に送出し、前記第2検査側ペイロード信号を検査用ペイロード信号として前記第2ブリッジ回路に送出し、
    前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信して前記第2本体側ペイロード信号として、前記第2本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第2検査側ペイロード信号として、前記第2検査側変換回路に供給し、
    前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号と、前記検査用非同期転送制御信号のうちの入力信号とを比較する第3の比較回路を備える、
    データ処理装置。
  13. 請求項12において、
    前記第3の比較回路は、前記非同期転送制御信号のうちの入力信号が前記第1本体側変換回路に供給されるノードの信号と、前記第2検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号とを比較し、少なくともいずれか1つの信号が他の信号と不一致であることを検出する、
    データ処理装置。
  14. 請求項8において、
    前記第1本体回路と前記第1検査回路は、同一の前記処理を前記第1クロックにおける0サイクル以上の所定のサイクル数の差を保って実行する、
    データ処理装置。
  15. 請求項8において、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路をさらに備える、
    データ処理装置。
  16. 請求項8において、単一の半導体基板上に形成される、
    データ処理装置。
JP2017507143A 2015-03-20 2015-03-20 データ処理装置 Active JP6368034B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/058462 WO2016151674A1 (ja) 2015-03-20 2015-03-20 データ処理装置

Publications (2)

Publication Number Publication Date
JPWO2016151674A1 JPWO2016151674A1 (ja) 2017-06-15
JP6368034B2 true JP6368034B2 (ja) 2018-08-01

Family

ID=56977237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017507143A Active JP6368034B2 (ja) 2015-03-20 2015-03-20 データ処理装置

Country Status (7)

Country Link
US (1) US10248156B2 (ja)
EP (1) EP3273353B1 (ja)
JP (1) JP6368034B2 (ja)
KR (1) KR20170130346A (ja)
CN (1) CN106796541B (ja)
TW (1) TW201706843A (ja)
WO (1) WO2016151674A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634960B (zh) * 2015-12-24 2017-04-05 中国科学院计算技术研究所 基于分形树结构的数据发布装置、方法、控制装置及智能芯片
US10303566B2 (en) * 2017-07-10 2019-05-28 Arm Limited Apparatus and method for checking output data during redundant execution of instructions
US10761561B2 (en) * 2018-05-25 2020-09-01 Arm Limited Error checking for primary signal transmitted between first and second clock domains
CN109445855B (zh) * 2018-10-30 2021-11-16 天津津航计算技术研究所 一种用于多路低速外设集成的桥接装置
TWI716074B (zh) 2019-01-16 2021-01-11 開曼群島商創新先進技術有限公司 提升cpu性能的方法及裝置和電子設備
US11424621B2 (en) 2020-01-28 2022-08-23 Qualcomm Incorporated Configurable redundant systems for safety critical applications

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359727A (en) * 1987-04-27 1994-10-25 Hitachi, Ltd. Clock generator using PLL and information processing system using the clock generator
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US6157967A (en) 1992-12-17 2000-12-05 Tandem Computer Incorporated Method of data communication flow control in a data processing system using busy/ready commands
DE69429614T2 (de) * 1994-05-10 2002-09-12 Intel Corporation, Santa Clara Verfahren und Anordnung zur synchronen Datenübertragung zwischen Digitalgeräten, deren Betriebsfrequenzen ein P/Q Integer-Frequenzverhältnis aufweisen
EP0747817B1 (en) * 1995-06-07 2003-09-03 Compaq Computer Corporation Method and apparatus for controlling data communication flow in a fault-tolerant multiprocessor system
ATE215244T1 (de) * 1997-11-14 2002-04-15 Marathon Techn Corp Verfahren zur erhaltung von synchronisierter ausführung bei fehler-betriebssicheren/ fehlertoleranten rechnersystemen
US6963991B2 (en) * 2002-05-31 2005-11-08 Intel Corporation Synchronizing and aligning differing clock domains
JP4048988B2 (ja) * 2003-03-19 2008-02-20 日本電気株式会社 フォルトトレラントシステム及びそれに用いる同期化方法
JP4492035B2 (ja) * 2003-04-21 2010-06-30 日本電気株式会社 データ処理装置
US7194650B2 (en) * 2003-05-09 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for synchronizing multiple synchronizer controllers
US7623482B2 (en) * 2003-05-10 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks including a header block across a clock boundary
US7436917B2 (en) * 2004-07-29 2008-10-14 Hewlett-Packard Development Company, L.P. Controller for clock synchronizer
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
US7116601B2 (en) * 2004-12-28 2006-10-03 Via Technologies, Inc. Pseudo-synchronization of the transportation of data across asynchronous clock domains
US7987385B2 (en) 2007-07-24 2011-07-26 Ge Aviation Systems Llc Method for high integrity and high availability computer processing
WO2009015276A2 (en) * 2007-07-24 2009-01-29 Ge Aviation Systems Llc High integrity and high availability computer processing module
US7984351B2 (en) * 2008-04-10 2011-07-19 Advanced Micro Devices, Inc. Data transfer device and method thereof
JP5380978B2 (ja) 2008-09-26 2014-01-08 富士通株式会社 伝送装置、伝送装置の制御方法および伝送装置の制御プログラム
JP5507830B2 (ja) * 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
JP5585332B2 (ja) * 2010-09-14 2014-09-10 日本電気株式会社 耐故障システム、マスタft制御lsi、スレーブft制御lsiおよび耐故障制御方法

Also Published As

Publication number Publication date
WO2016151674A1 (ja) 2016-09-29
EP3273353A4 (en) 2019-03-06
EP3273353A1 (en) 2018-01-24
KR20170130346A (ko) 2017-11-28
US10248156B2 (en) 2019-04-02
CN106796541A (zh) 2017-05-31
CN106796541B (zh) 2021-03-09
EP3273353B1 (en) 2020-07-29
TW201706843A (zh) 2017-02-16
US20170227981A1 (en) 2017-08-10
JPWO2016151674A1 (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
JP6368034B2 (ja) データ処理装置
US7290169B2 (en) Core-level processor lockstepping
US7237144B2 (en) Off-chip lockstep checking
US7296181B2 (en) Lockstep error signaling
JP5459807B2 (ja) マルチプロセッサデータ処理システムにおけるデバッグシグナリング
US8140893B2 (en) Fault-tolerant system
EP0916119A2 (en) Triple modular redundant computer system
US7568138B2 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
US9477559B2 (en) Control device, control method and recording medium storing program thereof
JPH0548494B2 (ja)
JP2015018414A (ja) マイクロコンピュータ
US5784383A (en) Apparatus for identifying SMP bus transfer errors
US8156371B2 (en) Clock and reset synchronization of high-integrity lockstep self-checking pairs
WO1997043712A2 (en) Triple modular redundant computer system
JP2010102565A (ja) 二重化制御装置
CN110175091B (zh) 一种Lockstep架构下的节点间信号同步方法、装置及电路
JP4962497B2 (ja) クロック監視回路、情報処理装置およびクロック監視方法
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
JPH1011309A (ja) プロセッサ出力比較方法およびコンピュータシステム
JP5604799B2 (ja) フォールトトレラントコンピュータ
JP2023175145A (ja) 半導体装置
JP2023035739A (ja) 半導体装置
JP5104690B2 (ja) フォルト検出回路
JP2005303189A (ja) 半導体集積回路およびその救済方法
Mueller et al. Fully redundant clock generation and distribution with dynamic oscillator switchover

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170216

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180705

R150 Certificate of patent or registration of utility model

Ref document number: 6368034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150