JP5110433B2 - データ駆動型情報処理装置 - Google Patents

データ駆動型情報処理装置 Download PDF

Info

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
Application number
JP2008070446A
Other languages
English (en)
Other versions
JP2009223836A (ja
Inventor
誠 岩田
秀次 三宮
和寛 小松
卓 亀田
和夫 坪内
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.)
Kochi University of Technology
Original Assignee
Kochi University of Technology
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 Kochi University of Technology filed Critical Kochi University of Technology
Priority to JP2008070446A priority Critical patent/JP5110433B2/ja
Publication of JP2009223836A publication Critical patent/JP2009223836A/ja
Application granted granted Critical
Publication of JP5110433B2 publication Critical patent/JP5110433B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は自己同期型パイプライン処理を用いたデータ駆動型情報処理装置に関する。
近年、LSI(Large Scale Integration)等を含む情報処理装置の設計において、SoC(System on a Chip)の実現のため、マイクロプロセッサ、チップセット、ビデオチップ、メモリ、専用エンジン等の機能の高集積化が望まれている。機能の高集積化を図ることにより、実装に必要な面積を縮小させ、同等の機能を持つ複数のチップによるシステムよりも消費電力を抑えることができる。しかし、当該高集積化が進むにつれ、LSIの設計は複雑になる。
このような現状に鑑み、複数のパイプラインステージが配されたパイプラインが敷設されたデータ駆動型情報処理装置が用いられている(例えば、下記特許文献1参照)。このようなデータ駆動型情報処理装置でパイプライン処理を行うことにより、並列処理を実現するとともに、システム全体の保証をパイプラインステージごとの保証に置き換えることができる。そのため、パイプラインステージごとに設計を行うことができ、LSIの設計も容易に行うことができる。
なかでも、自己同期型パイプライン(STP:Self-Timed Pipeline)処理は様々な利点を有するため、多くの場面で用いられている。以下、図19を用いて詳しく説明する。
図19は自己同期型パイプライン処理を用いたデータ駆動型情報処理装置を示すブロック図である。
図19には、自己同期型パイプライン処理を用いた情報処理装置の一部、具体的にはデータラッチ(DL1〜DL3)、転送制御回路(C1〜C3)、ロジック回路(L1,L2)を示している。そして、データがデータラッチ(DL1)、ロジック回路(L1)、データラッチ(DL2)、ロジック回路(L2)、データラッチ(DL3)と順に転送され、各ロジック回路(L1,L2)でシーケンス制御が行われる。
以下、図19に示す情報処理回路の動作について具体的に説明する。まず、データラッチ(DL1)からデータラッチ(DL3)までデータを転送する場合、転送制御回路(C1)は転送制御回路(C2)に転送要求(send)信号を送ると同時に、データラッチ(DL1)を開き、データを後段のパイプラインステージに転送する。転送制御回路(C1)からのsend信号を受け取った転送制御回路(C2)は、転送許可(ack)信号を転送制御回路(C1)に返す。転送制御回路(C2)からのack信号を受け取った転送制御回路(C1)は後続データの転送準備をし、前段のパイプラインステージからのデータ転送を待つ。同様に、転送制御回路(C2)は後段の転送制御回路(C3)にsend信号を出した後、後段のパイプラインステージにデータを転送する。このとき、転送制御回路(C2)は、転送制御回路(C3)からのack信号を受け取るまで転送制御回路(C3)にsend信号を送出できないため、データは転送されない。このようにして、隣り合った転送制御回路間のsend信号とack信号(以下、まとめてハンドシェイク信号と称す)の授受によりデータの転送を制御する。
図19に示す情報処理回路は、隣り合った転送制御回路間のハンドシェイク信号の授受により制御されるため、他のパイプラインステージのデータ転送制御に直接影響を与えない。つまり、隣接ステージ間のハンドシェイクタイミングのみを制御すれば、パイプライン全体の動作を保証することができる。そのため、パイプライン制御はVLSI(Very Large Scale Integration)の設計等で問題視されるタイミング制約やシグナルインテグリティの確保に有効である。例えば、スキューの影響が各パイプラインステージ内に局所化されるため、パイプライン分割が容易となり、スループットを向上させることができる。また、高い並列処理性能を実現することもできる。加えて、クロック制御による同期式パイプラインのように全体が同時に動作することがなく、データの有無によって間欠的に動作することができるため、原理的に省電力且つ低EMI(Electro Magnetic Interference)で動作させることができる。
上記したように、STPではハンドシェイクの保証によってシステム全体を保証することができる。そのため、複雑な転送であってもハンドシェイクを保証することができれば設計を実現することができる。しかし、ハンドシェイクの保証による設計は、ハンドシェイクが複雑になるほど困難である。つまり、信号数が増大すると回路が複雑となり、システム自体を構築することができなくなって、高集積化を図ることができなくなるという問題を有する。
特開2001−331472号公報
本発明は上記問題に鑑みてなされたものであり、複雑な回路でも容易に実現することができ、高集積化を図ることができる自己同期型パイプラインを用いたデータ駆動型情報処理装置を提供することを解決課題とする。
請求項1に係る発明は、直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、前記パイプラインが二以上あり、夫々のパイプラインが少なくとも一のデータを二のデータにするためのパイプラインステージである分流制御点及び/又は二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、前記パイプラインステージごとに、データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、前記データに含まれる情報から転送経路を決定するルータと、前記転送経路を切り替えるタイミングを決定するアービタを有し、前記ルータが、一のパイプラインの分流制御点から他のパイプラインの合流制御点へデータを転送する転送経路を決定し、前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることを特徴とするデータ駆動型情報処理装置に関する。
請求項2に係る発明は、前記ルータが、前記データに含まれるパケットの種類、行き先ステージ番号、単位時間当たりのデータ流量、単位ステージあたりのデータ流量に基づいて前記転送を決定し、該転送経路の情報を前記アービタに出力し、該アービタが前記データの到着順序・到着間隔に基づいて前記転送経路の切り替えを行うことを特徴とする請求項1記載のデータ駆動型情報処理装置に関する。
請求項3に係る発明は、前記一のパイプラインと前記他のパイプライン間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項1又は2記載のデータ駆動型情報処理装置に関する。
請求項に係る発明は、直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、前記パイプラインにおいて、所定数のパイプラインステージが順方向に配置されるとともに、残りのパイプラインステージが折り返し点から逆方向に配置され、前記順方向及び逆方向の夫々の経路上において、一のデータを二のデータに分岐するためのパイプラインステージである分流制御点と、二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、前記パイプラインステージごとに、データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、前記データに含まれる情報から転送経路を決定するルータと、前記転送経路を切り替えるタイミングを決定するアービタを有し、前記ルータが、前記順方向の経路上のデータと前記逆方向の経路上のデータを比較することにより、前記順方向の経路上の分流制御点から前記逆方向の経路上の合流制御点へデータを転送する転送経路及び/又は前記逆方向の経路上の分流制御点から前記順方向の経路上の合流制御点へデータを転送する転送経路を決定し、前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることを特徴とするデータ駆動型情報処理装置に関する。
請求項5に係る発明は、前記順方向の経路と前記逆方向の経路間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項4記載のデータ駆動型情報処理装置に関する。
請求項6に係る発明は、前記データ駆動型情報処理装置がソーティング装置であり、前記順方向の経路を入力データ系列とし、前記逆方向の経路をソート済みデータ系列とし、前記ルータが、該入力データ系列に入力されたデータと該ソート済みデータ系列に既にソートされたデータを比較した比較結果によりデータの転送経路を決定することを特徴とする請求項4又は5記載のデータ駆動型情報処理装置に関する。
請求項1に係る発明によれば、パイプラインが二以上あり、夫々のパイプラインが少なくとも一のデータを二のデータに分岐するためのパイプラインステージである分流制御点及び/又は二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、前記パイプラインステージごとに、データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、前記データに含まれる情報から転送経路を決定するルータと、前記転送経路を切り替えるタイミングを決定するアービタを有し、前記ルータが、一のパイプラインの分流制御点から他のパイプラインの合流制御点へデータを転送する転送経路を決定することにより、二以上のパイプライン間でのデータの相互転送制御を実現することができる。
前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることにより、データ処理エレメントを複数相互に接続し、それらの間の相互作用機構を実現しつつ、VLSIチップ上に展開することができる。
請求項2に係る発明によれば、前記ルータが、前記データに含まれるパケットの種類、行き先ステージ番号、単位時間当たりのデータ流量、単位ステージあたりのデータ流量に基づいて前記転送を決定し、該転送経路の情報を前記アービタに出力し、該アービタが前記データの到着順序・到着間隔に基づいて前記転送経路の切り替えを行うことにより、様々な動作条件に従い動的に制御でき、高機能なデータ操作を実現することができる。
請求項3に係る発明によれば、前記一のパイプラインと前記他のパイプライン間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることにより、一方のパイプラインが一時的に停止した場合でも、他方のパイプラインとの相互作用を実現することができる。
請求項4及び5に係る発明によれば、直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、前記パイプラインにおいて、所定数のパイプラインステージが順方向に配置されるとともに、残りのパイプラインステージが折り返し点から逆方向に配置され、前記順方向及び逆方向の夫々の経路上において、一のデータを二のデータに分岐するためのパイプラインステージである分流制御点と、二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、前記パイプラインステージごとに、データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、前記データに含まれる情報から転送経路を決定するルータと、前記転送経路を切り替えるタイミングを決定するアービタを有し、前記ルータが、前記順方向の経路上のデータと前記逆方向の経路上のデータを比較することにより、前記順方向の経路上の分流制御点から前記逆方向の経路上の合流制御点へデータを転送する転送経路及び/又は前記逆方向の経路上の分流制御点から前記順方向の経路上の合流制御点へデータを転送する転送経路を決定することにより、順方向の経路と逆方向の経路間でのデータの相互転送制御を実現することができる。
請求項6に係る発明によれば、前記データ駆動型情報処理装置がソーティング装置であり、前記順方向の経路を入力データ系列とし、前記逆方向の経路をソート済みデータ系列とし、前記ルータが、該入力データ系列に入力されたデータと該ソート済みデータ系列に既にソートされたデータを比較した比較結果によりデータの転送経路を決定することにより、データの大小比較と交換がデータ対毎に並列して行うことができ、大小比較・交換を行うパイプラインの数だけソーティングを並列実行することができる。
以下、本発明の自己同期型パイプライン制御を用いたデータ駆動型情報処理装置について図面を参照しつつ説明する。なお、下記説明において、同じ構成には同じ符号を付している。
まず、本発明の第一実施形態に係るデータ駆動型情報処理装置について説明する。
第一実施形態に係るデータ駆動型情報処理装置は、直列に配置された複数のパイプラインステージが配されたパイプラインを二以上有するデータ駆動型情報処理装置であって、パイプライン間のデータの相互転送制御を実現するためのものである。
図1,2は第一実施形態に係るデータ駆動型情報処理装置の制御の概念について説明するための説明図であり、二本のパイプライン(1,2)間のデータの相互転送制御について説明するための説明図である。
図1に示す如く、パイプライン(1,2)は、パイプラインステージとして、一のデータを一又は二のデータに分岐するための分流制御点(11,21)と、一又は二のデータを演算して一のデータとする合流制御点(12,22)を有する。具体的には、一方のパイプライン(1)はパイプラインステージとして分流制御点(11),合流制御点(12)を有し、他方のパイプライン(2)はパイプラインステージとして分流制御点(21),合流制御点(22)を有する。
分流制御点(11,21)、合流制御点(12,22)の機能について、具体的に説明する。
分流制御点(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)のどちらかの機能を有することにより、パイプライン(1,2)間のデータの相互転送制御を実現することができる。
なお、分流制御点(11,21)が(i)又は(ii)のどちらの機能を有するか、合流制御点(12,22)が(iii)又は(iv)のどちらの機能を有するかは、データのパケットが到着する直前までに決定する必要がある。
分流制御点(11,21)、合流制御点(12,22)を有することにより、パイプライン(1)に入力されたデータは、分流制御点(11)から合流制御点(12)を介して出力される経路及び/又は合流制御点(22)を介して出力される経路を選択することができる。一方、パイプライン(2)に入力されたデータは、分流制御点(21)から合流制御点(22)を介して出力される経路及び/又は合流制御点(12)を介して出力される経路を選択することができる。
つまり、分流制御点(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)参照)
等を実現することができる。
このように、分流制御点(11,21)及び合流制御点(12,22)を採用することで、分流制御点(11,21)及び合流制御点(12,22)の組み合わせのみで(他の構成なしに)、分岐・合流等のパイプライン間の転送制御を実現することができる。つまり、パイプラインの分流制御点と合流制御点の配し方によってパイプラインを縦横無尽に配することができる。具体的には、分流制御点(11,21)、合流制御点(12,22)、分流制御点(11,21)と合流制御点(12,22)間の転送を夫々ON又はOFFの状態にすることでデータの経路を決定することができる。例えば「分岐」を構成したい場合、分流制御点(11)、合流制御点(12,22)、分流制御点(11)から合流制御点(12,22)への転送をONにし、分流制御点(21)をOFFにする。
次いで、第一実施形態に係るデータ駆動型情報処理装置に用いられる回路について説明する。
図3は第一実施形態に係るデータ駆動型情報処理装置に用いられる回路(100)を示す図であり、「分岐」、「合流」、「一方向転送」、「双方向転送」の全ての経路を実現するための回路を示す図である。
図3に示す回路(100)は転送制御回路(3)、ルータ(Router)(4)、アービタ(Arbiter)(5)、マルチプレクサ(multiplexer:MUX)(6)を有する回路である。なお、図4は転送制御回路(3)の詳細を示す図であり、図5はアービタ(5)の詳細を示す図である。
転送制御回路(3)はハンドシェイクによりデータ転送を制御する回路であり、転送制御回路(3)からのハンドシェイク信号(転送要求信号及び転送許可信号)に基づいてデータラッチ(図3には図示せず)を開閉することによりデータ転送を制御している。
具体的には、転送制御回路(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)である。ハフマン回路の制約(転送制御回路のタイミングチャート)については後に詳述する。
ルータ(4)はデータに含まれる情報から転送経路を決定するための回路であり、アービタ(5)に転送経路の情報を送る。
転送経路を決定するための情報としては、データのパケットの種類、行き先ステージ番号(属性)、単位時間当たりのパケット流量、単位ステージあたりのパケット流量等を挙げることができる。このように、様々な動作条件に従い動的に制御することにより、高機能なデータ操作を実現することができる。
アービタ(5)はルータ(4)により決定した転送経路に基づき、二つのパケットの到着順序、到着間隔等を加味して転送経路を切り替えるタイミングを決定するための回路であり、決定した転送経路を転送制御回路(311,321)に伝播させる。
以下、図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)に入力される場合やこれらの組み合わせも挙げることができる。
MUX(6)は、二以上の入力を一の信号として出力するためのものであり、パイプライン(1)におけるMUX(611、612)とパイプライン(2)におけるMUX(621、621)の四つが設けられている。
転送制御回路(3)、ルータ(4)、アービタ(5)及びMUX(6)の機能を制御することにより、パイプライン(1,2)間のデータの相互転送制御を実現することができる。以下、図6を用いて具体的に説明する。
図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以外の例で説明すると、例えば、「合流」は二つのハンドシェイク信号を一つのハンドシェイク信号にすることにより実現することができ、「分岐」は一つのハンドシェイク信号を二方向に出力することで実現することができる。このように、第一実施形態に係るデータ駆動型情報処理装置はハンドシェイク信号の方向を変えることによってデータの転送を制御している。
また、回路(100)では、転送制御回路(3)のハンドシェイク中に遷移する信号数を制限するため、後段のパイプラインステージの転送受け入れが完了した後にのみ転送要求(send)信号に対して転送許可(ack)信号を返すようハンドシェイクのプロトコルを規定する。図7は直列に配置された三つの転送制御回路のタイミングチャートを示す図であり、三つの転送制御回路における転送要求信号をデータが転送される順にsend1,2,3、転送許可信号をack1,2,3とする。図7に示す如く、send1に対するack1の立ち上がり条件にack2の立ち上がりが必要となる。なお、このようなハンドシェイクプロトコルはsend信号の到着後もack信号の到着を待つ過負荷時から定常状態への復帰が遅れやすいため、パイプラインが過負荷にならないよう、入力データの流量を調整する必要がある。
図8は、図7で示すハンドシェイクプロトコルに基づく双方向転送制御のタイミングチャートを示す図である。図8はパイプライン(1)側とパイプライン(2)側から双方向にデータを転送する場合に、パイプライン(1)側のデータがパイプライン(2)側よりも先に到着しており、パイプライン(2)側のデータはパイプライン(1)側のデータの転送が終了するまで待つ様子を示している。図8より、転送制御回路(311,321)に入力される信号の中で、同時に遷移する信号は一つのみであり、制御が容易であるといえる。
転送制御回路(3)を上記タイミングチャートを満足するように設計することで、同時に遷移する信号数を制限することができ、ハフマン回路の制約を満足することができる。そして、転送制御回路(1)は機械的に導出することができる(例えば、図4参照)。なお、ハフマン回路の導出方法としては、一般的なものを用いればよい。(例えば、C. J. Myers, ”Asynchronous Circuit Design,” Wiley & Sons, Inc., Jul.2001参照)。
次いで、転送制御回路(3)のタイミング制約について、より詳しく説明する。
転送制御回路(3)はハフマン回路であり、非同期型の回路である。そのため、入力変化の間隔(dconstraint)を安定させるために下式1を満たす必要がある。下式1中のdmaxはハフマン回路内の組み合わせ回路の最大遅延を示し、dはフィードバック遅延を示している。一方、send信号の遅延、ack信号の遅延、MUXの遅延、ハフマン回路内の組み合わせ回路の最小遅延を夫々、d,d,dmux,dminとした場合、ハンドシェイクにおける入力変化の最小時間(d)は下式2で示される。このとき、dconstraint>dとなる場合、下式1を満たすために、新たな遅延(d)を加える必要がある。以上より、下式3を満たすd以上の遅延をsend信号又はack信号の配線上に加える必要がある。
Figure 0005110433
Figure 0005110433
Figure 0005110433
また、転送制御回路(3)では、ルータ(4)が、データがパイプライン間で並列して転送される場合の経路の選択、又は交差して転送される場合の経路の選択を行う。そしてアービタ(5)とMUX(6)が経路に応じてハンドシェイクの方向を切り替えるタイミングを制御する。これらの一連の切り替えはデータの到着からsend信号の送出までの最小の時間間隔(3dmin+d+d+d+2dmux)で行われる必要がある。このためにはルータ(4)、アービタ(5)、MUX(6)の最大遅延を夫々d,darb,dmuxとすると下式4を満たす必要がある。
Figure 0005110433
また、アービタ(5)では、パイプライン(1)とパイプライン(2)側の一組のデータの転送制御が終了するまで経路保持する必要があるため、状態を保持するフリップフロップ(FF)を内蔵する必要があり、非同期に信号が到着する。一般にFFのクロック側とデータ側への信号が非同期に到着する場合、同期化障害(メタステーブル)により回路が誤動作し得ることが知られているが、FFの二重化により、メタステーブルの発生確率を低減することができる。
また、図9に示す如く、パイプライン(1,2)間には、他のデータを追い越して、あるデータを転送するための分流経路(8)が設けられていてもよい。分流経路(8)を設けることにより、例えば、一方のパイプライン(1)が一時的に停止した場合でも、他方のパイプライン(2)との相互作用を実現することができる。
次いで、上記した回路(100)を用いたデータ駆動型情報処理装置全体について説明する。本発明に係るデータ駆動型情報処理装置は、回路(100)を用いることにより、データ処理エレメント(9)を複数相互に接続し、それらの間の相互作用機構を実現しつつ、チップ上に展開することができる。ここでデータ処理エレメントとは、回路(100)を有するマイクロプロセッサ、チップセット、ビデオチップ、メモリ、専用エンジン等の機能をいう。
図10,11はデータ処理エレメント(9)を展開する方法を示す説明図である。
図10ではデータ処理エレメント(9)が格子状に展開されており、隣接するデータ処理エレメントにデータを転送する。例えば、図10(b)の矢印が示すように、図面左からのデータが図面上又は図面右のデータ処理エレメント(9)に、図面下からのデータが図面右又は図面上のデータ処理エレメント(9)に転送される。図11ではデータ処理エレメント(9)が蜘蛛の巣状に展開しており、隣接するデータ処理エレメントにデータを転送する。
データ処理エレメント(9)が図10,11に示すように展開することにより、対象となるアプリケーションの同時並列・パイプラインの並列処理の構造に適した形態で、処理対象データの論理的な流れ(データフロー)を物理的なパイプライン処理機構上に写像することができる。
また、図10,11に示すデータ処理エレメント(9)は、図12(a)〜(c)に示すような形態を有する。
図12(a)はアプリケーションの論理的なデータフローをそのままパイプライン機構に写像するよう、ロジック回路(91)同士を接続した専用エンジンを示す図である。図12(b)は同種のハードウェア機能を有するロジック回路(92)を複数カスケードしたアクセラレータ・パイプライン上に論理的データフローを写像した専用エンジンを示す図であり、単純な写像では要求性能を満たさない場合等に利用される。図12(c)は多機能なALUを搭載したプロセッサ(又はマルチプロセッサ)上に写像して、ソフトウェアをパイプライン並列に実行したマイクロプロセッサを示す図であり、単純な写像では過度な性能になる場合に利用される。
本発明に係る自己同期型パイプライン制御を用いることにより、自由にデータの流れを切り替えたり、相互のデータ系列を対象にして指定された加工を施したりすることができる。そのため、図12(a)〜(c)で示す形態を組み合わせ、又は折衷的な写像法を利用することにより、容易に実現することができる。
次いで、本発明に係るデータ駆動型情報処理装置の第二実施形態について説明する。第二実施形態に係るデータ駆動型情報処理装置は、一のパイプラインにおける離れたパイプラインステージ間の転送制御を行うための装置である。
図13は第二実施形態に係るデータ駆動型情報処理装置を説明するための説明図である。
図13に示す如く、パイプライン(1)が、所定数のパイプラインステージ(図ではデータラッチ(7)のみを表示)分だけ順方向(図面右方向)に延び、残りが折り返し点から逆方向(図面左方向)に延びている。
そして、順方向の経路上のデータと逆方向の経路上のデータを比較することにより、順方向の経路上の分流制御点から逆方向の経路上の分流制御点へ分流経路(8)を用いてデータを転送したり、逆方向の経路上の分流制御点から順方向の経路上の合流制御点へデータを転送したりすることができる。
次いで、図13に示す第二実施形態に係るデータ駆動型情報処理装置を利用した応用例として、ソーティング装置を説明する。
ソーティングとは、例えば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)を用いることにより、データの大小関係と交換がデータ対毎に並列して行うことができ、大小比較・交換を行うパイプラインの数だけソーティングを並列実行することができる。
図15は図3に示すデータ駆動型情報処理装置の回路(100)を減退し、図9に示す分流経路(8)を追加することで作成したソーティング装置(以下、SPS(Self-Timed Parallel Sorter)と称す)の回路を示すブロック図である。SPSは、入力データ(data1)とソート済データ(data2)の大小比較をルータ(4)で行う。そして、比較結果に基づき、アービタ(5)でデータの入れ替えを行うタイミングを調停し、ハンドシェイクの方向をMUX(6)で制御する。なお、図16はアービタを示すブロック図である。これらの回路モジュールにより、データ系列の大小比較・交換、ステージへの転送を実現する。
以下、本発明に係るソーティング装置の回路規模と処理性能の評価を行うことにより、本発明の効果をより明確なものとする。
本発明に係るソーティング装置は、要素数N個のデータ系列のソーティングに対し、全てのパイプライン段で大小比較を行う場合のソーティング装置(SPS)である(図13参照)。
このSPSを、対向するパイプライン間において対応する一段目のパイプライン段でのみ大小比較・交換を行う場合のソーティング装置(SLS:Self-Timed Light Sorter)と比較することで、回路規模と処理性能の評価を行った。なお、図17はSLSを示す図である。
ここで、SLSではパイプラインのOUT側パイプラインのデータ(Dout)をIN側パイプラインへ転送する際に、既に入力されている入力データ(Din)と比較し、DoutとDin間の大小関係が成立しない場合はDoutを、成立する場合はDinをIN側パイプラインに転送するものである。それにより、OUT側パイプライン上の適切な位置に入力データを挿入することができる。このとき大小比較のためにIN側パイプラインではOUT側パイプラインからのデータ(Dout)の合流と入力データ(Din)の合流があり、また交換のために、OUT側パイプラインからIN側パイプラインへの分流がある。
SLSとSPSのソーティング装置をTSMC社0.18nmCMOS標準セルライブラリを用いて設計した。図18(a)はSPS、図18(b)はSLSのレイアウトを示す図である。
データフローの写像レベルがパイプラインの性能に与える影響を示すため、8bitのデータ幅を持つ10個の入力データを昇順又は降順にソートした際のターンアラウンドタイム(ワーストケース)と、並列性の増加と回路規模の関係を、ロジックセル数を基に下記表1に示す。
Figure 0005110433
並列性の高いSPSのほうが並列性の低いSLSの約2倍のセル面積を必要とするものの、性能はSPSのほうがSLSの約9倍高いことがわかる。つまり、本発明に係るSPSのほうが、従来のSLSより、単位セル面積当たりで優れた性能を有することがわかる。
以上説明した如く、本発明に係るデータ駆動型情報処理装置は、マイクロプロセッサ、チップセット、ビデオチップ、メモリ、専用エンジン等の機能が高集積化されたLSI(Large Scale Integration)等に好適に利用可能である。
第一実施形態に係るデータ駆動型情報処理装置の制御の概念について説明するための説明図である。 第一実施形態に係るデータ駆動型情報処理装置の制御の概念について説明するための説明図である。 第一実施形態に係るデータ駆動型情報処理装置に用いられる回路を示す図である。 転送制御回路の詳細を示す図である。 アービタの詳細を示す図である。 データの転送を示すイメージブロック図である。 直列に配置された三つの転送制御回路のタイミングチャートを示す図である。 図7で示すハンドシェイクプロトコルに基づく双方向転送制御のタイミングチャートを示す図である。 追い越す分流経路が設けられたデータ駆動型情報処理装置を説明するための説明図である。 データ処理エレメントを展開する方法を示す説明図である。 データ処理エレメントを展開する方法を示す説明図である。 データ処理エレメントの形態を示す図である。 第二実施形態に係るデータ駆動型情報処理装置に用いられる回路を示す図である装置を説明する。 ソーティングにおけるデータフローを説明するための説明図である。 ソーティング装置の回路を示すブロック図である。 ソーティング装置の回路のアービタを示すブロック図である。 SLSを示す図である。 SLSとSPSのレイアウトを示す図である。 自己同期型パイプライン処理を用いたデータ駆動型情報処理装置を示すブロック図である。
符号の説明
1,2 パイプライン
11,21 分流制御点
12,22 合流制御点
3 転送制御回路
4 ルータ
5 アービタ
8 分流経路
9 データ処理エレメント

