JP2007199859A - Data transfer system - Google Patents
Data transfer system Download PDFInfo
- Publication number
- JP2007199859A JP2007199859A JP2006015508A JP2006015508A JP2007199859A JP 2007199859 A JP2007199859 A JP 2007199859A JP 2006015508 A JP2006015508 A JP 2006015508A JP 2006015508 A JP2006015508 A JP 2006015508A JP 2007199859 A JP2007199859 A JP 2007199859A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- bus
- crossbar switch
- address
- transfer
- 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.)
- Withdrawn
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 168
- 230000004044 response Effects 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000007423 decrease Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 16
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101150064138 MAP1 gene Proteins 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】本発明は、回路規模の増大及び動作周波数の低下を極力抑えながら、サブシステム間のデータ転送性能を向上させることができるデータ転送システムを提供することを目的とする。
【解決手段】データ転送システムは、複数のマスタに接続される第1のクロスバスイッチと、複数のスレーブに接続される第2のクロスバスイッチと、第1のクロスバスイッチと第2のクロスバスイッチとの間を結合する第1のデータ転送経路と、第1のデータ転送経路と並列に設けられ第1のクロスバスイッチと第2のクロスバスイッチとの間を結合する第2のデータ転送経路を含み、第1のクロスバスイッチは、複数のスレーブの少なくとも1つに対して、アクセス経路として第1及び第2のデータ転送経路のうちの1つを要求に応じて動的に選択可能なように構成されることを特徴とする。
【選択図】図6
An object of the present invention is to provide a data transfer system capable of improving data transfer performance between subsystems while suppressing an increase in circuit scale and a decrease in operating frequency as much as possible.
A data transfer system includes: a first crossbar switch connected to a plurality of masters; a second crossbar switch connected to a plurality of slaves; and a first crossbar switch and a second crossbar switch. A first data transfer path that couples the first data transfer path and a second data transfer path that is provided in parallel with the first data transfer path and that couples between the first crossbar switch and the second crossbar switch, One crossbar switch is configured so that at least one of the plurality of slaves can dynamically select one of the first and second data transfer paths as an access path according to a request. It is characterized by that.
[Selection] Figure 6
Description
本発明は、一般にデータ転送システムに関し、詳しくはクロスバスイッチを用いたデータ転送システムに関する。 The present invention generally relates to a data transfer system, and more particularly to a data transfer system using a crossbar switch.
システムLSIは、CPUやメモリモジュール等の異なる機能を持った回路モジュールを複数組み合わせて単一のチップに搭載することで構成される。システムLSIにおいて、各回路モジュール間はシステムバスにより接続される。 The system LSI is configured by combining a plurality of circuit modules having different functions such as a CPU and a memory module and mounting them on a single chip. In the system LSI, circuit modules are connected by a system bus.
図1は、システムバスによる回路モジュール接続の典型的な構成例を示す図である。図1において、CPU、DMA(Dynamic Memory Access)コントローラ、DSP(Digital Signal Processor)等であるシステムのマスタとなるマスタモジュール101〜103と、各種メモリインタフェースやUSB(Universal Serial Bus)等の機能を実現するスレーブとなるスレーブモジュール104〜106とが設けられる。マスタモジュール101〜103とスレーブモジュール104〜106との間は、システムバス111により接続される。システムバス111では、同時に1つのデータの転送のみが実行可能である。
FIG. 1 is a diagram showing a typical configuration example of circuit module connection by a system bus. In FIG. 1, the
図1のようなシステムバス構成では、システムLSIのデータ転送性能を高めようとした場合、システムバス111部分がシステム性能の向上の妨げとなる可能性がある。例えば、マスタモジュール101がスレーブモジュール106にアクセスしようとし、同時にマスタモジュール102がスレーブモジュール104にアクセスしようとした場合には、システムバス111上では同時に1つのデータの転送しかできないため、一方の転送が終わるまで他方の転送が止められてしまい、転送性能が低下してしまう。これを「バス権の競合」と呼ぶ。システム全体のデータ転送性能を高めるためには、バス権の競合が少ないようなシステム構成とすることが必要となる。
In the system bus configuration as shown in FIG. 1, when the data transfer performance of the system LSI is to be improved, the
上記のようなバス権の競合を回避するシステムバス構成として、クロスバスイッチ回路がある。図2は、クロスバスイッチによる回路モジュール接続の典型的な構成例を示す図である。図2において、マスタモジュール201〜203とスレーブモジュール204〜206との間は、クロスバスイッチ251により接続される。クロスバスイッチ251はインターフェース211乃至216を含む。インターフェース211乃至213がマスタモジュール201乃至203に接続され、インターフェース214乃至216がマスタモジュール204乃至206に接続される。これらのインターフェース211乃至216によりシステムバス接続を切り換え可能に構成することで、例えばマスタモジュール201からスレーブモジュール205へのデータ転送とマスタモジュール202からスレーブモジュール204へのデータ転送とを、同時に実行することが可能となる。
There is a crossbar switch circuit as a system bus configuration for avoiding the above-mentioned bus contention. FIG. 2 is a diagram illustrating a typical configuration example of circuit module connection by a crossbar switch. In FIG. 2, the
図3は、AMBA(Advanced Microcontroller Bus Architecture)規格のAHB(Advanced High-performance Bus)プロトコルを想定したバスブリッジ回路の一般的な構成例を示す図である。図3において、クロスバスイッチ251は、アドレス信号線、データ信号線、及び制御信号線からなるバス221〜226を介して、3つのマスタモジュール201〜203及び3つのスレーブモジュール204〜206に接続されている。また同様にアドレス信号線、データ信号線、及び制御信号線からなるバス263により、インターフェース211乃至216間が接続されている。なおバス221〜226,263においては、実線がマスタ方向からスレーブ方向へ流れる信号(例えばアドレス信号、書き込みデータ信号、制御信号等)を表し、破線がスレーブ方向からマスタ方向へ流れるバス信号(例えば読み出しデータ信号、応答信号等)を表している。
FIG. 3 is a diagram showing a general configuration example of a bus bridge circuit assuming an AHB (Advanced High-performance Bus) protocol of the AMBA (Advanced Microcontroller Bus Architecture) standard. In FIG. 3, the
インターフェース211〜213は、マスタモジュールからのバス信号を制御するI/F制御回路284〜286と、バス上のアドレス信号をデコードするアドレスデコーダ281〜283と、読み出しデータ信号や応答信号等を選択する選択回路287〜289を含む。I/F制御モジュール284〜286は、マスタモジュールからバス263に送信される制御信号を監視する。バスに新規転送を流すことができない状況においてバス転送を要求する制御信号を検出すると、I/F制御モジュール284〜286は、バスに対する新規転送発行を抑止するような応答信号(バス221〜223の破線)をマスタモジュールに返す。またI/F制御モジュール284〜286は更に、現在のバスの値を一時的に保持する機能を有する。
The
アドレスデコーダ281〜283は、バス上のアドレスデータをアドレスマップに従ってデコードする。アドレスデコーダ281〜283は、このデコード結果に従って、アドレスデータが指示するアクセス先のインターフェース214〜216に転送要求信号261を送出する。選択回路287〜289は、アドレスデコーダ281〜283のデコード結果に従って、アドレスデータが指示するアクセス先からのデータ信号、応答信号等を選択する。
一方、インターフェース214〜216は、調停回路291〜293と選択回路294〜296とを含む。調停回路291〜293は、インターフェース211〜213からの転送要求信号261を受信して転送許可/不許可を示す転送可否応答信号262をインターフェース211〜213に返すとともに、調停結果を示す信号を選択回路294〜296に供給する。選択回路294〜296は、調停回路291〜293による調停結果に応じてバス信号を選択する。
On the other hand, the
上述したクロスバスイッチによる回路構成を用いる場合、バス件の競合が発生しないので、システム全体としてデータ転送性能が向上する。即ち、例えばマスタモジュール201がスレーブモジュール206にアクセスしようとし、同時にマスタモジュール202がスレーブモジュール204にアクセスしようとした場合においても、並列に複数のバスが設けられているためにデータ転送経路が重ならず、バス権の競合が発生しない。
When the circuit configuration using the crossbar switch described above is used, bus contention does not occur, so that the data transfer performance is improved as a whole system. That is, for example, even when the
近年、LSIの規模が大きくなり、クロスバスイッチに接続されるモジュール数が増加するとともに、システムの動作周波数を高く保つことが要求されている。このような回路においては、図3に示すようなクロスバスイッチの回路構成は必ずしも効果的ではなく、モジュール数の増加が要因となり、システム全体のデータ性能向上が低下してしまう場合がある。 In recent years, the scale of LSIs has increased, and the number of modules connected to the crossbar switch has increased, and it has been required to keep the system operating frequency high. In such a circuit, the circuit configuration of the crossbar switch as shown in FIG. 3 is not always effective, and an increase in the number of modules may cause a reduction in data performance of the entire system.
例えば、複数のマスタモジュール間でバス権の競合を全く発生させないように構成するためには、クロスバスイッチ内部において、マスタモジュール数と同数の並列なバスを設ける必要がある。一組のバスはデータ線、アドレス線、制御線等の多数の配線から構成されるので、多数のバスを含むクロスバスイッチ回路は、LSI実装時に必要な配線数が非常に多くなる。従ってモジュール数が増加すると、LSI内部の配線配置制約が厳しくなり、その結果、LSI回路面積の増大や動作周波数の低下を招き、システム全体としてのデータ転送性能が低下してしまう。 For example, in order to prevent any bus contention from occurring among a plurality of master modules, it is necessary to provide the same number of parallel buses as the number of master modules in the crossbar switch. Since a set of buses is composed of a large number of wires such as data lines, address lines, and control lines, a crossbar switch circuit including a large number of buses requires a large number of wires when LSI is mounted. Therefore, when the number of modules increases, the wiring arrangement restriction inside the LSI becomes severe, and as a result, the LSI circuit area increases and the operating frequency decreases, and the data transfer performance of the entire system decreases.
回路面積の増大を防ぎながらバス権の競合が発生しにくい状況を実現する構成として、バスブリッジを利用した構成がある。図4は、バスブリッジを利用したクロスバスイッチによる回路モジュール接続の典型的な構成例を示す図である。 There is a configuration using a bus bridge as a configuration that realizes a situation in which bus right contention hardly occurs while preventing an increase in circuit area. FIG. 4 is a diagram showing a typical configuration example of circuit module connection by a crossbar switch using a bus bridge.
図4のシステムは、システム全体が2つのサブシステムに分割され、マスタモジュール301〜303及びスレーブモジュール305から構成される第1のサブシステムと、マスタモジュール304及びスレーブモジュール306〜308から構成される第2のサブシステムとが設けられる。第1のサブシステムのクロスバスイッチ351と第2のサブシステムのクロスバスイッチ352とが、1本のバスブリッジ331によって結合されている。311乃至315と321乃至325はインターフェースである。この構成は、例えば特許文献1に開示される。
The system shown in FIG. 4 is divided into two sub-systems, and includes a first sub-system composed of
図4に示す構成には、回路の面積増加を抑えながら、転送性能を高く保つことができるという利点がある。例えば、各サブシステム内のデータ転送についてはバス権の競合が発生しないだけでなく、バスブリッジ331を介したデータ転送も同時に実行可能である。このようにバス競合をある低度避けることにより転送性能を高く保ちながらも、複数のマスタモジュールと複数のスレーブモジュールとの間の全ての組み合わせに対してバス配線を設けることなく、回路の面積増加を抑えることができる。
The configuration shown in FIG. 4 has an advantage that transfer performance can be kept high while suppressing an increase in circuit area. For example, for data transfer within each subsystem, not only does bus contention not occur, but data transfer via the
しかしながら、2つのクロスバスイッチ351及び352を結ぶバスブリッジ331の部分が、システム全体のデータ転送性能を律してしまうので、クロスバスイッチに接続されるモジュール数が増えた場合に問題となる可能性がある。例えば画像処理、音声処理、通信処理等のデータ転送に代表されるような、一定以上のデータ転送性能を保つ必要がある転送がバスブリッジ331を介して行われる場合、バスブリッジが一重であることにより、他の転送との間でバス権の競合が生じてしまうと、データ転送性能を満たすことができなくなってしまう可能性がある。
However, the portion of the
図5は、図4の構成において例えばマスタ301から見た場合のアドレスマップの構成を示す図である。図5に示すように、スレーブ306〜308については、バスブリッジ331を介してのみアクセス可能である。即ち、スレーブ306〜308のアドレス範囲0xFFFF5001〜0xFFFF8000は、バスブリッジ331に割当てられている。従って、例えばマスタ301からスレーブ306にアクセスしようとし、マスタ302からスレーブ307にアクセスしようとした場合には、バスブリッジ331に対するバス競合が発生することになる。
以上を鑑みて本発明は、回路規模の増大及び動作周波数の低下を極力抑えながら、サブシステム間のデータ転送性能を向上させることができるデータ転送システムを提供することを目的とする。 In view of the above, an object of the present invention is to provide a data transfer system capable of improving data transfer performance between subsystems while suppressing an increase in circuit scale and a decrease in operating frequency as much as possible.
データ転送システムは、複数のマスタに接続される第1のクロスバスイッチと、複数のスレーブに接続される第2のクロスバスイッチと、該第1のクロスバスイッチと該第2のクロスバスイッチとの間を結合する第1のデータ転送経路と、該第1のデータ転送経路と並列に設けられ該第1のクロスバスイッチと該第2のクロスバスイッチとの間を結合する第2のデータ転送経路を含み、該第1のクロスバスイッチは、該複数のスレーブの少なくとも1つに対して、アクセス経路として該第1及び第2のデータ転送経路のうちの1つを要求に応じて動的に選択可能なように構成されることを特徴とする。 A data transfer system includes a first crossbar switch connected to a plurality of masters, a second crossbar switch connected to a plurality of slaves, and between the first crossbar switch and the second crossbar switch. A first data transfer path to be coupled, and a second data transfer path that is provided in parallel with the first data transfer path and couples between the first crossbar switch and the second crossbar switch, The first crossbar switch can dynamically select one of the first and second data transfer paths as an access path for at least one of the plurality of slaves according to a request. It is comprised by this.
本発明の少なくとも1つの実施例によれば、データ転送システムにおいて、第1のデータ転送経路と第2のデータ転送経路との多重のデータ転送経路を設けることにより、第1のクロスバスイッチ及び第2のクロスバスイッチの間のデータ転送性能を向上させることができる。即ち、多重のデータ転送経路を介してデータ転送を同時に並行して実行することができる。またスレーブの少なくとも1つに対しては、多重のデータ転送経路のうち要求に応じて動的に選択したデータ転送経路を介してアクセス可能であるように第1のクロスバスイッチを構成することで、回路面積の増加を抑えながらデータ転送の自由度・柔軟性を向上させ、データ転送性能を向上させることができる。 According to at least one embodiment of the present invention, in the data transfer system, the first crossbar switch and the second data transfer path are provided by providing multiple data transfer paths of the first data transfer path and the second data transfer path. The data transfer performance between the crossbar switches can be improved. That is, data transfer can be executed simultaneously in parallel via multiple data transfer paths. In addition, by configuring the first crossbar switch so that at least one of the slaves can be accessed through a data transfer path that is dynamically selected according to a request among multiple data transfer paths, Data transfer performance can be improved by improving the flexibility and flexibility of data transfer while suppressing an increase in circuit area.
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図6は、本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの基本構成を示す図である。なお本発明において、図6に示す構成の各モジュールの数、クロスバスイッチの数、バスブリッジの数、サブシステムの数等は一例であり、ここに図示される数に限られるものではない。 FIG. 6 is a diagram showing a basic configuration of a system using a crossbar switch and bus bridge configuration according to the present invention. In the present invention, the number of modules having the configuration shown in FIG. 6, the number of crossbar switches, the number of bus bridges, the number of subsystems, etc. are examples, and are not limited to the numbers shown here.
図6に示す構成においては、マスタモジュール401〜403とスレーブモジュール405とがクロスバスイッチ451に接続され、マスタモジュール404とスレーブモジュール406〜408とがクロスバスイッチ452に接続される。クロスバスイッチ451とクロスバスイッチ452とは、多重のバスブリッジ431及び432により互いに接続される。クロスバスイッチ451はインターフェース411乃至416を含み、クロスバスイッチ452はインターフェース421乃至426を含む。
In the configuration shown in FIG. 6, the
多重のバスブリッジ431及び432を設けた構成とすることで、クロスバスイッチ451及びクロスバスイッチ452間のデータ転送性能は向上する。例えば、スレーブ406へのデータ転送にはバスブリッジ431が使用され、スレーブ407とスレーブ408へのデータ転送にはバスブリッジ432が使用されるとすると、これらのデータ転送は同時に並行して実行することができる。なお2つのバスブリッジ431及び432の何れがデータ転送に用いられるかは、クロスバスイッチ内部のアドレスデコーダによって決定される。
By providing the
図7は、図6の構成において例えばマスタ401,402,又は403から見た場合のアドレスマップの構成の一例を示す図である。図7に示す例では、スレーブ406については、バスブリッジ431を介してのみアクセス可能である。即ち、スレーブ406のアドレス範囲0xFFFF5001〜0xFFFF6000は、バスブリッジ431に割当てられている。またスレーブ407,408については、バスブリッジ432を介してのみアクセス可能である。即ち、スレーブ407,408のアドレス範囲0xFFFF6001〜0xFFFF8000は、バスブリッジ432に割当てられている。
FIG. 7 is a diagram showing an example of the configuration of the address map when viewed from the
従って、図7に示す例では、マスタ401からスレーブ406へのデータ転送にはバスブリッジ431が使用され、マスタ402からスレーブ408へのデータ転送にはバスブリッジ432が使用されるので、これらのデータ転送は同時に並行して実行することができる。但し、マスタ401からスレーブ407へデータ転送しようとし、同時にマスタ402からスレーブ408へデータ転送しようとしても、バスブリッジ432においてバス競合が発生してしまう。このような場合、例えばスレーブ408へのデータ転送が高い転送能力を必要とする優先度の高いデータ転送であるとすると問題となる。
Therefore, in the example shown in FIG. 7, the
このような場合を考慮して、本発明では、スレーブモジュール406〜408の少なくとも1つのモジュールに対して、多重のバスブリッジ431及び432のうち要求に応じて動的に選択したバスブリッジを介してアクセス可能となるように、クロスバスイッチ451を構成する。これによりデータ転送の自由度・柔軟性を向上させ、データ転送性能を増大させる。
In consideration of such a case, in the present invention, at least one of the
スレーブモジュール406〜408の少なくとも1つのモジュールに対して、多重のバスブリッジ431及び432のうち要求に応じて動的に選択したバスブリッジを介してアクセス可能となるように構成するために、本発明では第1の実施例の構成或いは第2の実施例の構成を用いる。第1の実施例の構成では、クロスバスイッチ内部のデコーダを動的に変更可能に構成する。第2の実施例では、データ転送要求に応じて多重のバスブリッジを動的に割当てるようにクロスバスイッチ内部の調停回路部を構成する。
In order to configure at least one of the
まず第1の実施例について説明する。第1の実施例では、システムLSIを構成する複数のクロスバスイッチ間を結ぶバスブリッジを多重化し、多重になっているバスブリッジの一方のバスブリッジをある特定アドレス領域向けのデータ転送専用になるようにクロスバスイッチ内部のデコーダを動的に変更する。これにより、特に高い転送能力を必要とする優先度の高いデータ転送に関して、バス権の競合を無くし、高いデータ転送性能を実現することが可能となる。 First, the first embodiment will be described. In the first embodiment, bus bridges connecting a plurality of crossbar switches constituting the system LSI are multiplexed so that one bus bridge of the multiplexed bus bridges is dedicated to data transfer for a specific address area. The decoder inside the crossbar switch is dynamically changed. As a result, it is possible to eliminate bus contention and achieve high data transfer performance for data transfer with high priority that particularly requires high transfer capability.
図8は、本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの第1の実施例を示す図である。 FIG. 8 is a diagram showing a first embodiment of a system using a crossbar switch and bus bridge configuration according to the present invention.
図8に示す構成においては、マスタモジュール501〜503とデコーダ制御モジュール505とがクロスバスイッチ551に接続され、マスタモジュール504とスレーブモジュール506〜508とがクロスバスイッチ552に接続される。クロスバスイッチ551とクロスバスイッチ552とは、多重のバスブリッジ531及び532により互いに接続される。クロスバスイッチ551はインターフェース511乃至516を含み、クロスバスイッチ552はインターフェース521乃至526を含む。
In the configuration shown in FIG. 8,
デコーダ制御モジュール505は、CPU等のマスタモジュールからアクセス可能なモジュールである。マスタモジュールからの指示に応じて、デコーダ制御モジュール505は、クロスバスイッチ内部のデコーダを動的に変更するためのモード信号571を送出する。
The
図9は、図8のクロスバスイッチ551の構成の一例を示す図である。図9において、図8と同一の構成要素は同一の番号で参照し、その説明は省略する。
FIG. 9 is a diagram illustrating an example of the configuration of the
図9に示すクロスバスイッチ551は、アドレス信号線、データ信号線、及び制御信号線からなるバス621〜626を介して、3つのマスタモジュール501〜503、デコーダ制御モジュール505、及びバスブリッジ531,532に接続されている。また同様にアドレス信号線、データ信号線、及び制御信号線からなるバス663により、インターフェース511乃至516間が接続されている。なおバス621〜626,663においては、実線がマスタ方向からスレーブ方向へ流れる信号(例えばアドレス信号、書き込みデータ信号、制御信号等)を表し、破線がスレーブ方向からマスタ方向へ流れるバス信号(例えば読み出しデータ信号、応答信号等)を表している。
The
インターフェース511〜513は、マスタモジュールからのバス信号を制御するI/F制御回路684〜686と、バス上のアドレス信号をデコードする制御可能アドレスデコーダ681〜683と、読み出しデータ信号や応答信号等を選択する選択回路687〜689を含む。I/F制御モジュール684〜686は、マスタモジュールからバス663に送信される制御信号を監視する。バスに新規転送を流すことができない状況においてバス転送を要求する制御信号を検出すると、I/F制御モジュール684〜686は、バスに対する新規転送発行を抑止するような応答信号(バス621〜623の破線)をマスタモジュールに返す。またI/F制御モジュール684〜686は更に、現在のバスの値を一時的に保持する機能を有する。
図10は、I/F制御モジュール684の構成の一例を示す図である。図10において、図9と同一の構成要素は同一の番号で参照し、その説明は省略する。なおI/F制御モジュール684の構成を代表例として示すが、I/F制御モジュール685,686も同様の構成を有する。
FIG. 10 is a diagram illustrating an example of the configuration of the I /
I/F制御モジュール684は、バス転送/保持判定回路1104、選択回路1105、及びバス保持レジスタ1106を含む。バス転送/保持判定回路1104は、バス621,662,663に流れる制御信号を観測する。バス663に新規転送を流すことができない状況においてバス転送を要求する制御信号をバス621に検出すると、バス転送/保持判定回路1104は信号1136を出力し、バス621に対して新規転送発行を抑止する応答信号を、組み合わせ回路1107を介して送信する。また更にバス転送/保持判定回路1104は、信号1138を介して選択回路1105にバス保持レジスタ1106を選択させる。バス保持レジスタ1106には現在のバスの値が保持されており、上記選択動作により、バス663の値が現状のまま保持される。
The I /
バス663に新規転送することが適切な状況においてバス転送を要求する制御信号をバス621に検出すると、バス転送/保持判定回路1104は、信号1138を介して選択回路1105にバス621を選択させる。これによりバス621とバス663とが接続され新規データ転送が可能となる。バス663の値の変化に追随して、バス663の最新の値がバス保持レジスタ1106に格納される。
When the
図9を再び参照し、制御可能アドレスデコーダ681〜683は、バス上のアドレスデータをアドレスマップに従ってデコードする。制御可能アドレスデコーダ681〜683は、このデコード結果に従って、アドレスデータが指示するアクセス先のインターフェース514〜516に転送要求信号661を送出する。選択回路687〜689は、制御可能アドレスデコーダ681〜683のデコード結果に従って、アドレスデータが指示するアクセス先からのデータ信号、応答信号等を選択する。
Referring again to FIG. 9,
一方、インターフェース514〜516は、調停回路691〜693と選択回路694〜696とを含む。調停回路691〜693は、インターフェース511〜513からの転送要求信号661を受信して転送許可/不許可を示す転送可否応答信号662をインターフェース511〜513に返すとともに、調停結果を示す信号を選択回路694〜696に供給する。選択回路694〜696は、調停回路691〜693による調停結果に応じてバス信号を選択する。
On the other hand, the
図9に示すクロスバスイッチ551は、データ転送時の動作は従来のクロスバスイッチ回路と同様であるが、制御可能アドレスデコーダ681〜683がアドレスデコード設定を変更可能なように構成されている。これにより、システムが動作している間であっても、アドレスデコード設定を動的に切り替えることができる。具体的には、制御可能アドレスデコーダ681〜683は、デコーダ制御モジュール505から供給されるモード信号571に応じて、クロスバスイッチ内のバス転送の監視に基づいた適切なタイミングで、アドレスデコーダのアドレスマップを変換する。
The
図11は、制御可能アドレスデコーダ681の構成の一例を周辺の構成とともに示す図である。図11において、図9と同一の構成要素は同一の番号で参照し、その説明は省略する。なお制御可能アドレスデコーダ681の構成を代表例として示すが、制御可能アドレスデコーダ682,683も同様の構成を有する。
FIG. 11 is a diagram showing an example of the configuration of the
デコーダ制御モジュール505は、バスインターフェース1002とモード設定レジスタ1003によって構成される。バスマスタによりバス624及びバスインターフェース1002を介してモード設定レジスタ1003に設定された値は、モード信号571として制御可能アドレスデコーダ681に供給される。制御可能アドレスデコーダ681は、選択回路1015、レジスタ1016、バスの制御信号1039及びバス応答信号1037を観測するバス観測回路1017、回路として組み込まれた複数のアドレスデコーダ1018〜1020、及び複数のアドレスデコーダの1つを選択する選択回路1021を含む。
The
図12は、マスタ501〜503からみたアドレスマップの一例を示す図である。図13は、アドレスマップ切り替えの制御動作の一例を示すフローチャートである。図13の制御フローに従い、図12のアドレスマップ1(図面左)からアドレスマップ2(図面右)にアドレスマッピング構成を変える動作について以下に説明する。
FIG. 12 is a diagram illustrating an example of an address map viewed from the
初期状態であるアドレスマップ1の状態において、クロスバスイッチ551領域からクロスバスイッチ552領域へのデータ転送は、何れのアドレスに対してもバスブリッジ531を介して実行するように設定されている。この状態から、図13の制御動作が開始される。
In the state of the
ステップS1で、図9に示すマスタ501が、デコーダ制御モジュール505のモード設定レジスタ1003に、所望のアドレスマップ(切り替え後のアドレスマップ)のモード番号を設定する。ステップS2で、デコーダ制御モジュール505は、モード信号571をバスブリッジ内部の制御可能アドレスデコーダ681,682,683に送る
ステップS3で、制御可能アドレスデコーダ681は、バス663上の制御信号をバス観測回路1017で観測(監視)する。ステップS4で、ステップS3での観測結果に基づいて、バス上にデータ転送があるか否かを判断する。データ転送がある場合(ステップS3でYesの場合)には、所定時間待機した後に、バス上にデータ転送があるか否かを再度判断する。
In step S1, the
データ転送がない場合(ステップS3でNoの場合)、ステップS4で、モード信号に応じてアドレスデコーダ1018〜1020のうちの1つを選択回路1021により選択する。具体的には、バス観測回路1017からの信号1042に応じて選択回路1015がデコーダ制御モジュール505からのモード信号571を選択して、選択回路1021に供給する。これにより、モード信号571に応じたデコーダが選択される。選択に用いられたモード信号571は、レジスタ1016に格納される。レジスタ1016の格納値は、その後選択回路1015がレジスタ1016を選択する状態となることで、定常的に選択回路1021に供給される。以上の動作により、インターフェース511におけるアドレスマップはアドレスマップ1からアドレスマップ2に切り替わる(図12参照)。
If there is no data transfer (No in step S3), one of the
同様に、他の制御可能アドレスデコーダ682,683についても、バスにデータ転送がないタイミングで、アドレスマップをアドレスマップ1からアドレスマップ2に切り替える。ステップS5で、全ての制御可能アドレスデコーダ681,682,683について、アドレスマップが切り替わったか否かを判断する。切り替わっていない場合(ステップS5でNoの場合)、全ての切り替えが終了するまで待機する。
Similarly, with respect to the other
ステップS5でYesの場合、制御可能アドレスデコーダ681〜683の全てが新規のアドレスマップ2に設定されたことになる。即ち、ステップS6に記載されるように、アドレスマップ2においてはバスブリッジ532がスレーブ508へのデータ転送に専用に割当てられるので、スレーブ508へのデータ転送についてはバス権の競合が発生しなくなる。従って、スレーブ508へのデータ転送が、高い転送能力を必要とする優先度の高いデータ転送であっても、必要なデータ転送性能を保つことが可能となる。
In the case of Yes in step S5, all of the
以上のアドレスマップ切り替えにより図12に示すアドレスマップ2が設定されると、スレーブ508はクロスバスイッチ551に直接に接続されているスレーブモジュールであるかのように扱うことが可能となる。従って、特に高い転送能力を必要とする優先度の高いデータ転送に対しても、データ転送品質(QoS:クオリティ・オブ・サービス)を維持し続けることができる。
When the
上記説明ではスレーブ508へのバス権競合がなくなるようなアドレスマップを用意して設定しているが、同様に他のスレーブモジュールに対してもバス権競合がなくなるようなアドレスマップを用意して設定することが可能である。このようにして、システムの要求に応じて特定のスレーブモジュールへのデータ転送に関してバス権の競合をなくし、データ転送品質を維持し続けることができる。
In the above description, an address map is prepared and set so that there is no bus right conflict for the
以下に、本発明の第2の実施例について説明する。この第2の実施例では、データ転送要求に応じて多重のバスブリッジを動的に割当てるようにクロスバスイッチ内部の調停回路部を構成する。 The second embodiment of the present invention will be described below. In the second embodiment, the arbitration circuit unit in the crossbar switch is configured to dynamically allocate multiple bus bridges in response to a data transfer request.
即ち、システムLSIを構成する2本のクロスバスイッチを結ぶバスブリッジを多重化し、多重になっているバスブリッジに複数のデータを同時並行に転送できるようにクロスバスイッチ内部の調停回路部を構成する。これにより、特に高い転送能力を必要とする優先度の高いデータ転送に関して、バス権の競合をできるだけ少なくし、データ転送性能を保つことができる。 In other words, the bus bridge connecting the two crossbar switches constituting the system LSI is multiplexed, and the arbitration circuit unit inside the crossbar switch is configured so that a plurality of data can be transferred simultaneously to the multiplexed bus bridge. As a result, particularly for high-priority data transfer that requires high transfer capacity, bus contention can be minimized and data transfer performance can be maintained.
図14は、本発明によるクロスバスイッチ及びバスブリッジ構成を用いたシステムの第2の実施例を示す図である。 FIG. 14 is a diagram showing a second embodiment of the system using the crossbar switch and bus bridge configuration according to the present invention.
図14に示す構成においては、マスタモジュール801〜803とスレーブモジュール805とがクロスバスイッチ851に接続され、マスタモジュール804とスレーブモジュール806〜808とがクロスバスイッチ852に接続される。クロスバスイッチ851とクロスバスイッチ852とは、多重のバスブリッジ831及び832により互いに接続される。クロスバスイッチ851はインターフェース811乃至815を含み、クロスバスイッチ852はインターフェース821乃至826を含む。
In the configuration shown in FIG. 14, the
クロスバスイッチ851において、インターフェース811乃至813がマスタモジュール801〜803にそれぞれ接続され、インターフェース814がスレーブモジュール805に接続される。またインターフェース815が、バスブリッジ831及び832の双方に接続される。
In the
このように図14の構成では、2つのバス(バスブリッジ831及び832)が1つのインターフェース815により提供されている。以下に説明するように、インターフェース815に設けられた1つの調停回路によって、2つのバス(バスブリッジ831及び832)に対するバス使用権獲得要求を調停する。
As described above, in the configuration of FIG. 14, two buses (
図15は、図14の構成において例えばマスタ801から見た場合のアドレスマップの構成を示す図である。図15に示すように、スレーブ806〜808については、バスブリッジ831及び832の何れを介してもアクセス可能である。即ち、スレーブ806〜808のアドレス範囲0xFFFF5001〜0xFFFF8000は、バスブリッジ831及び832に多重に割当てられている。
FIG. 15 is a diagram showing a configuration of an address map when viewed from the
例えばマスタ801からスレーブ806にアクセスしようとし、マスタ802からスレーブ807にアクセスしようとした場合を考える。この場合、スレーブ806へのアクセスには例えばバスブリッジ831を割当て、スレーブ807へのアクセスには例えばバスブリッジ832を割り当てることで、互いにバス競合することなく並行してアクセス動作を実行することが可能になる。
For example, consider a case where a
図16は、図14のクロスバスイッチ851の構成の一例を示す図である。図16において、図14と同一の構成要素は同一の番号で参照し、その説明は省略する。
FIG. 16 is a diagram illustrating an example of the configuration of the
図16に示すクロスバスイッチ851は、アドレス信号線、データ信号線、及び制御信号線からなるバス921〜926を介して、3つのマスタモジュール801〜803、スレーブモジュール805、及びバスブリッジ831,832に接続されている。また同様にアドレス信号線、データ信号線、及び制御信号線からなるバス963により、インターフェース811乃至815間が接続されている。なおバス921〜926,963においては、実線がマスタ方向からスレーブ方向へ流れる信号(例えばアドレス信号、書き込みデータ信号、制御信号等)を表し、破線がスレーブ方向からマスタ方向へ流れるバス信号(例えば読み出しデータ信号、応答信号等)を表している。
The
インターフェース811〜813は、マスタモジュールからのバス信号を制御するI/F制御回路984〜986と、バス上のアドレス信号をデコードするアドレスデコーダ981〜983と、読み出しデータ信号や応答信号等を選択する選択回路987〜989を含む。I/F制御モジュール984〜986は、マスタモジュールからバス963に送信される制御信号を監視する。バスに新規転送を流すことができない状況においてバス転送を要求する制御信号を検出すると、I/F制御モジュール984〜986は、バスに対する新規転送発行を抑止するような応答信号(バス921〜923の破線)をマスタモジュールに返す。またI/F制御モジュール984〜986は更に、現在のバスの値を一時的に保持する機能を有する。
The
アドレスデコーダ981〜983は、バス上のアドレスデータをアドレスマップに従ってデコードする。アドレスデコーダ981〜983は、このデコード結果に従って、アドレスデータが指示するアクセス先のインターフェース814又は815に転送要求信号961を送出する。選択回路987〜989は、アドレスデコーダ981〜983のデコード結果に従って、アドレスデータが指示するアクセス先からのデータ信号、応答信号等を選択する。
インターフェース814は、調停回路991と選択回路994とを含む。調停回路991は、インターフェース811〜813からの転送要求信号961を受信して転送許可/不許可を示す転送可否応答信号962をインターフェース811〜813に返すとともに、調停結果を示す信号を選択回路994に供給する。選択回路994は、調停回路991による調停結果に応じてバス信号を選択する。
The
インターフェース815は、調停回路992と選択回路995,996とを含む。調停回路992は、インターフェース811〜813からの転送要求信号961を受信して転送許可/不許可を示す転送可否応答信号962をインターフェース811〜813に返すとともに、調停結果を示す信号を選択回路995,996に供給する。選択回路995,996は、調停回路992による調停結果に応じてバス信号を選択する。
The
図17は、多重バスブリッジに対する調停回路の調停動作の一例を示すフローチャートである。図17に示す調停動作により、図16に示す調停回路992がバスブリッジ831及び832に対してデータ転送を割当てる。
FIG. 17 is a flowchart showing an example of the arbitration operation of the arbitration circuit for the multiple bus bridge. With the arbitration operation shown in FIG. 17, the
まずステップS1において、アドレスデコーダ981〜983より新規転送要求信号961が供給される。ステップS2において、調停回路992はバス925,926の占有状況を判定する。バス925,926が双方ともに使用中である場合は、ステップS3に進む。ステップS3において、調停回路992は、新規転送要求信号961に対する応答である転送可否応答信号962として、転送待機を指示する信号を送出する。その後、ステップS1に処理が戻る。
First, in step S1, a new transfer request signal 961 is supplied from the
ステップS2での判定の結果、バス925,926の一方が使用中である場合は、ステップS4に進む。ステップS4において、調停回路992は、優先順位が最も高い新規アクセスに対しては、新規転送要求信号961に対する応答である転送可否応答信号962として、転送要求を許可する信号を送出する。また調停回路992は、その他の新規アクセス要求に対しては、転送可否応答信号962として転送待機信号を送出する。
If one of the
ステップS2での判定の結果、バス925,926の両方が利用可能である場合は、ステップS5に進む。ステップS5において、調停回路992は、優先順位が最も高い新規アクセスと2番目に高い新規アクセスとに対して、新規転送要求信号961に対する応答である転送可否応答信号962として、転送要求を許可する信号を送出する。また調停回路992は、その他の新規アクセス要求に対しては、転送可否応答信号962として転送待機信号を送出する。
As a result of the determination in step S2, if both
ステップS4及びS5の何れかの調停動作の後、ステップS6でデータ転送動作が実行される。データ転送動作の後、ステップS1に処理が戻る。 After the arbitration operation in either step S4 or S5, the data transfer operation is executed in step S6. After the data transfer operation, the process returns to step S1.
上記説明したように第2の実施例においては、調停回路992を実装したクロスバスイッチ851を使用することにより、バスブリッジ831,832を介したデータ転送は、同時に最大2つのデータ転送まで並行して実行可能になる。従って、バスブリッジ831,832を介したデータ転送において、バス権の競合の発生の可能性はある低度低く抑えることが可能である。従って、高い転送能力を必要とするデータ転送に対しても、データ転送品質(QoS:クオリティ・オブ・サービス)を維持し続けることが比較的容易である。
As described above, in the second embodiment, by using the
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。 As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.
例えば、バスブリッジとは、一般にプロトコル変換を行なう回路を指す用語であるが、本願においてはサブシステム間にプロトコル変換が必要なければ、バスブリッジ回路は必要ない。即ちサブシステム間にプロトコル変換が必要ない場合、上記各実施例の説明において、バスブリッジ回路を介したデータ転送経路は、単なるシステムバスの直接接続によるサブシステム間のデータ転送経路で置き換えることができる。 For example, a bus bridge is a term that generally refers to a circuit that performs protocol conversion. However, in this application, a bus bridge circuit is not necessary if protocol conversion is not required between subsystems. That is, when protocol conversion between subsystems is not necessary, in the description of the above embodiments, the data transfer path via the bus bridge circuit can be replaced with a data transfer path between subsystems by simply connecting the system bus directly. .
またクロスバスイッチは、他にも例えばクロスバス・スイッチ、バスマトリックス、マルチレイヤバス、インターコネクト、バススイッチ等の様々な異なる名称で呼ばれることがある。本願発明においてクロスバスイッチとは、経路を切り替え選択可能とすることで複数のモジュール間に並行に複数のデータ転送経路を設定可能な回路であればよく、特定の名称により特定される特定の構造を有する回路を意図したものではない。 The crossbar switch may also be referred to by various different names such as, for example, a cross bus switch, a bus matrix, a multi-layer bus, an interconnect, and a bus switch. In the present invention, the crossbar switch may be any circuit that can set a plurality of data transfer paths in parallel between a plurality of modules by making the path selectable, and has a specific structure specified by a specific name. It is not intended to have a circuit.
401〜404 マスタモジュール
405〜408 スレーブモジュール
411〜416,421〜426 インターフェース
431,432 バスブリッジ
451,452 クロスバスイッチ
501〜504 マスタモジュール
505 デコーダ制御モジュール
506〜508 スレーブモジュール
511〜516 インターフェース
521〜526 インターフェース
531,532 バスブリッジ
551,552 クロスバスイッチ
681〜683 制御可能アドレスデコーダ
684〜686 I/F制御回路
687〜689 選択回路
691〜693 調停回路
694〜696 選択回路
401-404 Master module 405-408 Slave module 411-416, 421-426
Claims (5)
複数のスレーブに接続される第2のクロスバスイッチと、
該第1のクロスバスイッチと該第2のクロスバスイッチとの間を結合する第1のデータ転送経路と、
該第1のデータ転送経路と並列に設けられ該第1のクロスバスイッチと該第2のクロスバスイッチとの間を結合する第2のデータ転送経路
を含み、該第1のクロスバスイッチは、該複数のスレーブの少なくとも1つに対して、アクセス経路として該第1及び第2のデータ転送経路のうちの1つを要求に応じて動的に選択可能なように構成されることを特徴とするデータ転送システム。 A first crossbar switch connected to a plurality of masters;
A second crossbar switch connected to the plurality of slaves;
A first data transfer path coupling between the first crossbar switch and the second crossbar switch;
A second data transfer path that is provided in parallel with the first data transfer path and connects between the first crossbar switch and the second crossbar switch; Data configured so that at least one of the slaves can dynamically select one of the first and second data transfer paths as an access path in response to a request Transfer system.
複数の異なるアドレスマッピングに対応した複数の異なるアドレスデコーダ回路と、
該要求に応じて該複数のアドレスデコーダ回路の1つを選択する選択回路
を含むことを特徴とする請求項3記載のデータ転送システム。 The controllable address decoder
A plurality of different address decoder circuits corresponding to a plurality of different address mappings;
4. The data transfer system according to claim 3, further comprising a selection circuit that selects one of the plurality of address decoder circuits in response to the request.
該要求として該複数のマスタから供給されるデータ転送要求を調停する調停回路と、
該調停回路による調停結果に応じて該複数のマスタと該第1及び第2のデータ転送経路とを動的に選択的に結合する選択回路
を含むことを特徴とする請求項1記載のデータ転送システム。 The first crossbar switch is
An arbitration circuit that arbitrates data transfer requests supplied from the plurality of masters as the request;
2. The data transfer according to claim 1, further comprising a selection circuit that dynamically and selectively couples the plurality of masters and the first and second data transfer paths in accordance with an arbitration result by the arbitration circuit. system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006015508A JP2007199859A (en) | 2006-01-24 | 2006-01-24 | Data transfer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006015508A JP2007199859A (en) | 2006-01-24 | 2006-01-24 | Data transfer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007199859A true JP2007199859A (en) | 2007-08-09 |
Family
ID=38454444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006015508A Withdrawn JP2007199859A (en) | 2006-01-24 | 2006-01-24 | Data transfer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007199859A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248562A (en) * | 2010-05-26 | 2011-12-08 | Seiko Epson Corp | Processor system |
JP2012003676A (en) * | 2010-06-21 | 2012-01-05 | Hitachi Ltd | Semiconductor integrated circuit and control method for data transfer in semiconductor integrated circuit |
JP2012238089A (en) * | 2011-05-10 | 2012-12-06 | Fujitsu Semiconductor Ltd | Integrated circuit device, verification device and verification method |
JP2017513404A (en) * | 2014-04-03 | 2017-05-25 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Field programmable gate array and communication method |
-
2006
- 2006-01-24 JP JP2006015508A patent/JP2007199859A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248562A (en) * | 2010-05-26 | 2011-12-08 | Seiko Epson Corp | Processor system |
JP2012003676A (en) * | 2010-06-21 | 2012-01-05 | Hitachi Ltd | Semiconductor integrated circuit and control method for data transfer in semiconductor integrated circuit |
JP2012238089A (en) * | 2011-05-10 | 2012-12-06 | Fujitsu Semiconductor Ltd | Integrated circuit device, verification device and verification method |
JP2017513404A (en) * | 2014-04-03 | 2017-05-25 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Field programmable gate array and communication method |
US11586572B2 (en) | 2014-04-03 | 2023-02-21 | Huawei Technologies Co., Ltd. | Field programmable gate array and communication method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4895183B2 (en) | Memory controller | |
US6738845B1 (en) | Bus architecture and shared bus arbitration method for a communication device | |
KR100368948B1 (en) | Enhanced bus arbiter utilizing variable priority and fairness | |
KR100814904B1 (en) | On-Chip Communication architecture | |
JP3807250B2 (en) | Cluster system, computer and program | |
US7721038B2 (en) | System on chip (SOC) system for a multimedia system enabling high-speed transfer of multimedia data and fast control of peripheral devices | |
GB2411497A (en) | Protocol conversion and arbitration circuit | |
JP2003006143A (en) | System, device and method of sharing bus | |
KR20110122516A (en) | Interconnect, the bus system containing it and how the bus system works | |
KR20020009823A (en) | Bus system and bus arbitration method thereof | |
JP2007199859A (en) | Data transfer system | |
US8359419B2 (en) | System LSI having plural buses | |
JP2016173798A (en) | Semiconductor device | |
US20080195782A1 (en) | Bus system and control method thereof | |
US20170168934A1 (en) | Memory controller with interleaving and arbitration scheme | |
JP4260720B2 (en) | Bus control device | |
US20050228914A1 (en) | Matrix type bus connection system | |
JP2007094649A (en) | Access arbitration circuit | |
US7711787B2 (en) | On-chip network interfacing apparatus and method | |
KR100581196B1 (en) | SOS bus structure provides multiple channels | |
JP6036806B2 (en) | Bus access arbitration circuit and bus access arbitration method | |
JP2007172112A (en) | Memory controller | |
JP2000339269A (en) | Cross bus switch device | |
JP6147131B2 (en) | Arithmetic unit | |
JP5028817B2 (en) | Bus system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Effective date: 20080729 Free format text: JAPANESE INTERMEDIATE CODE: A712 |
|
A621 | Written request for application examination |
Effective date: 20080916 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A761 | Written withdrawal of application |
Effective date: 20101126 Free format text: JAPANESE INTERMEDIATE CODE: A761 |