JP5110433B2 - データ駆動型情報処理装置 - Google Patents
データ駆動型情報処理装置 Download PDFInfo
- Publication number
- JP5110433B2 JP5110433B2 JP2008070446A JP2008070446A JP5110433B2 JP 5110433 B2 JP5110433 B2 JP 5110433B2 JP 2008070446 A JP2008070446 A JP 2008070446A JP 2008070446 A JP2008070446 A JP 2008070446A JP 5110433 B2 JP5110433 B2 JP 5110433B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- pipeline
- transfer
- path
- control point
- 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.)
- Expired - Fee Related
Links
Images
Description
図19は自己同期型パイプライン処理を用いたデータ駆動型情報処理装置を示すブロック図である。
請求項5に係る発明は、前記順方向の経路と前記逆方向の経路間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項4記載のデータ駆動型情報処理装置に関する。
前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることにより、データ処理エレメントを複数相互に接続し、それらの間の相互作用機構を実現しつつ、VLSIチップ上に展開することができる。
第一実施形態に係るデータ駆動型情報処理装置は、直列に配置された複数のパイプラインステージが配されたパイプラインを二以上有するデータ駆動型情報処理装置であって、パイプライン間のデータの相互転送制御を実現するためのものである。
図1,2は第一実施形態に係るデータ駆動型情報処理装置の制御の概念について説明するための説明図であり、二本のパイプライン(1,2)間のデータの相互転送制御について説明するための説明図である。
分流制御点(11,21)は設定により、下記(i)(ii)どちらかの機能を有する。
(i)合流制御点(12)又は合流制御点(22)のどちらか一方(例えば、分流制御点に許可信号が早く到達した方)にデータを送る。
(ii)入力されたデータを設定した条件により二つに分割して合流制御点(12)及び合流制御点(22)の両方に送る。
また、合流制御点(12,22)は設定により、下記(iii)(iv)どちらかの機能を有する。
(iii)分流制御点(11)又は分流制御点(21)のどちらか一方のデータ(例えば、分流制御点に早く到達したデータ)を受けて後段のパイプラインステージに出力する。
(iv)分流制御点(11)及び分流制御点(21)の両方のデータのパケットを演算することにより、異なるデータを作成し、後段のパイプラインステージに出力する。
なお、分流制御点(11,21)が(i)又は(ii)のどちらの機能を有するか、合流制御点(12,22)が(iii)又は(iv)のどちらの機能を有するかは、データのパケットが到着する直前までに決定する必要がある。
つまり、分流制御点(11,21)、合流制御点(12,22)を有することにより、例えば、
分流制御点(11)から合流制御点(12,22)への転送により実現される「分岐」(図2(a)参照)、
分流制御点(11)から合流制御点(12)への転送及び分流制御点(21)から合流制御点(12)への転送により実現される「合流」(図2(b)参照)、
分流制御点(11)から合流制御点(12,22)への転送及び分流制御点(21)から合流制御点(22)への転送により実現される「一方向転送」(図2(c)参照)、
分流制御点(11)から合流制御点(12,22)への転送及び分流制御点(21)から合流制御点(12,22)への転送により実現される「双方向転送」(図2(d)参照)
等を実現することができる。
図3は第一実施形態に係るデータ駆動型情報処理装置に用いられる回路(100)を示す図であり、「分岐」、「合流」、「一方向転送」、「双方向転送」の全ての経路を実現するための回路を示す図である。
図3に示す回路(100)は転送制御回路(3)、ルータ(Router)(4)、アービタ(Arbiter)(5)、マルチプレクサ(multiplexer:MUX)(6)を有する回路である。なお、図4は転送制御回路(3)の詳細を示す図であり、図5はアービタ(5)の詳細を示す図である。
具体的には、転送制御回路(3)には、入力信号として後段から転送要求(send)信号が、前段から転送許可(ack)信号が入力される。また、出力信号として前段へ転送許可(ack)信号が、後段へ転送要求(send)信号が出力される。
そして、前段からの転送許可信号と後段からの転送要求信号が入力(遷移)されたとき、前段への転送要求信号及び後段への転送許可信号を出力(遷移)する。つまり、二入力の信号遷移を受けて二出力を信号遷移させる回路である。
また、転送制御回路(3)は各パイプラインステージごとに設けられており、図3ではパイプライン(1)の転送制御回路(31)とパイプライン(2)の転送制御回路(32)が示されている。また、パイプライン(1)において、前段からの転送要求信号を「send in1」、前段への転送許可信号を「ack out1」、後段への転送要求信号を「send out1」、後段からの転送許可信号を「ack in1」とする。同様に、パイプライン(2)において、前段からの転送要求信号を「send in2」、前段への転送許可信号を「ack out2」、後段への転送要求信号を「send out2」、後段からの転送許可信号を「ack in2」とする。
なお、図4はハフマン回路の制約を満足するように設計した転送制御回路(3)である。ハフマン回路の制約(転送制御回路のタイミングチャート)については後に詳述する。
転送経路を決定するための情報としては、データのパケットの種類、行き先ステージ番号(属性)、単位時間当たりのパケット流量、単位ステージあたりのパケット流量等を挙げることができる。このように、様々な動作条件に従い動的に制御することにより、高機能なデータ操作を実現することができる。
以下、図5を用いてアービタ(5)について説明する。図5(a)はアービタ(5)全体を示す回路であり、図5(b)は図5(a)の(51)の部分、図5(c)は図5(a)の(52)の部分を示す。
図5(b)に示す回路(51)により、アービタ(5)はハンドシェイク信号(send信号とack信号)に基づいてデータが転送中か否かを判断する。具体的には、端子(51s)からsend信号を受け、端子(51a)からack信号を受ける。ここで、回路(51)は、パイプライン(1)のデータを処理する回路(511)とパイプライン(2)のデータを処理する回路(512)の二つが設けられており、夫々のパイプラインごとにデータの処理を行う。そして、回路(51)は図5(c)に示す回路(52)にデータが転送中であるか否かの情報を送る。回路(52)は、回路(511)からの情報を端子(52s1)で、回路(512)からの情報を端子(52s2)で受け、当該情報を基に、転送経路を切り替えるタイミングを決定し、MUX(6)を制御する情報をMUX(6)に送る。
なお、図5(b)における端子(51r)は回路を初期状態に戻すためのreset信号が入力される端子である。
また、図5に示すアービタ(5)は本発明に係るアービタ(5)の一例であり、本発明を何ら限定するものではない。例えば、後述するソーティング装置のアービタ(5)ではパイプライン(2)からのsend信号やack信号はアービタ(5)に入力されない。他にも、send信号のみ又はack信号のみがアービタ(5)に入力される場合やこれらの組み合わせも挙げることができる。
図6はパイプライン(1)のデータラッチ(711)からパイプライン(2)のデータラッチ(722)への転送及びパイプライン(2)のデータラッチ(721)からパイプライン(1)のデータラッチ(712)への転送が行われている場合を示すイメージブロック図であり、図3は図6における点線で囲まれた(A)の部分を示す。なお、図6では、図示の都合上、データラッチ(711)からデータラッチ(722)への転送及びデータラッチ(721)からデータラッチ(712)への転送のみを示しているが、実際にはデータの合流・分岐を切り替えることができる。
図6に示す如く、第一実施形態に係るデータ駆動型情報処理装置は、転送制御回路(3)で生成されるハンドシェイク信号の方向を変えることによってデータの相互転送制御を制御している。具体的には、ハンドシェイク信号のやりとりを、パイプライン(1)の転送制御回路(311)とパイプライン(2)の転送制御回路(312)間及びパイプライン(2)の転送制御回路(321)とパイプライン(1)の転送制御回路(312)間で行う。
また、図6以外の例で説明すると、例えば、「合流」は二つのハンドシェイク信号を一つのハンドシェイク信号にすることにより実現することができ、「分岐」は一つのハンドシェイク信号を二方向に出力することで実現することができる。このように、第一実施形態に係るデータ駆動型情報処理装置はハンドシェイク信号の方向を変えることによってデータの転送を制御している。
転送制御回路(3)はハフマン回路であり、非同期型の回路である。そのため、入力変化の間隔(dconstraint)を安定させるために下式1を満たす必要がある。下式1中のdmaxはハフマン回路内の組み合わせ回路の最大遅延を示し、dfはフィードバック遅延を示している。一方、send信号の遅延、ack信号の遅延、MUXの遅延、ハフマン回路内の組み合わせ回路の最小遅延を夫々、ds,da,dmux,dminとした場合、ハンドシェイクにおける入力変化の最小時間(di)は下式2で示される。このとき、dconstraint>diとなる場合、下式1を満たすために、新たな遅延(dx)を加える必要がある。以上より、下式3を満たすdx以上の遅延をsend信号又はack信号の配線上に加える必要がある。
図10,11はデータ処理エレメント(9)を展開する方法を示す説明図である。
図10ではデータ処理エレメント(9)が格子状に展開されており、隣接するデータ処理エレメントにデータを転送する。例えば、図10(b)の矢印が示すように、図面左からのデータが図面上又は図面右のデータ処理エレメント(9)に、図面下からのデータが図面右又は図面上のデータ処理エレメント(9)に転送される。図11ではデータ処理エレメント(9)が蜘蛛の巣状に展開しており、隣接するデータ処理エレメントにデータを転送する。
データ処理エレメント(9)が図10,11に示すように展開することにより、対象となるアプリケーションの同時並列・パイプラインの並列処理の構造に適した形態で、処理対象データの論理的な流れ(データフロー)を物理的なパイプライン処理機構上に写像することができる。
図12(a)はアプリケーションの論理的なデータフローをそのままパイプライン機構に写像するよう、ロジック回路(91)同士を接続した専用エンジンを示す図である。図12(b)は同種のハードウェア機能を有するロジック回路(92)を複数カスケードしたアクセラレータ・パイプライン上に論理的データフローを写像した専用エンジンを示す図であり、単純な写像では要求性能を満たさない場合等に利用される。図12(c)は多機能なALUを搭載したプロセッサ(又はマルチプロセッサ)上に写像して、ソフトウェアをパイプライン並列に実行したマイクロプロセッサを示す図であり、単純な写像では過度な性能になる場合に利用される。
本発明に係る自己同期型パイプライン制御を用いることにより、自由にデータの流れを切り替えたり、相互のデータ系列を対象にして指定された加工を施したりすることができる。そのため、図12(a)〜(c)で示す形態を組み合わせ、又は折衷的な写像法を利用することにより、容易に実現することができる。
図13は第二実施形態に係るデータ駆動型情報処理装置を説明するための説明図である。
図13に示す如く、パイプライン(1)が、所定数のパイプラインステージ(図ではデータラッチ(7)のみを表示)分だけ順方向(図面右方向)に延び、残りが折り返し点から逆方向(図面左方向)に延びている。
そして、順方向の経路上のデータと逆方向の経路上のデータを比較することにより、順方向の経路上の分流制御点から逆方向の経路上の分流制御点へ分流経路(8)を用いてデータを転送したり、逆方向の経路上の分流制御点から順方向の経路上の合流制御点へデータを転送したりすることができる。
ソーティングとは、例えばTCPパケットのリアセンブル処理等の入力データ系列の順序に性能が左右されるアプリケーションにおける基本的な処理である。
図14はランダムな順序で入力されるデータ系列のソーティングにおけるデータフローを説明するための説明図である。
回路(100)を利用する場合、あるパイプライン(1)を入力データ系列(1)に利用し、他のパイプライン(2)をソート済みデータ系列(2)に利用する。そして、入力データ系列(1)に入力されたデータとソート済みデータ系列(2)に既にソートされたデータを比較し、適宜データの交換を行う。具体的には、入力データ系列(1)のデータとソート済みデータ系列(2)のデータを比較した比較結果に基づいて、ルータ(4)が転送経路を決定する。
例えば、図14で示す如く、ソート済みデータ系列(2)に存在する1,3,9といったデータが既にソート済で、入力データ系列(1)にある5といったデータが入力される。入力されたデータ5は1,3,9と大小比較を行う。その際、5は1,3よりは大きいが、9よりは小さいため、9と5が交換されることとなる。
このように、入力データ系列(1)とソート済データ系列(2)間の相互作用として大小比較・交換を行う。なお、ソーティングは入力される全要素に対して大小比較・交換を行う必要があるため、ソート済みデータ系列(2)は出口への転送を停止する。また、全要素の大小比較・交換が終了した時点で、ソート済みデータ系列(2)の出口への転送を開始し、ソーティング結果を出力する。
回路(100)及び図9に示す分流経路(8)を用いることにより、データの大小関係と交換がデータ対毎に並列して行うことができ、大小比較・交換を行うパイプラインの数だけソーティングを並列実行することができる。
このSPSを、対向するパイプライン間において対応する一段目のパイプライン段でのみ大小比較・交換を行う場合のソーティング装置(SLS:Self-Timed Light Sorter)と比較することで、回路規模と処理性能の評価を行った。なお、図17はSLSを示す図である。
データフローの写像レベルがパイプラインの性能に与える影響を示すため、8bitのデータ幅を持つ10個の入力データを昇順又は降順にソートした際のターンアラウンドタイム(ワーストケース)と、並列性の増加と回路規模の関係を、ロジックセル数を基に下記表1に示す。
11,21 分流制御点
12,22 合流制御点
3 転送制御回路
4 ルータ
5 アービタ
8 分流経路
9 データ処理エレメント
Claims (6)
- 直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、
前記パイプラインが二以上あり、
夫々のパイプラインが
少なくとも一のデータを二のデータにするためのパイプラインステージである分流制御点及び/又は
二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、
前記パイプラインステージごとに、
データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、
前記データに含まれる情報から転送経路を決定するルータと、
前記転送経路を切り替えるタイミングを決定するアービタを有し、
前記ルータが、一のパイプラインの分流制御点から他のパイプラインの合流制御点へデータを転送する転送経路を決定し、
前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることを特徴とするデータ駆動型情報処理装置。 - 前記ルータが、
前記データに含まれるパケットの種類、行き先ステージ番号、単位時間当たりのデータ流量、単位ステージあたりのデータ流量に基づいて前記転送を決定し、該転送経路の情報を前記アービタに出力し、
該アービタが
前記データの到着順序・到着間隔に基づいて前記転送経路の切り替えを行うことを特徴とする請求項1記載のデータ駆動型情報処理装置。 - 前記一のパイプラインと前記他のパイプライン間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項1又は2記載のデータ駆動型情報処理装置。
- 直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、
前記パイプラインにおいて、所定数のパイプラインステージが順方向に配置されるとともに、残りのパイプラインステージが折り返し点から逆方向に配置され、
前記順方向及び逆方向の夫々の経路上において、
一のデータを二のデータに分岐するためのパイプラインステージである分流制御点と、
二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、
前記パイプラインステージごとに、
データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、
前記データに含まれる情報から転送経路を決定するルータと、
前記転送経路を切り替えるタイミングを決定するアービタを有し、
前記ルータが、
前記順方向の経路上のデータと前記逆方向の経路上のデータを比較することにより、前記順方向の経路上の分流制御点から前記逆方向の経路上の合流制御点へデータを転送する転送経路及び/又は前記逆方向の経路上の分流制御点から前記順方向の経路上の合流制御点へデータを転送する転送経路を決定し、
前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることを特徴とするデータ駆動型情報処理装置。 - 前記順方向の経路と前記逆方向の経路間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項4記載のデータ駆動型情報処理装置。
- 前記データ駆動型情報処理装置がソーティング装置であり、
前記順方向の経路を入力データ系列とし、前記逆方向の経路をソート済みデータ系列とし、
前記ルータが、該入力データ系列に入力されたデータと該ソート済みデータ系列に既にソートされたデータを比較した比較結果によりデータの転送経路を決定することを特徴とする請求項4又は5記載のデータ駆動型情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008070446A JP5110433B2 (ja) | 2008-03-18 | 2008-03-18 | データ駆動型情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008070446A JP5110433B2 (ja) | 2008-03-18 | 2008-03-18 | データ駆動型情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009223836A JP2009223836A (ja) | 2009-10-01 |
JP5110433B2 true JP5110433B2 (ja) | 2012-12-26 |
Family
ID=41240499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008070446A Expired - Fee Related JP5110433B2 (ja) | 2008-03-18 | 2008-03-18 | データ駆動型情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5110433B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
-
2008
- 2008-03-18 JP JP2008070446A patent/JP5110433B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009223836A (ja) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8872544B2 (en) | Systems, pipeline stages, and computer readable media for advanced asynchronous pipeline circuits | |
US10027433B2 (en) | Multiple clock domains in NoC | |
KR100758983B1 (ko) | Gals 기반 네트워크 온 칩 및 그 데이터 전송방법 | |
Ferretti et al. | Single-track asynchronous pipeline templates using 1-of-N encoding | |
US20130113519A1 (en) | Asynchronous digital circuits including arbitration and routing primatives for asynchronous and mixed-timing networks | |
Pontes et al. | Hermes-AA: A 65nm asynchronous NoC router with adaptive routing | |
Pontes et al. | Hermes-A–an asynchronous NoC router with distributed routing | |
Manohar | Reconfigurable asynchronous logic | |
US8593176B2 (en) | One phase logic | |
CN104092617A (zh) | 一种三维集成电路片上网络路由方法及其系统 | |
Jiang et al. | An asynchronous NoC router in a 14nm FinFET library: comparison to an industrial synchronous counterpart | |
KR20230002937A (ko) | 컴퓨팅 데이터흐름 아키텍처 | |
Ax et al. | Comparing synchronous, mesochronous and asynchronous NoCs for GALS based MPSoCs | |
JP5110433B2 (ja) | データ駆動型情報処理装置 | |
WO2003038687A2 (en) | Optimization of the design of a synchronous digital circuit | |
Peh et al. | On-chip networks for multicore systems | |
Aoyama | Design issues in implementing an adaptive router | |
Moreira et al. | BaBaNoC: an asynchronous network-on-chip described in Balsa | |
May et al. | Hiper: A compact narrow channel router with hop-by-hop error correction | |
Bhandari et al. | Fpga based high performance asynchronous alu based on modified 4 phase handshaking protocol with tapered buffers | |
Komatsu et al. | Interacting self-timed pipelines and elementary coupling control modules | |
Rodolfo et al. | Quasi Delay Insensitive FIFOs: Design Choices Exploration and Comparison | |
Fairouz et al. | Comparing leakage reduction techniques for an asynchronous network-on-chip router | |
US20230289065A1 (en) | Data flow control device in streaming architecture chip | |
US7076680B1 (en) | Method and apparatus for providing skew compensation using a self-timed source-synchronous network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090528 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100311 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120711 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120919 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120927 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5110433 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |