JP2008158747A - Data transfer device - Google Patents
Data transfer device Download PDFInfo
- Publication number
- JP2008158747A JP2008158747A JP2006345986A JP2006345986A JP2008158747A JP 2008158747 A JP2008158747 A JP 2008158747A JP 2006345986 A JP2006345986 A JP 2006345986A JP 2006345986 A JP2006345986 A JP 2006345986A JP 2008158747 A JP2008158747 A JP 2008158747A
- Authority
- JP
- Japan
- Prior art keywords
- circuit block
- circuit
- signal
- slave
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、データ転送装置に関するものである。 The present invention relates to a data transfer apparatus.
複数のモジュール間におけるデータ転送を行うバスには共有バス接続とクロスバー接続がある。共有バス接続で構成されるバス構造は1つのバス(共有バス)に複数のモジュールが接続される。各モジュールがバスアービタにバスを使用するためのバスリクエストを通知し、バスアービタは受け取ったバスリクエストとアービトレーション方式に応じて特定のモジュールにバスの使用許可を発行する(例えば特許文献1参照)。他のモジュールがバスを使用している時にバスリクエストを通知した場合や、複数のモジュールが同時にバスリクエストを通知した場合、バスアービタによる調停とバスが空くまでの待ち時間を必要とし、データ転送効率を低下させる。 Buses that transfer data between a plurality of modules include shared bus connections and crossbar connections. In a bus structure configured by shared bus connection, a plurality of modules are connected to one bus (shared bus). Each module notifies the bus arbiter of a bus request for using the bus, and the bus arbiter issues a bus use permission to a specific module according to the received bus request and the arbitration method (see, for example, Patent Document 1). When a bus request is notified when another module is using the bus, or when multiple modules notify a bus request at the same time, arbitration by the bus arbiter and a waiting time until the bus becomes free are required, and data transfer efficiency is improved. Reduce.
一方、クロスバー接続で構成されるバス構造は各モジュール間が信号線で接続されており、共有バス接続と比較してバスが空くまでの待ち時間が短く、データ転送効率が良い。しかし各モジュール間に1組のバスを有するため、モジュール数に比例して信号線数(配線量)が増大し、回路面積、発熱量、消費電力等が増大する。
本発明は共有バス接続で構成されるバス構造よりもデータ転送効率が良く、クロスバー接続で構成されるバス構造よりも配線量を低減することができるデータ転送装置を提供することを目的とする。 It is an object of the present invention to provide a data transfer apparatus that has better data transfer efficiency than a bus structure configured with a shared bus connection and can reduce the amount of wiring as compared with a bus structure configured with a crossbar connection. .
本発明の一態様によるデータ転送装置は、n個(nは1以上の整数)のマスタ回路ブロックと、m個(mは1以上の整数)のスレーブ回路ブロックとの間でデータの転送を行うデータ転送装置であって、それぞれ対応する前記マスタ回路ブロックとの通信を行うn個の第1の制御回路と、それぞれ対応する前記スレーブ回路ブロックとの通信を行うm個の第2の制御回路と、前記第1の制御回路及び前記第2の制御回路に接続された共有バスと、n個の前記第1の制御回路とm個の前記第2の制御回路との間をそれぞれ接続するクロスバー部と、を備え、前記第1の制御回路及び前記第2の制御回路は、前記マスタ回路ブロックが前記スレーブ回路ブロックへ送信する命令信号及び前記スレーブ回路ブロックが前記命令信号の受信に伴い前記マスタ回路ブロックへ送信する命令応答信号を前記クロスバー部を介して転送し、前記マスタ回路ブロックが前記スレーブ回路へ送信する書き込みデータ信号及び前記スレーブ回路ブロックが前記マスタ回路ブロックへ送信する読み出しデータ信号を前記共有バスを介して転送するものである。 A data transfer device according to one embodiment of the present invention transfers data between n (n is an integer of 1 or more) master circuit blocks and m (m is an integer of 1 or more) slave circuit blocks. A data transfer device, each of n first control circuits communicating with the corresponding master circuit block, and m second control circuits communicating with the corresponding slave circuit block; , A shared bus connected to the first control circuit and the second control circuit, and crossbars connecting between the n first control circuits and the m second control circuits, respectively. And the first control circuit and the second control circuit include a command signal transmitted from the master circuit block to the slave circuit block, and the slave circuit block receiving the command signal. A command response signal to be transmitted to the star circuit block is transferred via the crossbar unit, and a write data signal to be transmitted to the slave circuit by the master circuit block and a read data signal to be transmitted to the master circuit block by the slave circuit block Are transferred via the shared bus.
また、本発明の一態様によるデータ転送装置は、n個(nは1以上の整数)のマスタ回路ブロックと、m個(mは1以上の整数)のスレーブ回路ブロックとの間でデータの転送を行うデータ転送装置であって、それぞれ対応する前記マスタ回路ブロックとの通信を行うn個の第1の制御回路と、それぞれ対応する前記スレーブ回路ブロックとの通信を行うm個の第2の制御回路と、前記第1の制御回路及び前記第2の制御回路に接続された共有バスと、n個の前記第1の制御回路とm個の前記第2の制御回路との間をそれぞれ接続するクロスバー部と、を備え、前記第1の制御回路及び前記第2の制御回路は、前記マスタ回路ブロックが前記スレーブ回路ブロックへ送信する命令信号、書き込みデータ信号及び前記スレーブ回路ブロックが前記命令信号の受信に伴い前記マスタ回路ブロックへ送信する命令応答信号を前記クロスバー部を介して転送し、前記スレーブ回路ブロックが前記マスタ回路ブロックへ送信する読み出しデータ信号を前記共有バスを介して転送するものである。 A data transfer device according to one embodiment of the present invention transfers data between n (n is an integer of 1 or more) master circuit blocks and m (m is an integer of 1 or more) slave circuit blocks. And n second control circuits for communicating with the corresponding slave circuit blocks, and n first control circuits for communicating with the corresponding master circuit blocks, respectively. A circuit, a shared bus connected to the first control circuit and the second control circuit, and the n first control circuits and the m second control circuits, respectively. A crossbar unit, wherein the first control circuit and the second control circuit are configured so that the command signal, the write data signal, and the slave circuit block that the master circuit block transmits to the slave circuit block A command response signal to be transmitted to the master circuit block in response to reception of the command signal is transferred through the crossbar unit, and a read data signal to be transmitted from the slave circuit block to the master circuit block is transferred through the shared bus. To do.
本発明によれば、共有バス接続で構成されるバス構造よりもデータ転送効率を良くし、クロスバー接続で構成されるバス構造よりも配線量を低減することができる。 According to the present invention, it is possible to improve the data transfer efficiency as compared with the bus structure configured by the shared bus connection and reduce the wiring amount as compared with the bus structure configured by the crossbar connection.
以下、本発明の実施の形態によるデータ転送装置を図面に基づいて説明する。 Hereinafter, a data transfer apparatus according to an embodiment of the present invention will be described with reference to the drawings.
図1に本発明の実施形態に係るデータ転送装置の概略構成を示す。データ転送装置は1つ以上のマスタ回路ブロックと1つ以上のスレーブ回路ブロックとの間のデータ転送を行うものであり、ここでは一例として2つのマスタ回路ブロック101、102と2つのスレーブ回路ブロック103、104との間のデータ転送を行う。マスタ回路ブロックは例えばCPU、スレーブ回路ブロックは例えばメモリである。データ転送装置は共有バス201、クロスバー301、各回路ブロックに対応する制御回路401〜404を備える。共有バス201はデコーダ202、バスアービタ203を有する。
FIG. 1 shows a schematic configuration of a data transfer apparatus according to an embodiment of the present invention. The data transfer device performs data transfer between one or more master circuit blocks and one or more slave circuit blocks. Here, as an example, two
一連のデータ転送処理(トランザクション)は複数のフェイズ(パイプライン)に分割され、ここではリクエスト、データ、レスポンスの3つのフェイズに分割されるものとする。各々のフェイズにおける通信は独立して行われる。リクエストフェイズでは、マスタ回路ブロックがコマンド(命令)及びアドレスを発行し、スレーブ回路ブロックからのアクセプト(応答)信号を受信することで通信が完結する。データフェイズではリクエストフェイズで発行したコマンド毎の書き込みデータ(スレーブへの送信データ)をマスタ回路ブロックが出力し、スレーブ回路ブロックからのアクセプト信号を受信することで通信が完結する。レスポンスフェイズでは、スレーブ回路によるリクエストフェイズで発行されたコマンド毎の読み出しデータ(マスタへの送信データ)の送信、リクエストフェイズで発行されたコマンドに対するレスポンス情報(レスポンス信号)の送信が行われる。 A series of data transfer processing (transaction) is divided into a plurality of phases (pipelines), and here, it is assumed that the data transfer processing (transaction) is divided into three phases of request, data, and response. Communication in each phase is performed independently. In the request phase, the master circuit block issues a command (command) and an address, and receives an accept (response) signal from the slave circuit block, thereby completing communication. In the data phase, the master circuit block outputs write data (transmit data to the slave) for each command issued in the request phase, and communication is completed by receiving an accept signal from the slave circuit block. In the response phase, transmission of read data (transmission data to the master) for each command issued in the request phase by the slave circuit and transmission of response information (response signal) for the command issued in the request phase are performed.
データ転送装置はクロスバー301でリクエストフェイズを実行し、共有バス201でデータフェイズ及びレスポンスフェイズを実行する。
The data transfer apparatus executes a request phase with the
制御回路401〜404について説明する。制御回路401〜404は同様の構成になっており、ここではマスタ回路ブロック101に対応する制御回路401を例として説明を行う。図2に制御回路401の概略構成を示す。制御回路401はポート501〜504、レスポンス保持回路601、データ保持回路602、リクエスト保持回路603、経路分岐回路701、CB整列回路801及びフリップフロップ901〜907を有する。ポート501は回路ブロック101接続用、ポート502は共有バス201接続用、ポート503及び504はクロスバー301接続用である。ポート503は回路ブロック103(制御回路403)に対応し、ポート504は回路ブロック104(制御回路404)に対応する。
The
経路分岐回路701はリクエストフェイズにて回路ブロック101からコマンド及びアドレスを受信する。受信したアドレスに基づいてコマンドを回路ブロック103、104のいずれに送信するかを判定し、対応するポート503又は504を介してコマンドを送信する。書き込みコマンドの時のデータフェイズでは共有バス201のバスアービタ203へバス使用リクエスト信号を出力し、バスアービタ203からのバス使用許可信号を検知し、回路ブロック101が出力するデータをポート502を介して共有バス201へ出力する。また、回路ブロック101から出力されたコマンドの順序とその宛先の情報を含む選択制御信号sel2を出力する。
The
CB整列回路801はポート503、504を介して入力される信号の整合性を処理する回路であり、例えば、ポート503と504から同時に信号が入力された場合、CB整列回路801に予め設定された各クロスバー線の優先度に応じて、同時に入力された信号を順次リクエスト保持回路603側に出力する。また、出力に選択されたポートの情報を含む選択制御信号sel1を出力する。
The
レスポンス保持回路601、データ保持回路602及びリクエスト保持回路603はそれぞれ受信した信号を送信元(スレーブ回路ブロック)別に保持し、選択制御信号sel2に基づき、回路ブロック101から出力されたコマンドの順序に対応して、保持している信号を出力する。
The
図3に経路分岐回路701の概略構成を示す。経路分岐回路701はバスリクエスト制御回路1101、1102、セレクタ1103、アドレスデコーダ1104、TRテーブル1105を有する。アドレスデコーダ1104はアドレステーブル1106を含む。アドレステーブル1106はマスタ回路ブロックとスレーブ回路ブロックのそれぞれのアドレス情報が格納されている。リクエストフェイズにて回路ブロック101から送信されるアドレスをアドレスデコーダ1104が受信し、コマンドをセレクタ1103が受信する。アドレスデコーダ1104はアドレステーブル1106を用いて、受信したアドレスがスレーブ回路ブロック103、104のいずれに対応するかを判定する。この判定結果に基づいて、セレクタ1103が、ポート503又は504へコマンドを送信する。また、この判定結果はTRテーブル1105に与えられ、TRテーブル1105はコマンド発行順序と対応する宛先を記憶し、選択制御信号sel2を送信する。
FIG. 3 shows a schematic configuration of the
例えば、マスタ回路ブロック101からスレーブ回路ブロック103への読み出しコマンド、スレーブ回路ブロック104への読み出しコマンドの順にコマンドが発行され、スレーブ回路ブロック104からの読み出しデータがスレーブ回路ブロック103からの読み出しデータよりも先に制御回路401へ入力された場合、レスポンス保持回路601は選択制御信号sel2に基づき、スレーブ回路ブロック104からの読み出しデータを保持し、スレーブ回路ブロック103からの読み出しデータを先にマスタ回路ブロック101へ出力する。
For example, commands are issued in the order of a read command from the
コマンドが書き込みである時のデータフェイズでは、バスリクエスト制御回路1102が共有バス201のバスアービタ203へバス使用リクエスト信号を出力し、バスアービタ203からのバス使用許可信号を検知し、回路ブロック101が出力するデータをポート502を介して共有バス201へ出力する。
In the data phase when the command is writing, the bus
図4にリクエスト保持回路603の概略構成を示す。リクエスト保持回路603はセレクタ1201、1202、FIFO回路1203、1204を有する。FIFO回路はクロスバー毎に、すなわちスレーブ回路ブロック毎に備えられる。本実施形態では、スレーブ回路ブロックとして2つの回路ブロック103、104を有するため、2つのFIFO回路1203、1204を備えている。例えば、FIFO回路1203がポート503に、FIFO回路1204がポート504に対応する。セレクタ1201にはCB整列回路801から出力される選択制御信号sel1が与えられる。また、セレクタ1202にはTRテーブル1105から出力される選択制御信号sel2が与えられる。リクエストフェイズにてスレーブ回路ブロックから出力されるアクセプト信号が対応するポート503又は504から入力され、CB整列回路を介してセレクタ1201に与えられる。セレクタ1201は選択制御信号sel1に基づき、与えられたアクセプト信号をFIFO回路1203又は1204に格納する。セレクタ1202は選択制御信号sel2に基づき、FIFO回路1203又は1204から信号を取り出し、ポート501を介して回路ブロック101へ出力する。
FIG. 4 shows a schematic configuration of the
レスポンス保持回路601の概略構成を図5に示す。レスポンス保持回路601はセレクタ1301、1302、FIFO回路1303、1304を有する。FIFO回路はスレーブ回路ブロック毎に備えられ、本実施形態では2つのスレーブ回路ブロック103、104を備えるため、2つのFIFO回路1303、1304を有する。
A schematic configuration of the
レスポンス保持回路601はレスポンスフェイズにて、共有バス201からポート502を介して入力される信号、すなわちレスポンス信号、が与えられ、対応するFIFO回路に格納する。アービタ202からは共有バス201上で転送されるデータの送信元、送信先の情報を含むバス権情報が出力され、このバス権情報がポート502を介してセレクタ1301に入力される。セレクタ1301はバス権情報に基づいてFIFO回路を選択し、信号を出力する。また、このトランザクションのリクエストフェイズにて回路ブロック101から読み出しコマンドが送信されていた場合は、スレーブ回路ブロックから出力される読み出しデータ信号も格納される。FIFO回路に格納された信号は、選択制御信号sel2に基づいてセレクタ1302によって取り出され、ポート501を介して回路ブロック101へ出力される。
In the response phase, the
データ保持回路602の概略構成を図6に示す。レスポンス保持回路601と同様に、2つのセレクタ1401、1402、2つのFIFO回路1403、1404を有する構成となっている。FIFO回路はスレーブ回路ブロック毎に備えられ、本実施形態では2つのスレーブ回路ブロック103、104を備えるため、2つのFIFO回路1403、1404を有する。
A schematic configuration of the
データ保持回路602はデータフェイズにて、共有バス201からポート502を介して入力される信号、すなわちスレーブ回路ブロックからのアクセプト信号が与えられ、対応するFIFO回路に格納する。ポート502を介して入力されるバス権情報に基づいてセレクタ1401がFIFO回路を選択し、信号を出力する。スレーブ回路ブロックに対応する制御回路内のデータ保持回路602では、トランザクションのリクエストフェイズにてマスタ回路ブロックから書き込みコマンドが送信されていた場合、マスタ回路ブロックから出力されるデータ信号も対応するFIFO回路に格納される。FIFO回路に格納された信号は選択制御信号sel2に基づいてセレクタ1402によって取り出され、ポート501を介して回路ブロックへ出力される。
In the data phase, the
フリップフロップ901〜907はそれぞれ互いに非同期なクロックCLK1〜3のいずれかが与えられる。これはフリップフロップ901〜903は回路ブロック101に対して、フリップフロップ904、905は共有バス201に対して、フリップフロップ906、907はクロスバー301に対して、それぞれ同期をとるためである。
Each of the flip-
制御回路401や402のようにマスタ回路ブロックに対応する制御回路では、トランザクションのリクエストフェイズで受信する信号はアクセプト信号のみである。マスタ回路ブロックがアクセプト信号を受信しないと次のコマンドを発行しないような設定になっている場合はリクエスト保持回路603を設けなくてもよい。また、データフェイズにおいても受信する信号はアクセプト信号のみであり、データ保持回路602を設けなくてもよい。従って、マスタ回路ブロックに対応する制御回路は図7に示すような構成にしてもよい。
In the control circuit corresponding to the master circuit block, such as the
制御回路403や404のようにスレーブ回路ブロックに対応する制御回路では、トランザクションのレスポンスフェイズでは受信する信号がないため、レスポンス保持回路601を設けなくてもよい。また、リクエストフェイズにて、CB整列回路801がどのポート、つまりどのマスタ回路ブロックからコマンドが送信されてきたかについての情報を含む信号sel3を経路分岐回路701に出力し、経路分岐回路701はその情報に基づいてアクセプト信号の送信先を判定するようにしてもよい。従って、スレーブ回路ブロックに対応する制御回路は図8に示すような構成にしてもよい。
In the control circuit corresponding to the slave circuit block such as the
このような構成にすることで、データ転送装置はリクエストフェイズの通信をクロスバー301で実行し、データフェイズ及びレスポンスフェイズの通信を共有バス201で実行することができる。
With this configuration, the data transfer apparatus can execute communication in the request phase with the
クロスバー301を利用するリクエストフェイズはバスアクセス待ち時間無しに実行されるため、各マスタ回路ブロックの処理効率が向上する。従って、共有バス接続で構成されるバス構造よりもデータ転送効率が良くなる。
Since the request phase using the
リクエストフェイズ、データフェイズ、レスポンスフェイズの信号幅をそれぞれA(bit)、B(bit)、C(bit)とし、すべてのフェイズをクロスバー接続で構成したバス構造で実行する場合、(A+B+C)×マスタ回路ブロック数×スレーブ回路ブロック数の信号線が必要になる。一方、本実施形態によるデータ転送装置ではデータフェイズ及びレスポンスフェイズを共有バス201で実行するため、必要な信号線の数はA×マスタ回路ブロック数×スレーブ回路ブロック数+B+Cとなる。従って、クロスバー接続で構成されるバス構造よりも信号線数を少なくすることができ、配線量を低減し、回路面積、発熱量、消費電力等を低減することができる。
When the request phase, data phase, and response phase signal widths are A (bit), B (bit), and C (bit), respectively, and all phases are executed in a bus structure configured by crossbar connection, (A + B + C) × Signal lines equal to the number of master circuit blocks × the number of slave circuit blocks are required. On the other hand, in the data transfer apparatus according to the present embodiment, since the data phase and the response phase are executed by the shared
このように本実施形態のデータ転送装置により、共有バス接続で構成されるバス構造よりもデータ転送効率を良くし、クロスバー接続で構成されるバス構造よりも配線量を低減することができる。 As described above, the data transfer apparatus according to the present embodiment can improve data transfer efficiency as compared with the bus structure configured by the shared bus connection, and can reduce the wiring amount as compared with the bus structure configured by the crossbar connection.
本実施形態によるデータ転送装置を用いたデータ転送の一例を図9に示す。ここではマスタ回路ブロック101によるアドレスAd1へのデータD1の書き込み、アドレスAd2からのデータD2の読み出し、アドレスAd3へのデータD3の書き込み、アドレスAd4へのデータD4の書き込みが行われるとする。データ転送はリクエストフェイズ、データフェイズ、レスポンスフェイズの3つのフェイズに分割され、それぞれのフェイズ内での転送は独立しているものとする。
An example of data transfer using the data transfer apparatus according to the present embodiment is shown in FIG. Here, it is assumed that the
まず、回路ブロック101は書き込みコマンドWrite1をアドレスAd1に対応するスレーブ回路ブロックへクロスバー301を介して送信し、そのスレーブ回路ブロックからアクセプト信号CAc1を受信する。データフェイズでは回路ブロック101はデータD1、データ有効(DataValid)信号を共有バス201を介して送信し、アクセプト信号DAc1を受信する。アクセプト信号DAc1の受信に伴い、データ有効信号の値を0にする。その後、レスポンスフェイズにて、共有バス201を介してレスポンス信号Resp1を受信する。
First, the
回路ブロック101は書き込みコマンドWrite1に対するアクセプト信号CAc1を受信後、次のコマンドである読み出しコマンドRead1をアドレスAd2に対応するスレーブ回路ブロックへクロスバー301を介して送信し、そのスレーブ回路ブロックからアクセプト信号CAc2を受信する。対応するスレーブ回路ブロックは読み出されるデータD2を用意し、レスポンスフェイズにて、レスポンス信号Resp2と共に出力する。
After receiving the accept signal CAc1 for the write command Write1, the
回路ブロック101は読み出しコマンドRead1に対するアクセプト信号CAc2を受信後、次のコマンドである書き込みコマンドWrite2をアドレスAd3に対応するスレーブ回路ブロックへクロスバー301を介して送信し、そのスレーブ回路ブロックからアクセプト信号CAc3を受信する。データフェイズでは回路ブロック101はデータD3、データ有効(DataValid)信号を共有バス201を介して送信し、アクセプト信号DAc2を受信する。アクセプト信号DAc2の受信に伴い、データ有効信号の値を0にする。その後、レスポンスフェイズにて、共有バス201を介してレスポンス信号Resp3を受信する。
After receiving the accept signal CAc2 for the read command Read1, the
同様に、回路ブロック101は書き込みコマンドWrite2に対するアクセプト信号CAc3を受信後、次のコマンドである書き込みコマンドWrite3をアドレスAd4に対応するスレーブ回路ブロックへクロスバー301を介して送信し、そのスレーブ回路ブロックからアクセプト信号CAc4を受信する。データフェイズでは回路ブロック101はデータD4及びデータ有効(DataValid)信号を共有バス201を介して送信し、アクセプト信号DAc3を受信する。アクセプト信号DAc3の受信に伴い、データ有効信号の値を0にする。その後、レスポンスフェイズにて、共有バス201を介してレスポンス信号Resp4を受信する。
Similarly, after receiving the accept signal CAc3 for the write command Write2, the
リクエストフェイズの通信を、データフェイズ、レスポンスフェイズの進行に関わらず、クロスバー301を用いて進めていくことで、バス空き待ち時間無しにコマンド送信を実行することができ、各マスタ回路ブロックの処理効率が向上する。例えば、データの読み出し時は、1つ前のトランザクションのデータ転送を行っている間に、スレーブ回路ブロックが読み出されるデータを用意しておくことができ、共有バス接続で構成されるバス構造よりもデータ転送効率が良くなる。
By transmitting the request phase communication using the
また、図9に示す例ではリクエストフェイズの信号幅を36ビット(コマンド信号が3ビット、アドレス信号が32ビット、アクセプト信号が1ビット)、データフェイズの信号幅を66ビット(データ信号が64ビット、データ有効信号が1ビット、アクセプト信号が1ビット)、レスポンスフェイズの信号幅を65ビット(データ信号が64ビット、レスポンス信号が1ビット)としている。リクエストフェイズをクロスバーで実行し、データフェイズ及びレスポンスフェイズを共有バスで実行するため、データ転送装置の有する信号幅は36×2×2+66+65=275ビットとなる。一方、クロスバー接続で構成するバス構造の場合は(36+66+65)×2×2=668ビットとなる。従って、配線量を低減でき、回路面積、発熱量、消費電力等を低減することができる。 In the example shown in FIG. 9, the request phase signal width is 36 bits (command signal is 3 bits, address signal is 32 bits, accept signal is 1 bit), and the data phase signal width is 66 bits (data signal is 64 bits). The data valid signal is 1 bit and the accept signal is 1 bit), and the response phase signal width is 65 bits (the data signal is 64 bits and the response signal is 1 bit). Since the request phase is executed by the crossbar and the data phase and the response phase are executed by the shared bus, the signal width of the data transfer device is 36 × 2 × 2 + 66 + 65 = 275 bits. On the other hand, in the case of a bus structure configured by crossbar connection, (36 + 66 + 65) × 2 × 2 = 668 bits. Accordingly, the amount of wiring can be reduced, and the circuit area, the amount of heat generation, power consumption, and the like can be reduced.
図9に示す例では、4つのトランザクションすべてをマスタ回路ブロック101が行うとしたが、アドレスAd3へのデータD3の書き込み、及びアドレスAd4へのデータD4の書き込みがマスタ回路ブロック102によって行われる場合は、リクエストフェイズの処理は例えば図10に示されるようになる。
In the example shown in FIG. 9, the
図11に、比較例として、共有バス接続で構成されるバス構造で上記と同じマスタ回路ブロック101によるアドレスAd1へのデータD1の書き込み、アドレスAd2からのデータD2の読み出し、及びマスタ回路ブロック102によるアドレスAd3へのデータD3の書き込み、アドレスAd4へのデータD4の書き込みを行った際のデータ転送を示す。
In FIG. 11, as a comparative example, in the bus structure constituted by the shared bus connection, the same
共有バス接続で構成されるバス構造では、例えば、マスタ回路ブロック101による最初のトランザクション(アドレスAd1へのデータD1の書き込み)終了後に、2番目のトランザクション(アドレスAd2からのデータD2の読み出し)のコマンドである読み出しコマンドRead1の送信を行う。そして、マスタ回路ブロック101の2番目のトランザクション終了後に、マスタ回路ブロック102の最初のトランザクション(アドレスAd3へのデータD3の書き込み)のコマンドである書き込みコマンドWrite2の送信を行い、このトランザクション終了後に2番目のトランザクション(アドレスAd4へのデータD4の書き込み)のコマンドである書き込みコマンドWrite3の送信を行う。
In the bus structure constituted by the shared bus connection, for example, the command of the second transaction (reading of data D2 from address Ad2) after the completion of the first transaction (writing of data D1 to address Ad1) by
共有バス接続で構成されるバス構造では1つのマスタ回路ブロックのパイプライン処理(トランザクション)終了後に別のマスタ回路ブロックがコマンドを送信するため、処理効率が良くない。 In a bus structure constituted by shared bus connections, processing efficiency is not good because another master circuit block transmits a command after the pipeline processing (transaction) of one master circuit block is completed.
このように本実施形態のデータ転送装置により、共有バス接続で構成されるバス構造よりもデータ転送効率を良くし、クロスバー接続で構成されるバス構造よりも配線量を低減することができ、回路面積、発熱量、消費電力等を低減することができる。 As described above, the data transfer device according to the present embodiment can improve data transfer efficiency than the bus structure configured by the shared bus connection, and can reduce the wiring amount than the bus structure configured by the crossbar connection. Circuit area, heat generation, power consumption, and the like can be reduced.
上述した実施の形態はいずれも一例であって制限的なものではないと考えられるべきである。例えば、上記実施形態ではリクエストフェイズをクロスバー301で実行し、データフェイズ及びレスポンスフェイズを共有バス201で実行していたが、リクエストフェイズ及びデータフェイズをクロスバー301で実行し、レスポンスフェイズを共有バス201で実行するようにしてもよい。その場合、データ転送装置が有する制御回路は図12に示すような構成になる。データフェイズにて、ポート501を介して受信した信号を経路分岐回路701がポート503又は504へ送信し、ポート503又は504を介して受信した信号をCB整列回路801に接続されたデータ保持回路602に格納する。データフェイズをクロスバーで実行するため、上記実施形態のデータ転送装置より配線量が増加するが、転送効率を良くすることができる。
Each of the above-described embodiments is an example and should be considered not restrictive. For example, in the above embodiment, the request phase is executed by the
図9に示す例では、それぞれのフェイズ内での転送は独立しているものとしていたが、上位のフェイズ内の転送完了条件が下位フェイズの転送状況によって制御されない、つまりリクエストフェイズより下位のデータフェイズ及びレスポンスフェイズの転送状況はリクエストフェイズでは考慮されない、ようなプロトコルにしても良い。 In the example shown in FIG. 9, the transfer in each phase is assumed to be independent, but the transfer completion condition in the upper phase is not controlled by the transfer status in the lower phase, that is, the data phase lower than the request phase. The protocol may be such that the transfer status in the response phase is not considered in the request phase.
上記実施形態ではデータ転送をリクエストフェイズ、データフェイズ、レスポンスフェイズの3つのフェイズに分割していたが、分割するフェイズは3つでなくてもよい。その場合、制御回路内には各フェイズに対応した保持回路が備えられる。また各フェイズを共有バス、クロスバーのどちらで実行するかは、処理効率及び配線量の設定条件から決定され得る。 In the above embodiment, the data transfer is divided into three phases of request phase, data phase, and response phase, but the number of divided phases may not be three. In that case, a holding circuit corresponding to each phase is provided in the control circuit. Whether each phase is executed by the shared bus or the crossbar can be determined from the setting conditions of the processing efficiency and the wiring amount.
本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The technical scope of the present invention is defined by the terms of the claims, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
101、102 マスタ回路ブロック
103、104 スレーブ回路ブロック
201 共有バス
301 クロスバー
401〜404 制御回路
101, 102
Claims (5)
それぞれ対応する前記マスタ回路ブロックとの通信を行うn個の第1の制御回路と、
それぞれ対応する前記スレーブ回路ブロックとの通信を行うm個の第2の制御回路と、
前記第1の制御回路及び前記第2の制御回路に接続された共有バスと、
n個の前記第1の制御回路とm個の前記第2の制御回路との間をそれぞれ接続するクロスバー部と、
を備え、
前記第1の制御回路及び前記第2の制御回路は、前記マスタ回路ブロックが前記スレーブ回路ブロックへ送信する命令信号及び前記スレーブ回路ブロックが前記命令信号の受信に伴い前記マスタ回路ブロックへ送信する命令応答信号を前記クロスバー部を介して転送し、前記マスタ回路ブロックが前記スレーブ回路へ送信する書き込みデータ信号及び前記スレーブ回路ブロックが前記マスタ回路ブロックへ送信する読み出しデータ信号を前記共有バスを介して転送することを特徴とするデータ転送装置。 A data transfer device for transferring data between n (n is an integer of 1 or more) master circuit blocks and m (m is an integer of 1 or more) slave circuit blocks,
N first control circuits each communicating with the corresponding master circuit block;
M second control circuits each communicating with the corresponding slave circuit block;
A shared bus connected to the first control circuit and the second control circuit;
a crossbar portion connecting between each of the n first control circuits and the m second control circuits;
With
The first control circuit and the second control circuit include a command signal that the master circuit block transmits to the slave circuit block and a command that the slave circuit block transmits to the master circuit block upon receiving the command signal. A response signal is transferred via the crossbar unit, and a write data signal transmitted from the master circuit block to the slave circuit and a read data signal transmitted from the slave circuit block to the master circuit block are transmitted via the shared bus. A data transfer apparatus for transferring data.
前記マスタ回路ブロックと接続される第1のポートと、
前記共有バスと接続される第2のポートと、
前記クロスバー部と接続されるm個の第3のポートと、
前記マスタ回路ブロックと前記スレーブ回路ブロックのそれぞれのアドレス情報を格納するアドレステーブルを有し、前記マスタ回路ブロックから送信される命令信号を前記命令信号と共に前記マスタ回路ブロックから送信されるアドレス信号と前記アドレステーブルとの照合により前記アドレス信号に対応すると判定される前記m個の第3のポートのいずれかに送信し、前記マスタ回路ブロックから送信される書き込みデータ信号を前記第2のポートへ送信する経路分岐回路と、
前記第2のポートを介して受信した読み出しデータ信号を格納し、前記第1のポートを介して前記マスタ回路ブロックへ送信するレスポンス保持回路と、
を備えることを特徴とする請求項1記載のデータ転送装置。 The first control circuit includes:
A first port connected to the master circuit block;
A second port connected to the shared bus;
M third ports connected to the crossbar portion;
An address table for storing address information of each of the master circuit block and the slave circuit block; an instruction signal transmitted from the master circuit block; an address signal transmitted from the master circuit block together with the instruction signal; and Transmit to one of the m third ports determined to correspond to the address signal by collating with an address table, and transmit a write data signal transmitted from the master circuit block to the second port A route branch circuit;
A response holding circuit for storing a read data signal received via the second port and transmitting the read data signal to the master circuit block via the first port;
The data transfer apparatus according to claim 1, further comprising:
前記スレーブ回路ブロックと接続される第1のポートと、
前記共有バスと接続される第2のポートと、
前記クロスバー部と接続されるn個の第3のポートと、
前記第3のポートを介して受信する命令信号を格納し、前記第1のポートを介して前記スレーブ回路ブロックへ送信するリクエスト保持回路と、
前記第2のポートを介して受信する書き込みデータ信号を格納し、前記第1のポートを介して前記スレーブ回路ブロックへ送信するデータ保持回路と、
前記スレーブ回路ブロックが前記命令信号の受信に伴い送信する前記命令応答信号を前記命令信号が入力された前記第3のポートへ送信し、前記スレーブ回路ブロックが送信する読み出しデータ信号を前記第2のポートへ送信する経路分岐回路と、
を備えることを特徴とする請求項1又は2記載のデータ転送装置。 The second control circuit includes:
A first port connected to the slave circuit block;
A second port connected to the shared bus;
N third ports connected to the crossbar portion;
A request holding circuit for storing a command signal received via the third port and transmitting the command signal to the slave circuit block via the first port;
A data holding circuit for storing a write data signal received via the second port and transmitting the write data signal to the slave circuit block via the first port;
The slave circuit block transmits the command response signal transmitted when the command signal is received to the third port to which the command signal is input, and the read data signal transmitted by the slave circuit block is transmitted to the second port. A route branching circuit to transmit to the port;
The data transfer apparatus according to claim 1, further comprising:
それぞれ対応する前記マスタ回路ブロックとの通信を行うn個の第1の制御回路と、
それぞれ対応する前記スレーブ回路ブロックとの通信を行うm個の第2の制御回路と、
前記第1の制御回路及び前記第2の制御回路に接続された共有バスと、
n個の前記第1の制御回路とm個の前記第2の制御回路との間をそれぞれ接続するクロスバー部と、
を備え、
前記第1の制御回路及び前記第2の制御回路は、前記マスタ回路ブロックが前記スレーブ回路ブロックへ送信する命令信号、書き込みデータ信号及び前記スレーブ回路ブロックが前記命令信号の受信に伴い前記マスタ回路ブロックへ送信する命令応答信号を前記クロスバー部を介して転送し、前記スレーブ回路ブロックが前記マスタ回路ブロックへ送信する読み出しデータ信号を前記共有バスを介して転送することを特徴とするデータ転送装置。 A data transfer device for transferring data between n (n is an integer of 1 or more) master circuit blocks and m (m is an integer of 1 or more) slave circuit blocks,
N first control circuits each communicating with the corresponding master circuit block;
M second control circuits each communicating with the corresponding slave circuit block;
A shared bus connected to the first control circuit and the second control circuit;
a crossbar portion connecting between each of the n first control circuits and the m second control circuits;
With
The first control circuit and the second control circuit are configured such that the master circuit block receives the command signal, the write data signal, and the slave circuit block that the master circuit block transmits to the slave circuit block. A data transfer apparatus, wherein a command response signal to be transmitted to the master circuit block is transferred via the crossbar unit, and a read data signal to be transmitted from the slave circuit block to the master circuit block is transferred via the shared bus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006345986A JP2008158747A (en) | 2006-12-22 | 2006-12-22 | Data transfer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006345986A JP2008158747A (en) | 2006-12-22 | 2006-12-22 | Data transfer device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008158747A true JP2008158747A (en) | 2008-07-10 |
Family
ID=39659593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006345986A Pending JP2008158747A (en) | 2006-12-22 | 2006-12-22 | Data transfer device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008158747A (en) |
-
2006
- 2006-12-22 JP JP2006345986A patent/JP2008158747A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831507B2 (en) | Configuration load of a reconfigurable data processor | |
US11188497B2 (en) | Configuration unload of a reconfigurable data processor | |
US8165120B2 (en) | Buffering architecture for packet injection and extraction in on-chip networks | |
JP4621604B2 (en) | Bus device, bus system, and information transfer method | |
KR20070059899A (en) | Crossbar switch architecture for multi-processor soc platform | |
US10282343B2 (en) | Semiconductor device | |
US20060212619A1 (en) | Data processing system | |
US20050169304A1 (en) | Information processing unit | |
US9104819B2 (en) | Multi-master bus architecture for system-on-chip | |
JP3578075B2 (en) | Disk array control device and disk array control method | |
JPH11167560A (en) | Data transfer system, switching circuit used to the transfer system, adapter, integrated circuit having the transfer system and data transfer method | |
US7783804B2 (en) | Bus relay device and bus control system including plurality of bus masters, bus slave, interconnect section, and bridge section | |
JP2008158747A (en) | Data transfer device | |
JPH10320365A (en) | Data exchange device and method therefor | |
US7353297B2 (en) | Handling of write transactions in a data processing apparatus | |
US20060112207A1 (en) | Data transfer apparatus | |
US11983140B2 (en) | Efficient deconfiguration of a reconfigurable data processor | |
JP4472402B2 (en) | Bus equipment | |
US7269681B1 (en) | Arrangement for receiving and transmitting PCI-X data according to selected data modes | |
KR940005436B1 (en) | Switching apparatus | |
JP2976700B2 (en) | Synchronous control method between processors | |
JP2006091982A (en) | On-chip bus system | |
WO2024086639A1 (en) | Pcie retimer providing failover to redundant endpoint and multiple endpoint switching using synchronized multi-tile data interface | |
WO2024086641A1 (en) | Data lane deskew and rate adaptation in a package containing multiple circuit dies | |
JP3336623B2 (en) | Data transfer method |