(57)【要約】  【課題】本発明は、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能な情報処理システムを提供することを目的とする。  【解決手段】本発明に係る情報処理システム１は、バスマスタ１１ａ〜１１ｄからのトランザクションを監視してメモリ１２に対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を内部バスＡ、Ｂ以外の信号線１５ａ〜１５ｄ経由でバスマスタ１１ａ〜１１ｄのいずれかに送出する監視装置１５を備えた構成としている。【選択図】      図１
2005228188.tif 000002
【特許請求の範囲】
【請求項１】
信号の伝達経路であるバスと、該バスを介して信号の授受を行う複数のバスマスタと、情報信号を格納するためのメモリと、前記バスマスタから前記バス経由で入力される処理要求に応じて前記メモリに対する前記情報信号の読み書きを制御するメモリコントローラと、を有する情報処理システムにおいて、
前記バスマスタからのトランザクションを監視して前記メモリに対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を前記バス以外の信号線経由で前記バスマスタのいずれかに送出する監視装置を備えたことを特徴とする情報処理システム。
【請求項２】
前記バスマスタは、前記メモリに対する情報信号の書込み処理を要求するためのライトトランザクションを送出し終えた後に、その送出完了を示すイベントトランザクションを続けて送出し、前記監視回路は、入力されたトランザクションが前記イベントトランザクションであるか否かに基づいて前記メモリに対するアクセス処理の進捗状況を検知することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ライトトランザクション及び前記イベントトランザクションは、いずれも前記メモリのデータ幅について有効なバイトレーンを設定するためのマスク属性を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、全てのバイトレーンをマスクするようにそのマスク属性を設定し、前記監視装置は、前記メモリに対するアクセス処理の進捗検知に際して、入力されたトランザクションが前記イベントトランザクションであるか否かをそのマスク属性に基づいて判断することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記ライトトランザクション及び前記イベントトランザクションは、いずれも前記マスク属性以外の属性情報を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、前記監視装置に対する任意の指示をその属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれた指示に基づいて前記バスマスタのいずれかに前記命令信号を送出することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記バスマスタは、前記イベントトランザクションの生成に際して、自身のＩＤとそのトランザクション完了通知を要求するコマンドをセットにした値を前記属性情報に書き込むとともに、前記監視装置から前記トランザクション完了通知を受け取るまで他のバスマスタに対する割込み信号の生成を待機し、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたＩＤ及びコマンドに基づいて、前記トランザクション完了通知を前記バスマスタに送出することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記バスマスタは、前記イベントトランザクションの生成に際して、他のバスマスタのＩＤとその起動信号を要求するコマンドをセットにした値を前記属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたＩＤ及びコマンドに基づいて、前記起動信号を前記他のバスマスタに送出することを特徴とする請求項４に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス経由でメモリアクセスを行う情報処理システムに関するものである。
【背景技術】
【０００２】
従来より、信号の伝達経路であるバスと、該バスを介して信号の授受を行う複数のバスマスタ（例えばＣＰＵ［Central Processing Unit］やＤＭＡＣ［Direct Memory Access Controller］）と、情報信号を格納するためのメモリと、バスマスタからバス経由で入力される処理要求（ライトトランザクションやリードトランザクション）に応じてメモリに対する情報信号の読み書きを制御するメモリコントローラと、を有して成る情報処理システムにおいて、ＣＰＵ以外のバスマスタは、メモリに対するアクセスが完了した時点（例えばライトトランザクションの送出が完了した時点）でＣＰＵへの割込み信号を生成し、自身のメモリアクセス処理が完了したことを通知するのが一般的である。
【０００３】
しかしながら、バスやバスマスタを数多く有して成る情報処理システムにおいては、バスの混み具合や調停順位等の関係により、ライトトランザクションが送出されてから実際にメモリへのライト処理が実行されるまでの間に、少なからず時間的なずれが生じる。そのため、いわゆる「割込み信号の追い越し」が発生して、バスマスタからの割込み信号を受け取ったＣＰＵ（或いは、該ＣＰＵによって別途起動される別のバスマスタ）がメモリから正しい情報信号をリードできない場合があった。
【０００４】
なお、上記課題を解決する従来技術としては、ＣＰＵへの割込み信号を一定時間遅延させる割り込み遅延装置が開示・提案されている（例えば、特許文献１を参照）。
【０００５】
また、上記課題を解決する他の従来技術としては、ライトトランザクションを保持中であることを通知する第１の入出力制御部と、前記通知を受けている間はＣＰＵへの割込み信号を保留し、ライト動作が完了された時点で保留されていた割込み信号を発行する第２の入出力制御部と、有して成る情報処理装置も開示・提案されている（例えば、特許文献２を参照）。
【特許文献１】特開平９−２７４５７１号公報
【特許文献２】特開平９−１６５４１号公報
【特許文献３】特開２００１−１４８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
確かに、上記した従来技術を採用すれば、バスやバスマスタを数多く有して成る情報処理システムにおいても「割込み信号の追い越し」を回避することができるので、安定したメモリアクセスを行うことが可能となる。
【０００７】
しかしながら、特許文献１に記載の技術では、バスの使用率等に依らず、常に一定時間（ライトトランザクションが送出されてから実際にメモリへのライト処理が実行されるまでの最大遅延時間）だけＣＰＵへの割込み信号が遅延されるため、バスの使用率が低い場合など、短時間でライト動作が完了されたときには、バスの解放が不要に遅れることになり、メモリアクセスの速度向上を阻害する要因となっていた。
【０００８】
また、特許文献２に記載の技術では、ＤＭＡライトや割込みのトランザクションを新たに定義する必要があり、データ幅が増大するだけでなく、既存のバスシステムを拡張するために多大な労力を要する、という課題があった。
【０００９】
なお、上記課題を解決する技術としては、バス自体にＣＰＵへのライト処理完了通知機能を持たせる構成も考えられるが、このような構成では、バスの構成を一から構築し直すために多大なコストや時間が必要となるばかりでなく、ライト処理の同期機能を有しない既存のバスを資産として活用しているシステムには適用できない、という課題があった。
【００１０】
また、いずれの従来構成でも、バスの調停処理はＣＰＵを介して行われていたため、あるバスマスタのトランザクション終了後に別のバスマスタを起動する場合には、ＣＰＵの介在に起因して時間的なロスが生じることになり、メモリアクセスの速度向上を阻害する要因となっていた。
【００１１】
本発明は、上記の問題点に鑑み、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能な情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明に係る情報処理システムは、信号の伝達経路であるバスと、該バスを介して信号の授受を行う複数のバスマスタと、情報信号を格納するためのメモリと、前記バスマスタから前記バス経由で入力される処理要求に応じて前記メモリに対する前記情報信号の読み書きを制御するメモリコントローラと、を有する情報処理システムにおいて、前記バスマスタからのトランザクションを監視して前記メモリに対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を前記バス以外の信号線経由で前記バスマスタのいずれかに送出する監視装置を備えた構成としている。
【００１３】
なお、上記構成から成る情報処理システムにおいて、前記バスマスタは、前記メモリに対する情報信号の書込み処理を要求するためのライトトランザクションを送出し終えた後に、その送出完了を示すイベントトランザクションを続けて送出し、前記監視回路は、入力されたトランザクションが前記イベントトランザクションであるか否かに基づいて前記メモリに対するアクセス処理の進捗状況を検知する構成にするとよい。
【００１４】
また、上記構成から成る情報処理システムにおいて、前記ライトトランザクション及び前記イベントトランザクションは、いずれも前記メモリのデータ幅について有効なバイトレーンを設定するためのマスク属性を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、全てのバイトレーンをマスクするようにそのマスク属性を設定し、前記監視装置は、前記メモリに対するアクセス処理の進捗検知に際して、入力されたトランザクションが前記イベントトランザクションであるか否かをそのマスク属性に基づいて判断する構成にするとよい。
【００１５】
また、上記構成から成る情報処理システムにおいて、前記ライトトランザクションと前記イベントトランザクションは、いずれも前記マスク属性以外の属性情報を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、前記監視装置に対する任意の指示をその属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれた指示に基づいて前記バスマスタのいずれかに前記命令信号を送出する構成にするとよい。
【００１６】
また、上記構成から成る情報処理システムにおいて、前記バスマスタは、前記イベントトランザクションの生成に際して、自身のＩＤとそのトランザクション完了通知を要求するコマンドをセットにした値を前記属性情報に書き込むとともに、前記監視装置から前記トランザクション完了通知を受け取るまで他のバスマスタに対する割込み信号の生成を待機し、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたＩＤ及びコマンドに基づいて、前記トランザクション完了通知を前記バスマスタに送出する構成にするとよい。
【００１７】
また、上記構成から成る情報処理システムにおいて、前記バスマスタは、前記イベントトランザクションの生成に際して、他のバスマスタのＩＤとその起動信号を要求するコマンドをセットにした値を前記属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたＩＤ及びコマンドに基づいて、前記起動信号を前記他のバスマスタに送出する構成にするとよい。
【発明の効果】
【００１８】
上記したように、本発明に係る情報処理システムであれば、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能となる。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明に係る情報処理システムの一実施形態を示すブロック図である。本図に示すように、本実施形態の情報処理システム１（ＳｏＣ［System On a Chip］やＡＳＩＣ［Application Specific Integrated Circuit］など）は、信号の伝達経路である内部バスＡ、Ｂ（内部バスＡは高速バス、内部バスＢは低速バス）と、該内部バスＡ、Ｂを介して信号の授受を行う複数のバスマスタ（内部バスＡに接続されたＣＰＵ１０及びバスマスタ１１ａ、１１ｂと、内部バスＢに接続されたバスマスタ１１ｃ、１１ｄ）と、情報信号を格納するためのメモリ１２（ＤＲＡＭ［Dynamic Random Access Memory］、ＳＤＲＡＭ［Synchronous DRAM］、ＳＲＡＭ［Static RAM］など）と、ＣＰＵ１０及びバスマスタ１１ａ〜１１ｄから内部バスＡ、Ｂ経由で入力される処理要求に応じてメモリ１２に対する情報信号の読み書きを制御するメモリコントローラ１３と、内部バスＡ、Ｂを互いに接続するブリッジ１４と、メモリコントローラ１３のインターフェイスを参照してメモリ１２に対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を信号線１５ａ〜１５ｄ経由でバスマスタ１１ａ〜１１ｄに送出する監視装置１５と、を有して成る。
【００２０】
上記構成から成る情報処理システム１において、ＣＰＵ１０は、複数あるバスマスタの１つである。
【００２１】
一方、ＣＰＵ１０以外のバスマスタ１１ａ〜１１ｄは、図２に示すように、メモリ１２に対する情報信号の書込み処理を要求するためのライトトランザクションを生成するライトトランザクション生成回路１１１と、該ライトトランザクションの送出完了を示すイベントトランザクションを生成するイベントトランザクション生成回路１１２と、を有して成り、最終のライトトランザクションを送出した後、直ちにＣＰＵ１０への割込み信号を生成するのではなく、前記イベントトランザクションを生成してメモリコントローラ１３（実質的には監視回路１５）に送出する構成とされている。なお、図２ではバスマスタ１１ａの内部構成のみを図示したが、その他のバスマスタ１１ｂ〜１１ｄも全く同様の内部構成から成る。
【００２２】
上記のイベントトランザクションについて詳細に説明する。バスマスタ１１ａ〜１１ｄで生成されるイベントトランザクションは、ライトトランザクションやリードトランザクションと同じデータ構造を有しており、内部バスＡ、Ｂへのアクセスに際して最低限必要となる属性情報を含んで成る。具体的には、図３に示す通り、アクセス先となるメモリ１２のアドレス情報を示すアドレス属性や、該アドレスに書き込もうとする情報信号を示すデータ属性、メモリ１２のデータ幅について有効なバイトレーンを設定するためのマスク属性、及び当該トランザクションがリード／ライトのいずれを指示するものであるかを示すリード／ライト属性、といった種々の属性情報を含んで成る。
【００２３】
ここで、上記のマスク属性とは、メモリ１２としてＤＲＡＭやＳＤＲＡＭ、ＳＲＡＭ等を用いている本実施形態の情報処理システム１において、情報信号のリード／ライト処理を制限する際に必要となる属性情報であり、デバイスのピン名としてはＤＱＭ信号がこれに該当する（詳細については、特許文献３などを参照）。例えば、メモリ１２のデータ幅が１６ビットであるのに対して、情報処理システム１の要求するアクセス幅の最小単位が８ビット（１バイト）である場合には、該マスク属性を用いて不要なバイトレーンをマスクすることで、誤ったデータがリード／ライトされないようにすることが可能となる。
【００２４】
逆に言えば、バスマスタ１１ａ〜１１ｄで生成されるライトトランザクション及びリードトランザクションのマスク属性では、メモリ１２に対する情報信号の読み書きを行うべく、いずれかのバイトレーンが必ず有効とされているはずであり、全てのバイトレーンがマスクされている状態はあり得ないと考えられる。
【００２５】
本実施形態の情報処理システム１は、上記の点に着目して為されたものであり、各バスマスタ１１ａ〜１１ｄは、イベントトランザクションの生成に際して、全てのバイトレーンをマスクするようにマスク属性を設定する構成とされている。一方、監視装置１５は、メモリアクセス処理の進捗検知に際して、入力されたトランザクションのマスク属性が全てのバイトレーンをマスクするものであると検知した時点で、当該トランザクションをイベントトランザクションであると認識し、該イベントトランザクションを送出したバスマスタのメモリアクセス処理が完了したと判断する構成とされている。
【００２６】
このように、既存のマスク属性を流用し、その属性値に応じてイベントトランザクションであるか否かのフラグ立てを行う構成とすることにより、トランザクションの属性情報を不要に増加させることなく、イベントトランザクションを新設することができる。
【００２７】
また、上記したイベントトランザクションでは、マスク属性によって有効とされるバイトレーンが存在しないので、該イベントトランザクションによるメモリ１２への誤入出力を回避することも可能となる。
【００２８】
さらに、上記したイベントトランザクションであれば、そのデータ属性を任意の値とすることができるので、該データ属性を流用して監視装置１５に対する任意のコマンドを設定し、イベントトランザクション検出後における監視装置１５の挙動を制御することも可能となる。この点については、後ほど具体例を挙げながら詳細に説明する。
【００２９】
なお、本実施形態の監視装置１５は、前述した通り、メモリコントローラ１３のインターフェイスを参照するだけの単純な構成であるため、極めて容易に既存の情報処理システムに取り付けることが可能である。
【００３０】
以下では、上記構成から成る情報処理システム１のメモリアクセス動作について、具体例を挙げながら詳細に説明する。
【００３１】
まず、第１の動作例として、バスマスタ１１ｄからメモリ１２に対して複数のライトトランザクションを生成し、当該ライト処理の完了後にＣＰＵ１０への割込み信号を生成する場合を考える。
【００３２】
この場合、バスマスタ１１ｄは、最終のライトトランザクションを送出後、直ちにＣＰＵ１０への割込み信号を生成するのではなく、前述のイベントトランザクションを生成してメモリコントローラ１３に送出する。その際、バスマスタ１１ｄは、自身のＩＤとそのトランザクション完了通知を要求するコマンドをセットにした値をイベントトランザクションのデータ属性に書き込む。
【００３３】
一方、メモリコントローラ１３のインターフェイスを参照する監視装置１５は、入力されたトランザクションのマスク属性が全てのバイトレーンをマスクするものであると検知した時点で、当該トランザクションをイベントトランザクションであると認識し、バスマスタ１１ｄのメモリアクセス処理が完了したと判断する。そして、監視装置１５は、該イベントトランザクションのデータ属性に書き込まれたＩＤ及びコマンドに応じて、ライトトランザクション完了通知（言い換えれば、ＣＰＵ１０への割込み許可通知）を信号線１５ｄ経由でバスマスタ１１ｄに送出する。
【００３４】
上記通知を受け取ったバスマスタ１１ｄは、メモリ１２へのライトトランザクションが確実に終了したことを認識して、ＣＰＵ１０への割込み信号を生成する。
【００３５】
このように、本実施形態の情報処理システム１であれば、バスマスタ１１ｄが最終のライトトランザクションを送出してからＣＰＵ１０への割込み信号を生成するまでの待機時間を必要最小限とすることができるので、バスの使用率が低い場合など、短時間でライト動作が完了されたときでも、バスを迅速に解放することが可能となる。従って、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能となる。
【００３６】
次に、第２の動作例として、バスマスタ１１ｄによるメモリ１２へのライト処理完了後に、バスマスタ１１ｂを起動して所定の処理を実現する場合を考える。
【００３７】
この場合も、バスマスタ１１ｄは、最終のライトトランザクションを送出後、ＣＰＵ１０への割込み信号を生成するのではなく、前述のイベントトランザクションを生成してメモリコントローラ１３に送出する。その際、バスマスタ１１ｄは、次に起動すべきバスマスタ１１ｂのＩＤとその起動信号を要求するコマンドをセットにした値をイベントトランザクションのデータ属性に書き込む。
【００３８】
一方、メモリコントローラ１３のインターフェイスを参照する監視装置１５は、入力されたトランザクションのマスク属性が全てのバイトレーンをマスクするものであると検知した時点で、当該トランザクションをイベントトランザクションであると認識し、バスマスタ１１ｄのメモリアクセス処理が完了したと判断する。そして、監視装置１５は、該イベントトランザクションのデータ属性に書き込まれたＩＤ及びコマンドに応じて、起動信号を信号線１５ｂ経由でバスマスタ１１ｂに送出する。
【００３９】
上記の起動信号を受け取ったバスマスタ１１ｂは、ＣＰＵ１０を介在することなく起動され、所定の処理を開始する。
【００４０】
このように、本実施形態の情報処理システム１であれば、ＣＰＵの介在に起因して生じていた時間的なロスを低減することができるので、メモリアクセスの速度向上を図ることが可能となる。
【００４１】
なお、上記の実施形態では、メモリコントローラ１３のインターフェイスを参照すべく監視装置１５をメモリコントローラ１３の直前段に設けた構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、バスマスタ１１ａ〜１１ｄからのトランザクションを監視可能な位置であって、該監視装置１５に到達したトランザクションがその他のトランザクションに先んじてメモリコントローラ１３に到達し得る位置であれば、いずれに設けても構わない。
【００４２】
また、上記の実施形態では、既存のマスク属性を流用し、その属性値に応じてイベントトランザクションであるか否かのフラグ立てを行う構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、全てのバイトレーンをマスクするコマンドがバスにない場合には、該バスに対するアクセス属性の状態数を１つ増やして、別途１ビット分のフラグデータを追加する構成としても構わない。なお、本構成を採用する場合には、イベントトランザクションによるメモリへの誤入出力を回避すべく、メモリコントローラにイベントトランザクション破棄機能を設けておく必要がある。
【００４３】
また、上記の実施形態では、イベントトランザクション生成機能をバスマスタ１１ａ〜１１ｄに持たせた構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、当該機能を内部バスＡ、Ｂに持たせた構成としても構わない。
【００４４】
また、上記の実施形態では、バスやバスマスタ等の各構成要素を内蔵して成るＳｏＣやＡＳＩＣに本発明を適用した場合を例に挙げて説明を行ったが、本発明の適用対象はこれに限定されるものではなく、各構成要素の内蔵／外付けを問わず、情報処理システム全般に広く適用することが可能である。
【産業上の利用可能性】
【００４５】
本発明は、バス経由でメモリアクセスを行う情報処理システムの高速性及び安定性向上に関して有用な技術である。
【図面の簡単な説明】
【００４６】
【図１】は、本発明に係る情報処理システムの一実施形態を示すブロック図である。
【図２】は、バスマスタ１１ａの内部構成例を示すブロック図である。
【図３】は、バスマスタ１１ａ〜１１ｄで生成されるトランザクション（ライト／リード／イベント）に含まれる属性情報の一例を示す図である。
【符号の説明】
【００４７】
１    情報処理システム
１０    バスマスタ（ＣＰＵ）
１１ａ〜１１ｄ    バスマスタ（ＣＰＵ以外）
１１１    ライトトランザクション生成回路
１１２    イベントトランザクション生成回路
１２    メモリ（ＤＲＡＭ、ＳＤＲＡＭ、ＳＲＡＭなど）
１３    メモリコントローラ
１４    ブリッジ
１５    監視装置
１５ａ〜１５ｄ    信号線
Ａ    高速バス
Ｂ    低速バス
【図１】
2005228188.tif 000003
【図２】
2005228188.tif 000004
【図３】
2005228188.tif 000005