Claims (6)

  1. 直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、
    前記パイプラインが二以上あり、
    夫々のパイプラインが
    少なくとも一のデータを二のデータにするためのパイプラインステージである分流制御点及び/又は
    二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、
    前記パイプラインステージごとに、
    データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、
    前記データに含まれる情報から転送経路を決定するルータと、
    前記転送経路を切り替えるタイミングを決定するアービタを有し、
    前記ルータが、一のパイプラインの分流制御点から他のパイプラインの合流制御点へデータを転送する転送経路を決定し、
    前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることを特徴とするデータ駆動型情報処理装置。
  2. 前記ルータが、
    前記データに含まれるパケットの種類、行き先ステージ番号、単位時間当たりのデータ流量、単位ステージあたりのデータ流量に基づいて前記転送を決定し、該転送経路の情報を前記アービタに出力し、
    該アービタが
    前記データの到着順序・到着間隔に基づいて前記転送経路の切り替えを行うことを特徴とする請求項1記載のデータ駆動型情報処理装置。
  3. 前記一のパイプラインと前記他のパイプライン間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項1又は2記載のデータ駆動型情報処理装置。
  4. 直列に配置された複数のパイプラインステージが配されたパイプラインを有する自己同期型パイプライン処理を用いたデータ駆動型情報処理装置であって、
    前記パイプラインにおいて、所定数のパイプラインステージが順方向に配置されるとともに、残りのパイプラインステージが折り返し点から逆方向に配置され、
    前記順方向及び逆方向の夫々の経路上において、
    一のデータを二のデータに分岐するためのパイプラインステージである分流制御点と、
    二のデータを演算して一のデータとするためのパイプラインステージである合流制御点を有し、
    前記パイプラインステージごとに、
    データの転送及び演算処理を制御する転送要求信号及び転送許可信号を生成する転送制御回路と、
    前記データに含まれる情報から転送経路を決定するルータと、
    前記転送経路を切り替えるタイミングを決定するアービタを有し、
    前記ルータが、
    前記順方向の経路上のデータと前記逆方向の経路上のデータを比較することにより、前記順方向の経路上の分流制御点から前記逆方向の経路上の合流制御点へデータを転送する転送経路及び/又は前記逆方向の経路上の分流制御点から前記順方向の経路上の合流制御点へデータを転送する転送経路を決定し、
    前記分流制御点及び/又は前記合流制御点を有するデータ処理エレメントが格子状に接続されていることを特徴とするデータ駆動型情報処理装置。
  5. 前記順方向の経路と前記逆方向の経路間に、他のデータを追い越すよう、あるデータを転送するための分流経路が設けられていることを特徴とする請求項4記載のデータ駆動型情報処理装置。
  6. 前記データ駆動型情報処理装置がソーティング装置であり、
    前記順方向の経路を入力データ系列とし、前記逆方向の経路をソート済みデータ系列とし、
    前記ルータが、該入力データ系列に入力されたデータと該ソート済みデータ系列に既にソートされたデータを比較した比較結果によりデータの転送経路を決定することを特徴とする請求項4又は5記載のデータ駆動型情報処理装置。
JP2008070446A 2008-03-18 2008-03-18 データ駆動型情報処理装置 Expired - Fee Related JP5110433B2 (ja)

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)

* Cited by examiner, † Cited by third party
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

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