JP2009116378A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2009116378A
JP2009116378A JP2007285051A JP2007285051A JP2009116378A JP 2009116378 A JP2009116378 A JP 2009116378A JP 2007285051 A JP2007285051 A JP 2007285051A JP 2007285051 A JP2007285051 A JP 2007285051A JP 2009116378 A JP2009116378 A JP 2009116378A
Authority
JP
Japan
Prior art keywords
component
control circuit
slave
request
slave component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007285051A
Other languages
English (en)
Inventor
Yoshitaka Tsujimoto
芳孝 辻本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007285051A priority Critical patent/JP2009116378A/ja
Priority to US12/262,165 priority patent/US7984215B2/en
Publication of JP2009116378A publication Critical patent/JP2009116378A/ja
Priority to US13/181,414 priority patent/US8214572B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

【課題】ルータの回路規模の増大を抑えてバスアクセス効率を向上させる。
【解決手段】マスタコンポーネント(102)とスレーブコンポーネント(103)との間において転送の要求と応答を中継するルータ(104)に、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路(304)を設け、複数のリクエスト制御回路に接続する複数のスレーブコンポーネントを複数のリクエスト制御回路に可変に振り分けるスレーブコンポーネント割り付け制御回路(305)を採用する。一のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一のリクエスト制御回路に接続するスレーブコンポーネントの割り当てを変更することによって、当該一のリクエスト制御回路というリソースを利用することが可能になる。
【選択図】図1

Description

