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

JP2012048573A - Semiconductor integrated circuit and data processing device - Google Patents

Semiconductor integrated circuit and data processing device Download PDF

Info

Publication number
JP2012048573A
JP2012048573A JP2010191319A JP2010191319A JP2012048573A JP 2012048573 A JP2012048573 A JP 2012048573A JP 2010191319 A JP2010191319 A JP 2010191319A JP 2010191319 A JP2010191319 A JP 2010191319A JP 2012048573 A JP2012048573 A JP 2012048573A
Authority
JP
Japan
Prior art keywords
input
data
output
processing
path
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
JP2010191319A
Other languages
Japanese (ja)
Inventor
Yusuke Yachide
悠介 谷内出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010191319A priority Critical patent/JP2012048573A/en
Publication of JP2012048573A publication Critical patent/JP2012048573A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a processor array configuration in which algorithm can be efficiently mounted without increasing a circuit scale.SOLUTION: Efficient mounting is achieved by providing multiple paths in a predetermined direction as one of paths between input/output means of a processor array in accordance with a data processing flow. Instead of providing the multiple paths in the predetermined direction, a path in the opposite direction from the direction is eliminated to prevent the circuit scale from increasing.

Description

本発明は、プロセッサアレイ等の半導体集積回路、又はデータ処理装置に関する。   The present invention relates to a semiconductor integrated circuit such as a processor array or a data processing apparatus.

特許文献1のように、プロセッサ同士を直接接続し、直接データを通信するプロセッサアレイ構造がある。このような構成では、プロセッサ間のデータ通信のためのデータ入出力処理も各プロセッサが行う必要があった。   As disclosed in Patent Document 1, there is a processor array structure in which processors are directly connected to communicate data directly. In such a configuration, each processor must also perform data input / output processing for data communication between the processors.

そこで、非特許文献1に示すようにデータ演算処理回路とデータ入出力処理回路を設け、演算処理と入出力処理を回路的に分けた構成がある。非特許文献1に代表されるプロセッサアレイ構成を図4に示す。   Therefore, as shown in Non-Patent Document 1, there is a configuration in which a data arithmetic processing circuit and a data input / output processing circuit are provided, and the arithmetic processing and the input / output processing are separated in a circuit. A processor array configuration represented by Non-Patent Document 1 is shown in FIG.

プロセッシングエレメント402は、少なくとも一つ以上の演算器を備えており、データの伝達経路の変更を行うスイッチングエレメント401と、双方向のデータの伝達を実現するための信号線404aおよび404bを介して一対一で接続されている。また、前記スイッチングエレメント401は東西南北の他のスイッチングエレメント401の其々と双方向のデータの伝達を実現するための信号線403a、403b、403c、403dによって格子状に接続されている。   The processing element 402 includes at least one arithmetic unit, and is paired via a switching element 401 that changes a data transmission path and signal lines 404 a and 404 b for realizing bidirectional data transmission. Connected with one. The switching element 401 is connected in a grid pattern with signal lines 403a, 403b, 403c, and 403d for realizing bidirectional data transmission with the other switching elements 401 in the east, west, north, and south directions.

スイッチングエレメント401とプロセッシングエレメント402間の経路404aはスイッチングエレメント401からプロセッシングエレメント402の方向に接続されている。またスイッチングエレメント401と演算処理手段402間の経路404bはプロセッシングエレメント402からスイッチングエレメント401の方向に接続されている。   A path 404 a between the switching element 401 and the processing element 402 is connected in the direction from the switching element 401 to the processing element 402. A path 404 b between the switching element 401 and the arithmetic processing unit 402 is connected in the direction from the processing element 402 to the switching element 401.

特許第02533282号公報Japanese Patent No. 0253282

M.B.Taylor,et al.,“The RAW Microprocessor:A Computational Fabric For Software Circuits and General−Purpose Programs,”IEEE Micro,22(2):pp.25−−35,Mar.2002M.M. B. Taylor, et al. , “The RAW Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs,” IEEE Micro, 22 (2): 25-35, Mar. 2002

動的再構成可能プロセッサアレイでは各プロセッサ間の接続を任意に変えられるように、スイッチングエレメント同士は双方向のデータの伝達を実現する1セットの信号線で接続している。ここで、プロセッサアレイにデータを投入する場合、主として入力端から出力端へ処理対象のデータが流れるため、入力端から出力端の方向へ流れるデータ量の方が他の方向へ流れるデータ量よりも大きい。従って、特許文献1などのように単純に各スイッチングエレメント間を双方向に接続するだけではこの点が考慮されておらず、主としてデータが流れる方向と他の方向への信号線を同様に配線しており、回路規模に対するデータの転送効率が良くない。   In the dynamically reconfigurable processor array, the switching elements are connected by a set of signal lines that realize bidirectional data transmission so that the connection between the processors can be arbitrarily changed. Here, when data is input to the processor array, data to be processed flows mainly from the input end to the output end, so the amount of data flowing from the input end to the output end is larger than the amount of data flowing in the other direction large. Therefore, this point is not taken into consideration by simply connecting the switching elements bidirectionally as in Patent Document 1, and the signal lines mainly in the direction in which data flows and in other directions are wired in the same manner. Therefore, the data transfer efficiency with respect to the circuit scale is not good.

本発明は、上述した問題点に鑑みてなされたものであり、プロセッサアレイにおいて回路規模に対するデータの転送効率を向上させることを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to improve data transfer efficiency with respect to circuit scale in a processor array.

