Nothing Special   »   [go: up one dir, main page]

JP7401050B2 - バス制御回路 - Google Patents

バス制御回路 Download PDF

Info

Publication number
JP7401050B2
JP7401050B2 JP2018174191A JP2018174191A JP7401050B2 JP 7401050 B2 JP7401050 B2 JP 7401050B2 JP 2018174191 A JP2018174191 A JP 2018174191A JP 2018174191 A JP2018174191 A JP 2018174191A JP 7401050 B2 JP7401050 B2 JP 7401050B2
Authority
JP
Japan
Prior art keywords
bus
information
transfer
route
switch
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.)
Active
Application number
JP2018174191A
Other languages
English (en)
Other versions
JP2020046876A5 (ja
JP2020046876A (ja
Inventor
公平 村山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018174191A priority Critical patent/JP7401050B2/ja
Priority to EP19193097.3A priority patent/EP3627331B1/en
Priority to US16/561,328 priority patent/US10872051B2/en
Priority to KR1020190111857A priority patent/KR102549085B1/ko
Priority to CN201910880361.2A priority patent/CN110908936B/zh
Publication of JP2020046876A publication Critical patent/JP2020046876A/ja
Publication of JP2020046876A5 publication Critical patent/JP2020046876A5/ja
Application granted granted Critical
Publication of JP7401050B2 publication Critical patent/JP7401050B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)

Description

本発明は複数のバスマスタからスレーブへのアクセス時のバスマスタ間のアクセス調停であるバス制御技術に関するものである。
CPUやシステムの機能を司り動作するモジュールを含むハードウエアシステムでは、共有バスを介して主記憶メモリなどのスレーブモジュールに接続されている。システムの動作に当たっては、バスマスタモジュールがバスを介してメモリへのアクセスを発行しシステムの動作を実現する。このようなハードウエアシステムは一般的には、半導体集積回路上に実装される。半導体技術の進展に伴い半導体集積回路に搭載可能な論理は飛躍的に向上し、それに伴いシステムの規模が拡大の一途をたどっている。
このようにシステム規模が拡大すると、搭載可能な機能が増加し、それに伴い主記憶にアクセスするバスマスタモジュールの数も増加することになる。
複数のバスマスタモジュールがメモリなどにアクセスを同時に発行する場合、共有バス上でアクセスが競合するため、システムが定める所定の動作仕様に従い優先度をつけて調停されることが一般的である。調停回路は一般にバスマスタからのアクセス要求を受け付け、動作仕様で定められる所定の条件に基づいてアクセス許可するバスマスタを選択する。バススイッチは調停回路で選択されたバスマスタの情報に基づき、複数のバスマスタモジュールのアクセスから1つのアクセスを選択する。一般にバススイッチでは、アドレスなどのアクセス属性を示す多ビットの信号やアクセスデータなどの多ビットの信号を選択する論理として構成される。
複数のバスマスタモジュールとスレーブ間の接続を構成するバスシステムとして単一の調停回路とバススイッチでバスシステム構成するSHARED BUS方式と呼ばれるバスシステムが存在する。
SHARED BUS方式では単一の調停回路でバスアクセスを選択するため、所定の優先度でスレーブモジュールにバス転送を伝達可能である。
しかしながら本方式ではバスマスタ数が増えるに従い、複数のバスマスタモジュールのアクセスから一つを選択するバススイッチにて、多ビットの信号が集中することにより半導体集積回路上で配線混雑が発生し、回路規模が大きくなってしまう課題がある。また、複数のバスマスタモジュールの多ビットのバス信号から1つを選択する論理構造となるため、論理段数が深くなることに起因して、動作周波数に制限が生じる課題が発生する。
例えば200を超えるバスマスタモジュールを単一のバススイッチで実装した場合、バスシステム回路全体で配線集中が発生する。配線集中を回避するために配置面積を拡大することによって回路規模が肥大化する。一方で論理段数が深いことでタイミング収束性が困難な論理に対して配置面積を拡大することで配線遅延がさらに大きくなり、動作周波数に制限が発生する。その結果、近年の多機能化によるバスマスタモジュール数が多いシステムでは、単一のバススイッチでバスシステムを構築することは実現することは困難である。
このような課題に対応し多くのバスマスタモジュールを取り扱う大規模システムでは、バススイッチを階層的に配置し多段で構成し、各バススイッチに接続されるバスアクセス間でアクセス調停を行う階層バス方式が一般的になりつつある(特許文献1)。
特開2010-282405公報
しかしながら、階層バス方式では、バススイッチを多段で構成し、個々のバススイッチにてアクセス間の調停が行うものであった。このため、全てのマスタ間で設定される優先順位と多段で段階的に調停された結果の優先順位が異なる場合が生じる。
その結果、優先度が低いアクセスが優先度の高いアクセスに先立ってバス転送がスレーブモジュールに伝達されるケースが生じうる。一方で、大規模システムでは複数のプロセスやタスクが競合し動作するため、システム全体性能を満足するためにはバス転送の優先順位に従って実現することが求められるケースがある。このような場合、階層バス方式ではスレーブモジュールとの間に、バス転送のアクセス順を優先度に従ってアクセス順を並び替える論理が必要となる。アクセス順を並び替える論理は、複数のアドレスコマンドとそれに紐づく書き込みデータを保持が必要である。一般的にアドレスコマンドは、アドレス信号やマスタ識別信号、転送方向信号、転送タイプ信号等を有し40ビット程度の信号で表される。また、書き込みデータは、バス幅やバスプロトコルにも依存するが64ビットバスの場合はデータとバイトイネーブル情報の72ビットの信号で表される。さらに一つのアドレスコマンドに対して、バス転送のバースト長に応じて複数の72ビット信号で表される。例えば、バス転送のバースト長が16ビートである場合、1152ビットの信号が必要となる。ここで、アクセス順を並び替える論理が4転送保持して並び替える場合、4768ビットの信号を保持し、並び替える必要があり、相当数の回路規模を消費することとなる。さらに並び替え論理は条件を比較し出力する幅の広いデータを選択する論理となるため、配線混雑や動作周波数確保のためのステージ分割が必要となり、コストアップの要因となる。
本発明は、上記の課題を鑑みたものであり、階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能なバス制御回路を提供しようとするものである。
この課題を解決するため、例えば本発明のバス制御回路は以下の構成を備える。すなわち、
複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、
前記複数のバスマスタに接続され、前記複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行した前記複数のバスマスタの内の1つに対するバス権を付与することを示す調停結果信号を出力する単一の調停回路と、
複数のバススイッチとを有し、
前記複数のバススイッチそれぞれは、
複数のバス転送信号を受信するための複数の入力端子、および、前記複数の入力端子のうちの1つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、
前記調停回路が出力する前記調停結果信号を受信し、当該調停結果信号に基づいて前記選択回路に対して前記複数の入力端子のいずれか1つを選択するよう制御する制御回路とを有し、
前記複数のバススイッチの少なくともいずれか1つが有する前記複数の入力端子に、上流のバススイッチの出力端子および前記複数のバスマスタの少なくともいずれか1つが接続され、
最下流に位置するバススイッチが有する前記選択回路の出力端子に前記スレーブモジュールが接続されることを特徴とする。
本発明により、階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能なバス制御回路を提供できるようになる。
第1の実施形態におけるバスシステム構成図。 第1の実施形態におけるバススイッチ回路の構成図。 第2の実施形態におけるバスシステム構成図。 第2の実施形態におけるバススイッチ回路の構成図。 第2の実施形態におけるバスシステム構成概略図。 実施形態におけるス転送の信号波形例を示す図。 第2の実施形態の作用を説明するためのバスシステム構成図。 図7の作用説明におけるサイクル毎のバススイッチの状態説明図。
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[第1の実施形態]
図1は、第1の実施形態におけるバス制御回路を搭載するバスシステムの構成図である。図1に例示するバスシステムは8つのバスマスタモジュール101と、1つのスレーブモジュール102で構成されるバスシステムである。なお、バスマスタモジュール、スレーブモジュールの数に特に制限はなく、あくまで例示であると理解されたい。
バスマスタモジュール101はバス転送要求信号104とバス転送信号103を出力する。調停回路100は各バスマスタモジュール101のバス転送要求信号104を集約する。また、調停回路100は、バス転送要求を出力したバスマスタモジュール101の中から、予め設定された条件に従って、それらバス転送要求を調停し、バスアクセス権を与える対象の1つのバスマスタモジュール101を決定する。
バス転送要求信号104は、バスマスタモジュール101がバスアクセスの要求の有無を示す信号であり、バスアクセス要求の有無に加えて転送方向や当該バスアクセスの優先度情報を含んでいても構わない。
調停回路100は、各バスマスタモジュール101からのバス転送要求信号104を受け、バス転送許可を与えるバスマスタモジュールを決定する。そして、調停回路100は、決定したバスマスタモジュールにバス転送許可を与えるべく、該当するバスマスタモジュールからスレーブモジュール102に経路を表すバスマスタ情報を、調停結果信号106として出力する。この調停結果信号106はバスを構成する全てのバススイッチ回路105に伝達される。
なお、実施形態では、バスマスタの個数を8個の例を示している。そのうちの1つがスレーブモジュールと接続されることになるので、バスマスタを特定するためには3ビットあればよい。したがって、調停回路100が出力する調停結果信号106は、3ビットと少ない信号線で表すことができる。
バスマスタモジュール101からスレーブモジュール102までの経路はバススイッチ回路105を介して接続され、各バスマスタモジュール101のバス転送信号103はバススイッチ回路105に入力される。
バス転送信号103は当該バスアクセスのアドレス情報やバス転送方向、バス転送識別情報などのコマンド情報を含む。また、スレーブモジュール102への書き込みの場合、バス転送信号103は、コマンド情報に加え、書き込むべきデータを含むことになる。
バススイッチ回路105は複数のバス転送信号103を入力し、一方を選択して出力バスに伝達するするスイッチ回路である。本実施形態では2つのバス転送信号103の入力バスの構成を例示している。以下、バススイッチ回路105の構成を説明する。
図2はバススイッチ回路105の構成図である。調停回路100から転送許可されるバスマスタモジュールの情報として通知され調停結果信号106は経路エンコード回路202に入力される。経路エンコード回路202は、受信した調停結果信号106に基づき、当該バスマスタモジュールのバス転送が当該バススイッチ回路105を介して転送されるか否かを判定する。経路エンコード回路202は、バス構成情報として当該バススイッチ回路105に入力される2つのバス転送信号103のそれぞれに対し、いずれのバスマスタモジュール101の転送が行われるかのバスマスタ経路情報207を保持している。このバスマスタ経路情報207は、例えばROMやレジスタファイルなどのメモリに格納される。
当該バススイッチ回路105を介して転送される場合、経路エンコード回路202は、経路選択回路200のいずれの入力端子を選択するのかを示す情報をエンコードし、経路MUX制御回路201に経路選択情報203として通知する。当該バススイッチ回路105を介さないバス転送である場合は、経路エンコード回路202は、調停結果信号1069に応答した処理は行わず、経路MUX制御回路201への通知は行わない。
経路MUX制御201は、経路選択回路200からの経路選択情報203の通知に従い、バスマスタ経路情報207を生成する。本例では、経路選択回路200は、2入力端子、1出力端子の選択回路となっているため、経路選択情報203は1ビットの情報である。
経路MUX制御回路201は経路エンコード回路202より経路選択情報203が通知されると、入力される2つのバス転送信号103のいずれか一方を選択するための切替選択信号204をスイッチの切替情報として生成し出力する。また、経路MUX制御回路201は、有効な切替選択信号204の有無を示すバスマスタ経路ステータス情報206を出力する。
経路エンコード回路202は、さらに、下流に出力されるバス転送信号103でバス転送の最終を示すフラグ信号205入力に有し、最終転送フラグ信号205の発行により当該転送の切替選択信号204と当該バスマスタ経路ステータス情報206の出力を停止する。最終転送フラグ信号205は、バスマスタモジュール101が発行したバス転送要求に関連付けられるバス転送の最終転送を示すフラグ信号である。フラグ信号の生成は任意であるが、例えば図6の波形に示すようにバス転送信号103がVALID、READYの2線ハンドシェイクによる転送においてバス転送のペイロードの最終サイクルを示すフラグ信号として実現しても構わない。図6の例では、2つのバス転送を示している。1番目の一連のバス転送は4サイクルのバス転送、2番目のバス転送は5サイクルのバス転送である。それぞれの最終のペイロード転送である4サイクル目の転送と5サイクル目の転送でLAST信号を発行することで、一連のバス転送の最終サイクルを示している。ここでは、バス転送で明示的に最終転送を示すフラグを付与する形式を例示しているが、例えばペイロードに転送長データ情報を有し、その情報を参照することでフラグ信号を生成することも可能である。また、転送長が固定のバス転送である場合には、固定サイクル間隔でフラグ信号を生成しても構わない。
スレーブモジュール102にダイレクトに接続される、最下流の位置するバススイッチ回路105は、最終転送を示すフラグ信号205を、転送終了フラグ信号107として調停回路100に通知する。調停回路100は調停結果信号104を出力後、転送終了フラグ信号107の受信を待って次のバスアクセスの調停結果を出力する。経路選択回路200は切替選択信号204が示す値に基づき2つのバス転送信号103のいずれか一方を出力(もしくは通過)するように制御する。また、経路選択回路200は、経路選択情報の状態である経路ステータス情報206の入力を有する。経路選択回路200は経路ステータス情報206で、有効な経路選択情報が無い場合、2入力のバス転送信号103のいずれも出力しないように制御する。すなわち、経路選択回路200は、有効なバス経路選択情報が入力されていない状態下では、上流からのバス転送信号103の情報を下流に伝達しないよう制御される。
このようにバススイッチ回路105を構成することにより、調停回路100により決定したバス権を取得するバスマスタモジュール101順にスレーブモジュール102へのバス転送の経路を構成し、バス転送を実現することが可能となる。
[第2の実施形態]
図3は第2の実施形態を示すバスシステムの構成図である。図3に例示するバスシステムは8つのバスマスタモジュール101と1つのスレーブモジュール102で構成されるバスシステムである。バスマスタモジュール101はバス転送要求信号104とバス転送信号103を出力する。
調停回路300は各バスマスタモジュール101からのバス転送要求に応答し、予め設定された条件に従って、複数のバス転送要求を調停し、バスアクセス権を与える1つのバスマスタモジュールを決定する。また、調停回路300は各バスマスタモジュール101のバス転送要求信号104を集約する。
バス転送要求信号104は、バスマスタモジュール101が発行するバスアクセスの要求の有無を示す信号であり、バスアクセス要求の有無に加えて転送方向や当該バスアクセスの優先度情報を含んでいても構わない。
調停回路300は、各バスマスタモジュール101からのバス転送要求を受け、バス転送許可を与える1つのバスマスタモジュールを決定し、バス転送許可を与えるバスマスタ情報を調停結果信号106として出力する。調停結果信号106はバスを構成する全てのバススイッチ回路305に伝達される。
バスマスタモジュール101からスレーブモジュール102までの経路はバススイッチ回路305を介して接続され、各バスマスタモジュール101のバス転送信号103はバススイッチ回路305に入力される。
バス転送信号103は当該バスアクセスのアドレス情報やバス転送方向、バス転送識別情報などのコマンド情報を含む。また、スレーブモジュール102への書き込みの場合には、バス転送信号103は、その書き込みのデータを含むことになる。本実施形態では、コマンド情報と書き込みデータを含んだ構成を例示しているが、コマンド情報と書き込みデータがバス転送信号として分離した構成であっても構わない。
バススイッチ回路305は複数のバス転送信号103を入力し、一方を選択して出力バスに伝達するスイッチ回路である。本実施形態では2つのバス転送信号103の入力バスの構成を例示している。以下、バススイッチ回路305の構成を説明する。
図4は第2の実施形態における、バススイッチ回路305の構成図である。調停回路300から転送許可されるバスマスタモジュールの情報として通知され調停結果信号106は経路エンコード回路402に入力される。経路エンコード回路402は、当該バスマスタモジュールのバス転送が当該バススイッチ回路305を介して転送されるか否かを判定する。このため、経路エンコード回路402は、バス構成情報として当該バススイッチ回路305に入力される2つのバス転送信号103のそれぞれに対し、いずれのバスマスタモジュール101の転送が行われるかの判定するためのバスマスタ経路情報407を保持している。
当該バススイッチ回路305を介して転送される場合、経路エンコード回路402は、いずれのバス転送信号103より入力されるかの情報にエンコードし、経路情報FIFO401に経路選択情報403として通知する。当該バススイッチ回路305を介さないバス転送である場合は、経路エンコード回路402は、調停結果信号106に応答した処理は行わず、経路情報FIFO401への通知は行わない。
図5は、図3に対して個々のバスマスタモジュール101とバススイッチ回路305それぞれを識別可能にし、個々のスイッチ回路305の経路選択論理の経路を識別可能に示したものである。以下、図5を参照して、スイッチ回路305の動作を説明する。
バスマスタモジュールの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の通知を行わないよう動作する。
次にスレーブモジュール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に通知する。
経路選択情報FIFO401は経路選択回路400の選択情報をFIFO形式で保持するよう構成される。経路エンコード回路402により通知される経路選択情報403をFIFOに登録する。本例では、経路選択回路400は2入力の選択回路となっているため、経路選択情報403は1ビットの情報であり、経路選択情報FIFO401は1ビットのFIFOとして構成される。
経路選択情報FIFO401は経路エンコード回路402より経路選択情報403が通知されると、当該経路選択情報403をFIFOに登録する。さらに、下流に出力されるバス転送信号403でバス転送の最終を示すフラグ信号405入力を有し、最終転送フラグ信号405の発行によりFIFOより一番古く登録されたエントリを削除するよう動作する。最終転送フラグ信号405は、バスマスタモジュール101が発行したバス転送要求に関連付けられるバス転送の最終転送を示すフラグ信号である。フラグ信号の生成は任意であるが、第1の実施形態と同様、例えば図6の波形に示すようにバス転送信号103がVALID・READYの2線ハンドシェイクによる転送においてバス転送のペイロードの最終サイクルを示すフラグ信号として実現しても構わない。
経路選択情報FIFO401は、FIFOの先頭に保持されている経路選択情報を経路選択回路400の切替選択信号404として出力する。経路選択回路400は切替選択信号404が示す値に基づき2入力のバス転送信号103のいずれかを出力するように制御する。以上より経路選択情報FIFO401はスイッチの切替順情報を保持するよう動作する。
また、経路選択回路400は経路情報FIFO401に保持される経路選択情報の状態であるFIFOステータス情報406の入力を有する。経路選択回路400はFIFOステータス情報406で、FIFOに保持されている有効な経路選択情報のエントリが無い場合、2入力のバス転送信号103のいずれも出力しないように制御する。すなわち、経路情報FIFO401のエントリが空の場合は上流からのバス転送信号103の情報を下流に伝達しないよう制御される。
このようにバススイッチ回路305を構成することにより、調停回路300により決定したバス権を取得するバスマスタモジュール101順にスレーブモジュール102へのバス転送の経路を構成し、バス転送を実現することが可能となる。
次に、図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はバス転送が発行されていない状態“-”となっている。
本例では、調停回路300はバスマスタモジュール101からのバス転送要求に応答して、Master-1、Master-2、Master-3の順にバス権を与えるものとする。そして、Master-1は自身のバス転送が終了時あるいは終了前に次バス転送要求を発行し、Master-4に先立ってMaster-1に対してバス権を与えている。さらに、Master-3はCycle-8でバス転送要求を発行し、Cycle-9で調停回路(100)はMaster-3に対してバス権を与えるよう動作しているものとする。
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からのバス転送が入力前であるため、下流に有効なバス転送は発行されない。
Cycle-2で調停回路300よりMaster-2に対してバス権が付与されると、スイッチ-1の経路情報FIFO401には経路Aの情報、スイッチ-2の経路情報FIFO401には経路Aの情報が登録される。スイッチ-1では経路BよりMaster-1の最終転送が伝送される状態であり、経路選択回路400の経路は切り換わっていない状態である。一方、スイッチ-2は、経路Aよりスイッチ-1より転送されたMaster-1の第一転送を下流のスレーブモジュール102に転送する。
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の最終転送をスレーブに転送中となる。
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に転送する。
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に対して転送される。
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に転送されるよう動作する。
以上の実施形態で示されるように、複数のバススイッチ回路305を介してバスマスタモジュールからスレーブモジュールのパスを構成するバスシステムにて、簡易な選択論理で調停回路のバス権付与順にバス転送を発行可能である。特にスイッチの経路選択回路400の入力数を絞ることにより、少ないビット数のFIFOでバス全体の経路選択を構成することが可能となり、小コストで所望のバス転送優先順位が制御可能なバスシステムの構築が可能となる。
また、本実施形態では明示していないが、調停回路300は各バススイッチ回路305の経路情報FIFO401の状態を参照し、バス権付与を与えるタイミングを制御することも可能である。具体的には、経路情報FIFO401のFIFOエントリの空き具合を参照し、空きがない場合にはFIFOエントリの空きが生じるまでバス権付与を待たせることも可能である。
また、先に示した例は調停回路300からの調停結果であるバス権付与情報をバススイッチ回路305に伝達する構成を示している。本実施形態ではバススイッチ回路305は経路情報FIFO401のエントリが無い場合は経路選択回路400を介して下流にバス転送を発行しないよう制御する。したがって、バスマスタモジュール101はバス転送要求を発行後にバス転送信号103を介してバス転送を発行しても構わない構成となっている。対して、調停回路300は調停結果であるバス権付与情報をバスマスタモジュール101に伝達しても構わない。バス権付与情報をバスマスタモジュールに伝達する構成を採用することにより、バスマスタモジュール101からのバス転送信号103の発行をバス権付与情報受領後に制御することが可能となる。これにより、経路選択回路400は経路情報FIFO401のエントリが無い場合の制御が不要となる。
[実施形態の変形例]
第1、第2の実施形態は、バスマスタモジュールからバススレーブモジュールへの経路でアドレス情報とデータ情報を同一経路で伝達する構成を示しているが、アドレス情報とデータ情報を独立に転送する構成にも適用可能である。すなわち、アドレス情報バスとデータ情報バスが独立に構成される形式に適用可能である。本構成では、バスマスタモジュール101はバス転送要求信号104とともにバス転送方向情報を調停回路100(又は300)に通知する。調停回路100(又は300)は調停結果信号106とともに、当該転送のバス転送方向情報をバススイッチ回路105(又は305)に伝達される。バススイッチ回路はアドレス情報を伝達するバススイッチとデータ情報を伝達するバススイッチが独立して構成される。データ情報を伝達するバススイッチは、調停結果信号106とともに伝達されるバス転送方向情報を参照し、書き込み転送である場合のみバススイッチの経路情報に変換することにより実現される。
第1、第2の実施形態では調停回路100(又は300)が発行する調停結果信号106を、バスシステムを構成するすべてのバススイッチ回路105(又は305)に一斉に通知される構成例を示している。一方で、調停結果信号106は一部のバススイッチ回路105(又は305)にのみ通知される構成であっても構わない。例えば図5の構成を例にとると、Master-0から3に対するバスアクセス権の調停結果信号106の通知はスイッチ-0から3に対してのみ通知しても構わない。
第1、第2の実施形態では、バススイッチ回路105(又は、305)は入力バスが2つとする、スイッチ回路構成を例示しているが、入力バスは3つ以上の構成であっても構わない。その場合、バススイッチに対する切替選択信号204(又は、404)は2ビット以上の信号で表されることになる。
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

Claims (5)

  1. 複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、
    前記複数のバスマスタに接続され、前記複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行した前記複数のバスマスタの内の1つに対するバス権を付与することを示す調停結果信号を出力する単一の調停回路と、
    複数のバススイッチとを有し、
    前記複数のバススイッチそれぞれは、
    複数のバス転送信号を受信するための複数の入力端子、および、前記複数の入力端子のうちの1つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、
    前記調停回路が出力する前記調停結果信号を受信し、当該調停結果信号に基づいて前記選択回路に対して前記複数の入力端子のいずれか1つを選択するよう制御する制御回路とを有し、
    前記複数のバススイッチの少なくともいずれか1つが有する前記複数の入力端子に、上流のバススイッチの出力端子および前記複数のバスマスタの少なくともいずれか1つが接続され、
    最下流に位置するバススイッチが有する前記選択回路の出力端子に前記スレーブモジュールが接続される
    ことを特徴とするバス制御回路。
  2. 前記制御回路は、前記調停結果信号をバススイッチの経路情報に変換し、切替選択信号として保持するメモリを有することを特徴とする請求項1に記載のバス制御回路。
  3. 前記制御回路が有する前記メモリは、前記単一の調停回路が前記調停結果信号を出力したサイクルにおいて前記切替選択信号をFIFO形式で保持し、前記制御回路は、前記切替選択信号を保持された順に用いて、前記選択回路に対して前記複数の入力端子のいずれか1つを選択し、前記調停結果信号に対応するバス転送要求信号の最終転送がなされたサイクルで、前記調停結果信号に対応する前記切替選択信号を削除するよう制御することを特徴とする請求項2に記載のバス制御回路。
  4. 前記バススイッチは、アドレス情報バスを伝達するスイッチと、データ情報バスを伝達するスイッチを有することを特徴とする請求項1乃至3のいずれか1項に記載のバス制御回路。
  5. 前記調停回路は、前記複数のバスマスタから、前記バス転送要求信号とともにバス転送方向を示す情報を更に受信し、バス権を与えるとして決定したバスマスタからのバス転送方向を示す情報を前記調停結果信号とともに出力し、
    前記制御回路は、前記バス転送方向を示す情報を参照し、前記調停結果信号を、バススイッチの経路情報に変換し、切替選択信号として保持するメモリを有することを特徴とする請求項1乃至4のいずれか1項に記載のバス制御回路。
JP2018174191A 2018-09-18 2018-09-18 バス制御回路 Active JP7401050B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018174191A JP7401050B2 (ja) 2018-09-18 2018-09-18 バス制御回路
EP19193097.3A EP3627331B1 (en) 2018-09-18 2019-08-22 Bus control circuit
US16/561,328 US10872051B2 (en) 2018-09-18 2019-09-05 Bus control circuit
KR1020190111857A KR102549085B1 (ko) 2018-09-18 2019-09-10 버스 제어회로
CN201910880361.2A CN110908936B (zh) 2018-09-18 2019-09-18 总线控制电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018174191A JP7401050B2 (ja) 2018-09-18 2018-09-18 バス制御回路

Publications (3)

Publication Number Publication Date
JP2020046876A JP2020046876A (ja) 2020-03-26
JP2020046876A5 JP2020046876A5 (ja) 2021-10-21
JP7401050B2 true JP7401050B2 (ja) 2023-12-19

Family

ID=67734547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018174191A Active JP7401050B2 (ja) 2018-09-18 2018-09-18 バス制御回路

Country Status (5)

Country Link
US (1) US10872051B2 (ja)
EP (1) EP3627331B1 (ja)
JP (1) JP7401050B2 (ja)
KR (1) KR102549085B1 (ja)
CN (1) CN110908936B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752875A (zh) * 2020-06-22 2020-10-09 深圳鲲云信息科技有限公司 一种模块间通信方法及系统
CN113158260B (zh) * 2021-03-30 2023-03-31 西南电子技术研究所(中国电子科技集团公司第十研究所) SoC芯片内部数据分级防护电路
CN113507283B (zh) * 2021-07-02 2024-10-15 北京青鸟环宇消防系统软件服务有限公司 无极性总线隔离开关

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005062946A (ja) 2003-08-12 2005-03-10 Fuji Xerox Co Ltd メモリ制御装置
JP2008117068A (ja) 2006-11-01 2008-05-22 Denso Corp 情報処理システム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
US6323755B1 (en) * 1998-08-19 2001-11-27 International Business Machines Corporation Dynamic bus locking in a cross bar switch
US6842104B1 (en) * 1999-03-19 2005-01-11 Matsushita Electric Industrial Co., Ltd. System lsi and a cross-bus switch apparatus achieved in a plurality of circuits in which two or more pairs of a source apparatus and a destination apparatus are connected simultaneously and buses are wired without concentration
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering
KR100618817B1 (ko) * 2003-12-17 2006-08-31 삼성전자주식회사 소비 전력을 절감시키는 amba 버스 구조 시스템 및 그방법
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth
US7302510B2 (en) * 2005-09-29 2007-11-27 International Business Machines Corporation Fair hierarchical arbiter
US20080059674A1 (en) * 2006-09-01 2008-03-06 Jiaxiang Shi Apparatus and method for chained arbitration of a plurality of inputs
US20080082707A1 (en) * 2006-09-29 2008-04-03 Synfora, Inc. Non-blocking bus controller for a pipelined, variable latency, hierarchical bus with point-to-point first-in first-out ordering
US7734856B2 (en) * 2007-08-22 2010-06-08 Lantiq Deutschland Gmbh Method for operating a plurality of arbiters and arbiter system
WO2010113291A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 データ転送回路及びデータ転送方法
JP2010282405A (ja) 2009-06-04 2010-12-16 Renesas Electronics Corp データ処理システム
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
JP5776306B2 (ja) * 2011-04-25 2015-09-09 富士ゼロックス株式会社 画像データ処理装置及びプログラム
US9117022B1 (en) * 2011-10-07 2015-08-25 Altera Corporation Hierarchical arbitration
US8874680B1 (en) * 2011-11-03 2014-10-28 Netapp, Inc. Interconnect delivery process
US9176911B2 (en) * 2012-12-11 2015-11-03 Intel Corporation Explicit flow control for implicit memory registration
CN106301337B (zh) * 2015-05-13 2019-12-06 恩智浦有限公司 双向通信的方法和系统
GB2557225A (en) * 2016-11-30 2018-06-20 Nordic Semiconductor Asa Interconnect system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005062946A (ja) 2003-08-12 2005-03-10 Fuji Xerox Co Ltd メモリ制御装置
JP2008117068A (ja) 2006-11-01 2008-05-22 Denso Corp 情報処理システム

Also Published As

Publication number Publication date
CN110908936B (zh) 2023-09-05
EP3627331A1 (en) 2020-03-25
EP3627331B1 (en) 2024-01-03
US10872051B2 (en) 2020-12-22
KR20200032642A (ko) 2020-03-26
KR102549085B1 (ko) 2023-06-29
CN110908936A (zh) 2020-03-24
JP2020046876A (ja) 2020-03-26
US20200089635A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
EP1239374B1 (en) Shared program memory for use in multicore DSP devices
EP1775897B1 (en) Interleaving in a NoC (Network on Chip) employing the AXI protocol
US6314487B1 (en) Adaptive routing controller of a crossbar core module used in a crossbar routing switch
JP7401050B2 (ja) バス制御回路
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
KR101699784B1 (ko) 버스 시스템 및 그것의 동작 방법
US20050188144A1 (en) Protocol conversion and arbitration circuit, system having the same, and method for converting and arbitrating signals
US8583845B2 (en) Multi-processor system and controlling method thereof
JPH0981508A (ja) 通信方法及び装置
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
US9003092B2 (en) System on chip bus system and a method of operating the bus system
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
US8352695B2 (en) Selectable access rates in a memory and memory communication system
US6801978B2 (en) Crossbar system with increased throughput
US7032061B2 (en) Multimaster bus system
US20030093594A1 (en) Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller
US10032119B1 (en) Ordering system that employs chained ticket release bitmap block functions
US6499080B1 (en) Post write buffer for a dual clock system
KR100737904B1 (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
US7519848B2 (en) Data transfer apparatus
KR20000033265A (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JPH09128327A (ja) バス調停回路
JPH10289191A (ja) データ転送装置およびデータ転送システム
JPH09231188A (ja) マルチクラスタ情報処理システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230303

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20230303

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230313

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20230317

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231124

R151 Written notification of patent or utility model registration

Ref document number: 7401050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151