JP2016537726A5 - - Google Patents

Download PDF

Info

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
Application number
JP2016531030A
Other languages
English (en)
Other versions
JP2016537726A (ja
JP6339197B2 (ja
Filing date
Publication date
Priority claimed from US14/082,073 external-priority patent/US9684509B2/en
Application filed filed Critical
Publication of JP2016537726A publication Critical patent/JP2016537726A/ja
Publication of JP2016537726A5 publication Critical patent/JP2016537726A5/ja
Application granted granted Critical
Publication of JP6339197B2 publication Critical patent/JP6339197B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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に記載の方法。

Claims (24)

  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つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するために前記複数の選択器を制御するように構成される、と
    を行うように構成される、と
    を備える、VPE。
  2. 前記少なくとも1つのベクトルデータファイルは、
    前記ベクトル処理動作のための前記少なくとも1つの入力データフローパス内に前記少なくとも1つのベクトルデータファイルの幅の前記入力ベクトルデータサンプルセットを供給することと、
    記憶されるべき前記少なくとも1つの出力データフローパスからの前記少なくとも1つのベクトルデータファイルの前記幅の前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
    を行うように構成される、請求項1に記載のVPE。
  3. 前記少なくとも1つのベクトルデータファイルは、
    前記少なくとも1つの入力データフローパス内の少なくとも1つのベクトルデータファイル出力上に前記入力ベクトルデータサンプルセットを供給することと、
    前記少なくとも1つの出力データフローパス内の少なくとも1つのベクトルデータファイル入力上で前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを受信することと
    を行うようにさらに構成され、
    前記少なくとも1つの実行ユニットは、
    前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット入力上で前記入力ベクトルデータサンプルセットを受信することと、
    前記少なくとも1つの入力データフローパス内の少なくとも1つの実行ユニット出力上に前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットをコードシーケンスベクトルデータサンプルセットと乗算することと
    を行うように構成され、
    前記少なくとも1つのマージング回路は、
    前記少なくとも1つの実行ユニットから、前記少なくとも1つの入力データフローパス内の少なくとも1つのマージング回路入力上で前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
    前記少なくとも1つの出力データフローパス内の少なくとも1つのマージング回路出力上に前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと
    を行うようにさらに構成される、請求項1に記載のVPE。
  4. 前記コードシーケンスベクトルデータサンプルセットが、少なくとも1つのCDMAチップコードシーケンスを備える
    請求項に記載のVPE。
  5. 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセット内の、前記結果として生じる出力ベクトルデータサンプルのうちの少なくとも2つ加算するように構成された少なくとも1つの加算器を備える
    請求項1に記載のVPE。
  6. 前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器を備え、前記複数の加算器の各々が、各々が異なるビット幅を有する複数の加算マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
    請求項に記載のVPE。
  7. 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択するように構成されたマージ選択器をさらに備える、
    請求項に記載のVPE。
  8. 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルのうちの2つの中の最大ベクトルデータ値を有する、前記結果として生じる出力ベクトルデータサンプルのうちの前記2つのうちの1つを選択するように構成された、少なくとも1つの最大ベクトルデータサンプル選択器を備える
    請求項1に記載のVPE。
  9. 前記少なくとも1つの最大ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最大マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最大値データサンプル選択器を備える
    請求項に記載のVPE。
  10. 前記少なくとも1つのマージング回路は、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルのうちの前記2つの中の最小ベクトルデータ値を有する、前記結果として生じる出力ベクトルデータサンプルのうちの2つのうちの1つを選択するように構成された、少なくとも1つの最小ベクトルデータサンプル選択器を備える
    請求項1に記載のVPE。
  11. 前記少なくとも1つの最小ベクトルデータサンプル選択器は、各々が異なるビット幅を有する複数の最小マージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように各々が構成された、複数の最小値データサンプル選択器を備える
    請求項10に記載のVPE。
  12. 前記少なくとも1つのマージング回路は、前記結果として生じる出力ベクトルデータサンプルを選択的にマージするために、プログラム可能なマージデータパス構成入力に基づいて再構成されるように構成可能である、
    請求項1に記載のVPE。
  13. 前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき前記VPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
    請求項12に記載のVPE。
  14. 前記少なくとも1つのマージング回路は、前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令上で、前記結果として生じる出力ベクトルデータサンプルを選択的にマージするために、前記プログラム可能なマージデータパス構成入力に基づいて再構成されるようにさらに構成される、
    請求項12に記載のVPE。
  15. 前記少なくとも1つの実行ユニットは、前記少なくとも1つの実行ユニットのためのプログラム可能な入力データフローパス構成に基づいて、前記入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルの異なるビット幅を処理するように構成可能である、
    請求項1に記載のVPE。
  16. 前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルへの記憶より前にマージベクトル処理動作の様々な繰返しの中で、前記複数のラッチにスタックされることを可能にするように、クロスバー回路が構成されるように、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを、前記複数のラッチのうちの前記選択された1つまたは複数のラッチに転送するように構成される前記クロスバー回路
    をさらに備える、請求項1に記載のVPE。
  17. 少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージするための装置であって、
    少なくとも1つのベクトルデータファイルからベクトル処理動作のための少なくとも1つの入力データフローパス内に入力ベクトルデータサンプルセットを供給するための手段と、
    前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニット内の前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信するための手段と、
    前記少なくとも1つの入力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行するための手段と、
    前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記受信された、結果として生じる出力ベクトルデータセット内の結果として生じる出力ベクトルデータサンプルをマージするための手段、ここにおいて、前記結果として生じる出力ベクトルデータサンプルをマージすることは、前記結果として生じる出力ベクトルデータサンプルを加算すること、前記結果として生じる出力ベクトルデータサンプルの中の最大ベクトルデータサンプルを決定すること、または前記結果として生じる出力ベクトルデータサンプルの中の最小ベクトルデータサンプルを決定することを備える、と、
    複数のラッチの中の選択された1つまたは複数のラッチに、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するための手段と、
    前記少なくとも1つの出力データフローパス上に前記選択された1つまたは複数のラッチに記憶された前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するための手段と、
    前記少なくとも1つのベクトルデータファイルに前記少なくとも1つの出力データフローパスからの前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するための手段、
    ここにおいて、マージするための前記手段は、前記複数のラッチに対応する複数の並列な選択器を備え、マージするための前記手段は、前記複数のラッチの中の前記選択された1つまたは複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶するために前記複数の並列な選択器を制御するように構成される、と
    を備える、装置。
  18. ベクトル処理を実行する少なくとも1つの実行ユニットによって生成された、結果として生じる出力ベクトルデータサンプルセットをインフライトマージする方法であって、
    少なくとも1つのベクトルデータファイルからベクトル処理動作のための少なくとも1つの入力データフローパス内に入力ベクトルデータサンプルセットを供給することと、
    前記少なくとも1つの入力データフローパス内に設けられた少なくとも1つの実行ユニット内の前記少なくとも1つの入力データフローパス上で前記入力ベクトルデータサンプルセットを受信することと、
    前記少なくとも1つの入力データフローパス上に、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと、
    前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも1つのベクトルデータファイルに記憶されることなく、少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記結果として生じる出力ベクトルデータサンプルセット内の結果として生じる出力ベクトルデータサンプルを少なくとも1つのマージング回路によってマージすること、ここにおいて、前記結果として生じる出力ベクトルデータサンプルをマージすることは、前記結果として生じる出力ベクトルデータサンプルを加算すること、前記結果として生じる出力ベクトルデータサンプルの中の最大ベクトルデータサンプルを決定すること、または前記結果として生じる出力ベクトルデータサンプルの中の最小ベクトルデータサンプルを決定することを備える、と、
    複数のラッチの中の選択された1つまたは複数のラッチに、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶すること、ここにおいて、前記複数のラッチの中の前記選択された1つまたは複数のラッチに前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することは、前記ベクトル処理動作の制御の下、前記複数のラッチに対応する複数の並列な選択器を使用して、前記選択された1つまたは複数のラッチを選択することを含む、と、
    前記少なくとも1つの出力データフローパス上に前記選択された1つまたは複数のラッチに記憶された前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給することと、
    前記少なくとも1つのベクトルデータファイルに前記少なくとも1つの出力データフローパスからの前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを記憶することと
    を備える、方法。
  19. 前記結果として生じる出力ベクトルデータサンプルマージすることは、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するために、少なくとも1つの加算器内で、前記結果として生じる出力ベクトルデータサンプルのうちの2つを加算することを備える
    請求項18に記載の方法。
  20. 前記少なくとも1つの加算器は、加算器ツリー内に設けられた複数の加算器を備え、前記複数の加算器の各々は、各々が異なるビット幅を有する複数のマージされた、結果として生じる出力ベクトルデータサンプルセットを供給するように構成される、
    請求項19に記載の方法。
  21. 前記少なくとも1つの出力データフローパス内に、前記少なくとも1つのマージされた、結果として生じる出力ベクトルデータサンプルセットとして供給するために、前記複数のマージされた、結果として生じる出力ベクトルデータサンプルセットのうちの1つを選択することをさらに備える、
    請求項20に記載の方法。
  22. プログラム可能なマージデータパス構成入力を受信することと、
    前記プログラム可能なマージデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的にマージすることと
    をさらに備える、請求項18に記載の方法。
  23. 前記少なくとも1つの実行ユニットによって実行されるべきVPEのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルを選択的にマージすることをさらに備える、
    請求項22に記載の方法。
  24. 前記少なくとも1つの実行ユニットによって実行されるべき次のベクトル命令のために、前記結果として生じる出力ベクトルデータサンプルを選択的にマージすることをさらに備える、
    請求項22に記載の方法。
JP2016531030A 2013-11-15 2014-11-14 実行ユニットとベクトルデータメモリとの間のマージング回路を備えるベクトル処理エンジンおよび関連する方法 Expired - Fee Related JP6339197B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 用于数字信号处理器的向量执行单元