上記課題を決するための本発明に係るデータ処理装置は、複数の入出力手段と、複数の処理手段と、前記複数の入出力手段同士を接続する複数の第1の通信線と、前記入出力手段と前記処理手段とを相互に接続する複数の第2の通信線と、所定の方向へデータを伝達する第1の通信線の帯域が他の方向の第1の通信線の帯域と比べて大きいことを特徴とする。   A data processing apparatus according to the present invention for determining the above-described problems includes a plurality of input / output means, a plurality of processing means, a plurality of first communication lines connecting the plurality of input / output means, and the input / output The band of the plurality of second communication lines connecting the means and the processing means to each other and the band of the first communication line for transmitting data in a predetermined direction are compared with the band of the first communication line in the other direction. It is large.

本発明によれば、回路規模を増大させることなく、プロセッサアレイ内のデータの転送効率を向上させることができる。 According to the present invention, it is possible to improve the data transfer efficiency in the processor array without increasing the circuit scale.

プロセッサアレイの概略構成を示す図である。It is a figure which shows schematic structure of a processor array. プロセッシングエレメントとスイッチングエレメントの接続関係を示す図である。It is a figure which shows the connection relation of a processing element and a switching element. 入出力制御部の接続関係を示す図である。It is a figure which shows the connection relation of an input / output control part. 従来のプロセッサアレイの概略構成を示す図である。It is a figure which shows schematic structure of the conventional processor array. プロセッサアレイの動作例を示す図である。It is a figure which shows the operation example of a processor array. 第一の実施形態におけるデータ通信の手順を示す図である。It is a figure which shows the procedure of the data communication in 1st embodiment. 第一の実施形態における動作を示す図である。It is a figure which shows the operation | movement in 1st embodiment. 第一の実施形態における、処理内容の例を示す図である。It is a figure which shows the example of the processing content in 1st embodiment. 第一の実施形態における、他モジュールと接続した場合の実装例を示す図である。It is a figure which shows the example of mounting at the time of connecting with another module in 1st embodiment. 第二の実施形態を示す図である。It is a figure which shows 2nd embodiment. 第二の実施形態における入出力制御手段の例を示す図である。It is a figure which shows the example of the input / output control means in 2nd embodiment. 第二の実施形態における、動作例を示す図である。It is a figure which shows the operation example in 2nd embodiment. 第三の実施形態を示す図である。It is a figure which shows 3rd embodiment. 第三の実施形態における、記憶手段の例を示す図である。It is a figure which shows the example of the memory | storage means in 3rd embodiment.

(実施形態1)
本実施形態にかかるプロセッサアレイの概略構成を図1に示す。図1には図示していないが、プロセッサアレイの南端にプロセッサアレイにデータを投入する入力端(後述の入力モジュール902)があり、プロセッサアレイの北端にプロセッサアレイからのデータを出力する出力端(後述の出力モジュール901)がある。そのため、図1プロセッサアレイでは北に流れるデータの量が、南に流れるデータの量よりも大きい。
(Embodiment 1)
FIG. 1 shows a schematic configuration of the processor array according to the present embodiment. Although not shown in FIG. 1, there is an input end (input module 902 described later) for inputting data to the processor array at the south end of the processor array, and an output end (output module for outputting data from the processor array at the north end of the processor array). There is an output module 901) described later. Therefore, in the processor array of FIG. 1, the amount of data flowing to the north is larger than the amount of data flowing to the south.

プロセッサアレイには、8入力8出力の入出力処理手段であるスイッチングエレメント101が二次元格子状に配置され、演算処理手段である4入力4出力のプロセッシングエレメント102が、スイッチングエレメント101の格子内に配置されている。   In the processor array, switching elements 101 as 8-input 8-output input / output processing means are arranged in a two-dimensional lattice, and 4-input 4-output processing elements 102 as arithmetic processing means are arranged in the lattice of the switching elements 101. Has been placed.

スイッチングエレメント101a、101c、101d、101f、101g、101iの8入力8出力は1入力1出力を一組として東西南北の、他の4つのスイッチングエレメント101と経路(信号線)103aおよび103bを介して個別に相互に接続されている。また、北東、南東、南西、北西の、夫々別の4つのプロセッシングエレメントと経路104aおよび104bを介して双方向に接続されている。スイッチングエレメント101b、101e、101hはプロセッシングエレメント102との接続に関しては、他のスイッチングエレメント101と同様に北東、南東、南西、北西の、夫々別の4つのプロセッシングエレメントと経路104aおよび104bを介して接続された構成を持つ。他のスイッチングエレメントとの接続に関しては、東西のスイッチングエレメント101との接続は103aおよび104bを介して双方向に接続されている。   8 inputs and 8 outputs of the switching elements 101a, 101c, 101d, 101f, 101g, and 101i are one input and one output as a set via the other four switching elements 101 and paths (signal lines) 103a and 103b in the east, west, south, and north. They are individually connected to each other. In addition, they are bidirectionally connected to the four northeast, southeast, southwest, and northwest four separate processing elements via paths 104a and 104b. The switching elements 101b, 101e, and 101h are connected to the processing element 102 in the same manner as the other switching elements 101, and are connected to four different processing elements in the northeast, southeast, southwest, and northwest via paths 104a and 104b. It has the structure which was made. Regarding the connection with other switching elements, the connection with the east-west switching element 101 is bidirectionally connected via 103a and 104b.

しかし、南北にあるスイッチングエレメント101との接続に関しては、南方向の経路103bの変わりに北方向の経路104aにすることで北向きの方向の経路103aが2本ある構成を有する。なお、図1の各経路103a、103b、104a、104bの矢印の方向はデータを伝達可能な方向を示しており、101a〜101iはそれぞれ同じ構成を有し、102a〜102dは、それぞれ同じ構成を持つ。   However, the connection with the switching element 101 located in the north-south direction has a configuration in which there are two paths 103a in the north direction by changing to the path 104a in the north direction instead of the path 103b in the south direction. Note that the directions of arrows in the paths 103a, 103b, 104a, and 104b in FIG. 1 indicate directions in which data can be transmitted. 101a to 101i have the same configuration, and 102a to 102d have the same configuration. Have.