本発明は、回路モジュール間の転送の要求と応答を中継するルータのスループット向上に関し、例えばスプリット・トランザクション・バスインタフェースによって多数のマスタコンポーネントとスレーブコンポーネントを接続するバス構成を備えたSoC(システム・オン・チップ)のような半導体装置に適用して有効な技術に関する。
所要のデータ処理機能を実現するSoCに搭載されたプロセッサ、メモリ及び周辺回路等の回路モジュールの数が増加すると、マスタコンポーネントによるスレーブコンポーネントに対するアクセス効率が低下し、データ処理のスループットが低下する傾向にある。マスタコンポーネントからスレーブコンポーネントに対するリクエストの競合、スレーブコンポーネントからマスタコンポーネントへのレスポンスの競合等による。
特許文献1は、複数の第1のマスタコンポーネントには夫々に専用化されたアクセスバスを割り当て、複数の第2のマスタコンポーネントにはアクセス要求の調停等を行なう集約回路を経てその数よりも少ない数のアクセスバスを割り当て、スレーブコンポーネントは選択回路を介して何れのアクセスバスにも接続可能にされる、コンピュータシステムを開示する。
特許文献2には複数の外部インターフェースピンから複数の選択可能な内部ICノードへのアクセスをクロスバー切り替えネットワークを使用するシステムについて記載がある。
特開2002−342265号公報 特開2000−200258号公報
本発明者は、マスタコンポーネントからスレーブコンポーネントに対するリクエストの競合、スレーブコンポーネントからマスタコンポーネントへのレスポンスの競合等によるバススループット若しくはデータ処理スループットの低下を抑制することについて検討した。本発明完成後に見出された上記特許文献1に記載の技術はアクセスバスの多重化によってマスタコンポーネントによるスレーブコンポーネントのアクセス効率を高めるときに一部のマスタコンポーネントについては集約回路を用いることによって専用化バスの本数を減らそうとしている。しかしながら、集約回路に割り当てられていないバスが空いてもそれを集約回路側のマスタコンポーネントに割り当てて利用することは行われない。更に、バスの多重化を前提とするから回路規模が大きい。特許文献2に記載のクロスバースイッチ回路を採用することによって接続相手を決めると言う点で融通性に優れるが回路規模が大きくなってしまう。
本発明者は、本発明完成前に、マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータに、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路を設け、複数のリクエスト制御回路に接続する複数のスレーブコンポーネントを複数のリクエスト制御回路に振り分け接続する構成について検討した。当初は、リクエスト制御回路に振り分け接続するスレーブコンポーネントを固定にすることを検討した。しかしながら、固定では、一方のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一方のリクエスト制御回路というルータのリソースが有効利用されず、それ故にデータ処理の内容によってはバススループットも低下する虞のあることが本発明者によって明らかにされた。
本発明の目的はルータの回路規模の増大を抑えてバスアクセス効率を向上させることができる半導体装置を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータに、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路を設け、複数のリクエスト制御回路に接続する複数のスレーブコンポーネントを複数のリクエスト制御回路に可変に振り分けるスレーブコンポーネント割り付け制御回路を採用する。一のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一のリクエスト制御回路に接続するスレーブコンポーネントの割り当てを変更することによって、当該一のリクエスト制御回路というリソースを利用することが可能になり、バスアクセスもしくはデータ処理のスループットが向上する。しかも、バスの多重化を前提とせず、また、全体を網羅するクロスバースイッチも不要であるからルータの回路規模の増大も抑制される。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、ルータの回路規模の増大を抑えてバスアクセス効率を向上させることができる。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕半導体装置は、転送を要求することが可能な複数のマスタコンポーネント(102a〜102f)と、前記転送の要求に応答することが可能な複数のスレーブコンポーネント(103a〜103f)と、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータ(104)と、を有する。前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路(304,404)と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路(305,405,505)とを有する。
これによれば、一のリクエスト制御回路に接続するスレーブコンポーネントが全くアクセスされないとき当該一のリクエスト制御回路に接続するスレーブコンポーネントの割り当てを変更することによって、当該一のリクエスト制御回路というリソースを利用することが可能になり、バスアクセスもしくはデータ処理のスループットの向上に寄与する。しかも、バスの多重化を前提とせず、また、全体を網羅するクロスバースイッチも不要であるからルータの回路規模の増大も抑制される。
〔2〕項1の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報が設定される第1制御レジスタ(320,321)を有し、所定の事象が発生することに応答して前記スレーブコンポーネントの識別情報を変更する。リクエスト制御回路とスレーブコンポーネントとの割り当ての可変制御を容易に実現することができる。
〔3〕項2の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記スレーブコンポーネントの識別情報の初期値が設定される初期値データレジスタ(322,323)を有し、前記所定の事象の解消に応答して前記第1制御レジスタに前記初期値データレジスタの初期値を転送する。第1レジスタを容易に初期値に戻すことができる。
〔4〕項3の半導体装置において、前記第1制御レジスタ及び初期値データレジスタはシステムリセットに応答して初期設定される。それらに対する初期設定を容易化することができる。
〔5〕項2の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、動作休止状態のスレーブコンポーネントが発生したとき、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第1レジスタにおけるスレーブコンポーネントの識別情報を変更する。スレーブコンポーネントの動作休止状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。
〔6〕項5の半導体装置において、前記スレーブコンポーネントの動作休止状態は、同期クロック信号の供給停止により生ずる。あるいは動作電源遮断によって生じさせてもよい。
〔7〕項1の半導体装置において、前記スレーブコンポーネント割り付け制御回路(405)は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報を特定する第1データを格納する第1データレジスタ(423〜425)と、所定の事象が発生することに応答して前記第1データに代えて利用される第2データを格納する第2データレジスタ(426〜428)と有する。外部入出力インタフェース等のスレーブコンポーネントへの機器の着脱といった事象の発生に即応してスレーブコンポーネントの割り付けを変えることができる。
〔8〕項7の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記所定事象の解消に応答して第2データに代えて第1データを利用する。
〔9〕項7の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記所定事象が発生したとき、識別情報の変更を行う対象か否かを前記スレーブジュールに対応して指示する第2制御レジスタ(429)を有する。識別情報の不所望な変更を抑制することができる。
〔10〕項2の半導体装置において、前記スレーブコンポーネント割り付け制御回路(305)は、スレーブコンポーネント毎に転送の要求のない期間が所定期間継続したとき、当該前記スレーブコンポーネントを休止状態とし、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第1制御レジスタ(320,321)におけるスレーブコンポーネントの識別情報を変更する。スレーブコンポーネントに対する転送の要求がない状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。
〔11〕項10の半導体装置において、前記スレーブコンポーネント割り付け制御回路は、前記所定期間を定義する第3制御レジスタ(511〜513)を有する。スレーブコンポーネントに対する転送の要求がない期間を所望に設定することができる。
〔12〕上記クエスト制御に着目した発明はレスポンス制御にも適用可能である。即ち、前記マスタコンポーネントと、前記スレーブコンポーネントと、前記ルータとを有する半導体装置において、前記ルータは、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路(604)と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路(605)とを有する。
これによれば、一のレスポンス制御回路に接続するマスタコンポーネントが全くアクセスされないとき当該一のレスポンス制御回路に接続するマスタコンポーネントの割り当てを変更することによって、当該一のレスポンス制御回路というリソースを利用することが可能になり、バスアクセスもしくはデータ処理のスループット向上に寄与する。しかも、バスの多重化を前提とせず、また、全体を網羅するクロスバースイッチも不要であるからルータの回路規模の増大も抑制される。
〔13〕本発明はルータの上記クエスト制御及びレスポンス制御の双方に適用可能である。前記マスタコンポーネントと、前記スレーブコンポーネントと、前記ルータとを有する半導体装置において、前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路と、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路とを有する。
2.実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
《マイクロコンピュータ》
図3には本発明に係る半導体装置の一例としてマイクロコンピュータ101が例示される。このマイクロコンピュータ101は例えばSoCとして1個の半導体基板に相補型MOS集積回路技術等により形成される。これに形成されるMOSトランジスタは、SOI(シリコン・オン・インシュレート)構造、あるいはトランジスタの分離をその導電型等に応じてウェル分離で行うバルク構造等を採用することができる。
マイクロコンピュータ101は内部バスインタフェースにスプリット・トランザクション・バスインタフェースを用いる。このバスアーキテクチャにおいて、転送を要求することが可能なマスタコンポーネントとして、例えば4個の中央処理装置(CPU0〜CPU3)102a〜102d、デバッグ支援ユニット(DBGS)102e、及びATAインタフェース回路(ATA_I/F)102fを備える。夫々のマスタコンポーネント102a〜102fを単にマスタコンポーネント102とも称する。また、このバスアーキテクチャにおいて、転送要求に応答することが可能なスレーブコンポーネントとして、例えばダブルデータレートのシンクロナスDRAM等が外部に接続可能にされるメモリインタフェース回路(MEM_I/F)103a、画像処理ユニット(GRFC)103b、PCIインタフェース回路(PCI_I/F)103d、USBインタフェース回路(USB_I/F)103f及びその他の周辺回路(PRH)103cを備える。夫々のスレーブコンポーネント103a〜103fを単にスレーブコンポーネント103とも称する。前記マスタコンポーネントとスレーブコンポーネントとは、それらの間において転送の要求と応答を中継するルータ(ROOT)104が接続される。
尚、スプリット・トランザクション・バスインタフェースにおけるマスタコンポーネントとは転送を要求するとともにその要求に対する応答を受取ることができる回路を意味し、スレーブコンポーネントとは転送の要求を受取るとともにその要求に対する応答を返すことが出来る回路を意味する。したがって、一つの回路であってもマスタコンポーネントとスレーブコンポーネントの双方の機能を備えたものもある。図3に示されるマスタコンポーネントとスレーブコンポーネントの具体例はその一つの機能だけに着目したものである。例えば中央処理装置はマスタコンポーネントであるとしたが、デバッグモード等の特定の動作モードにおいて特定の内部回路が外部からアクセス可能にされるスレーブコンポーネントとして機能される場合もある。
その他の周辺回路103cには例えばクロックパルスジェネレータ(CPG)103gが含まれる。クロックパルスジェネレータ103gは外部から供給されるシステムクロック又は振動子を用いて自励発振されたクロックに基づいて内部回路の同期クロック信号を生成し、内部回路に供給する。マイクロコンピュータ101は低消費電力モードを備える。例えば、中央処理装置102aはその動作プログラムに従って、クロックパルスジェネレータ103g内のクロック制御レジスタの低消費電力制御データを書き換えることにより、その低消費電力制御データで指定される内部回路に対する同期クロックの供給を停止させる。
図3には、マスタコンポーネントの一つである中央処理装置102aとルータ104との間の入出力信号が例示される。中央処理装置102aは、マスタコンポーネントからの転送要求であるリクエスト(req)105aと、リクエストを発行したマスタコンポーネントを識別するためのソースデータ(src)105bと、転送要求の転送先を示す転送要求先アドレス(add)105cと、スレーブコンポーネントからのレスポンス信号(res)に対する受け付け許可を示す受け付け許可信号としてのレスポンスグラント信号(r_gnt)105dとをルータに出力する。また中央処理装置102は、ルータによるリクエスト信号105aの受付状態を示すグラント信号(gnt)105fと、スレーブからルータに渡された応答であるレスポンス(res)105eと、ルータからの応答の返信先であるマスタコンポーネントのIDを示すレスポンスソース(r_src)105gとをルータ104から受取る。その他のマスタコンポーネントも上記同様の信号をルータ104との間で入出力する。
また、図3にはスレーブコンポーネントの一つであるメモリインタフェース回路103aとルータ104との間の入出力信号が例示される。メモリインタフェース回路103aはマスタコンポーネントからルータ104に与えられた転送要求であるリクエスト(req)106aと、前記リクエスト106aに対応するマスタコンポーネントを識別するためのソースデータ(src)106b、前記リクエスト106aに対応する転送先を示す転送要求先アドレス(add)106cと、メモリインタフェース103aからのレスポンス(res)106eに対する受け付け許可を示す受け付け許可信号としてのレスポンスグラント信号(r_gnt)106dとをルータ104から入力する。また、メモリインタフェース回路103aはルータ104への応答としてのレスポンス(res)106eと、ルータ104からのリクエスト106aに対する受け付け状態を示すグラント信号(gnt)106fと、どのマスタコンポーネントに対する応答かを示すレスポンスソース(r_src)106gをルータ104に出力する。その他のスレーブコンポーネントも上記同様の信号をルータ104との間で入出力する。
ルータ104は前記信号105a〜105g、106a〜106gに基づいて転送要求と応答のルーティングを行い、マスタコンポーネントが発行する転送要求の処理を行うリクエスト処理回路(TRSCT_REQ)104aと、マスタコンポーネントが発行する転送要求に対する応答の処理を行うレスポンス処理回路(TRSCT_RES)104bとを有する。尚、マスタコンポーネント102からルータ104に出力される信号105a〜105dを単にリクエスト系信号105と称し、ルータ104からスレーブコンポーネント103に供給される信号106a〜106dを単にリクエスト系信号106と称する。同様に、スレーブコンポーネント103からルータ104に供給される信号106e〜106gを単にレスポンス系信号105と称し、ルータ104からマスタコンポーネント102に供給される信号105e〜105gを単にレスポンス系信号106と称する。
《リクエスト処理回路104aの第1の例》
図1にはリクエスト処理回路104aの一例が示される。ここでは説明を容易化するために、4個のマスタコンポーネント(MST0〜MST3)102a〜102dと3個のスレーブコンポーネント(SLV0〜SVL2)103a〜103cを代表的に示す。リクエスト処理回路104aは、複数のリクエスト制御回路(REQCNT0、REQCNT1)304a、304bと、スレーブコンポーネント割り付け制御回路(SLVALCT)305とを有する。リクエスト制御回路(REQCNT0、REQCNT1)304a、304bは、マスタコンポーネントからの要求を転送するスレーブコンポーネントをアドレスデコードによって判定すると共に一つのスレーブコンポーネントに対する要求の競合を早遅若しくは所定の優先順位等によって調停する。スレーブコンポーネント割り付け制御回路(SLVALCT)305は前記リクエスト制御回路304a,304bによる制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定する。概念的に示されたスイッチ(SW)306aはリクエスト制御回路304から出力される一つの転送要求の供給先となるスレーブコンポーネント103a〜103cの一つを選択する回路である。他のスイッチ(SW)306b,306cも同様である。図ではスイッチ306a〜306cからの経路として直下のスレーブコンポーネントへ至る経路が代表的に示されている。
ここでは、スレーブコンポーネント割り付け制御回路305は、リクエスト制御回路304aにスレーブコンポーネント103a、103bへの転送要求に対する判定と調停を担わせ、リクエスト制御回路304bにスレーブコンポーネント103cへの転送要求に対する判定と調停を担わせている状態が示される。したがって、スレーブコンポーネント割り付け制御回路305は、リクエスト制御回路304aから与えられる転送要求をスレーブコンポーネント103a又は103bに与え、リクエスト制御回路304bから与えられる転送要求をスレーブコンポーネント103cに与える。このとき、クロックパルスジェネレータ103gからのクロック停止信号110によりスレーブコンポーネント103cが動作休止されるような状態を想定すると、リクエスト制御回路304bは前記判定及び調停にための有効な資源(リソース)として利用されないことになる。図2はそのような状態を解消したときの状態が例示される。即ち、クロック停止信号等によってスレーブコンポーネント103cの動作が停止されているとき、スレーブコンポーネント割り付け制御回路305は、リクエスト制御回路304aにスレーブコンポーネント103aへの転送要求に対する判定と調停を担わせ、リクエスト制御回路304bにスレーブコンポーネント103bへの転送要求に対する判定と調停を担わせる。したがって、スレーブコンポーネント割り付け制御回路305は、リクエスト制御回路304aから与えられる転送要求をスレーブコンポーネント103aに与え、リクエスト制御回路304bから与えられる転送要求をスレーブコンポーネント103bに与える。前記判定及び調停にための資源としてのリクエスト制御回路304a、304bは共に利用され、リクエスト制御回路304aだけでスレーブコンポーネント103a,103bに対する判定及び調停を行う場合に比べてリクエスト制御回路304aの制御負担が軽減され、それによってスレーブコンポーネントに対するアクセススループット更には、マスタコンポーネントによるデータ処理のスループットが向上される。要するに、空いているリソースを利用できるように、動的にリソースを切り替えることで、ルータのスループットを向上させることができる。例えば、スレーブコンポーネント103cを利要しないときはリクエスト制御回路304aの制御負担を軽減してスレーブコンポーネント(SLV0)103aの制御に専念させ、スレーブコンポーネント(SLV0)103a経由のアクセス動作を特に効率化するような制御形態も実現することができる。図14の比較例に示されるように、スレーブ割り付け制御回路305を採用しない場合には、スレーブコンポーネント103cが利用されなければ一方のリクエスト制御回路(REQCNT1)も全く利用されず、リクエスト制御回路304aの制御負担を軽減してスレーブコンポーネント(SLV0)103aの制御に専念させて、スレーブコンポーネント(SLV0)103a経由のアクセス動作を効率化するような制御形態を実現することはできない。
図4にはスレーブコンポーネント割り付け制御回路305の更に詳細な一例が示される。スレーブコンポーネント割り付け制御回路305はスイッチ制御回路(SWCNT)309、レジスタ回路(REGCIR)310、比較回路(CMP)311及び切換えスイッチ回路(CHGSW)312を有する。スイッチ制御回路309は夫々のリクエスト制御回路304a,304bによる制御結果を渡すことが可能なスレーブコンポーネントの識別情報(所属コンポーネントID)が設定される第1制御レジスタ(CREG0,CREG1)320,321を有する。第1制御レジスタ320にはリクエスト制御回路304aが判定及び調停対象として担うスレーブコンポーネント(そのようなスレーブコンポーネントをリクエスト制御回路304aに所属するコンポーネントとも記す)のコンポーネントIDが設定される。第1制御レジスタ321にはリクエスト制御回路304bが判定及び調停対象として担うスレーブコンポーネント(そのようなスレーブコンポーネントをリクエスト制御回路304bに所属するコンポーネントとも記す)のコンポーネントIDが設定される。第1制御レジスタ320,321の初期値はレジスタ回路310のデータレジスタ(IDR0)322,(IDR1)323に維持される。レジスタ320〜323に対する初期設定はシステムリセットによってハードウェア的に、あるいはリセット解除に応答して初期化プログラムを実行する中央処理装置のような所定のマスタコンポーネントが行ってもよい。図1の例に従えば、第1制御レジスタ320にはSLV0のコンポーネントIDとSLV1のコンポーネントIDが初期設定され、第1制御レジスタ321にはSLV2のコンポーネントIDが初期設定される。第1制御レジスタ320,321は前記スイッチ制御回路309によって自律的に書換え可能にされる。また、第1制御レジスタ320,321はデータレジスタ322,323の値が内部転送されることによって初期値に戻される。リクエスト制御回路304aはレジスタ320の値によって制御の対象とするスレーブコンポーネントを認識し、リクエスト制御回路304bはレジスタ321の値によって制御の対象とするスレーブコンポーネントを認識する。
リクエスト制御回路304aの出力200,201はレジスタ320で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。リクエスト制御回路304bの出力202はレジスタ321で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。200,201,202の各出力は、リクエスト(req)、リクエストを発行したマスタコンポーネントを識別するためのソースデータ(src)、転送要求の転送先を示す転送要求先アドレス(add)のデコードによって認識されたスレーブコンポーネントのための動作イネーブル信号等を含む。
切換えスイッチ回路312の出力210はスレーブコンポーネント(SLV0)103aに、出力211はスレーブコンポーネント(SLV1)103bに、出力212はスレーブコンポーネント(SLV2)103cに結合される。切換えスイッチ回路312は出力200〜202を任意の出力210〜212に接続可能なクロスバースイッチ回路の構成を有し、そのスイッチ回路の接続制御はレジスタ320,321の値に従って行われる。例えばレジスタ320,321の設定が図1で説明した状態の場合、リクエスト制御回路304aの出力200又は201は切換えスイッチ回路312の出力210又は211に反映され、リクエスト制御回路304bの出力202は切換えスイッチ回路312の出力212に反映される。一方、レジスタ320,321の設定が図2で説明した状態の場合、リクエスト制御回路304aの出力200又は201は切換えスイッチ回路312の出力210に反映され、リクエスト制御回路304bの出力202は切換えスイッチ回路312の出力211に反映される。
図4に基づいてレジスタ320,321の設定値を変更する制御形態について説明する。クロック停止信号110により動作停止されたスレーブコンポーネントが通知されたとき、スイッチ制御回路309はそれに従って、動作停止されたスレーブコンポーネントのコンポーネントIDをレジスタ320,321からクリアする。比較回路(COMP)311は、レジスタ320に設定されたリクエスト制御回路304aの所属コンポーネントIDから把握されるスレーブコンポーネントの数と、レジスタ321に設定されたリクエスト制御回路304bの所属コンポーネントIDから把握されるスレーブコンポーネントの数とを比較し、例えば前者のコンポーネントIDの数に対する後者のコンポーネントIDの数の差が2以上であるか否かを信号314によってスイッチ制御回路309に通知する。スイッチ制御回路309はクロック停止信号110によって一部のスレーブコンポーネントの動作停止が通知されたときに信号314によってその差が2以上であることを検出することによってレジスタ320,321の値を適正に変更する。例えば、前記スレーブコンポーネント割り付け制御回路305は、クロック停止状態のスレーブコンポーネントが発生したとき、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、レジスタ320,321のコンポーネントIDを変更する。例えば、その差が2よりも小さくなるように動作可能なスレーブコンポーネントの所属をコンポーネントIDの昇順又は降順で2個のレジスタ320、321に振り分ける。前記所定範囲は2より小さい範囲に限定されず、システムに応じて適宜変更可能である。
図5には制御レジスタ320,321の値を変更する動作フローが例示される。クロック停止信号110によりスレーブコンポーネント103cのクロック停止が検出されたとき(S1)、比較回路311による比較動作によって(S2)、リクエスト制御回路304a、304bの所属コンポーネント数の差が2以上であることが検出されると(S3)、レジスタ回路31はその差を2よりも小さくなるようにレジスタ320,321のコンポーネントIDを入換える(S4)。例えば初期状態を図1の状態とすると、制御レジスタ320はSLV0とSLV1のコンポーネントIDを有し、レジスタ321はSLV2のコンポーネントIDを有している。クロック停止が指示されると、制御レジスタ321が保有していたSLV2のコンポーネントIDがクリアされる。比較回路311はこの状態の制御レジスタ320,321の値を比較してその結果を信号314でスイッチ制御回路309に返す。これを受けてスイッチ制御回路309は、ステップS4の処理で、制御レジスタ320をはSLV0のコンポーネントIDに書換え、制御レジスタ321をSLV1のコンポーネントIDに書換える。これによって図2の状態が達成される。その後、スレーブコンポーネント(SLV2)103cに対するクロック供給が再開されると、スイッチ制御回路309は、これを検出し(S5)、制御レジスタ320,321に制御レジスタ322,323の初期値を内部転送して、制御回路305による制御形態が初期状態に戻される。
これにより、スレーブコンポーネントのクロック停止状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。クック停止だけでなく、選択的な動作電源供給遮断に対しても同様に対応させることが可能である。
《リクエスト処理回路104aの第2の例》
図6及び図7にはリクエスト処理回路104aの第2の例が示される。ここではマスタコンポーネント102a〜102fとスレーブコンポーネント103a〜103fは図3と同じとされる。ここで示す例はカーナビゲーション向けSoCにおいて、USB等のインタフェースを持つ取り外し可能なUSBメモリの未装着時のリクエスト系信号の接続状態が図6に示される、USBメモリの装着時のリクエスト系信号の接続状態が図7に示される。
リクエスト処理回路104aは、3個のリクエスト制御回路(REQCNT0〜REQCNT2)404a〜404cと、スレーブコンポーネント割り付け制御回路(SLVALCT)405とを有する。リクエスト制御回路404a〜404cは、マスタコンポーネントからの要求を転送するスレーブコンポーネントをアドレスデコードによって判定すると共に一つのスレーブコンポーネントに対する要求の競合を早遅若しくは所定の優先順位等によって調停する。スレーブコンポーネント割り付け制御回路(SLVALCT)405は前記リクエスト制御回路404a〜404cによる制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定する。
図6では、スレーブコンポーネント割り付け制御回路405は、リクエスト制御回路404aにスレーブコンポーネント(MEM_IF)103aへの転送要求に対する判定と調停を担わせ、リクエスト制御回路404bにスレーブコンポーネント(DMAC)103b、(PHR)103c、(PCI_IF)103eへの転送要求に対する判定と調停を担わせ、リクエスト制御回路404cにスレーブコンポーネント(GRFC)103bへの転送要求に対する判定と調停を担わせている状態を示す。したがって、スレーブコンポーネント割り付け制御回路405は、リクエスト制御回路404aから与えられる転送要求をスレーブコンポーネント103aに与え、リクエスト制御回路404bから与えられる転送要求をスレーブコンポーネント103c〜103eのどれかに与え、リクエスト制御回路404cから与えられる転送要求をスレーブコンポーネント103bに与える。ここではスレーブコンポーネント(USB_IF)103fにリクエスト制御回路404a〜404cを割り振っていない。これは、外部USBメモリ装着情報406により、外部USBメモリがスレーブコンポーネント(USB_I/F)に未装着であることがスレーブコンポーネント割り付け制御回路405に通知されているからである。この状況においては、リクエスト制御回路404aに所属するスレーブコンポーネントはMEM_I/F103a一つだけとされ、リクエスト制御回路404cに所属するスレーブコンポーネントはGRFC103b一つだけとされるから、MEM_I/F103a、GRFC103bに対するアクセスに対して高いスループットを得ることができる。
図7には部USBメモリ装着情報406により、外部USBメモリがスレーブコンポーネント(USB_I/F)に装着されたことがスレーブコンポーネント割り付け制御回路405に通知されたときの状態が示される。この場合は、スレーブコンポーネント割り付け制御回路405は、リクエスト制御回路404aにスレーブコンポーネント(MEM_IF)103aへの転送要求に対する判定と調停を担わせ、リクエスト制御回路404bにスレーブコンポーネント(DMAC)103b、(PHR)103c、(PCI_IF)103e、(GRFC)103bへの転送要求に対する判定と調停を担わせ、リクエスト制御回路404cにスレーブコンポーネント(USB_I/F)103fへの転送要求に対する判定と調停を担わせる。したがって、スレーブコンポーネント割り付け制御回路405は、リクエスト制御回路404aから与えられる転送要求をスレーブコンポーネント103aに与え、リクエスト制御回路404bから与えられる転送要求をスレーブコンポーネント103b〜103eのどれかに与え、リクエスト制御回路404cから与えられる転送要求をスレーブコンポーネント103fに与える。この状況においては、リクエスト制御回路404aに所属するスレーブコンポーネントはMEM_I/F103a一つだけとされ、リクエスト制御回路404cに所属するスレーブコンポーネントはUSB_I/F103f一つだけとされるから、MEM_I/F103a、USB_I/F103fに対するアクセスに対して高いスループットを得ることができる。特にストリームデータ等の大量のデータをUSBメモリからダウンロードするような要求がマスタコンポーネントから連続して発行されるような場合を想定すると、それによってデータアクセスのスループットが大幅に向上する。
図8にはスレーブコンポーネント割り付け制御回路405の更に詳細な一例が示される。スレーブコンポーネント割り付け制御回路405はスイッチ制御回路(SWCNT)409、レジスタ回路(REGCIR)410、比較回路(CMP)411及び切換えスイッチ回路(CHGSW)412を有する。スイッチ制御回路409は夫々のリクエスト制御回路404a〜404cによる制御結果を渡すことが可能なスレーブコンポーネントの識別情報(所属コンポーネントID)が設定される第1制御レジスタ(CREG0,CREG1、CREG2)420〜422を有する。第1制御レジスタ420にはリクエスト制御回路404aが判定及び調停対象として担うスレーブコンポーネント(そのようなスレーブコンポーネントをリクエスト制御回路404aに所属するコンポーネントとも記す)のコンポーネントIDが設定される。第1制御レジスタ421にはリクエスト制御回路404bが判定及び調停対象として担うスレーブコンポーネント(そのようなスレーブコンポーネントをリクエスト制御回路404bに所属するコンポーネントとも記す)のコンポーネントIDが設定される。第1制御レジスタ422にはリクエスト制御回路404cが判定及び調停対象として担うスレーブコンポーネント(そのようなスレーブコンポーネントをリクエスト制御回路404cに所属するコンポーネントとも記す)のコンポーネントIDが設定される。レジスタ回路410は第1データレジスタ(IDR0〜IDR2)423〜425、第2データレジスタ(CHDR0〜CHDR2)426〜428、及び第2制御レジスタ429を有する。第1データレジスタ423〜425はスイッチ制御回路毎に所属コンポーネントIDのデータ(第1データ)の初期設定データが格納される。第2データレジスタ426〜428はUSBメモリ装着信号406によってUSBメモリの装着が指示されたときに第1データに代えて使用する所属コンポーネントIDのデータ(第2データ)の格納に利用される。USBメモリの装着が解除されたときスイッチ制御回路409は第2データに代えて第1データを利用する。第2制御レジスタ429は、USBメモリが装着されたときスレーブコンポーネント毎に所属コンポーネントIDが変更対象であるか否かを指示する制御データの格納に利用される。レジスタ420〜429に対する初期設定はシステムリセットによってハードウェア的に、あるいはリセット解除に応答して初期化プログラムを実行する中央処理装置のような所定のマスタコンポーネントが行ってもよい。図6、及び図7の例に従えば、レジスタ423〜429の初期設定値は図9に例示される通りである。第1制御レジスタ420〜422は前記スイッチ制御回路409によって自律的に書換え可能にされる。また、第1制御レジスタ420〜422はデータレジスタ423〜425の値が内部転送されることによって初期値に戻される。USBメモリの装着が検出されたときは第1制御レジスタ420〜422はデータレジスタ426〜428の値が内部転送されて書換えられる。図9の例では第2制御レジスタ429は、MEM_I/F102aとUSB_I/F103fが所属するリクエスト制御回路の切換えを不可(OFF)に指示している。従って、仮にレジスタ423、425で指定される初期値とレジスタ426,428で指定される変更値とがMEM_I/F102aとUSB_I/F103fに関して相違される場合であってもその相違は無視される。リクエスト制御回路404aはレジスタ420の値によって制御の対象とするスレーブコンポーネントを認識し、リクエスト制御回路404bはレジスタ421の値によって制御の対象とするスレーブコンポーネントを認識し、リクエスト制御回路404cはレジスタ422の値によって制御の対象とするスレーブコンポーネントを認識する。
リクエスト制御回路404aの出力220はレジスタ420で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。リクエスト制御回路404bの出力221〜224はレジスタ421で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。リクエスト制御回路404cの出力225はレジスタ422で指定される所属コンポーネントに対応される前記判定及び調停結果を含む。220〜225の各出力は、リクエスト(req)、リクエストを発行したマスタコンポーネントを識別するためのソースデータ(src)、転送要求の転送先を示す転送要求先アドレス(add)のデコードによって認識されたスレーブコンポーネントのための動作イネーブル信号等を含む。
切換えスイッチ回路412の出力230〜235はスレーブコンポーネント103a〜103fに結合される。切換えスイッチ回路412は出力220〜225を任意の出力230〜235に接続可能なクロスバースイッチ回路の構成を有し、そのスイッチ回路の接続制御はレジスタ420〜422の値に従って行われる。
図8に基づいてレジスタ420〜422の設定値を変更する制御形態について説明する。第1には、USBメモリ装着情報406により装着が検出されたときはデータレジスタ426〜428の値でレジスタ420〜422を書換える。図6と図7における状態に従えば、外部USBメモリに対するアクセスを優先させることができる。第2の例の場合には103aのMEM_I/F、103fのUSB_I/Fに対して、固定でリソースが与えられている為、比較回路(COMP)411は機能を果たさず、動的割り当ては行わない。図9のリソース切換え用のレジスタ423〜429によりMEM_I/F103a、USB_I/F103fをオンにすると動的割り当てが可能にされる。
《リクエスト処理回路104aの第3の例》
図10にはスレーブ割り付け制御回路の第3の例が示される。図4の構成ではクロック停止信号110によるクロック停止の指示に応答してリクエスト制御回路304a、304bに対応する所属コンポーネントIDを書き換え制御するものとした。図10の構成は、スレーブコンポーネント毎に転送の要求のない期間が所定期間継続したことに応答してリクエスト制御回路304a、304bに対応する所属コンポーネントIDを書き換え制御するものとした点が、図4と相違される。ここではその相違点について詳細に説明する。カウンタ(COUNT0〜COUNT2)514〜516はスレーブコンポーネント103a,103b,103c毎に転送の要求のない期間を計数する。即ち、夫々の信号210〜212に含まれるスレーブコンポーネントの選択イネーブル信号がイネーブルレベルにされる毎に初期値から計数動作を行う。計数値はスイッチ制御回路509に与えられる。スイッチ制御回路509は夫々の計数値に対応して閾値レジスタ(NTHR0〜NTHR2)511〜513を有し、入力した計数値が対応する閾値レジスタの値に到達したことを検出すると、図4にけるクロック停止信号110によってクロック停止が指示されたときと同等の制御を開始する。その制御フローは図11に例示される。図11によれば、入力した計数値が対応する閾値レジスタの値に到達したことを検出されたとき(S11)、比較回路311による比較動作によって(S12)、リクエスト制御回路304a、304bの所属コンポーネント数の差が2以上であることが検出されると(S13)、レジスタ回路31はその差を2よりも小さくなるようにレジスタ320,321のコンポーネントIDを入換える(S14)。例えば初期状態を図1の状態(クロック停止信号110はないものとする)とすると、制御レジスタ320はSLV0とSLV1のコンポーネントIDを有し、レジスタ321はSLV2のコンポーネントIDを有している。スイッチ制御回路509は入力した計数値が対応する閾値レジスタの値に到達したことを検出すると、制御レジスタ321が保有していたSLV2のコンポーネントIDをクリアする。比較回路311はこの状態の制御レジスタ320,321の値を比較してその結果を信号314でスイッチ制御回路509に返す。これを受けてスイッチ制御回路509は、ステップS14の処理で、制御レジスタ320をはSLV0のコンポーネントIDに書換え、制御レジスタ321をSLV1のコンポーネントIDに書換える。これによって図2の状態(クロック停止信号110はないものとする)が達成される。その後、スレーブコンポーネント(SLV2)103cに要求信号が供給されると、スイッチ制御回路509は、対応するスレーブコンポーネントのイネーブル信号によってそれを検出し(S15)、制御レジスタ320,321に制御レジスタ322,323の初期値を内部転送して、制御回路505による制御形態が初期状態に戻される。
これにより、スレーブコンポーネントに対する転送の要求がない状態に着目して、夫々のリクエスト制御回路の利用頻度を比較的簡単に平準化することができる。
《レスポンス処理回路の例》
図12にはレスポンス処理回路104bの一例が示される。ここでは説明を容易化するために、3個のマスタコンポーネント(MST0〜MST2)102a〜102cと4個のスレーブコンポーネント(SLV0〜SVL3)103a〜103dを代表的に示す。スレーブ処理回路104bは、複数のレスポンス制御回路(RESCNT0、RESCNT1)604a、604bと、マスタコンポーネント割り付け制御回路(MSTALCT)605とを有する。レスポンス制御回路(RESCNT0、RESCNT1)604a、604bは、スレーブコンポーネントからの応答を返すマスタコンポーネントをアドレスデコードによって判定すると共に一つのマスタコンポーネントに対する応答の競合を早遅若しくは所定の優先順位等によって調停する。マスタコンポーネント割り付け制御回路(MSTALCT)605は前記レスポンス制御回路604a,604bによる制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定する。概念的に示されたスイッチ(SW)606aはレスポンス制御回路604から出力される一つの応答の供給先となるマスタコンポーネント102a〜102cの一つを選択する回路である。他のスイッチ(SW)406b〜406cも同様である。図ではスイッチ606a〜606cからの経路として直下のマスタコンポーネントへ至る経路が代表的に示されている。
ここでは、マスタコンポーネント割り付け制御回路605は、レスポンス制御回路604aにマスタコンポーネント102a、102bへの転送要求に対する判定と調停を担わせ、レスポンス制御回路604bにマスタコンポーネント102cへの転送要求に対する判定と調停を担わせている状態が示される。したがって、マスタコンポーネント割り付け制御回路605は、レスポンス制御回路604aから与えられる応答をマスタコンポーネント102a又は102bに与え、レスポンス制御回路604bから与えられる応答をマスタコンポーネント102cに与える。このとき、クロックパルスジェネレータ103gからのクロック停止信号610によりマスタコンポーネント102cが動作休止されるような状態を想定すると、レスポンス制御回路604bは前記判定及び調停にための有効な資源(リソース)として利用されないことになる。図13はそのような状態を解消したときの状態が例示される。即ち、クロック停止信号等によってマスタコンポーネント102cの動作が停止されているとき、マスタコンポーネント割り付け制御回路605は、レスポンス制御回路604aにマスタコンポーネント102aへの転送要求に対する判定と調停を担わせ、レスポンス制御回路604bにマスタコンポーネント102bへの転送要求に対する判定と調停を担わせる。したがって、マスタコンポーネント割り付け制御回路605は、レスポンス制御回路604aから与えられる応答をマスタコンポーネント102aに与え、レスポンス制御回路604bから与えられる応答をマスタコンポーネント102bに与える。前記判定及び調停にための資源としてのレスポンス制御回路604a、604bは共に利用され、レスポンス制御回路604aだけでマスタコンポーネント102a,102bに対する判定及び調停を行う場合に比べてレスポンス制御回路604aの制御負担が軽減され、それによってマスタコンポーネントによるアクセススループット更には、マスタコンポーネントによるデータ処理のスループットが向上される。要するに、空いているリソースを利用できるように、動的にリソースを切り替えることで、ルータのスループットを向上させることができる。図1及び図2に基づいて説明したように、スレーブコンポーネント103cを利要しないときはリクエスト制御回路304aの制御負担を軽減してスレーブコンポーネント(SLV0)103aの制御に専念させ、スレーブコンポーネント(SLV0)103a経由のアクセス動作を特に効率化するような制御形態の実現を、レスポンス処理回路側からも支援することができる。
特に図示はしないが、レスポンス処理回路に関しても、リクエスト処理回路に関して説明した第2及び第3の例を適用可能であることは言うまでもない。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
図1は本発明に係る半導体装置の一例であるマイクロコンピュータが備えるリクエスト処理回路の一例を示すブロック図である。 図1において一部のスレーブコンポーネントの動作が停止されたときにおけるリクエスト処理回路の状態を示すブロック図である。 本発明に係る半導体装置の一例としてマイクロコンピュータを例示するブロック図である。 スレーブコンポーネント割り付け制御回路の更に詳細な一例を示すブロック図である。 制御レジスタの値を変更する動作フローを例示するフローチャートである。 リクエスト処理回路104aの第2の例を示すが示される。 図6において一部のスレーブコンポーネントの動作が停止されたときにおけるリクエスト処理回路の状態を示すブロック図である。 スレーブコンポーネント割り付け制御回路の更に詳細な一例を示すブロック図である。 レジスタ422〜428の初期設定値を例示する説明図である。 リクエスト処理回路の第3の例を示すブロック図である。 第3の例において制御レジスタの値を変更する動作フローを例示するフローチャートである。 レスポンス処理回路の一例を示すブロック図である。 図12において一部のマスタコンポーネントの動作が停止されたときにおけるスレーブ処理回路の状態を示すブロック図である。 本発明者が本発明完成前に検討した比較例に係るリクエスト処理回路を例示するブロック図である。
符号の説明
101 マイクロコンピュータ
102a〜102d 中央処理装置(CPU0〜CPU3)
102e デバッグ支援ユニット(DBGS)
102f ATAインタフェース回路(ATA_I/F)
103a メモリインタフェース回路(MEM_I/F)
103b 画像処理ユニット(GRFC)
103d PCIインタフェース回路(PCI_I/F)
103f USBインタフェース回路(USB_I/F)
103c その他の周辺回路(PRH)
104 ルータ(ROOT)
105a リクエスト(req)
105b ソースデータ(src)
105c 転送要求先アドレス(add)
105d レスポンスグラント信号(r_gnt)
105f グラント信号(gnt)
105e レスポンス(res)
105g レスポンスソース(r_src)
106a リクエスト(req)
106b ソースデータ(src)
106c 転送要求先アドレス(add)
106e レスポンス(res)
106d レスポンスグラント信号(r_gnt)
106e レスポンス(res)
106f グラント信号(gnt)
106g レスポンスソース(r_src)
リクエスト処理回路104a
304a、304b リクエスト制御回路(REQCNT0、REQCNT1)
305 スレーブコンポーネント割り付け制御回路(SLVALCT)
110 クロック停止信号
309 スイッチ制御回路(SWCNT)
310 レジスタ回路(REGCIR)
311 比較回路(CMP)
312 切換えスイッチ回路(CHGSW)
320,321 第1制御レジスタ(CREG0,CREG1)
322,323 データレジスタ(IDR0、IDR1)
404a〜404c リクエスト制御回路(REQCNT0〜REQCNT2)
405 スレーブコンポーネント割り付け制御回路(SLVALCT)
409 スイッチ制御回路(SWCNT)
410レジスタ回路(REGCIR)
411 比較回路(CMP)
412 切換えスイッチ回路(CHGSW)
420〜422 第1制御レジスタ(CREG0,CREG1、CREG2)
423〜425 第1データレジスタ(IDR0〜IDR2)
426〜428 第2データレジスタ(CHDR0〜CHDR2)
429 第2制御レジスタ428
514〜515 カウンタ(COUNT0〜COUNT2)
511〜513 閾値レジスタ(NTHR0〜NTHR2)
509 スイッチ制御回路
505 スレーブ割り付け制御回路
604a、604b レスポンス制御回路(RESCNT0、RESCNT1)
605 マスタコンポーネント割り付け制御回路(MSTALCT)
606a〜606d スイッチ(SW)

