JP2023508503A - 構成可能な並列計算用のプロセッサ - Google Patents

構成可能な並列計算用のプロセッサ Download PDF

Info

Publication number
JP2023508503A
JP2023508503A JP2022539692A JP2022539692A JP2023508503A JP 2023508503 A JP2023508503 A JP 2023508503A JP 2022539692 A JP2022539692 A JP 2022539692A JP 2022539692 A JP2022539692 A JP 2022539692A JP 2023508503 A JP2023508503 A JP 2023508503A
Authority
JP
Japan
Prior art keywords
processor
stream
circuits
data stream
configurable
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
JP2022539692A
Other languages
English (en)
Other versions
JPWO2021138189A5 (ja
Inventor
フア、ウェンシェン
Original Assignee
スター アリー インターナショナル リミテッド
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 スター アリー インターナショナル リミテッド filed Critical スター アリー インターナショナル リミテッド
Publication of JP2023508503A publication Critical patent/JP2023508503A/ja
Publication of JPWO2021138189A5 publication Critical patent/JPWO2021138189A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • G06F15/7889Reconfigurable logic implemented as a co-processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • G06F15/825Dataflow computers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

Figure 2023508503000001
フレキシブルプロセッサは、(i)構成可能なプロセッサを1以上のグループに分割して並列実行し、構成可能なプロセッサを任意の順序で相互接続してパイプライン処理を行うように構成可能なモジュール型の相互接続ファブリック回路によって相互接続された多数の構成可能なプロセッサを含む。それぞれの構成可能なプロセッサは、(i)制御回路と、(ii)多数の構成可能な算術論理回路と、(iii)構成可能な算術論理回路を相互接続するための構成可能な相互接続ファブリック回路と、を有する。
【選択図】図1

Description

本発明は、プロセッサアーキテクチャに関する。特に、本発明は、並列計算及びデータ転送処理が処理ユニットで実行されることを可能にするように構成可能かつ再構成可能である多数の処理ユニット及びデータパスを有するプロセッサのアーキテクチャに関する。
多くのアプリケーション(例えば、信号処理、ナビゲーション、行列の反転、機械学習、大規模なデータセット検索)には、並行して処理を行う多数のプロセッサによって実行することが最適な、膨大な量の反復計算ステップが必要である。現在のマイクロプロセッサは、デスクトップ型またはモバイル型のコンピュータに電力を供給する従来の「中央処理装置」(CPU)であっても、より数値指向の従来の「グラフィックス処理装置」(GPU)であっても、このようなタスクに適している。CPUまたはGPUは、多数のコアが提供されている場合でも、ハードウェア構成におけるフレキシビリティを有していない。例えば、信号処理アプリケーションは、多くの場合、多数の反復的な浮動小数点演算処理(例えば、加算及び乗算)のセットを必要とする。従来のCPUまたはGPUに実装されているように、単一ニューロンの演算は、一連の加算、乗算、及び比較命令として実装され、各命令は、レジスタまたはメモリからオペランドをフェッチし、算術論理演算ユニット(ALU)で演算を実行し、演算の結果をレジスタまたはメモリに書き戻す必要がある。このような演算の性質はよく知られているが、命令のセットまたは命令の実行順序は、データまたはアプリケーションによって異なる。したがって、メモリ、レジスタファイル、及びALUが従来のCPUまたはGPUで構成される方法に起因して、メモリ、レジスタファイル、及びALU間のオペランドを往復するデータパスを再構成するフレキシビリティがなければ、高度な並列処理及びデータフローの合理化を実現することは困難である。多くのアプリケーションでは、これらの演算が何億回も繰り返され得るので、適切なアーキテクチャを備えたプロセッサで、著しく効率を上げることができる。
本発明の一実施形態によれば、プロセッサは、(i)構成可能なプロセッサを1以上のグループに分割して並列実行し、構成可能なプロセッサを任意の順序で相互接続してパイプライン処理を行うように構成可能なモジュール型の相互接続ファブリック回路によって相互接続された複数の構成可能なプロセッサを含む。
一実施形態によれば、それぞれの構成可能なプロセッサは、(i)制御回路と、(ii)複数の構成可能な算術論理回路と、(iii)構成可能な算術論理回路を相互接続するための構成可能な相互接続ファブリック回路と、を有する。
本発明の一実施形態によれば、それぞれの構成可能な算術論理回路は、(i)複数の算術または論理演算回路と、(ii)構成可能な相互接続ファブリック回路と、を含む。
本発明の一実施形態によれば、それぞれの構成可能な相互接続ファブリック回路は、(i)ベネス網と、(ii)複数の構成可能な先入れ先出し(FIFO)レジスタと、を含む。
本発明は、添付の図面とともに以下の詳細な説明を検討することにより、よりよく理解される。
本発明の一実施形態による、ストリーム処理ユニット(SPU)101-1、101-2、101-3、・・・、及び101-16の、4×4の配列を含むプロセッサ100を示す図である。 本発明の一実施形態による、図1のプロセッサ100のSPUの1つの実装におけるSPU200を示す図である。 本発明の一実施形態による、図2のAPC201-1、201-2、201-3、及び201-4のうちの1つの実装におけるAPC300を示す図である。 出力データストリームについての次の演算による処理の準備ができていることを通知するために各演算によって生成されたイネーブル信号を示す図である。 本発明の一実施形態による、PLFユニット102-1、102-2、102-3、及び102-4のいずれか、並びにPLFサブユニット202の一般化された代表的な実装400を示す図である。
複数の図面の相互参照を容易にするために、図中の同様の要素が、参照符号のように提供されている。
図1は、本発明の一実施形態による、例えばストリーム処理ユニット(SPU)101-1、101-2、101-3、・・・、及び101-16の4×4の配列アレイを含むプロセッサ100を示している。当然のことながら、この詳細な説明では、説明のために4×4の配列が選択されている。実際の実装は、任意の数のSPUを有していてよい。SPUは、構成可能なパイプラインファブリック(PLF)102によって互いに相互接続されており、これにより、所定のSPUからの計算結果を別のSPUに提供すなわち「ストリーミング」することができる。この配置では、プロセッサ100内のSPUの4×4の配列は、実行時にSPUの1以上のグループに構成され、SPUの各グループは、パイプライン化された計算タスクのためのパイプラインステージとして構成される。
図1に示される実施形態では、PLF102はPLFユニット102-1、102-2、102-3、及び102-4を含むように示され、各PLFユニットは、4×4の配列の4つの象限のうちの1つにある4つのSPUの間にデータパスを提供するように構成される。PLFユニット102-1、102-2、102-3、及び102-4はまた、PLFユニット102-5を適切に構成することによって相互接続され、これにより、SPU101-1、101-2、101-3、・・・、及び101-16のいずれかからの計算結果をSPU101-1、101-2、101-3、・・・、及び101-16の他のいずれか1つに転送することができる。一実施形態では、プロセッサ100のPLFユニットは、階層的に構成される(図1に示す構成は、PLF102-1、102-2、102-3、及び102-4が第1のレベルを形成し、かつPLF102-5が第2のレベルである2レベルの階層と見なされる)。この実施形態では、ホストCPU(図示せず)は、処理中にリアルタイムでグローバルバス104を介してプロセッサ100を構成及び再構成する。割り込みバス105は、各SPUがホストCPUに割り込みを発生させて、タスクの完了または多数の例外的な条件のうちのいずれかを示すことを可能にするために提供される。入力データバス106-1及び106-2は、入力データをプロセッサ100にストリーミングする。
ある衛星測位アプリケーションにおいて、プロセッサ100は、無線周波(RF)フロントエンド回路からのリアルタイムでデジタル化されたサンプルを処理するデジタルベースバンド回路として機能し得る。このアプリケーションでは、入力データバス106-1及び106-2でプロセッサ100に受信された入力データサンプルは、RFフロントエンド回路での信号処理の後に、アンテナで受信された信号の同相成分及び直交成分である。受信信号には、多数の測位衛星から送信された航法信号が含まれる。
図2は、本発明の一実施形態による、プロセッサ100のSPUの1つの実装におけるSPU200を示している。図2に示すように、SPU200は、算術及び論理ユニットの2×4の配列を有し、本明細書では各ユニットが「算術パイプライン複合体」(APC:arithmetic pipeline complex)と呼ばれ、(i)各APCが、多数の算術及び論理演算のいずれかの構成レジスタのセットを介して再構成可能であること、及び(ii)APCが、SPU200内の任意のAPCの結果を別のAPCにストリーミングするように、多数の方法のうちのいずれかの方法で構成され得ること、を強調している。図2に示すように、SPU200におけるAPCの2×4の配列のうちのAPC201-1、201-2、・・・、201-8には、対応するPLFユニット101-1、101-2、101-3、または101-4からの拡張ユニットであるPLFサブユニット202上に、APC間のデータパスが提供される。
図2に示すように、SPU200は、グローバルバス104を介してホストCPUによってロードされる命令メモリ204からの命令の小さなセットを実行する制御ユニット203を有する。内部プロセッサバス209は、構成フェーズ中にグローバルバス104を介してホストCPUによってアクセス可能であり、かつ、計算フェーズ中に制御ユニット203によってアクセス可能である。構成フェーズと計算フェーズとの切り替えは、ホストCPUからアサートされたイネーブル信号によって行われる。イネーブル信号がデアサートされると、APCへのクロック信号と、したがって、APCを使用する演算子へのデータ有効信号とは、電力を節約するためにゲートオフされる。SPUへの電源信号をゲートオフすることにより、ホストCPUによって任意のSPUが無効化される。いくつかの実施形態では、APCへの電源信号もゲート制御される。同様に、必要に応じて、電力を節約するためにPLFがゲートオフされてもよい。
APCへのイネーブル信号は、内部プロセッサバス209を介してAPCにアクセスできるように、メモリマップされる。この構成により、複数のAPCがパイプライン内に構成されると、ホストCPUまたはSPU200は、必要に応じて、適切な順序でAPCの有効化(イネーブル)を制御し得る。例えば、パイプライン内のデータフローの逆の順序でAPCを有効化することにより、データフローの最初のAPCが有効化された場合にすべてのAPCのデータ処理の準備ができるようにする。
マルチプレクサ205は、ホストCPUと制御ユニット203との間で内部プロセッサバス209の制御を切り替える。SPU200は、計算フェーズ中に内部データバスを介してAPC201-1、201-2、・・・、201-8によって、あるいはホストCPUまたはSPU200によって、内部プロセッサバス209を介してアクセス可能なメモリブロック207-1、207-2、207-3、及び207-4を含む。スイッチ208-1、208-2、208-3、及び208-4はそれぞれ、内部プロセッサバス209と、内部データバス210-1、210-2、210-3、及び210-4のうちの対応する1つとの間のメモリブロック207-1、207-2、207-3、及び207-4へのアクセスを切り替える。構成フェーズ中、ホストCPUは、グローバルバス104を介して構成レジスタに書き込むことによってSPU200内の任意の要素を構成し、グローバルバス104は、この時点でマルチプレクサ205によって内部プロセッサバス209内に拡張される。計算フェーズ中、制御ユニット203は、APC201-1、201-2、・・・、201-8が互いに同期して処理を行うことを可能にする1以上のクロック信号を含む内部プロセッサバス209を介して、SPU200の動作を制御する。適切なタイミングで、1以上のAPC201-1、201-2、・・・、201-8は割り込みバス211で割り込みを発生させるが、これは処理のためにSPU200によって受信される。SPUは、上記の割り込み信号と、それ自体の割り込み信号とを、割り込みバス105を介してホストCPUに転送する。スクラッチメモリ206は、例えば中間結果、フラグ、及び割り込みを記憶するために、制御ユニット203における命令実行をサポートするべく提供される。構成フェーズと計算フェーズとの切り替えは、ホストCPUによって制御される。
一実施形態では、メモリブロック207-1、207-2、207-3、及び207-4は、プロセッサ100のグローバルアドレス空間の割り当てられた部分にマッピングされたローカルアドレス空間を使用して、制御ユニット203によってアクセスされる。APC201-1、201-2、・・・、201-8の構成レジスタも、ローカルアドレス空間とグローバルアドレス空間との両方から同様にアクセス可能である。APC201-1、201-2、・・・、201-8と、メモリブロック207-1、207-2、207-3、及び207-4とは、グローバルバス104を介してホストCPUから直接アクセスされてもよい。メモリマップされたレジスタを介してマルチプレクサ205を設定すると、ホストCPUは、内部プロセッサバス209を接続して割り当て、グローバルバス104の一部とすることができる。
制御ユニット203は、ホストCPUの監視下で動作する最小命令セットコンピュータ(MISC)のプロセッサと当業者に呼ばれるタイプのマイクロプロセッサであり得る。一実施形態では、制御ユニット203は、特定の割り込みを処理し、構成レジスタをリソース内にローカルに構成することによって、より低いレベルのリソース(例えば、APC201-1、201-2、201-3、及び201-4)を管理し、これにより、ホストCPUのこれらのリソースの監視要件を低減する。一実施形態では、リソースは、制御ユニット203の関与なしに動作する。すなわち、ホストCPUは、割り込み及び構成レジスタを直接処理し得る。さらに、構成されたデータ処理パイプラインが複数のSPUの関与を必要とする場合、ホストCPUは、データ処理パイプライン全体を直接制御してもよい。
図3Aは、本発明の一実施形態による、図2のAPC201-1、201-2、201-3、及び201-4のうちの1つの一実施形態におけるAPC300を示している。図3Aに示されるように、例示のみを目的として、APC300は、代表的な演算子ユニット301-1、301-2、301-3、及び301-4を含む。各演算子ユニットは、1以上の算術回路または論理回路(例えば、加算器、乗算器、シフタ、適切な組み合わせ論理回路、適切な順序論理回路、またはそれらの組み合わせ)を含み得る。APC PLF302は、内部プロセッサバス209を介して、ホストCPUが任意の適切な方法で演算子間にデータパス303を作成することを可能にする。APC PLF302及び演算子ユニット301-1、301-2、301-3、及び301-4はそれぞれ、ホストCPUと制御ユニット203との両方によって内部プロセッサバス209を介して構成可能であり、演算子ユニットは、パイプライン方式のデータストリーム上で処理を行うように構成され得る。
構成されたパイプライン内で、各演算子の出力データストリームは、次の演算子の入力データストリームとして提供される。図3Bに示されるように、有効信号401は各演算子によって生成され、アサートされると、その出力データストリーム402が次の演算子による処理に対して有効であることを伝える。パイプライン内の演算子は、有効信号401の立ち下がりエッジを検出したときに割り込み信号を生成して、その入力データストリームの処理が完了したことを示すように構成される。割り込み信号は、制御ユニット203またはホストCPUによって処理される。APC300に出入力されるデータは、図2のPLFサブユニット202のデータパスを介して提供される。
いくつかの演算子は、関連するメモリブロック(すなわち、メモリブロック207-1、207-2、207-3、または207-4)にアクセスするように構成される。例えば、ある演算子は、関連するメモリブロックからデータを読み取り、そのデータをパイプラインの出力データストリームに書き込む。ある演算子は、パイプラインの入力データストリームからデータを読み取り、そのデータを関連するメモリブロックに書き込む。いずれの場合も、メモリ位置のアドレスは、その入力データストリームで演算子に提供される。
APCには、1以上のバッファ演算子が提供される。バッファ演算子は、ローカルバッファ(例えば、FIFOバッファ)から読み取りまたは書き込みを行うように構成され得る。バッファ演算子で輻輳が発生すると、バッファ演算子はポーズ信号をアサートして現在のパイプラインを一時停止する。ポーズ信号は、輻輳のレベルが戻るまで、関連するすべてのAPCを無効化する。その後、バッファ演算子はポーズ信号をリセットして、パイプラインの処理を再開する。
図4は、本発明の一実施形態による、PLFユニット102-1、102-2、102-3、及び102-4のいずれか、並びにPLFサブユニット202の一般化された代表的な実装400を示している。図4に示すように、PLFの実装400には、n個のMビット入力データストリーム403-1、403-2、・・・、403-nを受信し、n個のMビット出力データストリーム404-1、404-2、・・・、404-nを提供するベネス網401が含まれている。ベネス網401は、ノンブロッキングのn×n Benesネットワークであり、その構成レジスタにプログラムされた任意の順列で、入力データストリームを出力データストリームにマッピング及びルーティングすることができるように構成され得る。その後、出力データストリーム404-1、404-2、・・・、404-nはそれぞれ、FIFOレジスタ402内の対応する構成可能な先入れ先出し(FIFO)レジスタに提供され、これにより、FIFO出力データストリーム405-1、405-2、・・・、405-nは、それぞれの構成レジスタにしたがって、それぞれの受信ユニットに対して時間的に適切に整列される。制御バス410、411は、それぞれ、ベネス網401及びFIFOレジスタ402の構成レジスタへの構成信号を表す。
上記の詳細な説明は、本発明の特定の実施形態を説明するために提供されており、本発明を限定することを意図するものではない。本発明の範囲内での多数の修正及び変形が可能である。本発明は、添付の特許請求の範囲に記載されている。

Claims (27)

  1. システム入力データストリームを受信するプロセッサであって、
    それぞれが入力データストリームを受信し、出力データストリームを提供する複数のストリームプロセッサであって、前記ストリームプロセッサのうちの選択された1つの入力データストリームは、前記システム入力データストリームを含む、複数の該ストリームプロセッサと、
    前記ストリームプロセッサのうちの1つの出力データストリームを、前記ストリームプロセッサのうちの別の1つの入力データストリームとしてルーティングするようにそれぞれ構成可能な、複数の構成可能な相互接続回路と、
    前記ストリームプロセッサ及び前記構成可能な相互接続回路へのアクセスを提供し、かつ前記ストリームプロセッサ及び前記構成可能な相互接続回路がアクセス可能なグローバルバスと、を有するプロセッサ。
  2. 前記構成可能な相互接続回路は階層的に構成されている、請求項1に記載のプロセッサ。
  3. 前記ストリームプロセッサは、前記グローバルバス上で前記ストリームプロセッサ及び前記構成可能な相互接続回路を構成するホストプロセッサをさらに有するシステムに含まれている、請求項1に記載のプロセッサ。
  4. 前記ホストプロセッサは、前記ストリームプロセッサにおける計算フェーズを開始する各ストリームプロセッサにおいて、イネーブル信号を提供する、請求項3に記載のプロセッサ。
  5. 前記ストリームプロセッサの前記イネーブル信号がデアサートされると、前記ストリームプロセッサ内の選択された回路は、電力を節約するためにパワーゲーティングされる、請求項4に記載のプロセッサ。
  6. それぞれの前記ストリームプロセッサはホストコンピュータに割り込みを発生させることを可能にする割り込みバスをさらに有する、請求項3に記載のプロセッサ。
  7. それぞれの前記ストリームプロセッサは、
    それぞれが入力データストリームを受信し、出力データストリームを提供する複数の算術論理回路であって、前記算術論理回路のうちの1つの入力データストリームは、前記ストリームプロセッサの前記入力データストリームを含み、前記算術論理回路のうちの別の1つの出力データストリームは、前記ストリームプロセッサの前記出力データストリームを含む、複数の該算術論理回路と、
    複数の構成可能な相互接続回路であって、それぞれの前記構成可能な相互接続回路は、前記算術論理回路のうちの1つの出力データストリームを、前記算術論理回路のうちの別の1つの入力データストリームとしてルーティングするように構成可能である、複数の該構成可能な相互接続回路と、
    前記算術論理回路へのアクセスを提供し、または前記算術論理回路からのアクセス可能なプロセッサバスと、
    前記プロセッサバスを介して前記算術論理回路との間で制御及び構成信号を送受信する制御プロセッサと、を有する、請求項6に記載のプロセッサ。
  8. 前記制御プロセッサは、前記割り込みバス上で選択された割り込みを処理する、請求項7に記載のプロセッサ。
  9. それぞれの前記ストリームプロセッサは、前記ストリームプロセッサの1以上の前記算術論理回路から前記プロセッサバスを介してそれぞれ直接アクセス可能な複数のメモリ回路をさらに有する、請求項7に記載のプロセッサ。
  10. それぞれの前記算術論理回路または構成可能な相互接続回路は複数の構成レジスタを含み、前記ホストプロセッサは、前記算術論理回路または構成可能な相互接続回路の制御パラメータの値を格納するために、前記グローバルバスまたは前記プロセッサバス上の前記制御プロセッサを介して前記構成レジスタにアクセスすることができる、請求項7に記載のプロセッサ。
  11. 前記ストリームプロセッサは、前記制御プロセッサによってアクセスされ得る命令メモリをさらに有し、前記命令メモリは、前記制御プロセッサによって実行可能な命令を記憶している、請求項10に記載のプロセッサ。
  12. 記ホストプロセッサは、前記グローバルバスを介した前記制御プロセッサによる実行のための命令を格納するために、前記命令メモリにアクセスすることができる、請求項11に記載のプロセッサ。
  13. 前記グローバルバスの一部を前記プロセッサバスに接続するように前記ホストプロセッサによって構成可能であるプロセッサバスマルチプレクサをさらに有する、請求項10に記載のプロセッサ。
  14. 前記算術論理回路はそれぞれ、前記ホストプロセッサまたは前記制御プロセッサからイネーブル信号を受信し、前記イネーブル信号がデアサートされると、前記算術論理回路に関連するクロック信号がゲートオフされることにより前記算術論理回路内の演算を中止する、請求項7に記載のプロセッサ。
  15. それぞれの前記算術論理回路は、それぞれが入力データストリームを受信し、出力データストリームを提供する複数の演算回路と、構成可能な相互接続回路と、を含み、
    前記構成可能な相互接続回路は、(i)前記算術論理回路の前記入力データストリームを前記演算回路のうちの1つの前記入力データストリームとして、(ii)前記演算回路のうちのいずれかの前記出力データストリームを前記演算回路のうちの他のいずれかの前記入力データストリームとして、及び、(iii)前記演算回路のうちの1つの前記出力データストリームを前記算術論理回路のうちの1つの前記出力データストリームとして、ルーティングするように構成可能である、請求項7に記載のプロセッサ。
  16. 前記演算回路はそれぞれ、1以上の算術回路または論理回路を含む、請求項15に記載のプロセッサ。
  17. 前記算術回路はそれぞれ、加算器、乗算器、または除算器のうちの1以上を含む、請求項16に記載のプロセッサ。
  18. 前記論理回路はそれぞれ、1以上のシフタ、組み合わせ論理回路、順序論理回路、及びそれらの任意の組み合わせを含む、請求項16に記載のプロセッサ。
  19. 前記演算回路はそれぞれ、その出力データストリームの有効性を示すための有効信号を提供する、請求項15に記載のプロセッサ。
  20. 少なくとも1つの前記演算回路がメモリ演算子を含む、請求項15に記載のプロセッサ。
  21. 少なくとも1つの前記演算回路がバッファ演算子を含む、請求項15に記載のプロセッサ。
  22. 前記構成可能な相互接続回路はそれぞれ、1以上の入力データストリームと、提供された1以上の出力データストリームとを受信するノンブロッキングネットワークを有する、請求項1に記載のプロセッサ。
  23. 前記ノンブロッキングネットワークがN×Nのベネス網を含む、請求項22に記載のプロセッサ。
  24. 前記構成可能な相互接続回路は、複数の先入れ先出しメモリをさらに有し、
    複数の前記先入れ先出しメモリはそれぞれ、前記ノンブロッキングネットワークの前記出力データストリームのうちの選択された1つを受信して、構成可能な遅延値によって遅延された前記ノンブロッキングネットワークの選択された前記出力データストリームに対応する遅延出力データストリームを提供する、請求項22に記載のプロセッサ。
  25. RFフロントエンド回路からのリアルタイムでデジタル化されたサンプルを処理するデジタルベースバンド回路として機能する、請求項1に記載のプロセッサ。
  26. 前記入力データストリームは、前記RFフロントエンド回路での信号処理の後にアンテナで受信された信号の同相成分及び直交成分を含む、請求項25に記載のプロセッサ。
  27. 前記受信された信号は、多数の測位衛星から送信された航法信号を含む、プロセッサ請求項26に記載のプロセッサ。
JP2022539692A 2019-12-30 2020-12-23 構成可能な並列計算用のプロセッサ Pending JP2023508503A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962954952P 2019-12-30 2019-12-30
US62/954,952 2019-12-30
PCT/US2020/066823 WO2021138189A1 (en) 2019-12-30 2020-12-23 Processor for configurable parallel computations

Publications (2)

Publication Number Publication Date
JP2023508503A true JP2023508503A (ja) 2023-03-02
JPWO2021138189A5 JPWO2021138189A5 (ja) 2023-12-19

Family

ID=76547640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022539692A Pending JP2023508503A (ja) 2019-12-30 2020-12-23 構成可能な並列計算用のプロセッサ

Country Status (6)

Country Link
US (2) US11789896B2 (ja)
EP (1) EP4085354A4 (ja)
JP (1) JP2023508503A (ja)
KR (1) KR20220139304A (ja)
CN (1) CN115280297A (ja)
WO (1) WO2021138189A1 (ja)

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056000A (en) * 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
US5594866A (en) * 1989-01-18 1997-01-14 Intel Corporation Message routing in a multi-processor computer system with alternate edge strobe regeneration
US5680400A (en) * 1995-05-31 1997-10-21 Unisys Corporation System for high-speed transfer of a continuous data stream between hosts using multiple parallel communication links
IT1288076B1 (it) * 1996-05-30 1998-09-10 Antonio Esposito Multicalcolatore elettronico numerico parallelo multiprocessore a ridondanza di processori accoppiati
AU2271201A (en) * 1999-12-14 2001-06-25 General Instrument Corporation Hardware filtering of input packet identifiers for an mpeg re-multiplexer
ATE422739T1 (de) * 2000-08-03 2009-02-15 Infineon Technologies Ag Flexible tdma systemarchitektur
US6772241B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Selective interrupt delivery to multiple processors having independent operating systems
US7840777B2 (en) * 2001-05-04 2010-11-23 Ascenium Corporation Method and apparatus for directing a computational array to execute a plurality of successive computational array instructions at runtime
CN1537376A (zh) * 2001-07-24 2004-10-13 �����ɷ� 可扩展和自动生成且基于多路复用器的集成电路分层级互连架构
US7159099B2 (en) * 2002-06-28 2007-01-02 Motorola, Inc. Streaming vector processor with reconfigurable interconnection switch
GB2395306B (en) * 2002-11-15 2006-02-15 Imagination Tech Ltd A configurable processor architecture
US7600143B1 (en) * 2004-08-19 2009-10-06 Unisys Corporation Method and apparatus for variable delay data transfer
US20060168637A1 (en) * 2005-01-25 2006-07-27 Collaboration Properties, Inc. Multiple-channel codec and transcoder environment for gateway, MCU, broadcast and video storage applications
US20070113229A1 (en) * 2005-11-16 2007-05-17 Alcatel Thread aware distributed software system for a multi-processor
US8024394B2 (en) * 2006-02-06 2011-09-20 Via Technologies, Inc. Dual mode floating point multiply accumulate unit
EP2021817A2 (en) * 2006-05-08 2009-02-11 Nxp B.V. Gps rf front end and related method of providing a position fix, storage medium and apparatus for the same
US7471204B2 (en) * 2006-07-07 2008-12-30 Broadcom Corporation Receiver architecture for canceling blocking signals
US8145650B2 (en) * 2006-08-18 2012-03-27 Stanley Hyduke Network of single-word processors for searching predefined data in transmission packets and databases
WO2008023576A1 (fr) * 2006-08-23 2008-02-28 Nec Corporation Élément de traitement, système de processeur parallèle en mode mixte, procédé pour élément de traitement, procédé pour processeur parallèle en mode mixte, programme pour élément de traitement, et programme pour processeur parallèle en mode mixte
KR100883655B1 (ko) * 2006-12-04 2009-02-18 삼성전자주식회사 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법
JP2009134391A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp ストリーム処理装置、ストリーム処理方法及びデータ処理システム
US7958341B1 (en) * 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
KR101275698B1 (ko) * 2008-11-28 2013-06-17 상하이 신하오 (브레이브칩스) 마이크로 일렉트로닉스 코. 엘티디. 데이터 처리 방법 및 장치
CN101782893B (zh) * 2009-01-21 2014-12-24 上海芯豪微电子有限公司 可重构数据处理平台
US8521963B1 (en) * 2009-09-21 2013-08-27 Tilera Corporation Managing cache coherence
CN101739242B (zh) * 2009-11-27 2013-07-31 深圳中微电科技有限公司 一种流数据处理方法及流处理器
US7982497B1 (en) * 2010-06-21 2011-07-19 Xilinx, Inc. Multiplexer-based interconnection network
CN102298580A (zh) * 2010-06-22 2011-12-28 Sap股份公司 使用异步缓冲器的多核查询处理
US9558247B2 (en) * 2010-08-31 2017-01-31 Samsung Electronics Co., Ltd. Storage device and stream filtering method thereof
CN109284131B (zh) * 2013-05-24 2023-05-30 相干逻辑公司 具有可编程优化的存储器-网络处理器
US9985996B2 (en) * 2013-09-09 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Decoupling audio-video (AV) traffic processing from non-AV traffic processing
US10404624B2 (en) * 2013-09-17 2019-09-03 Avago Technologies International Sales Pte. Limited Lossless switching of traffic in a network device
US9712442B2 (en) * 2013-09-24 2017-07-18 Broadcom Corporation Efficient memory bandwidth utilization in a network device
WO2017120270A1 (en) * 2016-01-04 2017-07-13 Gray Research LLC Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications
CN109032668B (zh) * 2017-06-09 2023-09-19 超威半导体公司 具有高带宽和低功率向量寄存器堆的流处理器
US10936597B2 (en) * 2017-11-21 2021-03-02 Gto Llc Systems and methods for generating customized filtered-and-partitioned market-data feeds
US10824467B2 (en) * 2018-08-07 2020-11-03 Arm Limited Data processing system with protected mode of operation for processing protected content

Also Published As

Publication number Publication date
US20210200710A1 (en) 2021-07-01
US20230418780A1 (en) 2023-12-28
KR20220139304A (ko) 2022-10-14
EP4085354A4 (en) 2024-03-13
WO2021138189A1 (en) 2021-07-08
EP4085354A1 (en) 2022-11-09
US11789896B2 (en) 2023-10-17
CN115280297A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
EP0085520B1 (en) An array processor architecture utilizing modular elemental processors
US9760373B2 (en) Functional unit having tree structure to support vector sorting algorithm and other algorithms
US7945764B2 (en) Processing unit incorporating multirate execution unit
KR20040005944A (ko) 재구성가능 칩
JP2006518058A (ja) 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
US9985635B2 (en) Hybrid architecture for signal processing and signal processing accelerator
US10838728B2 (en) Parallel slice processor shadowing states of hardware threads across execution slices
US7734896B2 (en) Enhanced processor element structure in a reconfigurable integrated circuit device
US10942745B2 (en) Fast multi-width instruction issue in parallel slice processor
WO1984000226A1 (en) Interconnecting plane for modular array processor
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
JP2005539293A (ja) 部分的にグローバルなコンフィギュレーションバスを用いたプログラマブルパイプラインファブリック
JP2023508503A (ja) 構成可能な並列計算用のプロセッサ
US20200192860A1 (en) Configurable circuit array
US9081901B2 (en) Means of control for reconfigurable computers
Srini et al. Parallel DSP with memory and I/O processors
RU2292075C1 (ru) Синергическая вычислительная система
Schwartz et al. The optimal synchronous cyclo-static array: a multiprocessor supercomputer for digital signal processing
WO2021014017A1 (en) A reconfigurable architecture, for example a coarse-grained reconfigurable architecture as well as a corresponding method of operating such a reconfigurable architecture
Ferreira et al. Reducing interconnection cost in coarse-grained dynamic computing through multistage network
Kasim et al. HDL Based Design for High Bandwidth Application
JPWO2021138189A5 (ja)
GB2555363A (en) Multistage switch

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A525

Effective date: 20220719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231211