このように、一方向のみの接続だが物理的に2つの経路103を持つ構成をアレイ上に部分的に少なくともひとつ配置する。   In this way, at least one part of the configuration having only two directions 103 but physically having two paths 103 is arranged on the array.

ここで、各接続103a、103b、104a、104bの通信プロトコルとして、本実施形態ではValid信号とReady信号による2線式ハンドシェークを用いる。図6は、2線式ハンドシェークを用いてモジュールA601からモジュールB602へデータ転送する際にハンドシェークする模式図とタイミングチャートとを示している。モジュールA、Bともにスイッチングエレメントでもプロセッシングエレメントでもよい。モジュールAからモジュールBへデータを転送する際には、モジュールAからBへData信号603、Valid信号604を送信し、一方モジュールBからAへReady信号605を送信する。なお、説明の簡略のため一方向にデータを転送する例を説明しているが、双方向に転送可能にするためには信号線が単純に倍必要になる。   Here, as a communication protocol for each of the connections 103a, 103b, 104a, and 104b, in this embodiment, a two-wire handshake using a Valid signal and a Ready signal is used. FIG. 6 shows a schematic diagram and a timing chart for handshaking when data is transferred from the module A601 to the module B602 using the two-wire handshake. Both modules A and B may be switching elements or processing elements. When transferring data from module A to module B, a data signal 603 and a valid signal 604 are transmitted from module A to B, while a ready signal 605 is transmitted from module B to A. In addition, although the example which transfers data to one direction is demonstrated for the simplification of description, in order to be able to transfer bidirectionally, a signal line is simply required twice.

Valid信号604はモジュールAの送信可能状態を示し、Ready信号605はモジュールBのデータ受信可能状態を示す。モジュールA601のValid信号604とモジュールB602からのReady信号605が両方有効のタイミングでDATA信号603がモジュールA601からモジュールB602へ送信される。図6のタイミングチャートでは信号がHighの状態で有効Lowの状態で無効を示す。なお、図6のタイミングチャートでは606aのタイミングでデータAが、606bのタイミングでデータBが、606cのタイミングでデータC、606dのタイミングでデータDがモジュールA601からモジュールB602へと転送されている。   The Valid signal 604 indicates that the module A can transmit data, and the Ready signal 605 indicates that the module B can receive data. The DATA signal 603 is transmitted from the module A 601 to the module B 602 at a timing when both the Valid signal 604 of the module A 601 and the Ready signal 605 from the module B 602 are valid. In the timing chart of FIG. 6, the signal is high and the signal is invalid and the signal is invalid. In the timing chart of FIG. 6, data A is transferred from module A 601 to module B 602 at timing 606a, data B at timing 606b, data C at timing 606c, and data D at timing 606d.

次に、プロセッシングエレメントとスイッチングエレメントの接続構成を図2に示す。プロセッシングエレメント102は入力ポート202ne、202nw、202swおよび202se、出力ポート203ne、203nw、203swおよび203seを有している。入力ポート202ne、202nw、202swおよび202seはそれぞれスイッチングエレメント101bの205sw、101aの205se、101dの205neおよび101eの205nwと個別にNビットのデータ幅(帯域)で接続されている。   Next, a connection configuration of the processing element and the switching element is shown in FIG. The processing element 102 has input ports 202ne, 202nw, 202sw and 202se, and output ports 203ne, 203nw, 203sw and 203se. The input ports 202ne, 202nw, 202sw, and 202se are individually connected to 205sw of the switching element 101b, 205se of 101a, 205ne of 101d, and 205nw of 101e with an N-bit data width (bandwidth).

また出力ポート203ne、203nw、203swおよび203seはそれぞれスイッチングエレメント101bの204sw、スイッチングエレメント101aの204se、スイッチングエレメント101dの204neおよびスイッチングエレメント101eの204nwと個別にNビットのデータ幅で接続されている。   The output ports 203ne, 203nw, 203sw and 203se are individually connected to the 204sw of the switching element 101b, 204se of the switching element 101a, 204ne of the switching element 101d and 204nw of the switching element 101e, respectively, with an N-bit data width.

プロセッシングエレメント102の夫々は4入力4出力ポートを有し、与えられた入力値に対して並列に複数の演算を行い、出力することが可能である。図2ではプロセッシングエレメントの構成例として、4つの演算部201を有している構成を示す。上記4つの演算部201はそれぞれの入力に対して、独立して並列に動作することで高速な動作速度を実現することが可能となる。なお、演算部は演算器を少なくとも一つ持っている。例えば、加減算器、比較器、乗算器、除算器、論理演算器、セレクタなどの多入力演算器、または、これらの組合せからなる演算器、さらにはこれらと他の演算器の組合せからなる演算器などである。プロセッシングエレメント102の演算器の動作は予めプロセッシングエレメント102内のレジスタ(不図示)に格納されている設定によって決定された動作を行う。   Each of the processing elements 102 has a 4-input 4-output port, and can perform a plurality of operations in parallel on a given input value and output it. FIG. 2 shows a configuration having four arithmetic units 201 as a configuration example of the processing element. The four arithmetic units 201 can operate at high speeds by independently operating in parallel with each input. Note that the arithmetic unit has at least one arithmetic unit. For example, a multi-input arithmetic unit such as an adder / subtracter, a comparator, a multiplier, a divider, a logical arithmetic unit, a selector, etc., an arithmetic unit consisting of a combination thereof, or an arithmetic unit consisting of a combination of these and other arithmetic units Etc. The operation of the arithmetic unit of the processing element 102 is an operation determined by settings stored in advance in a register (not shown) in the processing element 102.

