JP2009251652A - Multi-core system - Google Patents

Multi-core system Download PDF

Info

Publication number
JP2009251652A
JP2009251652A JP2008095077A JP2008095077A JP2009251652A JP 2009251652 A JP2009251652 A JP 2009251652A JP 2008095077 A JP2008095077 A JP 2008095077A JP 2008095077 A JP2008095077 A JP 2008095077A JP 2009251652 A JP2009251652 A JP 2009251652A
Authority
JP
Japan
Prior art keywords
data
transfer
communication system
bus
transfer data
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
Application number
JP2008095077A
Other languages
Japanese (ja)
Inventor
Akira Yamamoto
亮 山本
Fumitoshi Karube
文利 輕部
Takayuki Minegishi
孝行 峯岸
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008095077A priority Critical patent/JP2009251652A/en
Publication of JP2009251652A publication Critical patent/JP2009251652A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multi-core system for reducing the memory cost of the whole system by reducing overall latency. <P>SOLUTION: Input buffer parts 5-1 to 5-m store transfer data from bus masters 2-1 to 2-m. A grid queue memory 6 is configured to store transfer data by a number acquired by multiplying the number of the bus masters 2-1 to 2-m by the number of bus slaves 3-1 to 3-n, and to simultaneously output the stored transfer data. The transfer data from the grid queue memory 6 are arbitrated by a cross bar 8, and outputted to output buffer parts 9-1 to 9-n installed corresponding to the bus slaves 3-1 to 3-n. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、複数のバスマスタおよび複数のバススレーブ間に接続され、それら複数のバスマスタおよび複数のバススレーブ間を相互にデータ転送を行うマルチコアシステムに関するものである。   The present invention relates to a multi-core system that is connected between a plurality of bus masters and a plurality of bus slaves and performs data transfer between the plurality of bus masters and the plurality of bus slaves.

従来のマルチコアシステムは、複数のバスマスタからの転送データを振り分け、複数のバスマスタから複数のバススレーブに同時に通信するようにしたものがあった(例えば、特許文献1参照)。   Some conventional multi-core systems distribute transfer data from a plurality of bus masters and simultaneously communicate from a plurality of bus masters to a plurality of bus slaves (see, for example, Patent Document 1).

特開2006−39677号公報JP 2006-39677 A

しかしながら、従来のマルチコアシステムでは、それぞれの入力キューに蓄積される最大の個数のデータを保持する必要があり、全ての入力キューがある時刻において、同時に最大個数のデータを保持することがない場合においては、バッファ容量の無駄があるといった問題があった。   However, in the conventional multi-core system, it is necessary to hold the maximum number of data accumulated in each input queue, and when all the input queues do not hold the maximum number of data at a certain time at the same time. However, there was a problem that the buffer capacity was wasted.

またリードデータとライトデータは、一般にそのデータ構造やデータの大きさが異なるにもかかわらず、同じ入力キューに格納しており、バスマスタからリードデータとライトデータが同程度に転送されるシステムにおいては、メモリ使用効率が劣化するといった問題があった。   In general, read data and write data are stored in the same input queue regardless of their data structure and data size, and in systems where read data and write data are transferred to the same extent from the bus master. There was a problem that the memory use efficiency deteriorated.

また、従来のマルチコアシステムでは、各バスマスタと各バススレーブは平等に接続されており、ある特定のバスマスタとバススレーブ間の帯域を考慮しておらず、平均的なレイテンシが大きいといった問題があった。   Further, in the conventional multi-core system, each bus master and each bus slave are connected equally, and there is a problem that the average latency is large without considering the band between a specific bus master and the bus slave. .

また、従来のマルチコアシステムでは、バスマスタからバススレーブへのリクエスト要求を転送するリクエスト通信システムとバススレーブからバスマスタへレスポンスを転送するレスポンス通信システム間において、互いの状態を監視していないため、システム全体でのメモリを効率的に配置することができず、またビジーの発生により、効率的なデータ転送ができないといった問題があった。   In addition, in the conventional multi-core system, the state of each other is not monitored between the request communication system that transfers the request request from the bus master to the bus slave and the response communication system that transfers the response from the bus slave to the bus master. In this case, there is a problem that the memory cannot be arranged efficiently, and efficient data transfer cannot be performed due to the occurrence of busy.

この発明は上記のような課題を解決するためになされたもので、複数のバスマスタからの複数の転送データを全体的なレイテンシを小さくし、かつシステム全体のメモリコストを削減することのできるマルチコアシステムを得ることを目的とする。   The present invention has been made to solve the above-described problems, and is a multi-core system capable of reducing the overall latency of a plurality of transfer data from a plurality of bus masters and reducing the memory cost of the entire system. The purpose is to obtain.

この発明に係るマルチコアシステムは、複数のデータ転送元からの転送データをデータ転送先に転送するマルチコアシステムにおいて、転送データを蓄積する入力バッファ部と、入力バッファから出力された転送データを、データ転送元の個数とデータ転送先の個数を乗じた数だけ格納可能で、データ転送元の個数とデータ転送先の個数を乗じた数だけのデータを同時に出力することが可能なグリッドキューメモリと、入力バッファからの転送データをグリッドキューメモリに格納するアドレスを管理するアドレス管理部と、グリッドキューメモリから出力された転送データを調停して出力するクロスバと、クロスバから出力された転送データを格納し、順次、データ転送先へと転送する出力バッファ部とを備えたものである。   The multi-core system according to the present invention is a multi-core system for transferring transfer data from a plurality of data transfer sources to a data transfer destination, an input buffer unit for storing the transfer data, and transfer data output from the input buffer for data transfer. Grid queue memory that can store as many times as the original number and the number of data transfer destinations, and can output the same number of data as the number of data transfer sources and the number of data transfer destinations, and input An address management unit that manages addresses for storing transfer data from the buffer in the grid queue memory, a crossbar that arbitrates and outputs the transfer data output from the grid queue memory, and stores the transfer data output from the crossbar. And an output buffer unit for sequentially transferring the data to the data transfer destination.

この発明のマルチコアシステムは、データ転送元の個数とデータ転送先の個数を乗じた数だけ転送データを格納可能で、データ転送元の個数とデータ転送先の個数を乗じた数だけのデータを同時に出力することが可能なグリッドキューメモリを設け、データ転送元からの複数の転送データをデータ転送先に転送するようにしたので、効率的にデータ転送をしつつ、バッファ容量を削減することができる。   The multi-core system of the present invention can store transfer data by the number of data transfer sources multiplied by the number of data transfer destinations, and simultaneously store the number of data multiplied by the number of data transfer sources and the number of data transfer destinations. Since a grid queue memory that can output data is provided and a plurality of transfer data from the data transfer source is transferred to the data transfer destination, the buffer capacity can be reduced while efficiently transferring data. .

実施の形態1.
図1は、この発明の実施の形態1によるマルチコアシステムを示す構成図である。
図1において、マルチコアシステム1は、データ転送元である複数のバスマスタ(M1〜Mm)2−1〜2−mと、データ転送先である複数のバススレーブ(S1〜Sn)3−1〜3−nとの間に設けられる装置である。このマルチコアシステム1は、バスマスタ2−1〜2−mからの転送データをバススレーブ3−1〜3−nに転送するリクエスト通信システム4−1と、バススレーブ3−1〜3−nからのレスポンスとなる転送データをバスマスタ2−1〜2−mへと転送するレスポンス通信システム4−2とで構成されている。尚、バスマスタ2−1〜2−mはM個、バススレーブ3−1〜3−nはN個が設けられているとする。また、リクエスト通信システム4−1とレスポンス通信システム4−2は、それぞれ、入力バッファ部5−1,5−2,…,5−m、グリッドキューメモリ6、アドレス管理部7、クロスバ8、出力バッファ部9−1,9−2,…,9−nを備えている。尚、レスポンス通信システム4−2内の構成に関する図示は省略している。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a multi-core system according to Embodiment 1 of the present invention.
In FIG. 1, a multi-core system 1 includes a plurality of bus masters (M1 to Mm) 2-1 to 2-m that are data transfer sources and a plurality of bus slaves (S1 to Sn) 3-1 to 3 that are data transfer destinations. -N. This multi-core system 1 includes a request communication system 4-1 for transferring transfer data from bus masters 2-1 to 2-m to bus slaves 3-1 to 3-n, and bus slaves 3-1 to 3-n. The response communication system 4-2 transfers transfer data serving as a response to the bus masters 2-1 to 2-m. It is assumed that M bus masters 2-1 to 2-m and N bus slaves 3-1 to 3-n are provided. In addition, the request communication system 4-1 and the response communication system 4-2 have input buffer units 5-1, 5-2,..., 5-m, a grid queue memory 6, an address management unit 7, a crossbar 8, and an output, respectively. Buffer units 9-1, 9-2,..., 9-n are provided. In addition, illustration regarding the structure in the response communication system 4-2 is abbreviate | omitted.

複数のバスマスタ2−1〜2−mは、データ転送を要求する装置であり、複数のバススレーブ3−1〜3−nは、複数のバスマスタ2−1〜2−mの要求に基づき、バスマスタ2−1〜2−mのデータをリード/ライトする装置である。リクエスト通信システム4−1は、バスマスタ2−1〜2−mからの要求をバススレーブ3−1〜3−nへ転送するシステムであり、レスポンス通信システム4−2は、バススレーブ3−1〜3−nからの転送データをバスマスタ2−1〜2−mへ転送する通信システムである。   The plurality of bus masters 2-1 to 2-m are devices that request data transfer, and the plurality of bus slaves 3-1 to 3-n are based on requests from the plurality of bus masters 2-1 to 2-m. This is a device for reading / writing data 2-1 to 2-m. The request communication system 4-1 is a system for transferring requests from the bus masters 2-1 to 2-m to the bus slaves 3-1 to 3-n, and the response communication system 4-2 is a bus slave 3-1 to 3-1. This is a communication system that transfers transfer data from 3-n to bus masters 2-1 to 2-m.

入力バッファ部5−1〜5−mは、M個のバスマスタ2−1〜2−mに対応してM個設けられ、それぞれバスマスタ2−1〜2−mから転送要求されたデータを一時的に格納するバッファである。グリッドキューメモリ6は、バスマスタ2−1〜2−mの個数Mとバススレーブ3−1〜3−nの個数Nを乗じた数(M1S1〜MmSn)だけデータを格納でき、同時にM×Nのデータを出力できるように構成されている。アドレス管理部7は、入力バッファ部5−1〜5−mと、グリッドキューメモリ6のアドレスを管理するよう構成されている。即ち、アドレス管理部7は、グリッドキューメモリ6に空きがあれば入力バッファ部5−1〜5−mからデータ100−1〜100−mをグリッドキューメモリ6に書き込むようアドレス管理を行う。クロスバ8は、グリッドキューメモリ6から送出された複数の転送要求データの中から、調停を行い、N個のバススレーブ3−1〜3−nに対応してN個設けられた出力バッファ部9−1〜9−nにデータを転送するよう構成されている。即ち、クロスバ8は、グリッドキューメモリ6から送出された複数の転送データの中から、調停を行い、出力バッファ部9−1〜9−nへ転送データを転送する。出力バッファ部9−1〜9−nは、クロスバ8から転送されてきた転送データを順次対応するバススレーブ3−1〜3−nへと転送し、バススレーブ3−1〜3−nがビジーで、転送データを受け付けない場合は、データを一時的に保持するバッファ部である。   M input buffer units 5-1 to 5-m are provided corresponding to the M bus masters 2-1 to 2-m, and temporarily transfer data requested from the bus masters 2-1 to 2-m, respectively. Is the buffer to store in The grid queue memory 6 can store data by a number (M1S1 to MmSn) obtained by multiplying the number M of bus masters 2-1 to 2-m and the number N of bus slaves 3-1 to 3-n, and at the same time, M × N. It is configured to output data. The address management unit 7 is configured to manage the addresses of the input buffer units 5-1 to 5-m and the grid queue memory 6. In other words, the address management unit 7 performs address management so that the data 100-1 to 100-m are written to the grid queue memory 6 from the input buffer units 5-1 to 5-m if the grid queue memory 6 is free. The crossbar 8 performs arbitration from a plurality of transfer request data sent from the grid queue memory 6, and N output buffer units 9 are provided corresponding to the N bus slaves 3-1 to 3-n. It is configured to transfer data to -1 to 9-n. That is, the crossbar 8 performs arbitration from among a plurality of transfer data sent from the grid queue memory 6 and transfers the transfer data to the output buffer units 9-1 to 9-n. The output buffer units 9-1 to 9-n sequentially transfer the transfer data transferred from the crossbar 8 to the corresponding bus slaves 3-1 to 3-n, and the bus slaves 3-1 to 3-n are busy. When the transfer data is not accepted, the buffer unit temporarily holds the data.

