(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】バス制御回路
(51)【国際特許分類】
G06F 13/362 20060101AFI20231212BHJP
G06F 13/14 20060101ALI20231212BHJP
G06F 13/36 20060101ALI20231212BHJP
【FI】
G06F13/362 510B
G06F13/14 310D
G06F13/36 530B
(21)【出願番号】P 2018174191
(22)【出願日】2018-09-18
【審査請求日】2021-09-06
【審判番号】
【審判請求日】2023-03-03
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】村山 公平
【合議体】
【審判長】須田 勝巳
【審判官】山崎 慎一
【審判官】吉田 美彦
(56)【参考文献】
【文献】米国特許第09117022(US,B2)
【文献】特開2008-117068(JP,A)
【文献】特開2005-062946(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F13/362
G06F13/14
G06F13/36
(57)【特許請求の範囲】
【請求項1】
複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、
前記複数のバスマスタに接続され、前記複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行した
前記複数のバスマスタの
内の1つに対するバス権を付与することを示す調停結果信号を出力する単一の調停回路と、
複数のバススイッチとを有し、
前記複数のバススイッチそれぞれは、
複数のバス転送信号を受信するための複数の入力端子、および、前記複数の入力端子のうちの1つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、
前記調停回路が出力する前記調停結果信号を受信し、当該調停結果信号に基づいて前記選択回路に対して前記複数の入力端子のいずれか1つを選択するよう制御する制御回路とを有し、
前記複数のバススイッチの少なくともいずれか1つが有する前記複数の入力端子に、上流のバススイッチの出力端子および前記複数のバスマスタの少なくともいずれか1つが接続され、
最下流に位置するバススイッチが有する前記選択回路の出力端子に前記スレーブモジュールが接続される
ことを特徴とするバス制御回路。
【請求項2】
前記制御回路は、前記調停結果信号をバススイッチの経路情報に変換し、切替選択信号として保持するメモリを有することを特徴とする請求項1に記載のバス制御回路。
【請求項3】
前記制御回路が有する前記メモリは、
前記単一の調停回路が前記調停結果信号を出力したサイクルにおいて前記切替選択信号をFIFO形式で保持し、前記制御回路は、前記切替選択信号を保持された順に用いて、前記選択回路に対して前記複数の入力端子のいずれか1つを選択
し、前記調停結果信号に対応するバス転送要求信号の最終転送がなされたサイクルで、前記調停結果信号に対応する前記切替選択信号を削除するよう制御することを特徴とする請求項2に記載のバス制御回路。
【請求項4】
前記バススイッチは、アドレス情報バスを伝達するスイッチと、データ情報バスを伝達するスイッチを有することを特徴とする請求項1乃至3のいずれか1項に記載のバス制御回路。
【請求項5】
前記調停回路は、前記複数のバスマスタから、前記バス転送要求信号とともにバス転送方向を示す情報を更に受信し、バス権を与えるとして決定したバスマスタからのバス転送方向を示す情報を前記調停結果信号とともに出力し、
前記制御回路は、前記バス転送方向を示す情報を参照し、前記調停結果信号を、バススイッチの経路情報に変換し、切替選択信号として保持するメモリを有することを特徴とする請求項1乃至4のいずれか1項に記載のバス制御回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は複数のバスマスタからスレーブへのアクセス時のバスマスタ間のアクセス調停であるバス制御技術に関するものである。
【背景技術】
【0002】
CPUやシステムの機能を司り動作するモジュールを含むハードウエアシステムでは、共有バスを介して主記憶メモリなどのスレーブモジュールに接続されている。システムの動作に当たっては、バスマスタモジュールがバスを介してメモリへのアクセスを発行しシステムの動作を実現する。このようなハードウエアシステムは一般的には、半導体集積回路上に実装される。半導体技術の進展に伴い半導体集積回路に搭載可能な論理は飛躍的に向上し、それに伴いシステムの規模が拡大の一途をたどっている。
【0003】
このようにシステム規模が拡大すると、搭載可能な機能が増加し、それに伴い主記憶にアクセスするバスマスタモジュールの数も増加することになる。
【0004】
複数のバスマスタモジュールがメモリなどにアクセスを同時に発行する場合、共有バス上でアクセスが競合するため、システムが定める所定の動作仕様に従い優先度をつけて調停されることが一般的である。調停回路は一般にバスマスタからのアクセス要求を受け付け、動作仕様で定められる所定の条件に基づいてアクセス許可するバスマスタを選択する。バススイッチは調停回路で選択されたバスマスタの情報に基づき、複数のバスマスタモジュールのアクセスから1つのアクセスを選択する。一般にバススイッチでは、アドレスなどのアクセス属性を示す多ビットの信号やアクセスデータなどの多ビットの信号を選択する論理として構成される。
【0005】
複数のバスマスタモジュールとスレーブ間の接続を構成するバスシステムとして単一の調停回路とバススイッチでバスシステム構成するSHARED BUS方式と呼ばれるバスシステムが存在する。
【0006】
SHARED BUS方式では単一の調停回路でバスアクセスを選択するため、所定の優先度でスレーブモジュールにバス転送を伝達可能である。
【0007】
しかしながら本方式ではバスマスタ数が増えるに従い、複数のバスマスタモジュールのアクセスから一つを選択するバススイッチにて、多ビットの信号が集中することにより半導体集積回路上で配線混雑が発生し、回路規模が大きくなってしまう課題がある。また、複数のバスマスタモジュールの多ビットのバス信号から1つを選択する論理構造となるため、論理段数が深くなることに起因して、動作周波数に制限が生じる課題が発生する。
【0008】
例えば200を超えるバスマスタモジュールを単一のバススイッチで実装した場合、バスシステム回路全体で配線集中が発生する。配線集中を回避するために配置面積を拡大することによって回路規模が肥大化する。一方で論理段数が深いことでタイミング収束性が困難な論理に対して配置面積を拡大することで配線遅延がさらに大きくなり、動作周波数に制限が発生する。その結果、近年の多機能化によるバスマスタモジュール数が多いシステムでは、単一のバススイッチでバスシステムを構築することは実現することは困難である。
【0009】
このような課題に対応し多くのバスマスタモジュールを取り扱う大規模システムでは、バススイッチを階層的に配置し多段で構成し、各バススイッチに接続されるバスアクセス間でアクセス調停を行う階層バス方式が一般的になりつつある(特許文献1)。
【先行技術文献】
【特許文献】
【0010】
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、階層バス方式では、バススイッチを多段で構成し、個々のバススイッチにてアクセス間の調停が行うものであった。このため、全てのマスタ間で設定される優先順位と多段で段階的に調停された結果の優先順位が異なる場合が生じる。
【0012】
その結果、優先度が低いアクセスが優先度の高いアクセスに先立ってバス転送がスレーブモジュールに伝達されるケースが生じうる。一方で、大規模システムでは複数のプロセスやタスクが競合し動作するため、システム全体性能を満足するためにはバス転送の優先順位に従って実現することが求められるケースがある。このような場合、階層バス方式ではスレーブモジュールとの間に、バス転送のアクセス順を優先度に従ってアクセス順を並び替える論理が必要となる。アクセス順を並び替える論理は、複数のアドレスコマンドとそれに紐づく書き込みデータを保持が必要である。一般的にアドレスコマンドは、アドレス信号やマスタ識別信号、転送方向信号、転送タイプ信号等を有し40ビット程度の信号で表される。また、書き込みデータは、バス幅やバスプロトコルにも依存するが64ビットバスの場合はデータとバイトイネーブル情報の72ビットの信号で表される。さらに一つのアドレスコマンドに対して、バス転送のバースト長に応じて複数の72ビット信号で表される。例えば、バス転送のバースト長が16ビートである場合、1152ビットの信号が必要となる。ここで、アクセス順を並び替える論理が4転送保持して並び替える場合、4768ビットの信号を保持し、並び替える必要があり、相当数の回路規模を消費することとなる。さらに並び替え論理は条件を比較し出力する幅の広いデータを選択する論理となるため、配線混雑や動作周波数確保のためのステージ分割が必要となり、コストアップの要因となる。
【0013】
本発明は、上記の課題を鑑みたものであり、階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能なバス制御回路を提供しようとするものである。
【課題を解決するための手段】
【0014】
この課題を解決するため、例えば本発明のバス制御回路は以下の構成を備える。すなわち、
複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、
前記複数のバスマスタに接続され、前記複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行した前記複数のバスマスタの内の1つに対するバス権を付与することを示す調停結果信号を出力する単一の調停回路と、
複数のバススイッチとを有し、
前記複数のバススイッチそれぞれは、
複数のバス転送信号を受信するための複数の入力端子、および、前記複数の入力端子のうちの1つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、
前記調停回路が出力する前記調停結果信号を受信し、当該調停結果信号に基づいて前記選択回路に対して前記複数の入力端子のいずれか1つを選択するよう制御する制御回路とを有し、
前記複数のバススイッチの少なくともいずれか1つが有する前記複数の入力端子に、上流のバススイッチの出力端子および前記複数のバスマスタの少なくともいずれか1つが接続され、
最下流に位置するバススイッチが有する前記選択回路の出力端子に前記スレーブモジュールが接続されることを特徴とする。
【発明の効果】
【0015】
本発明により、階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能なバス制御回路を提供できるようになる。
【図面の簡単な説明】
【0016】
【
図1】第1の実施形態におけるバスシステム構成図。
【
図2】第1の実施形態におけるバススイッチ回路の構成図。
【
図3】第2の実施形態におけるバスシステム構成図。
【
図4】第2の実施形態におけるバススイッチ回路の構成図。
【
図5】第2の実施形態におけるバスシステム構成概略図。
【
図6】実施形態におけるス転送の信号波形例を示す図。
【
図7】第2の実施形態の作用を説明するためのバスシステム構成図。
【
図8】
図7の作用説明におけるサイクル毎のバススイッチの状態説明図。
【発明を実施するための形態】
【0017】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【0018】
[第1の実施形態]
図1は、第1の実施形態におけるバス制御回路を搭載するバスシステムの構成図である。
図1に例示するバスシステムは8つのバスマスタモジュール101と、1つのスレーブモジュール102で構成されるバスシステムである。なお、バスマスタモジュール、スレーブモジュールの数に特に制限はなく、あくまで例示であると理解されたい。
【0019】
バスマスタモジュール101はバス転送要求信号104とバス転送信号103を出力する。調停回路100は各バスマスタモジュール101のバス転送要求信号104を集約する。また、調停回路100は、バス転送要求を出力したバスマスタモジュール101の中から、予め設定された条件に従って、それらバス転送要求を調停し、バスアクセス権を与える対象の1つのバスマスタモジュール101を決定する。
【0020】
バス転送要求信号104は、バスマスタモジュール101がバスアクセスの要求の有無を示す信号であり、バスアクセス要求の有無に加えて転送方向や当該バスアクセスの優先度情報を含んでいても構わない。
【0021】
調停回路100は、各バスマスタモジュール101からのバス転送要求信号104を受け、バス転送許可を与えるバスマスタモジュールを決定する。そして、調停回路100は、決定したバスマスタモジュールにバス転送許可を与えるべく、該当するバスマスタモジュールからスレーブモジュール102に経路を表すバスマスタ情報を、調停結果信号106として出力する。この調停結果信号106はバスを構成する全てのバススイッチ回路105に伝達される。
【0022】
なお、実施形態では、バスマスタの個数を8個の例を示している。そのうちの1つがスレーブモジュールと接続されることになるので、バスマスタを特定するためには3ビットあればよい。したがって、調停回路100が出力する調停結果信号106は、3ビットと少ない信号線で表すことができる。
【0023】
バスマスタモジュール101からスレーブモジュール102までの経路はバススイッチ回路105を介して接続され、各バスマスタモジュール101のバス転送信号103はバススイッチ回路105に入力される。
【0024】
バス転送信号103は当該バスアクセスのアドレス情報やバス転送方向、バス転送識別情報などのコマンド情報を含む。また、スレーブモジュール102への書き込みの場合、バス転送信号103は、コマンド情報に加え、書き込むべきデータを含むことになる。
【0025】
バススイッチ回路105は複数のバス転送信号103を入力し、一方を選択して出力バスに伝達するするスイッチ回路である。本実施形態では2つのバス転送信号103の入力バスの構成を例示している。以下、バススイッチ回路105の構成を説明する。
【0026】
図2はバススイッチ回路105の構成図である。調停回路100から転送許可されるバスマスタモジュールの情報として通知され調停結果信号106は経路エンコード回路202に入力される。経路エンコード回路202は、受信した調停結果信号106に基づき、当該バスマスタモジュールのバス転送が当該バススイッチ回路105を介して転送されるか否かを判定する。経路エンコード回路202は、バス構成情報として当該バススイッチ回路105に入力される2つのバス転送信号103のそれぞれに対し、いずれのバスマスタモジュール101の転送が行われるかのバスマスタ経路情報207を保持している。このバスマスタ経路情報207は、例えばROMやレジスタファイルなどのメモリに格納される。
【0027】
当該バススイッチ回路105を介して転送される場合、経路エンコード回路202は、経路選択回路200のいずれの入力端子を選択するのかを示す情報をエンコードし、経路MUX制御回路201に経路選択情報203として通知する。当該バススイッチ回路105を介さないバス転送である場合は、経路エンコード回路202は、調停結果信号1069に応答した処理は行わず、経路MUX制御回路201への通知は行わない。
【0028】
経路MUX制御201は、経路選択回路200からの経路選択情報203の通知に従い、バスマスタ経路情報207を生成する。本例では、経路選択回路200は、2入力端子、1出力端子の選択回路となっているため、経路選択情報203は1ビットの情報である。
【0029】
経路MUX制御回路201は経路エンコード回路202より経路選択情報203が通知されると、入力される2つのバス転送信号103のいずれか一方を選択するための切替選択信号204をスイッチの切替情報として生成し出力する。また、経路MUX制御回路201は、有効な切替選択信号204の有無を示すバスマスタ経路ステータス情報206を出力する。
【0030】
経路エンコード回路202は、さらに、下流に出力されるバス転送信号103でバス転送の最終を示すフラグ信号205入力に有し、最終転送フラグ信号205の発行により当該転送の切替選択信号204と当該バスマスタ経路ステータス情報206の出力を停止する。最終転送フラグ信号205は、バスマスタモジュール101が発行したバス転送要求に関連付けられるバス転送の最終転送を示すフラグ信号である。フラグ信号の生成は任意であるが、例えば
図6の波形に示すようにバス転送信号103がVALID、READYの2線ハンドシェイクによる転送においてバス転送のペイロードの最終サイクルを示すフラグ信号として実現しても構わない。
図6の例では、2つのバス転送を示している。1番目の一連のバス転送は4サイクルのバス転送、2番目のバス転送は5サイクルのバス転送である。それぞれの最終のペイロード転送である4サイクル目の転送と5サイクル目の転送でLAST信号を発行することで、一連のバス転送の最終サイクルを示している。ここでは、バス転送で明示的に最終転送を示すフラグを付与する形式を例示しているが、例えばペイロードに転送長データ情報を有し、その情報を参照することでフラグ信号を生成することも可能である。また、転送長が固定のバス転送である場合には、固定サイクル間隔でフラグ信号を生成しても構わない。
【0031】
スレーブモジュール102にダイレクトに接続される、最下流の位置するバススイッチ回路105は、最終転送を示すフラグ信号205を、転送終了フラグ信号107として調停回路100に通知する。調停回路100は調停結果信号104を出力後、転送終了フラグ信号107の受信を待って次のバスアクセスの調停結果を出力する。経路選択回路200は切替選択信号204が示す値に基づき2つのバス転送信号103のいずれか一方を出力(もしくは通過)するように制御する。また、経路選択回路200は、経路選択情報の状態である経路ステータス情報206の入力を有する。経路選択回路200は経路ステータス情報206で、有効な経路選択情報が無い場合、2入力のバス転送信号103のいずれも出力しないように制御する。すなわち、経路選択回路200は、有効なバス経路選択情報が入力されていない状態下では、上流からのバス転送信号103の情報を下流に伝達しないよう制御される。
【0032】
このようにバススイッチ回路105を構成することにより、調停回路100により決定したバス権を取得するバスマスタモジュール101順にスレーブモジュール102へのバス転送の経路を構成し、バス転送を実現することが可能となる。
【0033】
[第2の実施形態]
図3は第2の実施形態を示すバスシステムの構成図である。
図3に例示するバスシステムは8つのバスマスタモジュール101と1つのスレーブモジュール102で構成されるバスシステムである。バスマスタモジュール101はバス転送要求信号104とバス転送信号103を出力する。
【0034】
調停回路300は各バスマスタモジュール101からのバス転送要求に応答し、予め設定された条件に従って、複数のバス転送要求を調停し、バスアクセス権を与える1つのバスマスタモジュールを決定する。また、調停回路300は各バスマスタモジュール101のバス転送要求信号104を集約する。
【0035】
バス転送要求信号104は、バスマスタモジュール101が発行するバスアクセスの要求の有無を示す信号であり、バスアクセス要求の有無に加えて転送方向や当該バスアクセスの優先度情報を含んでいても構わない。
【0036】
調停回路300は、各バスマスタモジュール101からのバス転送要求を受け、バス転送許可を与える1つのバスマスタモジュールを決定し、バス転送許可を与えるバスマスタ情報を調停結果信号106として出力する。調停結果信号106はバスを構成する全てのバススイッチ回路305に伝達される。
【0037】
バスマスタモジュール101からスレーブモジュール102までの経路はバススイッチ回路305を介して接続され、各バスマスタモジュール101のバス転送信号103はバススイッチ回路305に入力される。
【0038】
バス転送信号103は当該バスアクセスのアドレス情報やバス転送方向、バス転送識別情報などのコマンド情報を含む。また、スレーブモジュール102への書き込みの場合には、バス転送信号103は、その書き込みのデータを含むことになる。本実施形態では、コマンド情報と書き込みデータを含んだ構成を例示しているが、コマンド情報と書き込みデータがバス転送信号として分離した構成であっても構わない。
【0039】
バススイッチ回路305は複数のバス転送信号103を入力し、一方を選択して出力バスに伝達するスイッチ回路である。本実施形態では2つのバス転送信号103の入力バスの構成を例示している。以下、バススイッチ回路305の構成を説明する。
【0040】
図4は第2の実施形態における、バススイッチ回路305の構成図である。調停回路300から転送許可されるバスマスタモジュールの情報として通知され調停結果信号106は経路エンコード回路402に入力される。経路エンコード回路402は、当該バスマスタモジュールのバス転送が当該バススイッチ回路305を介して転送されるか否かを判定する。このため、経路エンコード回路402は、バス構成情報として当該バススイッチ回路305に入力される2つのバス転送信号103のそれぞれに対し、いずれのバスマスタモジュール101の転送が行われるかの判定するためのバスマスタ経路情報407を保持している。
【0041】
当該バススイッチ回路305を介して転送される場合、経路エンコード回路402は、いずれのバス転送信号103より入力されるかの情報にエンコードし、経路情報FIFO401に経路選択情報403として通知する。当該バススイッチ回路305を介さないバス転送である場合は、経路エンコード回路402は、調停結果信号106に応答した処理は行わず、経路情報FIFO401への通知は行わない。
【0042】
図5は、
図3に対して個々のバスマスタモジュール101とバススイッチ回路305それぞれを識別可能にし、個々のスイッチ回路305の経路選択論理の経路を識別可能に示したものである。以下、
図5を参照して、スイッチ回路305の動作を説明する。
【0043】
バスマスタモジュールの1つである「Master-2」に繋がるスイッチ回路である“スイッチ-1(500)”に関して例示する。したがって、以下に説明する、経路選択回路400等は、スイッチ-1(500)内のものとなることに注意されたい。転送許可されるバスマスタモジュールの情報が、Master-0あるいはMaster-1である場合、経路エンコード回路402はスイッチ-1(500)を介する転送として判定する。経路エンコード回路402は経路Bより転送されるバス転送と判定し、本情報を経路選択情報403として経路情報FIFO401に通知する。転送許可されるバスマスタモジュールの情報が、Master-2である場合も同様に、経路エンコード回路402はスイッチ-1(500)を介する転送として判定する。経路エンコード回路402は経路Aより転送されるバス転送と判定し、本情報を経路選択情報403として経路情報FIFO401に通知する。対して、転送許可されるバスマスタモジュールの情報がMaster-3から7のいずれかであった場合は、経路エンコード回路402はスイッチ-1(500)を介さない転送として判定し、経路選択情報203の通知を行わないよう動作する。
【0044】
次にスレーブモジュール102にダイレクトに接続されるスイッチ回路であるスイッチ-3(501)に関して例示する。当該スイッチ-3は、転送許可されるバスマスタモジュールの情報がMaster-0から7のいずれであっても、経路エンコード回路402はスイッチ-3(501)を介する転送として判定する。すなわち、スイッチ-3(501)を介さない転送と判定する条件は存在しない。転送許可されるバスマスタモジュールの情報がMaster-0から3のいずれかであった場合、経路エンコード回路402は経路Aより転送されるバス転送と判定し、本情報を経路選択情報403として経路情報FIFO401に通知する。一方、転送許可されるバスマスタモジュールの情報がMaster-4から7のいずれかであった場合、経路エンコード回路402は経路Bより転送されるバス転送と判定し、本情報を経路選択情報403として経路情報FIFO401に通知する。
【0045】
経路選択情報FIFO401は経路選択回路400の選択情報をFIFO形式で保持するよう構成される。経路エンコード回路402により通知される経路選択情報403をFIFOに登録する。本例では、経路選択回路400は2入力の選択回路となっているため、経路選択情報403は1ビットの情報であり、経路選択情報FIFO401は1ビットのFIFOとして構成される。
【0046】
経路選択情報FIFO401は経路エンコード回路402より経路選択情報403が通知されると、当該経路選択情報403をFIFOに登録する。さらに、下流に出力されるバス転送信号403でバス転送の最終を示すフラグ信号405入力を有し、最終転送フラグ信号405の発行によりFIFOより一番古く登録されたエントリを削除するよう動作する。最終転送フラグ信号405は、バスマスタモジュール101が発行したバス転送要求に関連付けられるバス転送の最終転送を示すフラグ信号である。フラグ信号の生成は任意であるが、第1の実施形態と同様、例えば
図6の波形に示すようにバス転送信号103がVALID・READYの2線ハンドシェイクによる転送においてバス転送のペイロードの最終サイクルを示すフラグ信号として実現しても構わない。
【0047】
経路選択情報FIFO401は、FIFOの先頭に保持されている経路選択情報を経路選択回路400の切替選択信号404として出力する。経路選択回路400は切替選択信号404が示す値に基づき2入力のバス転送信号103のいずれかを出力するように制御する。以上より経路選択情報FIFO401はスイッチの切替順情報を保持するよう動作する。
【0048】
また、経路選択回路400は経路情報FIFO401に保持される経路選択情報の状態であるFIFOステータス情報406の入力を有する。経路選択回路400はFIFOステータス情報406で、FIFOに保持されている有効な経路選択情報のエントリが無い場合、2入力のバス転送信号103のいずれも出力しないように制御する。すなわち、経路情報FIFO401のエントリが空の場合は上流からのバス転送信号103の情報を下流に伝達しないよう制御される。
【0049】
このようにバススイッチ回路305を構成することにより、調停回路300により決定したバス権を取得するバスマスタモジュール101順にスレーブモジュール102へのバス転送の経路を構成し、バス転送を実現することが可能となる。
【0050】
次に、
図7に示した4つのバスマスタモジュール101のバス構成を用いて、バス全体の挙動を説明する。
図8はサイクル毎のバスを構成する3つのバススイッチ回路305におけるバス転送信号103の状態と経路選択FIFO401の状態を示している。また、本例では説明を簡易にするために各バス転送は2サイクルの転送であるものとして例示する。Cycle-0では4つのバスマスタモジュールがバス転送要求を発行している状態で、調停回路300はまだ調停結果信号106が発行されていない状態である。各バスマスタモジュールはバス転送信号103を下流に向けて発行している状態である。本状態を
図8では“valid”と示しており、スイッチ-1とスイッチ-3の経路A、経路Bはそれぞれ“valid”となっている。各バススイッチの経路選択FIFO401は空の状態であり、そのため各バススイッチは下流にバス転送信号103を発行しない状態である。したがって、スイッチ-2の経路A、経路Bはバス転送が発行されていない状態“-”となっている。
【0051】
本例では、調停回路300はバスマスタモジュール101からのバス転送要求に応答して、Master-1、Master-2、Master-3の順にバス権を与えるものとする。そして、Master-1は自身のバス転送が終了時あるいは終了前に次バス転送要求を発行し、Master-4に先立ってMaster-1に対してバス権を与えている。さらに、Master-3はCycle-8でバス転送要求を発行し、Cycle-9で調停回路(100)はMaster-3に対してバス権を与えるよう動作しているものとする。
【0052】
Cycle-1で調停回路300よりMaster-1に対してバス権が付与されると、スイッチ-1の経路情報FIFO401には経路Bの情報、スイッチ-2の経路情報FIFO401には経路Aの情報が登録される。スイッチ-3については、バス権が与えられたMaster-1は当該スイッチとは関連しないため、経路情報FIFO401には経路情報が登録されず、FIFOは空の状態が継続する。スイッチ-1では、経路情報FIFO401に情報が登録されたため、経路選択回路400は経路Bを選択するよう動作し、スイッチ-1に入力される経路BのMaster-1の第一転送がスイッチ2に対して出力される。スイッチ-2の経路情報FIFO401にも情報が登録されたため、経路選択回路400は経路Aを選択するように動作するが、スイッチ-1からのバス転送が入力前であるため、下流に有効なバス転送は発行されない。
【0053】
Cycle-2で調停回路300よりMaster-2に対してバス権が付与されると、スイッチ-1の経路情報FIFO401には経路Aの情報、スイッチ-2の経路情報FIFO401には経路Aの情報が登録される。スイッチ-1では経路BよりMaster-1の最終転送が伝送される状態であり、経路選択回路400の経路は切り換わっていない状態である。一方、スイッチ-2は、経路Aよりスイッチ-1より転送されたMaster-1の第一転送を下流のスレーブモジュール102に転送する。
【0054】
Cycle-3で調停回路300よりMaster-3に対してバス権が付与されると、スイッチ-3の経路情報FIFO401には経路Aの情報、スイッチ-2の経路情報FIFO401には経路Bの情報が登録される。スイッチ-1はバス権が与えられたMaster-3は当該スイッチとは関連しないため、経路情報FIFO401には登録されない。しかし、Cycle-2で経路Bを介したMaster-1の最終転送が転送されたため、FIFOの一番古い経路Bのエントリが削除され、切替選択信号404は経路Aを示し経路選択回路400の経路が変更される。スイッチ-3では、経路情報FIFO401に情報が登録されたため、経路選択回路400は経路Aを選択するように動作し、スイッチ-3に入力される経路AのMaster-3の第一転送がスイッチ2に対して出力される。スイッチ-2では経路AからのMaster-1の最終転送をスレーブに転送中となる。
【0055】
Cycle-4にて、調停回路300よりMaster-1に対してバス権が付与されると、スイッチ-1の経路情報FIFO401には経路Bの情報、スイッチ-2の経路情報FIFO401には経路Aの情報が登録される。スイッチ-2では経路Aを介したMaster-1の最終転送がCycle-3で転送されたため、FIFOの一番古い経路Aのエントリが削除される。経路情報FIFO401のエントリが削除されるが、切替選択信号404は次のエントリも経路Aであるため経路選択回路400のスイッチは経路Aの選択を継続し、Master-2の第一転送をスレーブモジュール102に転送する。
【0056】
Cycle-5にて、調停回路300よりMaster-4に対してバス権が付与されると、スイッチ-3の経路情報FIFO401には経路Bの情報、スイッチ-2の経路情報FIFO401には経路Bの情報が登録される。スイッチ-1はバス権が与えられたMaster-4は当該スイッチとは関連しないため、経路情報FIFO401には登録されない。しかし、Cycle-4で経路Aを介したMaster-2の最終転送が転送されたため、FIFOの一番古い経路Aのエントリが削除され、切替選択信号404は経路Bを示し、経路選択回路400の経路が変更される。Cycle-5でスイッチ-2において、経路Aを介したMaster-2の最終転送がスレーブモジュール102に対して転送される。
【0057】
Cycle-6では、経路情報FIFO401の一番古いエントリが削除され、経路選択回路400の経路が経路Bに変更され、スイッチ-3を介した転送に切り替わることとなる。以下、同様にMaster-3の転送が完了すると、スイッチ-2はCycle-8で経路Aに切り替わりMaster-1の転送がスレーブモジュールに転送される。Cycle-9で新たに調停回路300よりMaster-3に対してバス権が付与されると、スイッチ-3の経路情報FIFO401には経路Aの情報、スイッチ-2の経路情報FIFO401には経路Bの情報が登録される。Cycle-9でMaster-1の最終転送が完了するとCycle-10よりMaster-4のバス転送、Cycle-12よりMaster-3のバス転送がスレーブモジュール102に転送されるよう動作する。
【0058】
以上の実施形態で示されるように、複数のバススイッチ回路305を介してバスマスタモジュールからスレーブモジュールのパスを構成するバスシステムにて、簡易な選択論理で調停回路のバス権付与順にバス転送を発行可能である。特にスイッチの経路選択回路400の入力数を絞ることにより、少ないビット数のFIFOでバス全体の経路選択を構成することが可能となり、小コストで所望のバス転送優先順位が制御可能なバスシステムの構築が可能となる。
【0059】
また、本実施形態では明示していないが、調停回路300は各バススイッチ回路305の経路情報FIFO401の状態を参照し、バス権付与を与えるタイミングを制御することも可能である。具体的には、経路情報FIFO401のFIFOエントリの空き具合を参照し、空きがない場合にはFIFOエントリの空きが生じるまでバス権付与を待たせることも可能である。
【0060】
また、先に示した例は調停回路300からの調停結果であるバス権付与情報をバススイッチ回路305に伝達する構成を示している。本実施形態ではバススイッチ回路305は経路情報FIFO401のエントリが無い場合は経路選択回路400を介して下流にバス転送を発行しないよう制御する。したがって、バスマスタモジュール101はバス転送要求を発行後にバス転送信号103を介してバス転送を発行しても構わない構成となっている。対して、調停回路300は調停結果であるバス権付与情報をバスマスタモジュール101に伝達しても構わない。バス権付与情報をバスマスタモジュールに伝達する構成を採用することにより、バスマスタモジュール101からのバス転送信号103の発行をバス権付与情報受領後に制御することが可能となる。これにより、経路選択回路400は経路情報FIFO401のエントリが無い場合の制御が不要となる。
【0061】
[実施形態の変形例]
第1、第2の実施形態は、バスマスタモジュールからバススレーブモジュールへの経路でアドレス情報とデータ情報を同一経路で伝達する構成を示しているが、アドレス情報とデータ情報を独立に転送する構成にも適用可能である。すなわち、アドレス情報バスとデータ情報バスが独立に構成される形式に適用可能である。本構成では、バスマスタモジュール101はバス転送要求信号104とともにバス転送方向情報を調停回路100(又は300)に通知する。調停回路100(又は300)は調停結果信号106とともに、当該転送のバス転送方向情報をバススイッチ回路105(又は305)に伝達される。バススイッチ回路はアドレス情報を伝達するバススイッチとデータ情報を伝達するバススイッチが独立して構成される。データ情報を伝達するバススイッチは、調停結果信号106とともに伝達されるバス転送方向情報を参照し、書き込み転送である場合のみバススイッチの経路情報に変換することにより実現される。
【0062】
第1、第2の実施形態では調停回路100(又は300)が発行する調停結果信号106を、バスシステムを構成するすべてのバススイッチ回路105(又は305)に一斉に通知される構成例を示している。一方で、調停結果信号106は一部のバススイッチ回路105(又は305)にのみ通知される構成であっても構わない。例えば
図5の構成を例にとると、Master-0から3に対するバスアクセス権の調停結果信号106の通知はスイッチ-0から3に対してのみ通知しても構わない。
【0063】
第1、第2の実施形態では、バススイッチ回路105(又は、305)は入力バスが2つとする、スイッチ回路構成を例示しているが、入力バスは3つ以上の構成であっても構わない。その場合、バススイッチに対する切替選択信号204(又は、404)は2ビット以上の信号で表されることになる。
【符号の説明】
【0064】
100、300…調停回路、101…バスマスタモジュール、102…スレーブモジュール、103…バス転送信号、104…バス転送要求信号、105、305…バススイッチ回路、106…調停結果信号、200、400…経路選択回路、201…経路MUX制御部、202、402…経路エンコード回路、203、403…経路選択情報、204、404…切替選択信号、205、405…バス転送最終フラグ信号、206…バスマスタ経路ステータス情報、207、407…バスマスタ経路情報、401…経路情報FIFO