次に図3にスイッチングエレメント101eの構成とスイッチングエレメント101eに接続されている他のスイッチングエレメントおよびプロセッシングエレメントとの接続関係を示す。スイッチングエレメント101は入力ポート204n、204s、204e、204w、204ne、204nw、204swおよび204seを有している。また同様に、スイッチングエレメント101は、出力ポート205n、205s、205e、205w、205ne、205nw、205swおよび205seを有している。   Next, FIG. 3 shows the configuration of the switching element 101e and the connection relationship with other switching elements and processing elements connected to the switching element 101e. The switching element 101 has input ports 204n, 204s, 204e, 204w, 204ne, 204nw, 204sw and 204se. Similarly, the switching element 101 has output ports 205n, 205s, 205e, 205w, 205ne, 205nw, 205sw, and 205se.

スイッチングエレメント101eの入力ポート204ne、204nw、204swおよび204seはそれぞれ、プロセッシングエレメント102bの203sw、102aの203se、102cの203ne、102dの203nwと接続されている。また、入力ポート204n、204s、204e、204wはスイッチングエレメント101hの205s、101hの205n、101dの205e、101fの205wと夫々接続されている。   The input ports 204ne, 204nw, 204sw, and 204se of the switching element 101e are connected to 203sw of the processing element 102b, 203se of 102a, 203ne of 102c, and 203nw of 102d, respectively. The input ports 204n, 204s, 204e, and 204w are connected to 205s of the switching element 101h, 205n of 101h, 205e of 101d, and 205w of 101f, respectively.

スイッチングエレメント101eの出力ポート205ne、205nw、205swおよび205seはそれぞれ、プロセッシングエレメント102bの202sw、102aの202se、102cの202ne、102dの202nwと接続されている。   The output ports 205ne, 205nw, 205sw, and 205se of the switching element 101e are connected to 202sw of the processing element 102b, 202se of 102a, 202ne of 102c, and 202nw of 102d, respectively.

また、出力ポート205n、205s、205e、205wはスイッチングエレメント101bの204s、101bの204n、101fの204w、101dの204eと接続されている。   The output ports 205n, 205s, 205e, and 205w are connected to 204s of the switching element 101b, 204n of 101b, 204w of 101f, and 204e of 101d.

図3に示すスイッチングエレメントは、8入力8出力のクロスバースイッチ(X−bar Switch)301を有している。上記クロスバースイッチ301の経路設定は、予め外部から設定され、経路設定された入出力ポートの通信は独立して行われる。   The switching element shown in FIG. 3 has an 8-input 8-output crossbar switch (X-bar Switch) 301. The path setting of the crossbar switch 301 is set in advance from the outside, and the communication of the input / output port set as the path is performed independently.

上記構成による動作例を以下に示す。図7に経路701、702、703、704、705によってデータ転送される場合を考える。経路701では、スイッチングエレメント101g、101d、101aの順にデータが転送される。経路702では、スイッチングエレメント101h、101e、101bの順にデータが転送される。経路703では、スイッチングエレメント101i、101f、101cの順にデータが転送される。経路704では、スイッチングエレメント101g、101h、プロセッシングエレメント102dの順にデータが転送される。経路705では、プロセッシングエレメント102d、スイッチングエレメント101e、101bの順にデータが転送される。   An operation example according to the above configuration is shown below. Consider the case where data is transferred through paths 701, 702, 703, 704, and 705 in FIG. In the path 701, data is transferred in the order of the switching elements 101g, 101d, and 101a. In the path 702, data is transferred in the order of the switching elements 101h, 101e, and 101b. In the path 703, data is transferred in the order of the switching elements 101i, 101f, and 101c. In the path 704, data is transferred in the order of the switching elements 101g and 101h and the processing element 102d. In the path 705, data is transferred in the order of the processing element 102d and the switching elements 101e and 101b.

図5に示した従来例の構成では、プロセッシングエレメント402dからスイッチングエレメント401bへ2つのエレメントを介してデータを渡す経路が設定できなかったが、本実施形態では経路705が設定できることで2つのエレメントを介してデータの受け渡しができるようになる。   In the configuration of the conventional example shown in FIG. 5, a path for passing data from the processing element 402d to the switching element 401b via the two elements could not be set. However, in this embodiment, the path 705 can be set so that the two elements are set. The data can be exchanged through the network.

次に、上記に説明したアーキテクチャを実際の画像処理モジュールに適用した例を示す。まず適用するデータフローダイアグラムを図8に示す。図8の例では処理対象のデータである画像中の特徴量と画像の各位置における係数を用いた閾値処理を行っている。   Next, an example in which the architecture described above is applied to an actual image processing module will be shown. First, FIG. 8 shows a data flow diagram to be applied. In the example of FIG. 8, threshold processing is performed using a feature amount in an image that is data to be processed and a coefficient at each position of the image.

まず801aで異なる特徴量を2つ投入する。また、802aで各特徴量位置に対する閾値を投入する。803aでは投入された特徴量に対して、重み係数を処理する。次に、804で係数演算された特徴量と夫々に対応した閾値データを用いて閾値処理する。最後に、805aで閾値処理された特徴量を出力する。図8に示す処理を画像aに対する処理として、画像b、画像cにも同様の処理を並列で行う。(なお、後述の説明では画像b、cに対する同様の処理は801b,801cとして表記する。)   First, two different feature quantities are input in 801a. In 802a, a threshold value for each feature amount position is input. In step 803a, a weighting coefficient is processed for the input feature value. Next, threshold processing is performed using threshold data corresponding to the feature amounts calculated in the coefficient in 804. Finally, the feature value subjected to threshold processing in 805a is output. The processing shown in FIG. 8 is performed on the image a, and the same processing is performed on the images b and c in parallel. (In the following description, similar processing for images b and c will be denoted as 801b and 801c.)

