JP2016517570A5 - - Google Patents
Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
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に記載の方法。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[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)
- ベクトルデータのマルチモードベクトル処理を行うように構成されたベクトル処理エンジン(VPE)であって、
複数の入力データ経路中で、複数のベクトルデータ入力サンプルセットを与えるように構成された入力読取り段階と、
複数のベクトル処理ブロックを備える少なくとも1つのベクトル処理段階と、前記複数のベクトル処理ブロックの中の各ベクトル処理ブロックは、
前記複数の入力データ経路の中の少なくとも2つの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくとも2つのベクトルデータ入力サンプルセットを受信し、
前記少なくとも1つのベクトル処理段階によって実行されるベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくとも2つのベクトルデータ入力サンプルセットを処理し、ここにおいて、前記ベクトル処理ブロックは複数の乗算器を備え、前記ベクトル処理ブロックによる前記処理は、第1の構成における前記複数の乗算器を使用して前記少なくとも2つのベクトルデータ入力サンプルセットに対して第1の乗算演算を実施することを備え、前記プログラム可能データ経路構成は、第2の乗算演算を実施するために前記複数の乗算器を第2の構成に再構成するように再構成されるように構成され、前記第1の乗算演算と前記第2の乗算演算は、異なるビット長の乗算演算である、
複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、
前記複数のベクトル処理ブロックの各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信するように構成された出力処理段階と、を備えるVPE。 - 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される各ベクトル命令用に再構成されるように構成される、請求項1に記載のVPE。
- 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令の各クロック周期において再構成されるように構成される、請求項1に記載のVPE。
- 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、プログラム可能入力データ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能入力データ経路構成に基づいて前記複数の入力データ経路の中の前記少なくとも2つの入力データ経路から前記少なくとも2つのベクトルデータ入力サンプルセットを受信するように構成される、請求項1に記載のVPE。 - 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、さらに、前記少なくとも1つのベクトル処理ブロック用のプログラム可能出力データ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、請求項4に記載のVPE。 - 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、さらに、前記少なくとも1つのベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるために、前記少なくとも2つのベクトルデータ入力サンプルセットを処理するように構成される、請求項5に記載のVPE。 - 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理ブロック用のプログラム可能出力データ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、請求項1に記載のVPE。 - 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成からなり、
前記複数のベクトル処理ブロックの各々は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるために、前記少なくとも2つのベクトルデータ入力サンプルセットを処理するように構成される、請求項1に記載のVPE。 - 前記少なくとも1つのベクトル処理ブロックは、少なくとも1つの乗算器ブロックおよび少なくとも1つの累算器ブロックのうちの少なくとも1つからなる、請求項1に記載のVPE。
- 前記少なくとも1つのベクトル処理段階は複数のベクトル処理段階からなる、請求項1に記載のVPE。
- 前記少なくとも1つのベクトル処理段階は、複数の乗算器ブロックからなる少なくとも1つの乗算ベクトル処理段階および複数の累算器ブロックからなる少なくとも1つの累算ベクトル処理段階からなり、
前記複数の乗算器ブロックの中の各乗算器ブロックは、
前記複数のベクトルデータ入力サンプルセットからの第1のベクトルデータ入力サンプルセットと第2のベクトルデータ入力サンプルセットとを、前記複数の入力データ経路の中の第1の入力データ経路および第2の入力データ経路から受信し、
前記少なくとも1つの第1のベクトル処理段階によって実行されるベクトル命令に従って、前記乗算器ブロック用のプログラム可能乗算データ経路構成に基づいて複数の乗算出力データ経路の中のある乗算出力データ経路中でベクトル乗算出力サンプルセットを与えるために、前記第1のベクトルデータ入力サンプルセットを前記第2のベクトルデータ入力サンプルセットに乗算するように構成され、
前記複数の累算器ブロックの中の各累算器ブロックは、
複数の乗算出力データ経路の中の第1の乗算出力データ経路および第2の乗算出力データ経路から、それぞれ、第1の乗算出力サンプルセットと第2の乗算出力サンプルセットとを受信し、
前記少なくとも1つの第2のベクトル処理段階によって実行されるベクトル命令に従って、前記累算器ブロック用のプログラム可能データ経路構成に基づいてベクトル累算結果サンプルセットを与えるために、前記第1の乗算出力サンプルセットを前記第2の乗算出力サンプルセットと累算し、
前記複数の複数の出力データ経路の中の前記出力データ経路中で前記ベクトル累算結果サンプルセットを与えるように構成される、請求項1に記載のVPE。 - 前記少なくとも1つのベクトル処理ブロックは、最小の1つのベクトル結果出力サンプルセットをベクトルレジスタに記憶するように構成されない、請求項1に記載のVPE。
- 各ベクトル処理ブロックは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて異なるビット幅の前記複数のベクトルデータ入力サンプルセットを処理するようにさらに構成される、請求項1に記載のVPE。
- 各ベクトル処理ブロックは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて符号付きの少なくとも1つのベクトルデータ入力サンプルセットまたは符号なしの少なくとも1つのベクトルデータ入力サンプルセットを処理するようにさらに構成される、請求項1に記載のVPE。
- 前記少なくとも1つのベクトル処理段階は、符号付きの演算命令からなる前記ベクトル命令を実行するように構成される、請求項1に記載のVPE。
- 前記少なくとも1つのベクトル処理段階は、符号なし演算命令からなる前記ベクトル命令を実行するように構成される、請求項1に記載のVPE。
- ベクトルデータのマルチモードベクトル処理を行うように構成されたベクトル処理エンジン(VPE)であって、
複数の入力データ経路中で、複数のベクトルデータ入力サンプルセットを与えるように構成された入力読取り段階手段と、
複数のベクトル処理手段を備える少なくとも1つのベクトル処理段階手段と、前記複数のベクトル処理手段の中の各ベクトル処理手段は、
前記複数の入力データ経路の中の少なくとも2つの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくとも2つのベクトルデータ入力サンプルセットを受信し、
前記少なくとも1つのベクトル処理段階手段によって実行されるベクトル命令に従って、前記ベクトル処理手段用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくとも2つのベクトルデータ入力サンプルセットを処理し、ここにおいて、前記ベクトル処理手段は複数の乗算器を備え、前記ベクトル処理手段による前記処理は、第1の構成における前記複数の乗算器を使用して前記少なくとも2つのベクトルデータ入力サンプルセットに対して第1の乗算演算を実施することを備え、前記プログラム可能データ経路構成は、第2の乗算演算を実施するために前記複数の乗算器を第2の構成に再構成するように再構成されるように構成され、前記第1の乗算演算と前記第2の乗算演算は、異なるビット長の乗算演算である、
複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えるように構成される、
前記複数のベクトル処理手段の各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信するように構成された出力処理手段と、を備えるVPE。 - ベクトル処理エンジン(VPE)中でベクトルデータを処理する方法であって、
入力処理段階中の複数の入力データ経路中で、複数のベクトルデータ入力サンプルセットを与えることと、
少なくとも1つのベクトル処理段階中の複数のベクトル処理ブロックにおいて、前記複数のベクトルデータ入力サンプルセットを処理することと、前記複数のベクトル処理ブロックの各々において、
前記複数の入力データ経路の中の少なくとも2つの入力データ経路から、前記複数のベクトルデータ入力サンプルセットからの少なくとも2つのベクトルデータ入力サンプルセットを受信することと、
前記少なくとも1つのベクトル処理段階によって実行されるベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能データ経路構成に基づいて少なくとも1つのベクトル結果出力サンプルセットを与えるように、前記少なくとも2つのベクトルデータ入力サンプルセットを処理することと、ここにおいて、前記ベクトル処理ブロックは複数の乗算器を備え、前記少なくとも2つのベクトルデータ入力サンプルセットを処理することは、第1の構成における前記複数の乗算器を使用して前記少なくとも2つのベクトルデータ入力サンプルセットに対して第1の乗算演算を実施することを備える、
複数の出力データ経路の中の少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを与えることと、を備える、
出力処理段階中の前記複数のベクトル処理ブロックの各々から前記少なくとも1つのベクトル結果出力サンプルセットを受信することと、
第2の乗算演算を実施するために前記ベクトル処理ブロックの前記複数の乗算器を第2の構成に再構成するように前記複数の処理ブロックの各々用の前記プログラム可能データ経路構成を再構成することと、ここにおいて、前記第1の乗算演算と前記第2の乗算演算は、異なるビット長の乗算演算である、
を備える方法。 - 前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記プログラム可能入力データ経路構成に基づいて前記複数の入力データ経路の中の前記少なくとも2つの入力データ経路から前記複数のベクトルデータ入力サンプルセットからの前記少なくとも2つのベクトルデータ入力サンプルセットを受信することと、
前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能入力データ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるように前記少なくとも1つのベクトルデータ入力サンプルセットを処理することと、を備える、請求項18に記載の方法。 - 前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、プログラム可能出力データ経路構成に基づいて前記複数の出力データ経路の中の前記少なくとも1つの出力データ経路中で前記少なくとも1つのベクトル結果出力サンプルセットを受信することを備える、請求項18に記載の方法。
- 前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用のプログラム可能ベクトル処理ブロックデータ経路構成に基づいて前記少なくとも1つのベクトル結果出力サンプルセットを与えるように前記少なくとも2つのベクトルデータ入力サンプルセットを処理することを備える、請求項18に記載の方法。
- 最小の1つのベクトル結果出力サンプルセットをベクトルレジスタに記憶しないことをさらに備える、請求項18に記載の方法。
- 前記少なくとも2つのベクトルデータ入力サンプルセットを処理することは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて異なるビット幅の前記複数のベクトルデータ入力サンプルセットを処理することを備える、請求項18に記載の方法。
- 前記少なくとも2つのベクトルデータ入力サンプルセットを処理することは、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、前記ベクトル処理ブロック用の前記プログラム可能データ経路構成に基づいて符号付きの少なくとも1つのベクトルデータ入力サンプルセットまたは符号なしの少なくとも1つのベクトルデータ入力サンプルセットを処理することを備える、請求項18に記載の方法。
- 前記ベクトル処理ブロックの各々において前記少なくとも2つのベクトルデータ入力サンプルセットを処理することは、
前記少なくとも2つのデータ入力サンプルセットに対して実施された前記第1の乗算演算によって与えられた乗算サンプルセットを、以前に与えられた乗算サンプルセットに加算することをさらに備える、請求項18に記載の方法。 - 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、2つの8ビット×8ビット乗算器または1つの16×16ビット乗算器を形成するように前記複数の乗算器を構成するようにプログラムされる、請求項1に記載のVPE。
- 前記複数のベクトル処理ブロックの各々用の前記プログラム可能データ経路構成は、前記少なくとも1つのベクトル処理段階によって実行される前記ベクトル命令に従って、1つの16ビット×16ビット乗算器または1つの24ビット×8ビット乗算器を形成するように前記複数の乗算器を構成するようにプログラムされる、請求項1に記載のVPE。
- 前記複数のベクトル処理ブロックの各々は、前記複数の入力データ経路の中の前記入力データ経路のうちの少なくとも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。
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)
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)
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 |
-
2013
- 2013-03-13 US US13/798,641 patent/US9495154B2/en active Active
-
2014
- 2014-03-07 JP JP2016500908A patent/JP6243000B2/ja not_active Expired - Fee Related
- 2014-03-07 WO PCT/US2014/022162 patent/WO2014164367A1/en active Application Filing
- 2014-03-07 CN CN201480012332.XA patent/CN105027109B/zh active Active
- 2014-03-07 KR KR1020157028085A patent/KR101735742B1/ko active IP Right Grant
- 2014-03-07 EP EP14716092.3A patent/EP2972968B1/en active Active
- 2014-03-07 BR BR112015022852A patent/BR112015022852A2/pt not_active IP Right Cessation
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 |