Claims (13)

  1. 転送を要求することが可能な複数のマスタコンポーネントと、前記転送の要求に応答することが可能な複数のスレーブコンポーネントと、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータと、を有する半導体装置であって、
    前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路とを有する、半導体装置。
  2. 前記スレーブコンポーネント割り付け制御回路は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報が設定される第1制御レジスタを有し、所定の事象が発生することに応答して前記スレーブコンポーネントの識別情報を変更する、請求項1記載の半導体装置。
  3. 前記スレーブコンポーネント割り付け制御回路は、前記スレーブコンポーネントの識別情報の初期値が設定される初期値データレジスタを有し、前記所定の事象の解消に応答して前記第1制御レジスタに前記初期値データレジスタの初期値を転送する、請求項2記載の半導体装置。
  4. 前記第1制御レジスタ及び初期値データレジスタはシステムリセットに応答して初期設定される、請求項3記載の半導体装置。
  5. 前記スレーブコンポーネント割り付け制御回路は、動作休止状態のスレーブコンポーネントが発生したとき、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第1レジスタにおけるスレーブコンポーネントの識別情報を変更する、請求項2記載の半導体装置。
  6. 前記スレーブコンポーネントの動作休止状態は、同期クロック信号の供給停止により生ずる、請求項5記載の半導体装置。
  7. 前記スレーブコンポーネント割り付け制御回路は、夫々のリクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントの識別情報を特定する第1データを格納する第1データレジスタと、所定の事象が発生することに応答して前記第1データに代えて利用される第2データを格納する第2データレジスタと有する、請求項1記載の半導体装置。
  8. 前記スレーブコンポーネント割り付け制御回路は、前記所定事象の解消に応答して第2データに代えて第1データを利用する、請求項7記載の半導体装置。
  9. 前記スレーブコンポーネント割り付け制御回路は、前記所定事象が発生したとき、識別情報の変更を行う対象か否かを前記スレーブコンポーネントに対応して指示する第2制御レジスタを有する、請求項7記載の半導体装置。
  10. 前記スレーブコンポーネント割り付け制御回路は、スレーブコンポーネント毎に転送の要求のない期間が所定期間継続したとき、当該前記スレーブコンポーネントを休止状態とし、夫々のリクエスト制御回路による制御結果を渡すことが可能であって動作休止状態ではないスレーブコンポーネントの数の差がリクエスト制御回路間で所定範囲から外れたことを条件に、その差を所定範囲に収まるように、前記第1制御レジスタにおけるスレーブコンポーネントの識別情報を変更する、請求項2記載の半導体装置。
  11. 前記スレーブコンポーネント割り付け制御回路は、前記所定期間を定義する第3制御レジスタを有する、請求項10記載の半導体装置。
  12. 転送を要求することが可能な複数のマスタコンポーネントと、前記転送の要求に応答することが可能な複数のスレーブコンポーネントと、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータと、を有する半導体装置であって、
    前記ルータは、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路とを有する、半導体装置。
  13. 転送を要求することが可能な複数のマスタコンポーネントと、前記転送の要求に応答することが可能な複数のスレーブコンポーネントと、前記マスタコンポーネントとスレーブコンポーネントとの間において転送の要求と応答を中継するルータと、を有する半導体装置であって、
    前記ルータは、マスタコンポーネントからの要求を転送するスレーブコンポーネントを判定すると共に一つのスレーブコンポーネントに対する要求の競合を調停する複数のリクエスト制御回路と、前記リクエスト制御回路による制御結果を渡すことが可能なスレーブコンポーネントを前記リクエスト制御回路毎に可変に決定するスレーブコンポーネント割り付け制御回路と、スレーブコンポーネントからの応答を返すマスタコンポーネントを判定すると共に一つのマスタコンポーネントに対する応答の競合を調停する複数のレスポンス制御回路と、前記レスポンス制御回路による制御結果を渡すことが可能なマスタコンポーネントを前記レスポンス制御回路毎に可変に決定するマスタコンポーネント割り付け制御回路とを有する、半導体装置。