次に、前述したデータフローダイアグラムを図9に示す構成のプロセッサアレイに実行させるときの動作を説明する。図9に示すように、入力モジュール(データ入力手段)902からプロセッサアレイ部(データ処理装置)へ入力したデータはプロセッサアレイ部で処理され、プロセッサアレイ部から出力モジュール(データ出力手段)901へ出力されるように構成されている。なお、入力モジュール902からプロセッサアレイ部への信号線904とプロセッサアレイ部から出力モジュール901への信号線903は、入力モジュールから出力モジュールにだけデータを転送可能なように構成されている。   Next, the operation when the above-described data flow diagram is executed by the processor array having the configuration shown in FIG. 9 will be described. As shown in FIG. 9, data input from the input module (data input unit) 902 to the processor array unit (data processing device) is processed by the processor array unit and output from the processor array unit to the output module (data output unit) 901. It is configured to be. The signal line 904 from the input module 902 to the processor array unit and the signal line 903 from the processor array unit to the output module 901 are configured so that data can be transferred only from the input module to the output module.

まず、インプットモジュール902から経路904を介してスイッチングエレメント101i、101j、101k、101lへ、801a、b、cに相当する6つの特徴量の投入と802a、b、cに相当する閾値の投入を行う。   First, six feature amounts corresponding to 801a, b, and c and threshold values corresponding to 802a, b, and c are input from the input module 902 to the switching elements 101i, 101j, 101k, and 101l via the path 904. .

次に投入された特徴量はプロセッシングエレメント102d、102e、102fに転送される。プロセッシングエレメント102d、102e、102fの夫々は、2つの特徴量について並列に重み係数処理を行う。次に、プロセッシングエレメント102d、102e、102fの夫々は、重み計数処理した特長量を101e、101f、101g、101hおよび、101a、101b、101c、101dを介してプロセッシングエレメント102a、102b、102cへ転送する。一方、各特徴量位置に対応した閾値は、スイッチングエレメント101i、101j、101k、101lから101e、101f、101g、101hを介して102a、102b、102cへ転送される。   Next, the input feature amount is transferred to the processing elements 102d, 102e, and 102f. Each of the processing elements 102d, 102e, and 102f performs weighting coefficient processing on the two feature amounts in parallel. Next, each of the processing elements 102d, 102e, and 102f transfers the feature amount subjected to the weight counting process to the processing elements 102a, 102b, and 102c via 101e, 101f, 101g, and 101h and 101a, 101b, 101c, and 101d. . On the other hand, the threshold corresponding to each feature amount position is transferred from the switching elements 101i, 101j, 101k, 101l to 102a, 102b, 102c via 101e, 101f, 101g, 101h.

プロセッシングエレメント102a、102b、102cでは投入された特徴量に投入された閾値を用いて閾値処理を行い、その結果を、経路903を介してアウトプットモジュール901へと出力する。   The processing elements 102a, 102b, and 102c perform threshold processing using the threshold value input to the input feature value, and output the result to the output module 901 via the path 903.

以上のとおり、本実施形態では、プロセッサアレイ部におけるスイッチングエレメント間の経路(通信線)の内、少なくともひとつを、所定の方向(入力モジュールから出力モジュールへの方向)に二重に持たせている(帯域を広くしている)。これにより、プロセッサアレイ部において効率よくデータ転送しながら複数のプロセッシングエレメントによって処理をすることが可能となる。また、上記所定の方向を二重化する代わりに、その方向とは反対方向の経路を省くことで、回路規模を増加させることを防いでいる。   As described above, in the present embodiment, at least one of the paths (communication lines) between the switching elements in the processor array unit is doubly provided in a predetermined direction (direction from the input module to the output module). (The band is widened.) As a result, it is possible to perform processing by a plurality of processing elements while efficiently transferring data in the processor array unit. Further, instead of duplicating the predetermined direction, the route in the direction opposite to the direction is omitted, thereby preventing an increase in circuit scale.

(実施形態2)
本実施形態のプロセッサアレイの概略構成を図10に示す。本実施形態ではスイッチングエレメント1001a、1001b、1001c間はすべて実施形態1で述べた単方向の経路103aを一つのみ用いてデータ転送を行う。
(Embodiment 2)
FIG. 10 shows a schematic configuration of the processor array of this embodiment. In this embodiment, data is transferred between the switching elements 1001a, 1001b, and 1001c using only one unidirectional path 103a described in the first embodiment.

実施形態1との違いは、上記のように、図10中のスイッチングエレメント1001a、1001b、1001c間が1本の経路のみで接続されていることと、各スイッチングエレメント1001自体にある。スイッチングエレメント1001aと1001b間および1001bと1001c間の通信に関してのみ、一般的なデータバイパス機構(バーチャルチャネル機構)を付加し、時分割で複数のデータ通信を共有可能な構造とする。   As described above, the differences from the first embodiment are that the switching elements 1001a, 1001b, and 1001c in FIG. 10 are connected by only one path, and that each switching element 1001 itself. Only for communication between the switching elements 1001a and 1001b and between 1001b and 1001c, a general data bypass mechanism (virtual channel mechanism) is added so that a plurality of data communications can be shared in a time division manner.

図11にバーチャルチャネル機構を備えたスイッチングエレメント1001の構成を示す。入力ポート1101は7つあり、入力ポート1101sは南方向に配置されているスイッチングエレメントに接続されている。これを「1101s:南」と表記すると、他の入力ポートは夫々、1101e:東、1101w:西、1101nw:北西、1101ne:北東、1101sw:南西、1101se:南東と表記できる。   FIG. 11 shows a configuration of a switching element 1001 having a virtual channel mechanism. There are seven input ports 1101, and the input port 1101s is connected to a switching element arranged in the south direction. If this is expressed as “1101s: south”, the other input ports can be expressed as 1101e: east, 1101w: west, 1101nw: northwest, 1101ne: northeast, 1101sw: southwest, 1101se: southeast.

