(57)【要約】【課題】安全性及び信頼性を向上することのできる情報処理装置及びエラー検出方法を提供すること【解決手段】本発明にかかる情報処理装置は、複数のバススレーブと、任意のバススレーブを特定するベースアドレス値及び特定したバススレーブ内のアクセス位置を特定するオフセットアドレス値を含むアドレスデータを出力するバスマスタを備える。バスマスタが出力したベースアドレス値に基づき、任意のバススレーブを選択する選択信号を複数のバススレーブに出力する選択部と、バスマスタが出力したアドレスデータから生成したエラー検出符号を出力するエラー検出符号生成部と、バスマスタから出力されたオフセットアドレス値と、選択されたバススレーブを特定するベースアドレス値から生成したアドレスデータから生成したエラー検出符号と、エラー検出符号生成部から出力されたエラー検出符号に基づき、アドレスデータのエラーを検出するエラー検出部を備える。【選択図】図３
2010211347.tif 000002
【特許請求の範囲】
【請求項１】
複数のバススレーブと、前記複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含んだアドレスデータを出力するバスマスタを備えた情報処理装置であって、
前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択する選択信号を前記複数のバススレーブに対して出力する選択部と、
前記バスマスタが出力したアドレスデータに基づいてエラー検出符号を生成し、生成したエラー検出符号を出力するエラー検出符号生成部と、
前記バスマスタから出力されたオフセットアドレス値と、前記選択信号により選択されたバススレーブを特定するベースアドレス値から生成したアドレスデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から出力されたエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するエラー検出部を備えた情報処理装置。
【請求項２】
前記情報処理装置は、前記複数のバススレーブに対応する検査用選択信号のうち、前記バスマスタが出力したベースアドレス値に基づいて選択したバススレーブに対応する検査用選択信号にアクティブな値を出力する検査用選択部をさらに備え、
前記選択部は、前記選択信号のうち、前記選択をしたバススレーブに対応する選択信号にアクティブな値を出力し、
前記エラー検出部は、前記選択信号と、前記検査用選択信号の値とを比較することにより、前記選択信号のエラーを検出する請求項１に記載の情報処理装置。
【請求項３】
前記オフセットアドレス値は、アドレスバスを介して、前記バスマスタから前記バススレーブに出力され、
前記エラー検出符号は、前記アドレスバスとは異なるエラー検出符号用バスを介して、前記エラー検出符号生成部から前記エラー検出部に出力される請求項１又は２に記載の情報処理装置。
【請求項４】
前記エラー検出部は、エラーを検出した場合に、エラーを検出したことを示すエラー検出値を前記バスマスタに出力する請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
第１の装置と、
前記第１の装置とデータバスによって接続される第２の装置と、
前記第１の装置が前記第２の装置に前記データバスを介してデータを出力した場合に、当該データに基づいてエラー検出符号を生成し、生成したエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するエラー検出符号生成部と、
前記第１の装置から前記データバスに出力され、前記第２の装置に入力されるデータに基づいてエラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から前記エラー検出符号用バスに出力されたエラー検出符号とに基づいて、前記データのエラーを検出するエラー検出部を備えた情報処理装置。
【請求項６】
前記第１の装置、前記第２の装置のいずれか一方はバスマスタであり、かつ他方はバススレーブである請求項５に記載の情報処理装置。
【請求項７】
前記エラー検出部は、エラーを検出した場合に、エラーを検出したことを示すエラー検出値を前記バスマスタに出力する請求項５又は６に記載の情報処理装置。
【請求項８】
複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含み、バスマスタから出力されるアドレスデータのエラーを検出するエラー検出方法であって、
前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択するステップと、
前記バスマスタが出力したアドレスデータに基づいて第１のエラー検出符号を生成するステップと、
前記第１のエラー検出符号を出力するステップと、
前記バスマスタから出力されたオフセットアドレス値と、前記選択されたバススレーブを特定するベースアドレス値からアドレスデータを生成するステップと、
生成したアドレスデータに基づいて、第２のエラー検出符号を生成するステップと、
前記第１のエラー検出符号と、前記第２のエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するステップを備えたエラー検出方法。
【請求項９】
第１の装置から第２の装置にデータバスを介して出力されるデータのエラーを検出するエラー検出方法であって、
前記第１の装置が前記第２の装置に前記データバスを介してデータを出力した場合に、当該データに基づいて第１のエラー検出符号を生成するステップと、
前記第１のエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するステップと、
前記第１の装置から前記データバスに出力され、前記第２の装置に入力されるデータに基づいて第２のエラー検出符号を生成するステップと、
前記第１のエラー検出符号と、前記第２のエラー検出符号とに基づいて、前記データのエラーを検出するステップを備えたエラー検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びエラー検出方法に関する。
【背景技術】
【０００２】
近年、車載向けにマイクロコンピュータ(以下、「マイコン」とする)が数多く利用されるようになっている。また、車載向けマイコンでは、誤動作が人命に関わるため、機能安全(故障が発生してもシステムや機器の安全性を確保できるように機能を実装しておくという考え方)が重要となっており、その考え方に基づいてマイコンの実装が行われている。
そのため、車載向けマイコンでは、他分野向けのマイコンよりも、高い安全性及び信頼性が求められている。
【０００３】
なお、特許文献１には、パリティビット方式等を持たない標準バスと、その標準バスに接続される各アダプタ及びメモリ等の間に、ＣＲＣ(Cyclic Redundancy Check)符号生成器と誤り検出器を備えた誤り制御装置を置くことにより、データ転送の末尾にＣＲＣ符号を付けて、誤り検出のできる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１２２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
背景技術として説明したように、車載向けマイコンでは、高い安全性及び信頼性が求められているという問題がある。
【課題を解決するための手段】
【０００６】
本発明にかかる情報処理装置は、複数のバススレーブと、前記複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含んだアドレスデータを出力するバスマスタを備えた情報処理装置であって、前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択する選択信号を前記複数のバススレーブに対して出力する選択部と、前記バスマスタが出力したアドレスデータに基づいてエラー検出符号を生成し、生成したエラー検出符号を出力するエラー検出符号生成部と、前記バスマスタから出力されたオフセットアドレス値と、前記選択信号により選択されたバススレーブを特定するベースアドレス値から生成したアドレスデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から出力されたエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するエラー検出部を備えたものである。
【０００７】
これにより、アドレスデータのエラーを検出することができ、安全性及び信頼性を向上することができる。
【０００８】
他方、本発明にかかる情報処理装置は、第１の装置と、前記第１の装置とデータバスによって接続される第２の装置と、前記第１の装置が前記第２の装置に前記データバスを介してデータを出力した場合に、当該データに基づいてエラー検出符号を生成し、生成したエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するエラー検出符号生成部と、前記第１の装置から前記データバスに出力され、前記第２の装置に入力されるデータに基づいてエラー検出符号を生成し、生成したエラー検出符号と、前記エラー検出符号生成部から前記エラー検出符号用バスに出力されたエラー検出符号とに基づいて、前記データのエラーを検出するエラー検出部を備えたものである。
【０００９】
これにより、データのエラーを検出することができ、安全性及び信頼性を向上することができる。
【００１０】
本発明にかかるエラー検出方法は、複数のバススレーブのうち、任意のバススレーブを特定するベースアドレス値および前記特定したバススレーブに入力され、当該バススレーブ内におけるアクセス位置を特定するオフセットアドレス値を含み、バスマスタから出力されるアドレスデータのエラーを検出するエラー検出方法であって、前記バスマスタが出力したベースアドレス値に基づいて、任意のバススレーブを選択するステップと、前記バスマスタが出力したアドレスデータに基づいて第１のエラー検出符号を生成するステップと、前記第１のエラー検出符号を出力するステップと、前記バスマスタから出力されたオフセットアドレス値と、前記選択信号により選択されたバススレーブを特定するベースアドレス値からアドレスデータを生成するステップと、生成したアドレスデータに基づいて、第２のエラー検出符号を生成するステップと、前記第１のエラー検出符号と、前記第２のエラー検出符号とに基づいて、前記アドレスデータのエラーを検出するステップを備えたものである。
【００１１】
これにより、アドレスデータのエラーを検出することができ、安全性及び信頼性を向上することができる。
【００１２】
他方、本発明にかかるエラー検出方法は、第１の装置から第２の装置にデータバスを介して出力されるデータのエラーを検出するエラー検出方法であって、前記第１の装置が前記第２の装置に前記データバスを介してデータを出力した場合に、当該データに基づいて第１のエラー検出符号を生成するステップと、前記第１のエラー検出符号を前記データバスとは異なるエラー検出符号用バスに出力するステップと、前記第１の装置から前記データバスに出力され、前記第２の装置に入力されるデータに基づいて第２のエラー検出符号を生成するステップと、前記第１のエラー検出符号と、前記第２のエラー検出符号とに基づいて、前記データのエラーを検出するステップを備えたものである。
【００１３】
これにより、データのエラーを検出することができ、安全性及び信頼性を向上することができる。
【発明の効果】
【００１４】
本発明により、安全性及び信頼性を向上することのできる情報処理装置及びエラー検出方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態にかかる情報処理措置のデータバス構成を示す図である。
【図２】本発明の実施の形態を適用前の情報処理装置のアドレスバス構成を示す図である。
【図３】本発明の実施の形態にかかる情報処理装置のアドレスバス構成を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態について、ＡＰＢ(Advanced Peripheral Bus)バスを有する情報処理装置に適用した場合について例示する。
まず、図１を参照して、本発明の実施の形態にかかる情報処理装置のデータバス構成について説明する。図１は、本発明の実施の形態にかかる情報処理装置のデータバス構成を示す図である。
【００１７】
本実施の形態にかかる情報処理装置は、ＡＰＢマスタ１、ＡＰＢスレーブ２、ＥＤＣエンコーダ１０、１１、ＥＤＣデコーダ２０、２１、ＰＳＬＶＥＲＲジェネレータ３０及びＰＳＬＶＥＲＲコントローラ３１を備える。
【００１８】
ＡＰＢマスタ１及びＡＰＢスレーブ２は、データバス２００及びマルチプレクサ１００を介したデータバス２０１によって相互に接続される。ＥＤＣエンコーダ１０及びＥＤＣデコーダ２０は、エラー検出符号用バス２１０によって相互に接続される。ＥＤＣエンコーダ１１及びＥＤＣデコーダ２１は、マルチプレクサ１０１を介して、エラー検出符号用バス２１１によって相互に接続される。ＰＳＬＶＥＲＲジェネレータ３０及びＰＳＬＶＥＲＲコントローラ３１は、マルチプレクサ１０２を介して、ＰＳＬＶＥＲＲ信号線２２０によって相互に接続される。また、データバス２００、２０１及びエラー検出符号用バス２１０、２１１は、リピータバッファ１１０、１１１、１１２、１１３、１１４、１１５、１１６、１１７を備える。なお、リピータバッファ１１０、１１１、１１２、１１３、１１４、１１５、１１６、１１７は、本実施の形態における例示に限定されるものではなく、例えば、配置される数や配置される位置等について様々な変更をすることができる。図１は、データバス２００、２１０のバス幅が３２ビットであり、エラー検出符号用バス２１０、２１１のバス幅が７ビットの例である。
【００１９】
ＡＰＢマスタ１は、バスマスタとなる装置である。ＡＰＢマスタ１は、例えば、ＣＰＵ(Central Processing Unit)又はＤＭＡ(Direct Memory Access)コントローラである。
ＡＰＢスレーブ２は、バススレーブとなる装置である。ＡＰＢスレーブ２は、例えば、タイマやＡＤＣ(Analog Digital Converter)等である。
【００２０】
ＥＤＣエンコーダ１０、１１は、ＡＰＢマスタ１から出力されるデータに基づいて、エラー検出符号(ＥＤＣ:Error Detecting Code)を生成する。また、ＥＤＣエンコーダ１０、１１は、生成したエラー検出符号をＥＤＣデコーダ２０、２１に出力する。ＥＤＣエンコーダは、エラー検出符号生成部として機能する。
ＥＤＣデコーダ２０、２１は、ＡＰＢスレーブ２に入力されるデータ及びＥＤＣエンコーダ１０、１１から出力されるエラー検出符号に基づいて、データのエラーを検出する。また、ＥＤＣデコーダ２０は、エラーを検出した場合、データのエラーを検出したことを示す値であるＥＤＣＥＲＲをＰＳＬＶＥＲＲジェネレータ３０に出力する。また、ＥＤＣデコーダ２１は、データのエラーを検出した場合、ＰＳＬＶＥＲＲコントローラ３１にＥＤＣＥＲＲを出力する。
【００２１】
ＰＳＬＶＥＲＲジェネレータ３０は、ＥＤＣデコーダ２０から出力されるＥＤＣＥＲＲに応じて、エラーを検出したことを示す値であるＰＳＬＶＥＲＲをＰＳＬＶＥＲＲコントローラ３１に出力する。
ＰＳＬＶＥＲＲコントローラ３１は、ＥＤＣデコーダ２１から出力されるＥＤＣＥＲＲやＰＳＬＶＥＲＲジェネレータ３０から出力されるＰＳＬＶＥＲＲに応じて、ＰＳＬＶＥＲＲをＡＰＢマスタ１に出力する。ＥＤＣデコーダ、ＰＳＬＶＥＲＲジェネレータ及びＰＳＬＶＥＲＲコントローラは、エラー検出部として機能する。
【００２２】
なお、ＡＰＢバスでは、１つのＡＰＢマスタと複数のＡＰＢスレーブからなる構成をとるが、図１では、そのうちの１つのＡＰＢスレーブであるＡＰＢスレーブ２のみを記載しており、ＡＰＢスレーブ２以外のＡＰＢスレーブは図示を省略している。また、ＡＰＢスレーブ２以外のＡＰＢスレーブ側のＥＤＣデコーダ及びＰＳＬＶＥＲＲジェネレータも図示を省略している。よって、本実施の形態では、ＡＰＢマスタ１が後述するアドレスバスへの出力によって、ＡＰＢスレーブ２を選択している場合について例示している。また、マルチプレクサ１００、１０１、１０２は、ＡＰＢスレーブ２以外のＡＰＢスレーブからのデータバス、エラー検出符号用バス及びＰＳＬＶＥＲＲ信号線も接続されており、ＡＰＢマスタ１がアドレスバスへの出力によって選択しているＡＰＢスレーブに対応する信号線からの信号を選択する動作を行う。よって、ＡＰＢスレーブ２以外のＡＰＢスレーブに接続されるデータバス、エラー検出符号用バス及びＰＳＬＶＥＲＲ信号線についても図示を省略している。
【００２３】
続いて、本発明の実施の形態にかかる情報処理装置のデータバスにおける処理について説明する。
まず、ＡＰＢマスタ１は、任意の３２ビットのデータ(PWDATA[31:0])をデータバス２００を介して、ＡＰＢスレーブ２に出力する。
ＥＤＣエンコーダ１０は、ＡＰＢマスタ１から出力されたデータを取得し、取得したデータに基づいて、７ビットのエラー検出符号(PWDATA_edc)を生成する。そして、ＥＤＣエンコーダ１０は、生成したエラー検出符号をエラー検出符号用バス２１０を介して、ＥＤＣデコーダ２０に出力する。
【００２４】
ＥＤＣデコーダ２０は、ＡＰＢマスタ１から出力され、ＡＰＢスレーブ２に入力されるデータを取得するとともに、ＥＤＣエンコーダ１０から出力されたエラー検出符号を取得する。そして、取得したデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、ＥＤＣエンコーダ１０から出力されたエラー検出符号とを比較することにより、データにエラーがあるかどうかを判定する。ここで、データのエラーとは、例えば、信号の遅延時間の調整や波形の整形のために設けられたリピータバッファ１１０、１１１、１１６、１１７において、外部放射線の影響によりデータがビット反転して変化してしまうこと等である。
【００２５】
比較したエラー検出符号が一致しており、データにエラーがないと判定した場合、ＥＤＣデコーダ２０は、何も行わない。
比較したエラー検出符号が一致しておらず、データにエラーがあると判定した場合、ＥＤＣデコーダ２０は、ＥＤＣＥＲＲをＰＳＬＶＥＲＲジェネレータ３０に出力する。そして、ＰＳＬＶＥＲＲジェネレータ３０は、ＥＤＣデコーダ２０からＥＤＣＥＲＲの出力を受けた場合、ＰＳＬＶＥＲＲをＰＳＬＶＥＲＲコントローラ３１に出力する。
【００２６】
他方、ＡＰＢスレーブ２は、ＡＰＢマスタ１から出力されたデータを取得し、取得したデータに応じた３２ビットのデータ(PRDATA[31:0])をデータバス２０１を介して、ＡＰＢマスタ１に出力する。
ＥＤＣエンコーダ１１は、ＡＰＢスレーブ２から出力されたデータを取得し、取得したデータに基づいて、７ビットのエラー検出符号(PRDATA_edc)を生成する。そして、ＥＤＣエンコーダ１１は、生成したエラー検出符号をエラー検出符号用バス２１１を介して、ＥＤＣデコーダ２１に出力する。
【００２７】
ＥＤＣデコーダ２１は、ＡＰＢスレーブ２から出力され、ＡＰＢマスタ１に入力されるデータを取得するとともに、ＥＤＣエンコーダ１１から出力されたエラー検出符号を取得する。そして、取得したデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、ＥＤＣエンコーダ１１から出力されたエラー検出符号とを比較することにより、データがエラーしているかどうかを判定する。
【００２８】
比較したエラー検出符号が一致しており、データにエラーがないと判定した場合、ＥＤＣデコーダ２１は、何も行わない。
比較したエラー検出符号が一致しておらず、データにエラーがあると判定した場合、ＥＤＣデコーダ２１は、ＥＤＣＥＲＲをＰＳＬＶＥＲＲコントローラ３１に出力する。そして、ＰＳＬＶＥＲＲコントローラ３１は、ＥＤＣデコーダ２０からＥＤＣＥＲＲの出力を受けた場合、もしくはＰＳＬＶＥＲＲジェネレータ３０からＰＳＬＶＥＲＲの出力を受けた場合、ＰＳＬＶＥＲＲをＡＰＢマスタ１に出力する。
【００２９】
他方、ＡＰＢマスタ１は、ＡＰＢスレーブ２から出力されるデータ及びＰＳＬＶＥＲＲコントローラ３１から出力される信号を待ち合わせる。
ＡＰＢマスタ１は、ＰＳＬＶＥＲＲコントローラ３１からＰＳＬＶＥＲＲの出力を受けた場合、つまり、データのエラーが発生した場合、データの再送信または処理の停止などのエラーに応じた処理を実行する。
ＡＰＢマスタ１は、ＰＳＬＶＥＲＲコントローラ３１から、ＰＳＬＶＥＲＲの出力を受けなかった場合、つまり、データのエラーが発生しなかった場合、取得したデータを用いて処理を継続する。
【００３０】
なお、ここでの待ち合わせは、例えば、ＰＳＬＶＥＲＲを出力する信号線とは別に、データのエラー判定結果が確定したことを示す信号線を用意することにより、ＰＳＬＶＥＲＲの出力を受けていない場合、つまり、データのエラーが発生しなかった場合であっても、ＡＰＢマスタ１がデータのエラー判定結果の確定を認識することができる。
なお、ここでは、ＡＰＢデータバスに適用した場合について例示しているが、ＡＰＢデータバスに制限されることなく、他のバスについても適用可能である。  
【００３１】
以上に説明したように、本実施の形態によれば、データのエラーを検出することができ、安全性及び信頼性を向上することができる。
また、本実施の形態では、データバスとは異なるバスにエラー検出符号を出力しているため、データバスにおけるデータ量及びデータバスにおいて行われる処理量は増えることがない。これにより、処理速度の低下を抑えて安全性及び信頼性を向上することができる。
【００３２】
続いて、本発明の実施の形態にかかる情報処理装置のアドレスバスについて説明のために、まず、図２を参照して、本発明の実施の形態を適用前の情報処理装置のアドレスバス構成について説明する。図２は、本発明の実施の形態を適用前の情報処理装置のアドレスバス構成を示す図である。
【００３３】
本発明の実施の形態を適用前の情報処理装置は、ＡＰＢマスタ１、ＡＰＢスレーブ２及びＰＳＥＬデコーダ４０を備える。
ＡＰＢマスタ１、ＡＰＢスレーブ２及びＰＳＥＬデコーダ４０は、アドレスバス３００、３０１により相互に接続される。ＰＳＥＬデコーダ４０及びＡＰＢスレーブ２は、ＰＳＥＬｘ信号線３１０によって相互に接続される。なお、図２は、アドレスバス３００のバス幅が３２ビットであり、アドレスバス３０１のバス幅がｎ＋１ビットの例である。なお、アドレスバス３０１は、アドレスバス３００に出力される３２ビットのアドレスデータ(PADDR[31:0])のうちのｎ〜０ビット(ｎ＋１ビット)のオフセットアドレス値(PADDR[n:0])を転送する。アドレスバス３０１は、例えば、アドレスバス３００の３２ビットの信号線のうち、ｎ〜０ビットの信号線が分岐したバスである。なお、ｎは、０〜３０の整数である。
【００３４】
ＡＰＢマスタ１及びＡＰＢスレーブ２については、図１と同様であるため説明を省略する。
ＰＳＥＬデコーダ４０は、ＡＰＢマスタ１から入力されるアドレスデータのうちの３１〜ｎ＋１ビット(３２−(ｎ＋１)ビット)のベースアドレス値(PADDR[31:n+1])に応じて、ＰＳＥＬｘ信号をＡＰＢスレーブ２に出力する。
【００３５】
なお、図１と同様に、ＡＰＢスレーブ２以外のＡＰＢスレーブは図示を省略している。よって、ＰＳＥＬデコーダ４０からＡＰＢスレーブ２以外のＡＰＢスレーブに接続されているＰＳＥＬｘ信号線およびアドレスバスも図示を省略している。また、リピータバッファについても図示を省略している。
【００３６】
続いて、本発明の実施の形態を適用前の情報処理装置のアドレスバスの処理について説明する。
まず、ＡＰＢマスタ１は、任意のアドレスデータをアドレスバス３００に出力する。そして、ＡＰＢスレーブ２には、ＡＰＢマスタ１から出力されたアドレスデータのうちのオフセットアドレス値がアドレスバス３０１を介して入力される。
【００３７】
ＰＳＥＬデコーダ４０は、ＡＰＢマスタ１から出力されたアドレスデータを取得し、取得したアドレスデータのうちのベースアドレス値と、全てのＡＰＢスレーブのベースアドレス値とを比較する。ここで、ＡＰＢスレーブのベースアドレス値とは、ＡＰＢスレーブに割り当てられたアドレスにおける３２ビットの先頭アドレス値のうちの３１〜ｎ＋１ビット(３２−(ｎ＋１)ビット)のアドレス値である。そして、ベースアドレス値が一致したＡＰＢスレーブにアクティブとしたＰＳＥＬｘ信号を出力する。よって、ＡＰＢスレーブ２のベースアドレス値と、ＡＰＢマスタ１から出力されたアドレスデータのうちのベースアドレス値が一致した場合、ＰＳＥＬデコーダ４０は、ＰＳＥＬｘ信号線３１０を介して、アクティブなＰＳＥＬｘ信号をＡＰＢスレーブ２に出力する。ＰＳＥＬデコーダ４０は、例えば、全てのＡＰＢスレーブのベースアドレス値を有するようにすることで、上述の比較を行えるようにする。
【００３８】
このように、ＡＰＢアドレスバスでは、ＡＰＢマスタは、アドレスデータのうちのベースアドレス値に基づいてＡＰＢスレーブを選択し、オフセットアドレス値によって選択したＡＰＢスレーブに割り当てられたアドレス領域内のアクセス先アドレスを指定する。つまり、３２ビットのアドレスデータがそのままＡＰＢスレーブには入力されない。なお、アドレス領域は、２のｎ乗のサイズとなる。
よって、ＡＰＢスレーブ２側には、ＰＳＥＬｘ信号とオフセットアドレス値が入力されることとなり、ＡＰＢマスタ１が出力したアドレスデータが分からないため、そのままでは、上述のデータバスに適用したようなデータのエラー検出方法を適用することができない。
【００３９】
そこで、本実施の形態では、後述する手段により、アドレスバスにおけるデータのエラーを検出する。なお、本実施の形態では、ＡＰＢアドレスバスに適用した場合について例示しているが、ＡＰＢアドレスバスに制限されることなく、他のバスについても適用可能である。例えば、メモリマップドＩ／Ｏ方式を採用しており、配線を減らすため等により、上述のようにアドレスデータの一部の値がバススレーブに入力されるようなアドレスバス構成のものにも適用可能である。
【００４０】
続いて、図３を参照して、本発明の実施の形態にかかる情報処理装置のアドレスバス構成について説明する。図３は、本発明の実施の形態にかかる情報処理装置のアドレスバス構成を示す図である。なお、図３は、図２に本発明の実施の形態を適用した情報処理装置であるため、図２と同様の接続関係および構成要素については説明を省略する。
【００４１】
本実施の形態にかかる情報処理装置は、ＡＰＢマスタ１、ＡＰＢスレーブ２、ＥＤＣエンコーダ１２、ＥＤＣデコーダ２２、ＰＳＬＶＥＲＲジェネレータ３２、ＰＳＬＶＥＲＲコントローラ３３、ＰＳＥＬデコーダ４０、ＰＳＥＬデコーダチェッカ４１、ベースアドレス記憶装置５０及びＡＮＤ回路６０を備える。
【００４２】
ＡＰＢマスタ１、ＡＰＢスレーブ２、ＥＤＣエンコーダ１２、ＰＳＥＬデコーダ４０及びＰＳＥＬデコーダチェッカ４１は、アドレスバス３００、３０１によって相互に接続される。ＡＮＤ回路６０は、ＰＳＥＬｘ信号線３１０によってＡＰＢスレーブ２及びＰＳＥＬデコーダ４０と、ＰＳＥＬｘ＿ｃｈｋ信号線３２０によってＰＳＥＬデコーダチェッカ４１と接続される。ＥＤＣエンコーダ１２及びＥＤＣデコーダ２２は、エラー検出符号用バス３１１によって相互に接続される。ＰＳＬＶＥＲＲコントローラ３３及びＰＳＬＶＥＲＲジェネレータ３２は、マルチプレクサ１０３を介して、ＰＳＬＶＥＲＲ信号線３３０によって相互に接続される。なお、図３は、エラー検出符号用バス３１１のバス幅が７ビットの例である。
【００４３】
ＥＤＣエンコーダ１２は、ＡＰＢマスタ１から出力されるアドレスデータに基づいて、エラー検出符号(ＥＤＣ:Error Detecting Code)を生成する。また、ＥＤＣエンコーダ１２は、生成したエラー検出符号をＥＤＣデコーダ２２に出力する。ＥＤＣエンコーダは、エラー検出符号生成部として機能する。
ＥＤＣデコーダ２２は、ＡＰＢスレーブ２に入力されるオフセットアドレス値、ベースアドレス記憶部５０が記憶するベースアドレス値およびＥＤＣエンコーダ１２から出力されるエラー検出符号に基づいて、アドレスデータのエラーを検出する。また、ＥＤＣデコーダ２２は、エラーを検出した場合、アドレスデータのエラーを検出したことを示す値であるＥＤＣＥＲＲをＰＳＬＶＥＲＲジェネレータ３２に出力する。
【００４４】
ＰＳＬＶＥＲＲジェネレータ３２は、ＥＤＣデコーダ２２から出力されるＥＤＣＥＲＲに応じて、エラーを検出したことを示す値であるＰＳＬＶＥＲＲをＰＳＬＶＥＲＲコントローラ３３に出力する。また、ＰＳＬＶＥＲＲジェネレータ３２は、ＡＮＤ回路６０から出力されるＡＮＤ値に応じて、ＰＳＥＬデコーダ４０が出力するＰＳＥＬｘ信号のエラーを検出し、それに応じて、ＰＳＬＶＥＲＲをＰＳＬＶＥＲＲコントローラ３３に出力する。
ＰＳＬＶＥＲＲコントローラ３３は、ＰＳＬＶＥＲＲジェネレータ３２から出力されるＰＳＬＶＥＲＲに応じて、ＰＳＬＶＥＲＲをＡＰＢマスタ１に出力する。ＥＤＣデコーダ、ＰＳＬＶＥＲＲジェネレータ及びＰＳＬＶＥＲＲコントローラは、エラー検出部として機能する。
【００４５】
ＰＳＥＬデコーダ４０は、ＡＰＢマスタ１から入力されるアドレスデーダのうちのベースアドレス値に応じて、ＰＳＥＬｘ信号をＡＰＢスレーブ２に出力する。さらに、ＰＳＥＬデコーダ４０は、ＰＳＥＬｘ信号をＡＮＤ回路６０に出力する。
ＰＳＥＬデコーダチェッカ４１は、ＡＰＢマスタ１から入力されるアドレスデータのうちのベースアドレス値に応じて、ＰＳＥＬｘ＿ｃｈｋ信号をＡＮＤ回路６０に出力する。
【００４６】
ベースアドレス記憶装置５０は、ＡＰＢスレーブ２のベースアドレス値を記憶する。ベースアドレス記憶装置５０は、レジスタ又はメモリ等の任意の記憶手段を含む。ベースアドレス記憶装置は、ベースアドレス記憶部に相当する。
ＡＮＤ回路６０は、ＰＳＥＬデコーダ４０から出力されたＰＳＥＬｘ信号と、ＰＳＥＬデコーダチェッカ４１から出力されたＰＳＥＬｘ＿ｃｈｋ信号とのＡＮＤ値をＰＳＬＶＥＲＲジェネレータ３２に出力する。
【００４７】
なお、図２と同様に、ＡＰＢスレーブ２以外のＡＰＢスレーブは、図示を省略している。よって、ＡＰＢスレーブ２以外のＡＰＢスレーブからマルチプレクサ１０３に接続されるエラー検出符号用バス及びＰＳＬＶＥＲＲ信号線は、図示を省略している。よって、本実施の形態では、ＡＰＢマスタ１がアドレスバスへの出力によって、ＡＰＢスレーブ２を選択している場合について例示している。また、ＡＰＢスレーブ２以外のＡＰＢスレーブ側のＥＤＣデコーダ、ＰＳＬＶＥＲＲジェネレータ、ベースアドレス記憶装置及びＡＮＤ回路も図示を省略している。
【００４８】
続いて、本発明の実施の形態にかかる情報処理装置のアドレスバスにおける処理について説明する。
まず、ＡＰＢマスタ１は、任意のアドレスデータをアドレスバス３００に出力する。そして、ＡＰＢスレーブ２には、ＡＰＢマスタ１から出力されたアドレスデータのうち、オフセットアドレス値がアドレスバス３０１を介して入力される。
【００４９】
ＰＳＥＬデコーダ４０及びＰＳＥＬデコーダチェッカ４１は、ＡＰＢマスタ１から出力されたアドレスデータを取得し、取得したアドレスデータのうちのベースアドレス値と全てのＡＰＢスレーブのベースアドレス値とを比較する。
そして、ＰＳＥＬデコーダ４０は、ベースアドレス値が一致したＡＰＢスレーブ及びそのＡＰＢスレーブに対応するＡＮＤ回路に、ＰＳＥＬｘ信号をアクティブにして出力する。つまり、ＡＰＢスレーブ２のベースアドレス値と、ＡＰＢマスタ１から出力されたアドレスデータのうち、ベースアドレス値が一致した場合、ＰＳＥＬデコーダ４０は、アクティブにしたＰＳＥＬｘ信号をＡＰＢスレーブ２及びＡＮＤ回路６０に出力する。
【００５０】
また、ＰＳＥＬデコーダチェッカ４１は、ベースアドレス値が一致したＡＰＢスレーブに対応するＡＮＤ回路に、ＰＳＥＬｘ＿ｃｈｋ信号をアクティブにして出力する。つまり、ＡＰＢスレーブ２のベースアドレス値と、ＡＰＢマスタ１から出力されたアドレスデータのうち、ベースアドレス値が一致した場合、ＰＳＥＬデコーダ４０は、アクティブにしたＰＳＥＬｘ＿ｃｈｋ信号をＡＮＤ回路６０に出力する。ＰＳＥＬデコーダ４０及びＰＳＥＬデコーダチェッカ４１は、例えば、全てのＡＰＢスレーブのベースアドレス値を有するようにすることで、上述の比較を行えるようにする。
ＡＮＤ回路６０は、ＰＳＥＬデコーダ４０から出力されたＰＳＥＬｘ信号を取得し、ＰＳＥＬデコーダチェッカ４１から出力されたＰＳＥＬｘ＿ｃｈｋ信号を取得すると、取得したＰＳＥＬｘ信号及びＰＳＥＬｘ＿ｃｈｋ信号のＡＮＤ値をＰＳＬＶＥＲＲジェネレータ３２に出力する。
【００５１】
他方、ＥＤＣエンコーダ１２は、ＡＰＢマスタ１から出力されたアドレスデータをアドレスバス３００を介して取得し、取得したアドレスデータに基づいて、７ビットのエラー検出符号(PWDATA_edc)を生成する。そして、ＥＤＣエンコーダ１０は、生成したエラー検出符号をエラー検出符号用バス３１１を介して、ＥＤＣデコーダ２２に出力する。
【００５２】
ＥＤＣデコーダ２２は、ＡＰＢマスタ１から出力され、ＡＰＢスレーブ２に入力されるオフセットアドレス値と、ベースアドレス記憶装置５０に記憶され、ベースアドレス記憶装置５０から出力されるＡＰＢスレーブ２のベースアドレス値から生成されるアドレスデータを取得する。また、ＥＤＣエンコーダ１２から出力されたエラー検出符号を取得する。そして、取得したアドレスデータに基づいて、エラー検出符号を生成し、生成したエラー検出符号と、ＥＤＣエンコーダ１２から出力されたエラー検出符号とを比較することにより、アドレスデータにエラーがあるかどうかを判定する。
【００５３】
ここで、ＥＤＣデコーダ２２が取得するアドレスデータは、例えば、ベースアドレス記憶部５０からベースアドレス値を出力する３２−(ｎ＋１)ビットの信号線と、オフセットアドレス値が転送されるアドレスバス３０１のｎ＋１ビットの信号線を併せて、アドレスデータが生成されるようにし、ＥＤＣデコーダ２２に入力されるようにする。また、ＥＤＣデコーダ２２がベースアドレス値と、オフセットアドレス値を別々に取得するようにし、ＥＤＣデコーダ２２において、取得したベースアドレス値とオフセットアドレス値に基づいて、アドレスデータを生成するようにしてもよい。
【００５４】
比較したエラー検出符号が一致しており、アドレスデータにエラーがないと判定した場合、ＥＤＣデコーダ２２は、何も行わない。
比較したエラー検出符号が一致しておらず、アドレスデータにエラーがあると判定した場合、ＥＤＣデコーダ２２は、ＥＤＣＥＲＲをＰＳＬＶＥＲＲジェネレータ３２に出力する。
【００５５】
ＰＳＬＶＥＲＲジェネレータ３２は、ＥＤＣデコーダ２２からＥＤＣＥＲＲの出力を受けた場合、もしくは、ＡＮＤ回路６０からＰＳＥＬｘ信号とＰＳＥＬｘ＿ｃｈｋ信号が不一致となる値の出力を受けた場合、ＰＳＬＶＥＲＲコントローラ３３に出力する。そして、ＰＳＬＶＥＲＲコントローラ３３は、ＥＤＣデコーダ２２からＥＤＣＥＲＲの出力を受けた場合、ＰＳＬＶＥＲＲをＡＰＢマスタ１に出力する。
【００５６】
つまり、ＰＳＬＶＥＲＲジェネレータ３２における不一致の検出は、ＰＳＥＬｘ信号及びＰＳＥＬｘ＿ｃｈｋ信号のアクティブな値が"１"である場合、これらの信号のＡＮＤ値が"１"でなければ、不一致と検出する。また、このときに、ＰＳＥＬｘ信号及びＰＳＥＬｘ＿ｃｈｋ信号がともにノンアクティブ"０"な場合もエラーとしないようにするため、ＰＳＬＶＥＲＲジェネレータ３２にＰＳＥＬｘ信号を入力し、ＰＳＥＬｘ信号がアクティブ"１"の場合のみ判断するようにしている。このようにして、ＰＳＥＬｘ信号のエラーを検出する。なお、ＰＳＥＬｘ信号及びＰＳＥＬｘ＿ｃｈｋ信号がともにノンアクティブな場合もエラーとしないようにするため、ＡＮＤ回路でなく、ＸＯＲ回路やＸＮＯＲ回路によって、不一致を検出するようにしてもよい。
なお、ＡＰＢマスタ１のＰＳＬＶＥＲＲを受けた場合、もしくは、受けなかった場合における動作は、上述したデータバスにおける処理と同様である。
【００５７】
このように、本実施の形態では、ＡＰＢスレーブ側にオフセットアドレス値のみが入力される場合であっても、予めＡＰＢスレーブ側にベースアドレス値を記憶しておくことにより、ＡＰＢスレーブ側に入力されたオフセットアドレス値に基づいて、アドレスデータを生成し、そのアドレスデータに基づいて生成したエラー検出符号によってエラー検出を可能としている。
つまり、より具体的には、ＡＰＢマスタ１から出力され、ＡＰＢスレーブ２に入力されるまでに、オフセットアドレス値に発生したエラーを検出することが可能である。
【００５８】
また、本実施の形態では、ＰＳＥＬｘ信号により選択されたＡＰＢスレーブ２に対応し、予めＡＰＢスレーブ側に記憶されたベースアドレス値に基づいて、アドレスデータを生成して、そのアドレスデータに基づいて生成したエラー検出符号によってエラー検出を可能としている。よって、ＰＳＥＬデコーダ４０に入力されるベースアドレス値がエラーしてしまい、ＰＳＥＬデコーダ４０に入力されるベースアドレス値が、ＥＤＣエンコーダ１２に入力されるベースアドレス値と異なる場合には、ＥＤＣエンコーダ１２が生成するエラー検出符号と、ＥＤＣデコーダ２２が生成するエラー検出符号が不一致となり、エラーを検出することができる。
つまり、より具体的には、ＡＰＢマスタ１から出力され、ＰＳＥＬデコーダ４０に入力されるまでに、アドレスデータのうちのベースアドレス値に発生したエラーを検出することが可能である。
【００５９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、ＰＳＬＶＥＲＲコントローラ３３は、データバスとアドレスバスで同一のＰＳＬＶＥＲＲコントローラを設けるようにしてもよい。
さらに、本実施の形態では、ＥＤＣエンコーダ１２がアドレスバス３０１とは異なるエラー検出符号用バス３１１によってエラー検出符号をＥＤＣデコーダ２２に出力しているが、アドレスバス３０１を介して、オフセットアドレス値と一緒にエラー検出符号を出力するようにしてもよい。
また、本実施の形態では、バススレーブ側のＥＤＣデコーダやＰＳＬＶＥＲＲジェネレータをバススレーブのそれぞれに対応するように備えているが、それに限らず、バススレーブ側で共通のＥＤＣデコーダやＰＳＬＶＥＲＲジェネレータを備えるようにしてもよい。そして、ＰＳＥＬｘ信号に応じたバススレーブに対応するオフセットアドレス値やベースアドレス記憶部が記憶するベースアドレス値をＥＤＣデコーダに入力するようにしてもよい。
【００６０】
以上に説明したように、本実施の形態によれば、アドレスデータのエラーを検出することができ、安全性及び信頼性を向上することができる。つまり、本実施の形態では、バススレーブ側においてアドレスデータの全てのビットを受けとっていない場合であっても、バススレーブ側においてベースアドレス値を保持しておき、このベースアドレス値に基づいて、アドレスデータを復元することにより、データバスと同様にエラーの検出を行うことができる。
また、バスマスタがアクセスするバススレーブを選択するＰＳＥＬｘ信号のエラーを検出することができ、安全性及び信頼性を向上することができる。
さらに、本実施の形態では、アドレスバスとは異なるバスにエラー検出符号を出力しているため、アドレスバスにおけるデータ量及びアドレスバスにおいて行われる処理量は増えることがない。これにより、処理速度の低下を抑えて安全性及び信頼性を向上することができる。
【符号の説明】
【００６１】
１    ＡＰＢマスタ
２    ＡＰＢスレーブ
１０、１１、１２    ＥＤＣエンコーダ
２０、２１、２２    ＥＤＣデコーダ
３０、３２    ＰＳＬＶＥＲＲジェネレータ
３１、３３    ＰＳＬＶＥＲＲコントローラ
４０    ＰＳＥＬデコーダ
４０    ＰＳＥＬデコーダチェッカ
５０    ベースアドレス記憶装置
６０    ＡＮＤ回路
１００、１０１、１０２、１０３    マルチプレクサ
１１０、１１１、１１２、１１３、１１４、１１５、１１６、１１７    リピータバッファ
２００、２０１    データバス
２１０、２１１、３１１    エラー検出符号用バス
２２０    ＰＳＬＶＥＲＲ信号線
３００、３０１    アドレスバス
３１０    ＰＳＥＬｘ信号線
３２０    ＰＳＥＬｘ＿ｃｈｋ信号線
【図１】
2010211347.tif 000003
【図２】
2010211347.tif 000004
【図３】
2010211347.tif 000005