尚、レスポンス通信システム4−2については、入力バッファ部5−1〜5−mが、データ転送元となるN個のバススレーブ3−1〜3−nに対応してN個設けられ、出力バッファ部9−1〜9−nが、データ転送先となるM個のバスマスタ2−1〜2−mに対応してM個設けられているが、基本的な構成についてはリクエスト通信システム4−1と同様であるため、ここでの説明は省略する。   Regarding the response communication system 4-2, N input buffer units 5-1 to 5-m are provided corresponding to N bus slaves 3-1 to 3-n that are data transfer sources, and output. There are M buffer units 9-1 to 9-n corresponding to the M bus masters 2-1 to 2-m serving as data transfer destinations. Since this is the same as 1, description thereof is omitted here.

次に、実施の形態1のマルチコアシステムの動作について説明する。
先ず、バスマスタ2−1〜2−mからデータ転送要求が発行されると、これらのバスマスタ2−1〜2−mに対応したそれぞれの入力バッファ部5−1〜5−mは、これらの転送データを保持する。
Next, the operation of the multi-core system according to the first embodiment will be described.
First, when a data transfer request is issued from the bus masters 2-1 to 2-m, the input buffer units 5-1 to 5-m corresponding to the bus masters 2-1 to 2-m Retain data.

図2は、バスマスタから発行されるデータ転送要求の例である。
リクエストデータは、リクエスト、制御情報およびデータから構成される。例えば、リクエストとしては、要求を示すリクエスト、発行元のバスマスタの識別IDを示すマスタID、宛先のバススレーブの識別を示すスレッドIDがある。そして、制御情報としては、書き込みまたは読み出し要求を示すR/W、宛先のバススレーブのアドレスを示すアドレス、転送の種類(バースト転送かどうか)を示す転送種別がある。最後に、データとしては、バススレーブに書き込むデータがあり、合計Mbitで構成される。アドレス管理部7は、宛先情報101としてこのマスタIDとバススレーブのアドレスから、入力バッファ部5−1〜5−mからの転送データ100−1〜100−mをグリッドキューメモリ6に格納する。
FIG. 2 is an example of a data transfer request issued from the bus master.
The request data includes a request, control information, and data. For example, the request includes a request indicating a request, a master ID indicating an identification ID of an issuing bus master, and a thread ID indicating an identification of a destination bus slave. The control information includes R / W indicating a write or read request, an address indicating an address of a destination bus slave, and a transfer type indicating a transfer type (whether it is a burst transfer). Finally, as data, there is data to be written to the bus slave, which is composed of total Mbits. The address management unit 7 stores the transfer data 100-1 to 100-m from the input buffer units 5-1 to 5-m in the grid queue memory 6 from the master ID and the address of the bus slave as the destination information 101.

グリッドキューメモリ6は、同時に格納されている全てのデータを転送要求候補として、クロスバ8へ送出する。クロスバ8では、グリッドキューメモリ6から送られてきた転送データの中から調停を行い、対応する出力バッファ部9−1〜9−nに転送データを送出する。バススレーブ3−1〜3−nがビジーでなければ、出力バッファ部9−1〜9−nは、バススレーブ3−1〜3−nへデータを転送する。   The grid queue memory 6 sends all the data stored at the same time to the crossbar 8 as transfer request candidates. The crossbar 8 performs arbitration from the transfer data sent from the grid queue memory 6 and sends the transfer data to the corresponding output buffer units 9-1 to 9-n. If the bus slaves 3-1 to 3-n are not busy, the output buffer units 9-1 to 9-n transfer data to the bus slaves 3-1 to 3-n.

クロスバ8から出力バッファ部9−1〜9−nへデータが転送されると、クロスバ8からアドレス管理部7に対して、転送されたデータ情報103として通知される。アドレス管理部7は、この通知を受けて、グリッドキューメモリ6に転送されたデータがあれば、入力バッファ部5−1〜5−mから新たに転送するデータをグリッドキューメモリ6に書き込むためのアドレスや書き込み指示情報である格納状態情報102を入力バッファ部5−1〜5−mに通知する。このようにして、リクエスト通信システム4−1内では、入力バッファ部5−1〜5−mに格納されたデータがグリッドキューメモリ6からクロスバ8を経て出力バッファ部9−1〜9−nに送出される。   When data is transferred from the crossbar 8 to the output buffer units 9-1 to 9-n, the crossbar 8 notifies the address management unit 7 as transferred data information 103. In response to this notification, if there is data transferred to the grid queue memory 6, the address management unit 7 writes data to be newly transferred from the input buffer units 5-1 to 5-m to the grid queue memory 6. The storage state information 102 which is an address and write instruction information is notified to the input buffer units 5-1 to 5-m. In this way, in the request communication system 4-1, the data stored in the input buffer units 5-1 to 5-m is transferred from the grid queue memory 6 to the output buffer units 9-1 to 9-n via the crossbar 8. Sent out.

また、バススレーブ3−1〜3−nからバスマスタ2−1〜2−mへの転送データを転送するレスポンス通信システム4−2においてもリクエスト通信システム4−1と同様の動作によりデータ転送を行う。   In the response communication system 4-2 for transferring transfer data from the bus slaves 3-1 to 3-n to the bus masters 2-1 to 2-m, data transfer is performed by the same operation as that of the request communication system 4-1. .

以上のように、実施の形態1のマルチコアシステムによれば、複数のデータ転送元からの転送データをデータ転送先に転送するマルチコアシステムにおいて、転送データを蓄積する入力バッファ部と、入力バッファから出力された転送データを、データ転送元の個数とデータ転送先の個数を乗じた数だけ格納可能で、データ転送元の個数とデータ転送先の個数を乗じた数だけのデータを同時に出力することが可能なグリッドキューメモリと、入力バッファからの転送データをグリッドキューメモリに格納するアドレスを管理するアドレス管理部と、グリッドキューメモリから出力された転送データを調停して出力するクロスバと、クロスバから出力された転送データを格納し、順次、データ転送先へと転送する出力バッファ部とを備えたので、効率的にデータ転送をしつつ、バッファ容量を削減することができる。   As described above, according to the multicore system of the first embodiment, in a multicore system that transfers transfer data from a plurality of data transfer sources to a data transfer destination, an input buffer unit that accumulates transfer data and an output from the input buffer It is possible to store the transferred data as many as the number of data transfer sources and the number of data transfer destinations, and simultaneously output as many data as the number of data transfer sources and the number of data transfer destinations. Possible grid queue memory, address management unit that manages the address where transfer data from the input buffer is stored in the grid queue memory, crossbar that arbitrates and outputs the transfer data output from the grid queue memory, and outputs from the crossbar Output buffer section that stores the transferred data and sequentially transfers it to the data transfer destination While efficient data transfer can be reduced buffer capacity.

実施の形態2.
図3は、この発明の実施の形態2によるマルチコアシステム1aを示す構成図である。図3において、マルチコアシステム1aは、複数のバスマスタ2−1〜2−mと、複数のバススレーブ3−1〜3−nとの間に設けられる装置であり、複数の転送データから調停を行い、選択された転送データを複数、あるいは一つを転送する通信システム10、バイパス制御部11、選択部12、選択制御部13を備えている。尚、この実施の形態は、バスマスタ2−1からバススレーブ3−1への転送要求がシステム全体において、比較的多い場合を示したものである。
Embodiment 2. FIG.
FIG. 3 is a block diagram showing a multi-core system 1a according to Embodiment 2 of the present invention. In FIG. 3, a multi-core system 1a is a device provided between a plurality of bus masters 2-1 to 2-m and a plurality of bus slaves 3-1 to 3-n, and performs arbitration from a plurality of transfer data. A communication system 10, a bypass control unit 11, a selection unit 12, and a selection control unit 13 are provided that transfer a plurality of selected transfer data or one of them. This embodiment shows a case where there are relatively many transfer requests from the bus master 2-1 to the bus slave 3-1.

バイパス制御部11は、バスマスタ2−1からの転送要求データの中から、バススレーブ3−1への転送データの場合は、選択部12へのバイパス経路を介してバイパス転送データ110として転送し、バススレーブ3−1以外の転送データは、通信システム10に転送する制御部である。通信システム10は、複数の転送要求データの中から調停により、複数の転送データ、あるいは一つの転送データを選択し、出力するよう構成されており、実施の形態1におけるリクエスト通信システム4−1と同様の構成を備えている。選択部12は、選択制御部13によって生成された選択制御信号112により、バイパス経路を経て送られてきたバイパス転送データ110と、通信システム10から選ばれた転送データ111の中からいずれかを選択し、バススレーブ3−1に出力するよう構成されている。   In the case of transfer data to the bus slave 3-1 from the transfer request data from the bus master 2-1, the bypass control unit 11 transfers the data as bypass transfer data 110 via the bypass path to the selection unit 12. Transfer data other than the bus slave 3-1 is a control unit that transfers to the communication system 10. The communication system 10 is configured to select and output a plurality of transfer data or one transfer data by arbitration from among a plurality of transfer request data, and the request communication system 4-1 according to the first embodiment. It has the same configuration. The selection unit 12 selects one of the bypass transfer data 110 sent via the bypass path and the transfer data 111 selected from the communication system 10 by the selection control signal 112 generated by the selection control unit 13. Then, it is configured to output to the bus slave 3-1.

次に、実施の形態2の動作について説明する。
バイパス制御部11は、バスマスタ2−1から転送されてきたデータのアドレスに基づいて、バススレーブ3−1への転送データであれば、バイパス経路を介してバイパス転送データ110を送出し、それ以外であれば通信システム10へ転送データを送出する。
通信システム10は、バスマスタ2−1〜2−mからの複数の転送データの中から一つ、あるいは複数の転送データを選択し、バススレーブ3−1〜3−nへと出力する。尚、この実施の形態2では、通信システム10には、バスマスタ2−1からバススレーブ3−1への転送データは入力されないことになる。
Next, the operation of the second embodiment will be described.
The bypass control unit 11 sends the bypass transfer data 110 via the bypass path if it is transfer data to the bus slave 3-1, based on the address of the data transferred from the bus master 2-1. If so, the transfer data is sent to the communication system 10.
The communication system 10 selects one or a plurality of transfer data from a plurality of transfer data from the bus masters 2-1 to 2-m, and outputs the selected data to the bus slaves 3-1 to 3-n. In the second embodiment, transfer data from the bus master 2-1 to the bus slave 3-1 is not input to the communication system 10.

