(57)【要約】【課題】リクエストの再送効率の向上を図る。【解決手段】リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロック（２１８）を設ける。上記高速シリアルインタフェースブロックは、受信データを取り込むための受信バッファ（１１）と、上記受信バッファがオーバーフローした場合に、所定時間内に上記コンプリータから応答が無かった場合に行われる処理を実行させるための制御部（１５）とを設ける。上記受信バッファがオーバーフローした場合、タイムアウト判定のための規定時間内であってもタイムアウトとして処理できるようにしてリクエストの再送効率を改善する。【選択図】図１
2008287558.tif 000002
【特許請求の範囲】
【請求項１】
リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロックを有する半導体装置であって、
上記高速シリアルインタフェースブロックは、受信データを取り込むための受信バッファと、
上記受信バッファがオーバーフローした場合に、所定時間内に上記コンプリータから応答が無かった場合に行われる処理を実行させるための制御部と、を含んで成ることを特徴とする半導体装置。
【請求項２】
リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロックを含み、所定時間内に上記コンプリータから応答が無い場合にタイムアウトフラグが設定されることで、リクエスト再送のための割り込み処理が行われる半導体装置であって、
上記高速シリアルインタフェースブロックは、受信パケットを取り込むための受信バッファと、
上記受信バッファで受信される受信パケットのサイズをカウントすることによって上記受信バッファでのオーバーフローを検出可能な受信パケットサイズカウンタと、
受信パケットサイズカウンタによって上記受信バッファでのオーバーフローが検出された場合に、それに応じて上記タイムアウトフラグを設定することで、所定の割り込み処理を実行させるための制御部と、を含んで成ることを特徴とする半導体装置。
【請求項３】
所定時間内に上記コンプリータから応答が無い場合にタイムアウトフラグが設定される第１レジスタと、
上記受信パケットサイズカウンタによって上記受信バッファでのオーバーフローが検出された場合にオーバーフローフラグが設定される第２レジスタと、を含み、
上記第２レジスタにオーバーフローフラグが設定された場合、それに呼応して上記第１レジスタにタイムアウトフラグが設定される請求項２記載の半導体装置。
【請求項４】
上記第１レジスタにタイムアウトフラグが設定された場合に、リクエスト再送のための割り込み処理を実行可能な中央処理装置を含む請求項３記載の半導体装置。
【請求項５】
リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロックと、
上記高速シリアルインタフェースブロックとの間で各種信号のやり取り可能に結合された中央処理装置と、を含み、
所定時間内に上記コンプリータから応答が無い場合にタイムアウトフラグが設定されることで、リクエスト再送のための割り込み処理が上記中央処理装置で行われるマイクロコンピュータであって、
上記高速シリアルインタフェースブロックは、受信パケットを取り込むための受信バッファと、
上記受信バッファで受信される受信パケットのサイズをカウントすることによって上記受信バッファでのオーバーフローを検出可能な受信パケットサイズカウンタと、
受信パケットサイズカウンタによって上記受信バッファでのオーバーフローが検出された場合に、それに応じて上記タイムアウトフラグを設定することで、上記中央処理装置にリクエスト再送の割り込み処理を実行させるための制御部と、を含んで成ることを特徴とするマイクロコンピュータ。
【請求項６】
所定時間内に上記コンプリータから応答が無い場合にタイムアウトフラグが設定される第１レジスタと、
上記受信パケットサイズカウンタによって上記受信バッファでのオーバーフローが検出された場合にオーバーフローフラグが設定される第２レジスタと、を含み、
上記第２レジスタにオーバーフローフラグが設定された場合、上記コンプリータからの応答の有無の判別が行われること無く、上記第１レジスタにタイムアウトフラグが設定される請求項５記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする半導体装置及びマイクロコンピュータに関する。
【背景技術】
【０００２】
一般に、マイクロコンピュータなどのデータ処理装置において、ＰＣＩバスのようなパラレル方式のインタフェースに代えて、高速シリアルインタフェースの使用が検討されている。シリアルインタフェースとしてＩＥＥＥ１３９４やＵＳＢ等の規格がある。しかし、かかるインタフェースは、ＰＣＩに比べて転送レートが不足しており、さらにスケーラブルなバス幅確保が困難とされる。他の高速シリアルインタフェースとして、ＰＣＩバス方式の後継規格に当るPCI Express（登録商標）が挙げられる。PCI Expressシステムは、例えば非特許文献１等に示されるようなルートコンプレックス−スイッチ（任意階層）−デバイス等のツリー構造（木構造）によるデータ通信網として構成されている。また、PCI Expressシステムの有効活用を図った画像機器システムについて記載された文献の例として、特許文献１を挙げることができる。
【０００３】
【非特許文献１】“PCI Express 規格の概要”Interface誌、July 2003 里見尚志
【特許文献１】特開２００５−１４８８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
PCI Expressシステムでは、スプリットトランザクションプロトコルをサポートしており、メモリーリードに代表されるように、相手の応答を必要とするリクエストには、デットロック防止のため、タイムアウト機構が設けられている。タイムアウト機構は、規定時間内に相手の応答がなかった場合、あるいは相手の応答が完了しなかった場合、タイムアウトとなるシステムである。タイムアウトが発生した場合、リクエストの再送が行われる。しかしながら従来システムでは、相手の応答により自身の受信バッファがオーバーフローを起こしたような場合でも規定時間まではタイムアウトにならないため、リクエストの再送効率の低下を招いていることが、本願発明者によって見いだされた。尚、特許文献１には、受信バッファのオーバーフローを避けるための記載はあるものの、オーバーヘッドを生じた場合については記載されていない。
【０００５】
本発明の目的は、スプリットトランザクション型通信におけるリクエスト再送効率の向上を図ることにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【０００８】
すなわち、リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロックを設ける。上記高速シリアルインタフェースブロックは、受信データを取り込むための受信バッファと、上記受信バッファがオーバーフローした場合に、所定時間内に上記コンプリータから応答が無かった場合に行われる処理を実行させるための制御部とを設ける。上記受信バッファがオーバーフローした場合、タイムアウト判定のための規定時間内であってもタイムアウトとして処理できるようにしてリクエストの再送効率の改善を図る。
【発明の効果】
【０００９】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１０】
すなわち、スプリットトランザクション型通信におけるリクエスト再送効率の向上を達成する。
【発明を実施するための最良の形態】
【００１１】
１．代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１２】
〔１〕本発明の代表的な実施の形態に係る半導体装置（２１０）は、リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロック（２１８）を有する。上記高速シリアルインタフェースブロックは、受信データを取り込むための受信バッファ（１１）と、上記受信バッファがオーバーフローした場合に、所定時間内に上記コンプリータから応答が無かった場合に行われる処理を実行させるための制御部（１５）とを含んで成る。
【００１３】
上記の構成によれば、オーバーフロー発生に起因して割り込み要求が行われる場合には、受信バッファ１１がオーバーフローした場合にオーバーフローフラグの設定が行われ、それに呼応してタイムアウトフラグが設定されるため、タイムアウト判定のための規定時間内であってもタイムアウトとして処理することができるので、オーバーフロー発生に起因して割り込み要求が行われない場合に比べて、リクエストの再送効率が大幅に改善される。
【００１４】
〔２〕また、上記高速シリアルインタフェースブロックは、受信パケットを取り込むための受信バッファ（１１）と、上記受信バッファで受信される受信パケットのサイズをカウントすることによって上記受信バッファでのオーバーフローを検出可能な受信パケットサイズカウンタ（１２）と、受信パケットサイズカウンタによって上記受信バッファでのオーバーフローが検出された場合に、それに応じて上記タイムアウトフラグを設定することで、所定の割り込み処理を実行させるための制御部（１５）とを含んで構成することができる。
【００１５】
〔３〕このとき、所定時間内に上記コンプリータから応答が無い場合にタイムアウトフラグが設定される第１レジスタ（１９）と、上記受信パケットサイズカウンタによって上記受信バッファでのオーバーフローが検出された場合にオーバーフローフラグが設定される第２レジスタ（１３）とを設け、上記第２レジスタにオーバーフローフラグが設定された場合、それに呼応して上記第１レジスタにタイムアウトフラグが設定されるように構成することができる。
【００１６】
〔４〕上記第１レジスタにタイムアウトフラグが設定された場合に、リクエスト再送のための割り込み処理を実行可能な中央処理装置（２１２）を設けることができる。
【００１７】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００１８】
図２には、本発明にかかる半導体装置の一例とされるマイクロコンピュータが示される。同図に示されるマイクロコンピュータ２１０は、フラッシュメモリ２２０、ＣＰＵ（中央処理装置）２１２、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）２１３、バスコントローラ（ＢＳＣ）２１４、ＲＯＭ２１５、ＲＡＭ２１６、タイマ２１７、PCI Expressブロック２１８、第１乃至第９入出力ポートＩＯＰ１〜ＩＯＰ９、クロック発振器（ＣＰＧ）２１９の機能ブロック乃至はモジュールを含み、公知の半導体製造技術により１つの半導体基板に形成される。
【００１９】
上記マイクロコンピュータ２１０は、チップ外からの電源供給のための電源端子として、グランド端子Ｖｓｓ、電源電圧端子Ｖｃｃ、その他専用制御端子として、リセット端子ＲＥＳ、スタンバイ端子ＳＴＢＹ、モード制御端子ＭＯＤＥ、クロック入力端子ＥＸＴＡＬ、ＸＴＡＬを有する。それらは外部端子である。クロック入力端子ＥＸＴＡＬ、ＸＴＡＬに接続される、図示はされない水晶振動子に基づいて、クロック発振器９が生成するシステムクロックに同期して、マイクロコンピュータ２１０は動作する。
【００２０】
上記機能ブロックは、内部バスによって相互に接続されることによって各種信号のやり取りが可能とされる。内部バスはアドレスバス・データバスの他、リード信号、ライト信号、さらにバスサイズ信号、そしてシステムクロックなどを含む制御バスなどによって構成される。内部アドレスバスには、ＩＡＢ、ＰＡＢが存在し、内部データバスにはＩＤＢ、ＰＤＢが存在する。ＩＡＢ、ＩＤＢはフラッシュメモリ２２０、ＣＰＵ２１２、ＲＯＭ２１５、ＲＡＭ２１６、バスコントローラ２１４、入出力ポートＩＯＰ１〜ＩＯＰ９の一部に接続される。ＰＡＢ、ＰＤＢはバスコントローラ２１４、タイマ２１７、PCI Expressブロック２１８、入出力ポートＩＯＰ１〜９に接続される。ＩＡＢとＰＡＢ、ＩＤＢとＰＤＢは、それぞれバスコントローラ２１４でインタフェースされる。特に制限されないが、ＰＡＢとＰＤＢはそれが接続されている機能ブロック内のレジスタアクセスに専ら用いられる。
【００２１】
入出力ポートＩＯＰ１〜ＩＯＰ９は、外部バス信号と、入出力回路の入出力信号との入出力に兼用とされている。これらは、動作モードあるいはソフトウエアの設定により、機能を選択されて、使用される。外部アドレス、外部データは、それぞれ、これらの入出力ポートに含まれる図示しないバッファ回路を介してＩＡＢ、ＩＤＢと接続されている。ＰＡＢ、ＰＤＢは入出力ポートやバスコントローラ２１４などの内蔵レジスタをリード／ライトするために使用され、外部バスとは直接の関係はない。
【００２２】
内部バス及び外部バス共に１６ビットバス幅とされ、バイトサイズ（８ビット）及びワードサイズ（１６ビット）のリード／ライトが行われるようになっている。なお、外部バスは８ビット幅とすることもできる。
【００２３】
上記リセット端子ＲＥＳにシステムリセット信号が加えられると、モード制御端子ＭＯＤＥで与えられる動作モードを取り込み、マイクロコンピュータ２１０はリセット状態にされる。動作モードは、特に制限はされないものの、内蔵ＲＯＭ２１５の有効／無効、アドレス空間を１６Ｍバイトまたは１Ｍバイト、データバス幅の初期値を８ビットまたは１６ビットの何れにするかなどを決定する。必要に応じてモード制御端子ＭＯＤＥは複数端子とされ、これらの端子への入力状態の組合せで動作モードが決定される。
【００２４】
リセット状態を解除すると、ＣＰＵ２１２は、スタートアドレスをリードして、このスタートアドレスから命令のリードを開始するリセット例外処理を行う。上記スタートアドレスは、特に制限はされないものの０番地から始まる領域に格納されているものとする。その後、ＣＰＵ２１２は上記スタートアドレスから順次命令を実行する。
【００２５】
ＤＭＡＣ２１３は、ＣＰＵ２１２の制御に基づいてデータの転送を行う。ＣＰＵ２１２とＤＭＡＣ２１３は互いに排他的に内部バス・外部バスを使用してリード／ライト動作を行う。ＣＰＵ２１２またはＤＭＡＣ２１３のいずれが動作するかの調停はバスコントローラ２１４が行う。
【００２６】
バスコントローラ２１４は、ＣＰＵ２１２またはＤＭＡＣ２１３の動作に呼応して、バスサイクルを構成する。すなわち、ＣＰＵ２１２またはＤＭＡＣ２１３の出力するアドレス、リード信号、ライト信号、バスサイズ信号に基づき、バスサイクルを形成する。例えば、ＲＡＭ２１６に相当するアドレスをＣＰＵ２１２が内部アドレスバスＩＡＢに出力した場合、バスサイクルは１ステートとされ、バイト／ワードサイズに拘らず、１ステートでリード／ライトが行われるようになっている。タイマ２１７、PCI Expressブロック２１８、入出力ポートＩＯＰ１〜ＩＯＰ９に相当するアドレスをＣＰＵ２１２が内部アドレスバスＩＡＢに出力した場合、バスサイクルは３ステートとされ、内部アドレスバスＩＡＢの内容が内部アドレスバスＰＡＢに出力され、バイト／ワードサイズに拘らず、３ステートでリード／ライト動作を行うようになっている。この制御はバスコントローラ２１４が行う。
【００２７】
マイクロコンピュータ２１０においてフラッシュメモリ２２０には、ユーザプログラム、チューニング情報、データテーブルなどが適宜格納される。ＲＯＭ２１５には、特に制限されないが、オペレーティングシステムのようなシステムプログラムが格納される。
【００２８】
PCI Expressブロック１８は、PCI Express（登録商標）によるシリアル通信、すなわち、リクエスタが発行したリクエストに対してコンプリータが応答を発行することで行われるスプリットトランザクション型通信を可能とする。このPCI Expressブロック１８が、本発明における高速リアルインタフェースブロックの一例とされる。
【００２９】
図３には、上記ＰＣＩ  ＥＸＰＲＥＳＳブロック１８の構成例が示される。
【００３０】
上記PCI Expressブロック１８は、特に制限されないが、内部バスインタフェース１８１、メモリインタフェース部（ＭＥＭＩＦ）１８２、トランザクション層（ＴＬ）１８３、データリンク層（ＤＬ）１８４、物理層論理部（ＭＡＣ）１８５、PCI Expressバスインタフェース１８６を含んで成る。
【００３１】
内部バスインタフェース１８１はＰＡＢ・ＰＤＢに結合される。PCI Expressバスインタフェース１８６は、PCI Expressバス３０を介して他のPCI Expressデバイス３１に結合される。
【００３２】
トランザクション層（ＴＬ）１８３は、最上位に位置し、トランザクションレイヤパケットの組み立て、分解機能を有する。トランザクションレイヤパケットは、リード／ライト、各種イベントなどのトランザクションの伝達に用いられる。また、トランザクション層（ＴＬ）１８３は、トランザクションレイヤパケットのためのクレジットを用いたフロー制御を行う。
【００３３】
データリンク層（ＤＬ）１８４は、エラー検出／訂正（再送）によりトランザクションレイヤパケットのデータ完全性を保証したり、リンク管理を行う。また、リンク管理やフロー制御のためのパケットのやり取りを行う。
【００３４】
物理層論理部（ＭＡＣ）１８５は、ドライバ、入力バッファ、パラレル・シリアル変換器、シリアル・パラレル変換器、ＰＬＬ（フェーズ・ロックド・ループ）、インピーダンス整合回路など、インタフェース動作に必要な回路を含む。
【００３５】
上記メモリインタフェース部（ＭＥＭＩＦ）１８２、トランザクション層（ＴＬ）１８３、データリンク層（ＤＬ）１８４、及び物理層論理部（ＭＡＣ）１８５は、それぞれPCI Expressバス３０を介してパケットを受信するための受信部、PCI Expressバス３０を介してパケットを送信するための送信部、上記受信部及び上記送信部の動作を制御するための制御部を含む。
【００３６】
図１には、上記メモリインタフェース部（ＭＥＭＩＦ）１８２及びトランザクション層（ＴＬ）１８３における主要構成が示される。
【００３７】
上記メモリインタフェース部（ＭＥＭＩＦ）１８２は、トランザクション層（ＴＬ）１８３を介して伝達された受信パケットを取り込むための受信バッファ１１と、トランザクション層（ＴＬ）１８３を介して上記受信バッファ１１に取り込まれる受信パケットのサイズをカウントするための受信パケットサイズカウンタ１２と、オーバーフローフラグの設定を可能とするオーバーフローフラグ設定レジスタ１３とを含む。受信パケットは、矢印Ａで示されるように受信バッファ１１、受信パケットサイズカウンタ１２に伝達される。オーバーフローフラグは、矢印Ｂで示されるようにオーバーフローフラグ設定レジスタ１９に設定される。上記受信パケットサイズカウンタ１２によって受信パケットのデータサイズがカウントされる。そして受信パケットのデータサイズが受信バッファサイズを越えた場合には、オーバーフローフラグ設定レジスタ１３のオーバーフローフラグが例えば論理値‘１’に設定される。
【００３８】
上記トランザクション層（ＴＬ）１８３は、受信部１４、制御部１５、及び送信部１６を含む。受信部１４は、受信パケットをチェックするための受信パケットチェック回路１７を含む。受信パケットチェック回路１７によって「受信完了」などの受信パケット情報が得られる。パケット受信が完了した場合、受信パケットチェック回路１７により、タイマ停止信号がアサートされる。制御部１５は、予め設定された時間内にコンプリータからの応答が無かった場合（タイムアウト）を検出するためのタイマ１８と、このタイマ１８によるタイムアウト検出結果に基づいてタイムアウトフラグが設定されるタイムアウト設定レジスタ１９とを含む。タイマ１８は、送信部パケット情報（メモリリード送信）によって起動され、受信パケットチェック回路１７からの受信パケット情報によって停止される。特に制限されないが、タイマ１８によってタイムアウトが検出された場合、上記タイムアウトフラグは、論理値‘１’に設定される。また、上記オーバーフローフラグ設定レジスタ１３のオーバーフローフラグが論理値‘１’に設定されている場合には、タイマ１８によるタイムアウト検出にかかわらず、矢印Ｃで示されるように、タイムアウトフラグ設定レジスタ１９のタイムアウトフラグが論理値‘１’に設定される。タイムアウトフラグが論理値‘１’に設定された場合、矢印Ｄで示されるように、ＣＰＵ１２（図２参照）に対する割り込みが発生される。ＣＰＵ１２は、タイムアウトフラグに起因する割り込み処理によりコンプリータに対してリクエストを再送することができる。
【００３９】
ここで、上記構成の比較対象として、スプリットトランザクション型通信において、オーバーフロー発生に起因して割り込み要求が行われない場合について説明する。
【００４０】
図４には、オーバーフロー発生に起因して割り込み要求が行われない場合の処理の流れが示される。
【００４１】
先ず、リクエスタとして機能するPCI Expressブロック１８は、PCI Expressデバイス３１に対して、メモリリードについてのリクエストを送信し（４０１）、コンプリーション受信待ちの状態に遷移する（４０２）。そして、受信パケットチェック回路１７により、コンプリーション受信が完了したか否かの判別が行われる（４０３）。この判別において、コンプリーション受信が完了していない（Ｎ）と判断された場合、タイマ１８においてタイマ値が規定値に達したか否かの判別が行われる（４０４）。この判別において、タイマ値が規定値に達した（Ｙ）と判断された場合には、タイムアウト設定レジスタ１９にタイムアウトフラグがセットされる（４０５）。これにより、ＣＰＵ２１２に対する割り込みが発生される（４０６）。尚、上記ステップ４０３の判別においてコンプリーション受信が完了した（Ｙ）と判断された場合にも割り込みが発生される。そして、ＣＰＵ２１２により割り込み要因が確認され、タイムアウト設定レジスタ１９にタイムアウトフラグが設定されているか否かの判別が行われる（４０９）。この判別において、タイムアウト設定レジスタ１９にタイムアウトフラグが設定されていると判断された場合には、ＣＰＵ２１２での割り込み処理によってレジスタなどが初期状態に戻され（ソフトウェアによるクリア）、メモリリードリクエストが再送される（４１１）。尚、上記ステップ４０９の判別において、タイムアウトフラグがセットされていない（Ｎ）と判断された場合には、ソフトウェアによるクリアが行われ（４１２）、スプリットトランザクション型通信における一連の処理が終了される（４１３）。
【００４２】
図５には、オーバーフロー発生に起因して割り込み要求が行われる場合の処理の流れが示される。
【００４３】
図５に示される処理が、図４に示される処理と大きく相違するのは、ステップ４０３の判別において、コンプリーション受信が完了した（Ｙ）と判断された場合に、受信バッファ１１がオーバーフローしたか否かの判別が行われ（５０１）、この判別において受信バッファ１１がオーバーフローした（Ｙ）と判断された場合に、タイムアウトフラグの設定が行われる（４０５）点である。すなわち、受信パケットサイズカウンタ１２において、受信バッファ１１がオーバーフローしたか否かの判別が行われ、受信バッファ１１がオーバーフローした場合には、オーバーフローフラグ設定レジスタ１３にオーバーフローフラグの設定が行われる。そして、オーバーフローフラグ設定レジスタ１３にオーバーフローフラグの設定が行われた場合には、それに呼応してタイムアウトフラグ設定レジスタ１９にタイムアウトフラグが設定され、ステップ４０４の判別において上記タイムアウトしたと判断された場合に等しい割り込みが発生される。従って、本例においてオーバーフローフラグ設定レジスタ１３にオーバーフローフラグの設定が行われた場合には、タイムアウト判定のための規定時間内でっても、割り込み処理によりメモリリードリクエストの再送が行われる（４１１）。
【００４４】
図４に示されるように、オーバーフロー発生に起因して割り込み要求が行われない場合には、相手（コンプリータ）の応答により自身（リクエスタ）の受信バッファがオーバーフローを起こしたような場合でも規定時間まではタイムアウトにならないため、リクエストの再送効率の低下を招いてしまう。例えば、図６（Ａ）に示されるように、メモリリードリクエストの送信からタイムアウト発生までに６２５００００クロックに相当する時間が必要とされる場合において、自身の受信バッファがオーバーフローを起こしたとき、再送までに、６２５００００クロック＋αに相当する時間が必要とされ、このことが、リクエストの再送効率の低下を招く。
【００４５】
これに対して、図５に示されるように、オーバーフロー発生に起因して割り込み要求が行われる場合には、受信バッファ１１がオーバーフローした場合にオーバーフローフラグの設定が行われ、それに呼応してタイムアウトフラグが設定されるため、例えば図６（Ｂ）に示されるように、メモリリードリクエストの送信から１０００クロック＋αに相当する時間が経過した時点でリクエストの再送が行われる。これにより、オーバーフロー発生に起因して割り込み要求が行われる場合には、リクエストの再送効率が大幅に改善される。
【００４６】
上記の例によれば、以下の作用効果を得ることができる。
【００４７】
（１）オーバーフロー発生に起因して割り込み要求が行われる場合には、受信バッファ１１がオーバーフローした場合にオーバーフローフラグの設定が行われ、それに呼応してタイムアウトフラグが設定されるため、タイムアウト判定のための規定時間内であってもタイムアウトとして処理することができるので、オーバーフロー発生に起因して割り込み要求が行われない場合に比べて、リクエストの再送効率が大幅に改善される。
【００４８】
（２）タイムアウトした場合の割り込み処理において、オーバーフローフラグをチェックすることにおり、オーバーフローフラグがどのくらいの頻度で設定されるかを把握することができる。この情報は、例えばシステムデバッグで有意義な情報とされる。
【００４９】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００５０】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではなく、半導体装置に広く適用することができる。
【００５１】
本発明は、少なくともスプリットトランザクション型通信を可能とする高速シリアルインタフェースブロックを備えることを条件に適用することができる。
【図面の簡単な説明】
【００５２】
【図１】本発明にかかる半導体装置の一例とされるマイクロコンピュータに含まれるPCI Expressブロックにおける主要部の構成例ブロック図である。
【図２】上記マイクロコンピュータの全体的な構成例ブロック図である。
【図３】上記マイクロコンピュータに含まれるPCI Expressブロックの構成例ブロック図である。
【図４】オーバーフロー発生に起因して割り込み要求が行われない場合の処理の流れが示されるフローチャートである。
【図５】オーバーフロー発生に起因して割り込み要求が行われる場合の処理の流れが示されるフローチャートである。
【図６】メモリリードリクエストの送信からタイムアウト発生までに要する時間の説明図である。
【符号の説明】
【００５３】
１０  コンプリーション受信バッファ
１１  受信バッファ
１２  受信パケットサイズカウンタ
１３  オーバーフローフラグ設定レジスタ
１４  受信部
１５  制御部
１６  送信部
１７  受信パケットチェック回路
１８  タイマ
１９  タイムアウトフラグ設定レジスタ
３０  PCI Expressバス
３１  PCI Expressデバイス
１８２  メモリインタフェース部
１８３  トランザクション層
１８４  データリンク層
１８５  物理層論理部
１８６  PCI Expressバスインタフェース
２１０  マイクロコンピュータ
２１２  ＣＰＵ
２１８  PCI Expressブロック
【図１】
2008287558.tif 000003
【図２】
2008287558.tif 000004
【図３】
2008287558.tif 000005
【図４】
2008287558.tif 000006
【図５】
2008287558.tif 000007
【図６】
2008287558.tif 000008