JP2023508503A - 構成可能な並列計算用のプロセッサ - Google Patents
構成可能な並列計算用のプロセッサ Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 20
- 230000000903 blocking effect Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims 2
- 238000009877 rendering Methods 0.000 claims 1
- 239000004744 fabric Substances 0.000 abstract description 7
- 238000005192 partition Methods 0.000 abstract description 2
- 229920001003 Polilactofate Polymers 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
- G06F15/7889—Reconfigurable logic implemented as a co-processor
-
- 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/82—Architectures of general purpose stored program computers data or demand driven
- G06F15/825—Dataflow computers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
Description
本発明は、プロセッサアーキテクチャに関する。特に、本発明は、並列計算及びデータ転送処理が処理ユニットで実行されることを可能にするように構成可能かつ再構成可能である多数の処理ユニット及びデータパスを有するプロセッサのアーキテクチャに関する。
多くのアプリケーション(例えば、信号処理、ナビゲーション、行列の反転、機械学習、大規模なデータセット検索)には、並行して処理を行う多数のプロセッサによって実行することが最適な、膨大な量の反復計算ステップが必要である。現在のマイクロプロセッサは、デスクトップ型またはモバイル型のコンピュータに電力を供給する従来の「中央処理装置」(CPU)であっても、より数値指向の従来の「グラフィックス処理装置」(GPU)であっても、このようなタスクに適している。CPUまたはGPUは、多数のコアが提供されている場合でも、ハードウェア構成におけるフレキシビリティを有していない。例えば、信号処理アプリケーションは、多くの場合、多数の反復的な浮動小数点演算処理(例えば、加算及び乗算)のセットを必要とする。従来のCPUまたはGPUに実装されているように、単一ニューロンの演算は、一連の加算、乗算、及び比較命令として実装され、各命令は、レジスタまたはメモリからオペランドをフェッチし、算術論理演算ユニット(ALU)で演算を実行し、演算の結果をレジスタまたはメモリに書き戻す必要がある。このような演算の性質はよく知られているが、命令のセットまたは命令の実行順序は、データまたはアプリケーションによって異なる。したがって、メモリ、レジスタファイル、及びALUが従来のCPUまたはGPUで構成される方法に起因して、メモリ、レジスタファイル、及びALU間のオペランドを往復するデータパスを再構成するフレキシビリティがなければ、高度な並列処理及びデータフローの合理化を実現することは困難である。多くのアプリケーションでは、これらの演算が何億回も繰り返され得るので、適切なアーキテクチャを備えたプロセッサで、著しく効率を上げることができる。
本発明の一実施形態によれば、プロセッサは、(i)構成可能なプロセッサを1以上のグループに分割して並列実行し、構成可能なプロセッサを任意の順序で相互接続してパイプライン処理を行うように構成可能なモジュール型の相互接続ファブリック回路によって相互接続された複数の構成可能なプロセッサを含む。
一実施形態によれば、それぞれの構成可能なプロセッサは、(i)制御回路と、(ii)複数の構成可能な算術論理回路と、(iii)構成可能な算術論理回路を相互接続するための構成可能な相互接続ファブリック回路と、を有する。
本発明の一実施形態によれば、それぞれの構成可能な算術論理回路は、(i)複数の算術または論理演算回路と、(ii)構成可能な相互接続ファブリック回路と、を含む。
本発明の一実施形態によれば、それぞれの構成可能な相互接続ファブリック回路は、(i)ベネス網と、(ii)複数の構成可能な先入れ先出し(FIFO)レジスタと、を含む。
本発明は、添付の図面とともに以下の詳細な説明を検討することにより、よりよく理解される。
複数の図面の相互参照を容易にするために、図中の同様の要素が、参照符号のように提供されている。
図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に記載のプロセッサ。
- 前記ストリームプロセッサは、前記グローバルバス上で前記ストリームプロセッサ及び前記構成可能な相互接続回路を構成するホストプロセッサをさらに有するシステムに含まれている、請求項1に記載のプロセッサ。
- 前記ホストプロセッサは、前記ストリームプロセッサにおける計算フェーズを開始する各ストリームプロセッサにおいて、イネーブル信号を提供する、請求項3に記載のプロセッサ。
- 前記ストリームプロセッサの前記イネーブル信号がデアサートされると、前記ストリームプロセッサ内の選択された回路は、電力を節約するためにパワーゲーティングされる、請求項4に記載のプロセッサ。
- それぞれの前記ストリームプロセッサはホストコンピュータに割り込みを発生させることを可能にする割り込みバスをさらに有する、請求項3に記載のプロセッサ。
- それぞれの前記ストリームプロセッサは、
それぞれが入力データストリームを受信し、出力データストリームを提供する複数の算術論理回路であって、前記算術論理回路のうちの1つの入力データストリームは、前記ストリームプロセッサの前記入力データストリームを含み、前記算術論理回路のうちの別の1つの出力データストリームは、前記ストリームプロセッサの前記出力データストリームを含む、複数の該算術論理回路と、
複数の構成可能な相互接続回路であって、それぞれの前記構成可能な相互接続回路は、前記算術論理回路のうちの1つの出力データストリームを、前記算術論理回路のうちの別の1つの入力データストリームとしてルーティングするように構成可能である、複数の該構成可能な相互接続回路と、
前記算術論理回路へのアクセスを提供し、または前記算術論理回路からのアクセス可能なプロセッサバスと、
前記プロセッサバスを介して前記算術論理回路との間で制御及び構成信号を送受信する制御プロセッサと、を有する、請求項6に記載のプロセッサ。 - 前記制御プロセッサは、前記割り込みバス上で選択された割り込みを処理する、請求項7に記載のプロセッサ。
- それぞれの前記ストリームプロセッサは、前記ストリームプロセッサの1以上の前記算術論理回路から前記プロセッサバスを介してそれぞれ直接アクセス可能な複数のメモリ回路をさらに有する、請求項7に記載のプロセッサ。
- それぞれの前記算術論理回路または構成可能な相互接続回路は複数の構成レジスタを含み、前記ホストプロセッサは、前記算術論理回路または構成可能な相互接続回路の制御パラメータの値を格納するために、前記グローバルバスまたは前記プロセッサバス上の前記制御プロセッサを介して前記構成レジスタにアクセスすることができる、請求項7に記載のプロセッサ。
- 前記ストリームプロセッサは、前記制御プロセッサによってアクセスされ得る命令メモリをさらに有し、前記命令メモリは、前記制御プロセッサによって実行可能な命令を記憶している、請求項10に記載のプロセッサ。
- 記ホストプロセッサは、前記グローバルバスを介した前記制御プロセッサによる実行のための命令を格納するために、前記命令メモリにアクセスすることができる、請求項11に記載のプロセッサ。
- 前記グローバルバスの一部を前記プロセッサバスに接続するように前記ホストプロセッサによって構成可能であるプロセッサバスマルチプレクサをさらに有する、請求項10に記載のプロセッサ。
- 前記算術論理回路はそれぞれ、前記ホストプロセッサまたは前記制御プロセッサからイネーブル信号を受信し、前記イネーブル信号がデアサートされると、前記算術論理回路に関連するクロック信号がゲートオフされることにより前記算術論理回路内の演算を中止する、請求項7に記載のプロセッサ。
- それぞれの前記算術論理回路は、それぞれが入力データストリームを受信し、出力データストリームを提供する複数の演算回路と、構成可能な相互接続回路と、を含み、
前記構成可能な相互接続回路は、(i)前記算術論理回路の前記入力データストリームを前記演算回路のうちの1つの前記入力データストリームとして、(ii)前記演算回路のうちのいずれかの前記出力データストリームを前記演算回路のうちの他のいずれかの前記入力データストリームとして、及び、(iii)前記演算回路のうちの1つの前記出力データストリームを前記算術論理回路のうちの1つの前記出力データストリームとして、ルーティングするように構成可能である、請求項7に記載のプロセッサ。 - 前記演算回路はそれぞれ、1以上の算術回路または論理回路を含む、請求項15に記載のプロセッサ。
- 前記算術回路はそれぞれ、加算器、乗算器、または除算器のうちの1以上を含む、請求項16に記載のプロセッサ。
- 前記論理回路はそれぞれ、1以上のシフタ、組み合わせ論理回路、順序論理回路、及びそれらの任意の組み合わせを含む、請求項16に記載のプロセッサ。
- 前記演算回路はそれぞれ、その出力データストリームの有効性を示すための有効信号を提供する、請求項15に記載のプロセッサ。
- 少なくとも1つの前記演算回路がメモリ演算子を含む、請求項15に記載のプロセッサ。
- 少なくとも1つの前記演算回路がバッファ演算子を含む、請求項15に記載のプロセッサ。
- 前記構成可能な相互接続回路はそれぞれ、1以上の入力データストリームと、提供された1以上の出力データストリームとを受信するノンブロッキングネットワークを有する、請求項1に記載のプロセッサ。
- 前記ノンブロッキングネットワークがN×Nのベネス網を含む、請求項22に記載のプロセッサ。
- 前記構成可能な相互接続回路は、複数の先入れ先出しメモリをさらに有し、
複数の前記先入れ先出しメモリはそれぞれ、前記ノンブロッキングネットワークの前記出力データストリームのうちの選択された1つを受信して、構成可能な遅延値によって遅延された前記ノンブロッキングネットワークの選択された前記出力データストリームに対応する遅延出力データストリームを提供する、請求項22に記載のプロセッサ。 - RFフロントエンド回路からのリアルタイムでデジタル化されたサンプルを処理するデジタルベースバンド回路として機能する、請求項1に記載のプロセッサ。
- 前記入力データストリームは、前記RFフロントエンド回路での信号処理の後にアンテナで受信された信号の同相成分及び直交成分を含む、請求項25に記載のプロセッサ。
- 前記受信された信号は、多数の測位衛星から送信された航法信号を含む、プロセッサ請求項26に記載のプロセッサ。
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)
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 |
AU2108501A (en) * | 1999-12-14 | 2001-06-25 | General Instrument Corporation | Mpeg re-multiplexer having multiple inputs and multiple outputs |
EP1540848B1 (en) * | 2000-08-03 | 2009-02-11 | Infineon Technologies AG | Flexible tdma system architecture |
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 |
CA2454688A1 (en) | 2001-07-24 | 2003-02-06 | Leopard Logic, Inc. | Hierarchical multiplexer-based integrated circuit interconnect architecture for scalability and automatic generation |
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 |
US7986268B2 (en) | 2006-05-08 | 2011-07-26 | 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 |
US7853775B2 (en) * | 2006-08-23 | 2010-12-14 | Nec Corporation | Processing elements grouped in MIMD sets each operating in SIMD mode by controlling memory portion as instruction cache and GPR portion as tag |
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 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
US8549249B1 (en) * | 2009-09-21 | 2013-10-01 | Tilera Corporation | Supporting secondary atomic operations using primary atomic operations |
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 |
JP2016526220A (ja) * | 2013-05-24 | 2016-09-01 | コーヒレント・ロジックス・インコーポレーテッド | プログラム可能な最適化を有するメモリネットワークプロセッサ |
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 |
EP3400688B1 (en) * | 2016-01-04 | 2020-05-20 | 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 | 超威半导体公司 | 具有高带宽和低功率向量寄存器堆的流处理器 |
US10936598B2 (en) * | 2017-11-21 | 2021-03-02 | Gto Llc | Systems and methods for targeted exchange emulation |
US10824467B2 (en) * | 2018-08-07 | 2020-11-03 | Arm Limited | Data processing system with protected mode of operation for processing protected content |
-
2020
- 2020-12-23 KR KR1020227025841A patent/KR20220139304A/ko unknown
- 2020-12-23 JP JP2022539692A patent/JP2023508503A/ja active Pending
- 2020-12-23 CN CN202080090121.3A patent/CN115280297A/zh active Pending
- 2020-12-23 WO PCT/US2020/066823 patent/WO2021138189A1/en unknown
- 2020-12-23 EP EP20908751.9A patent/EP4085354A4/en active Pending
- 2020-12-23 US US17/132,437 patent/US11789896B2/en active Active
-
2023
- 2023-09-12 US US18/367,344 patent/US20230418780A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115280297A (zh) | 2022-11-01 |
US20230418780A1 (en) | 2023-12-28 |
EP4085354A4 (en) | 2024-03-13 |
KR20220139304A (ko) | 2022-10-14 |
WO2021138189A1 (en) | 2021-07-08 |
EP4085354A1 (en) | 2022-11-09 |
US20210200710A1 (en) | 2021-07-01 |
US11789896B2 (en) | 2023-10-17 |
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 |