JP6600518B2 - バスシステム - Google Patents

バスシステム Download PDF

Info

Publication number
JP6600518B2
JP6600518B2 JP2015189795A JP2015189795A JP6600518B2 JP 6600518 B2 JP6600518 B2 JP 6600518B2 JP 2015189795 A JP2015189795 A JP 2015189795A JP 2015189795 A JP2015189795 A JP 2015189795A JP 6600518 B2 JP6600518 B2 JP 6600518B2
Authority
JP
Japan
Prior art keywords
master
slave
dummy
master device
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.)
Active
Application number
JP2015189795A
Other languages
English (en)
Other versions
JP2017068345A5 (ja
JP2017068345A (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
Priority to JP2015189795A priority Critical patent/JP6600518B2/ja
Priority to US15/217,982 priority patent/US20170091130A1/en
Priority to CN201610842312.6A priority patent/CN106557446B/zh
Publication of JP2017068345A publication Critical patent/JP2017068345A/ja
Publication of JP2017068345A5 publication Critical patent/JP2017068345A5/ja
Application granted granted Critical
Publication of JP6600518B2 publication Critical patent/JP6600518B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、バスシステムに関する。
バスシステムを構成する一部の装置に故障が発生した場合に、システム全体をリセットするのではなく、故障が発生した装置のみをリセットする方式が従来から知られている(たとえば、特許文献1を参照)。
特開平10−247185号公報
しかしながら、故障が発生していない装置Aが、故障が発生した装置Bに信号を出力しても、故障が発生した装置は、リセット処理を実行中なので、故障が発生した装置は、応答を返すことができない。そのため、装置Aは、応答を待ち続け、あるいは同じ信号の出力を繰り返す。その結果、システム全体の処理が停滞してしまう。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかであろう。
一実施形態のバスシステムは、バスに接続されることが可能な第1のダミーマスタ装置を備える。第1のダミーマスタ装置は、第1のマスタ装置に代わって、有効データがあることを表わす信号を受信したときに、信号の受信が可能なことを表わす信号を出力する。このバスシステムは、さらに、セレクタと、システムコントローラを備える。セレクタは、第1のマスタ装置と第1のダミーマスタ装置のうちのいずれかとバスとを接続する。システムコントローラは、複数のマスタ装置のうち、故障が発生したマスタ装置のみをリセット処理させる。これによって、故障が発生したマスタ装置のみを正常状態に復帰させる。このバスシステムは、さらに、セレクタ制御回路を備える。セレクタ制御回路は、第1のマスタ装置が故障状態のときに、第1のダミーマスタ装置とバスとが接続するようにセレクタを制御する。
一実施形態のバスシステムによれば、スレーブ装置が、有効データがあることを表わす信号を送信しても、信号の受信が可能なことを表わす信号をスレーブ装置が受信できない事態を防止することができる。
第1の実施形態のバスシステムの構成を表わす図である。 第2の実施形態のバスシステムの構成を表わす図である。 第3の実施形態のバスシステムの構成を表わす図である。 システム用ステータスレジスタを説明するための図である。 マスタ装置の処理手順を表わすフローチャートである。 スレーブ装置の処理手順を表わすフローチャートである。 マスタ装置の送信処理および受信処理の手順を表わすフローチャートである。 スレーブ装置の送信処理および受信処理の手順を表わすフローチャートである。 ダミーマスタ装置の送信処理および受信処理の手順を表わすフローチャートである。 ダミースレーブ装置の送信処理および受信処理の手順を表わすフローチャートである。 第3の実施形態のバスシステムの第1の動作例を説明するための図である。 第3の実施形態のバスシステムの第1の動作例を説明するための図である。 第3の実施形態のバスシステムの第2の動作例を説明するための図である。 第3の実施形態のバスシステムの第2の動作例を説明するための図である。 従来の動作例を説明するための図である。 第3の実施形態のバスシステムの第3の動作例を説明するための図である。 第4の実施形態のバスシステムの構成を表わす図である。 第5の実施形態のバスシステムの構成を表わす図である。 マスタ装置の縮退モード時の動作手順を表わすフローチャートである。
以下、本発明の実施形態について図面を用いて説明する。
[第1の実施形態]
図1は、第1の実施形態のバスシステム1の構成を表わす図である。
このバスシステム1は、バス8と、システムコントローラ6と、マスタ装置2−1〜2−nと、スレーブ装置3−1〜3−mと、第1のダミーマスタ装置7と、セレクタ4と、セレクタ制御回路5とを備える。ただし、nは2以上であり、mは1以上である。マスタ装置2−1〜2−nの中の1つが、第1のマスタ装置2−1である。
マスタ装置2−1〜2−nおよびスレーブ装置3−1〜3−mが、バス8に接続されることができる。
システムコントローラ6は、マスタ装置2−1〜2−nのうち、故障が発生したマスタ装置のみをリセット処理させる。これにより、故障が発生した装置のみを正常状態に復帰させる。リセット処理とは、強制的に再起動することをいう。
第1のダミーマスタ装置7は、バス8に接続されることができる。第1のダミーマスタ装置7は、第1のマスタ装置2−1に代わって、有効データがあることを表わす信号を受信したときに、信号の受信が可能なことを表わす信号を出力する。
セレクタ4は、第1のマスタ装置2−1と第1のダミーマスタ装置7のうちのいずれかとバス8とを接続する。
セレクタ制御回路5は、第1のマスタ装置2−1が故障状態のときに第1のダミーマスタ装置7とバス8とが接続するように、セレクタ4を制御する。
第1のマスタ装置2−1に故障が発生したときには、以下が実行される。
第1のマスタ装置2−1のみがリセットされる。それと同時に、第1のダミーマスタ装置7とバス8とが接続される。第1のダミーマスタ装置7は、第1のマスタ装置2−1に代わって、有効データがあることを表わす信号を受信したときに、信号の受信が可能なことを表わす信号を出力する。
これによって、いずれかのスレーブ装置が、故障が発生した第1のマスタ装置2−1へ有効データがあることを表わす信号を送信した後、信号の受信が可能なことを表わす信号をそのスレーブ装置が受信することができる。その結果、システム全体の処理が停滞するのが防止される。
[第2の実施形態]
図2は、第2の実施形態のバスシステム11の構成を表わす図である。
このバスシステム11は、バス18と、システムコントローラ16と、スレーブ装置12−1〜12−nと、マスタ装置13−1〜13−mとを備える。このバスシステム11は、さらに、第1のダミースレーブ装置17と、セレクタ14と、セレクタ制御回路15とを備える。ただし、nは2以上であり、mは1以上である。スレーブ装置12−1〜12−nの中の1つが、第1のスレーブ装置12−1である。
マスタ装置13−1〜13−mおよびスレーブ装置12−1〜12−が、バス18に接続されることができる。
システムコントローラ16は、スレーブ装置12−1〜12−nのうち、故障が発生したスレーブ装置のみをリセット処理させることによって、故障が発生したスレーブ装置のみを正常状態に復帰させる。リセット処理とは、強制的に再起動することをいう。
第1のダミースレーブ装置17は、バス18に接続されることができる。第1のダミースレーブ装置17は、第1のスレーブ装置12−1に代わって、有効データがあることを表わす信号を受信したときに、信号の受信が可能なことを表わす信号を出力する。
セレクタ14は、第1のスレーブ装置12−1と第1のダミースレーブ装置17のうちのいずれかとバス18とを接続する。
セレクタ制御回路15は、第1のスレーブ装置12−1が故障状態のときに、第1のダミースレーブ装置17とバス18とが接続するように、セレクタ14を制御する。
第1のスレーブ装置12−1に故障が発生したときには、以下が実行される。
第1のスレーブ装置12−1のみがリセットされる。それと同時に、第1のダミースレーブ装置17とバス8とが接続される。有効データがあることを表わす信号を第1のダミースレーブ装置17が第1のスレーブ装置12−1に代わって、受信したときに、第1のダミースレーブ装置17は、信号の受信が可能なことを表わす信号を出力する。
これによって、いずれかのマスタ装置が、故障が発生した第1のスレーブ装置12−1へ有効データがあることを表わす信号を送信したときには、以下が実行される。そのマスタ装置は、故障が発生した第1のスレーブ装置12−1に対応する第1のダミースレーブ装置17から、その第1のダミースレーブ装置17において信号の受信が可能なことを表わす信号を受信する。その結果、システム全体の処理が停滞するのが防止される。
[第3の実施形態]
図3は、第3の実施形態のバスシステム21の構成を表わす図である。
このバスシステム21は、マスタ装置MA1,MA2と、スレーブ装置SL1,SL2と、バス23と、ダミーマスタ装置DMA1,DMA2と、ダミースレーブ装置DSL1,DSL2とを備える。このバスシステム21は、さらに、セレクタSL(MA1),SL(MA2),SL(SL1),SL(SL2)と、システムコントローラ22と、システム用ステータスレジスタSR(Sys)とを備える。このバスシステム21は、さらに、マスタ用ステータスレジスタSR(MA1),SR(MA2)と、スレーブ用ステータスレジスタSR(SL1),SR(SL2)と、セレクタ制御回路29とを備える。
マスタ装置MA1,MA2、スレーブ装置SL1,SL2、ダミーマスタ装置DMA1,DMA2、ダミースレーブ装置DSL1,DSL2は、バス23に接続されることができる。
バス23は、マスタ装置MA1,MA2、スレーブ装置SL1,SL2、ダミーマスタ装置DMA1,DMA2、ダミースレーブ装置DSL1,DSL2間の信号の伝送のために用いられる。
マスタ装置MA1およびMA2は、たとえば、CPU(Central Processing Unit)、またはDMA(Dynamic Memory Access)コントローラなどである。スレーブ装置SL1およびSL2は、たとえば、メモリコントローラ、またはI/Oコントローラなどである。マスタ装置MA1およびMA2は、ユーザプログラムに従って動作することができる。
ダミーマスタ装置DMA1は、マスタ装置MA1に対応して設けられる。ダミーマスタ装置DMA2は、マスタ装置MA2に対応して設けられる。ダミースレーブ装置DSL1は、スレーブ装置SL1に対応して設けられる。ダミースレーブ装置DSL2は、スレーブ装置SL2に対応して設けられる。
セレクタSL(MA1)は、マスタ装置MA1とダミーマスタ装置DMA1のうちのいずれかと、バス23とを接続する。セレクタSL(MA2)は、マスタ装置MA2とダミーマスタ装置DMA2のうちのいずれかと、バス23とを接続する。セレクタSL(SL1)は、スレーブ装置SL1とダミースレーブ装置DSL1のうちのいずれかと、バス23とを接続する。セレクタSL(SL2)は、スレーブ装置SL2とダミースレーブ装置DSL2のうちのいずれかと、バス23とを接続する。
マスタ用ステータスレジスタSR(MA1)は、マスタ装置MA1に対応して設けられる。マスタ用ステータスレジスタSR(MA1)は、ユーザに対して公開されたレジスタである。マスタ用ステータスレジスタSR(MA1)は、マスタ装置MA1で故障が発生した場合に、マスタ装置MA1のハードウエア構成によってセットされる。マスタ用ステータスレジスタSR(MA1)は、マスタ装置MA1がリセットされた後、マスタ装置MA1で動作するユーザプログラムに従ってクリアされる。
マスタ用ステータスレジスタSR(MA2)は、マスタ装置MA2に対応して設けられる。マスタ用ステータスレジスタSR(MA2)は、ユーザに対して公開されたレジスタである。マスタ用ステータスレジスタSR(MA2)は、マスタ装置MA2で故障が発生した場合に、マスタ装置MA2のハードウエア構成によってセットされる。マスタ用ステータスレジスタSR(MA2)は、マスタ装置MA2がリセットされた後、マスタ装置MA2で動作するユーザプログラムに従ってクリアされる。
スレーブ用ステータスレジスタSR(SL1)は、スレーブ装置SL1に対応して設けられる。スレーブ用ステータスレジスタSR(SL1)は、ユーザに対して公開されていないレジスタである。スレーブ用ステータスレジスタSR(SL1)は、スレーブ装置SL1で故障が発生した場合に、スレーブ装置SL1のハードウエア構成によってセットされる。スレーブ用ステータスレジスタSR(SL1)は、スレーブ装置SL1がリセットされた後、スレーブ装置SL1のハードウエア構成によってクリアされる。
スレーブ用ステータスレジスタSR(SL2)は、スレーブ装置SL2に対応して設けられる。スレーブ用ステータスレジスタSR(SL2)は、ユーザに対して公開されていないレジスタである。スレーブ用ステータスレジスタSR(SL2)は、スレーブ装置SL2で故障が発生した場合に、スレーブ装置SL2のハードウエア構成によってセットされる。スレーブ用ステータスレジスタSR(SL2)は、スレーブ装置SL2がリセットされた後、スレーブ装置SL2のハードウエア構成によってクリアされる。
システム用ステータスレジスタSR(Sys)は、マスタ装置MA1,MA2、スレーブ装置SL1,SL2が正常状態か、または故障状態であるかを管理するためのレジスタである。システム用ステータスレジスタSR(Sys)は、ユーザに対して公開されたレジスタである。システム用ステータスレジスタSR(Sys)に保持されたビット値は、マスタ装置MA1,MA2から読出されることができる。システム用ステータスレジスタSR(Sys)に保持されるビット値が変化した場合に、システム用ステータスレジスタSR(Sys)は、割込み信号IRをマスタ装置MA1,MA2へ送信する。マスタ装置MA1,MA2は、割込み信号IRを受信した後、システム用ステータスレジスタSR(Sys)のビット値を読出すことによって、どこで故障が発生したか、あるいはどこで正常復帰されたかを知ることができる。マスタ装置MA1,MA2は、取得した各装置の状態に基づいて、モードを変更または維持することができる。
図4は、システム用ステータスレジスタSR(Sys)を説明するための図である。
図4に示すように、システム用ステータスレジスタSR(Sys)は、n個のマスタ装置と、m個のスレーブ装置の有効/無効および正常状態/故障状態を表わす複数のビット値を保持することができる。
システム用ステータスレジスタSR(Sys)は、最下位ビットからiビット分シフトした位置にマスタ装置MAiに対応する有効フラグを保持する。i=1〜nである。システム用ステータスレジスタSR(Sys)は、最下位ビットから(n+j)ビット分シフトした位置にスレーブ装置SLjに対応する有効フラグを保持する。j=1〜mである。システム用ステータスレジスタSR(Sys)は、最下位ビットから(n+m+i)ビット分シフトした位置にマスタ装置MAiに対応する故障フラグを保持する。i=1〜nである。システム用ステータスレジスタSR(Sys)は、最下位ビットから(2n+m+j)ビット分シフトした位置にスレーブ装置SLjに対応する故障フラグを保持する。j=1〜mである。
マスタ装置MAiに対応する故障フラグは、同時にマスタ用ステータスレジスタSR(MAi)に対応する。スレーブ装置SLjに対応する故障フラグは、同時にスレーブ用ステータスレジスタSR(SLj)に対応する。
マスタ装置MAi(i=1〜n)に対応する有効性フラグが「1」であることは、バスシステム1がマスタ装置MAiを備えることを表わす。マスタ装置MAiに対応する有効性フラグが「0」であることは、バスシステム1がマスタ装置MAiを備えないことを表わす。
スレーブ装置SLj(j=1〜m)に対応する有効性フラグが「1」であることは、バスシステム1がスレーブ装置SLjを備えることを表わす。スレーブ装置SLjに対応する有効性フラグが「0」であることは、バスシステム1がスレーブ装置SLjを備え
ないことを表わす。
マスタ装置MAi(i=1〜n)に対応する故障フラグが「0」であることは、マスタ装置MAiが正常状態であることを表わす。マスタ装置MAiに対応する故障フラグが「1」であることは、マスタ装置MAiが故障状態であることを表わす。
スレーブ装置SLj(j=1〜m)に対応する故障フラグが「0」であることは、スレーブ装置SLjが正常状態であることを表わす。スレーブ装置SLjに対応する故障フラグが「1」であることは、スレーブ装置SLjが故障状態であることを表わす。
図4の例では、バスシステムが、マスタ装置MA1,MA2およびスレーブ装置SL1,SL2を含むことが示されている。さらに、マスタ装置MA1,MA2およびスレーブ装置SL1,SL2が正常状態であることが示されている。
マスタ用ステータスレジスタSR(MA1)は、セットされた後、システム用ステータスレジスタSR(Sys)内のマスタ用ステータスレジスタSR(MA1)に対応する故障フラグのビットをセットする。マスタ用ステータスレジスタSR(MA1)は、クリアされた後、システム用ステータスレジスタSR(Sys)内のマスタ用ステータスレジスタSR(MA1)に対応する故障フラグのビットをクリアする。
マスタ用ステータスレジスタSR(MA2)は、セットされた後、システム用ステータスレジスタSR(Sys)内のマスタ用ステータスレジスタSR(MA2)に対応する故障フラグのビットをセットする。マスタ用ステータスレジスタSR(MA2)は、クリアされた後、システム用ステータスレジスタSR(Sys)内のマスタ用ステータスレジスタSR(MA2)に対応する故障フラグのビットをクリアする。
スレーブ用ステータスレジスタSR(SL1)は、セットされた後、システム用ステータスレジスタSR(Sys)内のスレーブ用ステータスレジスタSR(SL1)に対応する故障フラグのビットをセットする。スレーブ用ステータスレジスタSR(SL1)は、クリアされた後、システム用ステータスレジスタSR(Sys)内のスレーブ用ステータスレジスタSR(SL1)に対応する故障フラグのビットをクリアする。
スレーブ用ステータスレジスタSR(SL2)は、セットされた後、システム用ステータスレジスタSR(Sys)内のスレーブ用ステータスレジスタSR(SL2)に対応する故障フラグのビットをセットする。スレーブ用ステータスレジスタSR(SL2)は、クリアされた後、システム用ステータスレジスタSR(Sys)内のスレーブ用ステータスレジスタSR(SL2)に対応する故障フラグのビットをクリアする。
セレクタ制御回路29は、システム用ステータスレジスタSR(Sys)内の故障フラグのビット値に基づいて、セレクタSL(MA1),SL(MA2),SL(SL1),SL(SL2)の切替えを制御する。
セレクタ制御回路29は、マスタ装置MA1に対応する故障フラグのビット値が「0」の場合に、セレクタSL(MA1)を制御して、マスタ装置MA1とバス23とを接続する。セレクタ制御回路29は、マスタ装置MA1に対応する故障フラグのビット値が「1」の場合に、ダミーマスタ装置DMA1とバス23とが接続するように、セレクタSL(MA1)を制御する。
セレクタ制御回路29は、マスタ装置MA2に対応する故障フラグのビット値が「0」の場合に、マスタ装置MA2とバス23とが接続するように、セレクタSL(MA)を
制御する。セレクタ制御回路29は、マスタ装置MA2に対応する故障フラグのビット値が「1」の場合に、ダミーマスタ装置DMA2とバス23とが接続するように、セレクタSL(MA2)を制御する。
セレクタ制御回路29は、スレーブ装置SL1に対応する故障フラグのビット値が「0」の場合に、スレーブ装置SL1とバス23とが接続するように、セレクタSL(SL1)を制御する。セレクタ制御回路29は、スレーブ装置SL1に対応する故障フラグのビット値が「1」の場合に、ダミースレーブ装置DSL1とバス23とが接続するように、セレクタSL(SL1)を制御する。
セレクタ制御回路29は、スレーブ装置SL2に対応する故障フラグのビット値が「0」の場合に、スレーブ装置SL2とバス23とが接続するように、セレクタSL(SL2)を制御する。セレクタ制御回路29は、スレーブ装置SL2に対応する故障フラグのビット値が「1」の場合に、ダミースレーブ装置DSL2とバス23とが接続するように、セレクタSL(SL2)を制御する。
システムコントローラ22は、マスタ装置MA1,MA2およびスレーブ装置SL1,SL2のうち、故障が発生した装置のみをリセット処理させることによって、故障が発生した装置のみを正常状態に復帰させる。
図5は、マスタ装置MA1の処理手順を表わすフローチャートである。マスタ装置MA2の処理手順も同様である。
図5を参照して、ステップS300において、マスタ装置MA1は、モードをデフォルトの通常モードに移行させる。通常モードでは、マスタ装置MA1は、制約を受けることなく、処理を実行する。
ステップS301において、マスタ装置MA1が、故障が発生したことを検出したときには、処理がステップS302に進み、マスタ装置MA1が、故障が発生したことを検出しないときには、処理がステップS305に進む。
ステップS302において、マスタ装置MA1は、マスタ用ステータスレジスタSR(MA1)をセットする。
ステップS303において、マスタ装置MA1は、リセット処理を実行する。
ステップS304において、マスタ装置MA1は、リセット処理の終了後に、マスタ用ステータスレジスタSR(MA1)をクリアする。
ステップS305において、マスタ装置MA1が、システム用ステータスレジスタSR(Sys)からの割込み信号IRを受信したときには、処理がステップS306に進む。マスタ装置MA1が、システム用ステータスレジスタSR(Sys)からの割込み信号IRを受信しないときには、処理がステップS309に進む。
ステップS306において、マスタ装置MA1は、システム用ステータスレジスタSR(Sys)のビット値を読出すことによって、故障が発生した装置を特定する。マスタ装置MA1は、モードを故障が発生した装置に応じた縮退モードに移行させる。
ステップS307において、マスタ装置MA1が読み出したシステム用ステータスレジスタSR(Sys)のビット値が、全装置が正常であることを示すときには、処理がステップS308に進む。
ステップS308において、マスタ装置MA1は、モードを通常モードに移行させる。
ステップS309において、マスタ装置MA1は、モードを通常モードに維持させる。
ステップS304、S308、およびS309の後、ステップS310において、バスシステム21の電源がオフになったときには、処理が終了する。ステップS310において、バスシステム21の電源がオンのときには、処理がステップS301に戻る。
図6は、スレーブ装置SL1の処理手順を表わすフローチャートである。スレーブ装置SL2の処理手順も同様である。
ステップS401において、スレーブ装置SL1が、故障が発生したことを検出したときには、処理がステップS402に進み、スレーブ装置SL1が、故障が発生したことを検出しないときには、処理がステップS406に進む。
ステップS402において、スレーブ装置SL1は、スレーブ用ステータスレジスタSR(SL1)をセットする。
ステップS403において、スレーブ装置SL1は、リセット処理を実行する。
ステップS404において、スレーブ装置SL1は、リセット処理の終了後に、スレーブ用ステータスレジスタSR(SL1)をクリアする。
ステップS404、およびS401でNOの後、ステップS406において、バスシステム21の電源がオフになったときには、処理が終了する。ステップS406において、バスシステム21の電源がオンのときには、処理がステップS401に戻る。
マスタ装置MA1、MA2とスレーブ装置SL1,SL2は、Valid−Readyによるハンドシェイクを行なうことによって、マスタ装置MA1,MA2からのリクエストがスレーブ装置SL1,SL2へ伝送される。
また、マスタ装置MA1、MA2とスレーブ装置SL1,SL2とは、Valid−Readyによるハンドシェイクを行なうことによって、スレーブ装置SL1,SL2からのレスポンスがマスタ装置MA1,MA2へ伝送される。
図7は、マスタ装置MA1の送信処理および受信処理の手順を表わすフローチャートである。マスタ装置MA2の送信処理および受信処理の手順も同様である。
ステップS601において、マスタ装置MA1が、スレーブ装置SL1またはスレーブ装置SL2に出力するリクエストを有するときには、処理がステップS602に進む。以下では、スレーブ装置SL1とスレーブ装置SL2のうち、リクエストの宛先の方をスレーブ装置SLαとする。
ステップS602において、マスタ装置MA1は、スレーブ装置SLαへ向けて、有効データがあることを表わすVaiid信号を送信する。Valid信号は、スレーブ装置SLα、またはスレーブ装置SLαの代替装置であるダミースレーブ装置DSLαへ送られる。
ステップS603において、マスタ装置MA1が、受信可能であることを表わすReady信号を受信したときには、処理がステップS604に進む。Ready信号は、スレーブ装置SLα、またはダミースレーブ装置DSLαから送られる。マスタ装置MA1が、受信可能であることを表わすReady信号を受信しないときには、処理がステップS602に戻る。これにより、マスタ装置MA1は、Valid信号を再送信する。
ステップS604において、マスタ装置MA1は、スレーブ装置SLαへ向けてリクエストを送信する。リクエストは、スレーブ装置SLα、またはダミースレーブ装置DSLαへ送られる。
ステップS606において、マスタ装置MA1が、有効データがあることを表わすValid信号を受信したときには、処理がステップS607に進む。Valid信号は、スレーブ装置SLα、またはダミースレーブ装置DSLαから送られる。
ステップS607において、マスタ装置MA1は、受信可能であることを表わすReady信号を送信する。Ready信号は、スレーブ装置SLα、またはダミースレーブ装置DSLαへ送られる。
ステップS608において、マスタ装置MA1は、レスポンスを受信する。レスポンスは、スレーブ装置SLα、またはダミースレーブ装置DSLαから送られる。



図8は、スレーブ装置SL1の送信処理および受信処理の手順を表わすフローチャートである。スレーブ装置SL2の送信処理および受信処理の手順も同様である。
ステップS701において、スレーブ装置SL1が、有効データがあることを表すValid信号を受信したときには、処理がステップS702に進む。以下では、マスタ装置MA1とマスタ装置MA2のうち、リクエストの発信元の方をマスタ装置MAαとする。Valid信号は、マスタ装置MAα、またはダミーマスタ装置DMAαから送られる。
ステップS702において、スレーブ装置SL1が、マスタ装置MAαへ向けて、受信可能であることを表わすReady信号を送信する。Ready信号は、マスタ装置MAα、またはダミーマスタ装置DMAαへ送られる。
ステップS703において、スレーブ装置SL1が、リクエストを受信する。リクエストは、マスタ装置MAα、またはダミーマスタ装置DMAαから送られる。
ステップS704において、スレーブ装置SL1が、リクエストに応じた処理を実行する。
ステップS706において、スレーブ装置SL1が、マスタ装置MAαへ向けて有効データがあることを表わすValid信号を送信する。Valid信号は、マスタ装置MAα、またはダミーマスタ装置DMAαへ送られる。
ステップS707において、スレーブ装置SL1が、受信可能であることを表わすReady信号を受信したときには、処理がステップS708に進む。Ready信号は、マスタ装置MAα、またはダミーマスタ装置DMAαから送られる。スレーブ装置SL1が、受信可能であることを表わすReady信号を受信しないときには、処理がステップS706に戻る。これにより、スレーブ装置SL1がValid信号を再送信する。
ステップS708において、スレーブ装置SL1は、マスタ装置MAαへ向けて、リクエストに応じた処理の結果を表わすレスポンスを送信する。レスポンスは、マスタ装置MAα、またはダミーマスタ装置DMAαへ送られる。
マスタ装置MA1が過去にスレーブ装置SL1またはSL2へValid信号を出力した場合に、スレーブ装置SL1またはSL2から出力されるReady信号をダミーマスタ装置DMA1は、マスタ装置MA1の代わりに、受信することができる。またマスタ装置MA1が過去にスレーブ装置SL1またはSL2へリクエストを出力した場合に、スレーブ装置SL1またはSL2からのレスポンスをダミーマスタ装置DMA1は、マスタ装置MA1の代わりに、受信することができる。マスタ装置MA1の代わりに、ダミーマスタ装置DMA1は、スレーブ装置SL1またはSL2から出力されるValid信号を受信して、Ready信号を出力することができる。また、ダミーマスタ装置DMA1がスレーブ装置SL1またはSL2へValid信号を出力した場合に、Valid信号に対してスレーブ装置SL1またはSL2から出力されるReady信号をダミーマスタ装置DMA1は、受信することができる。このような機能を設けた理由は、スレーブ装置SL1またはSL2がReady信号およびレスポンスの出力を繰り返すような事態を防止するためである。
マスタ装置MA2が過去にスレーブ装置SL1またはSL2へValid信号を出力した場合に、ダミーマスタ装置DMA2は、マスタ装置MA2の代わりに、Valid信号に対して、スレーブ装置SL1またはSL2から出力されるReady信号を受信することができる。また、マスタ装置MA2が過去にスレーブ装置SL1またはSL2へリクエストを出力した場合に、リクエストに対するスレーブ装置SL1またはSL2からのレスポンスをダミーマスタ装置DMA2は、マスタ装置MA2の代わりに、受信することができる。マスタ装置MA2の代わりに、ダミーマスタ装置DMA2は、スレーブ装置SL1またはSL2から出力されるValid信号を受信して、Ready信号を出力することができる。また、ダミーマスタ装置DMA2がスレーブ装置SL1またはSL2へValid信号を出力した場合に、Valid信号に対するスレーブ装置SL1またはSL2から出力されるReady信号をダミーマスタ装置DMA2は、受信することができる。このような機能を設けた理由は、スレーブ装置SL1またはSL2がReady信号およびレスポンスの出力を繰り返すような事態を防止するためである。
スレーブ装置SL1の代わりに、ダミースレーブ装置DSL1は、マスタ装置MA1またはマスタ装置MA2から出力されるValid信号を受信して、Ready信号をマスタ装置MA1またはマスタ装置MA2へ出力することができる。スレーブ装置SL1が過去にマスタ装置MA1またはMA2へValid信号を出力した場合に、Valid信号に対して、マスタ装置MA1またはMA2から出力されるReady信号をダミースレーブ装置DSL1は、スレーブ装置SL1の代わりに受信することができる。また、スレーブ装置SL1に代わりに、ダミースレーブ装置DSL1は、マスタ装置MA1またはマスタ装置MA2から出力されるリクエストを受信して、ダミーのレスポンスをマスタ装置MA1またはマスタ装置MA2へ出力することができる。また、ダミースレーブ装置DSL1がマスタ装置MA1またはMA2へValid信号を出力した場合に、マスタ装置MA1またはMA2から出力されるReady信号をダミースレーブ装置DSL1は、受信することができる。このような機能を設けた理由は、マスタ装置MA1またはMA2がReady信号およびレスポンスを待ち続けるような事態を防止するためである。
スレーブ装置SL2の代わりに、ダミースレーブ装置DSL2は、マスタ装置MA1またはマスタ装置MA2から出力されるValid信号を受信して、Ready信号をマスタ装置MA1またはマスタ装置MA2へ出力することができる。スレーブ装置SL2が過去にマスタ装置MA1またはMA2へValid信号を出力した場合に、Valid信号に対して、マスタ装置MA1またはMA2から出力されるReady信号をダミースレーブ装置DSL2は、スレーブ装置SL2の代わりに受信することができる。また、スレーブ装置SL2の代わりに、ダミースレーブ装置DSL2は、マスタ装置MA1またはマスタ装置MA2から出力されるリクエストを受信して、ダミーのレスポンスをマスタ装置MA1またはマスタ装置MA2へ出力することができる。また、ダミースレーブ装置DSL2がマスタ装置MA1またはMA2へValid信号を出力した場合に、Valid信号に対するマスタ装置MA1またはMA2から出力されるReady信号をダミースレーブ装置DSL2は、受信することができる。このような機能を設けた理由は、マスタ装置MA1またはMA2がReady信号およびレスポンスを待ち続けるような事態を防止するためである。
図9は、ダミーマスタ装置DMA1の送信処理および受信処理の手順を表わすフローチャートである。ダミーマスタ装置DMA2の送信処理および受信処理の手順も同様である。
ステップS801において、ダミーマスタ装置DMA1が、有効なデータがあることを表わすValid信号を受信したときには、処理がステップS802に進む。以下では、スレーブ装置SL1とスレーブ装置SL2のうち、リクエストの宛先の方をスレーブ装置SLαとする。Valid信号は、スレーブ装置SLα、またはダミースレーブ装置DSLαから送られる。
ステップS802において、ダミーマスタ装置DMA1は、受信可能であることを表わすReady信号を送信する。Ready信号は、スレーブ装置SLα、またはダミースレーブ装置DSLαへ送られる。
ステップS803において、ダミーマスタ装置DMA1は、レスポンスを受信する。レスポンスは、マスタ装置MA1から送信されたリクエストに対するスレーブ装置SLαまたはダミースレーブ装置DSαによる処理結果を表わす。レスポンスは、スレーブ装置SLα、またはダミースレーブ装置DSLαから送られる。
ステップS804において、ダミーマスタ装置DMA1が、受信可能であることを表わすReady信号を受信したときには、処理がステップS805に進む。Ready信号は、スレーブ装置SLα、またはダミースレーブ装置DSLαから送られる。
ステップS805において、ダミーマスタ装置DMA1は、スレーブ装置SLαへ向けてダミーのリクエストを送信する。ダミーのリクエストは、スレーブ装置SLα、またはダミースレーブ装置DSLαへ送られる。
図10は、ダミースレーブ装置DSL1の送信処理および受信処理の手順を表わすフローチャートである。ダミースレーブ装置DSL2の送信処理および受信処理の手順も同様である。
ステップS901において、ダミースレーブ装置DSL1が、有効なデータがあることを表わすValid信号を受信したときには、処理がステップS902に進む。以下では、マスタ装置MA1とマスタ装置MA2のうち、リクエストの発信元の方をマスタ装置MAαとする。Valid信号は、マスタ装置MAα、またはダミーマスタ装置DMAαから送られる。
ステップS902において、ダミースレーブ装置DSL1が、マスタ装置MAαへ向けて、受信可能であることを表わすReady信号を送信する。Ready信号は、マスタ装置MAα、またはダミーマスタ装置DMAαへ送られる。
ステップS903において、ダミースレーブ装置DSL1が、リクエストを受信する。リクエストは、マスタ装置MAα、またはダミーマスタ装置DMAαから送られる。
ステップS905において、ダミースレーブ装置DSL1が、マスタ装置MAαへ向けて、有効なデータがあることを表わすValid信号を送信する。Valid信号は、マスタ装置MAα、またはダミーマスタ装置DMAαへ送られる。
ステップS906において、ダミースレーブ装置DSL1が、受信可能であることを表わすReady信号を受信したときには、処理がステップS907に進む。Ready信号は、マスタ装置MAα、またはダミーマスタ装置DMAαから送られる。ダミースレーブ装置DSL1が、Ready信号を受信しないときには、処理がステップS905に戻る。これにより、ダミースレーブ装置DSL1は、Valid信号を再送信する。
ステップS907において、ダミースレーブ装置DSL1は、マスタ装置MAαへ向けてダミーのレスポンスを送信する。レスポンスは、マスタ装置MAα、またはダミーマスタ装置DMAαへ送られる。
図11および図12は、第3の実施形態のバスシステム21の第1の動作例を説明するための図である。
ステップS101において、マスタ装置MA2が、故障発生を検出する(図11の(1)を参照)。
ステップS102において、マスタ装置MA2は、マスタ用ステータスレジスタSR(MA2)をセットする(図11の(2)を参照)。これによって、マスタ用ステータスレジスタSR(MA2)は、「1」を保持する。
ステップS103において、マスタ装置MA2は、リセット処理を開始する(図11の(3)を参照)。
ステップS104において、マスタ用ステータスレジスタSR(MA2)は、システム用ステータスレジスタSR(Sys)内のマスタ装置MA2に対応する故障フラグをセットする(図11の(4)を参照)。これによって、システム用ステータスレジスタSR(Sys)内のマスタ装置MA2に対応する故障フラグが「1」に設定される。
ステップS105において、システム用ステータスレジスタSR(Sys)内のマスタ装置MA2に対する故障フラグが「1」に設定されたことに応じて、セレクタSL(MA2)は、バス23と、ダミーマスタ装置DMA2とを接続する。その結果、ダミーマスタ装置DMA2は、マスタ装置MA2に代わって、スレーブ装置SL1,SL2またはダミースレーブ装置DSL1,DSL2からのValid信号、Ready信号およびレスポンスを受信する。ダミーマスタ装置DMA2は、マスタ装置MA2に代わって、さらに、スレーブ装置SL1,SL2またはダミースレーブ装置DSL1,DSL2へReady信号、およびダミーのリクエストを送信する。
ステップS105と並行して、ステップS106において、マスタ装置MA1が、システム用ステータスレジスタSR(Sys)からの割込み信号IRを受信する(図11の(5)を参照)。その後、マスタ装置MA1は、システム用ステータスレジスタSR(Sys)の故障フラグを読出して、故障が発生した装置がマスタ装置MA2であることを特定する。マスタ装置MA1は、モードをマスタ装置MA2が故障中であるときに対応するモードである縮退モードMd(MA2)に移行させる(図11の(6)を参照)。マスタ装置MA1は、縮退モードMd(MA2)時には、マスタ装置MA2において処理が発生しないように、自己の処理を調整する。たとえば、実行権限を有するマスタ装置MA1が、ある命令Aを実行すると、実行権限がマスタ装置MA2に移る場合に、マスタ装置MA1は、縮退モードMd(MA2)において、命令Aの実行を回避する。
ステップS107において、マスタ装置MA2が、リセット処理を終了する(図11の(7)を参照)。
ステップS108において、マスタ装置MA2が、マスタ用ステータスレジスタSR(MA2)をクリアする(図11の(8)を参照)。これによって、マスタ用ステータスレジスタSR(MA2)は、「0」を保持する。
ステップS109において、マスタ用ステータスレジスタSR(MA2)が、システム用ステータスレジスタSR(Sys)内のマスタ装置MA2に対応する故障フラグをクリアする(図11の(9)を参照)。これによって、システム用ステータスレジスタSR(Sys)内のマスタ装置MA2に対応する故障フラグが「0」に設定される。
ステップS110において、システム用ステータスレジスタSR(Sys)内のマスタ装置MA2に対応する故障フラグが「0」に設定されたことに応じて、セレクタSL(MA2)は、バス23と、マスタ装置MA2とを接続する。その結果、マスタ装置MA2が、スレーブ装置SL1,SL2またはダミースレーブ装置DSL1,DSL2からのValid信号、Ready信号およびレスポンスを受信する。マスタ装置MA2は、さらに、スレーブ装置SL1,SL2またはダミースレーブ装置DSL1,DSL2へReady信号、およびリクエストを送信する。
ステップS110と並行して、ステップS111において、マスタ装置MA1およびMA2が、システム用ステータスレジスタSR(Sys)からの割込み信号IRを受信する(図11の(10)を参照)。その後、マスタ装置MA1およびMA2は、システム用ステータスレジスタSR(Sys)のすべての故障フラグを読出して、全マスタ装置および全スレーブ装置が正常であることを知得する。これによって、マスタ装置MA1およびMA2は、モードを通常モードに移行させる(図11の(11)を参照)。
図13および図14は、第3の実施形態のバスシステム21の第2の動作例を説明するための図である。
ステップS201において、スレーブ装置SL1が、故障発生を検出する(図13の(1)を参照)。
ステップS202において、スレーブ装置SL1は、スレーブ用ステータスレジスタSR(SL1)をセットする(図13の(2)を参照)。これによって、スレーブ用ステータスレジスタSR(SL1)は、「1」を保持する。
ステップS203において、スレーブ装置SL1は、リセット処理を開始する(図13の(3)を参照)。
ステップS204において、スレーブ用ステータスレジスタSR(SL1)は、「1」を保持しているので、システム用ステータスレジスタSR(Sys)のスレーブ装置SL1に対応する故障フラグをセットする(図13の(4)を参照)これによって、システム用ステータスレジスタSR(Sys)内のスレーブ装置SL1に対応する故障フラグが「1」に設定される。
ステップS205において、システム用ステータスレジスタSR(Sys)において、スレーブ装置SL1に対する故障フラグが「1」に設定されたことに応じて、セレクタSL(SL1)は、バス23と、ダミースレーブ装置DSL1とを接続する。その結果、ダミースレーブ装置DSL1が、スレーブ装置SL1に代わって、マスタ装置MA1,MA2またはダミーマスタ装置DMA1,DMA2からのValid信号、Ready信号およびリクエストを受信する。ダミースレーブ装置DSL1が、スレーブ装置SL1に代わって、さらにマスタ装置MA1,MA2またはダミーマスタ装置DMA1,DMA2へReady信号、Valid信号、およびダミーのレスポンスを送信する。
ステップS205と並行して、ステップS206において、マスタ装置MA1およびマスタ装置MA2が、システム用ステータスレジスタSR(Sys)からの割込み信号IRを受信する(図13の(5)を参照)。その後、マスタ装置MA1およびマスタ装置MA2は、システム用ステータスレジスタSR(Sys)の故障フラグを読出して、故障が発生した装置がスレーブ装置SL1であることを特定する。マスタ装置MA1およびマスタ装置MA2は、モードをスレーブ装置SL1が故障中であるときに対応するモードである縮退モードMd(SL1)に移行させる(図13の(6)を参照)。
マスタ装置MA1およびMA2は、縮退モードMd(SL1)時には、スレーブ装置SL1において処理が発生しないように、自己の処理を調整する。たとえば、マスタ装置MA1およびMA2は、スレーブ装置SL1に向けて信号(リクエスト、Ready信号、およびValid信号)を送信しない。マスタ装置MA1およびMA2は、縮退モードMd(SL1)時には、ダミースレーブ装置DSL1からのレスポンスを無視する。マスタ装置MA1およびMA2は、縮退モードMd(SL1)時には、ダミースレーブ装置DSL1からのValid信号を受信しても、Ready信号を送信しない。
ステップS207において、スレーブ装置SL1が、リセット処理を終了する(図13の(7)を参照)。
ステップS208において、スレーブ装置SL1が、スレーブ用ステータスレジスタSR(SL1)をクリアする(図13の(8)を参照)。これによって、スレーブ用ステータスレジスタSR(SL1)は、「0」を保持する。
ステップS209において、スレーブ用ステータスレジスタSR(SL1)が、「0」を保持しているので、システム用ステータスレジスタSR(Sys)内のスレーブ装置SL1に対応する故障フラグをクリアする(図13の(9)を参照)。これによって、システム用ステータスレジスタSR(Sys)内のスレーブ装置SL1に対応する故障フラグが「0」に設定される。
ステップS210において、システム用ステータスレジスタSR(Sys)内のスレーブ装置SL1に対する故障フラグが「0」に設定されたことに応じて、セレクタSL(SL1)は、バス23と、スレーブ装置SL1とを接続する。その結果、スレーブ装置SL1が、マスタ装置MA1,MA2またはダミーマスタ装置DMA1,DMA2からのValid信号、Ready信号およびリクエストを受信する。スレーブ装置SL1は、さらにマスタ装置MA1,MA2またはダミーマスタ装置DMA1,DMA2へReady信号、Valid信号およびレスポンスを送信する。
ステップS210と並行して、ステップS211において、マスタ装置MA1およびマスタ装置MA2が、システム用ステータスレジスタSR(Sys)からの割込み信号IRを受信する(図13の(10)を参照)。その後、マスタ装置MA1およびマスタ装置MA2は、システム用ステータスレジスタSR(Sys)内の故障フラグを読出して、全マスタ装置および全スレーブ装置が正常であることを知得する。これによって、マスタ装置MA1およびマスタ装置MA2は、モードを通常モードに移行させる(図13の(11)を参照)。
図15は、従来の動作例を説明するための図である。
マスタ装置MA1は、プロセッサ#1によって構成される。マスタ装置MA2は、プロセッサ#2によって構成される。スレーブ装置SL1は、メモリコントローラによって構成される。
まず、プロセッサ#1およびプロセッサ#2が正常状態にあるとする。プロセッサ#2が、メモリコントローラに対してリクエストがあることを示すValid信号を送信し、メモリコントローラがReady信号をプロセッサ#2に送信する。その後、プロセッサ#2が、リクエストとしてリード命令をメモリコントローラに送信する。
メモリコントローラが、メモリからのデータの読出し処理を開始する。
メモリコントローラがプロセッサ#2にレスポンスとして、読み出したデータを送信する前に、プロセッサ#2において故障が発生する。プロセッサ#2は、正常状態に復帰するために、リセット処理を実行する。
その後、メモリコントローラが、プロセッサ#2に対してレスポンスがあることを示すValid信号を送信するが、プロセッサ#2はリセット処理中である。そのため、プロセッサ#2は、Valid信号を受信できない。その結果、プロセッサ#2は、Ready信号を出力することができない。
メモリコントローラは、プロセッサ#2からReady信号を受信できないため、Valid信号の送信を繰り返す。これにより、バスシステム21の全体の動作が停止してしまう。
図16は、第3の実施形態のバスシステム21の第3の動作例を説明するための図である。
マスタ装置MA1は、プロセッサ#1によって構成される。マスタ装置MA2は、プロセッサ#2によって構成される。スレーブ装置SL1は、メモリコントローラによって構成される。ダミープロセッサが、マスタ装置MA2に対応して設けられる。
まず、プロセッサ#1およびプロセッサ#2が正常状態にあるとする。プロセッサ#2が、メモリコントローラに対してリクエストがあることを示すValid信号を送信し、メモリコントローラがReady信号をプロセッサ#2に送信する。その後、プロセッサ#2がリクエストとしてリード命令をメモリコントローラに送信する。
メモリコントローラがメモリからのデータの読出し処理を開始する。
メモリコントローラがプロセッサ#2にレスポンスとして、読み出したデータを送信する前に、プロセッサ#2に故障が発生する。プロセッサ#2は、正常状態に復帰するために、リセット処理を実行する。
その後、メモリコントローラが、プロセッサ#2に対してレスポンスがあることを示すValid信号を送信する。
プロセッサ#2はリセット処理中なので、プロセッサ#2は、Valid信号を受信できない。しかし、ダミープロセッサは、プロセッサ#2の代わりに、Valid信号を受信して、Ready信号を出力する。
メモリコントローラは、Ready信号を受信することにより、レスポンスを出力する。これによって、メモリコントローラが、Valid信号を送信し続けるような事態を回避することができる。その後、メモリコントローラが、プロセッサ#1からリクエストを受けても、リクエストに応じることができる。
以上のように、本実施の形態によれば、いずれかのマスタ装置またはスレーブ装置が、故障が発生した装置へ有効データがあることを表わす信号を送信した後、信号の受信が可能なことを表わす信号をその装置が受信することができる。その結果、システム全体の処理が停滞するのが防止される。
[第4の実施形態]
図17は、第4の実施形態のバスシステム31の構成を表わす図である。
このバスシステム31は、以下の点において、第3の実施形態のバスシステム21と相違する。
マスタ装置MA1が、マスタ用ステータスレジスタSR(MA1)を備える。マスタ装置MA2が、マスタ用ステータスレジスタSR(MA2)を備える。スレーブ装置SL1が、スレーブ用ステータスレジスタSR(SL1)を備える。スレーブ装置SL2が、スレーブ用ステータスレジスタSR(SL2)を備える。
本実施の形態によれば、ステータスレジスタを備えたマスタ装置およびスレーブ装置をリセット機能およびダミー切替機能を有するIP(intellectual property)コアとして提供することができる。
[第5の実施形態]
図18は、第5の実施形態のバスシステム41の構成を表わす図である。
このバスシステム41は、以下の点において、第3の実施形態のバスシステム21と相違する。
ダミーマスタ装置DMA1が、マスタ用ステータスレジスタSR(MA1)を備える。ダミーマスタ装置DMA2が、マスタ用ステータスレジスタSR(MA2)を備える。ダミースレーブ装置DSL1が、スレーブ用ステータスレジスタSR(SL1)を備える。ダミースレーブ装置DSL2が、スレーブ用ステータスレジスタSR(SL2)を備える。
本実施の形態では、ステータスレジスタを備えたダミーマスタ装置およびダミースレーブ装置をバスシステムに追加することによって、従来のバスシステムの他の箇所の構成の変更をできるだけ少なくすることができる。
[第6の実施形態]
図19は、マスタ装置MA1の縮退モード時の動作手順を表わすフローチャートである。マスタ装置MA2の縮退モード時の動作手順も同様である。
ステップS1201において、次に実行するプログラム命令αが故障中のスレーブ装置Xへのリクエストを含む場合は、処理がステップS1202に進む。次に実行するプログラム命令αが故障中のスレーブ装置Xへのリクエストを含まない場合は、処理がステップS1207に進む。
ステップS1202において、プログラム命令αの後に実行されるべき複数のプログラム命令の中に所定の条件を満たすプログラム命令βが存在する場合には、処理がステップS1203に進む。そのようなプログラム命令βが存在しない場合には、処理がステップS1204に進む。所定の条件を満たすプログラム命令とは、プログラム命令αよりも先に実行しても、悪影響が生じさせないようなプログラム命令である。
ステップS1204において、プログラム命令αに含まれるスレーブ装置Xへのリクエストをスレーブ装置Xを除く、いずれかのスレーブ装置に対するリクエストに変更することができる場合には、処理がステップS1205に進む。このような変更が可能な場合とは、たとえば、あるデータを一時的にメモリに書込む必要がある場合に、メモリAへの書込みリクエストをメモリBへの書込みリクエストに変更するような場合である。そのような変更が不可能な場合には、処理がステップS1206に進む。
ステップS1203において、マスタ装置MA1は、プログラム命令βを実行する。
ステップS1205において、マスタ装置MA1は、スレーブ装置Yへリクエストを送信することによって、プログラム命令αを代替的に実行する。
ステップS1206において、マスタ装置MA1は、スレーブ装置Xが正常に復帰するのを待つ。
ステップS1207において、マスタ装置MA1は、スレーブ装置Xへリクエストを送信することによって、プログラム命令αを実行する。
以上のように、本実施の形態によれば、マスタ装置が縮退モードにおいて、本来実行すべき命令の別の命令を実行し、あるいは故障中のスレーブ装置への本来のアクセスの代わりに別のスレーブ装置へのアクセスを実行する。これによって、故障中のスレーブ装置において処理が発生するのが回避される。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1,11,21,31,41 バスシステム、2−1〜2−n,13−1〜13−m,MA1,MA2 マスタ装置、3−1〜3−m,12−1〜12−m,SL1,SL2 スレーブ装置、4,14,SL(MA1),SL(MA2),SL(SL1),SL(SL2) セレクタ、5,15,29 セレクタ制御回路、6,16,22 システムコントローラ、7,DMA1,DMA2 ダミーマスタ装置、8,18,23 バス、17,DSL1,DSL2 ダミースレーブ装置、SR(MA1),SR(MA2),SR(SL1),SR(SL2),SR(Sys) ステータスレジスタ。

Claims (11)

  1. バスシステムであって、
    バスと、
    前記バスに接続されることが可能な複数のマスタ装置と、
    前記バスに接続されることが可能な1個以上のスレーブ装置と、
    前記バスに接続されることが可能である第1のダミーマスタ装置とを備え、
    前記複数のマスタ装置に含まれる第1のマスタ装置に代わって、有効データがあることを表わす信号を前記第1のダミーマスタ装置が受信したときに、前記第1のダミーマスタ装置は、信号の受信が可能なことを表わす信号を出力し、
    前記バスシステムは、
    前記第1のマスタ装置と前記第1のダミーマスタ装置のうちのいずれかと前記バスとを接続するセレクタと、
    前記複数のマスタ装置のうち、故障が発生したマスタ装置のみを正常状態に復帰させるために、前記故障が発生したマスタ装置のみにリセット処理をさせるシステムコントローラと、
    前記第1のマスタ装置が故障状態のときに、前記第1のダミーマスタ装置と前記バスとが接続するように、前記セレクタを制御するセレクタ制御回路とを備え
    前記複数のマスタ装置のうち前記第1のマスタ装置以外のマスタ装置は、前記第1のマスタ装置に故障が発生したことによって前記第1のマスタ装置の前記リセット処理が実行されている間、縮退モードに移行し、
    前記縮退モードにおいて、前記第1のマスタ装置以外のマスタ装置は、前記第1のマスタ装置において処理が発生しないように、自己の処理を調整する、バスシステム。
  2. 第1のレジスタを備え、
    前記第1のマスタ装置は、前記故障が発生したときに前記第1のレジスタをセットし、前記リセット処理が終了したときに前記第1のレジスタをクリアする、請求項1記載のバスシステム。
  3. 前記第1のレジスタは、前記第1のマスタ装置内に設けられる、請求項記載のバスシステム。
  4. 前記第1のレジスタは、前記第1のダミーマスタ装置内に設けられる、請求項記載のバスシステム。
  5. 前記セレクタ制御回路は、前記第1のマスタ装置の前記リセット処理が終了後に、前記第1のマスタ装置と前記バスとが接続するように、前記セレクタを制御する、請求項1記載のバスシステム。
  6. バスと、
    前記バスに接続されることが可能な1個以上のマスタ装置と、
    前記バスに接続されることが可能な複数のスレーブ装置と、
    前記バスに接続されることが可能であり、かつ前記複数のスレーブ装置に含まれる第1のスレーブ装置に代わって、有効データがあることを表わす信号を受信したときに、信号の受信が可能なことを表わす信号を出力する第1のダミースレーブ装置と、
    前記第1のスレーブ装置と前記第1のダミースレーブ装置のうちのいずれかと前記バスとを接続するセレクタと、
    前記複数のスレーブ装置のうち、故障が発生したスレーブ装置のみを正常状態に復帰させるために、前記故障が発生したスレーブ装置のみにリセット処理をさせるシステムコントローラと、
    前記第1のスレーブ装置が故障状態のときに、前記第1のダミースレーブ装置と前記バスとが接続するように、前記セレクタを制御するセレクタ制御回路とを備え
    前記1個以上のマスタ装置は、前記第1のスレーブ装置に故障が発生したことによって前記第1のスレーブ装置の前記リセット処理が実行されている間、縮退モードに移行し
    前記縮退モードにおいて、前記1個以上のマスタ装置は、前記第1のスレーブ装置において処理が発生しないように、自己の処理を調整する、バスシステム。
  7. 第1のレジスタを備え、
    前記第1のスレーブ装置は、前記故障が発生したときに前記第1のレジスタをセットし、前記リセット処理が終了したときに前記第1のレジスタをクリアする、請求項記載のバスシステム。
  8. 前記第1のレジスタは、前記第1のスレーブ装置内に設けられる、請求項記載のバスシステム。
  9. 前記第1のレジスタは、前記第1のダミースレーブ装置内に設けられる、請求項記載のバスシステム。
  10. 前記セレクタ制御回路は、前記第1のスレーブ装置の前記リセット処理が終了後に、前記第1のスレーブ装置と前記バスとが接続するように、前記セレクタを制御する、請求項記載のバスシステム。
  11. バスシステムであって、
    バスと、
    前記バスに接続されることが可能な複数のマスタ装置と、
    前記バスに接続されることが可能な複数のスレーブ装置と、
    各々が、対応する前記マスタ装置に対応して設けられる複数のダミーマスタ装置とを備え、
    前記複数のダミーマスタ装置の各々が、前記対応するマスタ装置に代わって、有効データがあることを表わす信号を受信したときに、前記複数のダミーマスタ装置の各々が、信号の受信が可能なことを表わす信号を出力し、
    前記バスシステムは、
    各々が、対応するスレーブ装置に対して設けられる複数のダミースレーブ装置を備え、前記複数のダミースレーブ装置の各々が、前記対応するスレーブ装置に代わって、有効データがあることを表わす信号を受信したときに、前記複数のダミースレーブ装置の各々が、信号の受信が可能なことを表わす信号を出力し、
    前記バスシステムは、
    各々が、対応する前記マスタ装置または対応する前記スレーブ装置と、対応する前記ダミーマスタ装置と対応する前記スレーブ装置のうちのいずれかと、前記バスとを接続する複数のセレクタと、
    前記複数のマスタ装置および前記複数のスレーブ装置のうち、故障が発生した装置のみを正常状態に復帰させるために、前記故障が発生した装置のみにリセット処理をさせるシステムコントローラと、
    前記複数のマスタ装置および前記複数のスレーブ装置のうちいずれかの装置が故障状態のときに、対応する前記ダミーマスタ装置または前記ダミースレーブ装置と前記バスとが接続するように、前記故障状態の装置に対応する前記セレクタを制御するセレクタ制御回路とを備え
    各々が、前記複数のマスタ装置および前記複数のスレーブ装置のうちのいずれかに対応して設けられる複数の第1種のレジスタと、
    前記複数のマスタ装置および前記複数のスレーブ装置が正常状態であるか、故障状態であるかを識別するために設けられる第2種のレジスタとを備え、
    前記マスタ装置および前記スレーブ装置は、故障が発生したときに対応する第1種のレジスタをセットし、リセット処理が終了したときに対応する前記第1種のレジスタをクリアし、
    前記第1種のレジスタがセットされたときに、前記第1種のレジスタは、前記第2種のレジスタ内の前記第1種のレジスタに対応するビットをセットし、前記第1種のレジスタがクリアされたときに、前記第1種のレジスタは、前記第2種のレジスタ内の前記第1種のレジスタに対応するビットをクリアし、
    前記第2種のレジスタ内に保持されているビット値が変化したときに、前記第2種のレジスタは、割込み信号を前記複数のマスタ装置に出力し、
    前記セレクタ制御回路は、前記第2種のレジスタ内に保持されているビット値に基づいて、前記複数のセレクタを制御する、バスシステム。
JP2015189795A 2015-09-28 2015-09-28 バスシステム Active JP6600518B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015189795A JP6600518B2 (ja) 2015-09-28 2015-09-28 バスシステム
US15/217,982 US20170091130A1 (en) 2015-09-28 2016-07-23 Bus system
CN201610842312.6A CN106557446B (zh) 2015-09-28 2016-09-22 总线系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015189795A JP6600518B2 (ja) 2015-09-28 2015-09-28 バスシステム

Publications (3)

Publication Number Publication Date
JP2017068345A JP2017068345A (ja) 2017-04-06
JP2017068345A5 JP2017068345A5 (ja) 2018-06-21
JP6600518B2 true JP6600518B2 (ja) 2019-10-30

Family

ID=58407215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015189795A Active JP6600518B2 (ja) 2015-09-28 2015-09-28 バスシステム

Country Status (3)

Country Link
US (1) US20170091130A1 (ja)
JP (1) JP6600518B2 (ja)
CN (1) CN106557446B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073939B2 (en) 2015-11-04 2018-09-11 Chronos Tech Llc System and method for application specific integrated circuit design
US11550982B2 (en) 2015-11-04 2023-01-10 Chronos Tech Llc Application specific integrated circuit interconnect
US9977853B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit link
US9977852B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit interconnect
US10181939B2 (en) 2016-07-08 2019-01-15 Chronos Tech Llc Systems and methods for the design and implementation of an input and output ports for circuit design
US10331835B2 (en) 2016-07-08 2019-06-25 Chronos Tech Llc ASIC design methodology for converting RTL HDL to a light netlist
US10637592B2 (en) 2017-08-04 2020-04-28 Chronos Tech Llc System and methods for measuring performance of an application specific integrated circuit interconnect
KR102385541B1 (ko) * 2017-09-29 2022-04-11 삼성전자주식회사 버스 시스템
CN108168548B (zh) * 2018-02-13 2022-03-15 南京师范大学 一种通过机器学习算法与模型辅助的行人惯性导航系统和方法
US11087057B1 (en) 2019-03-22 2021-08-10 Chronos Tech Llc System and method for application specific integrated circuit design related application information including a double nature arc abstraction
JP7466329B2 (ja) * 2020-02-19 2024-04-12 キヤノン株式会社 制御装置、システム、リソグラフィ装置、物品の製造方法、制御方法、およびプログラム
CN113542090B (zh) * 2020-04-14 2023-07-14 宁波弘讯科技股份有限公司 一种EtherCAT主从站一体网桥控制器及控制方法
CN116830087A (zh) * 2021-01-28 2023-09-29 华为技术有限公司 一种片上系统异常处理方法、片上系统及其装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660015A (ja) * 1992-06-08 1994-03-04 Mitsubishi Electric Corp 情報処理装置
US5579492A (en) * 1993-11-01 1996-11-26 Motorola, Inc. Data processing system and a method for dynamically ignoring bus transfer termination control signals for a predetermined amount of time
JP4198376B2 (ja) * 2002-04-02 2008-12-17 Necエレクトロニクス株式会社 バスシステム及びバスシステムを含む情報処理システム
JP4055903B2 (ja) * 2003-12-26 2008-03-05 シャープ株式会社 バス通信システム
KR100633773B1 (ko) * 2005-07-01 2006-10-13 삼성전자주식회사 버스 시스템 및 버스 중재 방법
JP2010140361A (ja) * 2008-12-12 2010-06-24 Fujitsu Microelectronics Ltd コンピュータシステム及び異常検出回路
JP5856434B2 (ja) * 2011-10-25 2016-02-09 ルネサスエレクトロニクス株式会社 バス接続回路、半導体装置及びバス接続回路の動作方法
US20140025852A1 (en) * 2012-07-19 2014-01-23 Lsi Corporation Configurable Response Generator for Varied Regions of System Address Space
CN103810074B (zh) * 2012-11-14 2017-12-29 华为技术有限公司 一种片上系统芯片及相应的监控方法
CN103217930B (zh) * 2013-05-02 2016-01-27 浙江中控技术股份有限公司 一种工业控制器间的数据交互系统
US9342422B2 (en) * 2013-11-07 2016-05-17 International Business Machines Corporation Selectively coupling a PCI host bridge to multiple PCI communication paths
US9804942B2 (en) * 2014-06-10 2017-10-31 Analog Devices, Inc. Safety node in interconnect data buses

Also Published As

Publication number Publication date
US20170091130A1 (en) 2017-03-30
CN106557446A (zh) 2017-04-05
JP2017068345A (ja) 2017-04-06
CN106557446B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
JP6600518B2 (ja) バスシステム
US7844852B2 (en) Data mirror cluster system, method and computer program for synchronizing data in data mirror cluster system
JP5859178B1 (ja) 通信装置及び方法
US9774671B2 (en) Parallel processing system and operation method of parallel processing system
KR20170088267A (ko) 멀티 스크린을 통해 출력되는 영상을 소프트웨어를 이용하여 동기화하기 위한 방법 및 그 장치
KR20150008746A (ko) Pci 익스프레스 스위치 장치 및 그의 접속 제어 방법
JP5908068B2 (ja) 待機冗長二重化装置
JPWO2020105129A1 (ja) 中継装置、通信システム、通信方法、および通信プログラム
JP2003163673A (ja) 切替装置、コンピュータ切替方法、コンピュータ切替システム
US20130226880A1 (en) Information processing system, memory device, information processing apparatus, and method of controlling information processing system
JP2016058835A (ja) 中継システムおよびスイッチ装置
KR100790747B1 (ko) 피엘시 시스템 및 그의 통신 제어 방법
JP5310735B2 (ja) パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法
JP2016143359A (ja) 電子機器及びファームウェア更新方法
KR100938612B1 (ko) 전송 장치, 전송 장치를 갖는 정보 처리 장치 및 제어 방법
US11456973B2 (en) Circuit for a buffered transmission of data
JPWO2020178968A1 (ja) ネットワーク検査システムおよびネットワーク検査プログラム
CN114245978A (zh) 主机装置、运算处理装置、可编程逻辑控制器、网络以及方法
JP2007110185A (ja) 伝送システム
JPWO2013125027A1 (ja) 通信装置及び通信方法及びプログラム
JPH1166024A (ja) クロスバスイッチ切換システム
JP6631370B2 (ja) マイクロコンピュータ及び電子制御装置
JP6384359B2 (ja) 分散共有メモリを有する情報処理装置、方法、および、プログラム
WO2020240833A1 (ja) 冗長ネットワーク装置、冗長ネットワーク方法、冗長ネットワークプログラム、及び、送信経路冗長化システム
KR20230101406A (ko) 차량용 제어기 시스템 및 그것에서의 시간 동기화 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190423

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: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191007

R150 Certificate of patent or registration of utility model

Ref document number: 6600518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150