(57)【要約】【課題】ホストコンピュータからの要求に応じて任意のバストランザクションを発行することが可能なカード型コンピュータを実現する。【解決手段】カード型コンピュータ１０は、ホストコンピュータのＰＣＩバススロットに装着される。カード型コンピュータ１０のＣＰＵ１１は、ＲＯＭ１３に格納されたプログラムを実行することにより、ＰＣＩバススロットを介してホストコンピュータから送信される、実行すべきＰＣＩバストランザクションの内容を指示するコマンドを解釈するコマンド解釈処理と、コマンドの解釈結果に基づいて、コマンドによって指示された所定のＰＣＩバストランザクションをＰＣＩバススロットを介してホストコンピュータのＰＣＩバス上に発行するバストランザクション処理とを実行する。【選択図】      図１
2007323283.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータのＰＣＩバススロットに接続可能なカード型コンピュータであって、
プログラムが格納されたプログラムメモリと、
前記プログラムを実行することにより、前記ホストコンピュータから送信される、実行すべきＰＣＩバストランザクションの内容を指示するコマンドを解釈するコマンド解釈処理と、前記コマンドの解釈結果に基づいて、前記コマンドによって指示された所定のＰＣＩバストランザクションを前記ＰＣＩバススロットを介して前記ホストコンピュータのＰＣＩバス上に発行するバストランザクション処理とを実行するプロセッサとを具備することを特徴とするカード型コンピュータ。
【請求項２】
前記ホストコンピュータから送信されるコマンドには、前記コマンドによって指示されたＰＣＩバストランザクションによってアクセスすべきアドレスを指定する引数が付随していることを特徴とする請求項１記載のカード型コンピュータ。
【請求項３】
前記ホストコンピュータと前記カード型コンピュータとの間で共有される共有メモリをさらに具備し、
前記プロセッサは、前記ホストコンピュータによってコマンドが書き込まれる前記共有メモリ上の特定の第１の空間を監視し、前記第１の空間にコマンドが書き込まれたことが検出された場合、前記コマンド解釈処理および前記バストランザクション処理を実行することを特徴とする請求項１記載のカード型コンピュータ。
【請求項４】
前記共有メモリ上には前記バストランザクション処理の実行状態を示すステータスを書き込むための第２の空間が割り当てられてあり、
前記プロセッサは、前記バストランザクション処理の実行完了の有無を示すステータスを前記第２の空間に書き込むことを特徴とする請求項３記載のカード型コンピュータ。
【請求項５】
ホストコンピュータと、このホストコンピュータのＰＣＩバススロットに接続されるカード型コンピュータとを含むコンピュータシステムであって、
前記ホストコンピュータは、
前記カード型コンピュータに対して実行すべきＰＣＩバストランザクションの内容を指示するコマンドを送信する手順と前記カード型コンピュータによって実行されたＰＣＩバストランザクションの結果を検証する手順とを含むテストプログラムを実行するホストプロセッサを具備し、
前記カード型コンピュータは、
プログラムが格納されたプログラムメモリと、
前記プログラムを実行することにより、前記ホストコンピュータから送信されるコマンドを解釈するコマンド解釈処理と、前記コマンドの解釈結果に基づいて、前記コマンドによって指示されたＰＣＩバストランザクションを前記ＰＣＩバススロットを介して前記ホストコンピュータのＰＣＩバス上に発行するバストランザクション処理とを実行するプロセッサとを具備することを特徴とするコンピュータシステム。
【請求項６】
前記カード型コンピュータは、前記ホストコンピュータと前記カード型コンピュータとの間で共有される共有メモリをさらに具備し、
前記ホストコンピュータのホストプロセッサは、前記コマンドを前記共有メモリ上の特定の第１の空間に書き込み処理を実行し、
前記カード型コンピュータのプロセッサは、前記第１の空間を監視し、前記第１の空間にコマンドが書き込まれたことが検出された場合、前記コマンド解釈処理および前記バストランザクション処理を実行することを特徴とする請求項５記載のコンピュータシステム。
【請求項７】
ホストコンピュータの動作を検証するデバッグ方法であって、
前記ホストコンピュータのホストプロセッサから、前記ホストコンピュータのＰＣＩバススロットに接続されるカード型コンピュータに対して、実行すべきＰＣＩバストランザクションの内容を指示するコマンドを送信するステップと、
前記カード型コンピュータ内のプロセッサが、前記カード型コンピュータ内に設けられたプログラムメモリに格納されたプログラムを実行することにより、前記ホストコンピュータから送信されるコマンドを解釈するコマンド解釈処理と、前記コマンドの解釈結果に基づいて、前記コマンドによって指示されたＰＣＩバストランザクションを前記ＰＣＩバススロットを介して前記ホストコンピュータのＰＣＩバス上に発行するバストランザクション処理とを実行するステップと、
前記ホストコンピュータのホストプロセッサが、前記カード型コンピュータによって実行されたＰＣＩバストランザクションの結果を検証するステップとを具備することを特徴とするデバッグ方法。
【請求項８】
前記カード型コンピュータは、前記ホストコンピュータと前記カード型コンピュータとの間で共有される共有メモリをさらに具備し、
前記ホストコンピュータのホストプロセッサは、前記コマンドを前記共有メモリ上の特定の第１の空間に書き込み処理を実行することによって、前記コマンドを前記カード型コンピュータに送信し、
前記カード型コンピュータのプロセッサは、前記第１の空間を監視し、前記第１の空間にコマンドが書き込まれたことが検出された場合、前記コマンド解釈処理および前記バストランザクション処理を実行することを特徴とする請求項７記載のデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はホストコンピュータに接続して使用されるカード型コンピュータ、およびこのカード型コンピュータを含むコンピュータシステム、並びにホストコンピュータの動作を検証するデバッグ方法に関する。
【背景技術】
【０００２】
一般に、パーソナルコンピュータのようなコンピュータの開発に際しては、そのコンピュータの動作を検証するためのデバッグを実行することが必要となる。
【０００３】
デバッグ方法としては、例えば、ＣＰＵの実行処理中におけるバス上の信号等をトレースするためのエミュレータ装置等を使用する方法が知られている。
【０００４】
特許文献１には、ＰＣＩバススロットに装着されるＰＣＩ機能拡張カード上に実装されたインサーキットエミュレータ装置が開示されている。このインサーキットエミュレータ装置は、ＰＣＩバス線路上の信号解析を行うための機能を備えている。
【特許文献１】特開平９−１８５５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ＰＣＩバスを有するコンピュータの動作を正しく検証するためには、実際には、ＰＣＩバス上の信号をトレースするだけでなく、ホストＣＰＵ以外のデバイスからＰＣＩバストランザクションが発行された時のコンピュータ内の各デバイスの動作を調べることが必要である。
【０００６】
ところが、テストプログラムは任意のＰＣＩバストランザクションを発行する処理をホストＣＰＵに実行させることはできるものの、任意のＰＣＩバストランザクションを発行する処理をホストＣＰＵ以外のデバイスに実行させることは困難である。
【０００７】
このため、ホストＣＰＵ以外のデバイスからＰＣＩバストランザクションが発行された時のコンピュータ内の動作を容易に検証することが可能な新たな仕組みの実現が必要である。
【０００８】
本発明は上述の事情を考慮してなされたものであり、ホストコンピュータからの要求に応じて任意のバストランザクションを発行することが可能なカード型コンピュータ、およびそのカード型コンピュータを用いたコンピュータシステム並びにデバック方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するため、本発明は、ホストコンピュータのＰＣＩバススロットに接続可能なカード型コンピュータであって、プログラムが格納されたプログラムメモリと、前記プログラムを実行することにより、前記ホストコンピュータから送信される、実行すべきＰＣＩバストランザクションの内容を指示するコマンドを解釈するコマンド解釈処理と、前記コマンドの解釈結果に基づいて、前記コマンドによって指示された所定のＰＣＩバストランザクションを前記ＰＣＩバススロットを介して前記ホストコンピュータのＰＣＩバス上に発行するバストランザクション処理とを実行するプロセッサとを具備することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ホストコンピュータからの要求に応じて任意のバストランザクションを発行することが可能となり、ホストコンピュータの動作を検証するための処理を効率よく支援することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施形態を説明する。  
図１には、本発明の一実施形態に係るカード型コンピュータの構成が示されている。このカード型コンピュータ１０はパーソナルコンピュータのようなコンピュータ（ホストコンピュータ）に設けられたＰＣＩ（Peripheral Component Interconnect）バススロットに接続可能なコンピュータであり、ＰＣＩバススロットに装着されるＰＣＩ拡張カードとして実現されている。
【００１２】
このカード型コンピュータ１０は、ＣＰＵ１１、メモリ１２、ＲＯＭ１３、およびシリアルＩ／Ｏインタフェース１４を備えている。これらＣＰＵ１１、メモリ１２、ＲＯＭ１３、およびシリアルＩ／Ｏインタフェース１４は、ＰＣＩ拡張カードのプリント回路基板上に実装されている。
【００１３】
ＣＰＵ１１は、プログラムメモリとしてのＲＯＭ１３に格納されたプログラムを実行するプロセッサである。このＣＰＵ１１は、ＰＣＩバススロットを介してホストコンピュータ内のＰＣＩバスに接続されるＰＣＩバスインフェースコントローラ１１１を備えている。すなわち、ＰＣＩ拡張カードがＰＣＩバススロットに装着された場合には、ＰＣＩバスインフェースコントローラ１１１は、ＰＣＩ拡張カードに設けられたカードエッジコネクタ１５およびＰＣＩバススロットを介してホストコンピュータ内のＰＣＩバスに接続され、ＰＣＩバスを介してホストコンピュータ内の各デバイスとの通信を実行する。ＣＰＵ１１は、ＰＣＩバスインフェースコントローラ１１１を用いることにより、各種ＰＣＩバストランザクションをＰＣＩバススロットを介してホストコンピュータ内のＰＣＩバスインタフェースに発行することができる。また、ＣＰＵ１１は、ＰＣＩバスインフェースコントローラ１１１を用いることにより、割り込み信号およびパワーマネージメントイベントイベント（ＰＭＥ）等をＰＣＩバススロットを介してホストコンピュータに送信することもできる。なお、ＰＣＩバスインフェースコントローラ１１１をＣＰＵ１１とは異なるデバイスとして実現することもできる。
【００１４】
また、ＣＰＵ１１は、SDRAMメモリなどから構成されるメモリ１２を接続するメモリインタフェースと、フラッシュEEPROMなどから構成されるＲＯＭ１３を接続するためのメモリインタフェースとを有する。メモリ１２はカード型コンピュータ１０およびホストコンピュータの双方からアクセス可能に構成されており、カード型コンピュータ１０とホストコンピュータとの間で共有される共有メモリとして機能する。
【００１５】
また、ＣＰＵ１１は、シリアルＩ／Ｏインタフェース１４を接続するための外部バスインタフェースを有している。シリアルＩ／Ｏインタフェース１４は、他のコンピュータのような外部機器との通信に使用される。シリアルＩ／Ｏインタフェース１４は、例えば、外部機器からＲＯＭ１３にＣＰＵ１１用のプログラムをダウンロードしたり、あるいはメモリ１２の内容のようなカード型コンピュータ１０の内部状態を外部機器に読み出すために使用される。
【００１６】
ＣＰＵ１１は、ＲＯＭ１３に格納されたプログラムを実行することにより、ＰＣＩバススロットを介してホストコンピュータから送信される、実行すべきＰＣＩバストランザクションの内容を指示するコマンドを解釈するコマンド解釈処理と、コマンドの解釈結果に基づいて、コマンドによって指示された所定のＰＣＩバストランザクションをＰＣＩバススロットを介してホストコンピュータのＰＣＩバス上に発行するバストランザクション処理とを実行する。ＰＣＩバストランザクションは、ホストコンピュータのＰＣＩメモリ空間またはＩ／Ｏ空間に配置されたメモリおよびハードウェア等をアクセスするためのバスサイクルである。
【００１７】
ホストコンピュータは、カード型コンピュータ１０にコマンドを送信して実行すべきＰＣＩバストランザクションの内容をカード型コンピュータ１０に指示することにより、カード型コンピュータ１０に任意のＰＣＩバストランザクションを実行させることができる。したがって、カード型コンピュータ１０によって実行されたＰＣＩバストランザクションの実行結果をホストコンピュータ内のホストＣＰＵがチェックすることで、ホストＣＰＵ以外のデバイスからの各種ＰＣＩバストランザクションに対するホストコンピュータ内の動作を検証することが可能となる。
【００１８】
以下、カード型コンピュータ１０が有する具体的な機能について説明する。
【００１９】
カード型コンピュータ１０は、ホストコンピュータからはＰＣＩデバイス（ＰＣＩターゲットデバイス）として認識される。
【００２０】
（１）すなわち、カード型コンピュータ１０のＣＰＵ１１は、ＲＯＭ１３に格納されたプログラムを実行することにより、ホストコンピュータ内のホストＣＰＵやチップセットのようなＰＣＩホストデバイスが、カード型コンピュータ１０をＰＣＩターゲットデバイスとして認識するために必要なＰＣＩバスインタフェースコントローラ１１１の初期化(コンフィグレーション情報の設定)を実行する。
【００２１】
（２）ＣＰＵ１１は、カード型コンピュータ１０内のメモリ１２をＰＣＩバス上におけるターゲットメモリ空間またはターゲットＩ／Ｏ空間に割り当てるよう、カード型コンピュータ１０のシステムの初期化を行う。またホストコンピュータ内のホストＣＰＵやチップセットのようなＰＣＩホストデバイスによるカード型コンピュータ１０の初期化制御によって、ＰＣＩホストデバイスはカード型コンピュータ１０内のメモリ１２をＰＣＩバス上のメモリ空間（ＰＣＩメモリ空間）、ＰＣＩバス上のＩ／Ｏ空間（ＰＣＩＩ／Ｏ空間）にマッピングすることが可能である。これにより、メモリ１２は、カード型コンピュータ１０およびホストコンピュータの両者からアクセスが可能な共有メモリとなる。
【００２２】
ホストコンピュータは、共有メモリとして機能するメモリ１２内の特定の空間に上述のコマンドを書き込むことにより、実行すべきＰＣＩバストランザクションの内容をカード型コンピュータ１０に指示することができる。カード型コンピュータ１０内のＣＰＵ１１は、ＲＯＭ１３に格納されたプログラムを実行することによって、共有メモリ内の特定の空間を常時監視し、特定の空間にコマンドが書き込まれたことが検出された場合、上述のコマンド解釈処理およびバストランザクション処理を実行する。
【００２３】
図２は、カード型コンピュータ１０とホストコンピュータとを含むコンピュータシステム全体の構成を示している。
【００２４】
ホストコンピュータ２０はパーソナルコンピュータのようなコンピュータであり、ホストＣＰＵ２１、主メモリ２２、ノースブリッジ２３、表示コントローラ２４、表示装置２５、サウスブリッジ２６、ハードディスクドライブ（ＨＤＤ）２７、各種Ｉ／Ｏデバイス２８、複数のＰＣＩバススロット２９、およびＰＣＩバス３０等を備えている。
【００２５】
ホストＣＰＵ２１はホストコンピュータ２０の動作を制御するプロセッサ（ホストプロセッサ）であり、ＨＤＤ２７から主メモリ２２にロードされる各種プログラムを実行する。ホストコンピュータ２０の動作を検証するためのデバック時には、ホストコンピュータ２０は、デバック用のテストプログラムを実行する。このテストプログラムには、カード型コンピュータ１０に対して、実行すべきＰＣＩバストランザクションの内容を指示するコマンドを送信する手順と、カード型コンピュータ１０によって実行されたＰＣＩバストランザクションの結果を検証する手順等とが含まれている。
【００２６】
ノースブリッジ２３はホストＣＰＵ２１のローカルバスとサウスブリッジ２６との間を接続するブリッジデバイスであり、ここには主メモリ２２を制御するメモリコントローラも内蔵されている。表示コントローラ２４はＬＣＤなどから構成される表示装置２５を制御する。
【００２７】
サウスブリッジ２６はノースブリッジ２３とＰＣＩバス３０との間を接続するブリッジデバイスである。ＰＣＩバス３０には、各種Ｉ／Ｏデバイス２８が接続されると共に、複数のＰＣＩバススロット２９が接続されている。
【００２８】
ホストコンピュータ２０内の各コンポーネントは、ＰＣＩメモリ空間またはＰＣＩＩ／Ｏ空間にマッピングされている。
【００２９】
カード型コンピュータ１０は、複数のＰＣＩバススロット２９のいずれかに装着して使用される。カード型コンピュータ１０のシリアルＩ／Ｏインタフェース１４には、端末用のパーソナルコンピュータ５０を接続することができる。
【００３０】
図３には、ＰＣＩホストデバイスとカード型コンピュータ１０との間のインタフェースの例が示されている。
【００３１】
ＰＣＩホストデバイスとして機能するホストＣＰＵ２１は、テストプログラムを実行することにより、実行すべきＰＣＩバストランザクションの内容を指定するコマンドをノースブリッジ２３およびサウスブリッジ２６を介してカード型コンピュータ１０内のメモリ１３内の特定のコマンドエリアに書き込む。この場合、ＰＣＩホストデバイスによってカード型コンピュータ１０をＰＣＩターゲットデバイスとするターゲットアクセスが実行される。例えば、メモリ１３内のコマンドエリアがＰＣＩＩ／Ｏ空間にマッピングされている場合には、ターゲットアクセスとして、コマンドエリアにコマンドを書き込むためのＰＣＩバストランザクション（Ｉ／Ｏライトトランザクション）がノースブリッジ２３、サウスブリッジ２６、およびＰＣＩバス３０を介してカード型コンピュータ１０に送られる。
【００３２】
カード型コンピュータ１０内のＣＰＵ１１は、ＲＯＭ１３のプログラムを実行することによって、コマンドエリアに書き込まれたコマンドを解釈し、そして、ＣＰＵ１１は、ＰＣＩマスタデバイスとして機能し、そのコマンドで指定されたＰＣＩバストランザクション（ＰＣＩマスターアクセス）をＰＣＩバス３０上に発行する。ＰＣＩバストランザクションは、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。ＰＣＩホストデバイスから送信されたコマンドには、そのコマンドによって指示されたＰＣＩバストランザクションによってアクセスすべきアドレスを指定する引数が付随している。これにより、引数によって指定されたアドレスをターゲットとするＰＣＩバストランザクションがＣＰＵ１１によって実行される。
【００３３】
図４には、共有メモリ１２上のコマンドエリアの構造の例が示されている。
【００３４】
コマンドエリアの配置場所となる特定のアドレスは図４の例ではＰＣＩＩ／Ｏ空間である。もちろん、このアドレスはメモリ空間でもかまわない。
【００３５】
特定のアドレスからオフセット０番地には実行すべきＰＣＩバストランザクションの種類（メモリライトトランザクション（バースト／シングル）、メモリリードトランザクション（バースト／シングル）、Ｉ／Ｏライトトランザクション（バースト／シングル）、Ｉ／Ｏライトトランザクション（バースト／シングル）等）を指定するコマンド（コマンドＣＭＤ）が書き込まれる。ここへの書き込みは、ＰＣＩホストデバイスによって実行される。ＣＰＵ１１はオフセット０番地を常時監視する。
【００３６】
特定のアドレスからオフセット０ｘ４番地には、実行するコマンドのステータス、つまりコマンドによって指定されたＰＣＩバストランザクションの実行完了の有無（初期状態、実行完了、実行中）を示すステータスがＣＰＵ１１によって書き込まれる。ＰＣＩホストデバイスはこのステータスをリードすることで、カード型コンピュータ１０の現在の状態を確認することができる。
【００３７】
特定のアドレスからオフセット０ｘ８番地には、カード型コンピュータ１０によって実行された、Ｉ／Ｏリードトランザクションやメモリリードトランザクションのようなリードトランザクションによってホストコンピュータ２０のＩ／Ｏ空間やメモリ空間等からリードされたデータが保存される。
【００３８】
特定のアドレスからオフセット０ｘｃ番地から０ｘ２ｃ番地までのエリアはコマンドに付随する引数（パラメータ）の受け渡しに利用される。このパラメータの書き込みはＰＣＩホストデバイスによって行われる。パラメータの内容は、実行すべきＰＣＩバストランザクションの種類によって異なる。
【００３９】
ＰＣＩホストデバイスによってカード型コンピュータ１０に実行が指示されるＰＣＩバストランザクションの例を以下に示す。
【００４０】
DO_MEM_READ_WRITE：  ＰＣＩメモリ空間へのマスターバーストリード・ライトアクセスである。共有メモリ１３の０xc番地以降のパラメータには、転送元アドレス、転送先アドレス、転送サイズが設定される。転送サイズが4byteの場合はシングルアクセスとなる。
【００４１】
DO_MEM_READ：  ＰＣＩメモリ空間へのマスターバーストリードアクセスである。共有メモリ１３の０xc番地以降パラメータには、リードアドレス、転送サイズを設定する。転送サイズが4byteの場合はシングルアクセスとなる。リードしたデータは共有メモリ１３内の特定のエリア、例えば0番地から転送サイズ分保存される。
【００４２】
DO_MEM_WRITE：  ＰＣＩメモリ空間へのマスターバーストライトアクセスである。共有メモリ１３の０ｘｃ番地以降のパラメータにはライトアドレス、転送サイズが設定される。転送サイズが4byteの場合はシングルアクセスとなる。ライトするデータは、例えば、共有メモリ１３の0番地から転送サイズ分のデータを使用する。
【００４３】
DO_SNGL_MREAD：  ＰＣＩメモリ空間へのマスターシングルリードアクセスである。共有メモリ１３の０ｘｃ番地以降のパラメータにはリードアドレスが設定される。リード結果は、共有メモリ１３の例えば0x8番地に保存される。
【００４４】
DO_SNGL_MWRITE：  ＰＣＩメモリ空間へのマスターシングルライトアクセスである。共有メモリ１３の０ｘｃ番地以降のパラメータには、ライトアドレス、ライトデータが設定される。
【００４５】
DO_SNGL_IREAD：  ＰＣＩＩ／Ｏ空間へのマスターシングルリードアクセスである。共有メモリ１３の０ｘｃ番地以降のパラメータにはリードアドレスが設定される。リード結果は共有メモリ１３の例えば0x8番地に保存される。
【００４６】
DO_SNGL_MWRITE：  ＰＣＩＩ／Ｏ空間へのマスターシングルライトアクセスである。共有メモリ１３の０ｘｃ番地以降のパラメータには、ライトアドレス、ライトデータが設定される。
【００４７】
DO_MAST_DUALADDR：  ＰＣＩメモリ空間へのマスターデュアルアドレスサイクルの発行である。共有メモリ１３の０ｘｃ番地以降のパラメータには、リード・ライト、アクセスアドレス(Hi)、アクセスアドレス（Low）、転送サイズが設定される。転送サイズが4byteの場合はシングルアクセスとなる。バーストリード結果は共有メモリ１３の例えば0番地から転送サイズ分保存される。バーストライトデータは例えば同0番地から転送サイズ分のデータを利用する。
【００４８】
DO_PME_EN：  ＰＣＩローカルバス仕様のPME通知をＰＣＩホストデバイスに対して行う。共有メモリ１３の0xc番地以降のパラメータにはイネーブル・ディセーブルが設定される。(イネーブル時にPME通知発行、ディセーブルでPME通知を停止する)
DO_INTERRUPT：  ＰＣＩ割り込み信号をＰＣＩホストデバイスに対して行う。共有メモリ１３の0xc番地以降のパラメータはINT A〜Dの選択、割り込みイネーブル・ディセーブルが設定される。
【００４９】
次に、図５のフローチャートを参照して、カード型コンピュータ１０のＣＰＵ１１によって実行される動作の手順を説明する。
【００５０】
ＣＰＵ１１は共有メモリ１３上の特定のエリアを監視し（ステップＳ１１）、ホストコンピュータ２０からコマンドが送信されたかどうかを検知する（ステップＳ１２）。ホストコンピュータ２０によって共有メモリ１３上の特定のエリアにコマンドが書き込まれると（ステップＳ１２のＹＥＳ）、ＣＰＵ１１は、コマンドを解釈して、そのコマンドによって実行すべきことが指定されたＰＣＩバストランザクションの内容を判定する（ステップＳ１３）。そして、その判定結果と、パラメータの値とに基づいて、特定のＰＣＩバストランザクションをＰＣＩバス上に発行する複数のバストランザクション処理の一つを選択的に実行する（ステップＳ１５−１，Ｓ１５−２，…Ｓ１５−ｎ）。
【００５１】
バストランザクション処理の実行が完了すると、ＣＰＵ１１は、ステータスを実行中から実行完了に書き換える（ステップＳ１６）。この後、ＣＰＵ１１は、ステップＳ１１のコマンド監視処理に戻る。
【００５２】
次に、図６のフローチャートを参照して、テストプログラムの制御の下にホストＣＰＵ２１によって実行される処理の手順を説明する。
【００５３】
ホストＣＰＵ２１は、テストプログラムを実行することにより、カード型コンピュータ１０に実行させるべきＰＣＩバストランザクションの内容を示すコマンド（パラメータも含む）を共有メモリ１３の特定のエリアに書き込み、これによってＰＣＩバストランザクションの実行をカード型コンピュータ１０に指示する（ステップＳ２１）。
【００５４】
ホストＣＰＵ２１は、共有メモリ１３の特定のエリアのステータスをリードすることにより、実行を指示したＰＣＩバストランザクションが完了したか否かを判断する（ステップＳ２２）。実行を指示したＰＣＩバストランザクションが完了すると（ステップＳ２２のＹＥＳ）、ホストＣＰＵ２１は、ＰＣＩバストランザクションの実行結果を検証する処理を実行する（ステップＳ２３）。ステップＳ２３においては、ホストＣＰＵ２１は、例えば、ライトトランザクションの実行を指示したならば、ホストコンピュータ２０内の特定のＩ／Ｏアドレスまたはメモリアドレスをリードすることにより、期待するデータが書き込まれたか否かを判別する。また、リードトランザクションの実行を指示したならば、ホストＣＰＵ２１は、共有メモリ１３の特定のエリアをリードすることにより、期待するデータが読み出されたか否かを判別する。これにより、カード型コンピュータ１０から発行されるＰＣＩバストランザクションに対するホストコンピュータ２０の動作を検証することが可能となる。
【００５５】
以上のように、本実施形態においては、カード型コンピュータ１０は、ホストコンピュータ２０からのコマンドで指示された各種ＰＣＩバストランザクションをＰＣＩバススロット２９を介してＰＣＩバス３０上に発行することができる。よって、ホストコンピュータ２０のデバック時には、カード型コンピュータ１０にホストコンピュータ２０内の各種ハードウェアに対するアクセスを実行させることにより、メモリや内蔵レジスタのダンプなど、ホストコンピュータ２０の動作を効率よく検証・評価することが可能となる。
【００５６】
また、カード型コンピュータ１０はホストコンピュータ２０からのコマンドに応答して動作するので、ホストコンピュータ２０の動作とカード型コンピュータ１０の動作の双方のテストプログラムから容易に制御することが可能となり、例えばホストＣＰＵ２１からのアクセスとカード型コンピュータ１０からのアクセスが競合したときのハードウェアの動作などについても効率よく検証することが可能となる。
【００５７】
また複数のカード型コンピュータ１０を複数のバススロット２９に同時に装着することにより、多重のＰＣＩバストランザクションの発行に対する負荷試験なども効率よく行うことが可能となる。
【００５８】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態に係るカード型コンピュータの構成を示すブロック図。
【図２】同実施形態に係るカード型コンピュータをホストコンピュータに接続した状態を示すブロック図。
【図３】同実施形態に係るカード型コンピュータとホストコンピュータとの間のインタフェースを説明するための図。
【図４】同実施形態に係るカード型コンピュータ内の共有メモリの構造の例を示す図。
【図５】同実施形態に係るカード型コンピュータの動作を説明するフローチャート。
【図６】同実施形態に係るカード型コンピュータが接続されるホストコンピュータの動作を説明するフローチャート。
【符号の説明】
【００６０】
１０…カード型コンピュータ、１１…ＣＰＵ、１２…メモリ、１３…ＲＯＭ、１４…シリアルＩ／Ｏインタフェース、１５…カードエッジコネクタ、２０…ホストコンピュータ、２１…ホストＣＰＵ、２９…ＰＣＩバススロット、３０…ＰＣＩバス、１１１…ＰＣＩバスインフェースコントローラ。
【図１】
2007323283.tif 000003
【図２】
2007323283.tif 000004
【図３】
2007323283.tif 000005
【図４】
2007323283.tif 000006
【図５】
2007323283.tif 000007
【図６】
2007323283.tif 000008