出力ポート1102も7つあり、出力ポート1102nは北方向に配置されているスイッチングエレメントに接続されている。これを「1102n:北」と表記すると、他の出力ポートは夫々、1102e:東、1102w:西、1102nw:北西、1102ne:北東、1102sw:南西、1102se:南東と表記できる。   There are also seven output ports 1102, and the output port 1102n is connected to a switching element arranged in the north direction. When this is expressed as “1102n: north”, the other output ports can be expressed as 1102e: east, 1102w: west, 1102nw: northwest, 1102ne: northeast, 1102sw: southwest, 1102se: southeast.

バーチャルチャネル機構はバッファ1103、マルチプレクサ1104、1105を用いて実現される。図10中の、スイッチングエレメント1001aと1001b間および1001bと1001c間は、それぞれ、スイッチングエレメント1001aの入力ポート1101sと1001bの出力ポート1102n、1001bの入力ポート1101sと1001cの出力ポート1102n、が接続されており、上記経路上にバーチャルチャネル機構が備えてある。上記バーチャルチャネルを備えた経路は、異なる経路からのデータを転送することができる。   The virtual channel mechanism is realized using a buffer 1103 and multiplexers 1104 and 1105. In FIG. 10, switching elements 1001a and 1001b and 1001b and 1001c are connected to input ports 1101s and 1001b of switching element 1001a, and input ports 1101s and 1001c of 1001b, respectively. And a virtual channel mechanism is provided on the path. The path provided with the virtual channel can transfer data from different paths.

異なる経路からのデータが、入力ポート1101sより入力されてくる場合は、経路ごとに別のバッファ1103に格納される。なおマルチプレクサ1104、1105および、それに接続されているクロスバースイッチ1106のポートは時分割的に経路をスイッチングすることで出力先を変えている。上記バーチャルチャネルを備えて経路からクロスバースイッチ1106を介して接続されている出力先の経路のうち、一方のデータがストールされている場合であっても他方の経路のデータで通信をすることが可能である。
バーチャルチャネル機構を備える代わりに、バーチャルチャネルで接続されている経路の方向とは逆の方向の経路を取り除くことで回路規模の増大を抑制することができる。
When data from a different route is input from the input port 1101s, it is stored in a different buffer 1103 for each route. The multiplexers 1104 and 1105 and the ports of the crossbar switch 1106 connected to the multiplexers change their output destinations by switching paths in a time division manner. Even if one of the output destination paths connected to the path via the crossbar switch 1106 with the virtual channel is stalled, it is possible to communicate with the data of the other path. Is possible.
Instead of providing a virtual channel mechanism, an increase in circuit scale can be suppressed by removing a path in a direction opposite to the direction of the path connected by the virtual channel.

図10、図11に示す構成による動作例を図12に示す。   FIG. 12 shows an operation example according to the configuration shown in FIGS.

図12は経路1201、1202、1203、1204、1205によってデータ転送される例を示している。経路1201では、スイッチングエレメント101g、101d、101aの順にデータが転送される。経路1202では、スイッチングエレメント101h、101e、101bの順にデータが転送される。経路1203では、スイッチングエレメント101i、101f、101cの順にデータが転送される。経路1204では、スイッチングエレメント101g、101h、プロセッシングエレメント102dの順にデータが転送される。経路1205では、プロセッシングエレメント102d、スイッチングエレメント101e、101bの順にデータが転送される。   FIG. 12 shows an example in which data is transferred through paths 1201, 1202, 1203, 1204, and 1205. In the path 1201, data is transferred in the order of the switching elements 101g, 101d, and 101a. In the path 1202, data is transferred in the order of the switching elements 101h, 101e, and 101b. In the path 1203, data is transferred in the order of the switching elements 101i, 101f, and 101c. In the path 1204, data is transferred in the order of the switching elements 101g and 101h and the processing element 102d. In the path 1205, data is transferred in the order of the processing element 102d and the switching elements 101e and 101b.

ここでスイッチングエレメント1001bから1001aへの転送に関しては経路1202と1205で同じ経路を使用しているが、これは上述のとおり、スイッチングエレメント1001aのバーチャルチャネル機構を利用することで時分割多重的に並列的にデータ転送している。   Here, regarding the transfer from the switching element 1001b to 1001a, the same path is used in the paths 1202 and 1205. However, as described above, this is performed in parallel in a time division multiplexed manner by using the virtual channel mechanism of the switching element 1001a. Data transfer.

以上のとおり、本実施形態ではアレイ上の一部のみスイッチングエレメントに限り、入出力ポートの一部にバーチャルチャネル機構を追加することで、回路規模を大幅に増加させることなく、経路自由度を高めることができる。   As described above, in this embodiment, only a part of the array is limited to switching elements, and a virtual channel mechanism is added to a part of the input / output ports, thereby increasing the degree of freedom of the path without significantly increasing the circuit scale. be able to.

(実施形態3)
本実施形態では実施形態1および実施形態2におけるプロセッシングエレメント102の一部をメモリエレメント1301と置き換えた構成を想定している。
(Embodiment 3)
In the present embodiment, a configuration is assumed in which a part of the processing element 102 in the first and second embodiments is replaced with a memory element 1301.

本実施形態では実施形態1の図9と対比して以下に説明する。図13は図9におけるプロセッシングエレメント102eをメモリエレメント1301と置き換えた構成を想定している。   This embodiment will be described below in comparison with FIG. 9 of the first embodiment. FIG. 13 assumes a configuration in which the processing element 102 e in FIG. 9 is replaced with a memory element 1301.