選択部12は、バイパス経路からのバイパス転送データ110とバスマスタ2−1以外のバスマスタ2−2〜2−mからバススレーブ3−1への転送データの中から通信システム10によって選択された一つの転送データ111が入力される。また、選択制御部13は、バイパス転送データ110とバスマスタ2−1以外のバスマスタ2−2〜2−mからバススレーブ3−1への転送データの中から通信システム10によって選択された一つの転送データ111のうちどちらかを選択するかを示す選択制御信号112を生成する。この制御方法は、例えば、重みづけラウンドロビンや固定アービトレーションなどによって実現できる。または、通信システム10内部において、蓄積データの中にバススレーブ3−1への転送要求がなければバイパス転送データ110を選択するといったこともできる。   The selector 12 selects one of the bypass transfer data 110 from the bypass path and the transfer data from the bus masters 2-2 to 2-m other than the bus master 2-1 to the bus slave 3-1, which is selected by the communication system 10. Transfer data 111 is input. Further, the selection control unit 13 selects one transfer selected by the communication system 10 from the transfer data from the bus masters 2-2 to 2-m other than the bus master 2-1 and the bus master 2-1, to the bus slave 3-1. A selection control signal 112 indicating which one of the data 111 is to be selected is generated. This control method can be realized, for example, by weighted round robin or fixed arbitration. Alternatively, if there is no transfer request to the bus slave 3-1 in the stored data in the communication system 10, the bypass transfer data 110 can be selected.

選択部12は、選択制御部13によって生成された選択制御信号112によりいずれかを選択し、バススレーブ3−1へデータを転送する。また、選択制御部13によりバイパス転送データ110が選択されない場合、選択部12は、そのバイパス転送データ110を保持する。   The selection unit 12 selects one of the selection control signals 112 generated by the selection control unit 13 and transfers the data to the bus slave 3-1. When the bypass transfer data 110 is not selected by the selection control unit 13, the selection unit 12 holds the bypass transfer data 110.

実施の形態2では、説明を分かり易くするため、バスマスタ2−1とバススレーブ3−1の帯域が大きい場合の形態を示したが、この組み合わせは自由であり、また複数の組み合わせも容易に実現できる。以下、その一例を説明する。   In the second embodiment, the case where the bandwidth of the bus master 2-1 and the bus slave 3-1 is large is shown for easy understanding. However, this combination is free, and a plurality of combinations can be easily realized. it can. An example will be described below.

例えば、図4のマルチコアシステム1bに示すように、各バスマスタ2−1〜2−mに対応してM個のバイパス制御部11−1〜11−mを設け、更に、選択部12をクロスバ8に置き換えることで、どのような組み合わせにも対応できる構成が可能となる。バイパス制御部11−1〜11−mは、それぞれ、バスマスタ2−1〜2−mとバススレーブ3−1〜3−nとの組み合わせが決定されており、バイパス選択信号113によって、特定のバスマスタと特定のバススレーブが選択される。即ち、バイパス制御部11−1〜11−mは、バイパス選択信号113に基づいて、一つまたは複数の特定のバスマスタと特定のバススレーブの組み合わせを決定してバイパス転送データ110−1〜110−mとしてクロスバ8に出力する。クロスバ8は、選択制御信号112に基づいてバイパス転送データ110−1〜110−mか通信システム10から出力された転送データ111−1〜111−nかを選択し、対応するバススレーブ3−1〜3−nへと出力する。尚、図4中のバイパス選択信号113はマルチコアシステムへの入力であり、任意に設定が可能である。   For example, as shown in the multi-core system 1b of FIG. 4, M bypass control units 11-1 to 11-m are provided corresponding to the bus masters 2-1 to 2-m, and the selection unit 12 is connected to the crossbar 8 By replacing with, a configuration that can handle any combination is possible. In the bypass control units 11-1 to 11-m, combinations of the bus masters 2-1 to 2-m and the bus slaves 3-1 to 3-n are determined, respectively, and a specific bus master is determined by the bypass selection signal 113. And a specific bus slave is selected. That is, the bypass control units 11-1 to 11-m determine a combination of one or more specific bus masters and specific bus slaves based on the bypass selection signal 113, and bypass transfer data 110-1 to 110-. Output to the crossbar 8 as m. The crossbar 8 selects either the bypass transfer data 110-1 to 110-m or the transfer data 111-1 to 111-n output from the communication system 10 based on the selection control signal 112, and the corresponding bus slave 3-1. Output to ~ 3-n. Note that the bypass selection signal 113 in FIG. 4 is an input to the multi-core system, and can be arbitrarily set.

また、図5のマルチコアシステム1cに示すように、バスマスタ2−1〜2−mからの転送データ数を監視する帯域監視部14を備え、動的にバイパス制御部11−1〜11−mへバイパス経路を選択するかを制御することも可能である。即ち、帯域監視部14は、全てのバスマスタ2−1〜2−mからの転送データをカウントし、転送データが多いバスマスタ2−1〜2−mとバススレーブ3−1〜3−nを特定のバスマスタと特定のバススレーブとして、対応するバイパス制御部11−1〜11−mを選択するバイパス選択信号113aを出力する。バイパス選択信号113aが入力されたバイパス制御部11−1〜11−mは、対応するバスマスタ2−1〜2−mのバイパス転送データ110−1〜110−mをクロスバ8に出力する。また、バイパス選択信号113aは選択制御部13に入力され、選択制御部13は、バイパス選択信号113aに基づいて、選択制御信号112をクロスバ8に出力する。クロスバ8は、上記図4で示した例と同様に、バイパス転送データ110−1〜110−mか通信システム10から出力された転送データ111−1〜111−nかを選択し、対応するバススレーブ3−1〜3−nへと出力する。   Further, as shown in the multi-core system 1c of FIG. 5, a bandwidth monitoring unit 14 for monitoring the number of transfer data from the bus masters 2-1 to 2-m is provided, and dynamically to the bypass control units 11-1 to 11-m. It is also possible to control whether the bypass path is selected. That is, the bandwidth monitoring unit 14 counts the transfer data from all the bus masters 2-1 to 2-m, and identifies the bus masters 2-1 to 2-m and the bus slaves 3-1 to 3-n with a large amount of transfer data. As a bus master and a specific bus slave, a bypass selection signal 113a for selecting the corresponding bypass control units 11-1 to 11-m is output. The bypass control units 11-1 to 11-m to which the bypass selection signal 113a is input output the bypass transfer data 110-1 to 110-m of the corresponding bus masters 2-1 to 2-m to the crossbar 8. The bypass selection signal 113a is input to the selection control unit 13, and the selection control unit 13 outputs the selection control signal 112 to the crossbar 8 based on the bypass selection signal 113a. Similarly to the example shown in FIG. 4, the crossbar 8 selects either the bypass transfer data 110-1 to 110-m or the transfer data 111-1 to 111-n output from the communication system 10, and the corresponding bus Output to slaves 3-1 to 3-n.

また、実施の形態2では、バスマスタ2−1〜2−mからバススレーブ3−1〜3−nへのデータ転送を例に示したが、バススレーブ3−1〜3−nからバスマスタ2−1〜2−mへのレスポンスデータの転送についても同様の構成によって実現が可能である。   In the second embodiment, data transfer from the bus masters 2-1 to 2-m to the bus slaves 3-1 to 3-n has been described as an example. The transfer of the response data to 1-2m can be realized with the same configuration.

以上のように、実施の形態2のマルチコアシステムによれば、複数のデータ転送元からの転送データを複数のデータ転送先に転送するマルチコアシステムにおいて、特定のデータ転送元から特定のデータ転送先への転送データの場合はバイパス転送データとして出力するバイパス制御部と、特定のデータ転送元以外のデータ転送元から特定のデータ転送先への転送データとバイパス転送データとのいずれかを選択し、特定のデータ転送先に出力する選択部とを備えたので、例えば、ある特定のバスマスタとバススレーブの間の帯域が大きい場合、システム全体の転送のうち、比較的大きな部分を占めるある特定のバスマスタとバススレーブ間のデータ転送のレイテンシを小さくすることができ、その結果、システム全体の平均的なレイテンシを小さくことが可能である。   As described above, according to the multi-core system of the second embodiment, in a multi-core system that transfers transfer data from a plurality of data transfer sources to a plurality of data transfer destinations, from a specific data transfer source to a specific data transfer destination In the case of transfer data, select the bypass control unit that outputs as bypass transfer data, the transfer data from the data transfer source other than the specific data transfer source to the specific data transfer destination, and the bypass transfer data. For example, when the bandwidth between a specific bus master and a bus slave is large, a specific bus master that occupies a relatively large part of the transfer of the entire system and Data transfer latency between bus slaves can be reduced, resulting in an average latency for the entire system. Small it is possible.

また、実施の形態2のマルチコアシステムによれば、複数のデータ転送元に対応してバイパス制御部を複数設けると共に、これらバイパス制御部が、与えられるバイパス制御信号に基づいて、特定のデータ転送元から特定のデータ転送先へのバイパス転送データを送出し、かつ、選択部は、バイパス転送データと、特定のデータ転送元以外のデータ転送元から特定のデータ転送先への転送データのいずれかを選択して特定のデータ転送先に出力するようにしたので、任意のデータ転送元とデータ転送先のバイパスを設定することができる。   Further, according to the multi-core system of the second embodiment, a plurality of bypass control units are provided corresponding to a plurality of data transfer sources, and these bypass control units are configured to specify specific data transfer sources based on a given bypass control signal. The bypass transfer data is sent from the data transfer destination to the specific data transfer destination, and the selection unit selects either the bypass transfer data or the transfer data from the data transfer source other than the specific data transfer source to the specific data transfer destination. Since the data is selected and output to a specific data transfer destination, it is possible to set an arbitrary data transfer source and bypass of the data transfer destination.

また、実施の形態2のマルチコアシステムによれば、全てのデータ転送元からの転送データをカウントし、転送データが多いデータ転送元とデータ転送先とを、特定のデータ転送元と特定のデータ転送先として、対応するバイパス制御部を選択するバイパス選択信号を出力する帯域監視部を備えたので、転送データが多いデータ転送元とデータ転送先間において、動的にバイパスを設定することができる。   Further, according to the multi-core system of the second embodiment, transfer data from all data transfer sources is counted, and a data transfer source and a data transfer destination having a large amount of transfer data are designated as a specific data transfer source and a specific data transfer. Since a band monitoring unit that outputs a bypass selection signal for selecting a corresponding bypass control unit is provided as a destination, a bypass can be dynamically set between a data transfer source having a large amount of transfer data and a data transfer destination.

また、実施の形態2のマルチコアシステムによれば、特定のデータ転送元以外のデータ転送元から特定のデータ転送先への転送データがない場合に、選択部は、特定データ転送元から特定のデータ転送先へのバイパス転送データを選択するようにしたので、効率よく特定のデータ転送先へのデータ転送を行うことができる。   Further, according to the multi-core system of the second embodiment, when there is no transfer data from a data transfer source other than the specific data transfer source to the specific data transfer destination, the selection unit receives the specific data from the specific data transfer source. Since the bypass transfer data to the transfer destination is selected, data transfer to a specific data transfer destination can be performed efficiently.

実施の形態3.
図6は、この発明の実施の形態3によるマルチコアシステムを示す構成図である。
図6において、マルチコアシステム1dは、複数のバスマスタ2−1〜2−mと、複数のバススレーブ3−1〜3−nとの間に設けられる装置であり、入力バッファ部31−1〜31−mと通信システム32とを備えている。このマルチコアシステム1dは、複数のバスマスタ2−1〜2−mからの転送データを、リード要求データとライト要求データに分けずに、同一の入力ポートによって入力するよう構成されたシステムである。
Embodiment 3 FIG.
FIG. 6 is a block diagram showing a multi-core system according to Embodiment 3 of the present invention.
In FIG. 6, a multi-core system 1d is a device provided between a plurality of bus masters 2-1 to 2-m and a plurality of bus slaves 3-1 to 3-n, and includes input buffer units 31-1 to 31-31. -M and the communication system 32. The multi-core system 1d is a system configured to input transfer data from a plurality of bus masters 2-1 to 2-m through the same input port without being divided into read request data and write request data.

