JP2010044731A5 - - Google Patents

Download PDF

Info

Publication number
JP2010044731A5
JP2010044731A5 JP2008280225A JP2008280225A JP2010044731A5 JP 2010044731 A5 JP2010044731 A5 JP 2010044731A5 JP 2008280225 A JP2008280225 A JP 2008280225A JP 2008280225 A JP2008280225 A JP 2008280225A JP 2010044731 A5 JP2010044731 A5 JP 2010044731A5
Authority
JP
Japan
Prior art keywords
reconfigurable
configuration
accumulator
description
input
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.)
Granted
Application number
JP2008280225A
Other languages
English (en)
Other versions
JP2010044731A (ja
JP5419419B2 (ja
Filing date
Publication date
Application filed filed Critical
Publication of JP2010044731A publication Critical patent/JP2010044731A/ja
Publication of JP2010044731A5 publication Critical patent/JP2010044731A5/ja
Application granted granted Critical
Publication of JP5419419B2 publication Critical patent/JP5419419B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (21)

  1. 計算および論理オペレーションを含む表現のコンピューティングネステッドループの演算に用いられるリコンフィギャブルコプロセッサを有するシステムであって、
    前記リコンフィギャブルコプロセッサが、
    アプリケーションドメインにしたがって選択され、かつ、パイプラインとは無関係な不特定数かつ不特定型のリコンフィギュラブルファンクショナルユニットを構成要素として有するリニアアレイと、
    中間データおよびアドレス計算を保存する不特定数かつ不特定型の設置メモリを構成要素として有するリニアアレイと、
    前記設置メモリのアドレスの複合シーケンスを計算するリコンフィギュラブルアドレス生成ブロックと、
    システムインプット、メモリデータアウトプットポートおよびプログラムされた定数を前記リコンフィギュラブルファンクショナルユニットのインプットに接続するために接続前において定義される部分的かつリコンフィギュラブルリードクロスバーと、
    ファンクショナルユニットのアウトプットをシステムアウトプットまたはメモリデータインプットポートに接続するために接続前において定義される部分的かつリコンフィギュラブルライトクロスバーと、
    制御、ステータスおよびコンフィギュレーションレジスタを有するレジスタファイルとを備え、
    前記コンフィギュレーションレジスタは、前記リコンフィギュラブルファンクショナルユニット、前記リコンフィギュラブルアドレス生成ブロック、前記部分的かつリコンフィギュラブルリードクロスバー及び前記部分的かつリコンフィギュラブルライトクロスバーのコンフィギュレーションを保存し、かつ、前記中間データおよびアドレス計算に用いられる定数を保存し、
    前記リコンフィギュラブルアドレス生成ブロックが、
    アドレス生成を開始、停止および再開することにより、前記コプロセッサに実行を開始、停止および再開させる制御ユニットと、
    設置メモリに格納されているインデックスアレイへのアドレスを適時生成するため、前記ファンクショナルユニットの機能を適時活性化するため、および、システムインプットおよびメモリ書き込みを適時要求するために用いられるイネイブルシグナルを生成するプログラマブルタイミングユニットと、
    複合アドレスシーケンスを生成するために接続されているプログラマブルアキュムレータを構成要素として有するリニアアレイと、
    前記イネイブルシグナルを前記アレイにおける前記アキュムレータに接続し、かつ、前記システムインプットにおける外部データの読み取りを認める接続前に定義される部分的かつリコンフィギュラブルイネイブルクロスバーと、
    接続前に定義され、アキュムレータアウトプットおよびコンフィギュレーションコンスタントを他のアキュムレータインプットに接続する部分的かつリコンフィギュラブルインプットクロスバーと、
    接続前に定義され、生成アドレスを形成するプログラマブルアキュムレータのアウトプットおよび各イネイブルシグナルをメモリアドレスポートに接続し、かつ、アドレスがメモリに格納されている場合、メモリアドレスポートからメモリデータポートへの経路を設定する部分的かつリコンフィギュラブルアウトプットクロスバーと、
    を備えていることを特徴とするシステム。
  2. 請求項1記載のシステムにおいて、前記プログラマブルタイミングユニットが、
    各ロウが周期において同じ遅れと、コプロセッサが実行可能なネステッドループの最大数を表わすコラムの数とを有することにより特徴付けられているイネイブルシグナルのグループを生成し、一のコラムにおけるすべてのカウンタが同じエンドリミットでプログラムされ、制御される前記ループの反復回数を決定するプログラマブルカウンタのマトリクスと、
    前記プログラムされたコラムの前記数を用いて所定のコンフィギュレーションにネステッドループの実際の数を識別するエンコーダと、
    全体的な前記イネイブルシグナルを所定の最大許容遅れ以下で遅らせ、前記遅れがないイネイブルおよび所定の遅れのイネイブルを有する各イネイブルグループに対してプログラムされている遅れをもってアウトプットイネイブルシグナルを遅らせる遅延ユニットとを備え、
    前記所定の遅れは、前記システムにおける最大許容遅れと相違しうる現在のコンフィギュレーションでの最大遅れであることを特徴とするシステム。
  3. 請求項2記載のシステムにおいて、
    前記プログラマブルカウンタのマトリクスにより生成された前記イネイブルシグナルが、
    データストリームをお互いに遅らせ、かつ、ファンクショナルユニットにより異なる遅れをもって導入されたデータフローグラフにおける異なる遅れを補正させるのに用いられ、
    インプットまたはメモリからデータが読み出される頃合いを見計らい、
    イネイブルシグナルおよびデータが同等に遅れるファンクショナルユニットを通じて前記データに同行し、
    かつ、アウトプットまたはメモリへデータを書き込む頃合いを見計らうことを特徴とするシステム。
  4. 請求項1記載のシステムにおいて、
    前記プログラマブルアキュムレータが、
    他のアキュムレータまたはコンフィギュレーション定数により前記インプットクロスバーを介してドライブされうる、前記インプットクロスバーを前記アキュムレータの開始値を定めるインプットシグナルと、
    他のアキュムレータまたはコンフィギュレーションコンスタントにより前記インプットクロスバーを介してドライブされうる、前記アキュムレータのインクリメント値を定めるインプットシグナルと、
    前記アキュムレータの動作を可能とするイネイブルシグナルと、
    前記開始値をリロードする再開イネイブルシグナルと、
    前記アキュムレータが複合アキュムレータユニットである場合、他のアキュムレータまたはコンフィギュレーションコンスタントにより前記インプットクロスバーを介してドライブされうる前記アキュムレータのオフセット値を定めるインプットシグナルと、
    前記アキュムレータが複合アキュムレータユニットである場合、前記アキュムレータのモジューロ値を定めるコンフィギュレーションレジスタと、
    他のアキュムレータの前記生成アドレスまたは前記インプットとして用いられるアウトプット計算値とを備えていることを特徴とするシステム。
  5. 請求項1記載のシステムにおいて、
    前記コンフィギュレーション、ステータス/制御レジスタファイルが、
    アドレスが付されうる、運転時間中における高精度の部分的な再構築を可能とするリード/ライトメモリがマップされたインターフェースと、
    外部アシスタンスを案内または依頼するアウトプットリクエストシグナルとを有することを特徴とするシステム。
  6. 請求項1記載のシステムにおいて、
    前記リコンフィギュラブルファンクショナルユニットを構成要素として有するリニアアレイに属する各ファンクショナルユニットが前記コプロセッサを停止させうるブレークシグナルを発することを特徴とするシステム。
  7. 請求項1記載のシステムにおいて、
    複合システムインプットはスレーブリクエスト/アクノリッジインターフェースであり、かつ、複合システムアウトプットはマスターリクエスト/アクノリッジインターフェースであることを特徴とするシステム。
  8. 請求項7記載のシステムにおいて、
    システムインプットリクエストまたはシステムアウトプットアクノリッジの欠落が、システムインプットからのデータ読み出しおよびシステムアウトプットへのデータ書き込みのうち一方または両方のために前記表現が実行される場合、コプロセッサを始動させることを特徴とするシステム。
  9. 請求項1記載のシステムにおいて、
    前記制御ユニットが、
    前記コプロセッサを機能化かつ非機能化し、
    最も外側のループインデックスがラップアラウンドしたときに処理を終了し、
    前記コプロセッサのインプットデータ欠乏若しくはアウトプットデータ過剰において、又は、ファンクショナルユニット由来の一もしくは複数の遮断状態が生じた場合、前記コプロセッサを停止することを特徴とするシステム。
  10. 請求項1記載のシステムにおいて、
    前記コンフィギュレーションレジスタが、
    リコンフィギュラブルファンクショナルユニットの数およびタイプの記述と、
    数、タイプ、データおよびアドレスの設置メモリの幅と、
    リコンフィギュラブルアドレス生成ブロックの記述と、
    リコンフィギュラブルリード/ライトクロスバーの記述とを備えていることを特徴とするシステム。
  11. 請求項10記載のシステムにおいて、
    前記コンフィギュレーションレジスタが、
    プログラマブルタイミングユニットブロックの記述と、
    プログラマブルアキュムレータの数およびタイプの記述と、
    リコンフィギュラブルイネイブル、インプットおよびアウトプットクロスバーの記述とを備えていることを特徴とするシステム。
  12. 請求項11記載のシステムにおいて、
    前記リコンフィギュラブルアドレス生成ブロックの記述が、
    前記プログラマブルタイミングユニットの記述が、
    グループに属するネステッドループの数の記述と、
    生成されるイネイブルシグナルの異なる遅延バージョンの数の記述とを備えていることを特徴とするシステム。
  13. 請求項10記載のシステムにおいて、前記コンフィギュレーションレジスタが、
    ファンクショナルユニットのコンフィギュレーションのパラメータ/値による記述と、
    前記設置メモリのコンフィギュレーションと、
    アドレス生成ブロックのリコンフィギュラブルコンフィギュレーションの記述と、
    読み取り/書き込みクロスバーのリコンフィギュラブルコンフィギュレーションの、ポートがファンクショナルユニットのインプットおよびアウトプットのうちいずれかに接続されていることから暗黙的に推察される読み取りまたは書き込みモードによる記述とを備えていることを特徴とするシステム。
  14. 請求項13記載のシステムにおいて、
    前記コンフィギュレーションレジスタにおける前記リコンフィギュラブルアドレス生成ブロックの前記コンフィギュレーションの前記記述が、
    前記プログラマブルタイミングユニットブロックのコンフィギュレーションの記述と、
    各プログラマブル累算器のコンフィギュレーションの記述と、
    イネイブル、インプットおよびアウトプットクロスバーのコンフィギュレーションの記述とを備えていることを特徴とするシステム。
  15. 請求項14記載のシステムにおいて、
    前記プログラマブルタイミングユニットブロックのコンフィギュレーションの記述が、
    各ネステッドループの終端の記述と、
    各イネイブルシグナルグループについて遅延サイクル数の記述とを備えていることを特徴とするシステム。
  16. 請求項14記載のシステムにおいて、
    前記プログラマブル累算器のコンフィギュレーションの記述が、
    コンフィギュレーション設定に接続された場合における開始および繰り上げ値と、
    前記プログラマブル累算器が複合累算器ユニットであり、オフセットインプットがコンフィギュレーションに接続されている場合におけるオフセット値と、
    前記プログラマブル累算器が複合累算器ユニットである場合におけるモジューロ値とを備えていることを特徴とするリコンフィギュラブルアドレス生成ブロックの記述。
  17. 請求項1記載のシステムにおいて、
    前記ネステッドループのボディにおける各データ表現が、変数、アレイまたはコンフィギュレーションコンスタントを含む論理および計算表現への変数またはアレイの割り当てにより構成されていることを特徴とするアーキテクチャテンプレート。
  18. 請求項17記載のシステムにおいて、前記データ表現における、各アレイのインデックスが((alpha*i+beta)÷gamma)+deltaの形であり、ここでiはループ変数であり、alpha、beta、gammaおよびdeltaはi以内のループ変数を用いた同じ形式表現により再帰的に定義されうることを特徴とするシステム。
  19. 請求項1記載のシステムにおいて、
    メモリデータポートの数以下のメモリアクセスが並列かつ1サイクルで実行され、すべてのファンクショナルユニットが並列かつ1サイクルで結果を生成しうることを特徴とするシステム。
  20. 請求項1記載のシステムにおいて、
    クロック周期が増えるのを回避するためにコネクションクロスバーにおける希薄なリンクを維持しながらファンクショナルユニットおよび設置メモリの数を増やすことにより前記システムの動作がスケールされうることを特徴とするシステム。
  21. 請求項1記載のシステムにおいて、
    前記リコンフィギャブルコプロセッサが同期のまたは非同期のファーストインファーストアウトメモリを用いて接続され、全体的に非同期で局所的に同期されたシステムを形成することを特徴とするシステム。
JP2008280225A 2007-10-30 2008-10-30 システム Expired - Fee Related JP5419419B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98379807P 2007-10-30 2007-10-30
US60/983,798 2007-10-30

Publications (3)

Publication Number Publication Date
JP2010044731A JP2010044731A (ja) 2010-02-25
JP2010044731A5 true JP2010044731A5 (ja) 2013-03-14
JP5419419B2 JP5419419B2 (ja) 2014-02-19

Family

ID=40394127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008280225A Expired - Fee Related JP5419419B2 (ja) 2007-10-30 2008-10-30 システム

Country Status (4)

Country Link
US (1) US8276120B2 (ja)
EP (1) EP2056211B1 (ja)
JP (1) JP5419419B2 (ja)
KR (1) KR20090045026A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302397A1 (en) * 2010-04-12 2011-12-08 Mitola Iii Joseph Method and Apparatus for Improved Secure Computing and Communications
JP5632651B2 (ja) * 2010-05-19 2014-11-26 スパンション エルエルシー 半導体回路及び設計装置
KR101687995B1 (ko) 2010-09-27 2016-12-20 삼성전자주식회사 프로세서 및 그 동작 방법
US9330027B2 (en) 2013-03-15 2016-05-03 Intel Corporation Register access white listing
KR102277439B1 (ko) 2014-10-21 2021-07-14 삼성전자주식회사 재구성 가능 프로세서 및 그 동작 방법
US10659396B2 (en) 2015-08-02 2020-05-19 Wave Computing, Inc. Joining data within a reconfigurable fabric
WO2019006119A1 (en) * 2017-06-30 2019-01-03 Wave Computing, Inc. COMBINING DATA IN A RECONFIGURABLE MATRIX
WO2019113021A1 (en) * 2017-12-05 2019-06-13 Wave Computing, Inc. Tensor manipulation within a reconfigurable fabric using pointers
US10680615B1 (en) * 2019-03-27 2020-06-09 Xilinx, Inc. Circuit for and method of configuring and partially reconfiguring function blocks of an integrated circuit device
CN113377360B (zh) * 2021-06-28 2023-09-26 北京百度网讯科技有限公司 任务执行方法、装置、电子设备、存储介质和程序产品
US20230205501A1 (en) * 2021-12-27 2023-06-29 SambaNova Systems, Inc. Compiler-based input synchronization for processor with variant stage latencies

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
WO2004042503A2 (en) * 2002-10-31 2004-05-21 Src Computers, Inc. Map compiler pipelined loop structure
JP2004220377A (ja) * 2003-01-15 2004-08-05 Sanyo Electric Co Ltd リコンフィギュラブル回路とそれを利用可能な集積回路装置およびデータ変換装置
JP2006018411A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd プロセッサ
JP4594666B2 (ja) * 2004-07-12 2010-12-08 富士通株式会社 再構成可能な演算装置
US8966223B2 (en) * 2005-05-05 2015-02-24 Icera, Inc. Apparatus and method for configurable processing

Similar Documents

Publication Publication Date Title
JP2010044731A5 (ja)
US20030046607A1 (en) Method for debugging reconfigurable architectures
US20040054864A1 (en) Memory controller
CN111433758A (zh) 可编程运算与控制芯片、设计方法及其装置
KR20140103048A (ko) 낮은 레벨 프로그래밍 가능한 시퀀서와 조합한 범용 프로그래밍 가능한 프로세서를 사용한 비휘발성 메모리 채널 제어
CN111183418B (zh) 可配置硬件加速器
ITVI20100208A1 (it) Metodo¿e sistema di simulazione atti alla simulazione di una piattaforma hardware a componenti multipli
CN102214157A (zh) 一种动态可重构阵列时序控制的方法
CN104679670A (zh) 一种面向fft和fir的共享数据缓存结构及管理方法
CN103412848A (zh) 一种四核处理器系统共享单一程序存储器的方法
CN114518902A (zh) 一种内存定序器系统和应用该系统的内存定序方法
CN203746056U (zh) 多操作数四则混合定点算术运算控制器
US11815935B2 (en) Programming a coarse grained reconfigurable array through description of data flow graphs
US20190138310A1 (en) Method for reading out variables from an fpga
US10073795B1 (en) Data compression engine for I/O processing subsystem
WO2015095231A1 (en) Multiple port shared memory
TWI816032B (zh) 多核心處理器電路
US9721048B1 (en) Multiprocessing subsystem with FIFO/buffer modes for flexible input/output processing in an emulation system
Aguirre Modular Injection System and Sampling Template (MISST) Design Report
US8914564B2 (en) Port control apparatus and associated methods
Suvorova An Approach for development of RISC-V based transport layer controller
JPH03226883A (ja) 制御プロセッサ
JP5501074B2 (ja) リコンフィギュラブル回路及びリコンフィギュラブル回路の駆動方法
RU2681365C1 (ru) Вычислительный модуль для многостадийной многопоточной обработки цифровых данных и способ обработки с использованием данного модуля
Hintenaus et al. Programmable Devices—Software and Hardware