メモリエレメント1301の内部構成を図14に示す。メモリエレメント1301は2入力6出力ポートを備えている。1401a、1401bは入力ポートで南西方向と南東方向に配置されているスイッチングエレメントに接続されている。1402は出力ポートで、1402ne1と1402ne2は北東方向に配置されているスイッチングエレメントに接続され、1402nw1と1402nw2は北西方向に配置されているスイッチングエレメントに接続されている。同様に、1402seは南東方向に配置されているスイッチングエレメントに接続され、1402swは南西方向に配置されているスイッチングエレメントに接続されている。   The internal configuration of the memory element 1301 is shown in FIG. The memory element 1301 has 2 input 6 output ports. 1401a and 1401b are input ports connected to switching elements arranged in the southwest and southeast directions. Reference numeral 1402 denotes an output port, 1402ne1 and 1402ne2 are connected to switching elements arranged in the northeast direction, and 1402nw1 and 1402nw2 are connected to switching elements arranged in the northwest direction. Similarly, 1402se is connected to a switching element arranged in the southeast direction, and 1402sw is connected to a switching element arranged in the southwest direction.

メモリエレメント1301内には1つのメモリコントローラ1404および複数(本実施形態では6つ)のメモリ1403を備えている。複数の入力データを複数入力ポート1401から順次メモリに書込み、複数のメモリ1403から複数の出力ポート1402へ同時にデータを読み出すことができる。   The memory element 1301 includes one memory controller 1404 and a plurality of (six in this embodiment) memories 1403. A plurality of input data can be sequentially written from a plurality of input ports 1401 to a memory, and the data can be simultaneously read from a plurality of memories 1403 to a plurality of output ports 1402.

本実施形態では、データを一度に並列に読書きすることができるため、データ処理のスループットが向上する。   In the present embodiment, data can be read and written in parallel at a time, so that the throughput of data processing is improved.

(その他実施形態)
上述の実施形態では、信号処理回路として二次元構成について、説明したが、本発明はこれに限るわけではなく様々な次元構成について適用可能である。例えば、三次元構成について適用した場合、本発明の特徴である、回路規模を増大させることなく、処理の実装効率を向上させることができる。
実施形態では、プロセッシングエレメントとして入力ポート毎に並列動作する演算器を備えた構成を説明したが、本発明はこれに限るわけではなく様々なプロセッサについても適用可能である。例えば、一般的な処理を行うプロセッサを用いることも可能である。
(Other embodiments)
In the above-described embodiment, the two-dimensional configuration has been described as the signal processing circuit. However, the present invention is not limited to this and can be applied to various dimensional configurations. For example, when applied to a three-dimensional configuration, it is possible to improve the mounting efficiency of processing without increasing the circuit scale, which is a feature of the present invention.
In the embodiment, the configuration including the arithmetic unit that operates in parallel for each input port as the processing element has been described. However, the present invention is not limited to this and can be applied to various processors. For example, it is possible to use a processor that performs general processing.

なお、上述の実施形態の説明では説明を簡単にするために方角を用いて構成要素の関係を説明したが、この方角は構成要素の論理的な位置関係を定義するものであって、構成要素の物理的な位置関係を厳密に定義するものではない。例えば、複数のプロセッサを積層するように形成するなどしても、本願発明を適用することは可能である。ただ、スイッチングエレメント間の長さが局所的に極端に長くなってしまうと、局所的に大きな配線遅延が生じるので、スイッチングエレメント間の配線は均等にすることが好ましい。同様に「隣接する」という説明も配線を均等にした場合に論理的に隣接するように表現できるという意味である。   In the above description of the embodiment, the relationship between the components has been described using directions for the sake of simplicity. However, this direction defines the logical positional relationship between the components. The physical positional relationship of is not strictly defined. For example, the present invention can be applied even if a plurality of processors are stacked. However, if the length between the switching elements becomes extremely long locally, a large wiring delay occurs locally. Therefore, the wiring between the switching elements is preferably equalized. Similarly, the description of “adjacent” means that it can be expressed as logically adjacent when the wirings are equalized.

また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。   The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

Claims (8)