入力バッファ部31−1〜31−mは、M個のバスマスタ2−1〜2−mに対応してM個設けられ、バスマスタ2−1〜2−mの転送データを格納するバッファ部である。この入力バッファ部31−1〜31−m内部には、バスマスタ2−1〜2−mからの転送データのうちリード要求の転送データを格納するリード用バッファ(リードデータ入力バッファ)33−1〜33−mと、ライト要求の転送データを格納するライト用バッファ(ライドデータ入力バッファ)34−1〜34−mと、リード用バッファ33−1〜33−mからのデータとライト用バッファ34−1〜34−mからの転送データのうちいずれかを選択するリードライト選択部35−1〜35−mを備えている。また、通信システム32は、入力バッファ部31−1〜31−mから出力された転送要求データの調停を行い、選択された転送データを複数あるいは一つ転送する機能部であり、実施の形態1におけるリクエスト通信システム4−1から入力バッファ部5−1〜5−mを除いた構成に相当する。   The input buffer units 31-1 to 31-m are M buffer units corresponding to the M bus masters 2-1 to 2-m, and store transfer data of the bus masters 2-1 to 2-m. . In the input buffer units 31-1 to 31-m, read buffers (read data input buffers) 33-1 to 33-1 for storing transfer data of read requests among transfer data from the bus masters 2-1 to 2-m. 33-m, write buffers (ride data input buffers) 34-1 to 34-m for storing transfer data of write requests, and data from the read buffers 33-1 to 33-m and write buffers 34- Read / write selection units 35-1 to 35-m for selecting any one of the transfer data from 1 to 34-m are provided. The communication system 32 is a functional unit that arbitrates transfer request data output from the input buffer units 31-1 to 31-m and transfers a plurality or one of selected transfer data. This corresponds to a configuration in which the input buffer units 5-1 to 5-m are removed from the request communication system 4-1.

次に、実施の形態3の動作について説明する。
マルチコアシステム1dでは、バスマスタ2−1〜2−mからバススレーブ3−1〜3−nへリクエストデータを送信する。また、そのリクエストデータを受信したバススレーブ3−1〜3−nは、バスマスタ2−1〜2−mへレスポンスデータを送信し、そのレスポンスデータをバスマスタ2−1〜2−mは受信する。
Next, the operation of the third embodiment will be described.
In the multi-core system 1d, request data is transmitted from the bus masters 2-1 to 2-m to the bus slaves 3-1 to 3-n. The bus slaves 3-1 to 3-n that have received the request data transmit response data to the bus masters 2-1 to 2-m, and the bus masters 2-1 to 2-m receive the response data.

図7にリードリクエストの転送データ、ライトリクエストデータ、ライトレスポンスデータ、リードレスポンスデータのそれぞれのデータ構造を示す。
図示のように、リード(読み出し)リクエストデータには、バススレーブのアドレスと制御情報がある。また、ライト(書き込み)リクエストデータには、書きこむ内容と書き込む対象となるアドレスと制御情報から構成されている。また、リードレスポンスデータは、読み出したデータと制御情報から構成されており、またライトレスポンスデータは制御情報のみで構成されている。一般にこのようなデータ構造を持つインタフェースは多く存在する。しかし、マルチコアシステムにおいて、これらのリードリクエストデータとライトリクエストデータ、または、リードレスポンスデータとライトレスポンスデータを同一のバッファに格納すると空の情報まで格納する必要があり、無駄である。そこで、実施の形態3に示すように、バスマスタ2−1〜2−mからリードとライトの転送要求数が同程度の場合、リード用とライト用のバッファを分けて備えることにより、無駄な空のデータを格納する必要がなくなるため、メモリコストが小さくできる。
FIG. 7 shows the data structures of read request transfer data, write request data, write response data, and read response data.
As shown in the figure, the read (read) request data includes a bus slave address and control information. The write request data is composed of the contents to be written, the address to be written, and control information. The read response data is composed of read data and control information, and the write response data is composed only of control information. In general, there are many interfaces having such a data structure. However, if these read request data and write request data or read response data and write response data are stored in the same buffer in a multi-core system, it is necessary to store even empty information, which is useless. Therefore, as shown in the third embodiment, when the number of read and write transfer requests from the bus masters 2-1 to 2-m is about the same, a separate read buffer and write buffer are provided, thereby eliminating unnecessary space. The memory cost can be reduced because it is not necessary to store the data.

尚、上記実施の形態3のマルチコアシステム1dでは、リード用バッファ33−1〜33−mとライト用バッファ34−1〜34−mから出力される転送データのうち、いずれかを選択するリードライト選択部35−1〜35−mを設けたが、一つのバスマスタからリードとライトの要求データを通信システム32に出力しても同等の効果がある。   In the multi-core system 1d according to the third embodiment, read / write for selecting one of the transfer data output from the read buffers 33-1 to 33-m and the write buffers 34-1 to 34-m. Although the selectors 35-1 to 35-m are provided, the same effect can be obtained even if the read / write request data is output from the single bus master to the communication system 32.

また、実施の形態3では、バスマスタ2−1〜2−mからバススレーブ3−1〜3−nへのデータ転送を例に示したが、バススレーブ3−1〜3−nからバスマスタ2−1〜2−mへのレスポンスデータの転送についても同様の構成によって実現が可能である。   In the third embodiment, data transfer from the bus masters 2-1 to 2-m to the bus slaves 3-1 to 3-n has been described as an example. The transfer of the response data to 1-2m can be realized with the same configuration.

以上のように、実施の形態3のマルチコアシステムによれば、複数のデータ転送元からの転送データを複数のデータ転送先に転送すると共に、複数のデータ転送元からの転送データとして、リードデータとライトデータを同一の入力ポートによって入力するマルチコアシステムにおいて、入力ポートを介してリードデータを格納するリードデータ入力バッファと、入力ポートを介してライトデータを格納するライトデータ入力バッファと、リードデータ入力バッファの出力またはライトデータ入力バッファの出力を選択して複数のデータ転送先に転送する通信システムを備えたので、無駄な空のデータを格納する必要がなく、メモリコストを小さくすることができる。   As described above, according to the multi-core system of the third embodiment, transfer data from a plurality of data transfer sources is transferred to a plurality of data transfer destinations, and as transfer data from a plurality of data transfer sources, read data and In a multi-core system that inputs write data through the same input port, a read data input buffer that stores read data through the input port, a write data input buffer that stores write data through the input port, and a read data input buffer Since there is provided a communication system that selects the output of the data or the output of the write data input buffer and transfers it to a plurality of data transfer destinations, it is not necessary to store useless empty data, and the memory cost can be reduced.

実施の形態4.
図8は、この発明の実施の形態4によるマルチコアシステムを示す構成図である。
図8において、マルチコアシステム1eは、複数のバスマスタ2−1〜2−mと、複数のバススレーブ3−1〜3−nとの間に設けられる装置であり、リクエスト通信システム41−1と、レスポンス通信システム41−2と、監視部42とを備え、それぞれの通信システム41−1,41−2内部に、調停部43−1,43−2を備えている。
Embodiment 4 FIG.
FIG. 8 is a block diagram showing a multi-core system according to Embodiment 4 of the present invention.
In FIG. 8, a multi-core system 1e is a device provided between a plurality of bus masters 2-1 to 2-m and a plurality of bus slaves 3-1 to 3-n. A response communication system 41-2 and a monitoring unit 42 are provided, and arbitration units 43-1 and 43-2 are provided in the respective communication systems 41-1 and 41-2.

リクエスト通信システム41−1およびレスポンス通信システム41−2は、内部にデータを保持するバッファ部(図示省略)を備えており、複数のデータ通信ができるように構成されている。これらリクエスト通信システム41−1およびレスポンス通信システム41−2は、調停部43−1,43−2以外の構成は、実施の形態1におけるリクエスト通信システム4−1およびレスポンス通信システム4−2と同様である。また、調停部43−1,43−2は、監視部42からの調停情報に基づいてバススレーブ3−1〜3−nへのデータ転送の調停、バスマスタ2−1〜2−mへのレスポンスデータの調停を行う機能部である。   The request communication system 41-1 and the response communication system 41-2 include a buffer unit (not shown) that holds data therein, and are configured to perform a plurality of data communications. The request communication system 41-1 and the response communication system 41-2 are the same as the request communication system 4-1 and the response communication system 4-2 in the first embodiment except for the arbitrating units 43-1 and 43-2. It is. The arbitration units 43-1 and 43-2 also arbitrate data transfer to the bus slaves 3-1 to 3-n based on the arbitration information from the monitoring unit 42, and respond to the bus masters 2-1 to 2-m. This is a functional unit that performs data arbitration.

監視部42は、それぞれ、接続されている通信システム41−1,41−2の内部のバッファ部と転送データ通過数とビジー情報などの通信システム内部の情報を監視しており、これらの情報をもう一方の通信システムにおける調停部43−1,43−2に通知するよう構成されている。   The monitoring unit 42 monitors internal information of the communication system such as the buffer unit, transfer data passing number, and busy information of the connected communication systems 41-1 and 41-2. The arbitration units 43-1 and 43-2 in the other communication system are notified.

次に、実施の形態4の動作を説明する。
図8に示すマルチコアシステムは、バスマスタ2−1〜2−mからのリクエストデータをリクエスト通信システム41−1によってバススレーブ3−1〜3−nへ転送し、それを受信したバススレーブ3−1〜3−nからは、レスポンスデータを、レスポンス通信システム41−2を介してバスマスタ2−1〜2−mへと転送する。ここで、バスマスタ2−1〜2−mからの転送データは衝突がなければ、そのままバススレーブ3−1〜3−nへと転送されるが、通常、複数のバスマスタ2−1〜2−mが転送要求を出しており、衝突が発生する。衝突したデータはリクエスト通信システム41−1内部のバッファに一時的に保持され、次のサイクルで保持されたデータが新たな転送データ候補となる。しかし、このような衝突がたびたび起これば、通信システムでは、それだけ多くの容量を持つバッファが必要となる。予め設定したバッファ容量を超えるデータが通信システムに入力されるとその通信システムはそれ以上データを受け付けないビジー状態となり、システム全体の転送効率は劣化する。
Next, the operation of the fourth embodiment will be described.
The multi-core system shown in FIG. 8 transfers request data from the bus masters 2-1 to 2-m to the bus slaves 3-1 to 3-n by the request communication system 41-1, and receives the bus slave 3-1. From ~ 3-n, the response data is transferred to the bus masters 2-1 to 2-m via the response communication system 41-2. Here, if there is no collision, the transfer data from the bus masters 2-1 to 2-m is transferred as it is to the bus slaves 3-1 to 3-n. Issues a transfer request and a collision occurs. The collided data is temporarily held in the buffer in the request communication system 41-1, and the data held in the next cycle becomes a new transfer data candidate. However, if such collisions occur frequently, the communication system requires a buffer having a large capacity. When data exceeding the preset buffer capacity is input to the communication system, the communication system is in a busy state in which no more data is accepted, and the transfer efficiency of the entire system deteriorates.

そこで、実施の形態4では、リクエスト通信システム41−1とレスポンス通信システム41−2との内部の状態を監視する監視部42を設けており、この監視部42によって、リクエスト通信システム41−1とレスポンス通信システム41−2がお互いを監視し、データ転送をより効率的に、かつ、メモリ容量の削減を図るようにしている。   Therefore, in the fourth embodiment, a monitoring unit 42 that monitors the internal state of the request communication system 41-1 and the response communication system 41-2 is provided. The response communication system 41-2 monitors each other to make data transfer more efficient and reduce the memory capacity.