JP2007285051A 2007-11-01 2007-11-01 半導体装置 Pending JP2009116378A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007285051A JP2009116378A (ja) 2007-11-01 2007-11-01 半導体装置
US12/262,165 US7984215B2 (en) 2007-11-01 2008-10-30 Semiconductor device
US13/181,414 US8214572B2 (en) 2007-11-01 2011-07-12 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007285051A JP2009116378A (ja) 2007-11-01 2007-11-01 半導体装置

Publications (1)

Publication Number Publication Date
JP2009116378A true JP2009116378A (ja) 2009-05-28

Family

ID=40589317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007285051A Pending JP2009116378A (ja) 2007-11-01 2007-11-01 半導体装置

Country Status (2)

Country Link
US (2) US7984215B2 (ja)
JP (1) JP2009116378A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870455B2 (en) * 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
US7797476B2 (en) * 2008-09-19 2010-09-14 Texas Instruments Incorporated Flexible connection scheme between multiple masters and slaves
JP2021196681A (ja) * 2020-06-10 2021-12-27 ルネサスエレクトロニクス株式会社 半導体装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165421A (ja) * 1998-11-25 2000-06-16 Nec Kofu Ltd マルチスレーブバスラインシステム及びシリアル転送方法
JP2002342265A (ja) * 2001-05-17 2002-11-29 Mitsubishi Electric Corp 多重バスを用いたコンピュータシステム
JP2003288278A (ja) * 2002-01-25 2003-10-10 Oki Electric Ind Co Ltd マイクロコントローラ
WO2003090086A1 (en) * 2002-04-18 2003-10-30 International Business Machines Corporation Control function based on requesting master id and a data address within an integrated system
JP2006331067A (ja) * 2005-05-26 2006-12-07 Matsushita Electric Ind Co Ltd バス調停回路制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5834957A (en) * 1996-12-20 1998-11-10 Hewlett-Packard Company Implementing asynchronous sequential circuits using synchronous design techniques and modules
US6034542A (en) * 1997-10-14 2000-03-07 Xilinx, Inc. Bus structure for modularized chip with FPGA modules
US6331977B1 (en) 1998-08-28 2001-12-18 Sharp Electronics Corporation System on chip (SOC) four-way switch crossbar system and method
US6535043B2 (en) * 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템
US6691193B1 (en) * 2000-10-18 2004-02-10 Sony Corporation Efficient bus utilization in a multiprocessor system by dynamically mapping memory addresses
US7131125B2 (en) * 2000-12-22 2006-10-31 Nortel Networks Limited Method and system for sharing a computer resource between instruction threads of a multi-threaded process
JP3759054B2 (ja) * 2002-03-01 2006-03-22 Necエレクトロニクス株式会社 バスシステム
US7174406B1 (en) * 2003-12-16 2007-02-06 Emc Corporation System and method for arbitrating access to a shared resource
US7225285B1 (en) * 2004-09-07 2007-05-29 Altera Corporation Assigning interrupts in multi-master systems
CN100365602C (zh) * 2004-12-31 2008-01-30 北京中星微电子有限公司 实现多个主动装置对单一总线上从动装置进行存取的设备
US7532636B2 (en) * 2005-10-07 2009-05-12 Intel Corporation High bus bandwidth transfer using split data bus
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
US8625719B2 (en) * 2007-06-06 2014-01-07 Landis+Gyr Technologies, Llc DSP workload distribution in a power line carrier system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165421A (ja) * 1998-11-25 2000-06-16 Nec Kofu Ltd マルチスレーブバスラインシステム及びシリアル転送方法
JP2002342265A (ja) * 2001-05-17 2002-11-29 Mitsubishi Electric Corp 多重バスを用いたコンピュータシステム
JP2003288278A (ja) * 2002-01-25 2003-10-10 Oki Electric Ind Co Ltd マイクロコントローラ
WO2003090086A1 (en) * 2002-04-18 2003-10-30 International Business Machines Corporation Control function based on requesting master id and a data address within an integrated system
JP2006331067A (ja) * 2005-05-26 2006-12-07 Matsushita Electric Ind Co Ltd バス調停回路制御方法