複数の入出力手段と、
複数の処理手段と、
前記複数の入出力手段同士を接続する複数の第1の通信線と、
前記入出力手段と前記処理手段とを相互に接続する複数の第2の通信線と、
所定の方向へデータを伝達する第1の通信線の帯域が他の方向の第1の通信線の帯域と比べて広いことを特徴とするデータ処理装置。
A plurality of input / output means;
A plurality of processing means;
A plurality of first communication lines connecting the plurality of input / output means;
A plurality of second communication lines interconnecting the input / output means and the processing means;
A data processing apparatus, wherein a band of a first communication line for transmitting data in a predetermined direction is wider than a band of a first communication line in another direction.
格子状に配置され、複数の入出力ポートを備える複数の入出力手段と、
前記格子に対応して配置され、複数の入出力ポートを備える複数の処理手段と、
前記入出力手段が、隣接する他の前記入出力手段と
前記複数の入出力ポートを接続する複数のデータ通信手段とを有し、
前記複数のデータ通信手段のうち、少なくとも一つが所定の方向に多重化された構成を持つことを特徴とする信号処理回路。
A plurality of input / output means arranged in a grid and having a plurality of input / output ports;
A plurality of processing means arranged corresponding to the lattice and having a plurality of input / output ports;
The input / output means includes the other input / output means adjacent to each other and a plurality of data communication means for connecting the plurality of input / output ports,
A signal processing circuit having a configuration in which at least one of the plurality of data communication means is multiplexed in a predetermined direction.
前記処理手段が複数の記憶手段を備え、前記処理手段の備える前記複数の入出力ポートから受信するデータを前記記憶手段に並列に書き込む書き込み手段を有することを特徴とする請求項2に記載の信号処理回路。 3. The signal according to claim 2, wherein the processing unit includes a plurality of storage units, and includes a writing unit that writes data received from the plurality of input / output ports of the processing unit in parallel to the storage unit. Processing circuit. 前記処理手段が複数の記憶手段を備え、前記記憶手段に書き込まれている複数のデータを前記処理手段の備える前記複数の入出力ポートへ並列に読み出す読み出し手段を更に有することを特徴とする請求項2又は3に記載の信号処理回路。 The processing means comprises a plurality of storage means, and further comprises a reading means for reading in parallel a plurality of data written in the storage means to the plurality of input / output ports provided in the processing means. 4. The signal processing circuit according to 2 or 3. 前記複数のデータ通信手段のうち、少なくとも一つが物理的に多重化された構成を持つことを特徴とする請求項2乃至4のいずれか1項に記載の信号処理回路。   5. The signal processing circuit according to claim 2, wherein at least one of the plurality of data communication means is configured to be physically multiplexed. 6. 前記複数のデータ通信手段のうち、少なくとも一つが複数の前記入出力手段からのデータ通信を共有可能とする構成を持つことを特徴とする請求項2乃至5のいずれか1項に記載の信号処理回路。   6. The signal processing according to claim 2, wherein at least one of the plurality of data communication units is configured to be able to share data communication from the plurality of input / output units. circuit. データ入力手段を更に備え、前記データ通信手段のうち、少なくとも一部が前記データ入力手段から前記入出力手段の方向に多重化されていることを特徴とする請求項2乃至6のいずれか1項に記載の信号処理回路。   7. A data input means is further provided, and at least a part of the data communication means is multiplexed in the direction from the data input means to the input / output means. A signal processing circuit according to 1. 前記データ入力手段と異なる入出力手段と接続されているデータ出力手段を更に備え、前記データ通信手段のうち、少なくとも一部が前記入出力手段から前記データ出力手段の方向に多重化されていることを特徴とする請求項7に記載の信号処理回路。   Data output means connected to an input / output means different from the data input means, and at least a part of the data communication means is multiplexed in the direction from the input / output means to the data output means. The signal processing circuit according to claim 7.
JP2010191319A 2010-08-27 2010-08-27 Semiconductor integrated circuit and data processing device Pending JP2012048573A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010191319A JP2012048573A (en) 2010-08-27 2010-08-27 Semiconductor integrated circuit and data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010191319A JP2012048573A (en) 2010-08-27 2010-08-27 Semiconductor integrated circuit and data processing device

Publications (1)

Publication Number Publication Date
JP2012048573A true JP2012048573A (en) 2012-03-08

Family

ID=45903342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010191319A Pending JP2012048573A (en) 2010-08-27 2010-08-27 Semiconductor integrated circuit and data processing device

Country Status (1)

Country Link
JP (1) JP2012048573A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0454556A (en) * 1990-06-21 1992-02-21 Sumitomo Metal Ind Ltd Parallel computer
JPH06223045A (en) * 1983-05-31 1994-08-12 Daburiyuu Danieru Hirisu Parallel processor
JPH07152722A (en) * 1993-08-12 1995-06-16 Hughes Aircraft Co Dynamically reconstitutable switching device for simd multiprocessor
JPH10200598A (en) * 1997-01-09 1998-07-31 Toshiba Corp Communication device
JPH11238034A (en) * 1998-02-23 1999-08-31 Minolta Co Ltd Data transfer system
JPH11243415A (en) * 1989-06-30 1999-09-07 Sgs Thomson Microelectronics Ltd Data encoding method, communication device, message transmitting method and routing switch
JPH11296345A (en) * 1998-04-08 1999-10-29 Hitachi Ltd Processor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223045A (en) * 1983-05-31 1994-08-12 Daburiyuu Danieru Hirisu Parallel processor
JPH11243415A (en) * 1989-06-30 1999-09-07 Sgs Thomson Microelectronics Ltd Data encoding method, communication device, message transmitting method and routing switch
JPH0454556A (en) * 1990-06-21 1992-02-21 Sumitomo Metal Ind Ltd Parallel computer
JPH07152722A (en) * 1993-08-12 1995-06-16 Hughes Aircraft Co Dynamically reconstitutable switching device for simd multiprocessor
JPH10200598A (en) * 1997-01-09 1998-07-31 Toshiba Corp Communication device
JPH11238034A (en) * 1998-02-23 1999-08-31 Minolta Co Ltd Data transfer system
JPH11296345A (en) * 1998-04-08 1999-10-29 Hitachi Ltd Processor

Similar Documents

Publication Publication Date Title
US20190215280A1 (en) Programmable logic device with integrated network-on-chip
JP5543894B2 (en) NoC system and input switching device
US7502378B2 (en) Flexible wrapper architecture for tiled networks on a chip
US7889725B2 (en) Computer cluster
KR20210033996A (en) Integrated address space for multiple hardware accelerators using dedicated low-latency links
WO1992018935A1 (en) Data processor and data processing method
WO2010096122A1 (en) Mesh network
Rodrigo et al. Efficient implementation of distributed routing algorithms for NoCs
CN102301363A (en) Data processsing node, system and method
Pontes et al. Hermes-A–an asynchronous NoC router with distributed routing
US8504731B2 (en) Network for interconnecting computers
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
JP2012048573A (en) Semiconductor integrated circuit and data processing device
Changrui et al. A high-performance heterogeneous embedded signal processing system based on serial RapidIO interconnection
US11016822B1 (en) Cascade streaming between data processing engines in an array
JPH05274279A (en) Device for parallel processing and device therefor
JP2525117B2 (en) Array processor
JP4743581B2 (en) Data processing system and control method thereof
JP2008077151A (en) Shared memory device
Amano Tutorial: Introduction to interconnection networks from system area network to network on chips
JP2005157653A (en) Data processor and data processing method
JP5307525B2 (en) Data processing apparatus and control method thereof
JP5685993B2 (en) Multi-node system including failure processing circuit and failure processing method
JP3661932B2 (en) Parallel computer system and crossbar switch
Touzene All-to-all broadcast in hexagonal torus networks on-chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150224