図9に、監視部42へ入力される情報と監視部42が出力する情報を示す。
監視部42には、バススレーブへの転送データ数情報、バスマスタからの転送データ数情報、バスマスタからの転送データのレスポンス情報、ビジー発生情報、バッファ格納数情報などが入力される。ここで、バススレーブへの転送データ数情報とは、例えば特定のバススレーブ3−1へのデータ転送が多いといった情報である。バスマスタからの転送データ数情報とは、例えば、バスマスタ2−1の転送データが多く通過したといった情報である。バスマスタからの転送データのレスポンス情報とは、例えば、レスポンス通信システム41−2における図示省略したクロスバに対して、転送されたデータが何サイクル後に入力されるかを示す情報である。ビジー発生情報とは、リクエスト通信システム41−1やレスポンス通信システム41−2内部でビジーが発生しているかを示す情報である。バッファ格納数情報とは、リクエスト通信システム41−1やレスポンス通信システム41−2内のバッファ部のデータ格納数が多いといった情報である。
FIG. 9 shows information input to the monitoring unit 42 and information output from the monitoring unit 42.
The monitoring unit 42 receives information on the number of transfer data to the bus slave, information on the number of transfer data from the bus master, response information on the transfer data from the bus master, busy occurrence information, buffer storage number information, and the like. Here, the information on the number of data transferred to the bus slave is, for example, information that there are many data transfers to a specific bus slave 3-1. The transfer data number information from the bus master is, for example, information that a lot of transfer data of the bus master 2-1 has passed. The response information of the transfer data from the bus master is information indicating how many cycles the transferred data is input to the crossbar (not shown) in the response communication system 41-2. The busy occurrence information is information indicating whether busy is occurring in the request communication system 41-1 or the response communication system 41-2. The buffer storage number information is information that the data storage number of the buffer unit in the request communication system 41-1 and the response communication system 41-2 is large.

監視部42は、これらの情報からどのデータを転送すれば最もメモリ効率がよく、効率的な転送が可能であるかを計算し、リクエスト通信システム41−1およびレスポンス通信システム41−2にこの情報を調停情報として通知する。リクエスト通信システム41−1およびレスポンス通信システム41−2では、それぞれの調停部43−1,43−2が、監視部42からの調停情報により調停を行う。以下、その具体例を示す。   The monitoring unit 42 calculates which data is transferred from these pieces of information with the highest memory efficiency and can be transferred efficiently, and sends this information to the request communication system 41-1 and the response communication system 41-2. Is notified as mediation information. In the request communication system 41-1 and the response communication system 41-2, the respective arbitration units 43-1 and 43-2 perform arbitration based on the arbitration information from the monitoring unit. Specific examples are shown below.

従来の構成では、例えばバスマスタ2−1がバススレーブ3−1へデータ転送を多く行っていた場合、レスポンス通信システム41−2内部に、バスマスタ2−1への転送データ、あるいは、それぞれのバススレーブに対応して備えられているバッファの蓄積数が多くなる。バッファの最大容量を超えてしまう場合、システムはビジーとなり、システム全体、または一部が動作しなくなる。そこで、実施の形態4では、監視部42により、レスポンス通信システム41−2内の各バッファに、現在、どれだけのデータが蓄積されているかをカウントする。このカウントされたデータがリクエスト通信システム41−1に通知され、レスポンス通信システム41−2内のバッファの必要なメモリコストが小さくなるようにリクエスト通信システム41−1がバススレーブへデータを転送する。例えば、監視部42における監視結果として、レスポンス通信システム41−2における特定のバスマスタへの転送データ蓄積数が他のバスマスタへの転送データ蓄積数より多かった場合、リクエスト通信システム41−1は、特定のバスマスタからの転送データの転送優先度を他のバスマスタの転送優先度よりも低くして調停を行う。更に、レスポンス通信システム41−2内で生じたビジーをいち早くリクエスト通信システム41−1に通知することで、ビジーの伝搬による転送効率の劣化を防止することができる。   In the conventional configuration, for example, when the bus master 2-1 performs many data transfers to the bus slave 3-1, the transfer data to the bus master 2-1 or the respective bus slaves are included in the response communication system 41-2. The number of buffers stored corresponding to the number increases. If the maximum capacity of the buffer is exceeded, the system will be busy and the entire system or part of it will not work. Therefore, in the fourth embodiment, the monitoring unit 42 counts how much data is currently stored in each buffer in the response communication system 41-2. The counted communication data is notified to the request communication system 41-1, and the request communication system 41-1 transfers the data to the bus slave so that the required memory cost of the buffer in the response communication system 41-2 is reduced. For example, as a monitoring result in the monitoring unit 42, when the transfer data accumulation number to a specific bus master in the response communication system 41-2 is larger than the transfer data accumulation number to another bus master, the request communication system 41-1 The arbitration is performed by setting the transfer priority of the transfer data from one bus master lower than the transfer priority of the other bus masters. Furthermore, by quickly notifying the request communication system 41-1 of the busy that has occurred in the response communication system 41-2, it is possible to prevent deterioration in transfer efficiency due to busy propagation.

同様にリクエスト通信システム41−1内におけるデータ通過数を監視し、その通過数をレスポンス通信システム41−2に通知することにより、同等の効果がある。監視部42は、リクエスト通信システム41−1内で、各バススレーブ3−1〜3−nへの転送データ数をカウントする。監視部42は、ある時間内のデータ転送先に応じて、データ転送数をカウントし、これからバススレーブがレスポンスとして送出するデータ数が多くなることをレスポンス通信システム41−2に通知する。こうすることで、レスポンス通信システム42−2は、これからある特定のバッファに多くのレスポンスの転送データが蓄積されることが分かるので、レスポンス通信システム41−2では、このバッファの転送データを優先的に選択することで、バッファの容量の削減とビジー発生の抑制が行える。   Similarly, by monitoring the number of data passing through the request communication system 41-1, and notifying the response communication system 41-2 of the number of passing data, there is an equivalent effect. The monitoring unit 42 counts the number of transfer data to each of the bus slaves 3-1 to 3-n in the request communication system 41-1. The monitoring unit 42 counts the number of data transfers according to the data transfer destination within a certain period of time, and notifies the response communication system 41-2 that the number of data to be transmitted as a response from the bus slave will increase. By doing so, the response communication system 42-2 knows that a lot of response transfer data will be stored in a specific buffer from now on. Therefore, the response communication system 41-2 gives priority to the transfer data of this buffer. By selecting this, it is possible to reduce the buffer capacity and suppress the occurrence of busy.

更に、バススレーブ3−1〜3−nにリクエスト通信システム41−1からデータが到達してからレスポンスが送出されるまでの時間、サイクル数は、その転送コマンド、バースト転送や転送データサイズにより、判断が可能である場合がある。その場合、リクエスト通信システム41−1およびレスポンス通信システム41−2は、これから、何サイクル後にどのような転送要求が発生するかが前もって予想することができる。そこで、監視部42は、リクエスト通信システム41−1およびレスポンス通信システム41−2内の情報に基づいて、メモリコストが小さくなるようなデータ転送のタイミングを演算し、これを調停情報として出力する。以下、このような具体例を示す。   Furthermore, the time from the arrival of data from the request communication system 41-1 to the bus slaves 3-1 to 3-n until the response is sent, the number of cycles depends on the transfer command, burst transfer and transfer data size. Judgment may be possible. In that case, the request communication system 41-1 and the response communication system 41-2 can predict in advance what kind of transfer request will occur after that. Therefore, the monitoring unit 42 calculates the data transfer timing so as to reduce the memory cost based on the information in the request communication system 41-1 and the response communication system 41-2, and outputs this as arbitration information. Hereinafter, such a specific example is shown.

レスポンス通信システム41−2内部で、調停が必要であるのは、同一バスマスタへのレスポンスが同時に複数のバススレーブからレスポンス通信システム41−2へ転送されるためである。しかし、予めバススレーブからレスポンス通信システム41−2へレスポンスが転送される時間、あるいはサイクルが分かっている場合、同一のバスマスタへのレスポンスが同時に複数のバススレーブからレスポンス通信システム41−2へ転送されないようにすることが可能であり、これにより、レスポンス通信システム41−2内部に調停が必要なくなるといった効果がある。即ち、監視部42は、同一バスマスタへのレスポンスが同時に複数のバススレーブから発生すると判断した場合、複数のバススレーブへのデータ転送を、バスマスタへのレスポンスデータの競合が発生しないタイミングとする調停情報を送出する。   The reason why arbitration is necessary within the response communication system 41-2 is that responses to the same bus master are simultaneously transferred from a plurality of bus slaves to the response communication system 41-2. However, when the time or cycle at which the response is transferred from the bus slave to the response communication system 41-2 is known in advance, responses to the same bus master are not simultaneously transferred from the plurality of bus slaves to the response communication system 41-2. As a result, there is an effect that arbitration is not required in the response communication system 41-2. That is, when the monitoring unit 42 determines that responses to the same bus master are simultaneously generated from a plurality of bus slaves, arbitration information that sets data transfer to the plurality of bus slaves as a timing at which no contention of response data to the bus master occurs. Is sent out.

簡単な例を示すと、ある特定のバスマスタから転送データが二つあるとする。一つは、既にある特定のバススレーブへ転送されているが、まだレスポンス通信システム41−2へは、そのレスポンスを転送していないとする。このとき、リクエスト通信システム41−1では、転送された転送データのレスポンスが4サイクル後にレスポンス通信システム41−2へ転送されると分かっているとする。この場合、まだ転送されていないリクエスト通信システム41−1内部にあるもう一つの転送データを異なるバススレーブへ転送した場合、4サイクル後にレスポンス通信システム41−2にそのレスポンスが転送されると、前の転送データと4サイクル後に競合してしまう。そこで、この場合は、このリクエスト通信システム41−1にある転送データを転送しない。もし、他に転送候補となるデータが存在すれば、それを転送する。このようにレスポンス通信システム41−2に、同一バスマスタへの転送データが同時に転送されないので、レスポンス通信システム41−2では、調停が必要なくなり、また、レスポンス通信システム41−2内部のメモリコストも削減できる。   As a simple example, assume that there are two transfer data from a specific bus master. One is already transferred to a specific bus slave, but the response is not yet transferred to the response communication system 41-2. At this time, it is assumed that the request communication system 41-1 knows that the response of the transferred transfer data is transferred to the response communication system 41-2 after four cycles. In this case, when another transfer data in the request communication system 41-1 that has not yet been transferred is transferred to a different bus slave, the response is transferred to the response communication system 41-2 after four cycles. And transfer data after 4 cycles. Therefore, in this case, the transfer data in the request communication system 41-1 is not transferred. If there is other data as a transfer candidate, it is transferred. As described above, since the transfer data to the same bus master is not simultaneously transferred to the response communication system 41-2, the response communication system 41-2 does not require arbitration, and the memory cost in the response communication system 41-2 is also reduced. it can.

また、監視部42によって、リクエスト通信システム41−1において、バースト長やコマンド、アクセス対象となるバススレーブ3−1〜3−nの状態などから、レスポンス通信システム41−2に最も遅くレスポンスが転送される転送データを抽出し、これを調停情報として出力する。リクエスト通信システム41−1の調停部43−1は、この調停情報に基づいて調停を行い、そのデータを優先的に転送する。これにより、ワーストレイテンシを削減することも可能である。   Also, the monitoring unit 42 causes the request communication system 41-1 to transfer the response to the response communication system 41-2 the latest from the burst length, command, and status of the bus slaves 3-1 to 3-n to be accessed. Transfer data to be extracted is output as arbitration information. The arbitration unit 43-1 of the request communication system 41-1 performs arbitration based on the arbitration information, and transfers the data with priority. Thereby, it is also possible to reduce the worst latency.

