JP5880169B2 - バス回路 - Google Patents
バス回路 Download PDFInfo
- Publication number
- JP5880169B2 JP5880169B2 JP2012057600A JP2012057600A JP5880169B2 JP 5880169 B2 JP5880169 B2 JP 5880169B2 JP 2012057600 A JP2012057600 A JP 2012057600A JP 2012057600 A JP2012057600 A JP 2012057600A JP 5880169 B2 JP5880169 B2 JP 5880169B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- transfer
- slave
- master
- bus
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Description
図1は、複数のマスタのそれぞれが、複数のスレーブのそれぞれにアクセスするマスタ・スレーブ・システムの全体構成を示す図である。このようなシステムは、例えば、システムLSI内に設けられる。
図2は、アウトスタンディングおよびアウトオブオーダーを実現したシステムのバス回路の構成を示す図である。図2では、記載を簡単にするために、2つのマスタ(A)11Aおよびマスタ(B)11Bと2つのスレーブ(a)11aおよびスレーブ(b)11bが接続される場合を示す。
図3の(A)に示すスイッチ50は、マスタA用バスI/F30A、マスタB用バスI/F30B、スレーブa用バスI/F40aおよびスレーブb用バスI/F40b間のデータ転送における接続を切り替える。このようなスイッチ50を、図3の(B)に示すように表す。具体的には、マスタA用バスI/F30Aと接続されるポートをポートAで、マスタB用バスI/F30Bと接続されるポートをポートBで、表す。また、スレーブa用バスI/F40aと接続されるポートをポートaで、スレーブb用バスI/F40bと接続されるポートをポートbで、表す。
図4に示すように、第1実施形態のマスタ・スレーブ・システムは、2個のマスタ10Aおよび10Bと、3個のスレーブ11a〜11cと、バス回路20と、を有する。
コンフィグレジスタ71は、転送処理の時間に関係する目標転送時間T_target、理想転送時間T_ideal、実測転送時間T_actual、余裕度マージン時間T_slackmargin、遅れ待ち時間T_wait、および転送エラー情報Err_infoの項目が設定されている。設定項目は、システム全体またはバス回路20を制御するCPUなどの制御部から変更可能である。
目標転送時間T_targetは、1パケットがマスタとスレーブ間を転送される時の目標の転送時間であり、以下の値が設定される。
マスタ−スレーブ間(以下、M2S)目標転送時間T_target_m2s:マスタからスレーブへのアクセス要求の転送に要する目標時間である。
スレーブ目標応答時間T_target_slvresp:スレーブがアクセス要求を受け取ってから応答を返すまでに要する目標時間である。
スレーブ−マスタ間(以下、S2M)目標転送時間T_target_s2m:スレーブからマスタへのアクセス応答の転送に要する目標時間である。
理想転送時間T_idealは、1パケットがマスタとスレーブ間を転送される時、バス経路中でバス競合等による遅延が発生しない理想の転送時間であり、以下の値が設定される。
M2S理想転送時間T_ideal_m2s
スレーブ理想応答時間T_ideal_slvresp
S2M理想転送時間T_ideal_s2m
実測転送時間T_actualは、過去の転送における1パケットがマスタとスレーブ間を転送した時の実測の転送時間として以下の値を設定する。なお、初期値は、理想転送時間T_idealを設定する。
M2S実測転送時間T_m2s
スレーブ実測応答時間T_slvresp
S2M実測転送時間T_s2m
余裕度マージン時間T_slackmarginは、経路が複数ある場合、各経路に与えるマージン値を設定する。
遅れ待ち時間T_waitは、1パケットがスイッチ50とスレーブ用バスI/Fにおいて目標時間に遅れが生じた時、スイッチ50とスレーブ用バスI/Fが許容可能な転送遅れの待ち時間として以下の値を設定する。
M2S Switch遅れ待ち時間T_wait_m2s
スレーブ遅れ待ち時間T_wait_slv
S2M Switch遅れ待ち時間T_wait_s2m
転送エラー情報Err_infoは、1パケットが転送される時、1パケットの転送が、転送成功、又はスイッチ転送遅れ待ちエラー発生、またはスレーブ応答待ちエラー発生、転送エラー発生であったかを設定する。
ここで、T_currentは、 計算時点でタイマ72が示している時間である。
現在時間T_current−パケット受信時間T_start−M2S実測転送時間T_m2s
S2M実測転送時間T_s2m=現在時間T_current−パケット受信時間T_start
−M2S実測転送時間T_m2s−スレーブ実測応答時間T_slvresp
そして、コンフィグレジスタ71は、M2S実測転送時間T_m2s、スレーブ実測応答時間T_slvresp、S2M実測転送時間T_s2mを、コンフィグレジスタ71の実測転送時間T_actualの値に更新する。さらに、コンフィグレジスタ71は、転送エラー情報Err_infoの値を、マスタ用バスI/F30Aが転送応答パケットを受信したときの情報に更新する。
スイッチ50は、前段のマスタ用AバスI/F30Aおよびマスタ用AバスI/F30Bから転送パケットを受け取ると、いずれのスレーブへの転送パケットであるかに応じて、対応する入力側バッファに記憶する。例えば、マスタ10Aからスレーブaへのパケットであれば、入力側バッファ52Aaに、マスタ10Aからスレーブbへのパケットであれば、入力側バッファ52Abに、それぞれ記憶される。また、マスタ10Bからスレーブaへのパケットであれば、入力側バッファ52Baに、マスタ10Bからスレーブcへのパケットであれば、入力側バッファ52Bcに、それぞれ記憶される。マスタA用バスI/F30AのバスとマスタB用バスI/F30Bのバスは独立しているので、同じスレーブへの転送の場合でも、待ち時間は発生しない。したがって、マスタ10AおよびマスタBは、スレーブの状態にかかわらず、バス回路20にアクセス要求を出力するだけでよい。
余裕時間T_slack=目標転送時間T_target_m2s−消費時間T_consume
総余裕時間T_slack_total=余裕時間T_slack+スイッチでの待ち時間T_wait_m2s
以上の動作は、他のスレーブbおよびcへの転送パケットについても同様である。
−M2S実測転送時間T_m2s−スレーブ実測応答時間T_slvresp
余裕時間T_slack=目標転送時間T_target_s2m−消費時間T_consume
総余裕時間T_slack_total=余裕時間T_slack+Switch待ち時間T_wait_s2m
以上のようにして、目標時間内での転送を完了させるための余裕時間が少ないパケットを優先して転送することになり、転送パケットごとに目標時間内での転送を完了する。
例えば、T_current=22において、スイッチ50が、バスI/F30AからバスI/F40aに向かう転送要求パケットRP0と、バスI/F30BからバスI/F40aに向かう転送要求パケットRP1を、同時に受信した場合を考える。RP0はT_start0=18、T_target0_m2s=6であるためT_slack=2となり、RP1はT_start1=19、T_target1_m2s=4であるためT_slack=1となる。したがって、T_slackが小さいのはRP1であるため、RP0よりもRP1の優先度が高くなるように出力され、バスI/F40aのバッファには、RP1がRP0よりも先に記憶される。バスI/F40aは、RP1がRP0よりも先にスレーブ11aに出力されることになる。
スイッチ84は、第2実施形態のスイッチ50に、複数経路判定部64を付加した構成を有する。複数経路判定部64は、転送先選択部61の情報および転送時間計算部62の情報に基づいて分岐器65および65の分岐先を制御する。具体的には、スレーブ11aへの転送パケットであれば、分岐器65および65が、セレクタ67に接続される出力を選択するように制御する。スレーブ11bへの転送パケットの場合、余裕時間がある転送パケット(緊急性の低いアクセス要求)については、分岐器65および65が、セレクタ67に接続される出力を選択するように制御する。スレーブ11bへの転送パケットで余裕時間がない転送パケット(緊急性の高いアクセス要求)は、分岐器65および65が、セレクタ68に接続される出力を選択するように制御する。
11a,11b,11c スレーブ
20 バス回路
30A,30B,30C マスタ用バスI/F
40a,40b,40c スレーブ用バスI/F
50、81,82、83,84、85 スイッチ
52Aa,52Ba,52Ab 入力側バッファ
53a,53b,53c セレクタ
54a,54b,54c 優先度スイッチ制御部
61 転送先選択部
62 転送時間計算部
63 優先度制御部
64 複数経路判定部
71 コンフィグレジスタ
72 タイマ
Claims (7)
- 複数のマスタのそれぞれが、複数のスレーブのそれぞれに接続して、アウトスタンディングおよびアウトオブオーダーでアクセスするバス回路であって、
前記複数のマスタにそれぞれ接続される複数のマスタ用インターフェースと、
前記複数のスレーブにそれぞれ接続される複数のスレーブ用インターフェースと、
前記複数のマスタ用インターフェースと前記複数のスレーブ用インターフェース間の接続を切り替えるスイッチと、
データ転送において要求される時間に関係する設定項目を記憶するコンフィグレジスタと、
前記データ転送における時間経過を計測するタイマと、を備え、
前記スイッチは、前記タイマの計測した時間経過に基づいて前記複数のマスタ用インターフェースと前記複数のスレーブ用インターフェース間の接続を切り替えて、前記コンフィグレジスタに記憶された前記設定項目を満たすことを特徴とするバス回路。 - 前記コンフィグレジスタは、目標転送時間、理想転送時間、設定実測転送時間、余裕度マージン、および遅れ待ち時間を設定項目として記憶しており、前記設定項目は、変更可能である請求項1記載のバス回路。
- 各マスタ用インターフェースは、
転送要求パケットを受信すると、パケット受信時間として前記タイマが指している現在時間、前記コンフィグレジスタが記憶している前記目標転送時間を、転送要求パケットに付加し、ライト・アクセス時はデータパケットに前記パケット受信時間および前記転送目標時間を付加し、
転送要求応答を受け取ると、応答パケットに付加されている前記パケット受信時間、前記マスタ用インターフェースから前記スレーブ用インターフェースまでの第1実測転送時間、前記スレーブの実測応答時間、前記スレーブ用インターフェースから前記マスタ用インターフェースまでの第2実測転送時間を自動計算し、前記コンフィグレジスタが記憶している前記設定実測転送時間の値を計算結果に基づいて更新し、前記応答パケットを前記マスタへ転送する請求項2記載のバス回路。 - 前記スレーブ用インターフェースは、
転送要求パケットまたは書込みデータパケットに付加される前記目標転送時間、前記マスタ用インターフェースでの前記パケット受信時間、および前記第1実測転送時間を計算して保持し、前記転送要求パケットを前記スレーブに送り、
前記スレーブから転送応答パケットを受け取ると、保持している前記転送要求パケットに付加されていた前記目標転送時間、前記マスタ用インターフェースでの前記パケット受信時間、計算した前記第1実測転送時間、および前記スレーブの実測応答時間を、前記転送応答パケットに付加し、マスタ側に転送する請求項3記載のバス回路。 - 前記スレーブ用インターフェースは、
前記転送要求パケットに付加されていた前記目標転送時間に含まれるスレーブ目標応答時間と、前記コンフィグレジスタに記憶された設定されたスレーブ応答待ち時間が経過しても前記スレーブから応答が無い場合、スレーブ応答待ちエラーをマスタ側に返す請求項4記載のバス回路。 - 前記スイッチは、
マスタまたはスレーブから前記スイッチまでパケットが到達する時間と、前記目標時間に対する余裕時間を計算し、前記余裕時間の小さい転送要求パケットを優先して後段のブロックへ転送し、
前記余裕時間の計算結果から、前記目標転送時間内の転送完了ができず、さらに前記遅れ待ち時間以上を経過していると判定した場合には、転送遅れ待ちエラーをマスタへ返して転送動作を打ち切る請求項1から5のいずれか1項記載のバス回路。 - 前記スイッチは、
転送経路が複数ある場合、前記余裕時間、前記理想転送時間および前記余裕度マージン時間から、各設定値が許容する時間以内に転送を完了できる経路のうちで最も時間を要する経路を自動選択し、前記最も時間を要する経路へパケットを送る請求項2から6のいずれか1項記載のバス回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057600A JP5880169B2 (ja) | 2012-03-14 | 2012-03-14 | バス回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057600A JP5880169B2 (ja) | 2012-03-14 | 2012-03-14 | バス回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013191067A JP2013191067A (ja) | 2013-09-26 |
JP5880169B2 true JP5880169B2 (ja) | 2016-03-08 |
Family
ID=49391223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012057600A Active JP5880169B2 (ja) | 2012-03-14 | 2012-03-14 | バス回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5880169B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021052353A (ja) * | 2019-09-26 | 2021-04-01 | 日本電気株式会社 | 送信側中継装置、システム、方法、及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4610961B2 (ja) * | 2004-07-28 | 2011-01-12 | ルネサスエレクトロニクス株式会社 | アクセス制御装置 |
-
2012
- 2012-03-14 JP JP2012057600A patent/JP5880169B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013191067A (ja) | 2013-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819616B2 (en) | Asymmetric mesh NoC topologies | |
US9529400B1 (en) | Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements | |
US9568970B1 (en) | Hardware and software enabled implementation of power profile management instructions in system on chip | |
US20170063625A1 (en) | Configurable router for a network on chip (noc) | |
US20180181173A1 (en) | Automatic generation of power management sequence in a soc or noc | |
US8848703B2 (en) | On-chip router and multi-core system using the same | |
US20140092740A1 (en) | Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices | |
US6836813B1 (en) | Switching I/O node for connection in a multiprocessor computer system | |
JP6481427B2 (ja) | 演算処理装置,情報処理装置,及び情報処理装置の制御方法 | |
JP2010218364A (ja) | 情報処理システム、通信制御装置および方法 | |
US20100316061A1 (en) | Configuring a Three-Stage Clos-Network Packet Switch | |
US10983910B2 (en) | Bandwidth weighting mechanism based network-on-chip (NoC) configuration | |
US9860841B2 (en) | Communications fabric with split paths for control and data packets | |
CN102035723A (zh) | 一种片上网络路由及实现方法 | |
US10547514B2 (en) | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation | |
US9185026B2 (en) | Tagging and synchronization for fairness in NOC interconnects | |
US10896476B2 (en) | Repository of integration description of hardware intellectual property for NoC construction and SoC integration | |
US20140359195A1 (en) | Crossbar switch, information processing apparatus, and information processing apparatus control method | |
CN116325706A (zh) | 网络信用返回机制 | |
US9729350B1 (en) | Maintaining packet order in network flows over an autonomous network | |
JP5880169B2 (ja) | バス回路 | |
CN115580572B (zh) | 路由方法、路由节点、路由装置和计算机可读存储介质 | |
JP4687925B2 (ja) | 優先調停システム及び優先調停方法 | |
US20180198682A1 (en) | Strategies for NoC Construction Using Machine Learning | |
CN117716676A (zh) | 用于芯片上及封包上的网络中的多维拓扑的路由器架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141202 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160118 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5880169 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |