(57)【要約】【課題】動作解析、デバッグ処理等のための割り込み処理に対する開始ポイントを設定して、メモリあるいはI/Oデバイスのレジスタに対してリードあるいはライトをより柔軟なタイミングで実行可能とする。【解決手段】複数のバス230〜232とバス制御を行うバスコントローラ210とを備える情報処理装置において、トランザクションに対してトリガ条件を設定し、トリガ条件を満たすトランザクションを検出したとき、そのトランザクションの処理を一旦停止させ、動作解析、デバッグ処理のための割り込みを発生させる。これにより、トリガ条件を満たすトランザクションの処理直前に、メモリあるいはI/Oデバイスのレジスタの値を読み出し、メモリあるいはI/Oデバイスのレジスタに値を書く等により、情報処理装置の動作解析、デバッグ処理を高い柔軟性を持って行うことができる。【選択図】図１
2008293212.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスと、該複数のバスの全てに接続されたバスコントローラとを備える情報処理装置のトランザクション管理方法において、
前記バスコントローラは、処理されるトランザクションの監視を行い、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、その後、前記保留状態とされたトランザクションとは別のトランザクションの処理を実行し、別のトランザクションの処理の終了後、前記保留状態とされていたトランザクションの保留状態を解除し、解除したトランザクションの処理を行うようにトランザクションの管理を行うことを特徴とする情報処理装置のトランザクション管理方法。
【請求項２】
前記別のトランザクションは、情報処理装置内部のハードウェアの動作解析、デバッグを行うためのトランザクションであることを特徴とする請求項１記載の情報処理装置のトランザクション管理方法。
【請求項３】
前記別のトランザクションは、前記保留状態とされたトランザクションの処理の直前に実行されることを特徴とする請求項１または２記載の情報処理装置のトランザクション管理方法。
【請求項４】
前記所定の条件は、トランザクションに含まれるバスマスタ、コマンド、アドレスの少なくとも１つであることを特徴とする請求項１、２または３記載の情報処理装置のトランザクション管理方法。
【請求項５】
複数のバスと、該複数のバスの全てに接続されたバスコントローラとを備える情報処理装置において、
前記バスコントローラは、前記複数のバス相互間でデータの送受信を行うトランザクション管理部と、トランザクションの内容に対してる予め設定した所定の条件を記録するレジスタと、前記予め設定した所定の条件を満たすトランザクションを、トランザクション管理部に検出させるトランザクション監視部と、該トランザクション監視部から前記予め設定した所定の条件を満たすトランザクションを検出したことが通知されたとき、この通知をトリガとして前記トランザクションとは別のトランザクションの実行を制御するトランザクション制御部と、該トランザクション制御部が発行する別のトランザクションの内容を設定するレジスタ群とを備えて構成され、
前記トランザクション管理部は、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、前記トランザクション監視部を介して前記トランザクション制御部に所定の条件を満たすトランザクションを検出した通知を行うことを特徴とする情報処理装置。
【請求項６】
前記トランザクション管理部は、前記別のトランザクションの処理の終了後、前記保留状態とされていたトランザクションの保留状態を解除し、解除したトランザクションの処理を行うことを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記別のトランザクションは、情報処理装置内部のハードウェアの動作解析、デバッグを行うためのトランザクションであることを特徴とする請求項５または６記載の情報処理装置。
【請求項８】
前記所定の条件は、トランザクションに含まれるバスマスタ、コマンド、アドレスの少なくとも１つであることを特徴とする請求項５、６または７記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のトランザクション管理方法及び情報処理装置に係り、特に、装置内部のハードウェアの動作解析、デバッグ等を行うことを可能にした情報処理装置のトランザクション管理方法及び情報処理装置に関する。
【背景技術】
【０００２】
従来、情報処理装置の動作中における装置内部のハードウェアの動作解析、デバッグ等を行う処理は、ＩＣＥ（インサーキットエミュレータ）を用い、ＩＣＥに開始ポイントを検出させた後に行うのが一般的であった。ＩＣＥを用いて、ハードウェアの動作解析、デバッグ等を行う場合、ユーザは、ＩＣＥをバスに接続し、ＣＰＵが発行するトランザクション（メモリやＩ／Ｏインターフェイスに接続したＩ／Ｏデバイスに対する読み出しや書き込み）の監視を行わせる。その際、ユーザは、トランザクションの内容（アドレス、データ、コマンド等）に一定の条件を決め、その条件をＩＣＥのレジスタに設定し、ＩＣＥに、設定した条件と一致するトランザクションをバス上に検出したときに割り込みを発生させる。前述の装置内部のハードウェアの動作解析、デバッグ等を行う処理は、この割り込みを開始ポイントとすることにより、情報処理装置の動作解析あるいはデバッグを行うものである。
【０００３】
しかし、前述の方法は、ＩＣＥが接続されたバス上に流れるトランザクションだけが監視対象となるため、複数のバスを備える装置、例えば、ＣＰＵ、メモリ、Ｉ／Ｏデバイスがそれぞれ別のバスに接続され、バスブリッジによりバス同士が接続されているような情報処理装置の１つのローカルバスにＩＣＥを接続した場合、ＩＣＥが接続されたバス上に流れるトランザクションしか監視することができず、例えば、Ｉ／Ｏデバイスが持つＤＭＡコントローラからメモリに対するトランザクションを監視対象として検出し、割り込み処理を行ってデバッグ等を行うことができないという問題点を有している。
【０００４】
前述のような問題を解決するためのバス監視装置に関する従来技術として、例えば、特許文献１等に記載された技術が知られている。この従来技術は、バスブリッジにトランザクション検出装置を備え、このトランザクション検出装置を利用して、全てのトランザクションを監視対象とすることができるようにしたものである。
【特許文献１】特開２００６−１１３９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前述した特許文献１に記載の従来技術は、バスを流れていくトランザクションを監視し、条件を満たすトランザクションを検出した後に割り込みを行うので、情報処理装置の動作解析、デバッグの実行が対象のトランザクションの後に限られることになり、あるトランザクションの処理前にメモリあるいはＩ／Ｏデバイスのレジスタの値を書き変えるようなトランザクションに先行する動作解析、デバッグを行うことができないという問題点を有している。
【０００６】
本発明の目的は、前述した従来技術の問題点を解決し、動作解析、デバッグ等の処理に対する開始ポイントをより柔軟に設定して、メモリあるいはＩ／Ｏデバイスのレジスタに対してリードあるいはライト等の割り込み処理を実行することにより、装置内部のハードウェアの動作解析、デバッグ等を行うことができるようにした情報処理装置のトランザクション管理方法及び情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、前記目的は、複数のバスと、該複数のバスの全てに接続されたバスコントローラとを備える情報処理装置のトランザクション管理方法において、前記バスコントローラは、処理されるトランザクションの監視を行い、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、その後、前記保留状態とされたトランザクションとは別のトランザクションの処理を実行し、別のトランザクションの処理の終了後、前記保留状態とされていたトランザクションの保留状態を解除し、解除したトランザクションの処理を行うようにトランザクションの管理を行うことにより達成される。
【０００８】
また、前記目的は、複数のバスと、該複数のバスの全てに接続されたバスコントローラとを備える情報処理装置において、前記バスコントローラは、前記複数のバス相互間でデータの送受信を行うトランザクション管理部と、トランザクションの内容に対して予め設定した所定の条件を記録するレジスタと、前記予め設定した所定の条件を満たすトランザクションを、トランザクション管理部に検出させるトランザクション監視部と、該トランザクション監視部から前記予め設定した所定の条件を満たすトランザクションを検出したことが通知されたとき、この通知をトリガとして前記トランザクションとは別のトランザクションの実行を制御するトランザクション制御部と、該トランザクション制御部が発行する別のトランザクションの内容を設定するレジスタ群とを備えて構成され、前記トランザクション管理部は、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、前記トランザクション監視部を介して前記トランザクション制御部に所定の条件を満たすトランザクションを検出した通知を行うことにより達成される。
【発明の効果】
【０００９】
本発明によれば、複数のバスを持つ情報処理装置において、各バスに発行されるトランザクションが、予め設定した所定の条件を満たす場合に、そのトランザクションの処理を一旦停止させて割り込みを発生させることができ、この割り込みの発生をトリガとして、情報処理装置の動作解析、デバック等の処理のためのトランザクションを実行させることができ、柔軟なタイミングで情報処理装置の動作解析、デバック等を行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明による情報処理装置のトランザクション管理方法及び情報処理装置の実施形態を図面により詳細に説明する。
【００１１】
図１は本発明の一実施形態による情報処理装置の構成を示すブロック図である。本発明の実施形態による情報処理装置２００は、図１に示すように、プロセッサバス２３０に接続された複数のＣＰＵ２４０、２４１と、メモリバス２３１に接続された複数のメモリ２５０、２５１と、Ｉ／Ｏバス２３２にＩ／Ｏインターフェイス２６０、２６１を介して接続された複数のＩ／Ｏデバイス２９０、２９１と、プロセッサバス２３０とメモリバス２３１とＩ／Ｏバス２３３とを制御するバスコントローラ２１０と、ボードマネージメントコントローラ（ＢＭＣ）２７０とを備えて構成される。
【００１２】
バスコントローラ２１０は、トランザクション監視部（Ｔｘ監視部）２１１と、トランザクション制御部（Ｔｘ制御部）２１２と、トリガ  レジスタ（Ｔｒｉｇ  Ｒｅｇ）２１３と、実行フラグレジスタ（Ｆｌａｇ  Ｒｅｇ）２１４と、アドレスレジスタ（Ａｄｄｒ  Ｒｅｇ）２１５と、データレジスタ（Ｄａｔａ  Ｒｅｇ）２１６と、コマンドレジスタ（ＣＭＤ  Ｒｅｇ）２１７と、入出力制御部２１８と、トランザクション管理部（Ｔｘ管理部）１００とを備えて構成されている。
【００１３】
前述において、Ｔｘ管理部１００は、情報処理装置２００内で処理される全てのトランザクションの管理を行うものであり、Ｔｘ制御部２１２は、本発明の実施形態において、通常のトランザクションの処理の途中で、Ｔｘ監視部２１１からの割り込み信号を受けて、Ａｄｄｒ  Ｒｅｇ２１５と、Ｄａｔａ  Ｒｅｇ２１６と、ＣＭＤ  Ｒｅｇ２１７とに記録された内容の別のトランザクション、例えば、情報処理装置の動作解析、デバック等を行うトランザクションを発行し、制御を行うものである。また、ＢＭＣ２７０は、ユーザ端末２８０とバスコントローラ２１０との間の入出力制御を行っており、Ｉ／Ｏデバイス２９０、２９１は、それぞれ、レジスタ２９５、２９６及びＤＭＡコントローラ２９８、２９９を備えて構成されている。メモリ２５０、２５１は、それぞれメモリコントローラ２５５、２５６を備え、メモリコントローラ２５５は、メモリコントローラの動作モードを設定するレジスタ２５８を備え、同様に、メモリコントローラ２５６は、メモリコントローラの動作モードを設定するレジスタ２５９を備えて構成されている。
【００１４】
図２は図１に示すＴｘ管理部１００の構成を示すブロック図である。Ｔｘ管理部１００は、図２に示すように、各バス２３０〜２３２及びＴｘ制御部２１２に接続されたコマンド制御部（ＣＭＤ制御部）１５１〜１５４、アドレス制御部（Ａｄｄｒ制御部）１６１〜１６４、データ制御部（Ｄａｔａ制御部）１７１〜１７４と、アドレステーブル（Ａｄｄｒ  Ｔａｂｌｅ）１８０と、ＣＭＤ制御部１５１〜１５４相互間の接続を制御するコマンドパススイッチ（ＣＭＤ  Ｐａｔｈ  ＳＷ）１８５と、Ａｄｄｒ制御部１６１〜１６４相互間の接続を制御するアドレスパススイッチ（Ａｄｄｒ  Ｐａｔｈ  ＳＷ）１８６と、Ｄａｔａ制御部１７１〜１７４相互間の接続を制御するデータパススイッチ（Ｄａｔａ  Ｐａｔｈ  ＳＷ）１８７とを備えて構成される。
【００１５】
図３Ａ、図３Ｂは前述した本発明の実施形態による情報処理装置が実施する通常のトランザクション処理の動作を説明するフローチャートであり、次に、これについて説明する。ここで説明する処理の例は、情報処理装置２００のＣＰＵ２４０、２４１またはＤＭＡコントローラ２９５、２９６がバスマスタとなって、トランザクションを発行する場合の例であり、動作の一例として、ＣＰＵ２４０がメモリ２５０に対してメモリリードを行うトランザクション処理を行うものとして、図１、図２をも参照しながら説明する。
【００１６】
（１）まず、アービトレーション・フェーズとしての処理を開始し、ＣＰＵ２４０は、プロセッサバス２３０を使用するため、バスリクエストを発行し、バス制御権を取得することができるまでバスリクエストの発行を続ける（ステップ３０１、３０２）。
【００１７】
（２）バス制御権を取得することができた後、次に、アドレス・フェーズとしての処理を開始し、ＣＰＵ２４０は、トランザクションとしてのコマンド（メモリリード）を制御バス１１１に発行し、アドレスをアドレスバス（Ａｄｄｒ  Ｂｕｓ）１２１に発行する（ステップ３０３）。
【００１８】
（３）Ａｄｄｒ制御部１６１は、Ａｄｄｒ  Ｔａｂｌｅ１８０に記録されている先行のトランザクションが使用しているアドレスと、ステップ３０３の処理でＣＰＵ２４０から発行されたトランザクションのアドレスとを比較し、トランザクションのアドレスが使用中（アドレスコンフリクト）であるか否かを判定し、使用中で合った場合、ＣＭＤ制御部１５１に報告する。ＣＭＤ制御部１５１は、制御バス１１１にトランザクション発行のリトライ要求を出す。これにより、処理がステップ３０３に戻って、ＣＰＵ２４０は、トランザクションのリトライを行う（ステップ３０４、３０３）。
【００１９】
（４）ステップ３０４の判定で、トランザクションのアドレスが使用中でなかった場合、あるいは、先行のトランザクションが終了してＡｄｄｒ  Ｔａｂｌｅ１８０に記録されたアドレスが消去された場合、Ａｄｄｒ制御部１６１は、アドレスコンフリクトがないことを確認して、アクセスするアドレスをＡｄｄｒ  Ｔａｂｌｅ１８０に記録し、ＣＭＤ制御部１５１は、制御バス１１１にコマンドの受信完了を示す信号を出力する（ステップ３０５）。
【００２０】
（５）Ａｄｄｒ制御部１６１は、アドレスの値から接続先（メモリバス２３１）を判断し、ＣＭＤ  Ｐａｔｈ  ＳＷ１８５がプロセッサバス２３０側のＣＭＤ制御部１５１とメモリバス２３１側のＣＭＤ制御部１５２とのパスを接続し、Ａｄｄｒ  Ｐａｔｈ  ＳＷ１８６がプロセッサバス２３０側のＡｄｄｒ制御部１６１とメモリバス２３１側のＡｄｄｒ制御部１６２とのパスを接続する（ステップ３０６）。
【００２１】
（６）プロセッサバス２３０側のＣＭＤ制御部１５１は、メモリバス２３１側のＣＭＤ制御部１５２にコマンドを送信し、プロセッサバス２３０側のＡｄｄｒ制御部１６１は、メモリバス２３１側のＡｄｄｒ制御部１６２にアドレスを送信する（ステップ３０７）。
【００２２】
（７）その後、ＣＭＤ  Ｐａｔｈ  ＳＷ１８５は、プロセッサバス２３０側のＣＭＤ制御部１５１とメモリバス２３１側のＣＭＤ制御部１５２のパスを切断し、Ａｄｄｒ  Ｐａｔｈ  ＳＷ１８６は、プロセッサバス２３０側のＡｄｄｒ制御部１６１とメモリバス２３１側のＡｄｄｒ制御部１６２とのパスを切断する（ステップ３０８）。
【００２３】
（８）次に、メモリバス２３１側のＣＭＤ制御部１５２は、制御バス１１２上にコマンドを送信し、Ａｄｄｒ制御部１６２は、Ａｄｄｒ  Ｂｕｓ１２２上にアドレスを送信する。これにより、メモリ２５０にコマンド及びアドレスが送られることになる。ここまでの処理で、アドレス・フェーズの処理が終了する（ステップ３０９）。
【００２４】
（９）次に、データ・フェーズの処理を開始し、ステップ３０９の処理で送信されてきたコマンドを制御バス１１２から受け取ったメモリ２５０は、Ｄａｔａ  Ｂｕｓ１３２上にアドレスの内容をデータとして出力する。このデータを、Ｄａｔａ制御部１７２が受け取る（ステップ３１０）。
【００２５】
（10）その後、ＣＭＤ  Ｐａｔｈ  ＳＷ１８５は、プロセッサバス２３０側のＣＭＤ制御部１５１とメモリバス２３１側のＣＭＤ制御部１５２とのパスを接続し、Ｄａｔａ  Ｐａｔｈ  ＳＷ１８７は、プロセッサバス２３０側のＤａｔａ制御部１７１とメモリバス２３１側のＤａｔａ制御部１７２とのパスを接続する（ステップ３１１）。
【００２６】
（11）メモリバス２３１側のＤａｔａ制御部１７２は、ステップ３１０の処理で受け取ったデータをプロセッサバス２３０側のＤａｔａ制御部１７１に送信する。また、メモリバス２３１側のＣＭＤ制御部１５２は、プロセッサバス２３０側のＣＭＤ制御部１５１に終了信号を送信する（ステップ３１２）。
【００２７】
（12）ＣＭＤ  Ｐａｔｈ  ＳＷ１８５は、プロセッサバス２３０側のＣＭＤ制御部１５１とメモリバス２３１側のＣＭＤ制御部１５２とのパスを切断し、Ｄａｔａ  Ｐａｔｈ  ＳＷ１８７は、プロセッサバス２３０側のＤａｔａ制御部１７１とメモリバス２３１側のＤａｔａ制御部１７２とのパスを切断する（ステップ３１３）。
【００２８】
（13）プロセッサバス２３０側のＤａｔａ制御部１７１は、ステップ３１２の処理でメモリバス２３１側のＤａｔａ制御部１７２から送信されてきたデータを受け取って、Ｄａｔａ  Ｂｕｓ１３１に送信する。このデータは、ＣＰＵ２４０により受け取られる。ここまでの処理で、データ・フェーズの処理が終了する（ステップ３１４）。
【００２９】
（14）最後に、トランザクション終了・フェーズの処理を開始し、プロセッサバス２３０側のアドレス制御部１６１は、Ａｄｄｒ  Ｔａｂｌｅ１８０に記録したアドレスを消去して、ここでの処理を終了する（ステップ３１５）。
【００３０】
図４Ａ、図４Ｂは前述した本発明の実施形態による情報処理装置が実施する通常のトランザクション処理の動作を一旦停止し、その後に、情報処理装置の動作解析、デバック等のための別のトランザクションを実行する処理を説明するフローチャートであり、次に、これについて説明する。ここで説明する処理の例は、前述で説明したＣＰＵ２４０がメモリ２５０に対してメモリリードを行うトランザクションを検出し、そのトランザクションを保留し、情報処理装置の動作解析のために、メモリ２５０のメモリコントローラ２５５の動作モードを変更するトランザクションとして、メモリコントローラ２５５のレジスタ２５８に対してレジスタライトを行うものとした例であり、図１、図２をも参照しながら説明する。
【００３１】
（１）まず、割り込み準備フェーズとして、割り込みの契機としたいトランザクションの内容（バスマスタ、コマンド、アドレス、データ等）に一定の条件を決める。これをトリガ条件とする。説明している例におけるトリガ条件は、バスマスタがＣＰＵ２４０、コマンドがメモリリード、アドレスがメモリリード対象のアドレスとなる。次に、割り込みを契機に実行される情報処理装置の動作解析、デバック等のためのトランザクションの内容を決定する。説明している例では、メモリコントローラ２５５のモード変更トランザクションとなるので、トランザクションのコマンドがレジスタライト、アドレスがメモリコントローラ２５５内のレジスタ２５８の設定対象のアドレス、データが動作モードの設定値となる。ユーザ端末２８０からトリガ条件とモード変更トランザクションの内容とが入力されると、その入力を受けたＢＭＣ２７０は、入出力制御部２１８を介してトリガ条件をＴｒｉｇ  Ｒｅｇ２１３に、モード変更トランザクションのアドレスをＡｄｄｒ  Ｒｅｇ２１５に、ライトの内容をＤａｔａ  Ｒｅｇ２１６に、コマンド（メモリコントローラ２５５内のレジスタ２５８へのライト）と実行タイミング（トリガとする通常のトランザクションの処理前）とをＣＭＤ  Ｒｅｇ２１７に設定する。そして、Ｔｘ監視部２１１は、設定されたトリガ条件をＴｘ管理部１００に送り、これを受けたＴｘ管理部１００は、プロセッサバス２３０側のＣＭＤ制御部１５１とＡｄｄｒ制御部１６１とに対してトリガ条件を設定する（ステップ４０１）。
【００３２】
（２）次に、トランザクション監視フェーズが開始される。すなわち、システムを起動しテスト環境が整った後、ユーザ端末２８０からトランザクション監視命令が入力される。トランザクション監視命令を受けたＢＭＣ２７０は、入出力制御部２１８を介してＦｌａｇ  Ｒｅｇ２１４をセットする。Ｔｘ監視部２１１は、Ｆｌａｇ  Ｒｅｇ２１４のセットを受けると、Ｔｘ管理部１００に開始信号を送信する。これにより、Ｔｘ管理部１００内のＣＭＤ制御部１５１とＡｄｄｒ制御部１６１とは、プロセッサバス２３０にＣＰＵ２４０から発行されるトランザクションの監視を開始する（ステップ４０２）。
【００３３】
（３）ＣＭＤ制御部１５１とＡｄｄｒ制御部１６１とは、トリガ条件を満たすトランザクションの監視を続け、トリガ条件を満たすトランザクションを検出したとき、Ｔｘ監視部２１１を介してＴｘ制御部２１２に、割り込み信号を送信する（ステップ４０３）。
【００３４】
（４）また、ＣＭＤ制御部１５１は、制御バス１１１にトランザクションの再発行要求を、次のステップ４０５〜４２０の処理で説明する、割り込みを契機に実行されるトランザクションの終了まで出し続け、これを受けたＣＰＵ２４０は、トランザクションの発行を繰り返し、トランザクションの処理は保留状態となる（ステップ４０４）。
【００３５】
（５）次に、モード変更トランザクションフェーズを開始し、まず、アドレス・フェーズを実行する。すなわち、Ｔｘ制御部２１２は、ステップ４０３の処理で、Ｔｘ監視部２１１からトリガ条件を満たすトランザクション検出の割り込みを受けると、Ａｄｄｒ  Ｒｅｇ２１５に設定されたアドレスに対し、ＣＭＤ  Ｒｅｇ２１７の内容（メモリコントローラ２５５のレジスタ２５８に対するライト）のトランザクションを実行するため、バスリクエストを発行する（ステップ４０５）。
【００３６】
（６）Ｔｘ制御部２１２は、ステップ４０５でのバスリクエストの発行に対してバス制御権を取得できたか否かを判定し、バス制御権を取得できなかった場合、ステップ４０５からの処理に戻って、バスリクエストを発行する処理を続ける（ステップ４０６）。
【００３７】
（７）ステップ４０６での判定で、バス制御権を取得した場合、Ｔｘ制御部２１２は、モード変更トランザクションのコマンドと、アドレスとを発行する（ステップ４０７）。
【００３８】
（８）次に、Ｔｘ制御部２１２側のＡｄｄｒ制御部１６４は、Ａｄｄｒ  Ｂｕｓ１２４を介してＴｘ制御部２１２から取り込んだモード変更トランザクションのアドレスとＡｄｄｒ  Ｔａｂｌｅ１８０の内容との比較を行い、アドレスコンフリクトとなっているか否かを判定し、アドレスコンフリクトとなっていた場合、ＣＭＤ制御部１５４にその旨を報告する。ＣＭＤ制御部１５４は、Ｔｘ制御部２１２にトランザクションのリトライ要求を送信する。これにより処理がステップ４０７からの処理に戻って処理が続けられる（ステップ４０８）。
【００３９】
（９）ステップ４０８の判定で、アドレスコンフリクトがないことが確認できると、Ａｄｄｒ制御部１６４は、アクセスするアドレスをＡｄｄｒ  Ｔａｂｌｅ１８０に記録する。また、ＣＭＤ制御部１５４は、制御バス１１４を介してＴｘ制御部２１２にコマンドの受信完了の信号を送信する（ステップ４０９）。
【００４０】
（10）Ａｄｄｒ制御部１６４は、アドレスの値から接続先（メモリバス２３１）を判断する。この判断結果を受けて、ＣＭＤ  Ｐａｔｈ  ＳＷ１８５は、Ｔｘ制御部２１２側のＣＭＤ制御部１５４とメモリバス２３１側のＣＭＤ制御部１５２との間のパスを接続し、Ａｄｄｒ  Ｐａｔｈ  ＳＷ１８６は、Ｔｘ制御部２１２側のＡｄｄｒ制御部１６４とメモリバス２３１側のＡｄｄｒ制御部１６２との間のパスを接続する（ステップ４１０）。
【００４１】
（11）次に、Ｔｘ制御部２１２側のＣＭＤ制御部１５４は、メモリバス２３１側のＣＭＤ制御部１５２にコマンドを送信し、Ｔｘ制御部２１２側のＡｄｄｒ制御部１６４は、メモリバス２３１側のＡｄｄｒ制御部１６２にアドレスを送信する（ステップ４１１）。
【００４２】
（12）その後、ＣＭＤ  Ｐａｔｈ  ＳＷ１８５は、Ｔｘ制御部２１２側のＣＭＤ制御部１５４とメモリバス２３１側のＣＭＤ制御部１５２との間のパスを切断し、Ａｄｄｒ  Ｐａｔｈ  ＳＷ１８６は、Ｔｘ制御部２１２側のＡｄｄｒ制御部１６４とメモリバス２３１側のＡｄｄｒ制御部１６２との間のパスを切断する（ステップ４１２）。
【００４３】
（13）メモリバス２３１側のＣＭＤ制御部１５２は、制御バス１１２上にコマンドを送信し、Ａｄｄｒ制御部１６２は、Ａｄｄｒ  Ｂｕｓ１２２にアドレスを送信する。これらのコマンド及びアドレスは、メモリバス２３１を介してメモリ２５０に送信される（ステップ４１３）。
【００４４】
（14）次に、モード変更トランザクションのデータ・フェーズの処理に移行し、ステップ４０９の処理で、制御バス１１４を介してコマンドの受信完了の信号を受けたＴｘ制御部２１２は、Ｄａｔａ  Ｒｅｇ２１６の内容をＤａｔａ  Ｂｕｓ１３４に出力し、Ｄａｔａ制御部１７４が、そのデータを受け取る（ステップ４１４）。
【００４５】
（15）その後、Ｄａｔａ  Ｐａｔｈ  ＳＷ１８７は、Ｔｘ制御部２１２側のＤａｔａ制御部１７４とメモリバス２３１側のＤａｔａ制御部１７２との間のパスを接続する（ステップ４１５）。
【００４６】
（16）Ｔｘ制御部２１２側のＤａｔａ制御部１７４は、メモリバス２３１側のＤａｔａ制御部１７２にライト内容のデータを送信する（ステップ４１６）。
【００４７】
（17）次に、Ｄａｔａ  Ｐａｔｈ  ＳＷ１８７は、Ｔｘ制御部２１２側のＤａｔａ制御部１７４とメモリバス２３１側のＤａｔａ制御部１７２との間のパスを切断する（ステップ４１７）。
【００４８】
（18）そして、メモリバス側のＤａｔａ制御部１７２は、Ｄａｔａ  Ｂｕｓ１３２にデータを送信する。ステップ４１３の処理で、制御バス１１２を介してコマンドを受け取っているメモリ２５０は、Ｄａｔａ  Ｂｕｓ１３２を介して受け取ったデータをメモリコントローラ２５５のレジスタ２５８にライトする。これにより、メモリコントローラ２５０の動作モードが変更される（ステップ４１８）。
【００４９】
（19）次に、モード変更トランザクション終了・フェーズの処理に移行し、アドレス制御部１６１は、Ａｄｄｒ  Ｔａｂｌｅ１８０に記録したアドレスを消去する（ステップ４１９）。
【００５０】
（20）その後、Ｔｘ制御部２１２は、ＢＭＣ２７０を介してユーザ端末２８０にモード変更トランザクションの処理を終了したことを報告して、モード変更トランザクションの処理を終了する（ステップ４２０）。
【００５１】
（21）モード変更トランザクションの処理の終了後、プロセッサバス２３０側のＣＭＤ制御部１５１は、ＣＰＵ２４０に対するリトライ要求を停止し、トランザクションの保留状態を解除する（ステップ４２１）。
【００５２】
（22）ＣＰＵ２４０は、トランザクションの保留状態が解除されたことにより、トランザクションを再発行し、以後、通常のトランザクションの処理を続ける（ステップ４２２）。
【００５３】
前述した本発明の処理の例では、コマンドとアドレスとに割り込みのトリガ条件を設け、ＣＰＵのメモリリードを割り込みの契機としたが、Ｄａｔａ制御部に対してトリガ条件を設定し、トランザクションのデータの内容を割り込みの契機とすることも可能である。
【００５４】
また、各バスに接続したＣＭＤ制御部、Ａｄｄｒ制御部、Ｄａｔａ制御部は、それぞれ同一の機能を持ち、説明した以外のバスマスタ（例えば、Ｉ／Ｏデバイス２９０のＤＭＡコントローラ２９８等）が発行したトランザクションを割り込みの契機とすることができる。
【００５５】
前述した本発明の処理の例では、割り込みを契機に実行されるトランザクションは、メモリコントローラ２５５のレジスタ２５８を対象としたが、説明した以外の情報処理装置２００内のアクセス可能なメモリ及びレジスタ（例えば、Ｉ／Ｏデバイス２９０、２９１のレジスタ２９５、２９６やバスコントローラ２００内のレジスタ）をトランザクションの対象とすることができる。
【００５６】
前述した本発明の処理の例では、割り込みを契機に実行されるトランザクションの処理の間、トリガとする通常のトランザクションの処理を保留状態としたが、割り込みを契機に実行されるトランザクションの実行のタイミングを、トリガとする通常のトランザクションの処理後に設定することもでき、これにより、通常のトランザクションを発行したバスマスタに対するリトライ要求を出さず、通常のトランザクションの処理後に割り込みを契機に実行されるトランザクションの処理を行うことができる。
【００５７】
前述した本発明の実施形態によれば、複数のバスを備える情報処理装置において、各バスに接続されたバスコントローラを設け、トランザクションがトランザクション発行元のバスから発行先のバスに渡る前にそのトランザクションを一旦停止させ、トランザクション発行元に再発行を繰り返させることにより、トランザクションの処理を保留状態とさせることができる。そして、前述した本発明の実施形態は、この保留状態とされている間に、情報処理装置の装置内部のハードウェアの動作解析、デバッグ等のための別のトランザクションを実行することができる。
【００５８】
これにより、本発明の実施形態によれば、トリガ条件を満たすトランザクションの処理前に、ユーザはメモリあるいはＩ／Ｏデバイスのレジスタの値を読み出す等の処理を行わせ、また、トリガ条件を満たすトランザクションだけメモリあるいはＩＯデバイスのレジスタの値を変更することができ、これらによって割り込み操作の柔軟性の向上を図ることができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態による情報処理装置の構成を示すブロック図である。
【図２】図１に示すＴｘ管理部の構成を示すブロック図である。
【図３Ａ】情報処理装置が実施する通常のトランザクション処理の動作を説明するフローチャート（その１）である。
【図３Ｂ】情報処理装置が実施する通常のトランザクション処理の動作を説明するフローチャート（その２）である。
【図４Ａ】情報処理装置が実施する通常のトランザクション処理の動作を一旦停止し、情報処理装置の動作解析、デバック等のための別のトランザクションを実行する処理を説明するフローチャート（その１）である。
【図４Ｂ】情報処理装置が実施する通常のトランザクション処理の動作を一旦停止し、情報処理装置の動作解析、デバック等のための別のトランザクションを実行する処理を説明するフローチャート（その２）である。
【符号の説明】
【００６０】
１００  トランザクション管理部（Ｔｘ管理部）
１１１  １１２  １１３  １１４  制御バス
１２１  １２２  １２３  １２４  アドレスバス（Ａｄｄｒ  Ｂｕｓ）
１３１  １３２  １３３  １３４  データバス（Ｄａｔａ  Ｂｕｓ）
１５１  １５２  １５３  １５４  コマンド制御部（ＣＭＤ制御部）
１６１  １６２  １６３  １６４  アドレス制御部（Ａｄｄｒ制御部）
１７１  １７２  １７３  １７４  データ制御部（Ｄａｔａ制御部）
１８０  アドレステーブル（Ａｄｄｒ  Ｔａｂｌｅ）
１８５  コマンドパススイッチ（ＣＭＤ  Ｐａｔｈ  ＳＷ）
１８６  アドレスパススイッチ（Ａｄｄｒ  Ｐａｔｈ  ＳＷ）
１８７  データパススイッチ（Ｄａｔａ  Ｐａｔｈ  ＳＷ）
２００  情報処理装置
２１０  バスコントローラ
２１２  トランザクション制御部（Ｔｘ制御部）
２１３  トリガレジスタ（Ｔａｉｇ  Ｒｅｇ）
２１４  実行フラグレジスタ（Ｆｌａｇ  Ｒｅｇ）
２１５  アドレスレジスタ（Ａｄｄｒ  Ｒｅｇ）
２１６  データレジスタ（Ｄａｔａ  Ｒｅｇ）
２１７  コマンドレジスタ（ＣＭＤ  Ｒｅｇ）
２１８  入出力制御部
２３０  プロセッサバス
２３１  メモリバス
２３２  Ｉ／Ｏバス
２４０  ２４１  ＣＰＵ
２５０  ２５１  メモリ
２５５、２５６  メモリコントローラ
２５８、２５９、２９５  ２９６  レジスタ
２６０  ２６１  Ｉ／Ｏインタフェース
２７０  ボードマネージメントコントローラ（ＢＭＣ）
２８０  ユーザ端末
２９０  ２９１  Ｉ／Ｏインタフェース
２９８  ２９９  ＤＭＡコントローラ
【図１】
2008293212.tif 000003
【図２】
2008293212.tif 000004
【図３Ａ】
2008293212.tif 000005
【図３Ｂ】
2008293212.tif 000006
【図４Ａ】
2008293212.tif 000007
【図４Ｂ】
2008293212.tif 000008