また、マスタビジーやスレーブビジーに基づいてリクエスト通信システム41−1やレスポンス通信システム41−2が転送データの調停を行ってもよく、これを次に説明する。
図10は、図8の構成に加えてバスマスタ2−1〜2−mとバススレーブ3−1〜3−nからのビジー情報を監視部42aに通知するようにしたものである。
監視部42aは、リクエスト通信システム41−1およびレスポンス通信システム41−2の内部のバッファ容量を監視し、バッファがこれ以上データを格納することが不可能なフル状態になった場合、通信システム内部でのビジーと判定する。また、バスマスタ2−1〜2−mでのビジー状態がマスタビジー121−1〜121−mとして入力され、バススレーブ3−1〜3−nでのビジー状態がスレーブビジー120−1〜120−nとして入力される。つまり、監視部42aに送られるビジー情報は4種類ある。監視部42aは、これらのビジー情報から次の転送データを決定し、調停情報として各調停部43−1,43−2に通知する。
The request communication system 41-1 and the response communication system 41-2 may perform transfer data arbitration based on master busy or slave busy, which will be described next.
FIG. 10 notifies the monitoring unit 42a of busy information from the bus masters 2-1 to 2-m and the bus slaves 3-1 to 3-n in addition to the configuration of FIG.
The monitoring unit 42a monitors the internal buffer capacity of the request communication system 41-1 and the response communication system 41-2, and when the buffer is in a full state in which data cannot be stored any more, Determined as busy at. The busy states at the bus masters 2-1 to 2-m are input as master busys 121-1 to 121-m, and the busy states at the bus slaves 3-1 to 3-n are slave busys 120-1 to 120-n. Is entered as That is, there are four types of busy information sent to the monitoring unit 42a. The monitoring unit 42a determines the next transfer data from the busy information and notifies the arbitration units 43-1 and 43-2 as arbitration information.

先ず、マスタビジー121−1〜121−mやスレーブビジー120−1〜120−nが生じたバスマスタ2−1〜2−mやバススレーブ3−1〜3−nへは、転送することができない。また、通信システム41−1,41−2内のバッファがビジーであると、バスマスタ2−1〜2−mやバススレーブ3−1〜3−nは、通信システム41−1,41−2に転送データを送ることができない。
最悪のケースとしては、先ず、マスタビジーが生じ、次にこのバスマスタへレスポンス通信システム41−2からレスポンスを転送できないため、レスポンス通信システム42−2内部のバッファがこれ以上データを格納できないフル状態になる。これにより、レスポンス通信システム42−2がビジーとなり、スレーブはレスポンス通信システム41−2がビジーであるため、レスポンスをレスポンス通信システム41−2へ転送することができず、スレーブビジーが発生してしまう。更に、スレーブビジーにより、リクエスト通信システム41−1はスレーブへ転送することができず、転送データがリクエスト通信システム41−1内部に蓄積され、リクエスト通信システム41−1内部でもビジーが発生し、ついには、マスタは転送データをリクエスト通信システム41−1に送ることができなくなり、システムが停止してしまうことになる。このようにビジーの伝搬によって、転送効率は低下し、内部に必要なバッファ容量も多くなり、システム全体が停止する可能性がある。
First, it cannot be transferred to the bus masters 2-1 to 2-m and the bus slaves 3-1 to 3-n in which the master busys 121-1 to 121-m and the slave busys 120-1 to 120-n occur. When the buffers in the communication systems 41-1 and 41-2 are busy, the bus masters 2-1 to 2-m and the bus slaves 3-1 to 3-n are connected to the communication systems 41-1 and 41-2. The transfer data cannot be sent.
In the worst case, first, master busy occurs, and then a response cannot be transferred from the response communication system 41-2 to this bus master, so that the buffer in the response communication system 42-2 becomes full so that no more data can be stored. . As a result, since the response communication system 42-2 is busy and the slave is busy with the response communication system 41-2, the response cannot be transferred to the response communication system 41-2, and slave busy occurs. . Furthermore, due to the slave busy, the request communication system 41-1 cannot be transferred to the slave, the transfer data is accumulated in the request communication system 41-1, and busy occurs in the request communication system 41-1. The master cannot send the transfer data to the request communication system 41-1, and the system stops. As described above, due to busy propagation, the transfer efficiency decreases, the buffer capacity required inside increases, and the entire system may stop.

そこで、監視部42aでは、各ビジー情報を一括に管理する。監視部42aでは、ビジーが発生しないように、また、ビジーが発生しても、転送効率を劣化させず、システムを停止させることのないように調停部43−1,43−2に転送データの選択情報を調停情報として与える。
例えば、あるバスマスタがビジーを出しているとき、レスポンス通信システム41−2内のビジーが発生していないバッファ、かつ、前記バスマスタ以外の転送データをリクエスト通信システム41−1はバススレーブへ転送する。このようにすることで、ビジーの発生頻度を少なくすることができる。
Therefore, the monitoring unit 42a manages each piece of busy information at once. In the monitoring unit 42a, the transfer data is transferred to the arbitration units 43-1 and 43-2 so that the busy does not occur, and even if the busy occurs, the transfer efficiency is not deteriorated and the system is not stopped. Selection information is given as mediation information.
For example, when a certain bus master is busy, the request communication system 41-1 transfers a buffer in the response communication system 41-2 that is not busy and transfer data other than the bus master to the bus slave. In this way, the frequency of busy occurrence can be reduced.

更に、実施の形態4において、監視部42に入力される通信システム内のビジー情報をビジーになりつつある信号としてもよい。ビジーになってから、転送データを決定しても、その前にすでにビジーとなっている箇所にデータが転送される可能性がある。そこで、ビジー信号ではなく、ビジーになりつつあることを示す信号を監視部42(42a)に通知することで、より転送効率の向上が期待できる。   Further, in the fourth embodiment, the busy information in the communication system input to the monitoring unit 42 may be a busy signal. Even if the transfer data is determined after becoming busy, there is a possibility that the data is transferred to a place that is already busy before that. Therefore, by notifying the monitoring unit 42 (42a) of a signal indicating that it is becoming busy instead of the busy signal, it is possible to expect further improvement in transfer efficiency.

以上のように、実施の形態4のマルチコアシステムによれば、複数のバスマスタからの転送データをバススレーブに転送するリクエスト通信システムと、複数のバススレーブから転送データを複数のバスマスタに転送するレスポンス通信システムと、リクエスト通信システムとレスポンス通信システム内部の転送データを監視し、監視結果に基づいて、リクエスト通信システムおよびレスポンス通信システムにおける転送データを格納する容量を少なくするための調停情報を求め、この調停情報をリクエスト通信システムおよびレスポンス通信システムに通知する監視部とを備え、リクエスト通信システムおよびレスポンス通信システムは、調停情報に基づいて転送データの調停を行うようにしたので、データ転送をより効率的に、かつ、メモリ容量の削減を図ることができる。   As described above, according to the multicore system of the fourth embodiment, a request communication system that transfers transfer data from a plurality of bus masters to a bus slave, and a response communication that transfers transfer data from a plurality of bus slaves to a plurality of bus masters The system, the transfer data in the request communication system and the response communication system are monitored, and based on the monitoring results, arbitration information for reducing the capacity for storing the transfer data in the request communication system and the response communication system is obtained, and this arbitration is performed. A monitoring unit that notifies the request communication system and the response communication system of information, and the request communication system and the response communication system perform transfer data arbitration based on the arbitration information. And It is possible to reduce the re capacity.

また、実施の形態4のマルチコアシステムによれば、監視部における監視結果として、レスポンス通信システムにおける特定のバスマスタへの転送データ蓄積数が他のバスマスタへの転送データ蓄積数より多かった場合、リクエスト通信システムは、特定のバスマスタからの転送データの転送優先度を他のバスマスタの転送優先度よりも低くして調停を行うようにしたので、システム全体のビジー発生頻度を削減し、更に蓄積データ数を削減することができる。   Further, according to the multi-core system of the fourth embodiment, when the number of transfer data stored in a specific bus master in the response communication system is larger than the number of transfer data stored in other bus masters as a monitoring result in the monitoring unit, request communication The system performs arbitration by setting the transfer priority of transfer data from a specific bus master lower than the transfer priority of other bus masters, thus reducing the frequency of busy occurrence of the entire system and further reducing the number of stored data. Can be reduced.

また、実施の形態4のマルチコアシステムによれば、監視部における監視結果として、リクエスト通信システムにおける特定のバススレーブへの転送データ数が他のバススレーブへの転送データ数より多かった場合、レスポンス通信システムは、特定のバススレーブからの転送要求データの転送優先度を他のバススレーブの転送優先度よりも高くして調停を行うようにしたので、システム全体のビジー発生頻度を削減し、更に蓄積データ数を削減することができる。   Further, according to the multi-core system of the fourth embodiment, when the number of transfer data to a specific bus slave in the request communication system is larger than the number of transfer data to other bus slaves as a monitoring result in the monitoring unit, response communication Since the system performs arbitration by setting the transfer priority of transfer request data from a specific bus slave higher than the transfer priority of other bus slaves, the busy occurrence frequency of the entire system is reduced and further accumulated. The number of data can be reduced.

また、実施の形態4のマルチコアシステムによれば、予め、各バススレーブにおける転送データ受信に対するレスポンスの時間またはサイクル数を求め、監視部は、同一バスマスタへのレスポンスが同時に複数のバススレーブから発生すると判断した場合、複数のバススレーブへのデータ転送を、バスマスタへの競合が発生しないタイミングとする調停情報を送出し、リクエスト通信システムは、調停情報に基づいて、複数のバススレーブへの調停を行うようにしたので、システム全体が効率的な転送ができ、かつメモリ容量を削減することができる、更にレスポンスデータの競合をなくすことで、レスポンス通信システムにおいて調停に必要であった回路を削減することができる。   Further, according to the multi-core system of the fourth embodiment, the response time or the number of cycles for the transfer data reception in each bus slave is obtained in advance, and the monitoring unit generates responses to the same bus master simultaneously from a plurality of bus slaves. If it is determined, the arbitration information is sent with the data transfer to the plurality of bus slaves set to a timing at which no contention with the bus master occurs, and the request communication system performs arbitration to the plurality of bus slaves based on the arbitration information. As a result, the entire system can efficiently transfer data, and the memory capacity can be reduced. Furthermore, by eliminating contention for response data, the number of circuits required for arbitration in the response communication system can be reduced. Can do.

また、実施の形態4のマルチコアシステムによれば、予め、各バススレーブにおける転送データ受信に対するレスポンスのサイクル数を求め、リクエスト通信システムは、転送データと前記サイクル数とに基づいて、レイテンシが多くかかるバススレーブへの転送データに対して優先度を高くして調停を行うようにしたので、ワーストレイテンシを削減することができる。   Further, according to the multi-core system of the fourth embodiment, the number of response cycles for transfer data reception in each bus slave is obtained in advance, and the request communication system takes a lot of latency based on the transfer data and the number of cycles. Since arbitration is performed with a higher priority for the data transferred to the bus slave, the worst latency can be reduced.

また、実施の形態4のマルチコアシステムによれば、監視部は、バスマスタのビジー情報と、バススレーブのビジー情報と、リクエスト通信システムのビジー情報と、レスポンス通信システムのビジー情報とに基づいて、リクエスト通信システムおよびレスポンス通信システムにおける転送データを格納する容量を少なくするための調停情報を求めるようにしたので、ビジーの伝搬による転送効率の低下を抑えることができる。   Further, according to the multi-core system of the fourth embodiment, the monitoring unit requests the bus master based on the bus master busy information, the bus slave busy information, the request communication system busy information, and the response communication system busy information. Since arbitration information for reducing the capacity for storing transfer data in the communication system and the response communication system is obtained, it is possible to suppress a decrease in transfer efficiency due to busy propagation.

また、実施の形態4のマルチコアシステムによれば、監視部は、リクエスト通信システムがビジーになりつつある信号とレスポンス通信システムがビジーになりつつある信号に基づいて、リクエスト通信システムおよびレスポンス通信システムにおける転送データを格納する容量を少なくするための調停情報を求めるようにしたので、ビジーの発生を抑え、より転送効率の向上を期待することができる。   Further, according to the multi-core system of the fourth embodiment, the monitoring unit is configured to use the request communication system and the response communication system based on the signal that the request communication system is busy and the signal that the response communication system is busy. Since arbitration information for reducing the capacity for storing transfer data is obtained, it is possible to suppress the occurrence of busy and further improve transfer efficiency.

