(57)【要約】【課題】システムのリアルタイム性能を向上させる。【解決手段】ＣＰＵ（１０３）と、上記ＣＰＵに結合されたバス（１０６）と、それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュール（１０８Ａ，１０８Ｂ，１０８Ｃ）と、上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路（１０４，１０５）とが設けられる。そして上記通信モジュール毎の通信待ち時間に応じて上記優先度を調整するための通信モニタ（１１１Ａ）が設けられる。最も通信待ち時間が長い通信チャネルから順に処理を実行させることにより、システムのリアルタイム性能を向上させる。【選択図】図１
2011221943.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
上記ＣＰＵに結合されたバスと、
それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュールと、
上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路と、を含む半導体集積回路装置であって、
上記通信モジュール毎の通信待ち時間に応じて上記優先度を調整するための通信モニタを含むことを特徴とする半導体集積回路装置。
【請求項２】
上記通信モニタは、上記通信モジュール毎の通信待ち時間を計測するためのタイマ部と、
通信待ち時間のレベルコード生成の基準となるレベルを設定可能なレベル設定レジスタと、
上記タイマにより計測された上記通信モジュール毎の通信待ち時間と、上記レベル設定レジスタの出力とを比較して上記通信モジュール毎の通信待ち時間のレベルコードを形成する比較部と、
上記比較部の出力をエンコードして、上記優先度を調整するための信号を形成するエンコーダと、を含んで成る請求項１記載の半導体集積回路装置。
【請求項３】
ＣＰＵと、
上記ＣＰＵに結合されたバスと、
それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュールと、
上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路と、を含む半導体集積回路装置であって、
上記通信モジュール毎の通信待ち時間、及び上記通信モジュール毎の転送データ量に応じて上記優先度を調整するための通信モニタを含むことを特徴とする半導体集積回路装置。
【請求項４】
上記通信モニタは、上記通信モジュール毎の通信待ち時間を計測するためのタイマ部と、
上記通信モジュール毎の通信待ち時間のレベルコード生成の基準となるレベルを設定可能な第１レジスタと、
上記タイマにより計測された上記通信モジュール毎の通信待ち時間と、上記第１レジスタの出力とを比較して上記通信モジュール毎の通信待ち時間のレベルコードを形成する第１比較部と、
上記第１比較部の出力をエンコードする第１エンコーダと、
上記通信モジュール毎の転送データ量のレベルコード生成の基準となるレベルを設定可能な第２レジスタと、
上記通信モジュール毎の転送データ量と、上記第２レジスタの出力とを比較して上記通信モジュール毎の転送データ量のレベルコードを形成する第２比較部と、
第２比較部の出力をエンコードする第２エンコーダと、
上記第１エンコーダの出力と上記第２エンコーダの出力と選択的に出力することにより、上記優先度を調整するための信号を形成するセレクタと、を含んで成る請求項３記載の半導体集積回路装置。
【請求項５】
上記セレクタは、上記通信モジュール毎の通信待ち時間のレベルコードが所定値を越えた場合に、上記第１エンコーダの出力を選択的に出力する請求項４記載の半導体集積回路装置。
【請求項６】
ＣＰＵと、
上記ＣＰＵに結合されたバスと、
それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュールと、
上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路と、を含む半導体集積回路装置であって、
上記通信モジュール毎の通信待ち時間、上記通信モジュール毎の転送データ量、及び上記通信モジュール毎の通信エラーの有無に応じて上記優先度を調整するための通信モニタを含むことを特徴とする半導体集積回路装置。
【請求項７】
上記通信モニタは、上記通信モジュール毎の通信待ち時間を計測するためのタイマ部と、
上記通信モジュール毎の通信待ち時間のレベルコード生成の基準となるレベルを設定可能な第１レジスタと、
上記タイマにより計測された上記通信モジュール毎の通信待ち時間と、上記第１レジスタの出力とを比較して上記通信モジュール毎の通信待ち時間のレベルコードを形成する第１比較部と、
上記第１比較部の出力をエンコードする第１エンコーダと、
上記通信モジュール毎の転送データ量のレベルコードを生成するためのレベルを設定可能な第２レジスタと、
上記通信モジュール毎の転送データ量と、上記第２レジスタの出力とを比較して上記通信モジュール毎の転送データ量のレベルコードを形成する第２比較部と、
第２比較部の出力をエンコードする第２エンコーダと、
上記通信モジュール毎の通信エラーの有無を示す信号をエンコードする第３エンコーダと、
上記第１エンコーダの出力と上記第２エンコーダの出力と第３エンコーダの出力とを選択的に出力することにより、上記優先度を調整するための信号を形成するセレクタと、を含んで成る請求項６記載の半導体集積回路装置。
【請求項８】
上記セレクタは、上記通信モジュールでエラーが発生した場合には、上記第３エンコーダの出力を選択的に出力し、上記通信モジュールでエラーが発生されない状態で、上記通信モジュール毎の通信待ち時間のレベルコードが所定値を越えた場合には、上記第１エンコーダの出力を選択的に出力する請求項７記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置、特に複数の通信モジュールを含むマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、各通信ポートに装備されたコミュニケーションプロセッサにより各々処理されたデータを次段のメインプロセッサに転送するための転送順番の調停を行い、メインプロセッサに対するデータ転送や複数の通信ポートの受信処理制御の効率をよくするための技術が記載されている。それによれば、作図データを解析処理するコミュニケーションプロセッサ、およびその動作プログラムを格納するローカルメモリと処理されたデータを格納するデータバッファ、さらに各コミュニケーションプロセッサからのデータ転送要求信号を調停してデータバッファの作図データをメインプロセッサに転送する順序を選択するポートアービタと、ポートアービタからの調停通知により次の作図処理を行うメインプロセッサが設けられる。
【０００３】
特許文献２には、複数のホストコンピュータからの画像データを出力手段により印字出力する受信データ制御装置において、ホストコンピュータの開放を早くすると共に、オーバーフローを抑制して、処理効率の向上および経済性を向上させるための技術が記載されている。それによれば、複数のホストコンピュータと各々対応して設けられた受信インターフェイスと、受信インターフェイスで受信した画像データを格納するデータ受信バッファと、各々のデータ受信バッファの一定時間内における受信画像データ量を集計比較し、各々のデータ受信バッファの優先順位をその都度決定し、それに基づいてデータ受信バッファからの出力を選択して、出力装置に画像データを転送する受信データ制御部とが設けられる。
【０００４】
特許文献３には、トランザクション層の送信バッファが介在している場合であっても、アービタの設定と実際のトラフィックのプライオリティの整合性を維持しつつ優先度の調停を行なうための技術が記載されている。それによれば、PCI Expressのアーキテクチャを構成するトランザクション層から出力されたパケットデータを統計情報生成手段でモニタした結果をリアルタイムに重み情報更新手段に対してフィードバック制御してアービトレーションテーブルに反映することで、シリアル通信路を実際に転送されたパケットデータの転送データ量に応じた優先度づけを可能とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２７８３９９号公報
【特許文献２】特開平８−５４９９４号公報
【特許文献３】特開２００７−２４９８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数の通信モジュールを含むマイクロコンピュータなどの半導体集積回路装置においては、当該半導体集積回路装置内のバスが上記複数の通信モジュール間で共有されている。このため、上記複数の通信モジュールを介して、通信相手とされる別の半導体集積回路装置との間でデータ通信が行われるとき、バス使用要求、ＤＭＡ転送要求、割り込み要求などの競合が発生する場合がある。このような競合は、予め設定された優先度に従って調停される。
【０００７】
上記通信モジュールからの通信要求の優先度が固定されていると、使用状況に応じてバスを効率よく使用できない場合がある。また、特定の通信モジュールについての通信のレイテンシが不所望に増大する虞れがある。そこで、上記従来技術文献に記載されているように、通信モジュール内の送受信バッファの転送データ量に応じて内部バス調停の優先順位を変えることが考えられる。これについて本願発明者が検討したところ、通信モジュール内の送受信バッファの転送データ量に応じて内部バス調停の優先順位を変えた場合にシステムのリアルタイム性の低下を招く虞れがあることが見いだされた。例えば通信モジュール内の送受信バッファの転送データ量が他の通信モジュールに比べて少ない場合には、通信モジュールについての内部バス調停の優先順位が低くなってしまうことから、当該通信モジュールにおいては、何時になっても通信を開始することができなくなり、システムのリアルタイム性の低下を招くことになる。
【０００８】
本発明の目的は、複数の通信モジュールを含む半導体集積回路装置において、システムのリアルタイム性の向上を図るための技術を提供する。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、半導体集積回路装置は、ＣＰＵと、上記ＣＰＵに結合されたバスと、それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュールと、上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路とを含む。そして、上記通信モジュール毎の通信待ち時間に応じて上記優先度を調整するための通信モニタが設けられる。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１３】
すなわち、複数の通信モジュールを含む半導体集積回路装置において、システムのリアルタイム性の向上を図ることができる。また、エラー発生時には、その処理が迅速に行われるので、システムの信頼性の向上を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明にかかる半導体集積回路装置の一例とされるマイクロコンピュータの構成例ブロック図である。
【図２】上記マイクロコンピュータに含まれる通信モニタにおけるタイマ部及び比較部の構成例ブロック図である。
【図３】図２における主要部の構成例回路図である。
【図４】上記比較器から出力されるレベルコードの説明図である。
【図５】上記通信モニタに含まれるプライオリティエンコーダの構成例説明図である。
【図６】上記通信モニタの別の構成例ブロック図である。
【図７】上記通信モニタの別の構成例ブロック図である。
【図８】図７に示される通信モニタを用いた場合の主要動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路装置（１０）は、ＣＰＵ（１０３）と、上記ＣＰＵに結合されたバス（１０６）と、それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュール（１０８Ａ，１０８Ｂ，１０８Ｃ）と、上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路（１０４，１０５）とを含む。そして、上記通信モジュール毎の通信待ち時間に応じて上記優先度を調整するための通信モニタ（１１１Ａ）が設けられる。
【００１７】
上記の構成によれば、通信モジュール毎の通信待ち時間に応じて、上記回路での処理の優先度調整が行われるため、最も通信待ち時間が長い通信チャネルから順に処理を実行することができるので、システムのリアルタイム性能を向上させることができる。
【００１８】
〔２〕上記〔１〕において、上記通信モニタ（１１１Ａ）は、上記通信モジュール毎の通信待ち時間を計測するためのタイマ部（１２１）と、通信待ち時間のレベルコード生成の基準となるレベルを設定可能なレベル設定レジスタ（１２２）とを含む。また、上記通信モニタ（１１１Ａ）は、上記タイマにより計測された上記通信モジュール毎の通信待ち時間と、上記レベル設定レジスタの出力とを比較して上記通信モジュール毎の通信待ち時間のレベルコードを形成する比較部（１２３）と、上記比較部の出力をエンコードして、上記優先度を調整するための信号を形成するエンコーダ（１２４）とを含む。これにより、上記機能を有する通信モニタを容易に形成することができる。
【００１９】
〔３〕本発明の別の実施の形態に係る半導体集積回路装置（１０）は、ＣＰＵ（１０３）と、上記ＣＰＵに結合されたバス（１０６）と、それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュール（１０８Ａ，１０８Ｂ，１０８Ｃ）と、上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路（１０４，１０５）とを含む。そして、上記通信モジュール毎の通信待ち時間、及び上記通信モジュール毎の転送データ量に応じて上記優先度を調整するための通信モニタ（１１１Ｂ）が設けられる。
【００２０】
上記の構成によれば、上記通信モジュール毎の通信待ち時間、及び上記通信モジュール毎の転送データ量に応じて、上記回路での処理の優先度調整が行われるため、最も通信待ち時間が長い通信チャネルから順に処理を実行することができるので、システムのリアルタイム性能を向上させることができる。
【００２１】
〔４〕上記〔３〕において、上記通信モニタ（１１１Ｂ）は、上記通信モジュール毎の通信待ち時間を計測するためのタイマ部（１２１）と、上記通信モジュール毎の通信待ち時間のレベルコード生成の基準となるレベルを設定可能な第１レジスタ（１２２）とを含む。また、上記通信モニタ（１１１Ｂ）は、上記タイマにより計測された上記通信モジュール毎の通信待ち時間と、上記第１レジスタの出力とを比較して上記通信モジュール毎の通信待ち時間のレベルコードを形成する第１比較部（１２３）と、上記第１比較部の出力をエンコードする第１エンコーダ（１２４）と、上記通信モジュール毎の転送データ量のレベルコード生成の基準となるレベルを設定可能な第２レジスタ（１６２）とを含む。さらに上記通信モニタ（１１１Ｂ）は、上記通信モジュール毎の転送データ量と、上記第２レジスタの出力とを比較して上記通信モジュール毎の転送データ量のレベルコードを形成する第２比較部（１６１）と、第２比較部の出力をエンコードする第２エンコーダ（１６４）と、上記第１エンコーダの出力と上記第２エンコーダの出力とを選択的に出力することにより、上記優先度を調整するための信号を形成するセレクタ（１６５）とを含む。これにより、上記機能を有する通信モニタを容易に形成することができる。
【００２２】
〔５〕上記〔４〕において、上記セレクタ（１６５）は、上記通信モジュール毎の通信待ち時間のレベルコードが所定値を越えた場合に、上記第１エンコーダの出力を選択的に出力するように構成することができる。これにより、上記第１エンコーダの出力と上記第２エンコーダの出力との選択を円滑に行うことができる。
【００２３】
〔６〕本発明の別の実施の形態に係る半導体集積回路装置（１０）は、ＣＰＵ（１０３）と、上記ＣＰＵに結合されたバス（１０６）と、それぞれ上記バスを使用してデータ通信を行い得る複数の通信モジュール（１０８Ａ，１０８Ｂ，１０８Ｃ）と、上記各通信モジュールからの要求に応じた処理を上記通信モジュール毎の優先度に従って実行する回路（１０４，１０５）とを含む。そして、上記通信モジュール毎の通信待ち時間、上記通信モジュール毎の転送データ量、及び上記通信モジュール毎の通信エラーの有無に応じて上記優先度を調整するための通信モニタ（１１１Ｃ）が設けられる。
【００２４】
上記の構成によれば、上記通信モジュール毎の通信待ち時間、上記通信モジュール毎の転送データ量、及び上記通信モジュール毎の通信エラーの有無に応じて、上記回路での処理の優先度調整が行われるため、最も通信待ち時間が長い通信チャネルから順に処理を実行することができるので、システムのリアルタイム性能を向上させることができる。また、上記通信モジュールでエラーが発生した場合には、エラー処理が優先されるため、システムの信頼性の向上を図ることができる。
【００２５】
〔７〕上記〔６〕において、上記通信モニタ（１１１Ｃ）は、上記通信モジュール毎の通信待ち時間を計測するためのタイマ部（１２１）と、上記通信モジュール毎の通信待ち時間のレベルコード生成の基準となるレベルを設定可能な第１レジスタ（１２２）とを含む。また、上記通信モニタ（１１１Ｃ）は、上記タイマにより計測された上記通信モジュール毎の通信待ち時間と、上記第１レジスタの出力とを比較して上記通信モジュール毎の通信待ち時間のレベルコードを形成する第１比較部（１２３）と、上記第１比較部の出力をエンコードする第１エンコーダ（１２４）と、上記通信モジュール毎の転送データ量のレベルコードを生成するためのレベルを設定可能な第２レジスタ（１６２）とを含む。さらに上記通信モニタ（１１１Ｃ）は、上記通信モジュール毎の転送データ量と、上記第２レジスタの出力とを比較して上記通信モジュール毎の転送データ量のレベルコードを形成する第２比較部（１６１）と、第２比較部の出力をエンコードする第２エンコーダ（１６４）と、上記通信モジュール毎の通信エラーの有無を示す信号をエンコードする第３エンコーダ（１７４）とを含む。そして上記通信モニタ（１１１Ｃ）は、上記第１エンコーダの出力と上記第２エンコーダの出力と第３エンコーダの出力とを選択的に出力することにより、上記優先度を調整するための信号を形成するセレクタ（１７５）とを含む。これにより、上記機能を有する通信モニタを容易に形成することができる。
【００２６】
〔８〕上記〔７〕において、上記セレクタ（１７５）は、上記通信モジュールでエラーが発生した場合には、上記第３エンコーダの出力を選択的に出力し、上記通信モジュールでエラーが発生されない状態で、上記通信モジュール毎の通信待ち時間のレベルコードが所定値を越えた場合には、上記第１エンコーダの出力を選択的に出力するように構成することができる。これにより、上記第１エンコーダの出力と上記第２エンコーダの出力と第３エンコーダの出力との選択を円滑に行うことができる。
【００２７】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００２８】
《実施の形態１》
図１には、本発明にかかる半導体集積回路装置の一例とされるマイクロコンピュータが示される。図１に示されるマイクロコンピュータ１０は、ＤＭＡコントローラ１０１、メモリ１０２、ＣＰＵ（中央処理装置）１０３、バスアービタ１０４、割り込みコントローラ１０５、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ、通信モニタ１１１Ａを含み、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。また、ＤＭＡコントローラ１０１、メモリ１０２、ＣＰＵ１０３、バスアービタ１０４、割り込みコントローラ１０５、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ、通信モニタ１１１Ａは、内部バス１０６に結合され、この内部バス１０６を介して各種信号のやり取りが可能になっている。
【００２９】
ＣＰＵ１０３は、予め設定されたプログラムに従って所定の演算処理を実行する。メモリ１０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）が含まれる。ＲＯＭにはＣＰＵ１０３で実行されるプログラムが格納され、ＲＡＭはＣＰＵ１０３での演算処理の作業領域などに利用される。ＤＭＡコントローラ１０１は、メモリ１０２とその他のモジュール間で、ＣＰＵ１０３を介さずにデータ転送を行うＤＭＡ転送における通信制御を行う。バスアービタ１０４は、ＤＭＡコントローラ１０１、ＣＰＵ１０３、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃからのバス使用要求が競合した場合にそれを調停する。この調停は、ＤＭＡコントローラ１０１、ＣＰＵ１０３、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の優先度に従って行われる。バスアービタ１０４は、どのモジュールからのバス使用要求を受け付けるかを決定したら、当該モジュールにバスマスターの権利を与えることを通知する。バスマスターとなったモジュールは、バスが使用中であることを示すための信号をアサートする。
【００３０】
割り込みコントローラ１０５は、周辺回路とＣＰＵ１０３との間に配置され、周辺回路からの割り込み処理要求を受信してＣＰＵ１０３に対して割り込み信号をアサートする。本例では、周辺回路の一例とされる通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃからの割り込み要因毎に異なるハンドラに処理を移すことができるようになっている。割り込みコントローラ１０５における割り込み制御は、周辺回路毎の優先度に従って行われる。
【００３１】
通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃは、それぞれ独立した通信チャネルＡ，Ｂ，Ｃを有し、通信相手とされる別の半導体集積回路装置等の外部モジュール等との間のデータ通信を行うために設けられる。特に制限されないが、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃは、例えばＳＣＩ(Serial Communication Interface)とされ、特に制限されないが、４種類の割り込み要因例えばＥＲＩ、ＲＸＩ、ＴＸＩ、ＴＥＩを有する。ＥＲＩは、受信時にエラーがおきてデータが正常に受信できていないことを示す。ＲＸＩは受信データが溜まっていることを示す。ＴＸＩは、ユーザプログラムから次の１バイトの送信データを書き込むことが可能であることを示す。ＴＥＩは、ユーザプログラムから指示された分の送信データはすべて送信手続きが完了したことを示す。このような割り込み要因は、割り込みコントローラ１０５に伝達される。
【００３２】
通信モニタ１１１Ａは、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間に応じて、バスアービタ１０４での調停処理における優先度、及び割り込みコントローラ１０５での割り込み制御処理における優先度を調整するための信号を形成する。この通信モニタ１１１Ａは、タイマ部１２１、レイテンシレベル設定レジスタ１２２、比較部１２３、プライオリティエンコーダ１２４を含む。タイマ部１２１は、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃからの送信又は受信の要求を示す信号（送受信要求信号）のアサート期間を計測する。送受信要求信号は、対応する通信モジュールにおいて送信又は受信が開始された時点でネゲートされるものとする。上記送受信要求信号のアサート期間をタイマ部１２１で計測することによって、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間を測定することができる。通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでのデータ通信は、内部バス１０６を介して行われるため、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間は、内部バス１０６の使用待ち時間に対応する。レイテンシレベル設定レジスタ１２２は、上記通信待ち時間のレベルコードを生成するための基準となるレベル（レイテンシレベル）を設定することができる。このレイテンシレベル設定レジスタ１２２へのレイテンシレベルの設定は、内部バス１０６を介してＣＰＵ１０３によって行われる。比較部１２３は、タイマ部１２１によって計測された通信モジュール毎の通信待ち時間と、レイテンシレベル設定レジスタ１２２とを比較することによって、上記通信待ち時間のレベルコードを形成する。プライオリティエンコーダ１２４は、比較部１２３で形成された上記通信待ち時間のレベルコードをエンコードして優先度を調整するための信号を形成する。この信号は、バスアービタ１０４及び割り込みコントローラ１０５に伝達される。バスアービタ１０４では、プライオリティエンコーダ１２４からの信号に基づいて、調停処理における通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の優先度が調整される。また、割り込みコントローラ１０５では、プライオリティエンコーダ１２４からの信号に基づいて、割り込み制御処理における通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の優先度が調整される。上記優先度の調整は、特に限定するものではないが、例えば、通信待ち時間が長いほど高くなるように行われる。例えば通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでの通信待ち時間が、それぞれ３００μＳ、２０μＳ、１ｍＳの場合には、１０８Ｂ,１０８Ａ,１０８Ｃの順に優先度が高くなるように調整される。つまり、通信待ち時間が最も長い通信モジュール１０８Ｃの優先度が最も高くされる。
【００３３】
図２には、上記通信モニタ１１１Ａにおけるタイマ部１２１及び比較部１２３の構成例が示される。
【００３４】
タイマ部１２１は、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃに対応して配置されたタイマ１２１Ａ,１２１Ｂ，１２１Ｃを含む。タイマ１２１Ａは、通信モジュール１０８Ａからの送受信要求信号２０Ａのアサート期間を計測する。タイマ１２１Ｂは、通信モジュール１０８Ｂからの送受信要求信号２０Ｂのアサート期間を計測する。タイマ１２１Ｃは、通信モジュール１０８Ｃからの送受信要求信号２０Ｃのアサート期間を計測する。比較部１２３は、上記タイマ１２１Ａ,１２１Ｂ，１２１Ｃに対応して配置された比較器１２３Ａ,１２３Ｂ，１２３Ｃを含む。比較器１２３Ａは、タイマ１２１Ａの出力２１Ａとレイテンシレベル設定レジスタ１２２の出力２２とを比較することによって、通信モジュール１０８Ａにおける通信待ち時間のレベルコードを形成する。比較器１２３Ｂは、タイマ１２１Ｂの出力２１Ｂとレイテンシレベル設定レジスタ１２２の出力２２とを比較することによって、通信モジュール１０８Ｂにおける通信待ち時間のレベルコードを形成する。比較器１２３Ｃは、タイマ１２１Ｃの出力２１Ｃとレイテンシレベル設定レジスタ１２２の出力２２とを比較することによって、通信モジュール１０８Ｃにおける通信待ち時間のレベルコードを形成する。比較器１２３Ａ，１２３Ｂ，１２３Ｃの出力２３Ａ，２３Ｂ，２３Ｃは、プライオリティエンコーダ１２４の入力端子ｉｎＡ,ｉｎＢ，ｉｎＣに伝達される。
【００３５】
図３には、上記比較器１２３Ａの構成例が示される。
【００３６】
比較器１２３Ａは、コンパレータ３１，３２，３３，３４を含む。レイテンシレベル設定レジスタ１２２の出力２２は、互いに値が異なるレイテンシレベルＬｅｖｅｌ０,Ｌｅｖｅｌ１,Ｌｅｖｅｌ２,Ｌｅｖｅｌ３を含む。コンパレータ３１は、タイマ１２１Ａの出力２１ＡとレイテンシレベルＬｅｖｅｌ０との比較を行う。コンパレータ３２は、タイマ１２１Ａの出力２１ＡとレイテンシレベルＬｅｖｅｌ１との比較を行う。コンパレータ３３は、タイマ１２１Ａの出力２１ＡとレイテンシレベルＬｅｖｅｌ２との比較を行う。コンパレータ３４は、タイマ１２１Ａの出力２１ＡとレイテンシレベルＬｅｖｅｌ３との比較を行う。ここで、タイマ１２１Ａの出力２１Ａは、通信モジュール１０８Ａからの送受信要求信号２０Ａのアサート期間、すなわち通信待ち時間（ＷＴＭ）を示している。上記コンパレータ３１，３２，３３，３４での比較において、レイテンシレベルがタイマ１２１Ａの出力２１Ａ（ＷＴＭ）よりも大きい場合には、論理値“１”が出力され、レイテンシレベルがタイマ１２１Ａの出力２１Ａ（ＷＴＭ）よりも大きくない場合には、論理値“０”が出力される。このようにして、タイマ１２１Ａの出力２１Ａ（ＷＴＭ）に応じたレベルコードがコンパレータ３１，３２，３３，３４から出力される。このレベルコードは、図４に示されるように、４ビットコード（“０００１”“００１１”“０１１１”“１１１１”）となる。本例では、通信待ち時間が長いほど、レベルコードの値が大きくなり、優先度が高くなる。
【００３７】
他の比較器１２３Ｂ,１２３Ｃにおいても、上記比較器１２３Ａと同様に構成される。
【００３８】
次に、上記プライオリティエンコーダ１２４の構成例について説明する。
【００３９】
プライオリティエンコーダ１２４は、例えば図５に示されるようなプライオリティエンコードテーブルによって構成される。このプライオリティエンコードテーブルの内容は、ＣＰＵ１０３によって書き換えることができる。図５に示されるプライオリティエンコードテーブルによれば、プライオリティエンコーダ１２４への入力ＩｎＡ〔０〕〜ＩｎＡ〔３〕,ＩｎＢ〔０〕〜ＩｎＢ〔３〕,ＩｎＣ〔０〕〜ＩｎＣ〔３〕に対応して、最も優先度の高い通信モジュール１０８Ａ〜１０８Ｃ（選択チャネルＡ〜Ｃ）が決定される。
【００４０】
具体的には、先ず、プライオリティエンコーダ１２４への入力における３ビット目（ＩｎＡ〔３〕,ＩｎＢ〔３〕,ＩｎＣ〔３〕）の論理値が参照され、この３ビット目において論理値“１”となる箇所があれば、それに対応する通信モジュール（通信チャネル）が最も優先度の高い通信モジュール（通信チャネル）として選択される。
【００４１】
プライオリティエンコーダ１２４への入力における３ビット目（ＩｎＡ〔３〕,ＩｎＢ〔３〕,ＩｎＣ〔３〕）において論理値“１”となる箇所がなければ、２ビット目（ＩｎＡ〔２〕,ＩｎＢ〔２〕,ＩｎＣ〔２〕）の論理値が参照され、この２ビット目において論理値“１”となる箇所があれば、それに対応する通信モジュール（通信チャネル）が最も優先度の高い通信モジュール（通信チャネル）として選択される。
【００４２】
プライオリティエンコーダ１２４への入力における２ビット目（ＩｎＡ〔２〕,ＩｎＢ〔２〕,ＩｎＣ〔２〕）において論理値“１”となる箇所がなければ、１ビット目（ＩｎＡ〔１〕,ＩｎＢ〔１〕,ＩｎＣ〔１〕）の論理値が参照され、この１ビット目において論理値“１”となる箇所があれば、それに対応する通信モジュール（通信チャネル）が最も優先度の高い通信モジュール（通信チャネル）として選択される。
【００４３】
プライオリティエンコーダ１２４への入力における１ビット目（ＩｎＡ〔１〕,ＩｎＢ〔１〕,ＩｎＣ〔１〕）において論理値“１”となる箇所がなければ、０ビット目（ＩｎＡ〔０〕,ＩｎＢ〔０〕,ＩｎＣ〔０〕）の論理値が参照され、この０ビット目において論理値“１”となる箇所があれば、それに対応する通信モジュール（通信チャネル）が最も優先度の高い通信モジュール（通信チャネル）として選択される。
【００４４】
このように通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間に応じて、バスアービタ１０４や割り込みコントローラ１０５での処理の優先度調整が行われるため、最も通信待ち時間が長い通信チャネルから順にバスアービタ１０４や割り込みコントローラ１０５での処理を実行することができるので、システムのリアルタイム性能を向上させることができる。
【００４５】
《実施の形態２》
図６には、本発明にかかる半導体集積回路装置の一例とされるマイクロコンピュータにおける通信モニタの別の構成例が示される。
【００４６】
図６に示される通信モニタ１１１Ｂが、図１に示されるのと大きく相違するのは、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間、及び転送データ量に応じて上記優先度調整を可能とするため、比較部１６１、データレベル設定レジスタ１６２、プライオリティエンコーダ１６４、及びセレクタ１６５が追加されている点である。
【００４７】
データレベル設定レジスタ１６２には、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の転送データ量のレベルコード生成の基準となるレベルを設定することができる。このレベル設定は、ＣＰＵ１０３によって行うことができる。比較部１６１は、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の転送データ量と、上記データレベル設定レジスタ１６２の出力とを比較して上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の転送データ量のレベルコード（データレベルコード）を形成する。プライオリティエンコーダ１６４は、比較部１６１からのデータレベルコードをエンコードすることにより、データ量優先選択チャネル情報を出力する。タイマ部１２１、レイテンシレベル設定レジスタ１２２、比較部１２３、及びプライオリティエンコーダ１２４は、図１において同一符号が付されているものと同一の機能を有し、プライオリティエンコーダ１２４からはレイテンシ優先選択チャネル情報が出力される。セレクタ１７５は、プライオリティエンコーダ１６４からのデータ量優先選択チャネル情報と、プライオリティエンコーダ１２４からのレイテンシ優先選択チャネル情報とを選択的に出力することにより、上記優先度調整のための信号（選択チャネル情報）を上記バスアービタ１０４や割り込みコントローラ１０５に出力する。ここで、上記セレクタ１６５は、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードが所定値を越えた場合に、プライオリティエンコーダ１２４の出力を選択的に出力するように構成される。具体的には、例えば、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードにおける最上位のビットが論理値“１”になった状態をレイテンシの警告レベルと判断して、その場合にプライオリティエンコーダ１２４の出力を選択的に出力するようにセレクタ１６５を構成することができる。
【００４８】
尚、比較部１６１やプライオリティエンコーダ１６４には、それぞれ図１における比較部１２３やプライオリティエンコーダ１２４と同一構成のものを適用することができる。
【００４９】
上記の構成によれば、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードにおける最上位のビットが論理値“０”の場合、セレクタ１６５によってプライオリティエンコーダ１６４からのデータ量優先度選択チャネル情報が選択的にバスアービタ１０４や割り込みコントローラ１０５に出力される。これにより、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の転送データ量に応じてバスアービタ１０４や割り込みコントローラ１０５での優先度調整が行われる。つまり、転送すべきデータ量が多い通信モジュールの優先度が高くなるように調整される。これに対して、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードにおける最上位のビットが論理値“１”になった場合には、セレクタ１６５によってプライオリティエンコーダ１２４からのレイテンシ優先選択チャネル情報が選択的にバスアービタ１０４や割り込みコントローラ１０５に出力される。これにより、バスアービタ１０４や割り込みコントローラ１０５では、図１に示される通信モニタ１１１Ａと同様に、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間に応じてバスアービタ１０４や割り込みコントローラ１０５での優先度調整が行われる。これにより、例えば通信モジュール内の送受信バッファの転送データ量が他の通信モジュールに比べて少ない場合においても、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間に応じてバスアービタ１０４や割り込みコントローラ１０５での優先度調整が行われることになるので、何時になっても通信を開始することができないという、不都合を回避できるので、システムのリアルタイム性の向上を図ることができる。
【００５０】
《実施の形態３》
図７には、本発明にかかる半導体集積回路装置の一例とされるマイクロコンピュータにおける通信モニタの別の構成例が示される。
【００５１】
図７に示される通信モニタ１１１Ｃが、図６に示されるのと大きく相違するのは、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間、転送データ量、及び通信エラーの有無に応じてバスアービタ１０４や割り込みコントローラ１０５での優先度調整を可能にするため、プライオリティエンコーダ１７４及びセレクタ１７５が追加されている点である。プライオリティエンコーダ１７４は、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信エラーの有無を示す信号（エラー情報）をエンコードする。通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信エラーの有無を示す信号（エラー情報）には、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の割り込み要因を利用することができる。プライオリティエンコーダ１７４は、通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信エラーの有無を示す信号をエンコードすることによって、エラーを生じた通信モジュールを特定するためのエラー優先選択チャネル情報を出力する。セレクタ１７５は、プライオリティエンコーダ１６４からのデータ量優先選択チャネル情報と、プライオリティエンコーダ１２４からのレイテンシ優先選択チャネル情報と、プライオリティエンコーダ１７４からのエラー優先選択チャネル情報とを選択的に出力することにより、上記優先度調整のための信号（選択チャネル情報）を上記バスアービタ１０４や割り込みコントローラ１０５に出力する。ここで、セレクタ１７５は、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでエラーが発生した場合には、上記プライオリティエンコーダ１７４の出力を選択的に出力し、上記通信モジュールでエラーが発生されない状態で、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードが所定値を越えた場合に、プライオリティエンコーダ１２４の出力を選択的に出力するように構成される。
【００５２】
図８には、図７に示される通信モニタ１１１Ｂにおける主要動作の流れが示される。
【００５３】
通信モニタ１１１Ｂにおける通信チャネル選択において、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでエラーが発生した場合には（８０１）、セレクタ１７５によって上記プライオリティエンコーダ１７４の出力が選択的に出力されることにより、エラー発生にかかる通信チャネルについてのエラー処理が優先される（８０４）。エラー処理は、割り込みコントローラ１０５からの割り込み信号に従ってＣＰＵ１０３で実行される。このエラー処理の例として、エラー発生状態の記録、通信再送要求の発行、エラー発生部の再初期化、エラー発生部の動作停止、自システムの終了、他システムへの警告発生等を挙げることができる。
【００５４】
また、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでエラーが発生されない状態で、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードが所定値を越えない場合には、セレクタ１７５によってプライオリティエンコーダ１６４の出力が選択的に出力されることにより、転送データ量優先の優先度調整が行われる（８０３）。さらに上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでエラーが発生されない状態で、上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃ毎の通信待ち時間のレベルコードが所定値を越えた場合には、セレクタ１７５によってプライオリティエンコーダ１２４の出力が選択的に出力されることにより、レイテンシ優先の優先度調整が行われる（８０５）。このように上記通信モジュール１０８Ａ，１０８Ｂ，１０８Ｃでエラーが発生した場合には、エラー処理が優先されるため、図６に示される構成に比べて、システムの信頼性の向上を図ることができる。
【００５５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５６】
例えば、上記の例では、通信モニタ１１１Ｃの出力信号によって、バスアービタ１０４や割り込みコントローラ１０５での優先度調整を行うようにしたが、他の機能モジュール例えばＤＭＡコントローラ１０１に対するＤＭＡ要求の優先度を調整するようにしても良い。
【００５７】
通信モジュール１０８Ａ,１０８Ｂ,１０８Ｃは、イーサネット（登録商標）、又はＣＡＮ（Controller Area Network）等に対応する通信インターフェイスとすることができる。
【００５８】
通信モジュール１０８Ａ,１０８Ｂ,１０８Ｃの通信状態に応じた優先度調整が一時的に不要になった場合等においては、ＣＰＵ１０３の制御により、当該優先度調整を行わないようにすることができる。例えばプライオリティエンコーダ１２４（１６４，１７４も同様）への入力信号の変化に対して、その出力（図５におけるＯｕｔに相当）が変わらないように、プライオリティエンコードテーブルの内容を書き換えることにより、通信モジュール１０８Ａ,１０８Ｂ,１０８Ｃの状態に応じた優先度調整を行わないようにすることができる。
【符号の説明】
【００５９】
１０  マイクロコンピュータ
３１，３２，３３，３４  コンパレータ
１０１  ＤＭＡコントローラ
１０２  メモリ
１０３  ＣＰＵ
１０４  バスアービタ
１０５  割り込みコントローラ
１０６  内部バス
１０８Ａ，１０８Ｂ，１０８Ｃ  通信モジュール
１１１Ａ，１１１Ｂ，１１１Ｃ  通信モニタ
１２１  タイマ部
１２２  レイテンシレベル設定レジスタ
１２３,１６１  比較部
１２４,１６４,１７４  プライオリティエンコーダ
１２１Ａ〜１２１Ｃ  タイマ
１２３Ａ〜１２３Ｃ  比較器
１６２  データレベル設定レジスタ
１６５，１７５  セレクタ
【図１】
2011221943.tif 000003
【図２】
2011221943.tif 000004
【図３】
2011221943.tif 000005
【図４】
2011221943.tif 000006
【図５】
2011221943.tif 000007
【図６】
2011221943.tif 000008
【図７】
2011221943.tif 000009
【図８】
2011221943.tif 000010