Also Published As

Publication number Publication date
US20090119430A1 (en) 2009-05-07
US20110271024A1 (en) 2011-11-03
US8214572B2 (en) 2012-07-03
US7984215B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
US5710891A (en) Pipelined distributed bus arbitration system
US6549961B1 (en) Semaphore access in a multiprocessor system
US6848015B2 (en) Arbitration technique based on processor task priority
US7353311B2 (en) Method of accessing information and system therefor
JP2008532143A (ja) より高い周波数アービターを介してサイクルあたり複数のバスアービトレーションを有するスイッチマトリクスシステム
KR20110126407A (ko) 시스템 온 칩 및 그것의 동작 방법
JP5578713B2 (ja) 情報処理装置
JP4457047B2 (ja) マルチプロセッサシステム
US20070067527A1 (en) Data transfer bus system connecting a plurality of bus masters
KR20120037785A (ko) 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법
JP2009116378A (ja) 半導体装置
US9003092B2 (en) System on chip bus system and a method of operating the bus system
JP2002123484A (ja) バス・システム用の即時許可バス・アービタ
US6061361A (en) Time multiplexed scheme for deadlock resolution in distributed arbitration
JP2020046876A (ja) バス制御回路
JP2007199859A (ja) データ転送システム
JP7233932B2 (ja) 仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ
CN115203094A (zh) 汇流排系统
US8621262B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
JP2008059047A (ja) 情報処理システム及びこの制御方法
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
CN110825671A (zh) 一种多晶片系统
JP2007213185A (ja) データ処理装置
JP4190629B2 (ja) マルチプロセッサシステム
JP4609540B2 (ja) マルチプロセサシステム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121011