JP2016517570A5 - - Google Patents

Download PDF

Info

Publication number
JP2016517570A5
JP2016517570A5 JP2016500908A JP2016500908A JP2016517570A5 JP 2016517570 A5 JP2016517570 A5 JP 2016517570A5 JP 2016500908 A JP2016500908 A JP 2016500908A JP 2016500908 A JP2016500908 A JP 2016500908A JP 2016517570 A5 JP2016517570 A5 JP 2016517570A5
Authority
JP
Japan
Prior art keywords
vector
sample set
vector processing
data path
data
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
JP2016500908A
Other languages
English (en)
Other versions
JP6243000B2 (ja
JP2016517570A (ja
Filing date
Publication date
Priority claimed from US13/798,641 external-priority patent/US9495154B2/en
Application filed filed Critical
Publication of JP2016517570A publication Critical patent/JP2016517570A/ja
Publication of JP2016517570A5 publication Critical patent/JP2016517570A5/ja
Application granted granted Critical
Publication of JP6243000B2 publication Critical patent/JP6243000B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

[0094]本開示の前の記載は、当業者が本開示を製造または使用することを可能にするように提供される。本開示に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書に規定の一般的な原理が、本開示の精神または範囲から逸脱することなく、他の変形形態に適用され得る。したがって、本開示は、本明細書に記載される例および設計に限定することを意図しておらず、本明細書に開示される、原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ベクトルデータのマルチモードベクトル処理を行うように構成されたベクトル処理エンジン(VPE)であって、
複数の入力データ経路の中のある入力データ経路中で、ベクトルアレイの幅の複数のベクトルデータ入力サンプルセットを与えるように構成された入力読取り段階と、
複数のベクトル処理ブロックを備える少なくとも1つのベクトル処理段階と、前記複数のベクトル処理ブロックの中の各ベクトル処理ブロックは、
前記複数の入力データ経路の中の少なくとも1つの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくとも1つのベクトルデータ入力サンプルセットを受信し、
前記少なくとも1つのベクトル処理段階によって実行されるベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくとも1つのベクトルデータ入力サンプルセットを処理し、
複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、
前記複数のベクトル処理ブロックの各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信するように構成された出力処理段階と、を備えるVPE。
[C2]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に基づいて再構成されるように構成される、C1に記載のVPE。
[C3]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される各ベクトル命令用に再構成されるように構成される、C2に記載のVPE。
[C4]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令の各クロック周期において再構成されるように構成される、C2に記載のVPE。
[C5]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、プログラム可能入力データ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能入力データ経路構成に基づいて前記複数の入力データ経路の中の前記少なくとも1つの入力データ経路から前記少なくとも1つのベクトルデータ入力サンプルセットを受信するように構成される、C1に記載のVPE。
[C6]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、さらに、前記少なくとも1つのベクトル処理ブロック用のプログラム可能出力データ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、C5に記載のVPE。
[C7]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、さらに、前記少なくとも1つのベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるために、前記少なくとも1つのベクトルデータ入力サンプルセットを処理するように構成される、C6に記載のVPE。
[C8]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理ブロック用のプログラム可能出力データ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、C1に記載のVPE。
[C9]
前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるために、前記少なくとも1つのベクトルデータ入力サンプルセットを処理するように構成される、C1に記載のVPE。
[C10]
前記少なくとも1つのベクトル処理ブロックは、少なくとも1つの乗算器ブロックおよび少なくとも1つの累算器ブロックのうちの少なくとも1つからなる、C1に記載のVPE。
[C11]
前記少なくとも1つのベクトル処理段階は複数のベクトル処理段階からなる、C1に記載のVPE。
[C12]
前記少なくとも1つのベクトル処理段階は、複数の乗算器ブロックからなる少なくとも1つの乗算ベクトル処理段階および複数の累算器ブロックからなる少なくとも1つの累算ベクトル処理段階からなり、
前記複数の乗算器ブロックの中の各乗算器ブロックは、
前記複数のベクトルデータ入力サンプルセットからの第1のベクトルデータ入力サンプルセットと第2のベクトルデータ入力サンプルセットとを、前記複数の入力データ経路の中の第1の入力データ経路および第2の入力データ経路から受信し、
前記少なくとも1つの第1のベクトル処理段階によって実行されるベクトル命令に従って、前記乗算器ブロック用のプログラム可能乗算データ経路構成に基づいて複数の乗算出力データ経路の中のある乗算出力データ経路中でベクトル乗算出力サンプルセットを与えるために、前記第1のベクトルデータ入力サンプルセットを前記第2のベクトルデータ入力サンプルセットに乗算するように構成され、
前記複数の累算器ブロックの中の各累算器ブロックは、
複数の乗算出力データ経路の中の第1の乗算出力データ経路および第2の乗算出力データ経路から、それぞれ、第1の乗算出力サンプルセットと第2の乗算出力サンプルセットとを受信し、
前記少なくとも1つの第2のベクトル処理段階によって実行されるベクトル命令に従って、前記累算器ブロック用のプログラム可能データ経路構成に基づいてベクトル累算結果サンプルセットを与えるために、前記第1の乗算出力サンプルセットを前記第2の乗算出力サンプルセットと累算し、
前記複数の複数の出力データ経路の中の前記出力データ経路中で前記ベクトル累算結果サンプルセットを与えるように構成される、C1に記載のVPE。
[C13]
前記少なくとも1つのベクトル処理ブロックは、最小の1つのベクトル結果出力サンプルセットをベクトルレジスタに記憶するように構成されない、C1に記載のVPE。
[C14]
各ベクトル処理ブロックは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて異なるビット幅の前記複数のベクトルデータ入力サンプルセットを処理するようにさらに構成される、C1に記載のVPE。
[C15]
各ベクトル処理ブロックは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて符号付きの少なくとも1つのベクトルデータ入力サンプルセットまたは符号なしの少なくとも1つのベクトルデータ入力サンプルセットを処理するようにさらに構成される、C1に記載のVPE。
[C16]
前記少なくとも1つのベクトル処理段階は、符号付きの演算命令からなる前記ベクトル命令を実行するように構成される、C1に記載のVPE。
[C17]
前記少なくとも1つのベクトル処理段階は、符号なし演算命令からなる前記ベクトル命令を実行するように構成される、C1に記載のVPE。
[C18]
ベクトルデータのマルチモードベクトル処理を行うように構成されたベクトル処理エンジン(VPE)であって、
複数の入力データ経路の中のある入力データ経路中で、ベクトルアレイの幅の複数のベクトルデータ入力サンプルセットを与えるように構成された入力読取り段階手段と、
複数のベクトル処理手段を備える少なくとも1つのベクトル処理段階手段と、前記複数のベクトル処理手段の中の各ベクトル処理手段は、
前記複数の入力データ経路の中の少なくとも1つの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくとも1つのベクトルデータ入力サンプルセットを受信し、
前記少なくとも1つのベクトル処理段階手段によって実行されるベクトル命令に従って、前記ベクトル処理手段用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくとも1つのベクトルデータ入力サンプルセットを処理し、
複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、
前記複数のベクトル処理手段の各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信するように構成された出力処理段階手段と、を備えるVPE。
[C19]
ベクトル処理エンジン(VPE)中でベクトルデータを処理する方法であって、
入力処理段階中の複数の入力データ経路の中のある入力データ経路中で、ベクトルアレイの幅の複数のベクトルデータ入力サンプルセットを与えることと、
少なくとも1つのベクトル処理段階中の複数のベクトル処理ブロックにおいて、前記複数のベクトルデータ入力サンプルセットを処理することと、前記複数のベクトル処理ブロックの各々において、
前記複数の入力データ経路の中の少なくとも1つの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくとも1つのベクトルデータ入力サンプルセットを受信することと、
前記少なくとも1つのベクトル処理段階によって実行されるベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくとも1つのベクトルデータ入力サンプルセットを処理することと、
複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えることと、を備える、
出力処理段階中の前記複数のベクトル処理ブロックの各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信することと、を備える方法。
[C20]
前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に基づいて、前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成を再構成することをさらに備える、C19に記載の方法。
[C21]
前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能入力データ経路構成に基づいて前記複数の入力データ経路の中の前記少なくとも1つの入力データ経路から前記複数のベクトルデータ入力サンプルセットからの前記少なくとも1つのベクトルデータ入力サンプルセットを受信することと、
前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能入力データ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるように前記少なくとも1つのベクトルデータ入力サンプルセットを処理することと、を備える、C19に記載の方法。
[C22]
前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを受信することを備える、C19に記載の方法。
[C23]
前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるように前記少なくとも1つのベクトルデータ入力サンプルセットを処理することを備える、C19に記載の方法。
[C24]
最小の1つのベクトル結果出力サンプルセットをベクトルレジスタに記憶しないことをさらに備える、C19に記載の方法。
[C25]
前記少なくとも1つのベクトルデータ入力サンプルセットを処理することは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて異なるビット幅の前記複数のベクトルデータ入力サンプルセットを処理することを備える、方法C19。
[C26]
前記少なくとも1つのベクトルデータ入力サンプルセットを処理することは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて符号付きの少なくとも1つのベクトルデータ入力サンプルセットまたは符号なしの少なくとも1つのベクトルデータ入力サンプルセットを処理することを備える、C19に記載の方法。
[C27]
前記入力処理段階における前記複数の入力データ経路の中の前記入力データ経路中で、第2の幅の前記ベクトルアレイの第2の複数のベクトルデータ入力サンプルセットを与えることと、
前記少なくとも1つのベクトル処理段階中の前記複数のベクトル処理ブロックにおいて前記第2の複数のベクトルデータ入力サンプルセットを処理することと、前記複数のベクトル処理ブロックの各々において、
前記複数の入力データ経路の中の前記第2の少なくとも1つの入力データ経路から、前記第2の複数のベクトルデータ入力サンプルセットからの少なくとも1つのベクトルデータ入力サンプルセットを受信することと、
前記少なくとも1つのベクトル処理段階によって実行される第2のベクトル命令に従って、前記ベクトル処理ブロック用の第2のプログラム可能データ経路構成に基づいて第2の少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記第2の少なくとも1つのベクトルデータ入力サンプルセットを処理することと、
前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記第2の少なくとも1つのベクトル結果出力サンプルセットを与えることと、を備え、
前記出力処理段階中の前記複数のベクトル処理ブロックの各々から前記第2の少なくとも1つのベクトル結果出力サンプルセットを受信することと、をさらに備える、C19に記載の方法。
[C28]
前記第1の幅とは異なる前記第2の幅の前記ベクトルアレイの前記第2の複数のベクトルデータ入力サンプルセットを、前記入力処理段階における前記複数の入力データ経路の中の前記入力データ経路中で与えることを備える、C27に記載の方法。
[C29]
前記複数のベクトル処理ブロック中で前記複数のベクトルデータ入力サンプルセットを処理することは、前記複数の乗算器ブロック中で前記複数のベクトルデータ入力サンプルセットを処理することを備え、
前記複数のベクトル処理ブロック中で前記第2の複数のベクトルデータ入力サンプルセットを処理することは、前記複数の累算器ブロック中で前記第2の複数のベクトルデータ入力サンプルセットを処理することを備える、C27に記載の方法。
[C30]
前記複数の乗算器ブロックでの前記複数のベクトルデータ入力サンプルセットの処理は、前記複数の累算器ブロック中で前記第2の複数のベクトルデータ入力サンプルセットを処理することを備える、前記複数のベクトル処理ブロックでの前記第2の複数のベクトルデータ入力サンプルセットの前記処理と同時に起こる、C29に記載の方法。

Claims (28)

  1. ベクトルデータのマルチモードベクトル処理を行うように構成されたベクトル処理エンジン(VPE)であって、
    複数の入力データ経路中、複数のベクトルデータ入力サンプルセットを与えるように構成された入力読取り段階と、
    複数のベクトル処理ブロックを備える少なくとも1つのベクトル処理段階と、前記複数のベクトル処理ブロックの中の各ベクトル処理ブロックは、
    前記複数の入力データ経路の中の少なくともつの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくともつのベクトルデータ入力サンプルセットを受信し、
    前記少なくとも1つのベクトル処理段階によって実行されるベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくともつのベクトルデータ入力サンプルセットを処理し、ここにおいて、前記ベクトル処理ブロックは複数の乗算器を備え、前記ベクトル処理ブロックによる前記処理は、第1の構成における前記複数の乗算器を使用して前記少なくとも2つのベクトルデータ入力サンプルセットに対して第1の乗算演算を実施することを備え、前記プログラム可能データ経路構成は、第2の乗算演算を実施するために前記複数の乗算器を第2の構成に再構成するように再構成されるように構成され、前記第1の乗算演算と前記第2の乗算演算は、異なるビット長の乗算演算である、
    複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、
    前記複数のベクトル処理ブロックの各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信するように構成された出力処理段階と、を備えるVPE。
  2. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される各ベクトル命令用に再構成されるように構成される、請求項に記載のVPE。
  3. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令の各クロック周期において再構成されるように構成される、請求項に記載のVPE。
  4. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、プログラム可能入力データ経路構成からなり、
    前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能入力データ経路構成に基づいて前記複数の入力データ経路の中の前記少なくともつの入力データ経路から前記少なくともつのベクトルデータ入力サンプルセットを受信するように構成される、請求項1に記載のVPE。
  5. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、さらに、前記少なくとも1つのベクトル処理ブロック用のプログラム可能出力データ経路構成からなり、
    前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、請求項に記載のVPE。
  6. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、さらに、前記少なくとも1つのベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成からなり、
    前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるために、前記少なくともつのベクトルデータ入力サンプルセットを処理するように構成される、請求項に記載のVPE。
  7. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理ブロック用のプログラム可能出力データ経路構成からなり、
    前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、請求項1に記載のVPE。
  8. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成からなり、
    前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるために、前記少なくともつのベクトルデータ入力サンプルセットを処理するように構成される、請求項1に記載のVPE。
  9. 前記少なくとも1つのベクトル処理ブロックは、少なくとも1つの乗算器ブロックおよび少なくとも1つの累算器ブロックのうちの少なくとも1つからなる、請求項1に記載のVPE。
  10. 前記少なくとも1つのベクトル処理段階は複数のベクトル処理段階からなる、請求項1に記載のVPE。
  11. 前記少なくとも1つのベクトル処理段階は、複数の乗算器ブロックからなる少なくとも1つの乗算ベクトル処理段階および複数の累算器ブロックからなる少なくとも1つの累算ベクトル処理段階からなり、
    前記複数の乗算器ブロックの中の各乗算器ブロックは、
    前記複数のベクトルデータ入力サンプルセットからの第1のベクトルデータ入力サンプルセットと第2のベクトルデータ入力サンプルセットとを、前記複数の入力データ経路の中の第1の入力データ経路および第2の入力データ経路から受信し、
    前記少なくとも1つの第1のベクトル処理段階によって実行されるベクトル命令に従って、前記乗算器ブロック用のプログラム可能乗算データ経路構成に基づいて複数の乗算出力データ経路の中のある乗算出力データ経路中でベクトル乗算出力サンプルセットを与えるために、前記第1のベクトルデータ入力サンプルセットを前記第2のベクトルデータ入力サンプルセットに乗算するように構成され、
    前記複数の累算器ブロックの中の各累算器ブロックは、
    複数の乗算出力データ経路の中の第1の乗算出力データ経路および第2の乗算出力データ経路から、それぞれ、第1の乗算出力サンプルセットと第2の乗算出力サンプルセットとを受信し、
    前記少なくとも1つの第2のベクトル処理段階によって実行されるベクトル命令に従って、前記累算器ブロック用のプログラム可能データ経路構成に基づいてベクトル累算結果サンプルセットを与えるために、前記第1の乗算出力サンプルセットを前記第2の乗算出力サンプルセットと累算し、
    前記複数の複数の出力データ経路の中の前記出力データ経路中で前記ベクトル累算結果サンプルセットを与えるように構成される、請求項1に記載のVPE。
  12. 前記少なくとも1つのベクトル処理ブロックは、最小の1つのベクトル結果出力サンプルセットをベクトルレジスタに記憶するように構成されない、請求項1に記載のVPE。
  13. 各ベクトル処理ブロックは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて異なるビット幅の前記複数のベクトルデータ入力サンプルセットを処理するようにさらに構成される、請求項1に記載のVPE。
  14. 各ベクトル処理ブロックは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて符号付きの少なくとも1つのベクトルデータ入力サンプルセットまたは符号なしの少なくとも1つのベクトルデータ入力サンプルセットを処理するようにさらに構成される、請求項1に記載のVPE。
  15. 前記少なくとも1つのベクトル処理段階は、符号付きの演算命令からなる前記ベクトル命令を実行するように構成される、請求項1に記載のVPE。
  16. 前記少なくとも1つのベクトル処理段階は、符号なし演算命令からなる前記ベクトル命令を実行するように構成される、請求項1に記載のVPE。
  17. ベクトルデータのマルチモードベクトル処理を行うように構成されたベクトル処理エンジン(VPE)であって、
    複数の入力データ経路中、複数のベクトルデータ入力サンプルセットを与えるように構成された入力読取り段階手段と、
    複数のベクトル処理手段を備える少なくとも1つのベクトル処理段階手段と、前記複数のベクトル処理手段の中の各ベクトル処理手段は、
    前記複数の入力データ経路の中の少なくともつの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくともつのベクトルデータ入力サンプルセットを受信し、
    前記少なくとも1つのベクトル処理段階手段によって実行されるベクトル命令に従って、前記ベクトル処理手段用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくともつのベクトルデータ入力サンプルセットを処理し、ここにおいて、前記ベクトル処理手段は複数の乗算器を備え、前記ベクトル処理手段による前記処理は、第1の構成における前記複数の乗算器を使用して前記少なくとも2つのベクトルデータ入力サンプルセットに対して第1の乗算演算を実施することを備え、前記プログラム可能データ経路構成は、第2の乗算演算を実施するために前記複数の乗算器を第2の構成に再構成するように再構成されるように構成され、前記第1の乗算演算と前記第2の乗算演算は、異なるビット長の乗算演算である、
    複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、
    前記複数のベクトル処理手段の各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信するように構成された出力処理手段と、を備えるVPE。
  18. ベクトル処理エンジン(VPE)中でベクトルデータを処理する方法であって、
    入力処理段階中の複数の入力データ経路中、複数のベクトルデータ入力サンプルセットを与えることと、
    少なくとも1つのベクトル処理段階中の複数のベクトル処理ブロックにおいて、前記複数のベクトルデータ入力サンプルセットを処理することと、前記複数のベクトル処理ブロックの各々において、
    前記複数の入力データ経路の中の少なくともつの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくともつのベクトルデータ入力サンプルセットを受信することと、
    前記少なくとも1つのベクトル処理段階によって実行されるベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくともつのベクトルデータ入力サンプルセットを処理することと、ここにおいて、前記ベクトル処理ブロックは複数の乗算器を備え、前記少なくとも2つのベクトルデータ入力サンプルセットを処理することは、第1の構成における前記複数の乗算器を使用して前記少なくとも2つのベクトルデータ入力サンプルセットに対して第1の乗算演算を実施することを備える、
    複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えることと、を備える、
    出力処理段階中の前記複数のベクトル処理ブロックの各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信することと、
    第2の乗算演算を実施するために前記ベクトル処理ブロックの前記複数の乗算器を第2の構成に再構成するように前記複数の処理ブロックの各々用の前記プログラム可能データ経路構成を再構成することと、ここにおいて、前記第1の乗算演算と前記第2の乗算演算は、異なるビット長の乗算演算である、
    を備える方法。
  19. 前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能入力データ経路構成に基づいて前記複数の入力データ経路の中の前記少なくともつの入力データ経路から前記複数のベクトルデータ入力サンプルセットからの前記少なくともつのベクトルデータ入力サンプルセットを受信することと、
    前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能入力データ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるように前記少なくとも1つのベクトルデータ入力サンプルセットを処理することと、を備える、請求項18に記載の方法。
  20. 前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを受信することを備える、請求項18に記載の方法。
  21. 前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるように前記少なくともつのベクトルデータ入力サンプルセットを処理することを備える、請求項18に記載の方法。
  22. 最小の1つのベクトル結果出力サンプルセットをベクトルレジスタに記憶しないことをさらに備える、請求項18に記載の方法。
  23. 前記少なくともつのベクトルデータ入力サンプルセットを処理することは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて異なるビット幅の前記複数のベクトルデータ入力サンプルセットを処理することを備える、請求項18に記載の方法。
  24. 前記少なくともつのベクトルデータ入力サンプルセットを処理することは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて符号付きの少なくとも1つのベクトルデータ入力サンプルセットまたは符号なしの少なくとも1つのベクトルデータ入力サンプルセットを処理することを備える、請求項18に記載の方法。
  25. 前記ベクトル処理ブロックの各々において前記少なくとも2つのベクトルデータ入力サンプルセットを処理することは、
    前記少なくとも2つのデータ入力サンプルセットに対して実施された前記第1の乗算演算によって与えられた乗算サンプルセットを、以前に与えられた乗算サンプルセットに加算することをさらに備える、請求項18に記載の方法。
  26. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、2つの8ビット×8ビット乗算器または1つの16×16ビット乗算器を形成するように前記複数の乗算器を構成するようにプログラムされる、請求項1に記載のVPE。
  27. 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、1つの16ビット×16ビット乗算器または1つの24ビット×8ビット乗算器を形成するように前記複数の乗算器を構成するようにプログラムされる、請求項1に記載のVPE。
  28. 前記複数のベクトル処理ブロックの各々は、前記複数の入力データ経路の中の前記入力データ経路のうちの少なくとも4つから、前記複数のベクトルデータ入力サンプルセットからの少なくとも4つのベクトルデータ入力サンプルセットを受信し、前記複数のベクトル処理ブロックの各々の前記複数の乗算器は、第1および第2の乗算器を備え、前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、
    前記第1の乗算器の第1の入力に前記少なくとも4つのベクトル入力サンプルセットのうちの第1のベクトル入力サンプルセットを入力し、
    前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記第1の乗算器の第2の入力に、前記少なくとも4つのベクトルデータ入力サンプルセットのうちの第2のベクトルデータ入力サンプルセット、または前記少なくとも4つのベクトルデータ入力サンプルセットのうちの第3のベクトルデータ入力サンプルセットを入力し、
    前記第2の乗算器の第1の入力に前記少なくとも4つのベクトル入力サンプルセットのうちの第4のベクトル入力サンプルセットを入力し、
    前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記第2の乗算器の第2の入力に、前記少なくとも4つのベクトルデータ入力サンプルセットのうちの前記第2のベクトルデータ入力サンプルセット、または前記少なくとも4つのベクトルデータ入力サンプルセットのうちの前記第3のベクトルデータ入力サンプルセットを入力する、
    ように構成される、請求項1に記載のVPE。
JP2016500908A 2013-03-13 2014-03-07 マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 Expired - Fee Related JP6243000B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/798,641 US9495154B2 (en) 2013-03-13 2013-03-13 Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods
US13/798,641 2013-03-13
PCT/US2014/022162 WO2014164367A1 (en) 2013-03-13 2014-03-07 Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods

Publications (3)

Publication Number Publication Date
JP2016517570A JP2016517570A (ja) 2016-06-16
JP2016517570A5 true JP2016517570A5 (ja) 2017-03-09
JP6243000B2 JP6243000B2 (ja) 2017-12-06

Family

ID=50442637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016500908A Expired - Fee Related JP6243000B2 (ja) 2013-03-13 2014-03-07 マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法

Country Status (7)

Country Link
US (1) US9495154B2 (ja)
EP (1) EP2972968B1 (ja)
JP (1) JP6243000B2 (ja)
KR (1) KR101735742B1 (ja)
CN (1) CN105027109B (ja)
BR (1) BR112015022852A2 (ja)
WO (1) WO2014164367A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275014B2 (en) 2013-03-13 2016-03-01 Qualcomm Incorporated Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods
JP6102528B2 (ja) * 2013-06-03 2017-03-29 富士通株式会社 信号処理装置及び信号処理方法
US9606801B2 (en) 2013-09-06 2017-03-28 Huawei Technologies Co., Ltd. Method and apparatus for asynchronous processor based on clock delay adjustment
US9977676B2 (en) 2013-11-15 2018-05-22 Qualcomm Incorporated Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods
US9792118B2 (en) * 2013-11-15 2017-10-17 Qualcomm Incorporated Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US9880845B2 (en) 2013-11-15 2018-01-30 Qualcomm Incorporated Vector processing engines (VPEs) employing format conversion circuitry in data flow paths between vector data memory and execution units to provide in-flight format-converting of input vector data to execution units for vector processing operations, and related vector processor systems and methods
US9619227B2 (en) 2013-11-15 2017-04-11 Qualcomm Incorporated Vector processing engines (VPEs) employing tapped-delay line(s) for providing precision correlation / covariance vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US9684509B2 (en) 2013-11-15 2017-06-20 Qualcomm Incorporated Vector processing engines (VPEs) employing merging circuitry in data flow paths between execution units and vector data memory to provide in-flight merging of output vector data stored to vector data memory, and related vector processing instructions, systems, and methods
US11544214B2 (en) * 2015-02-02 2023-01-03 Optimum Semiconductor Technologies, Inc. Monolithic vector processor configured to operate on variable length vectors using a vector length register
US10162632B1 (en) * 2016-05-27 2018-12-25 Cadence Design Systems, Inc. System and method for a low-power processing architecture
PL3812900T3 (pl) * 2016-12-31 2024-04-08 Intel Corporation Systemy, sposoby i aparaty do obliczania heterogenicznego
US20180217838A1 (en) * 2017-02-01 2018-08-02 Futurewei Technologies, Inc. Ultra lean vector processor
US11277455B2 (en) 2018-06-07 2022-03-15 Mellanox Technologies, Ltd. Streaming system
US20200106828A1 (en) * 2018-10-02 2020-04-02 Mellanox Technologies, Ltd. Parallel Computation Network Device
US10831507B2 (en) 2018-11-21 2020-11-10 SambaNova Systems, Inc. Configuration load of a reconfigurable data processor
US11188497B2 (en) 2018-11-21 2021-11-30 SambaNova Systems, Inc. Configuration unload of a reconfigurable data processor
US11625393B2 (en) 2019-02-19 2023-04-11 Mellanox Technologies, Ltd. High performance computing system
EP3699770A1 (en) 2019-02-25 2020-08-26 Mellanox Technologies TLV Ltd. Collective communication system and methods
US11455368B2 (en) 2019-10-02 2022-09-27 Flex Logix Technologies, Inc. MAC processing pipeline having conversion circuitry, and methods of operating same
US12015428B2 (en) 2019-11-05 2024-06-18 Flex Logix Technologies, Inc. MAC processing pipeline using filter weights having enhanced dynamic range, and methods of operating same
US11750699B2 (en) 2020-01-15 2023-09-05 Mellanox Technologies, Ltd. Small message aggregation
US11252027B2 (en) 2020-01-23 2022-02-15 Mellanox Technologies, Ltd. Network element supporting flexible data reduction operations
US11876885B2 (en) 2020-07-02 2024-01-16 Mellanox Technologies, Ltd. Clock queue with arming and/or self-arming features
GB2597708B (en) * 2020-07-30 2022-11-02 Advanced Risc Mach Ltd Vector processing
WO2022039914A1 (en) * 2020-08-20 2022-02-24 Flex Logix Technologies, Inc. Configurable mac pipelines for finite-impulse-response filtering, and methods of operating same
US11556378B2 (en) 2020-12-14 2023-01-17 Mellanox Technologies, Ltd. Offloading execution of a multi-task parameter-dependent operation to a network device
US11556494B1 (en) 2021-07-16 2023-01-17 SambaNova Systems, Inc. Defect repair for a reconfigurable data processor for homogeneous subarrays
US11409540B1 (en) 2021-07-16 2022-08-09 SambaNova Systems, Inc. Routing circuits for defect repair for a reconfigurable data processor
US11327771B1 (en) * 2021-07-16 2022-05-10 SambaNova Systems, Inc. Defect repair circuits for a reconfigurable data processor
US11922237B1 (en) 2022-09-12 2024-03-05 Mellanox Technologies, Ltd. Single-step collective operations

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499375A (en) * 1993-06-03 1996-03-12 Texas Instruments Incorporated Feedback register configuration for a synchronous vector processor employing delayed and non-delayed algorithms
DE69519449T2 (de) 1994-05-05 2001-06-21 Conexant Systems Inc Raumzeigersdatenpfad
US5805875A (en) 1996-09-13 1998-09-08 International Computer Science Institute Vector processing system with multi-operation, run-time configurable pipelines
US6006245A (en) 1996-12-20 1999-12-21 Compaq Computer Corporation Enhanced fast fourier transform technique on vector processor with operand routing and slot-selectable operation
WO1999045462A1 (de) 1998-03-03 1999-09-10 Siemens Aktiengesellschaft Datenpfad für signalverarbeitungsprozessoren
US6330660B1 (en) * 1999-10-25 2001-12-11 Vxtel, Inc. Method and apparatus for saturated multiplication and accumulation in an application specific signal processor
JP3940542B2 (ja) 2000-03-13 2007-07-04 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
JP2003016051A (ja) 2001-06-29 2003-01-17 Nec Corp 複素ベクトル演算プロセッサ
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US6922771B2 (en) * 2002-04-24 2005-07-26 Portalplayer, Inc. Vector floating point unit
US7159099B2 (en) * 2002-06-28 2007-01-02 Motorola, Inc. Streaming vector processor with reconfigurable interconnection switch
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US20040193837A1 (en) 2003-03-31 2004-09-30 Patrick Devaney CPU datapaths and local memory that executes either vector or superscalar instructions
US7272751B2 (en) 2004-01-15 2007-09-18 International Business Machines Corporation Error detection during processor idle cycles
KR100985110B1 (ko) 2004-01-28 2010-10-05 삼성전자주식회사 단순한 구조의 4:2 csa 셀 및 4:2 캐리 저장 가산 방법
JP4477959B2 (ja) * 2004-07-26 2010-06-09 独立行政法人理化学研究所 ブロードキャスト型並列処理のための演算処理装置
US7299342B2 (en) 2005-05-24 2007-11-20 Coresonic Ab Complex vector executing clustered SIMD micro-architecture DSP with accelerator coupled complex ALU paths each further including short multiplier/accumulator using two's complement
US20070106718A1 (en) 2005-11-04 2007-05-10 Shum Hoi L Fast fourier transform on a single-instruction-stream, multiple-data-stream processor
US8024394B2 (en) * 2006-02-06 2011-09-20 Via Technologies, Inc. Dual mode floating point multiply accumulate unit
US7519646B2 (en) 2006-10-26 2009-04-14 Intel Corporation Reconfigurable SIMD vector processing system
US8051123B1 (en) 2006-12-15 2011-11-01 Nvidia Corporation Multipurpose functional unit with double-precision and filtering operations
DE102007014808A1 (de) 2007-03-28 2008-10-02 Texas Instruments Deutschland Gmbh Multiplizier- und Multiplizier- und Addiereinheit
JP5116499B2 (ja) * 2008-01-31 2013-01-09 三洋電機株式会社 演算処理回路
US8320478B2 (en) 2008-12-19 2012-11-27 Entropic Communications, Inc. System and method for generating a signal with a random low peak to average power ratio waveform for an orthogonal frequency division multiplexing system
US20110072236A1 (en) 2009-09-20 2011-03-24 Mimar Tibet Method for efficient and parallel color space conversion in a programmable processor
CN102768654A (zh) 2011-05-05 2012-11-07 中兴通讯股份有限公司 具有fft基2蝶运算处理能力的装置及其实现运算的方法
DE102011108576A1 (de) 2011-07-27 2013-01-31 Texas Instruments Deutschland Gmbh Selbstgetaktete Multipliziereinheit
US20130339649A1 (en) * 2012-06-15 2013-12-19 Intel Corporation Single instruction multiple data (simd) reconfigurable vector register file and permutation unit
US20140280407A1 (en) 2013-03-13 2014-09-18 Qualcomm Incorporated Vector processing carry-save accumulators employing redundant carry-save format to reduce carry propagation, and related vector processors, systems, and methods
US9275014B2 (en) 2013-03-13 2016-03-01 Qualcomm Incorporated Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods
US9977676B2 (en) 2013-11-15 2018-05-22 Qualcomm Incorporated Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods
US9880845B2 (en) 2013-11-15 2018-01-30 Qualcomm Incorporated Vector processing engines (VPEs) employing format conversion circuitry in data flow paths between vector data memory and execution units to provide in-flight format-converting of input vector data to execution units for vector processing operations, and related vector processor systems and methods
US9792118B2 (en) 2013-11-15 2017-10-17 Qualcomm Incorporated Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US9619227B2 (en) 2013-11-15 2017-04-11 Qualcomm Incorporated Vector processing engines (VPEs) employing tapped-delay line(s) for providing precision correlation / covariance vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US20150143076A1 (en) 2013-11-15 2015-05-21 Qualcomm Incorporated VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS
US9684509B2 (en) 2013-11-15 2017-06-20 Qualcomm Incorporated Vector processing engines (VPEs) employing merging circuitry in data flow paths between execution units and vector data memory to provide in-flight merging of output vector data stored to vector data memory, and related vector processing instructions, systems, and methods

Similar Documents

Publication Publication Date Title
JP2016517570A5 (ja)
JP6526415B2 (ja) ベクトル・プロセッサおよび方法
JP2016537726A5 (ja)
JP2016514330A5 (ja)
CN107392842B (zh) 图像风格化处理方法、装置、计算设备及计算机存储介质
JP2016537725A5 (ja)
JP2016537723A5 (ja)
PH12019501499A1 (en) Blockchain consensus method and device
JP2016537724A5 (ja)
JP2016537722A5 (ja)
CN107516290B (zh) 图像转换网络获取方法、装置、计算设备及存储介质
JP2017528820A5 (ja)
WO2015127796A1 (zh) 一种处理串行任务的数据处理装置及方法
JP2014160453A5 (ja)
WO2019089239A3 (en) Matrix computation engine
Yang Group scheduling problems with simultaneous considerations of learning and deterioration effects on a single-machine
JP2009516238A5 (ja)
JP2017538996A5 (ja)
JP2016530631A5 (ja)
JP2010186467A (ja) コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム)
JP2016511470A5 (ja)
JP2014059870A5 (ja)
CN107392316B (zh) 网络训练方法、装置、计算设备及计算机存储介质
JP2019509555A5 (ja)
TW201614481A (en) Flexible instruction execution in a processor pipeline