実施の形態5.
図11は、この発明の実施の形態5によるマルチコアシステムを示す構成図である。
図11において、マルチコアシステム1gは、複数のバスマスタ2−1〜2−mと、複数のバススレーブ3−1〜3−nとの間に設けられる装置であり、通信システム50を備えている。また、通信システム50内において、調停情報付加部51−1〜51−mと、調停部52を備えている。ここで、通信システム50は、複数のバスマスタ2−1〜2−mからの転送データの中から、調停により、複数の転送データ、あるいは一つの転送データを選択し、バススレーブ3−1〜3−nに対して出力するよう構成されており、調停情報付加部51−1〜51−mと調停部52以外の基本的な構成は、実施の形態1におけるリクエスト通信システム4−1や実施の形態2の通信システム10、実施の形態3の通信システム32、実施の形態4のリクエスト通信システム41−1のいずれかと同様の構成を備えている。
Embodiment 5 FIG.
FIG. 11 is a block diagram showing a multi-core system according to Embodiment 5 of the present invention.
In FIG. 11, a multi-core system 1g is a device provided between a plurality of bus masters 2-1 to 2-m and a plurality of bus slaves 3-1 to 3-n, and includes a communication system 50. In addition, the communication system 50 includes arbitration information adding units 51-1 to 51-m and an arbitration unit 52. Here, the communication system 50 selects a plurality of transfer data or one transfer data by arbitration from among the transfer data from the plurality of bus masters 2-1 to 2-m, and bus slaves 3-1 to 3-3. The basic configuration other than the arbitration information adding units 51-1 to 51-m and the arbitration unit 52 is the request communication system 4-1 according to the first embodiment and the implementation of the implementation. The communication system 10 according to the second embodiment, the communication system 32 according to the third embodiment, and the request communication system 41-1 according to the fourth embodiment have the same configuration.

調停情報付加部51−1〜51−mは、緊急を要するような最優先にデータ転送する必要がある転送データがマルチコアシステム1gに入力される場合、これを検出し、調停に必要なデータの値を最大値、あるいは最小値に設定する機能部である。また、調停部52は、調停情報付加部51−1〜51−mから送出された調停の必要な情報に基づいて、各バスマスタ2−1〜2−mからの転送データを調停する。
このように、調停に必要な情報を付加した転送データ候補を調停部52へ通知することで、従来の調停により、緊急を要する最優先にデータを転送する必要がある転送データを選択する調停が行えるようになる。通常の調停においては、転送データの情報、例えば到着時間などから最も待ち時間の長い転送データを選択する。そこで、この転送データ情報、ここでは、到着時間を最小値にし、待ち時間を最大値とすることで、この緊急用の転送データが選択されるようにする。これにより、少ないハードウェアの増加で、この緊急用の転送データを従来の調停で行うことができる。
The arbitration information adding units 51-1 to 51-m detect when transfer data that needs to be transferred with the highest priority that requires urgent input is input to the multi-core system 1g, and detect the data required for arbitration. This is a functional unit that sets the value to the maximum value or the minimum value. The arbitration unit 52 arbitrates transfer data from each of the bus masters 2-1 to 2-m based on information necessary for arbitration transmitted from the arbitration information adding units 51-1 to 51-m.
In this way, by notifying the arbitration unit 52 of transfer data candidates to which information necessary for arbitration is added, arbitration for selecting transfer data that needs to be transferred with the highest priority that requires urgentness by conventional arbitration is performed. You can do it. In normal arbitration, transfer data having the longest waiting time is selected from transfer data information such as arrival time. Therefore, this transfer data information, here, the arrival time is set to the minimum value, and the waiting time is set to the maximum value, so that this emergency transfer data is selected. Thus, the emergency transfer data can be performed by the conventional arbitration with a small increase in hardware.

尚、上記の説明において、バスマスタ2−1〜2−mからバススレーブ3−1〜3−nへの転送を重点に説明したが、これらの関係が逆の関係、即ち、バススレーブ3−1〜3−nからバスマスタ2−1〜2−mへの転送においても同様の構成や方法により、本発明を実現できることは明白である。即ち、このような構成は、通信システム50として、レスポンス通信システム4−2,41−2を用いることで実現することができる。   In the above description, the transfer from the bus masters 2-1 to 2-m to the bus slaves 3-1 to 3-n has been described with emphasis. However, these relationships are opposite, that is, the bus slave 3-1. It is apparent that the present invention can be realized by the same configuration and method in the transfer from ~ 3-n to the bus masters 2-1 to 2-m. That is, such a configuration can be realized by using the response communication systems 4-2 and 41-2 as the communication system 50.

以上のように、実施の形態5のマルチコアシステムによれば、転送データの中で、最も早く転送する必要がある転送データに対して、特定の情報を付加する調停情報付加部と、調停情報付加部で特定の情報が付加された転送データを最優先して調停を行う調停部とを備えたので、調停に必要なステップ数やハードウェア量のわずかな増加で、例えば、緊急を要するようなデータの転送に対応することができる。   As described above, according to the multi-core system of the fifth embodiment, the arbitration information adding unit that adds specific information to the transfer data that needs to be transferred earliest among the transfer data, and the arbitration information addition And the arbitration unit that performs arbitration with the highest priority given to the transfer data to which specific information is added, so the number of steps required for arbitration and the slight increase in the amount of hardware, Data transfer can be supported.

この発明の実施の形態1による通信マルチコアシステムを示す構成図である。BRIEF DESCRIPTION OF THE DRAWINGS It is a block diagram which shows the communication multi-core system by Embodiment 1 of this invention. この発明の実施の形態1によるマルチコアシステムにおけるバスマスタから発行されるデータ転送要求を示す説明図である。It is explanatory drawing which shows the data transfer request issued from the bus master in the multi-core system by Embodiment 1 of this invention. この発明の実施の形態2によるマルチコアシステムの構成図である。It is a block diagram of the multi-core system by Embodiment 2 of this invention. この発明の実施の形態2によるマルチコアシステムの他の例を示す構成図である。It is a block diagram which shows the other example of the multi-core system by Embodiment 2 of this invention. この発明の実施の形態2によるマルチコアシステムの更に他の例を示す構成図である。It is a block diagram which shows the further another example of the multi-core system by Embodiment 2 of this invention. この発明の実施の形態3によるマルチコアシステムの構成図である。It is a block diagram of the multi-core system by Embodiment 3 of this invention. この発明の実施の形態3によるマルチコアシステムにおけるリードデータとライトデータの説明図である。It is explanatory drawing of the read data and write data in the multi-core system by Embodiment 3 of this invention. この発明の実施の形態4によるマルチコアシステムの構成図である。It is a block diagram of the multi-core system by Embodiment 4 of this invention. この発明の実施の形態4によるマルチコアシステムの監視部に入力される情報の説明図である。It is explanatory drawing of the information input into the monitoring part of the multi-core system by Embodiment 4 of this invention. この発明の実施の形態4によるマルチコアシステムの他の例の構成図である。It is a block diagram of the other example of the multi-core system by Embodiment 4 of this invention. この発明の実施の形態5によるマルチコアシステムの構成図である。It is a block diagram of the multi-core system by Embodiment 5 of this invention.

符号の説明Explanation of symbols

1,1a〜1g マルチコアシステム、2−1〜2−m バスマスタ、3−1〜3−n バススレーブ、4−1,41−1 リクエスト通信システム、4−2,41−2 レスポンス通信システム、5−1〜5−m,31−1〜31−m 入力バッファ部、6 グリッドキューメモリ、7 アドレス管理部、8 クロスバ、9−1〜9−n 出力バッファ部、10,32,50 通信システム、11,11−1〜11−m バイパス制御部、12 選択部、13 選択制御部、14 帯域監視部、33−1〜33−m リード用バッファ、34−1〜34−m ライト用バッファ、42,42a 監視部、43−1,43−2,52 調停部、51−1〜51−m 調停情報付加部。   1, 1a to 1g multi-core system, 2-1 to 2-m bus master, 3-1 to 3-n bus slave, 4-1, 41-1 request communication system, 4-2, 41-2 response communication system, 5 -1 to 5-m, 31-1 to 31-m input buffer unit, 6 grid queue memory, 7 address management unit, 8 crossbar, 9-1 to 9-n output buffer unit, 10, 32, 50 communication system, 11, 11-1 to 11-m Bypass control unit, 12 selection unit, 13 selection control unit, 14 band monitoring unit, 33-1 to 33-m read buffer, 34-1 to 34-m write buffer, 42 42a monitoring unit, 43-1, 43-2, 52 arbitration unit, 51-1 to 51-m arbitration information addition unit.

Claims (14)

