(57)【要約】【課題】ルータの回路規模の増大を抑えてバスアクセス効率を向上させる。【解決手段】マスタコンポーネント（１０２）とスレーブコンポーネント（１０３）との間において転送の要求と応答を中継するルータ（１０４）に、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路（３０４）を設け、複数のリクエスト制御回路に接続する複数のスレーブコンポーネントを複数のリクエスト制御回路に可変に振り分けるスレーブコンポーネント割り付け制御回路（３０５）を採用する。一のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一のリクエスト制御回路に接続するスレーブコンポーネントの割り当てを変更することによって、当該一のリクエスト制御回路というリソースを利用することが可能になる。【選択図】図１
2009116378.tif 000002
【特許請求の範囲】
【請求項１】
転送を要求することが可能な複数のマスタコンポーネントと、前記転送の要求に応答することが可能な複数のスレーブコンポーネントと、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータと、を有する半導体装置であって、
前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路とを有する、半導体装置。
【請求項２】
前記スレーブコンポーネント割り付け制御回路は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報が設定される第１制御レジスタを有し、所定の事象が発生することに応答して前記スレーブコンポーネントの識別情報を変更する、請求項１記載の半導体装置。
【請求項３】
前記スレーブコンポーネント割り付け制御回路は、前記スレーブコンポーネントの識別情報の初期値が設定される初期値データレジスタを有し、前記所定の事象の解消に応答して前記第１制御レジスタに前記初期値データレジスタの初期値を転送する、請求項２記載の半導体装置。
【請求項４】
前記第１制御レジスタ及び初期値データレジスタはシステムリセットに応答して初期設定される、請求項３記載の半導体装置。
【請求項５】
前記スレーブコンポーネント割り付け制御回路は、動作休止状態のスレーブコンポーネントが発生したとき、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第１レジスタにおけるスレーブコンポーネントの識別情報を変更する、請求項２記載の半導体装置。
【請求項６】
前記スレーブコンポーネントの動作休止状態は、同期クロック信号の供給停止により生ずる、請求項５記載の半導体装置。
【請求項７】
前記スレーブコンポーネント割り付け制御回路は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報を特定する第１データを格納する第１データレジスタと、所定の事象が発生することに応答して前記第１データに代えて利用される第２データを格納する第２データレジスタと有する、請求項１記載の半導体装置。
【請求項８】
前記スレーブコンポーネント割り付け制御回路は、前記所定事象の解消に応答して第２データに代えて第１データを利用する、請求項７記載の半導体装置。
【請求項９】
前記スレーブコンポーネント割り付け制御回路は、前記所定事象が発生したとき、識別情報の変更を行う対象か否かを前記スレーブコンポーネントに対応して指示する第２制御レジスタを有する、請求項７記載の半導体装置。
【請求項１０】
前記スレーブコンポーネント割り付け制御回路は、スレーブコンポーネント毎に転送の要求のない期間が所定期間継続したとき、当該前記スレーブコンポーネントを休止状態とし、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第１制御レジスタにおけるスレーブコンポーネントの識別情報を変更する、請求項２記載の半導体装置。
【請求項１１】
前記スレーブコンポーネント割り付け制御回路は、前記所定期間を定義する第３制御レジスタを有する、請求項１０記載の半導体装置。
【請求項１２】
転送を要求することが可能な複数のマスタコンポーネントと、前記転送の要求に応答することが可能な複数のスレーブコンポーネントと、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータと、を有する半導体装置であって、
前記ルータは、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路とを有する、半導体装置。
【請求項１３】
転送を要求することが可能な複数のマスタコンポーネントと、前記転送の要求に応答することが可能な複数のスレーブコンポーネントと、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータと、を有する半導体装置であって、
前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路と、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路とを有する、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路モジュール間の転送の要求と応答を中継するルータのスループット向上に関し、例えばスプリット・トランザクション・バスインタフェースによって多数のマスタコンポーネントとスレーブコンポーネントを接続するバス構成を備えたＳｏＣ（システム・オン・チップ）のような半導体装置に適用して有効な技術に関する。
【背景技術】
【０００２】
所要のデータ処理機能を実現するＳｏＣに搭載されたプロセッサ、メモリ及び周辺回路等の回路モジュールの数が増加すると、マスタコンポーネントによるスレーブコンポーネントに対するアクセス効率が低下し、データ処理のスループットが低下する傾向にある。マスタコンポーネントからスレーブコンポーネントに対するリクエストの競合、スレーブコンポーネントからマスタコンポーネントへのレスポンスの競合等による。
【０００３】
特許文献１は、複数の第１のマスタコンポーネントには夫々に専用化されたアクセスバスを割り当て、複数の第２のマスタコンポーネントにはアクセス要求の調停等を行なう集約回路を経てその数よりも少ない数のアクセスバスを割り当て、スレーブコンポーネントは選択回路を介して何れのアクセスバスにも接続可能にされる、コンピュータシステムを開示する。
【０００４】
特許文献２には複数の外部インターフェースピンから複数の選択可能な内部ＩＣノードへのアクセスをクロスバー切り替えネットワークを使用するシステムについて記載がある。
【０００５】
【特許文献１】特開２００２−３４２２６５号公報
【特許文献２】特開２０００−２００２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明者は、マスタコンポーネントからスレーブコンポーネントに対するリクエストの競合、スレーブコンポーネントからマスタコンポーネントへのレスポンスの競合等によるバススループット若しくはデータ処理スループットの低下を抑制することについて検討した。本発明完成後に見出された上記特許文献１に記載の技術はアクセスバスの多重化によってマスタコンポーネントによるスレーブコンポーネントのアクセス効率を高めるときに一部のマスタコンポーネントについては集約回路を用いることによって専用化バスの本数を減らそうとしている。しかしながら、集約回路に割り当てられていないバスが空いてもそれを集約回路側のマスタコンポーネントに割り当てて利用することは行われない。更に、バスの多重化を前提とするから回路規模が大きい。特許文献２に記載のクロスバースイッチ回路を採用することによって接続相手を決めると言う点で融通性に優れるが回路規模が大きくなってしまう。
【０００７】
本発明者は、本発明完成前に、マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータに、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路を設け、複数のリクエスト制御回路に接続する複数のスレーブコンポーネントを複数のリクエスト制御回路に振り分け接続する構成について検討した。当初は、リクエスト制御回路に振り分け接続するスレーブコンポーネントを固定にすることを検討した。しかしながら、固定では、一方のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一方のリクエスト制御回路というルータのリソースが有効利用されず、それ故にデータ処理の内容によってはバススループットも低下する虞のあることが本発明者によって明らかにされた。
【０００８】
本発明の目的はルータの回路規模の増大を抑えてバスアクセス効率を向上させることができる半導体装置を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータに、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路を設け、複数のリクエスト制御回路に接続する複数のスレーブコンポーネントを複数のリクエスト制御回路に可変に振り分けるスレーブコンポーネント割り付け制御回路を採用する。一のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一のリクエスト制御回路に接続するスレーブコンポーネントの割り当てを変更することによって、当該一のリクエスト制御回路というリソースを利用することが可能になり、バスアクセスもしくはデータ処理のスループットが向上する。しかも、バスの多重化を前提とせず、また、全体を網羅するクロスバースイッチも不要であるからルータの回路規模の増大も抑制される。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１３】
すなわち、ルータの回路規模の増大を抑えてバスアクセス効率を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１５】
〔１〕半導体装置は、転送を要求することが可能な複数のマスタコンポーネント（１０２ａ〜１０２ｆ）と、前記転送の要求に応答することが可能な複数のスレーブコンポーネント（１０３ａ〜１０３ｆ）と、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータ（１０４）と、を有する。前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路（３０４，４０４）と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路（３０５，４０５，５０５）とを有する。
【００１６】
これによれば、一のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一のリクエスト制御回路に接続するスレーブコンポーネントの割り当てを変更することによって、当該一のリクエスト制御回路というリソースを利用することが可能になり、バスアクセスもしくはデータ処理のスループットの向上に寄与する。しかも、バスの多重化を前提とせず、また、全体を網羅するクロスバースイッチも不要であるからルータの回路規模の増大も抑制される。
【００１７】
〔２〕項1の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報が設定される第１制御レジスタ（３２０，３２１）を有し、所定の事象が発生することに応答して前記スレーブコンポーネントの識別情報を変更する。リクエスト制御回路とスレーブコンポーネントとの割り当ての可変制御を容易に実現することができる。
【００１８】
〔３〕項２の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記スレーブコンポーネントの識別情報の初期値が設定される初期値データレジスタ（３２２，３２３）を有し、前記所定の事象の解消に応答して前記第１制御レジスタに前記初期値データレジスタの初期値を転送する。第１レジスタを容易に初期値に戻すことができる。
【００１９】
〔４〕項３の半導体装置において、前記第１制御レジスタ及び初期値データレジスタはシステムリセットに応答して初期設定される。それらに対する初期設定を容易化することができる。
【００２０】
〔５〕項２の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、動作休止状態のスレーブコンポーネントが発生したとき、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第１レジスタにおけるスレーブコンポーネントの識別情報を変更する。スレーブコンポーネントの動作休止状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。
【００２１】
〔６〕項５の半導体装置において、前記スレーブコンポーネントの動作休止状態は、同期クロック信号の供給停止により生ずる。あるいは動作電源遮断によって生じさせてもよい。
【００２２】
〔７〕項１の半導体装置において、前記スレーブコンポーネント割り付け制御回路（４０５）は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報を特定する第１データを格納する第１データレジスタ（４２３〜４２５）と、所定の事象が発生することに応答して前記第１データに代えて利用される第２データを格納する第２データレジスタ（４２６〜４２８）と有する。外部入出力インタフェース等のスレーブコンポーネントへの機器の着脱といった事象の発生に即応してスレーブコンポーネントの割り付けを変えることができる。
【００２３】
〔８〕項7の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記所定事象の解消に応答して第２データに代えて第１データを利用する。
【００２４】
〔９〕項７の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記所定事象が発生したとき、識別情報の変更を行う対象か否かを前記スレーブジュールに対応して指示する第２制御レジスタ（４２９）を有する。識別情報の不所望な変更を抑制することができる。
【００２５】
〔１０〕項２の半導体装置において、前記スレーブコンポーネント割り付け制御回路（３０５）は、スレーブコンポーネント毎に転送の要求のない期間が所定期間継続したとき、当該前記スレーブコンポーネントを休止状態とし、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第１制御レジスタ（３２０，３２１）におけるスレーブコンポーネントの識別情報を変更する。スレーブコンポーネントに対する転送の要求がない状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。
【００２６】
〔１１〕項１０の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記所定期間を定義する第３制御レジスタ（５１１〜５１３）を有する。スレーブコンポーネントに対する転送の要求がない期間を所望に設定することができる。
【００２７】
〔１２〕上記クエスト制御に着目した発明はレスポンス制御にも適用可能である。即ち、前記マスタコンポーネントと、前記スレーブコンポーネントと、前記ルータとを有する半導体装置において、前記ルータは、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路（６０４）と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路（６０５）とを有する。
【００２８】
これによれば、一のレスポンス制御回路に接続するマスタコンポーネントが全くアクセスされないとき当該一のレスポンス制御回路に接続するマスタコンポーネントの割り当てを変更することによって、当該一のレスポンス制御回路というリソースを利用することが可能になり、バスアクセスもしくはデータ処理のスループット向上に寄与する。しかも、バスの多重化を前提とせず、また、全体を網羅するクロスバースイッチも不要であるからルータの回路規模の増大も抑制される。
【００２９】
〔１３〕本発明はルータの上記クエスト制御及びレスポンス制御の双方に適用可能である。前記マスタコンポーネントと、前記スレーブコンポーネントと、前記ルータとを有する半導体装置において、前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路と、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路とを有する。
【００３０】
２．実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
【００３１】
《マイクロコンピュータ》
図３には本発明に係る半導体装置の一例としてマイクロコンピュータ１０１が例示される。このマイクロコンピュータ１０１は例えばＳｏＣとして１個の半導体基板に相補型ＭＯＳ集積回路技術等により形成される。これに形成されるＭＯＳトランジスタは、ＳＯＩ（シリコン・オン・インシュレート）構造、あるいはトランジスタの分離をその導電型等に応じてウェル分離で行うバルク構造等を採用することができる。
【００３２】
マイクロコンピュータ１０１は内部バスインタフェースにスプリット・トランザクション・バスインタフェースを用いる。このバスアーキテクチャにおいて、転送を要求することが可能なマスタコンポーネントとして、例えば４個の中央処理装置（ＣＰＵ０〜ＣＰＵ３）１０２ａ〜１０２ｄ、デバッグ支援ユニット（ＤＢＧＳ）１０２ｅ、及びＡＴＡインタフェース回路（ＡＴＡ_Ｉ/Ｆ）１０２ｆを備える。夫々のマスタコンポーネント１０２ａ〜１０２ｆを単にマスタコンポーネント１０２とも称する。また、このバスアーキテクチャにおいて、転送要求に応答することが可能なスレーブコンポーネントとして、例えばダブルデータレートのシンクロナスＤＲＡＭ等が外部に接続可能にされるメモリインタフェース回路（ＭＥＭ_Ｉ/Ｆ）１０３ａ、画像処理ユニット（ＧＲＦＣ）１０３ｂ、ＰＣＩインタフェース回路（ＰＣＩ_Ｉ/Ｆ）１０３ｄ、ＵＳＢインタフェース回路（ＵＳＢ_Ｉ/Ｆ）１０３ｆ及びその他の周辺回路（ＰＲＨ）１０３ｃを備える。夫々のスレーブコンポーネント１０３ａ〜１０３ｆを単にスレーブコンポーネント１０３とも称する。前記マスタコンポーネントとスレーブコンポーネントとは、それらの間において転送の要求と応答を中継するルータ（ＲＯＯＴ）１０４が接続される。
【００３３】
尚、スプリット・トランザクション・バスインタフェースにおけるマスタコンポーネントとは転送を要求するとともにその要求に対する応答を受取ることができる回路を意味し、スレーブコンポーネントとは転送の要求を受取るとともにその要求に対する応答を返すことが出来る回路を意味する。したがって、一つの回路であってもマスタコンポーネントとスレーブコンポーネントの双方の機能を備えたものもある。図３に示されるマスタコンポーネントとスレーブコンポーネントの具体例はその一つの機能だけに着目したものである。例えば中央処理装置はマスタコンポーネントであるとしたが、デバッグモード等の特定の動作モードにおいて特定の内部回路が外部からアクセス可能にされるスレーブコンポーネントとして機能される場合もある。
【００３４】
その他の周辺回路１０３ｃには例えばクロックパルスジェネレータ（ＣＰＧ）１０３ｇが含まれる。クロックパルスジェネレータ１０３ｇは外部から供給されるシステムクロック又は振動子を用いて自励発振されたクロックに基づいて内部回路の同期クロック信号を生成し、内部回路に供給する。マイクロコンピュータ１０１は低消費電力モードを備える。例えば、中央処理装置１０２ａはその動作プログラムに従って、クロックパルスジェネレータ１０３ｇ内のクロック制御レジスタの低消費電力制御データを書き換えることにより、その低消費電力制御データで指定される内部回路に対する同期クロックの供給を停止させる。
【００３５】
図３には、マスタコンポーネントの一つである中央処理装置１０２ａとルータ１０４との間の入出力信号が例示される。中央処理装置１０２ａは、マスタコンポーネントからの転送要求であるリクエスト（ｒｅｑ）１０５ａと、リクエストを発行したマスタコンポーネントを識別するためのソースデータ(ｓｒｃ)１０５ｂと、転送要求の転送先を示す転送要求先アドレス（ａｄｄ）１０５ｃと、スレーブコンポーネントからのレスポンス信号(ｒｅｓ)に対する受け付け許可を示す受け付け許可信号としてのレスポンスグラント信号(ｒ＿ｇｎｔ)１０５ｄとをルータに出力する。また中央処理装置１０２は、ルータによるリクエスト信号１０５ａの受付状態を示すグラント信号（ｇｎｔ）１０５ｆと、スレーブからルータに渡された応答であるレスポンス（ｒｅｓ）１０5ｅと、ルータからの応答の返信先であるマスタコンポーネントのＩＤを示すレスポンスソース（ｒ＿ｓｒｃ）１０５ｇとをルータ１０４から受取る。その他のマスタコンポーネントも上記同様の信号をルータ１０４との間で入出力する。
【００３６】
また、図３にはスレーブコンポーネントの一つであるメモリインタフェース回路１０３ａとルータ１０４との間の入出力信号が例示される。メモリインタフェース回路１０３ａはマスタコンポーネントからルータ１０４に与えられた転送要求であるリクエスト（ｒｅｑ）１０６ａと、前記リクエスト１０６ａに対応するマスタコンポーネントを識別するためのソースデータ(ｓｒｃ)１０６ｂ、前記リクエスト１０６ａに対応する転送先を示す転送要求先アドレス（ａｄｄ）１０６ｃと、メモリインタフェース１０３ａからのレスポンス(ｒｅｓ)１０６ｅに対する受け付け許可を示す受け付け許可信号としてのレスポンスグラント信号(ｒ＿ｇｎｔ)１０６ｄとをルータ１０４から入力する。また、メモリインタフェース回路１０３ａはルータ１０４への応答としてのレスポンス（ｒｅｓ）１０６ｅと、ルータ１０４からのリクエスト１０６ａに対する受け付け状態を示すグラント信号（ｇｎｔ）１０６ｆと、どのマスタコンポーネントに対する応答かを示すレスポンスソース（ｒ＿ｓｒｃ）１０６ｇをルータ１０４に出力する。その他のスレーブコンポーネントも上記同様の信号をルータ１０４との間で入出力する。
【００３７】
ルータ１０４は前記信号１０５ａ〜１０５ｇ、１０６ａ〜１０６ｇに基づいて転送要求と応答のルーティングを行い、マスタコンポーネントが発行する転送要求の処理を行うリクエスト処理回路（ＴＲＳＣＴ＿ＲＥＱ）１０４ａと、マスタコンポーネントが発行する転送要求に対する応答の処理を行うレスポンス処理回路（ＴＲＳＣＴ＿ＲＥＳ）１０４ｂとを有する。尚、マスタコンポーネント１０２からルータ１０４に出力される信号１０５ａ〜１０５ｄを単にリクエスト系信号１０５と称し、ルータ１０４からスレーブコンポーネント１０３に供給される信号１０６ａ〜１０６ｄを単にリクエスト系信号１０６と称する。同様に、スレーブコンポーネント１０３からルータ１０４に供給される信号１０６ｅ〜１０６ｇを単にレスポンス系信号１０５と称し、ルータ１０４からマスタコンポーネント１０２に供給される信号１０５ｅ〜１０５ｇを単にレスポンス系信号１０６と称する。
【００３８】
《リクエスト処理回路１０４ａの第１の例》
図１にはリクエスト処理回路１０４ａの一例が示される。ここでは説明を容易化するために、４個のマスタコンポーネント（ＭＳＴ０〜ＭＳＴ３）１０２ａ〜１０２ｄと３個のスレーブコンポーネント（ＳＬＶ０〜ＳＶＬ２）１０３ａ〜１０３ｃを代表的に示す。リクエスト処理回路１０４ａは、複数のリクエスト制御回路（ＲＥＱＣＮＴ０、ＲＥＱＣＮＴ１）３０４ａ、３０４ｂと、スレーブコンポーネント割り付け制御回路（ＳＬＶＡＬＣＴ）３０５とを有する。リクエスト制御回路（ＲＥＱＣＮＴ０、ＲＥＱＣＮＴ１）３０４ａ、３０４ｂは、マスタコンポーネントからの要求を転送するスレーブコンポーネントをアドレスデコードによって判定すると共に一つのスレーブコンポーネントに対する要求の競合を早遅若しくは所定の優先順位等によって調停する。スレーブコンポーネント割り付け制御回路（ＳＬＶＡＬＣＴ）３０５は前記リクエスト制御回路３０４ａ，３０４ｂによる制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定する。概念的に示されたスイッチ（ＳＷ）３０６ａはリクエスト制御回路３０４から出力される一つの転送要求の供給先となるスレーブコンポーネント１０３ａ〜１０３ｃの一つを選択する回路である。他のスイッチ（ＳＷ）３０６ｂ，３０６ｃも同様である。図ではスイッチ３０６ａ〜３０６ｃからの経路として直下のスレーブコンポーネントへ至る経路が代表的に示されている。
【００３９】
ここでは、スレーブコンポーネント割り付け制御回路３０５は、リクエスト制御回路３０４ａにスレーブコンポーネント１０３ａ、１０３ｂへの転送要求に対する判定と調停を担わせ、リクエスト制御回路３０４ｂにスレーブコンポーネント１０３ｃへの転送要求に対する判定と調停を担わせている状態が示される。したがって、スレーブコンポーネント割り付け制御回路３０５は、リクエスト制御回路３０４ａから与えられる転送要求をスレーブコンポーネント１０３ａ又は１０３ｂに与え、リクエスト制御回路３０４ｂから与えられる転送要求をスレーブコンポーネント１０３ｃに与える。このとき、クロックパルスジェネレータ１０３ｇからのクロック停止信号１１０によりスレーブコンポーネント１０３ｃが動作休止されるような状態を想定すると、リクエスト制御回路３０４ｂは前記判定及び調停にための有効な資源（リソース）として利用されないことになる。図２はそのような状態を解消したときの状態が例示される。即ち、クロック停止信号等によってスレーブコンポーネント１０３ｃの動作が停止されているとき、スレーブコンポーネント割り付け制御回路３０５は、リクエスト制御回路３０４ａにスレーブコンポーネント１０３ａへの転送要求に対する判定と調停を担わせ、リクエスト制御回路３０４ｂにスレーブコンポーネント１０３ｂへの転送要求に対する判定と調停を担わせる。したがって、スレーブコンポーネント割り付け制御回路３０５は、リクエスト制御回路３０４ａから与えられる転送要求をスレーブコンポーネント１０３ａに与え、リクエスト制御回路３０４ｂから与えられる転送要求をスレーブコンポーネント１０３ｂに与える。前記判定及び調停にための資源としてのリクエスト制御回路３０４ａ、３０４ｂは共に利用され、リクエスト制御回路３０４ａだけでスレーブコンポーネント１０３ａ，１０３ｂに対する判定及び調停を行う場合に比べてリクエスト制御回路３０４ａの制御負担が軽減され、それによってスレーブコンポーネントに対するアクセススループット更には、マスタコンポーネントによるデータ処理のスループットが向上される。要するに、空いているリソースを利用できるように、動的にリソースを切り替えることで、ルータのスループットを向上させることができる。例えば、スレーブコンポーネント１０３ｃを利要しないときはリクエスト制御回路３０４ａの制御負担を軽減してスレーブコンポーネント（ＳＬＶ０）１０３ａの制御に専念させ、スレーブコンポーネント（ＳＬＶ０）１０３ａ経由のアクセス動作を特に効率化するような制御形態も実現することができる。図１４の比較例に示されるように、スレーブ割り付け制御回路３０５を採用しない場合には、スレーブコンポーネント１０３ｃが利用されなければ一方のリクエスト制御回路（ＲＥＱＣＮＴ１）も全く利用されず、リクエスト制御回路３０４ａの制御負担を軽減してスレーブコンポーネント（ＳＬＶ０）１０３ａの制御に専念させて、スレーブコンポーネント（ＳＬＶ０）１０３ａ経由のアクセス動作を効率化するような制御形態を実現することはできない。
【００４０】
図４にはスレーブコンポーネント割り付け制御回路３０５の更に詳細な一例が示される。スレーブコンポーネント割り付け制御回路３０５はスイッチ制御回路（ＳＷＣＮＴ）３０９、レジスタ回路（ＲＥＧＣＩＲ）３１０、比較回路（ＣＭＰ）３１１及び切換えスイッチ回路（ＣＨＧＳＷ）３１２を有する。スイッチ制御回路３０９は夫々のリクエスト制御回路３０４ａ，３０４ｂによる制御結果を渡すことが可能なスレーブコンポーネントの識別情報（所属コンポーネントＩＤ）が設定される第１制御レジスタ（ＣＲＥＧ０，ＣＲＥＧ１）３２０，３２１を有する。第１制御レジスタ３２０にはリクエスト制御回路３０４ａが判定及び調停対象として担うスレーブコンポーネント（そのようなスレーブコンポーネントをリクエスト制御回路３０４ａに所属するコンポーネントとも記す）のコンポーネントＩＤが設定される。第１制御レジスタ３２１にはリクエスト制御回路３０４ｂが判定及び調停対象として担うスレーブコンポーネント（そのようなスレーブコンポーネントをリクエスト制御回路３０４ｂに所属するコンポーネントとも記す）のコンポーネントＩＤが設定される。第１制御レジスタ３２０，３２１の初期値はレジスタ回路３１０のデータレジスタ（ＩＤＲ０）３２２，（ＩＤＲ１）３２３に維持される。レジスタ３２０〜３２３に対する初期設定はシステムリセットによってハードウェア的に、あるいはリセット解除に応答して初期化プログラムを実行する中央処理装置のような所定のマスタコンポーネントが行ってもよい。図１の例に従えば、第１制御レジスタ３２０にはＳＬＶ０のコンポーネントＩＤとＳＬＶ１のコンポーネントＩＤが初期設定され、第１制御レジスタ３２１にはＳＬＶ２のコンポーネントＩＤが初期設定される。第１制御レジスタ３２０，３２１は前記スイッチ制御回路３０９によって自律的に書換え可能にされる。また、第１制御レジスタ３２０，３２１はデータレジスタ３２２，３２３の値が内部転送されることによって初期値に戻される。リクエスト制御回路３０４ａはレジスタ３２０の値によって制御の対象とするスレーブコンポーネントを認識し、リクエスト制御回路３０４ｂはレジスタ３２１の値によって制御の対象とするスレーブコンポーネントを認識する。
【００４１】
リクエスト制御回路３０４ａの出力２００，２０１はレジスタ３２０で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。リクエスト制御回路３０４ｂの出力２０２はレジスタ３２１で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。２００，２０１，２０２の各出力は、リクエスト（ｒｅｑ）、リクエストを発行したマスタコンポーネントを識別するためのソースデータ(ｓｒｃ)、転送要求の転送先を示す転送要求先アドレス（ａｄｄ）のデコードによって認識されたスレーブコンポーネントのための動作イネーブル信号等を含む。
【００４２】
切換えスイッチ回路３１２の出力２１０はスレーブコンポーネント（ＳＬＶ０）１０３ａに、出力２１１はスレーブコンポーネント（ＳＬＶ１）１０３ｂに、出力２１２はスレーブコンポーネント（ＳＬＶ２）１０３ｃに結合される。切換えスイッチ回路３１２は出力２００〜２０２を任意の出力２１０〜２１２に接続可能なクロスバースイッチ回路の構成を有し、そのスイッチ回路の接続制御はレジスタ３２０，３２１の値に従って行われる。例えばレジスタ３２０，３２１の設定が図１で説明した状態の場合、リクエスト制御回路３０４ａの出力２００又は２０１は切換えスイッチ回路３１２の出力２１０又は２１１に反映され、リクエスト制御回路３０４ｂの出力２０２は切換えスイッチ回路３１２の出力２１２に反映される。一方、レジスタ３２０，３２１の設定が図２で説明した状態の場合、リクエスト制御回路３０４ａの出力２００又は２０１は切換えスイッチ回路３１２の出力２１０に反映され、リクエスト制御回路３０４ｂの出力２０２は切換えスイッチ回路３１２の出力２１１に反映される。
【００４３】
図４に基づいてレジスタ３２０，３２１の設定値を変更する制御形態について説明する。クロック停止信号１１０により動作停止されたスレーブコンポーネントが通知されたとき、スイッチ制御回路３０９はそれに従って、動作停止されたスレーブコンポーネントのコンポーネントＩＤをレジスタ３２０，３２１からクリアする。比較回路（ＣＯＭＰ）３１１は、レジスタ３２０に設定されたリクエスト制御回路３０４ａの所属コンポーネントＩＤから把握されるスレーブコンポーネントの数と、レジスタ３２１に設定されたリクエスト制御回路３０４ｂの所属コンポーネントＩＤから把握されるスレーブコンポーネントの数とを比較し、例えば前者のコンポーネントＩＤの数に対する後者のコンポーネントＩＤの数の差が２以上であるか否かを信号３１４によってスイッチ制御回路３０９に通知する。スイッチ制御回路３０９はクロック停止信号１１０によって一部のスレーブコンポーネントの動作停止が通知されたときに信号３１４によってその差が２以上であることを検出することによってレジスタ３２０，３２１の値を適正に変更する。例えば、前記スレーブコンポーネント割り付け制御回路３０５は、クロック停止状態のスレーブコンポーネントが発生したとき、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、レジスタ３２０，３２１のコンポーネントＩＤを変更する。例えば、その差が２よりも小さくなるように動作可能なスレーブコンポーネントの所属をコンポーネントＩＤの昇順又は降順で２個のレジスタ３２０、３２１に振り分ける。前記所定範囲は２より小さい範囲に限定されず、システムに応じて適宜変更可能である。
【００４４】
図５には制御レジスタ３２０，３２１の値を変更する動作フローが例示される。クロック停止信号１１０によりスレーブコンポーネント１０３ｃのクロック停止が検出されたとき（Ｓ１）、比較回路３１１による比較動作によって（Ｓ２）、リクエスト制御回路３０４ａ、３０４ｂの所属コンポーネント数の差が２以上であることが検出されると（Ｓ３）、レジスタ回路３１はその差を２よりも小さくなるようにレジスタ３２０，３２１のコンポーネントＩＤを入換える（Ｓ４）。例えば初期状態を図１の状態とすると、制御レジスタ３２０はＳＬＶ０とＳＬＶ１のコンポーネントＩＤを有し、レジスタ３２１はＳＬＶ２のコンポーネントＩＤを有している。クロック停止が指示されると、制御レジスタ３２１が保有していたＳＬＶ２のコンポーネントＩＤがクリアされる。比較回路３１１はこの状態の制御レジスタ３２０，３２１の値を比較してその結果を信号３１４でスイッチ制御回路３０９に返す。これを受けてスイッチ制御回路３０９は、ステップＳ４の処理で、制御レジスタ３２０をはＳＬＶ０のコンポーネントＩＤに書換え、制御レジスタ３２１をＳＬＶ１のコンポーネントＩＤに書換える。これによって図２の状態が達成される。その後、スレーブコンポーネント（ＳＬＶ２）１０３ｃに対するクロック供給が再開されると、スイッチ制御回路３０９は、これを検出し（Ｓ５）、制御レジスタ３２０，３２１に制御レジスタ３２２，３２３の初期値を内部転送して、制御回路３０５による制御形態が初期状態に戻される。
【００４５】
これにより、スレーブコンポーネントのクロック停止状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。クック停止だけでなく、選択的な動作電源供給遮断に対しても同様に対応させることが可能である。
【００４６】
《リクエスト処理回路１０４ａの第２の例》
図６及び図７にはリクエスト処理回路１０４ａの第２の例が示される。ここではマスタコンポーネント１０２ａ〜１０２ｆとスレーブコンポーネント１０３ａ〜１０３ｆは図３と同じとされる。ここで示す例はカーナビゲーション向けＳｏＣにおいて、ＵＳＢ等のインタフェースを持つ取り外し可能なＵＳＢメモリの未装着時のリクエスト系信号の接続状態が図６に示される、ＵＳＢメモリの装着時のリクエスト系信号の接続状態が図７に示される。
【００４７】
リクエスト処理回路１０４ａは、３個のリクエスト制御回路（ＲＥＱＣＮＴ０〜ＲＥＱＣＮＴ２）４０４ａ〜４０４ｃと、スレーブコンポーネント割り付け制御回路（ＳＬＶＡＬＣＴ）４０５とを有する。リクエスト制御回路４０４ａ〜４０４ｃは、マスタコンポーネントからの要求を転送するスレーブコンポーネントをアドレスデコードによって判定すると共に一つのスレーブコンポーネントに対する要求の競合を早遅若しくは所定の優先順位等によって調停する。スレーブコンポーネント割り付け制御回路（ＳＬＶＡＬＣＴ）４０５は前記リクエスト制御回路４０４ａ〜４０４ｃによる制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定する。
【００４８】
図６では、スレーブコンポーネント割り付け制御回路４０５は、リクエスト制御回路４０４ａにスレーブコンポーネント（ＭＥＭ＿ＩＦ）１０３ａへの転送要求に対する判定と調停を担わせ、リクエスト制御回路４０４ｂにスレーブコンポーネント（ＤＭＡＣ）１０３ｂ、（ＰＨＲ）１０３ｃ、（ＰＣＩ＿ＩＦ）１０３ｅへの転送要求に対する判定と調停を担わせ、リクエスト制御回路４０４ｃにスレーブコンポーネント（ＧＲＦＣ）１０３ｂへの転送要求に対する判定と調停を担わせている状態を示す。したがって、スレーブコンポーネント割り付け制御回路４０５は、リクエスト制御回路４０４ａから与えられる転送要求をスレーブコンポーネント１０３ａに与え、リクエスト制御回路４０４ｂから与えられる転送要求をスレーブコンポーネント１０３ｃ〜１０３ｅのどれかに与え、リクエスト制御回路４０４ｃから与えられる転送要求をスレーブコンポーネント１０３ｂに与える。ここではスレーブコンポーネント（ＵＳＢ＿ＩＦ）１０３ｆにリクエスト制御回路４０４ａ〜４０４ｃを割り振っていない。これは、外部ＵＳＢメモリ装着情報４０６により、外部ＵＳＢメモリがスレーブコンポーネント（ＵＳＢ＿Ｉ／Ｆ）に未装着であることがスレーブコンポーネント割り付け制御回路４０５に通知されているからである。この状況においては、リクエスト制御回路４０４ａに所属するスレーブコンポーネントはＭＥＭ＿Ｉ／Ｆ１０３ａ一つだけとされ、リクエスト制御回路４０４ｃに所属するスレーブコンポーネントはＧＲＦＣ１０３ｂ一つだけとされるから、ＭＥＭ＿Ｉ／Ｆ１０３ａ、ＧＲＦＣ１０３ｂに対するアクセスに対して高いスループットを得ることができる。
【００４９】
図７には部ＵＳＢメモリ装着情報４０６により、外部ＵＳＢメモリがスレーブコンポーネント（ＵＳＢ＿Ｉ／Ｆ）に装着されたことがスレーブコンポーネント割り付け制御回路４０５に通知されたときの状態が示される。この場合は、スレーブコンポーネント割り付け制御回路４０５は、リクエスト制御回路４０４ａにスレーブコンポーネント（ＭＥＭ＿ＩＦ）１０３ａへの転送要求に対する判定と調停を担わせ、リクエスト制御回路４０４ｂにスレーブコンポーネント（ＤＭＡＣ）１０３ｂ、（ＰＨＲ）１０３ｃ、（ＰＣＩ＿ＩＦ）１０３ｅ、（ＧＲＦＣ）１０３ｂへの転送要求に対する判定と調停を担わせ、リクエスト制御回路４０４ｃにスレーブコンポーネント（ＵＳＢ＿Ｉ／Ｆ）１０３ｆへの転送要求に対する判定と調停を担わせる。したがって、スレーブコンポーネント割り付け制御回路４０５は、リクエスト制御回路４０４ａから与えられる転送要求をスレーブコンポーネント１０３ａに与え、リクエスト制御回路４０４ｂから与えられる転送要求をスレーブコンポーネント１０３ｂ〜１０３ｅのどれかに与え、リクエスト制御回路４０４ｃから与えられる転送要求をスレーブコンポーネント１０３ｆに与える。この状況においては、リクエスト制御回路４０４ａに所属するスレーブコンポーネントはＭＥＭ＿Ｉ／Ｆ１０３ａ一つだけとされ、リクエスト制御回路４０４ｃに所属するスレーブコンポーネントはＵＳＢ＿Ｉ／Ｆ１０３ｆ一つだけとされるから、ＭＥＭ＿Ｉ／Ｆ１０３ａ、ＵＳＢ＿Ｉ／Ｆ１０３ｆに対するアクセスに対して高いスループットを得ることができる。特にストリームデータ等の大量のデータをＵＳＢメモリからダウンロードするような要求がマスタコンポーネントから連続して発行されるような場合を想定すると、それによってデータアクセスのスループットが大幅に向上する。
【００５０】
図８にはスレーブコンポーネント割り付け制御回路４０５の更に詳細な一例が示される。スレーブコンポーネント割り付け制御回路４０５はスイッチ制御回路（ＳＷＣＮＴ）４０９、レジスタ回路（ＲＥＧＣＩＲ）４１０、比較回路（ＣＭＰ）４１１及び切換えスイッチ回路（ＣＨＧＳＷ）４１２を有する。スイッチ制御回路４０９は夫々のリクエスト制御回路４０４ａ〜４０４ｃによる制御結果を渡すことが可能なスレーブコンポーネントの識別情報（所属コンポーネントＩＤ）が設定される第１制御レジスタ（ＣＲＥＧ０，ＣＲＥＧ１、ＣＲＥＧ２）４２０〜４２２を有する。第１制御レジスタ４２０にはリクエスト制御回路４０４ａが判定及び調停対象として担うスレーブコンポーネント（そのようなスレーブコンポーネントをリクエスト制御回路４０４ａに所属するコンポーネントとも記す）のコンポーネントＩＤが設定される。第１制御レジスタ４２１にはリクエスト制御回路４０４ｂが判定及び調停対象として担うスレーブコンポーネント（そのようなスレーブコンポーネントをリクエスト制御回路４０４ｂに所属するコンポーネントとも記す）のコンポーネントＩＤが設定される。第１制御レジスタ４２２にはリクエスト制御回路４０４ｃが判定及び調停対象として担うスレーブコンポーネント（そのようなスレーブコンポーネントをリクエスト制御回路４０４ｃに所属するコンポーネントとも記す）のコンポーネントＩＤが設定される。レジスタ回路４１０は第1データレジスタ（ＩＤＲ０〜ＩＤＲ２）４２３〜４２５、第２データレジスタ（ＣＨＤＲ０〜ＣＨＤＲ２）４２６〜４２８、及び第２制御レジスタ４２９を有する。第1データレジスタ４２３〜４２５はスイッチ制御回路毎に所属コンポーネントＩＤのデータ（第1データ）の初期設定データが格納される。第２データレジスタ４２６〜４２８はＵＳＢメモリ装着信号４０６によってＵＳＢメモリの装着が指示されたときに第1データに代えて使用する所属コンポーネントＩＤのデータ（第２データ）の格納に利用される。ＵＳＢメモリの装着が解除されたときスイッチ制御回路４０９は第２データに代えて第１データを利用する。第２制御レジスタ４２９は、ＵＳＢメモリが装着されたときスレーブコンポーネント毎に所属コンポーネントＩＤが変更対象であるか否かを指示する制御データの格納に利用される。レジスタ４２０〜４２９に対する初期設定はシステムリセットによってハードウェア的に、あるいはリセット解除に応答して初期化プログラムを実行する中央処理装置のような所定のマスタコンポーネントが行ってもよい。図６、及び図７の例に従えば、レジスタ４２３〜４２９の初期設定値は図９に例示される通りである。第１制御レジスタ４２０〜４２２は前記スイッチ制御回路４０９によって自律的に書換え可能にされる。また、第１制御レジスタ４２０〜４２２はデータレジスタ４２３〜４２５の値が内部転送されることによって初期値に戻される。ＵＳＢメモリの装着が検出されたときは第１制御レジスタ４２０〜４２２はデータレジスタ４２６〜４２８の値が内部転送されて書換えられる。図９の例では第２制御レジスタ４２９は、ＭＥＭ＿Ｉ／Ｆ１０２ａとＵＳＢ＿Ｉ／Ｆ１０３ｆが所属するリクエスト制御回路の切換えを不可（��ＦＦ）に指示している。従って、仮にレジスタ４２３、４２５で指定される初期値とレジスタ４２６，４２８で指定される変更値とがＭＥＭ＿Ｉ／Ｆ１０２ａとＵＳＢ＿Ｉ／Ｆ１０３ｆに関して相違される場合であってもその相違は無視される。リクエスト制御回路４０４ａはレジスタ４２０の値によって制御の対象とするスレーブコンポーネントを認識し、リクエスト制御回路４０４ｂはレジスタ４２１の値によって制御の対象とするスレーブコンポーネントを認識し、リクエスト制御回路４０４ｃはレジスタ４２２の値によって制御の対象とするスレーブコンポーネントを認識する。
【００５１】
リクエスト制御回路４０４ａの出力２２０はレジスタ４２０で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。リクエスト制御回路４０４ｂの出力２２１〜２２４はレジスタ４２１で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。リクエスト制御回路４０４ｃの出力２２５はレジスタ４２２で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。２２０〜２２５の各出力は、リクエスト（ｒｅｑ）、リクエストを発行したマスタコンポーネントを識別するためのソースデータ(ｓｒｃ)、転送要求の転送先を示す転送要求先アドレス（ａｄｄ）のデコードによって認識されたスレーブコンポーネントのための動作イネーブル信号等を含む。
【００５２】
切換えスイッチ回路４１２の出力２３０〜２３５はスレーブコンポーネント１０３ａ〜１０３ｆに結合される。切換えスイッチ回路４１２は出力２２０〜２２５を任意の出力２３０〜２３５に接続可能なクロスバースイッチ回路の構成を有し、そのスイッチ回路の接続制御はレジスタ４２０〜４２２の値に従って行われる。
【００５３】
図８に基づいてレジスタ４２０〜４２２の設定値を変更する制御形態について説明する。第１には、ＵＳＢメモリ装着情報４０６により装着が検出されたときはデータレジスタ４２６〜４２８の値でレジスタ４２０〜４２２を書換える。図６と図７における状態に従えば、外部ＵＳＢメモリに対するアクセスを優先させることができる。第２の例の場合には１０３aのＭＥＭ＿Ｉ／Ｆ、１０３ｆのＵＳＢ＿Ｉ／Ｆに対して、固定でリソースが与えられている為、比較回路（ＣＯＭＰ）４１１は機能を果たさず、動的割り当ては行わない。図９のリソース切換え用のレジスタ４２３〜４２９によりＭＥＭ＿Ｉ／Ｆ１０３ａ、ＵＳＢ＿Ｉ／Ｆ１０３ｆをオンにすると動的割り当てが可能にされる。
【００５４】
《リクエスト処理回路１０４ａの第３の例》
図１０にはスレーブ割り付け制御回路の第３の例が示される。図４の構成ではクロック停止信号１１０によるクロック停止の指示に応答してリクエスト制御回路３０４ａ、３０４ｂに対応する所属コンポーネントＩＤを書き換え制御するものとした。図１０の構成は、スレーブコンポーネント毎に転送の要求のない期間が所定期間継続したことに応答してリクエスト制御回路３０４ａ、３０４ｂに対応する所属コンポーネントＩＤを書き換え制御するものとした点が、図４と相違される。ここではその相違点について詳細に説明する。カウンタ（ＣＯＵＮＴ０〜ＣＯＵＮＴ２）５１４〜５１６はスレーブコンポーネント１０３ａ，１０３ｂ，１０３ｃ毎に転送の要求のない期間を計数する。即ち、夫々の信号２１０〜２１２に含まれるスレーブコンポーネントの選択イネーブル信号がイネーブルレベルにされる毎に初期値から計数動作を行う。計数値はスイッチ制御回路５０９に与えられる。スイッチ制御回路５０９は夫々の計数値に対応して閾値レジスタ（ＮＴＨＲ０〜ＮＴＨＲ２）５１１〜５１３を有し、入力した計数値が対応する閾値レジスタの値に到達したことを検出すると、図４にけるクロック停止信号１１０によってクロック停止が指示されたときと同等の制御を開始する。その制御フローは図１１に例示される。図１１によれば、入力した計数値が対応する閾値レジスタの値に到達したことを検出されたとき（Ｓ１１）、比較回路３１１による比較動作によって（Ｓ１２）、リクエスト制御回路３０４ａ、３０４ｂの所属コンポーネント数の差が２以上であることが検出されると（Ｓ１３）、レジスタ回路３１はその差を２よりも小さくなるようにレジスタ３２０，３２１のコンポーネントＩＤを入換える（Ｓ１４）。例えば初期状態を図１の状態（クロック停止信号１１０はないものとする）とすると、制御レジスタ３２０はＳＬＶ０とＳＬＶ１のコンポーネントＩＤを有し、レジスタ３２１はＳＬＶ２のコンポーネントＩＤを有している。スイッチ制御回路５０９は入力した計数値が対応する閾値レジスタの値に到達したことを検出すると、制御レジスタ３２１が保有していたＳＬＶ２のコンポーネントＩＤをクリアする。比較回路３１１はこの状態の制御レジスタ３２０，３２１の値を比較してその結果を信号３１４でスイッチ制御回路５０９に返す。これを受けてスイッチ制御回路５０９は、ステップＳ１４の処理で、制御レジスタ３２０をはＳＬＶ０のコンポーネントＩＤに書換え、制御レジスタ３２１をＳＬＶ１のコンポーネントＩＤに書換える。これによって図２の状態（クロック停止信号１１０はないものとする）が達成される。その後、スレーブコンポーネント（ＳＬＶ２）１０３ｃに要求信号が供給されると、スイッチ制御回路５０９は、対応するスレーブコンポーネントのイネーブル信号によってそれを検出し（Ｓ１５）、制御レジスタ３２０，３２１に制御レジスタ３２２，３２３の初期値を内部転送して、制御回路５０５による制御形態が初期状態に戻される。
【００５５】
これにより、スレーブコンポーネントに対する転送の要求がない状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。
【００５６】
《レスポンス処理回路の例》
図１２にはレスポンス処理回路１０４ｂの一例が示される。ここでは説明を容易化するために、３個のマスタコンポーネント（ＭＳＴ０〜ＭＳＴ２）１０２ａ〜１０２ｃと４個のスレーブコンポーネント（ＳＬＶ０〜ＳＶＬ３）１０３ａ〜１０３ｄを代表的に示す。スレーブ処理回路１０４ｂは、複数のレスポンス制御回路（ＲＥＳＣＮＴ０、ＲＥＳＣＮＴ１）６０４ａ、６０４ｂと、マスタコンポーネント割り付け制御回路（ＭＳＴＡＬＣＴ）６０５とを有する。レスポンス制御回路（ＲＥＳＣＮＴ０、ＲＥＳＣＮＴ１）６０４ａ、６０４ｂは、スレーブコンポーネントからの応答を返すマスタコンポーネントをアドレスデコードによって判定すると共に一つのマスタコンポーネントに対する応答の競合を早遅若しくは所定の優先順位等によって調停する。マスタコンポーネント割り付け制御回路（ＭＳＴＡＬＣＴ）６０５は前記レスポンス制御回路６０４ａ，６０４ｂによる制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定する。概念的に示されたスイッチ（ＳＷ）６０６ａはレスポンス制御回路６０４から出力される一つの応答の供給先となるマスタコンポーネント１０２ａ〜１０２ｃの一つを選択する回路である。他のスイッチ（ＳＷ）４０６ｂ〜４０６ｃも同様である。図ではスイッチ６０６ａ〜６０６ｃからの経路として直下のマスタコンポーネントへ至る経路が代表的に示されている。
【００５７】
ここでは、マスタコンポーネント割り付け制御回路６０５は、レスポンス制御回路６０４ａにマスタコンポーネント１０２ａ、１０２ｂへの転送要求に対する判定と調停を担わせ、レスポンス制御回路６０４ｂにマスタコンポーネント１０２ｃへの転送要求に対する判定と調停を担わせている状態が示される。したがって、マスタコンポーネント割り付け制御回路６０５は、レスポンス制御回路６０４ａから与えられる応答をマスタコンポーネント１０２ａ又は１０２ｂに与え、レスポンス制御回路６０４ｂから与えられる応答をマスタコンポーネント１０２ｃに与える。このとき、クロックパルスジェネレータ１０３ｇからのクロック停止信号６１０によりマスタコンポーネント１０２ｃが動作休止されるような状態を想定すると、レスポンス制御回路６０４ｂは前記判定及び調停にための有効な資源（リソース）として利用されないことになる。図１３はそのような状態を解消したときの状態が例示される。即ち、クロック停止信号等によってマスタコンポーネント１０２ｃの動作が停止されているとき、マスタコンポーネント割り付け制御回路６０５は、レスポンス制御回路６０４ａにマスタコンポーネント１０２ａへの転送要求に対する判定と調停を担わせ、レスポンス制御回路６０４ｂにマスタコンポーネント１０２ｂへの転送要求に対する判定と調停を担わせる。したがって、マスタコンポーネント割り付け制御回路６０５は、レスポンス制御回路６０４ａから与えられる応答をマスタコンポーネント１０２ａに与え、レスポンス制御回路６０４ｂから与えられる応答をマスタコンポーネント１０２ｂに与える。前記判定及び調停にための資源としてのレスポンス制御回路６０４ａ、６０４ｂは共に利用され、レスポンス制御回路６０４ａだけでマスタコンポーネント１０２ａ，１０２ｂに対する判定及び調停を行う場合に比べてレスポンス制御回路６０４ａの制御負担が軽減され、それによってマスタコンポーネントによるアクセススループット更には、マスタコンポーネントによるデータ処理のスループットが向上される。要するに、空いているリソースを利用できるように、動的にリソースを切り替えることで、ルータのスループットを向上させることができる。図１及び図２に基づいて説明したように、スレーブコンポーネント１０３ｃを利要しないときはリクエスト制御回路３０４ａの制御負担を軽減してスレーブコンポーネント（ＳＬＶ０）１０３ａの制御に専念させ、スレーブコンポーネント（ＳＬＶ０）１０３ａ経由のアクセス動作を特に効率化するような制御形態の実現を、レスポンス処理回路側からも支援することができる。
【００５８】
特に図示はしないが、レスポンス処理回路に関しても、リクエスト処理回路に関して説明した第２及び第３の例を適用可能であることは言うまでもない。
【００５９】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００６０】
【図１】図１は本発明に係る半導体装置の一例であるマイクロコンピュータが備えるリクエスト処理回路の一例を示すブロック図である。
【図２】図１において一部のスレーブコンポーネントの動作が停止されたときにおけるリクエスト処理回路の状態を示すブロック図である。
【図３】本発明に係る半導体装置の一例としてマイクロコンピュータを例示するブロック図である。
【図４】スレーブコンポーネント割り付け制御回路の更に詳細な一例を示すブロック図である。
【図５】制御レジスタの値を変更する動作フローを例示するフローチャートである。
【図６】リクエスト処理回路１０４ａの第２の例を示すが示される。
【図７】図６において一部のスレーブコンポーネントの動作が停止されたときにおけるリクエスト処理回路の状態を示すブロック図である。
【図８】スレーブコンポーネント割り付け制御回路の更に詳細な一例を示すブロック図である。
【図９】レジスタ４２２〜４２８の初期設定値を例示する説明図である。
【図１０】リクエスト処理回路の第３の例を示すブロック図である。
【図１１】第３の例において制御レジスタの値を変更する動作フローを例示するフローチャートである。
【図１２】レスポンス処理回路の一例を示すブロック図である。
【図１３】図１２において一部のマスタコンポーネントの動作が停止されたときにおけるスレーブ処理回路の状態を示すブロック図である。
【図１４】本発明者が本発明完成前に検討した比較例に係るリクエスト処理回路を例示するブロック図である。
【符号の説明】
【００６１】
１０１  マイクロコンピュータ
１０２ａ〜１０２ｄ  中央処理装置（ＣＰＵ０〜ＣＰＵ３）
１０２ｅ  デバッグ支援ユニット（ＤＢＧＳ）
１０２ｆ  ＡＴＡインタフェース回路（ＡＴＡ_Ｉ/Ｆ）
１０３ａ  メモリインタフェース回路（ＭＥＭ_Ｉ/Ｆ）
１０３ｂ  画像処理ユニット（ＧＲＦＣ）
１０３ｄ  ＰＣＩインタフェース回路（ＰＣＩ_Ｉ/Ｆ）
１０３ｆ  ＵＳＢインタフェース回路（ＵＳＢ_Ｉ/Ｆ）
１０３ｃ  その他の周辺回路（ＰＲＨ）
１０４  ルータ（ＲＯＯＴ）
１０５ａ  リクエスト（ｒｅｑ）
１０５ｂ  ソースデータ(ｓｒｃ)
１０５ｃ  転送要求先アドレス（ａｄｄ）
１０５ｄ  レスポンスグラント信号(ｒ＿ｇｎｔ)
１０５ｆ  グラント信号（ｇｎｔ）
１０5ｅ  レスポンス（ｒｅｓ）
１０５ｇ  レスポンスソース（ｒ＿ｓｒｃ）
１０６ａ  リクエスト（ｒｅｑ）
１０６ｂ  ソースデータ(ｓｒｃ)
１０６ｃ  転送要求先アドレス（ａｄｄ）
１０６ｅ  レスポンス(ｒｅｓ)
１０６ｄ  レスポンスグラント信号(ｒ＿ｇｎｔ)
１０６ｅ  レスポンス（ｒｅｓ）
１０６ｆ  グラント信号（ｇｎｔ）
１０６ｇ レスポンスソース（ｒ＿ｓｒｃ）
リクエスト処理回路１０４ａ
３０４ａ、３０４ｂ  リクエスト制御回路（ＲＥＱＣＮＴ０、ＲＥＱＣＮＴ１）
３０５  スレーブコンポーネント割り付け制御回路（ＳＬＶＡＬＣＴ）
１１０  クロック停止信号
３０９  スイッチ制御回路（ＳＷＣＮＴ）
３１０  レジスタ回路（ＲＥＧＣＩＲ）
３１１  比較回路（ＣＭＰ）
３１２  切換えスイッチ回路（ＣＨＧＳＷ）
３２０，３２１  第１制御レジスタ（ＣＲＥＧ０，ＣＲＥＧ１）
３２２，３２３  データレジスタ（ＩＤＲ０、ＩＤＲ１）
４０４ａ〜４０４ｃ  リクエスト制御回路（ＲＥＱＣＮＴ０〜ＲＥＱＣＮＴ２）
４０５  スレーブコンポーネント割り付け制御回路（ＳＬＶＡＬＣＴ）
４０９  スイッチ制御回路（ＳＷＣＮＴ）
４１０レジスタ回路（ＲＥＧＣＩＲ）
４１１  比較回路（ＣＭＰ）
４１２  切換えスイッチ回路（ＣＨＧＳＷ）
４２０〜４２２  第１制御レジスタ（ＣＲＥＧ０，ＣＲＥＧ１、ＣＲＥＧ２）
４２３〜４２５  第1データレジスタ（ＩＤＲ０〜ＩＤＲ２）
４２６〜４２８  第２データレジスタ（ＣＨＤＲ０〜ＣＨＤＲ２）
４２９  第２制御レジスタ４２８
５１４〜５１５  カウンタ（ＣＯＵＮＴ０〜ＣＯＵＮＴ２）
５１１〜５１３  閾値レジスタ（ＮＴＨＲ０〜ＮＴＨＲ２）
５０９  スイッチ制御回路
５０５  スレーブ割り付け制御回路
６０４ａ、６０４ｂ  レスポンス制御回路（ＲＥＳＣＮＴ０、ＲＥＳＣＮＴ１）
６０５  マスタコンポーネント割り付け制御回路（ＭＳＴＡＬＣＴ）
６０６ａ〜６０６ｄ  スイッチ（ＳＷ）
【図１】
2009116378.tif 000003
【図２】
2009116378.tif 000004
【図３】
2009116378.tif 000005
【図４】
2009116378.tif 000006
【図５】
2009116378.tif 000007
【図６】
2009116378.tif 000008
【図７】
2009116378.tif 000009
【図８】
2009116378.tif 000010
【図９】
2009116378.tif 000011
【図１０】
2009116378.tif 000012
【図１１】
2009116378.tif 000013
【図１２】
2009116378.tif 000014
【図１３】
2009116378.tif 000015
【図１４】
2009116378.tif 000016