JP2016537726A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2016537726A5 JP2016537726A5 JP2016531030A JP2016531030A JP2016537726A5 JP 2016537726 A5 JP2016537726 A5 JP 2016537726A5 JP 2016531030 A JP2016531030 A JP 2016531030A JP 2016531030 A JP2016531030 A JP 2016531030A JP 2016537726 A5 JP2016537726 A5 JP 2016537726A5
- Authority
- JP
- Japan
- Prior art keywords
- vector data
- sample set
- data sample
- output vector
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Description
[00294]本開示の前の説明は、当業者が本開示を製作または使用することを可能にするために提供される。本開示に対する様々な修正は当業者には容易に明らかになり、本明細書で定義された一般原理は、本開示の趣旨または範囲から逸脱することなく、他の変形形態に適用される場合がある。したがって、本開示は、本明細書に記載された例および設計に限定されるものではなく、本明細書で開示された原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするように構成された、ベクトル処理エンジン(VPE)であって、
ベクトル処理動作のための少なくとも1つの入力データフローパス内にフェッチされた入力ベクトルデータサンプルセットを供給することと、
記憶されるべき少なくとも1つの出力データフローパスからの少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うように構成された、少なくとも1つのベクトルデータファイルと、
前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの出力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと
を行うように構成された、前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニットと、
前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセットをマージすることと、
前記少なくとも1つの出力データフローパス上に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うように構成された、少なくとも1つのマージング回路と
を備える、VPE。
[C2]
前記少なくとも1つのベクトルデータファイルは、
前記ベクトル処理動作のための前記少なくとも1つの入力データフローパス内に前記少なくとも1つのベクトルデータファイルの幅の前記入力ベクトルデータサンプルセットを供給することと、
記憶されるべき前記少なくとも1つの出力データフローパスからの前記少なくとも1つのベクトルデータファイルの前記幅の前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うように構成される、C1に記載のVPE。
[C3]
前記少なくとも1つのベクトルデータファイルは、
前記少なくとも1つの入力データフローパス内の少なくとも1つのベクトルデータファイル出力上に前記入力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つの出力データフローパス内の少なくとも1つのベクトルデータファイル入力上で前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うようにさらに構成され、
前記少なくとも1つの実行ユニットは、
前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット入力上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット出力上に前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットをコードシーケンスベクトルデータサンプルセットと乗算することと
を行うように構成され、
前記少なくとも1つのマージング回路は、
前記少なくとも1つの実行ユニットから、前記少なくとも1つの入力データフローパス内の少なくとも1つのマージング回路入力上で前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの出力データフローパス内の少なくとも1つのマージング回路出力上に前記マージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うようにさらに構成される、C1に記載のVPE。
[C4]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセット内の少なくとも2つの、結果として生じる出力ベクトルデータサンプルをマージするように構成された少なくとも1つの加算器から構成される、
C1に記載のVPE。
[C5]
前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器から構成され、前記複数の加算器の各々が、各々が異なるビット幅を有する複数の加算マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
C4に記載のVPE。
[C6]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、より大きいベクトルデータ値を有する、前記結果として生じる出力ベクトルデータサンプルセット内の2つの結果として生じる出力ベクトルデータサンプル間の結果として生じる出力ベクトルデータサンプルを最大マージするように構成された、少なくとも1つの最大ベクトルデータサンプル選択器から構成される、
C1に記載のVPE。
[C7]
前記少なくとも1つの最大ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最大マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最大値データサンプル選択器から構成される、
C6に記載のVPE。
[C8]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、より小さいベクトルデータ値を有する前記結果として生じる出力ベクトルデータサンプルセット内の2つの、結果として生じる出力ベクトルデータサンプル間の、結果として生じる出力ベクトルデータサンプルを最小マージするように構成された、少なくとも1つの最小ベクトルデータサンプル選択器から構成される、
C1に記載のVPE。
[C9]
前記少なくとも1つの最小ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最小マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最小値データサンプル選択器から構成される、
C8に記載のVPE。
[C10]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択するように構成されたマージ選択器をさらに備える、
C4に記載のVPE。
[C11]
前記コードシーケンスベクトルデータサンプルセットが、少なくとも1つのCDMAチップコードシーケンスから構成される、
C1に記載のVPE。
[C12]
前記少なくとも1つのマージング回路は、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージするために、プログラム可能なマージデータパス構成入力に基づいて再構成されるように構成可能である、
C1に記載のVPE。
[C13]
前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき前記VPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
C12に記載のVPE。
[C14]
前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令上で、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
C12に記載のVPE。
[C15]
前記少なくとも1つのマージング回路は、複数のラッチをさらに備え、前記少なくとも1つのマージング回路は、前記複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するようにさらに構成される、
C1に記載のVPE。
[C16]
前記少なくとも1つのマージング回路は、前記複数のラッチの中の選択されたラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するようにさらに構成される、
C15に記載のVPE。
[C17]
前記少なくとも1つのマージング回路は、前記複数のラッチに対応する複数の選択器をさらに備え、前記少なくとも1つのマージング回路は、前記複数のラッチの中の前記選択されたラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するために、前記複数の選択器の中の選択器を制御するように構成される、
C16に記載のVPE。
[C18]
前記少なくとも1つのマージング回路は、前記少なくとも1つのベクトルデータファイルに記憶されるために、前記少なくとも1つの出力データフローパス内に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給する前に、前記複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するようにさらに構成される、
C17に記載のVPE。
[C19]
前記少なくとも1つの実行ユニットは、前記少なくとも1つの実行ユニットのためのプログラム可能な入力データフローパス構成に基づいて、前記入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルの様々なビット幅を処理するように構成可能である、
C1に記載のVPE。
[C20]
ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするように構成された、ベクトル処理エンジン(VPE)であって、
ベクトル処理動作のための少なくとも1つの入力データフローパス手段内にフェッチされた入力ベクトルデータサンプルセットを供給するための手段と、
記憶されるべき少なくとも1つの出力データフローパス手段からの少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信するための手段と
を備える、少なくとも1つのベクトルデータファイル手段と、
前記少なくとも1つの入力データフローパス手段上で前記入力ベクトルデータサンプルセットを受信するための手段と、
前記少なくとも1つの入力データフローパス手段上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行するための実行手段と
を備える、前記少なくとも1つの入力データフローパス手段内に設けられた少なくとも1つの実行ユニット手段と、
前記結果として生じる出力ベクトルデータサンプルセットを受信するための手段と、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイル手段に記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセットを前記コードシーケンスベクトルデータサンプルセットとマージするためのマージング手段と、
前記少なくとも1つの出力データフローパス手段上に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するための手段と
を備える、少なくとも1つのマージング回路手段と
を備える、ベクトル処理エンジン(VPE)。
[C21]
ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージする方法であって、
少なくとも1つのベクトルデータファイルからベクトル処理動作のための少なくとも1つの入力データフローパス内にフェッチされた入力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニット内の前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの入力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセットをマージすることと、
前記少なくとも1つのベクトルデータファイルに前記少なくとも1つの出力データフローパスからの前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することと
を備える、方法。
[C22]
前記結果として生じる出力ベクトルデータサンプルセットを前記マージすることは、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、少なくとも1つの加算器内で、前記結果として生じる出力ベクトルデータサンプルセット内のマージサンプルを加算することからさらに構成される、
C21に記載の方法。
[C23]
前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器から構成され、前記複数の加算器の各々は、各々が異なるビット幅を有する複数のマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
C22に記載の方法。
[C24]
前記少なくとも1つの出力データフローパス内に、前記少なくとも1つの結果として生じる出力ベクトルデータサンプルセットとして供給するために、前記複数の結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択することをさらに備える、
C23に記載の方法。
[C25]
プログラム可能なマージデータパス構成入力を受信することと、
前記プログラム可能なマージデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることと
をさらに備える、C21に記載の方法。
[C26]
前記少なくとも1つの実行ユニットによって実行されるべきVPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることをさらに備える、
C25に記載の方法。
[C27]
前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令のために、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることをさらに備える、
C25に記載の方法。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするように構成された、ベクトル処理エンジン(VPE)であって、
ベクトル処理動作のための少なくとも1つの入力データフローパス内にフェッチされた入力ベクトルデータサンプルセットを供給することと、
記憶されるべき少なくとも1つの出力データフローパスからの少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うように構成された、少なくとも1つのベクトルデータファイルと、
前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの出力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと
を行うように構成された、前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニットと、
前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセットをマージすることと、
前記少なくとも1つの出力データフローパス上に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うように構成された、少なくとも1つのマージング回路と
を備える、VPE。
[C2]
前記少なくとも1つのベクトルデータファイルは、
前記ベクトル処理動作のための前記少なくとも1つの入力データフローパス内に前記少なくとも1つのベクトルデータファイルの幅の前記入力ベクトルデータサンプルセットを供給することと、
記憶されるべき前記少なくとも1つの出力データフローパスからの前記少なくとも1つのベクトルデータファイルの前記幅の前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うように構成される、C1に記載のVPE。
[C3]
前記少なくとも1つのベクトルデータファイルは、
前記少なくとも1つの入力データフローパス内の少なくとも1つのベクトルデータファイル出力上に前記入力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つの出力データフローパス内の少なくとも1つのベクトルデータファイル入力上で前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うようにさらに構成され、
前記少なくとも1つの実行ユニットは、
前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット入力上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット出力上に前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットをコードシーケンスベクトルデータサンプルセットと乗算することと
を行うように構成され、
前記少なくとも1つのマージング回路は、
前記少なくとも1つの実行ユニットから、前記少なくとも1つの入力データフローパス内の少なくとも1つのマージング回路入力上で前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの出力データフローパス内の少なくとも1つのマージング回路出力上に前記マージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うようにさらに構成される、C1に記載のVPE。
[C4]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセット内の少なくとも2つの、結果として生じる出力ベクトルデータサンプルをマージするように構成された少なくとも1つの加算器から構成される、
C1に記載のVPE。
[C5]
前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器から構成され、前記複数の加算器の各々が、各々が異なるビット幅を有する複数の加算マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
C4に記載のVPE。
[C6]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、より大きいベクトルデータ値を有する、前記結果として生じる出力ベクトルデータサンプルセット内の2つの結果として生じる出力ベクトルデータサンプル間の結果として生じる出力ベクトルデータサンプルを最大マージするように構成された、少なくとも1つの最大ベクトルデータサンプル選択器から構成される、
C1に記載のVPE。
[C7]
前記少なくとも1つの最大ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最大マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最大値データサンプル選択器から構成される、
C6に記載のVPE。
[C8]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、より小さいベクトルデータ値を有する前記結果として生じる出力ベクトルデータサンプルセット内の2つの、結果として生じる出力ベクトルデータサンプル間の、結果として生じる出力ベクトルデータサンプルを最小マージするように構成された、少なくとも1つの最小ベクトルデータサンプル選択器から構成される、
C1に記載のVPE。
[C9]
前記少なくとも1つの最小ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最小マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最小値データサンプル選択器から構成される、
C8に記載のVPE。
[C10]
前記マージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択するように構成されたマージ選択器をさらに備える、
C4に記載のVPE。
[C11]
前記コードシーケンスベクトルデータサンプルセットが、少なくとも1つのCDMAチップコードシーケンスから構成される、
C1に記載のVPE。
[C12]
前記少なくとも1つのマージング回路は、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージするために、プログラム可能なマージデータパス構成入力に基づいて再構成されるように構成可能である、
C1に記載のVPE。
[C13]
前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき前記VPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
C12に記載のVPE。
[C14]
前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令上で、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
C12に記載のVPE。
[C15]
前記少なくとも1つのマージング回路は、複数のラッチをさらに備え、前記少なくとも1つのマージング回路は、前記複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するようにさらに構成される、
C1に記載のVPE。
[C16]
前記少なくとも1つのマージング回路は、前記複数のラッチの中の選択されたラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するようにさらに構成される、
C15に記載のVPE。
[C17]
前記少なくとも1つのマージング回路は、前記複数のラッチに対応する複数の選択器をさらに備え、前記少なくとも1つのマージング回路は、前記複数のラッチの中の前記選択されたラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するために、前記複数の選択器の中の選択器を制御するように構成される、
C16に記載のVPE。
[C18]
前記少なくとも1つのマージング回路は、前記少なくとも1つのベクトルデータファイルに記憶されるために、前記少なくとも1つの出力データフローパス内に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給する前に、前記複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するようにさらに構成される、
C17に記載のVPE。
[C19]
前記少なくとも1つの実行ユニットは、前記少なくとも1つの実行ユニットのためのプログラム可能な入力データフローパス構成に基づいて、前記入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルの様々なビット幅を処理するように構成可能である、
C1に記載のVPE。
[C20]
ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするように構成された、ベクトル処理エンジン(VPE)であって、
ベクトル処理動作のための少なくとも1つの入力データフローパス手段内にフェッチされた入力ベクトルデータサンプルセットを供給するための手段と、
記憶されるべき少なくとも1つの出力データフローパス手段からの少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信するための手段と
を備える、少なくとも1つのベクトルデータファイル手段と、
前記少なくとも1つの入力データフローパス手段上で前記入力ベクトルデータサンプルセットを受信するための手段と、
前記少なくとも1つの入力データフローパス手段上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行するための実行手段と
を備える、前記少なくとも1つの入力データフローパス手段内に設けられた少なくとも1つの実行ユニット手段と、
前記結果として生じる出力ベクトルデータサンプルセットを受信するための手段と、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイル手段に記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセットを前記コードシーケンスベクトルデータサンプルセットとマージするためのマージング手段と、
前記少なくとも1つの出力データフローパス手段上に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するための手段と
を備える、少なくとも1つのマージング回路手段と
を備える、ベクトル処理エンジン(VPE)。
[C21]
ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージする方法であって、
少なくとも1つのベクトルデータファイルからベクトル処理動作のための少なくとも1つの入力データフローパス内にフェッチされた入力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニット内の前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの入力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセットをマージすることと、
前記少なくとも1つのベクトルデータファイルに前記少なくとも1つの出力データフローパスからの前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することと
を備える、方法。
[C22]
前記結果として生じる出力ベクトルデータサンプルセットを前記マージすることは、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、少なくとも1つの加算器内で、前記結果として生じる出力ベクトルデータサンプルセット内のマージサンプルを加算することからさらに構成される、
C21に記載の方法。
[C23]
前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器から構成され、前記複数の加算器の各々は、各々が異なるビット幅を有する複数のマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
C22に記載の方法。
[C24]
前記少なくとも1つの出力データフローパス内に、前記少なくとも1つの結果として生じる出力ベクトルデータサンプルセットとして供給するために、前記複数の結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択することをさらに備える、
C23に記載の方法。
[C25]
プログラム可能なマージデータパス構成入力を受信することと、
前記プログラム可能なマージデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることと
をさらに備える、C21に記載の方法。
[C26]
前記少なくとも1つの実行ユニットによって実行されるべきVPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることをさらに備える、
C25に記載の方法。
[C27]
前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令のために、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることをさらに備える、
C25に記載の方法。
Claims (24)
- ベクトル処理動作を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするように構成された、ベクトル処理エンジン(VPE)であって、
少なくとも1つのベクトルデータファイル、前記少なくとも1つのベクトルデータファイルは、
ベクトル処理動作のための少なくとも1つの入力データフローパス内に入力ベクトルデータサンプルセットを供給することと、
記憶されるべき少なくとも1つの出力データフローパスからの少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うように構成される、と、
前記少なくとも1つの入力データフローパス内に設けられた前記少なくとも1つの実行ユニット、前記少なくとも1つの実行ユニットは、
前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの出力データフローパス上に、前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと
を行うように構成される、と、
少なくとも1つのマージング回路、前記少なくとも1つのマージング回路は、
前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記受信された、結果として生じる出力ベクトルデータサンプルセット内の結果として生じる出力ベクトルデータサンプルをマージすること、ここにおいて、前記少なくとも1つのマージング回路は、前記結果として生じる出力ベクトルデータサンプルを加算すること、前記結果として生じる出力ベクトルデータサンプルの中の最大ベクトルデータサンプルを決定すること、または前記結果として生じる出力ベクトルデータサンプルの中の最小ベクトルデータサンプルを決定することによって前記結果として生じる出力ベクトルデータサンプルをマージするように構成される、と、
複数のラッチの中の選択された1つまたは複数のラッチに、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することと、
前記少なくとも1つの出力データフローパス上に前記選択された1つまたは複数のラッチに記憶された前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給すること、
ここにおいて、前記少なくとも1つのマージング回路は、前記複数のラッチに対応する複数の並列な選択器をさらに備え、前記少なくとも1つのマージング回路は、前記複数のラッチの中の前記選択された1つまたは複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するために前記複数の選択器を制御するように構成される、と
を行うように構成される、と
を備える、VPE。 - 前記少なくとも1つのベクトルデータファイルは、
前記ベクトル処理動作のための前記少なくとも1つの入力データフローパス内に前記少なくとも1つのベクトルデータファイルの幅の前記入力ベクトルデータサンプルセットを供給することと、
記憶されるべき前記少なくとも1つの出力データフローパスからの前記少なくとも1つのベクトルデータファイルの前記幅の前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うように構成される、請求項1に記載のVPE。 - 前記少なくとも1つのベクトルデータファイルは、
前記少なくとも1つの入力データフローパス内の少なくとも1つのベクトルデータファイル出力上に前記入力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つの出力データフローパス内の少なくとも1つのベクトルデータファイル入力上で前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うようにさらに構成され、
前記少なくとも1つの実行ユニットは、
前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット入力上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット出力上に前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットをコードシーケンスベクトルデータサンプルセットと乗算することと
を行うように構成され、
前記少なくとも1つのマージング回路は、
前記少なくとも1つの実行ユニットから、前記少なくとも1つの入力データフローパス内の少なくとも1つのマージング回路入力上で前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの出力データフローパス内の少なくとも1つのマージング回路出力上に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うようにさらに構成される、請求項1に記載のVPE。 - 前記コードシーケンスベクトルデータサンプルセットが、少なくとも1つのCDMAチップコードシーケンスを備える、
請求項3に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセット内の、前記結果として生じる出力ベクトルデータサンプルのうちの少なくとも2つを加算するように構成された少なくとも1つの加算器を備える、
請求項1に記載のVPE。 - 前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器を備え、前記複数の加算器の各々が、各々が異なるビット幅を有する複数の加算マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
請求項5に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択するように構成されたマージ選択器をさらに備える、
請求項5に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルのうちの2つの中の最大ベクトルデータ値を有する、前記結果として生じる出力ベクトルデータサンプルのうちの前記2つのうちの1つを選択するように構成された、少なくとも1つの最大ベクトルデータサンプル選択器を備える、
請求項1に記載のVPE。 - 前記少なくとも1つの最大ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最大マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最大値データサンプル選択器を備える、
請求項8に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルのうちの前記2つの中の最小ベクトルデータ値を有する、前記結果として生じる出力ベクトルデータサンプルのうちの2つのうちの1つを選択するように構成された、少なくとも1つの最小ベクトルデータサンプル選択器を備える、
請求項1に記載のVPE。 - 前記少なくとも1つの最小ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最小マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最小値データサンプル選択器を備える、
請求項10に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記結果として生じる出力ベクトルデータサンプルを選択的にマージするために、プログラム可能なマージデータパス構成入力に基づいて再構成されるように構成可能である、
請求項1に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき前記VPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
請求項12に記載のVPE。 - 前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令上で、前記結果として生じる出力ベクトルデータサンプルを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
請求項12に記載のVPE。 - 前記少なくとも1つの実行ユニットは、前記少なくとも1つの実行ユニットのためのプログラム可能な入力データフローパス構成に基づいて、前記入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルの異なるビット幅を処理するように構成可能である、
請求項1に記載のVPE。 - 前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルへの記憶より前にマージベクトル処理動作の様々な繰返しの中で、前記複数のラッチにスタックされることを可能にするように、クロスバー回路が構成されるように、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを、前記複数のラッチのうちの前記選択された1つまたは複数のラッチに転送するように構成される前記クロスバー回路
をさらに備える、請求項1に記載のVPE。 - 少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするための装置であって、
少なくとも1つのベクトルデータファイルからベクトル処理動作のための少なくとも1つの入力データフローパス内に入力ベクトルデータサンプルセットを供給するための手段と、
前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニット内の前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信するための手段と、
前記少なくとも1つの入力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行するための手段と、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記受信された、結果として生じる出力ベクトルデータセット内の結果として生じる出力ベクトルデータサンプルをマージするための手段、ここにおいて、前記結果として生じる出力ベクトルデータサンプルをマージすることは、前記結果として生じる出力ベクトルデータサンプルを加算すること、前記結果として生じる出力ベクトルデータサンプルの中の最大ベクトルデータサンプルを決定すること、または前記結果として生じる出力ベクトルデータサンプルの中の最小ベクトルデータサンプルを決定することを備える、と、
複数のラッチの中の選択された1つまたは複数のラッチに、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するための手段と、
前記少なくとも1つの出力データフローパス上に前記選択された1つまたは複数のラッチに記憶された前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するための手段と、
前記少なくとも1つのベクトルデータファイルに前記少なくとも1つの出力データフローパスからの前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するための手段、
ここにおいて、マージするための前記手段は、前記複数のラッチに対応する複数の並列な選択器を備え、マージするための前記手段は、前記複数のラッチの中の前記選択された1つまたは複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するために前記複数の並列な選択器を制御するように構成される、と
を備える、装置。 - ベクトル処理を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージする方法であって、
少なくとも1つのベクトルデータファイルからベクトル処理動作のための少なくとも1つの入力データフローパス内に入力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニット内の前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
前記少なくとも1つの入力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセット内の結果として生じる出力ベクトルデータサンプルを少なくとも1つのマージング回路によってマージすること、ここにおいて、前記結果として生じる出力ベクトルデータサンプルをマージすることは、前記結果として生じる出力ベクトルデータサンプルを加算すること、前記結果として生じる出力ベクトルデータサンプルの中の最大ベクトルデータサンプルを決定すること、または前記結果として生じる出力ベクトルデータサンプルの中の最小ベクトルデータサンプルを決定することを備える、と、
複数のラッチの中の選択された1つまたは複数のラッチに、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶すること、ここにおいて、前記複数のラッチの中の前記選択された1つまたは複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することは、前記ベクトル処理動作の制御の下、前記複数のラッチに対応する複数の並列な選択器を使用して、前記選択された1つまたは複数のラッチを選択することを含む、と、
前記少なくとも1つの出力データフローパス上に前記選択された1つまたは複数のラッチに記憶された前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと、
前記少なくとも1つのベクトルデータファイルに前記少なくとも1つの出力データフローパスからの前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することと
を備える、方法。 - 前記結果として生じる出力ベクトルデータサンプルをマージすることは、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、少なくとも1つの加算器内で、前記結果として生じる出力ベクトルデータサンプルのうちの2つを加算することを備える、
請求項18に記載の方法。 - 前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器を備え、前記複数の加算器の各々は、各々が異なるビット幅を有する複数のマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
請求項19に記載の方法。 - 前記少なくとも1つの出力データフローパス内に、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットとして供給するために、前記複数のマージされた、結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択することをさらに備える、
請求項20に記載の方法。 - プログラム可能なマージデータパス構成入力を受信することと、
前記プログラム可能なマージデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることと
をさらに備える、請求項18に記載の方法。 - 前記少なくとも1つの実行ユニットによって実行されるべきVPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルを選択的にマージすることをさらに備える、
請求項22に記載の方法。 - 前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令のために、前記結果として生じる出力ベクトルデータサンプルを選択的にマージすることをさらに備える、
請求項22に記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/082,073 | 2013-11-15 | ||
| US14/082,073 US9684509B2 (en) | 2013-11-15 | 2013-11-15 | 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 |
| PCT/US2014/065825 WO2015073915A1 (en) | 2013-11-15 | 2014-11-14 | Vector processing engine with merging circuitry between execution units and vector data memory, and related method |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2016537726A JP2016537726A (ja) | 2016-12-01 |
| JP2016537726A5 true JP2016537726A5 (ja) | 2017-09-14 |
| JP6339197B2 JP6339197B2 (ja) | 2018-06-06 |
Family
ID=52007285
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016531030A Expired - Fee Related JP6339197B2 (ja) | 2013-11-15 | 2014-11-14 | 実行ユニットとベクトルデータメモリとの間のマージング回路を備えるベクトル処理エンジンおよび関連する方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9684509B2 (ja) |
| EP (1) | EP3069235A1 (ja) |
| JP (1) | JP6339197B2 (ja) |
| KR (1) | KR101781057B1 (ja) |
| CN (1) | CN105723333B (ja) |
| WO (1) | WO2015073915A1 (ja) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9495154B2 (en) | 2013-03-13 | 2016-11-15 | Qualcomm Incorporated | Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, 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 |
| 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 |
| CN111651201B (zh) * | 2016-04-26 | 2023-06-13 | 中科寒武纪科技股份有限公司 | 一种用于执行向量合并运算的装置和方法 |
| CN111651204B (zh) | 2016-04-26 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种用于执行向量最大值最小值运算的装置和方法 |
| US11803377B2 (en) * | 2017-09-08 | 2023-10-31 | Oracle International Corporation | Efficient direct convolution using SIMD instructions |
| US10528346B2 (en) | 2018-03-29 | 2020-01-07 | Intel Corporation | Instructions for fused multiply-add operations with variable precision input operands |
| 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 |
| US11625393B2 (en) | 2019-02-19 | 2023-04-11 | Mellanox Technologies, Ltd. | High performance computing system |
| EP3699770B1 (en) | 2019-02-25 | 2025-05-21 | Mellanox Technologies, Ltd. | Collective communication system and methods |
| CN110245756B (zh) * | 2019-06-14 | 2021-10-26 | 第四范式(北京)技术有限公司 | 用于处理数据组的可编程器件及处理数据组的方法 |
| US10826801B1 (en) | 2019-07-31 | 2020-11-03 | Bank Of America Corporation | Multi-level data channel and inspection architectures |
| CN110430383B (zh) * | 2019-08-06 | 2021-04-09 | 聚好看科技股份有限公司 | 终端、信令服务器、音视频通信方法及计算机存储介质 |
| US11115310B2 (en) | 2019-08-06 | 2021-09-07 | Bank Of America Corporation | Multi-level data channel and inspection architectures having data pipes in parallel connections |
| US11470046B2 (en) | 2019-08-26 | 2022-10-11 | Bank Of America Corporation | Multi-level data channel and inspection architecture including security-level-based filters for diverting network traffic |
| 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 |
| US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
| CN114003198B (zh) * | 2021-10-20 | 2023-03-24 | 中科寒武纪科技股份有限公司 | 内积处理部件、任意精度计算设备、方法及可读存储介质 |
| US11741044B2 (en) | 2021-12-30 | 2023-08-29 | Microsoft Technology Licensing, Llc | Issuing instructions on a vector processor |
| US12309070B2 (en) | 2022-04-07 | 2025-05-20 | Nvidia Corporation | In-network message aggregation for efficient small message transport |
| US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
| US12489657B2 (en) | 2023-08-17 | 2025-12-02 | Mellanox Technologies, Ltd. | In-network compute operation spreading |
Family Cites Families (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4520439A (en) * | 1981-01-05 | 1985-05-28 | Sperry Corporation | Variable field partial write data merge |
| US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
| US5782769A (en) * | 1996-06-28 | 1998-07-21 | Advanced Technology Laboratories, Inc. | Ultrasonic diagnostic image flash suppression technique |
| US5903769A (en) | 1997-03-31 | 1999-05-11 | Sun Microsystems, Inc. | Conditional vector processing |
| US6141376A (en) | 1997-04-01 | 2000-10-31 | Lsi Logic Corporation | Single chip communication device that implements multiple simultaneous communication channels |
| US6366938B1 (en) | 1997-11-11 | 2002-04-02 | Ericsson, Inc. | Reduced power matched filter using precomputation |
| US6470000B1 (en) * | 1998-10-14 | 2002-10-22 | Agere Systems Guardian Corp. | Shared correlator system and method for direct-sequence CDMA demodulation |
| US7173919B1 (en) | 1999-06-11 | 2007-02-06 | Texas Instruments Incorporated | Random access preamble coding for initiation of wireless mobile communications sessions |
| US6934319B2 (en) | 1999-12-30 | 2005-08-23 | Infineon Technologies Ag | Configurable multimode despreader for spread spectrum applications |
| US7103095B2 (en) | 2000-03-06 | 2006-09-05 | Texas Instruments Incorporated | Spread spectrum code correlator |
| JP4295428B2 (ja) | 2000-12-06 | 2009-07-15 | 富士通マイクロエレクトロニクス株式会社 | Firフィルタ、firフィルタの制御方法、およびfirフィルタを有する半導体集積回路、firフィルタでフィルタリングされたデータを送信する通信システム |
| US6959065B2 (en) | 2001-04-20 | 2005-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Reduction of linear interference canceling scheme |
| US6922716B2 (en) * | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
| GB2382887B (en) | 2001-10-31 | 2005-09-28 | Alphamosaic Ltd | Instruction execution in a processor |
| US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
| US20040062298A1 (en) | 2002-10-01 | 2004-04-01 | Mcdonough John G. | System and method for detecting direct sequence spread spectrum signals using pipelined vector processing |
| WO2004038945A1 (en) * | 2002-10-24 | 2004-05-06 | Nokia Corporation | Determination of the code phase between a code modulated signal and a replica code sequence |
| US7139900B2 (en) * | 2003-06-23 | 2006-11-21 | Intel Corporation | Data packet arithmetic logic devices and methods |
| US9465611B2 (en) | 2003-10-02 | 2016-10-11 | Broadcom Corporation | Processor execution unit with configurable SIMD functional blocks for complex number operations |
| US7386240B2 (en) * | 2004-04-09 | 2008-06-10 | Nortel Networks Limited | Dispersion compensation in optical systems |
| JP4543846B2 (ja) | 2004-09-14 | 2010-09-15 | ソニー株式会社 | 無線通信装置、並びに伝送路測定装置 |
| US7933405B2 (en) | 2005-04-08 | 2011-04-26 | Icera Inc. | Data access and permute unit |
| 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 |
| US20070198815A1 (en) | 2005-08-11 | 2007-08-23 | Coresonic Ab | Programmable digital signal processor having a clustered SIMD microarchitecture including a complex short multiplier and an independent vector load unit |
| TWI326189B (en) | 2006-05-19 | 2010-06-11 | Novatek Microelectronics Corp | Method and apparatus for suppressing cross-color in a video display device |
| US7536532B2 (en) | 2006-09-27 | 2009-05-19 | International Business Machines Corporation | Merge operations of data arrays based on SIMD instructions |
| US8255446B2 (en) * | 2006-12-12 | 2012-08-28 | Arm Limited | Apparatus and method for performing rearrangement and arithmetic operations on data |
| JP2008165279A (ja) * | 2006-12-27 | 2008-07-17 | Nec Computertechno Ltd | ベクトル演算装置及びその方法 |
| US8055886B2 (en) * | 2007-07-12 | 2011-11-08 | Texas Instruments Incorporated | Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction |
| US8856492B2 (en) | 2008-05-30 | 2014-10-07 | Nxp B.V. | Method for vector processing |
| GB2464292A (en) | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
| JP5500652B2 (ja) * | 2009-02-02 | 2014-05-21 | 日本電気株式会社 | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 |
| US20110072238A1 (en) * | 2009-09-20 | 2011-03-24 | Mimar Tibet | Method for variable length opcode mapping in a VLIW processor |
| US8868885B2 (en) | 2010-11-18 | 2014-10-21 | Ceva D.S.P. Ltd. | On-the-fly permutation of vector elements for executing successive elemental instructions |
| US9098121B2 (en) * | 2013-01-22 | 2015-08-04 | Freescale Semiconductor, Inc. | Vector comparator system for finding a peak number |
| 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 |
| US9495154B2 (en) | 2013-03-13 | 2016-11-15 | Qualcomm Incorporated | Vector processing engines having programmable data path configurations for providing multi-mode vector processing, 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 |
| 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 |
| 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 |
| 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 |
-
2013
- 2013-11-15 US US14/082,073 patent/US9684509B2/en active Active
-
2014
- 2014-11-14 CN CN201480062448.4A patent/CN105723333B/zh active Active
- 2014-11-14 JP JP2016531030A patent/JP6339197B2/ja not_active Expired - Fee Related
- 2014-11-14 WO PCT/US2014/065825 patent/WO2015073915A1/en not_active Ceased
- 2014-11-14 EP EP14806781.2A patent/EP3069235A1/en not_active Withdrawn
- 2014-11-14 KR KR1020167015679A patent/KR101781057B1/ko not_active Expired - Fee Related
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2016537726A5 (ja) | ||
| JP2016537725A5 (ja) | ||
| JP2016517570A5 (ja) | ||
| JP2016537722A5 (ja) | ||
| JP2016537723A5 (ja) | ||
| JP2016537724A5 (ja) | ||
| JP2009075676A (ja) | マイクロプロセッサ | |
| JP2016001502A5 (ja) | ||
| JP2016511470A5 (ja) | ||
| WO2016036824A4 (en) | Visually specifying subsets of components in graph-based programs through user interactions | |
| JP2015502597A (ja) | Firフィルタリングのためのベクトル畳み込み関数を含む命令セットを有するベクトル・プロセッサ | |
| CN110494867A (zh) | 用于操作机器学习的电子装置和用于操作机器学习的方法 | |
| JP2014160453A5 (ja) | ||
| JP2015532749A5 (ja) | ||
| JP2005508043A5 (ja) | ||
| JP2017504106A5 (ja) | ||
| WO2016107426A1 (en) | Systems and methods to adaptively select execution modes | |
| JP7408289B2 (ja) | 畳込み演算装置 | |
| KR20200052277A (ko) | 설정가능한 하드웨어 런타임 최적화 | |
| JP2019509555A5 (ja) | ||
| JP2017532657A5 (ja) | ||
| JP2013097467A5 (ja) | ||
| JP2012252374A (ja) | 情報処理装置 | |
| JP2016517577A5 (ja) | ||
| CN104011675B (zh) | 用于数字信号处理器的向量执行单元 |