複数のデータ転送元からの転送データをデータ転送先に転送するマルチコアシステムにおいて、
前記転送データを蓄積する入力バッファ部と、
前記入力バッファから出力された転送データを、前記データ転送元の個数と前記データ転送先の個数を乗じた数だけ格納可能で、前記データ転送元の個数と前記データ転送先の個数を乗じた数だけのデータを同時に出力することが可能なグリッドキューメモリと、
前記入力バッファからの転送データを前記グリッドキューメモリに格納するアドレスを管理するアドレス管理部と、
前記グリッドキューメモリから出力された転送データを調停して出力するクロスバと、
前記クロスバから出力された転送データを格納し、順次、前記データ転送先へと転送する出力バッファ部とを備えたマルチコアシステム。
In a multi-core system that transfers transfer data from multiple data transfer sources to a data transfer destination,
An input buffer unit for storing the transfer data;
The transfer data output from the input buffer can be stored by the number of data transfer sources multiplied by the number of data transfer destinations, and the number of data transfer sources multiplied by the number of data transfer destinations. Grid queue memory that can output only data at the same time,
An address management unit that manages an address for storing transfer data from the input buffer in the grid queue memory;
A crossbar for arbitrating and outputting the transfer data output from the grid queue memory;
A multi-core system comprising: an output buffer unit that stores transfer data output from the crossbar and sequentially transfers the transfer data to the data transfer destination.
複数のデータ転送元からの転送データを複数のデータ転送先に転送するマルチコアシステムにおいて、
特定のデータ転送元から特定のデータ転送先への転送データの場合はバイパス転送データとして出力するバイパス制御部と、
前記特定のデータ転送元以外のデータ転送元から前記特定のデータ転送先への転送データと前記バイパス転送データとのいずれかを選択し、前記特定のデータ転送先に出力する選択部とを備えたマルチコアシステム。
In a multi-core system that transfers transfer data from multiple data transfer sources to multiple data transfer destinations,
In the case of transfer data from a specific data transfer source to a specific data transfer destination, a bypass control unit that outputs as bypass transfer data,
A selection unit that selects either the transfer data from the data transfer source other than the specific data transfer source to the specific data transfer destination and the bypass transfer data, and outputs the selected data to the specific data transfer destination; Multi-core system.
複数のデータ転送元に対応してバイパス制御部を複数設けると共に、これらバイパス制御部が、与えられるバイパス制御信号に基づいて、特定のデータ転送元から特定のデータ転送先へのバイパス転送データを送出し、
かつ、選択部は、前記バイパス転送データと、特定のデータ転送元以外のデータ転送元から特定のデータ転送先への転送データのいずれかを選択して前記特定のデータ転送先に出力することを特徴とする請求項2記載のマルチコアシステム。
A plurality of bypass control units are provided corresponding to a plurality of data transfer sources, and these bypass control units send bypass transfer data from a specific data transfer source to a specific data transfer destination based on a given bypass control signal. And
The selecting unit selects either the bypass transfer data or transfer data from a data transfer source other than the specific data transfer source to the specific data transfer destination, and outputs the selected data to the specific data transfer destination. The multi-core system according to claim 2, wherein:
全てのデータ転送元からの転送データをカウントし、当該転送データが多いデータ転送元とデータ転送先とを、特定のデータ転送元と特定のデータ転送先として、対応するバイパス制御部を選択するバイパス選択信号を出力する帯域監視部を備えたことを特徴とする請求項3記載のマルチコアシステム。   A bypass that counts transfer data from all data transfer sources and selects the corresponding data transfer source and data transfer destination as a specific data transfer source and a specific data transfer destination as the corresponding data transfer source and data transfer destination. The multi-core system according to claim 3, further comprising a band monitoring unit that outputs a selection signal. 特定のデータ転送元以外のデータ転送元から特定のデータ転送先への転送データがない場合に、選択部は、前記特定データ転送元から前記特定のデータ転送先へのバイパス転送データを選択することを特徴とする請求項2から請求項4のうちのいずれか1項記載のマルチコアシステム。   The selection unit selects bypass transfer data from the specific data transfer source to the specific data transfer destination when there is no transfer data from a data transfer source other than the specific data transfer source to the specific data transfer destination. The multi-core system according to any one of claims 2 to 4, wherein 複数のデータ転送元からの転送データを複数のデータ転送先に転送すると共に、前記複数のデータ転送元からの転送データとして、リードデータとライトデータを同一の入力ポートによって入力するマルチコアシステムにおいて、
前記入力ポートを介して前記リードデータを格納するリードデータ入力バッファと、
前記入力ポートを介して前記ライトデータを格納するライトデータ入力バッファと、
前記リードデータ入力バッファの出力または前記ライトデータ入力バッファの出力を選択して前記複数のデータ転送先に転送する通信システムを備えたマルチコアシステム。
In a multi-core system that transfers transfer data from a plurality of data transfer sources to a plurality of data transfer destinations and inputs read data and write data through the same input port as transfer data from the plurality of data transfer sources,
A read data input buffer for storing the read data via the input port;
A write data input buffer for storing the write data via the input port;
A multi-core system including a communication system that selects an output of the read data input buffer or an output of the write data input buffer and transfers the selected data to the plurality of data transfer destinations.
複数のバスマスタからの転送データをバススレーブに転送するリクエスト通信システムと、
複数のバススレーブから転送データを複数のバスマスタに転送するレスポンス通信システムと、
前記リクエスト通信システムと前記レスポンス通信システム内部の転送データを監視し、当該監視結果に基づいて、前記リクエスト通信システムおよびレスポンス通信システムにおける転送データを格納する容量を少なくするための調停情報を求め、当該調停情報を前記リクエスト通信システムおよび前記レスポンス通信システムに通知する監視部とを備え、
前記リクエスト通信システムおよび前記レスポンス通信システムは、前記調停情報に基づいて転送データの調停を行うことを特徴とするマルチコアシステム。
A request communication system for transferring transfer data from a plurality of bus masters to a bus slave;
A response communication system for transferring transfer data from a plurality of bus slaves to a plurality of bus masters;
Monitoring transfer data inside the request communication system and the response communication system, and based on the monitoring result, seeking arbitration information for reducing the capacity for storing transfer data in the request communication system and the response communication system, A monitoring unit for notifying arbitration information to the request communication system and the response communication system,
The request communication system and the response communication system perform transfer data arbitration based on the arbitration information.
監視部における監視結果として、レスポンス通信システムにおける特定のバスマスタへの転送データ蓄積数が他のバスマスタへの転送データ蓄積数より多かった場合、
リクエスト通信システムは、前記特定のバスマスタからの転送データの転送優先度を他のバスマスタの転送優先度よりも低くして調停を行うことを特徴とする請求項7記載のマルチコアシステム。
As a monitoring result in the monitoring unit, when the transfer data accumulation number to a specific bus master in the response communication system is larger than the transfer data accumulation number to other bus masters,
8. The multi-core system according to claim 7, wherein the request communication system performs arbitration by setting a transfer priority of transfer data from the specific bus master lower than a transfer priority of other bus masters.
監視部における監視結果として、リクエスト通信システムにおける特定のバススレーブへの転送データ数が他のバススレーブへの転送データ数より多かった場合、
レスポンス通信システムは、前記特定のバススレーブからの転送要求データの転送優先度を他のバススレーブの転送優先度よりも高くして調停を行うことを特徴とする請求項7または請求項8記載のマルチコアシステム。
As a monitoring result in the monitoring unit, when the number of transfer data to a specific bus slave in the request communication system is larger than the number of transfer data to other bus slaves,
9. The response communication system performs arbitration by setting a transfer priority of transfer request data from the specific bus slave higher than a transfer priority of other bus slaves. Multi-core system.
予め、各バススレーブにおける転送データ受信に対するレスポンスの時間またはサイクル数を求め、
監視部は、同一バスマスタへのレスポンスが同時に複数のバススレーブから発生すると判断した場合、前記複数のバススレーブへのデータ転送を、前記バスマスタへの競合が発生しないタイミングとする調停情報を送出し、
リクエスト通信システムは、前記調停情報に基づいて、前記複数のバススレーブへの調停を行うことを特徴とする請求項7または請求項8記載のマルチコアシステム。
Obtain the response time or cycle number for transfer data reception in each bus slave in advance,
When the monitoring unit determines that responses to the same bus master are generated simultaneously from a plurality of bus slaves, it sends arbitration information with data transfer to the plurality of bus slaves as a timing at which no conflict with the bus master occurs,
The multi-core system according to claim 7 or 8, wherein the request communication system performs arbitration to the plurality of bus slaves based on the arbitration information.
予め、各バススレーブにおける転送データ受信に対するレスポンスのサイクル数を求め、
リクエスト通信システムは、転送データと前記サイクル数とに基づいて、レイテンシが多くかかるバススレーブへの転送データに対して優先度を高くして調停を行うことを特徴とする請求項7から請求項10のうちのいずれか1項記載のマルチコアシステム。
Obtain the cycle number of response to transfer data reception in each bus slave beforehand,
11. The request communication system performs arbitration at a higher priority for transfer data to a bus slave having a high latency based on the transfer data and the number of cycles. The multi-core system of any one of these.
監視部は、バスマスタのビジー情報と、バススレーブのビジー情報と、リクエスト通信システムのビジー情報と、レスポンス通信システムのビジー情報とに基づいて、前記リクエスト通信システムおよび前記レスポンス通信システムにおける転送データを格納する容量を少なくするための調停情報を求めることを特徴とする請求項7から請求項11のうちのいずれか1項記載のマルチコアシステム。   The monitoring unit stores the transfer data in the request communication system and the response communication system based on the bus master busy information, the bus slave busy information, the request communication system busy information, and the response communication system busy information. The multi-core system according to claim 7, wherein arbitration information for reducing a capacity to be obtained is obtained. 監視部は、リクエスト通信システムがビジーになりつつある信号とレスポンス通信システムがビジーになりつつある信号に基づいて、前記リクエスト通信システムおよび前記レスポンス通信システムにおける転送データを格納する容量を少なくするための調停情報を求めることを特徴とする請求項7から請求項11のうちのいずれか1項記載のマルチコアシステム。   The monitoring unit is configured to reduce a capacity for storing transfer data in the request communication system and the response communication system based on a signal in which the request communication system is busy and a signal in which the response communication system is busy. 12. The multi-core system according to claim 7, wherein arbitration information is obtained. 転送データの中で、最も早く転送する必要がある転送データに対して、特定の情報を付加する調停情報付加部と、
前記調停情報付加部で特定の情報が付加された転送データを最優先して調停を行う調停部とを備えたことを特徴とする請求項1、請求項2、請求項6、請求項7のうちのいずれか1項記載のマルチコアシステム。
Among transfer data, an arbitration information adding unit that adds specific information to transfer data that needs to be transferred earliest;
An arbitration unit that performs arbitration with the highest priority given to transfer data to which specific information is added by the arbitration information addition unit, according to claim 1, 2, 6, or 7. The multi-core system according to any one of the above.
JP2008095077A 2008-04-01 2008-04-01 Multi-core system Pending JP2009251652A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008095077A JP2009251652A (en) 2008-04-01 2008-04-01 Multi-core system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008095077A JP2009251652A (en) 2008-04-01 2008-04-01 Multi-core system

Publications (1)

Publication Number Publication Date
JP2009251652A true JP2009251652A (en) 2009-10-29

Family

ID=41312349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008095077A Pending JP2009251652A (en) 2008-04-01 2008-04-01 Multi-core system

Country Status (1)

Country Link
JP (1) JP2009251652A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110114240A (en) * 2010-04-13 2011-10-19 삼성전자주식회사 Apparatus for routing data between multicore and method thereof
JP2012181585A (en) * 2011-02-28 2012-09-20 Seiko Epson Corp Device system and chip
JP2014153755A (en) * 2013-02-05 2014-08-25 Mitsubishi Electric Corp Multiprocessor built-in apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175588A (en) * 1999-12-15 2001-06-29 Matsushita Electric Ind Co Ltd Bus controller
JP2004529541A (en) * 2001-02-28 2004-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Switching mechanism and method having separate outputs
JP2005284578A (en) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp Bus device
JP2006309677A (en) * 2005-04-26 2006-11-09 Yamada Evidence Research:Kk Trading system for food or foodstuff, and microbe information display system
WO2007099644A1 (en) * 2006-03-03 2007-09-07 Hitachi, Ltd. Cross bus switch

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175588A (en) * 1999-12-15 2001-06-29 Matsushita Electric Ind Co Ltd Bus controller
JP2004529541A (en) * 2001-02-28 2004-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Switching mechanism and method having separate outputs
JP2005284578A (en) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp Bus device
JP2006309677A (en) * 2005-04-26 2006-11-09 Yamada Evidence Research:Kk Trading system for food or foodstuff, and microbe information display system
WO2007099644A1 (en) * 2006-03-03 2007-09-07 Hitachi, Ltd. Cross bus switch

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110114240A (en) * 2010-04-13 2011-10-19 삼성전자주식회사 Apparatus for routing data between multicore and method thereof
JP2012181585A (en) * 2011-02-28 2012-09-20 Seiko Epson Corp Device system and chip
JP2014153755A (en) * 2013-02-05 2014-08-25 Mitsubishi Electric Corp Multiprocessor built-in apparatus

Similar Documents

Publication Publication Date Title
US8990498B2 (en) Access scheduler
CN101960431B (en) Memory rank burst scheduling
EP1016957B1 (en) Method of managing resources shared by multiple processing units
JP5546635B2 (en) Data transfer apparatus and control method thereof
US20120042105A1 (en) Bus arbitration apparatus
CN102298539A (en) Method and system for scheduling shared resources subjected to distributed parallel treatment
US6715055B1 (en) Apparatus and method for allocating buffer space
US6519666B1 (en) Arbitration scheme for optimal performance
US20160062930A1 (en) Bus master, bus system, and bus control method
WO2015134101A1 (en) Method and system for work scheduling in a multi-chip system
US20090168784A1 (en) Storage subsystem
CN104854845B (en) Use the method and apparatus of efficient atomic operation
US20100325327A1 (en) Programmable arbitration device and method therefor
CN103647807A (en) Information caching method, device and communication apparatus
US8725873B1 (en) Multi-server round robin arbiter
CN105988968B (en) Semiconductor device with a plurality of semiconductor chips
US20230269205A1 (en) Switch for transmitting packet, network on chip having the same, and operating method thereof
CN103023669A (en) Switching network based broadcast scheduling method
CN117807000B (en) Channel bus arbitration circuit, acceleration device, method, system, device and medium
JP2009251652A (en) Multi-core system
JP2014167818A (en) Data transfer device and data transfer method
WO2007039933A1 (en) Operation processing device
JP2007241922A (en) Arbitration method for use of shared resource, and arbitration device therefor
GB2522653A (en) Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
CN115269467B (en) Bus arbitration method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120911