JP7228590B2 - データバス - Google Patents
データバス Download PDFInfo
- Publication number
- JP7228590B2 JP7228590B2 JP2020528291A JP2020528291A JP7228590B2 JP 7228590 B2 JP7228590 B2 JP 7228590B2 JP 2020528291 A JP2020528291 A JP 2020528291A JP 2020528291 A JP2020528291 A JP 2020528291A JP 7228590 B2 JP7228590 B2 JP 7228590B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- pipeline
- pipeline stage
- buffer
- elements
- 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.)
- Active
Links
- 239000000872 buffer Substances 0.000 claims description 100
- 238000000034 method Methods 0.000 claims description 55
- 238000012546 transfer Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 17
- 238000012360 testing method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 230000007935 neutral effect Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100365384 Mus musculus Eefsec gene Proteins 0.000 description 1
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/4252—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a handshaking protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3871—Asynchronous instruction pipeline, e.g. using handshake signals between stages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/08—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Advance Control (AREA)
- Information Transfer Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Ceramic Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
Description
提案された非同期パイプラインは、高速のスパースデータ読み出しを可能にするだけでなく、連続データの転送も可能にするものと想定されている。
図1は、2つの部分に分割された読み出し経路/データバス10の主要な構造を示す。読み出し経路10は、線形メインパイプライン12を形成するように直列に配置されたN個のパイプラインステージ12a、12b、12c、12d、12eおよび12fを含む。線形メインパイプライン12は、N個のパイプラインステージを有し、直角に走る。なお、各パイプラインステージ要素にはPS2のマークが付けられており、各パイプラインステージ要素12a~12hに2つの入力があることを示している。1つは前のパイプラインステージ要素、たとえば12a(パイプラインステージ要素12bを見た場合)、もう1つは参照番号14a~14fでマークされたいわゆる線形パイプラインである。
2)不明な数のPEがデータを提供し、パイプラインがデータを提供しなくなるまで読み取られる。
3)未知の数のPEがデータを提供し、それは継続的に読み取られます。PEの様々な処理ステップからのデータストリームが混在する可能性がある。
・同期実装とは対照的に、データ依存(固有のクロックゲーティング)であるため、平均的なケースではエネルギー要件は低くなる。
・グローバルクロック信号がないため、消費電流は時間の経過とともに継続的に分散される。
最後の2つのポイントは、VSoCで発生するため、非常に長いパイプライン長Nで特に重要である。
A.線形パイプライン
図4に関して、バッファ要素14-M、14-M+1、14-M-1(図1の14-1、14-2および14-Mに対応する)の実装について説明する。図4の説明は、各バッファ要素14-1~14-Mが、バッファコントローラ40と、バッファコントローラ40によって制御される対応するラッチ35(信号1eを参照。)を備えるという仮定に基づいて行われる。M(M-1およびM+1)個のステージのラッチ35は、前のラッチ35-M-1(例えば、信号D)からデータビットシーケンスを受信するために互いに接続される。M個のステージ(M-1およびM+1)のバッファコントローラ40は、2つの信号経路を介して互いに接続されている。1つはプロセスコントローラー40が前のコントローラからデータ(信号rdyを参照。)を受信する準備ができていることを示し、もう1つはデータを転送するために次のコントローラを使用することを示す(信号reqを参照。)。次に、非同期パイプラインステージの基本構造の機能は、パイプラインコントローラー(PC)で構成され、関連するデータパスについて説明する。
2つのトランジスタ35-d1および35-d2は、そのゲートを介してデータ入力35-di(差動入力)に結合される。差動トランジスタ35-d1および35-d2のソース電極は、制御信号leによって制御されるように構成された別のトランジスタ35-tに結合される。制御信号leに基づいて、トランジスタ35-tを使用することにより、差動ペア35-d1/35-d2が制御され、その結果、入力ペア35-diから新しいデータを受け取ることができる。
差動ペア35-d1/35-d2によって保存されたデータは、2つのトランジスタ35-d1および35-d2のドレイン接点に接続された出力35-do(差動出力)を介して出力できる。ラッチ35の遅延時間は、インバータの遅延時間に対応し、適切なサイズである場合、少なくとも2つのインバータステージのC要素遅延時間よりも速いことに留意されたい。
線形パイプラインコントローラから開始して、連続したパケットを提供するためにPE内で使用されるため、アービトレーションによって拡張される。結果のパイプラインの構造は、図6に示され、3つのパイプラインステージ12-m-1、12-m、12-m+1を示している。線形パイプライン12(図1を参照)は、図6によって詳細に示されている。図6は、3つのパイプラインステージ要素を示し、各パイプラインステージ要素は、プロセスコントローラー60と、制御信号le_aおよびle_bを介してプロセスコントローラー60によって制御されるラッチ55とを備える。
データを受信またはアップロードするための要件または準備を示す信号req_aおよびrdy_aを交換するために、異なるステージのプロセスコントローラー60は互いに結合されている。さらに、プロセスコントローラー60は、線形パイプライン(図示せず)のコントローラに接続されて、信号rdy_bおよびreq_bを交換して、最後のバッファ要素からデータを読み出す準備または要件を示す。
換言すれば、パイプライン12は、N+1個の入力およびN個のステージに対する1つの出力を有するものとして説明することができ、入力は、コントローラ60に属するアービター(図示せず)を使用して選択される。アービターは、2つの入力のどちらが新しいデータを提供するかに応じて、入力a(di_a)または入力b(di_b)を選択する目的を持っている。
入力にある追加のORゲート70-o1と70-o2は、実際のチャネル選択を一定時間保持する。NANDゲートとORゲートを1個のステージのCMOSゲートに組み合わせることができるため、誘発されるスローダウンは重要ではない。ホールドタイムは遅延要素を使用して設定され、パイプラインステージのサイクルタイムよりもいくらか長く選択する必要がある。選択された遅延要素が立下りエッジよりもかなり速く立上りエッジを伝搬しない場合、着信要求信号は遅延要素の出力で表示するには短すぎる可能性がある。これは、一連のインバータを使用して、またはこの動作を示す特別なゲートを設計することによって実現できる。アクティブチャネルが選択されていない限り、アービターの遅延時間は、パイプラインコントローラの転送遅延に直接影響する。ただし、着信要求信号間の時間的な関係が不明であるため、これを回避することはできない。
データビットシーケンスを後続のパイプラインステージ要素に転送する要求を示す信号req_oを出力する第2の出力60-o2と、を含み、最後のバッファ要素からデータビットシーケンスを読み出す能力を示す信号rdy_bを出力する第3の出力60-o3を備える。さらに、コントローラ60は、信号le_aおよびle_bを対応するラッチ(図5bを参照。)に出力する出力を制御することを含む。
これまでに、2つのパイプラインコントローラと対応するデータパスラッチについて説明した。ただし、パイプラインの初期化の非常に重要な側面はまったくカバーされていない。同期回路と同様に、この目的のためにリセット信号が使用される。すべてのC要素を一度にリセットするこの信号は、各C要素を1つのトランジスタだけで拡張することによって実現できる。PEのデータバッファから出力パスへのデータ転送の制御は、もう1つの重要な側面である。これには、グローバルスタート信号によって制御される追加のANDゲートを、PEとPS2間の要求信号に追加する必要がある。そうでなければ、PEからのデータ要素は、すぐに読み出しパイプラインに送られる。このようにして、パイプラインを読み出し、同時にPEのデータバッファに新しいデータを構築することはできない。非常に長いパイプラインの場合、この信号は、バッファツリーを介して、またはパイプラインのデータフローと反対方向に供給される。これは、非常に長いシフトレジスタでのクロック信号の供給に匹敵する。
開発された回路コンポーネントは、180nmCMOSテクノロジーのテストチップ上で測定され、参考文献で知られている非同期パイプラインの実装と比較された。提示されたパイプラインコントローラは、180nmの低消費電力CMOSテクノロジーのテストチップを使用して正しく動作することが実証された。テストチップは、同期信号がデータバスに適用される入力を示す図9に示されている。テストチップには、8ビットのデータパスを備えた14ステージの非同期パイプライン10´が含まれている。入力および出力は、同期インターフェイス80-iを介して読み取りまたは書き込むことができる。14のパイプラインコントローラのうちの2つ(12*を参照)は、アービトレーション付きのコントローラに置き換えられた。つまり、パイプラインには合計3つの入力がある。2つの追加入力には、それぞれ1つのバッファステージが装備されている。さらに、定義された数のデータ要素を回転させるために、パイプラインをリング構造として接続できる。ハンドシェイクは、強力なバッファを使用して選択された要求と準備完了信号をボンドパッドに出力することによって監視された。構造の模式図を図9に示す。合計で、4つのテストモードを使用できる。
・テストモード2では、データは追加のパイプライン入力にのみ書き込まれる。これにより、圧縮が出力で正しいデータを提供するかどうかを確認できる。テストモード3および4は、パイプラインはリングとして接続される。つまり、一度挿入されたすべてのアイテムがパイプライン内を循環し続ける。このモードでは、パイプラインコントローラのフォワードレイテンシとサイクルタイムを測定できる。フォワードレイテンシは、要素を1つだけ挿入することで決定される。14のパイプライン要素の場合、それらの速度がすべてほぼ等しいと仮定すると、フォワードレイテンシは、式4に従ってデータアイテムのローテーション時間から発生する。
この作品は、列平行SIMDユニットの平行データをシリアルに出力できるビジョンシステムオンチップの読み出しパスを示している。読み出しパスは非同期パイプラインとして実装されているため、スパースデータの非常に高速な圧縮と連続データストリームの読み出しの両方が可能である。巧妙なアービトレーションにより、追加の制御情報なしで、連続したデータパケット、したがって可変ワード幅を送信することが可能である。提示された回路コンポーネントは、180nmCMOSテクノロジーのテストチップで正常にテストされた。テストチップは、同期信号がデータバスに適用される入力を示す図9に示されている。公称動作電圧で520psのフォワードレイテンシを測定すると、提案された非同期パイプラインは、2GHzでクロックされる対応する同期実装と同等であることがわかっている。
別の実施形態によれば、図1によるデータバスは、プロセス要素PEを有するマトリクス形状のデータソースを形成する。実施形態によれば、連続的に配置されたデータビット(一緒に属するデータ部分)は、連続的なデータストリームとして出力され得る。
ここでは、各パイプライン要素がデータフローを制御し、列のコンテンツ(線形パイプライン)が読み出されてメインパイプラインに転送される。代わりに、パイプラインが転送できる限り多くのデータをバッファリングするように、すべての列を読み出すことができる。これにより、図2で示されているように、不連続なデータストリームが生じる可能性がある。別の実施形態によれば、読み出し手順は、複数のデータビットシーケンス(共通のデータパケットに属する)が一緒に読み出されるように、利用可能なリソースに依存することがある。図3に示すように、この注記は、すべての列がデータを提供するとは限らない場合に特に適している。
[1] Raphael Berner, Christian Brandli, Minhao Yang, S-C Liu, and Tobi Delbruck. A 240x180 120db 10mw 12us-latency sparse output vision sensor for mobile applications. In IEEE International Image Sensor Workshop, number EPFL-CONF-200451, pages 41-44, 2013.
[2] Gaozhan Cai, Bart Dierickx, Bert Luyssaert, Nick Witvrouwen, and Gerlinde Ruttens. Imaging sparse events at high speed. In IEEE International Image Sensor Workshop, 2015.
[3] Jens Doge, Christoph Hoppe, Peter Reichel, and Nico Peter. A 1 megapixel hdr image sensor soc with highly parallel mixed-signal processing. In IEEE International Image Sensor Workshop, 2015.
[4] A Dupret, B Dupont, M Vasiliu, B Dierickx, and A Defernez. Cmos image sensor architecture for high-speed sparse image content readout. In IEEE International Image Sensor Workshop, pages 26-28, 2009.
[5] Michael J Flynn. Very high-speed computing systems. Proceedings of the IEEE, 54(12):1901-1909, 1966.
[6] Yu Liu, Xuguang Guan, Yang Yang, and Yintang Yang. An asynchronous low latency ordered arbiter for network on chips. In 2010 Sixth International Conference on Natural Computation, volume 2, pages 962-966. IEEE, 2010.
[7] Steven M Nowick and Montek Singh. High-performance asynchronous pipelines: an overview. IEEE Design & Test of Computers, 28(5):8-22, 2011.
[8] Montek Singh and Steven M Nowick. High-throughput asynchronous pipelines for fine-grain dynamic datapaths. In Advanced Research in Asynchronous Circuits and Systems, 2000.(ASYNC 2000) Proceedings. Sixth International Symposium on, pages 198-209. IEEE, 2000.
[9] Montek Singh and Steven M Nowick. The design of high-performance dynamic asynchronous pipelines: high-capacity style. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 15(11):1270-1283, 2007.
[10] Montek Singh and Steven M Nowick. The design of high-performance dynamic asynchronous pipelines: lookahead style. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 15(11):1256-1269, 2007.
[11] J Sparso. Asynchronous circuit design - a tutorial. Chapters 1-8 in Principles of asynchronous circuit design-A systems Perspective', pages 1-152, 2006.
Claims (27)
- 各プロセス要素(PE)が直列に配置されたM個のステージを有する線形パイプライン(14a~14f)に接続される、プロセス要素(PE)であって、前記M個のステージのそれぞれはバッファ要素(14―1~14―M)を備え、前記バッファ要素(14―1~14―M)はデータビットシーケンスをバッファリングし、バッファリングされた前記データビットシーケンスを前記バッファ要素のうちの最初のバッファ要素(14―M)から前記バッファ要素のうちの最後のバッファ要素(14―1)に転送するように構成される、プロセス要素(PE)と、
直列に配置されたN個のパイプラインステージ要素(12a~12f)を含む線形メインパイプライン(12)と、を含む、データバス(10)であって、
前記各パイプラインステージ要素(12a~12f)は、それぞれの線形パイプライン(14a~14f)の前記最後のバッファ要素(14―1)に接続され、前記バッファリングされたデータビットシーケンスを1つ以上読み取り、読みだしたデータビットシーケンスをN個のパイプラインステージ要素(12a~12f)のうちの1つから前記N個のパイプラインステージ要素(12a~12f)のうちの次のパイプラインステージ要素に転送するように構成され、
前記各パイプラインステージ要素(12a~12f)は、順次、前記読み取りを実行するように構成され、
前記パイプラインステージ要素(12a~12f)は、前記N個のパイプラインステージ要素(12a~12f)のうちの前のパイプラインステージ要素から別のデータビットシーケンスを転送する前に、それぞれの最後のバッファ要素からすべてのバッファデータビットシーケンスを読み出して、前記読み出されたビットシーケンスを転送する前記線形メインパイプライン(12)によって連続的なデータストリームが生成されるように構成される、および/または
前記パイプラインステージ要素(12a~12f)は、それぞれの最後のバッファ要素(14―1)から別のデータビットシーケンスを読み出す前に、前記N個のパイプラインステージ要素(12a~12f)のうちの前のパイプラインステージ要素からすべてのデータビットシーケンスを転送して、前記読み出されたデータビットシーケンスを転送する前記線形メインパイプライン(12)によって連続的なデータストリームが生成されるように構成される、データバス(10)。 - 前記N個のパイプラインステージ要素(12a~12f)は非同期パイプライン要素である、および/または、後続の2つのパイプラインステージ要素(12a~12f)は、データビットシーケンスの転送を開始するため、および/または、前のパイプラインステージ要素(12a~12f)から転送されるデータビットシーケンスを受信する能力を示すために、ハンドシェイク手順を実行するように構成される、請求項1に記載のデータバス(10)。
- 前記各パイプラインステージ要素(12a~12f)は、前のパイプラインステージ要素(12a~12f)からデータビットシーケンスを受け取るための第1のデータ入力と、前記最後のバッファ要素(14―1)からデータビットシーケンスを受け取るための第2のデータ入力とを含む、請求項1または請求項2に記載のデータバス(10)。
- 前記各パイプラインステージ要素(12a~12f)は、前記パイプラインステージ要素(12a~12f)のパイプラインコントローラ(60)によって制御されるラッチを備える、請求項3に記載のデータバス(10)。
- 前記ラッチは、マルチプレクサを備えるラッチである、請求項4に記載のデータバス(10)。
- 前記各ラッチは、トランジスタの第1および第2の差動ペアと、ドレイン接点を介して前記トランジスタの差動ペアに結合された2つのフィードバックインバータを備える、および/または
前記最後のバッファ要素(14―1)からのデータ入力は前記第1の差動ペアの前記トランジスタのゲートコンタクトに接続され、前記前のパイプラインステージ要素(12a~12f)からのデータ入力は前記第2の差動ペアの前記トランジスタのゲートコンタクトに接続され、データ出力は第1および第2の差動ペアのドレイン接点に接続され、制御入力は前記トランジスタのソース接点に接続される、請求項4または請求項5に記載のデータバス(10)。 - 前記パイプラインステージ要素(12a~12f)は非同期で動作する、請求項1~請求項6のいずれか1項に記載のデータバス(10)。
- 前記各バッファ要素(14―1~14―M)は、前のバッファ要素が有するラッチまたは後のバッファ要素が有するラッチに少なくとも接続される、および/またはバッファコントローラ(40)によって制御される、ラッチを備える、請求項1~請求項7のいずれか1項に記載のデータバス(10)。
- 前記各ラッチ(35)は、トランジスタの差動ペアと、ドレイン接点を介して前記トランジスタの差動ペアに結合された2つのフィードバックインバータとを備える、および/または
データ入力はトランジスタのゲート接点に接続され、データ出力はドレイン接点に接続され、制御入力は前記トランジスタのソース接点に接続される、請求項8に記載のデータバス(10)。 - 前記各バッファ要素(14―1~14―M)はバッファコントローラ(40)を備える、請求項1~請求項9のいずれか1項に記載のデータバス(10)。
- 隣接する2つのバッファ要素がそれぞれ有するバッファコントローラ(40)は互いに接続されている、請求項10に記載のデータバス(10)。
- 前記バッファコントローラ(40)は、転送されるべきデータビットシーケンスが存在することを示す信号を前のバッファ要素(14―1~14―M)から受信するための第1の入力と、データビットシーケンスを受信する能力を示す信号を後続のバッファ要素(14―1~14―M)から受信するための第2の入力とを備える、および/または
前記バッファコントローラ(40)は、転送されるデータビットシーケンスを受信する能力を示す信号を出力する第1の出力と、データビットシーケンスを転送する要求を示す信号を出力する第2の出力とを備える、請求項9~請求項11のいずれか1項に記載のデータバス(10)。 - 前記バッファコントローラ(40)は、前記第1の非対称C要素(40―M1)の出力と第2の出力との間に配置された遅延要素を備える、請求項12に記載のデータバス(10)。
- 前記バッファコントローラ(40)は、前記第1の非対称C要素(40―M1)の出力と前記第1の出力との間に配置されたインバータ要素を備える、請求項12または請求項13に記載のデータバス(10)。
- 前記各パイプラインステージ要素(12a~12f)はパイプラインコントローラ(60)を備える、請求項1~請求項14のいずれか1項に記載のデータバス(10)。
- 前記パイプラインコントローラー(60)は、転送されるべきデータビットシーケンスが存在することを示す信号(req_A)を、前のパイプラインステージ要素(12a~12f)から受信するための第1の入力と、データビットシーケンスを受信する機能を示す信号(rdy_i)を後続のパイプラインステージ要素(12a~12f)から受信するための第2の入力と、読み出されるべきデータビットシーケンスを含む信号(req_B)を前記最後のバッファ要素(14―1)から受信するための第3の入力とを含む、および/または
前記パイプラインコントローラ(60)は、転送されるデータビットシーケンスを受信する能力を示す信号(rdy_A)を出力する第1の出力と、データビットシーケンスを転送する要求を示す信号(req_o)を出力する第2の出力とを備え、前記パイプラインコントローラ(60)は、前記データビットシーケンスを受信する能力を示す信号(rdy_B)を出力する第3の出力を備える、請求項15に記載のデータバス(10)。 - 前記パイプラインコントローラ(60)は、第1の非対称C要素(60―M1)および第2の非対称C要素(60―M2)を備える、請求項15または請求項16に記載のデータバス(10)。
- 前記第1の非対称C要素(60―M1)は、遅延要素を介して前記第2の出力に接続される、請求項17に記載のデータバス(10)。
- 前記パイプラインコントローラ(60)は、それぞれが反転出力を有し、それぞれの第1および第3の出力に接続されている第3および第4の非対称C要素を備える、請求項16、請求項17または請求項18に記載のデータバス(10)。
- 前記前記第3および第4のC要素は、アービターを介して第1の入力および第3の入力に接続され、前記アービターは、転送されるデータのデータソースとして、前記最後のバッファ要素(14―1)または前記前のパイプラインステージ要素(12a~12f)を選択するように構成される、請求項19に記載のデータバス(10)。
- 前記第1の非対称C要素は、アービターを介して第1の入力および第3の入力に接続され、前記アービターは、転送されるデータのデータソースとして、前記最後のバッファ要素(14―1)または前記前のパイプラインステージ要素(12a~12f)を選択するように構成される、請求項17に記載のデータバス(10)。
- 前記各パイプラインステージ要素は、パイプラインコントローラ(60)と、当該パイプラインコントローラ(60)によって制御されるラッチ(55)とを有し、各パイプラインステージ要素が有する前記ラッチ(55)は、隣接する他のパイプラインステージ要素が有するラッチ(55)と接続され、前記パイプラインコントローラ(60)による前記ラッチ(55)に対する前記制御は、前記アービターからの信号に基づいて行われる、請求項1~請求項21のいずれか1項に記載のデータバス(10)。
- 前記各パイプラインステージ要素(12a~12f)は複数のデータ入力を含む、請求項1~請求項22のいずれか1項に記載のデータバス(10)。
- 前記各プロセス要素(PE)はデータを生成するように構成される、請求項1~請求項23のいずれか1項に記載のデータバス(10)。
- 前記各プロセス要素(PE)はSIMDユニットのプロセス要素(PE)に接続される、請求項24に記載のデータバス(10)。
- 請求項1~請求項25のいずれか1項に記載のデータバス(10)を制御するための方法であって、前記方法は、
前記N個のパイプラインステージ要素(12a~12f)のうちの前のパイプラインステージ要素から別のデータビットシーケンスを転送する前に、前記最後のバッファ要素(14―1)からすべてのバッファリングされたデータビットシーケンスまたは所定数のデータビットシーケンスを読み出すステップ、および/または
前記最後のバッファ要素(14-1)から別のデータビットシーケンスを読み出す前に、前記N個のパイプラインステージ要素(12a~12f)のうちの前記前のパイプラインステージ要素からデータビットシーケンスを転送するステップを含み、
前記読み出すステップは順次実行され、
前記パイプラインステージ要素(12a~12f)は、前記N個のパイプラインステージ要素(12a~12f)のうちの前のパイプラインステージ要素から別のデータビットシーケンスを転送する前に、前記最後のバッファ要素(14―1)からすべてのバッファデータビットシーケンスを読み出して、前記読み出されたビットシーケンスを転送する前記線形メインパイプライン(12)によって連続的なデータストリームが生成されるように構成される、および/または
前記パイプラインステージ要素(12a~12f)は、前記最後のバッファ要素(14―1)から別のデータビットシーケンスを読み出す前に、前記N個のパイプラインステージ要素(12a~12f)のうちの前のパイプラインステージ要素からすべてのデータビットシーケンスを転送して、前記読み出されたデータビットシーケンスを転送する前記線形メインパイプライン(12)によって連続的なデータストリームが生成されるように構成される、方法。 - コンピュータ上で動作するときに、請求項26に記載の方法を実行するためのプログラムが記憶されているコンピュータ可読デジタル記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17203607 | 2017-11-24 | ||
EP17203607.1 | 2017-11-24 | ||
PCT/EP2017/081743 WO2019101350A1 (en) | 2017-11-24 | 2017-12-06 | Data bus with multi-input pipeline |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021504811A JP2021504811A (ja) | 2021-02-15 |
JP7228590B2 true JP7228590B2 (ja) | 2023-02-24 |
Family
ID=60654635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020528291A Active JP7228590B2 (ja) | 2017-11-24 | 2017-12-06 | データバス |
Country Status (5)
Country | Link |
---|---|
US (1) | US11294687B2 (ja) |
EP (1) | EP3714370B1 (ja) |
JP (1) | JP7228590B2 (ja) |
KR (1) | KR102460281B1 (ja) |
WO (1) | WO2019101350A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3714370B1 (en) | 2017-11-24 | 2022-01-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Data bus with multi-input pipeline |
CN114978104A (zh) * | 2021-02-18 | 2022-08-30 | 北京京东方光电科技有限公司 | 数据互斥滤波电路及数据互斥滤波方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758139A (en) * | 1993-10-21 | 1998-05-26 | Sun Microsystems, Inc. | Control chains for controlling data flow in interlocked data path circuits |
US6085316A (en) * | 1998-07-28 | 2000-07-04 | Sun Microsystems, Inc. | Layered counterflow pipeline processor with anticipatory control |
US6556494B2 (en) * | 2001-03-14 | 2003-04-29 | Micron Technology, Inc. | High frequency range four bit prefetch output data path |
US6751129B1 (en) * | 2002-05-21 | 2004-06-15 | Sandisk Corporation | Efficient read, write methods for multi-state memory |
US6856270B1 (en) * | 2004-01-29 | 2005-02-15 | International Business Machines Corporation | Pipeline array |
CN101258463A (zh) * | 2005-09-05 | 2008-09-03 | Nxp股份有限公司 | 异步脉动流水线 |
WO2009060260A1 (en) * | 2007-11-06 | 2009-05-14 | Koninklijke Philips Electronics, N.V. | Data processing arrangement, pipeline stage and method |
US8949650B2 (en) * | 2009-07-21 | 2015-02-03 | Tadao Nakamura | Processor embedded memory structure with lower energy consumption and high speed without memory bottleneck |
TR201209797T2 (tr) * | 2009-12-22 | 2013-01-21 | Fehm� Bazlama�Ci C�Neyt | Hızlı IP arama için sistolik dizilim mimarisi. |
EP3714370B1 (en) | 2017-11-24 | 2022-01-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Data bus with multi-input pipeline |
-
2017
- 2017-12-06 EP EP17828844.5A patent/EP3714370B1/en active Active
- 2017-12-06 KR KR1020207018230A patent/KR102460281B1/ko active IP Right Grant
- 2017-12-06 JP JP2020528291A patent/JP7228590B2/ja active Active
- 2017-12-06 WO PCT/EP2017/081743 patent/WO2019101350A1/en active Search and Examination
-
2020
- 2020-05-22 US US16/881,205 patent/US11294687B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20200090874A (ko) | 2020-07-29 |
JP2021504811A (ja) | 2021-02-15 |
US20200348942A1 (en) | 2020-11-05 |
US11294687B2 (en) | 2022-04-05 |
EP3714370A1 (en) | 2020-09-30 |
WO2019101350A1 (en) | 2019-05-31 |
EP3714370B1 (en) | 2022-01-12 |
KR102460281B1 (ko) | 2022-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sjogren et al. | Interfacing synchronous and asynchronous modules within a high-speed pipeline | |
US6128678A (en) | FIFO using asynchronous logic to interface between clocked logic circuits | |
JP4384819B2 (ja) | 弾性インターフェース装置およびそのための方法 | |
JP4091941B2 (ja) | クロック同期回路 | |
JP6293322B2 (ja) | 時間分割多重化された多重ポートメモリ | |
US6973078B2 (en) | Method and apparatus for implementing low latency crossbar switches with integrated storage signals | |
JP7228590B2 (ja) | データバス | |
US5535343A (en) | Method and apparatus for generating write signals | |
CN118227527A (zh) | Sdram控制器子系统的源同步分区 | |
US9710012B2 (en) | Timing optimized implementation of algorithm to reduce switching rate on high throughput wide buses | |
WO2023279341A1 (zh) | 用于设计异步电路的方法和电子设备 | |
Ono et al. | A modular synchronizing FIFO for NoCs | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
JP2937326B2 (ja) | 論理回路のテスト容易化回路 | |
Simatic et al. | New asynchronous protocols for enhancing area and throughput in bundled-data pipelines | |
US20150127865A1 (en) | Method and apparatus use with interrupts | |
Hoppe et al. | A High Speed Asynchronous Multi Input Pipeline for Compaction and Transfer of Parallel SIMD Data | |
US20180300263A1 (en) | Interface from null convention logic to synchronous memory | |
US8254187B2 (en) | Data transfer apparatus, and method, and semiconductor circuit | |
Swaminathan et al. | Design and verification of an efficient WISHBONE-based network interface for network on chip | |
US6282149B1 (en) | Circuit and method for synchronized data banking | |
Rodolfo et al. | Quasi Delay Insensitive FIFOs: Design Choices Exploration and Comparison | |
Xiao et al. | Low latency high throughout circular asynchronous FIFO | |
Hasan et al. | All digital skew tolerant synchronous interfacing methods for high-performance point-to-point communications in deep sub-micron SoCs | |
Chaturvedi et al. | Design of Asynchronous Circular FIFO Buffer for Asynchronous Network on Chips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20200722 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210824 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221007 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20221007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20221007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221027 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20221121 |
|
C092 | Termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C092 Effective date: 20221122 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20221122 |
|
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: 20230117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7228590 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |