【手続補正書】
【提出日】平成30年6月25日(2018.6.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ベクトル処理動作を実行する少なくとも１つの実行ユニットによって生成された結果として生じる出力ベクトルデータサンプルセットをインフライト並び替えするように構成されたベクトル処理エンジン（ＶＰＥ）であって、
少なくとも１つのベクトルデータファイルであって、
前記ベクトル処理動作のために、少なくとも１つの入力データフローパスにおいて、フェッチされた入力ベクトルデータサンプルセットを供給することと、
記憶されるべき、並び替えられた結果として生じる出力ベクトルデータサンプルセットを、少なくとも１つの出力データフローパスから受信することと
を行うように構成された少なくとも１つのベクトルデータファイルと、
前記少なくとも１つの入力データフローパスにおける前記少なくとも１つのベクトルデータファイルと前記少なくとも１つの実行ユニットとの間の少なくとも１つのタップ付き遅延線、前記少なくとも１つのタップ付き遅延線は、
前記少なくとも１つのベクトルデータファイルから前記フェッチされた入力ベクトルデータサンプルセットを受信することと、
前記少なくとも１つの入力データフローパスにおいて、前記ベクトル処理動作におけるベクトル処理ステージの数に等しい複数の処理ステージのうちの処理ステージごとに、シフトされた入力ベクトルデータサンプルセットを供給するために、前記複数の処理ステージのうちの処理ステージごとに、複数のパイプラインレジスタ内で前記フェッチされた入力ベクトルデータサンプルセットをベクトルデータサンプル幅ぶんシフトすることと
を行うように構成される、と、
前記少なくとも１つのタップ付き遅延線は、複数の入力ベクトルデータサンプル選択器を含み、前記複数の入力ベクトルデータサンプル選択器の各々が、前記少なくとも１つのタップ付き遅延線内の前記複数のパイプラインレジスタのうちの１つのパイプラインレジスタに割り当てられ、前記複数の入力ベクトルデータサンプル選択器は各々、割り当てられたパイプラインレジスタ内にシフトされた入力ベクトルデータサンプルを記憶するために、前記少なくとも１つのベクトルデータファイルからの前記フェッチされた入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルと、隣接するパイプラインレジスタに記憶された入力ベクトルデータサンプルとのうちから選択するように構成され、
前記少なくとも１つの入力データフローパス内に設けられた前記少なくとも１つの実行ユニット、前記少なくとも１つの実行ユニットは、
前記シフトされた入力ベクトルデータサンプルセットを受信することと、
前記少なくとも１つの出力データフローパス上で、前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記シフトされた入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと
を行うように構成される、と、
少なくとも１つの並び替え回路であって、
前記少なくとも１つの出力データフローパス上で、前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも１つのベクトルデータファイルに記憶されることなく、前記結果として生じる出力ベクトルデータサンプルセットを前記並び替えられた結果として生じる出力ベクトルデータサンプルセットへと並び替えることと、
前記少なくとも１つの出力データフローパス上で、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うように構成された少なくとも１つの並び替え回路と
を備え、
前記少なくとも１つの並び替え回路は、
第１の複数の選択器であって、各々、
前記結果として生じる出力ベクトルデータサンプルセットの第１のおよび第２の結果として生じる出力ベクトルデータサンプルを受信すること、前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルは、前記結果として生じる出力ベクトルデータサンプルセットにおいて互いに隣接していない、と、
前記第１の結果として生じる出力ベクトルデータサンプルおよび前記第２の結果として生じる出力ベクトルデータサンプルから選択し、前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルのうちの前記選択されたものを出力することと
を行うように構成され、ここにおいて、前記第１の複数の選択器は、前記結果として生じる出力ベクトルデータサンプルセットの前記結果として生じる出力ベクトルデータサンプルの全てを受信するように構成される、第１の複数の選択器と、
第２の複数の選択器であって、各々、
前記第１の複数の選択器のうちの１つの前記出力および前記結果として生じる出力ベクトルデータサンプルセットの前記結果として生じる出力ベクトルデータサンプルのうちの１つを受信することと、
前記第１の複数の選択器のうちの前記１つの前記出力および前記結果として生じる出力ベクトルデータサンプルのうちの前記１つから選択することと
を行うように構成される、第２の複数の選択器と
をさらに備える、
ＶＰＥ。
【請求項２】
前記少なくとも１つのベクトルデータファイルは、
前記ベクトル処理動作のために、前記少なくとも１つの入力データフローパスにおいて前記少なくとも１つのベクトルデータファイルの幅の前記入力ベクトルデータサンプルセットを供給することと、
記憶されるべき、前記少なくとも１つのベクトルデータファイルの前記幅の前記並び替えられた結果として生じる出力ベクトルデータサンプルセットを、前記少なくとも１つの出力データフローパスから受信することと
を行うように構成される、請求項１に記載のＶＰＥ。
【請求項３】
前記少なくとも１つのベクトルデータファイルは、
前記少なくとも１つの入力データフローパス内の少なくとも１つのベクトルデータファイル出力上で、前記入力ベクトルデータサンプルセットを供給することと、
前記少なくとも１つの出力データフローパス内の少なくとも１つのベクトルデータファイル入力上で、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットを受信することと
を行うようにさらに構成され、
前記少なくとも１つの実行ユニットは、
前記少なくとも１つの入力データフローパス内の少なくとも１つの実行ユニット入力上で、前記シフトされた入力ベクトルデータサンプルセットを受信することと、
前記少なくとも１つの出力データフローパス内の少なくとも１つの実行ユニット出力上で、前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記シフトされた入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行することと
を行うようにさらに構成され、
前記少なくとも１つの並び替え回路は、
前記少なくとも１つの実行ユニットから、前記少なくとも１つの出力データフローパス内の少なくとも１つの並び替え回路入力上で、前記結果として生じる出力ベクトルデータサンプルセットを受信することと、
前記少なくとも１つの出力データフローパス内の少なくとも１つの並び替え回路出力上で、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットを供給することと
を行うようにさらに構成される、
請求項１に記載のＶＰＥ。
【請求項４】
前記少なくとも１つの並び替え回路は、前記結果として生じる出力ベクトルデータサンプルセットを選択的に並び替えるために、プログラム可能な並べ替えデータパス構成入力に基づいて再構成されるように構成可能である、請求項１に記載のＶＰＥ。
【請求項５】
前記少なくとも１つの並び替え回路は、前記少なくとも１つの実行ユニットによって実行されることになる前記ＶＰＥのクロックサイクルごとに、前記結果として生じる出力ベクトルデータサンプルセットを選択的に並び替えるために、前記プログラム可能な並べ替えデータパス構成入力に基づいて再構成されるようにさらに構成される、請求項４に記載のＶＰＥ。
【請求項６】
前記少なくとも１つのタップ付き遅延線は、
シャドウタップ付き遅延線
を備え、前記シャドウタップ付き遅延線は、
シャドウの複数のパイプラインレジスタへの前記少なくとも１つの入力データフローパスにおいて、前記少なくとも１つのベクトルデータファイルから前記入力ベクトルデータサンプルセットを受信することと、
前記シフトされた入力ベクトルデータサンプルセットを供給するために、プライマリタップ付き遅延線への処理ステージごとに前記シャドウの複数のパイプラインレジスタ内で前記入力ベクトルデータサンプルセットを前記ベクトルデータサンプル幅ぶんシフトすることと
を行うように構成され、
前記プライマリタップ付き遅延線は、前記複数の処理ステージのうちの各処理ステージにおいて、前記少なくとも１つの入力データフローパス内に前記シフトされた入力ベクトルデータサンプルセットを供給するように構成される、請求項１に記載のＶＰＥ。
【請求項７】
前記複数の入力ベクトルデータサンプル選択器の各々は、前記複数のパイプラインレジスタ中の複数のグループ化されたパイプラインレジスタにシフトされた入力ベクトルデータサンプルワードを記憶するために、複数のグループ化された隣接するパイプラインレジスタ内の入力ベクトルデータサンプルワードをまとめて記憶している複数のグループ化された入力ベクトルデータサンプルを選択するように構成される、
請求項１に記載のＶＰＥ。
【請求項８】
前記少なくとも１つのタップ付き遅延線は、前記少なくとも１つの実行ユニットによって実行されることになるベクトル命令に従って、前記少なくとも１つのタップ付き遅延線のためのプログラム可能なデータパス構成入力に基づいて、前記少なくとも１つのベクトルデータファイルと前記少なくとも１つの実行ユニットとの間の前記少なくとも１つの入力データフローパス内に選択的に設けられるように構成可能である、請求項１に記載のＶＰＥ。
【請求項９】
前記少なくとも１つのタップ付き遅延線は、前記少なくとも１つの実行ユニットによって実行されることになる次のベクトル命令に従って、前記少なくとも１つのタップ付き遅延線のための前記プログラム可能なデータパス構成入力に基づいて、前記少なくとも１つの入力データフローパス内に選択的に設けられるように再構成されるように構成される、請求項８に記載のＶＰＥ。
【請求項１０】
前記少なくとも１つのタップ付き遅延線は、前記少なくとも１つの実行ユニットによって実行されることになる前記ＶＰＥのクロックサイクルごとに、前記少なくとも１つの入力データフローパス内に選択的に設けられるように再構成されるように構成される、請求項９に記載のＶＰＥ。
【請求項１１】
前記少なくとも１つの実行ユニットは、前記少なくとも１つの実行ユニットのためのプログラム可能な並べ替えデータパス構成入力に基づいて、前記入力ベクトルデータサンプルセットからの異なるビット幅の入力ベクトルデータサンプルを処理するように構成可能である、請求項１に記載のＶＰＥ。
【請求項１２】
ベクトル処理動作を実行する少なくとも１つの実行ユニットによって生成された結果として生じる出力ベクトルデータサンプルセットのインフライト並び替えのための装置であって、
前記ベクトル処理動作のために、少なくとも１つの入力データフローパスにおいて、少なくとも１つのベクトルデータファイルからのフェッチされた入力ベクトルデータサンプルセットを供給するための手段と、
シフトされた入力ベクトルデータサンプルセットを供給するために前記フェッチされた入力ベクトルデータサンプルセットをシフトするための手段と、
前記少なくとも１つの入力データフローパス内に設けられた前記少なくとも１つの実行ユニットにおいて、前記少なくとも１つの入力データフローパス上で、前記シフトされた入力ベクトルデータサンプルセットを受信するための手段と、
少なくとも１つの出力データフローパス上で、結果として生じる出力ベクトルデータサンプルセットを供給するために、前記受信されたシフトされた入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行するための手段と、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも１つのベクトルデータファイルに記憶されることなく、前記少なくとも１つの出力データフローパスにおいて、前記結果として生じる出力ベクトルデータサンプルセットを、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットへと並び替えるための手段と、
前記少なくとも１つのベクトルデータファイルに、前記少なくとも１つの出力データフローパスにおける前記並び替えられた結果として生じる出力ベクトルデータサンプルセットを記憶するための手段と
を備え、
前記フェッチされた入力ベクトルデータサンプルセットをシフトするための前記手段は、前記少なくとも１つの入力データフローパスにおける前記少なくとも１つのベクトルデータファイルと前記少なくとも１つの実行ユニットとの間の少なくとも１つのタップ付き遅延線を含み、前記少なくとも１つのタップ付き遅延線は、
前記少なくとも１つのベクトルデータファイルから前記フェッチされた入力ベクトルデータサンプルセットを受信することと、
前記少なくとも１つの入力データフローパスにおいて、前記ベクトル処理動作におけるベクトル処理ステージの数に等しい複数の処理ステージのうちの処理ステージごとに、前記シフトされた入力ベクトルデータサンプルセットを供給するために、前記複数の処理ステージのうちの処理ステージごとに、複数のパイプラインレジスタ内で前記フェッチされた入力ベクトルデータサンプルセットをベクトルデータサンプル幅ぶんシフトすることと
を行うように構成され、
前記少なくとも１つのタップ付き遅延線は、複数の入力ベクトルデータサンプル選択器を含み、前記複数の入力ベクトルデータサンプル選択器の各々が、前記少なくとも１つのタップ付き遅延線内の前記複数のパイプラインレジスタのうちの１つのパイプラインレジスタに割り当てられ、前記複数の入力ベクトルデータサンプル選択器は各々、割り当てられたパイプラインレジスタ内にシフトされた入力ベクトルデータサンプルを記憶するために、前記少なくとも１つのベクトルデータファイルからの前記フェッチされた入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルと、隣接するパイプラインレジスタに記憶された入力ベクトルデータサンプルとのうちから選択するように構成され、
前記結果として生じる出力ベクトルデータサンプルセットを、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットへと並び替えるための前記手段は、
前記結果として生じる出力ベクトルデータサンプルセットの第１のおよび第２の結果として生じる出力ベクトルデータサンプルを受信するための手段、前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルは、前記結果として生じる出力ベクトルデータサンプルセットにおいて互いに隣接しておらず、前記結果として生じる出力ベクトルデータサンプルセットの第１のおよび第２の結果として生じる出力ベクトルデータサンプルを受信するための前記手段は、前記結果として生じる出力ベクトルデータサンプルセットの前記結果として生じる出力ベクトルデータサンプルを受信するように構成される、と、
前記第１の結果として生じる出力ベクトルデータサンプルおよび前記第２の結果として生じる出力ベクトルデータサンプルから選択するための手段と、
前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルのうちの前記選択されたものおよび前記結果として生じる出力ベクトルデータサンプルセットの前記結果として生じる出力ベクトルデータサンプルのうちの１つを受信するための手段と、
前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルのうちの前記選択されたものおよび前記結果として生じる出力ベクトルデータサンプルのうちの前記１つから選択するための手段と
をさらに備える、
装置。
【請求項１３】
ベクトル処理動作を実行する少なくとも１つの実行ユニットによって生成された結果として生じる出力ベクトルデータサンプルセットのインフライト並び替えの方法であって、
前記ベクトル処理動作のために、少なくとも１つの入力データフローパスにおいて、少なくとも１つのベクトルデータファイルからのフェッチされた入力ベクトルデータサンプルセットを供給することと、
前記少なくとも１つのベクトルデータファイルと前記少なくとも１つの実行ユニットとの間の前記少なくとも１つの入力データフローパスに設けられた少なくとも１つのタップ付き遅延線への前記少なくとも１つの入力データフローパスにおいて前記フェッチされた入力ベクトルデータサンプルセットを受信することと、
少なくとも１つの並び替え回路への前記少なくとも１つの入力データフローパスにおいて、前記ベクトル処理動作におけるベクトル処理ステージの数に等しい複数の処理ステージのうちの処理ステージごとに、シフトされた入力ベクトルデータサンプルセットを供給するために、前記複数の処理ステージのうちの処理ステージごとに、複数のパイプラインレジスタ内で前記フェッチされた入力ベクトルデータサンプルセットをベクトルデータサンプル幅ぶんシフトすることと、
前記少なくとも１つの入力データフローパス上で、前記複数の処理ステージのうちの処理ステージごとに、前記シフトされた入力ベクトルデータサンプルセットを、前記少なくとも１つのベクトルデータファイルから受信することと、
前記複数の処理ステージのうちの処理ステージごとに、前記少なくとも１つの入力データフローパス上で、前記シフトされた入力ベクトルデータサンプルセットを供給することと、
前記少なくとも１つの入力データフローパス内に設けられた前記少なくとも１つの実行ユニットにおいて、前記少なくとも１つの入力データフローパス上で、前記シフトされた入力ベクトルデータサンプルセットを受信することと、
少なくとも１つの出力データフローパス上で、前記結果として生じる出力ベクトルデータサンプルセットを供給するために、前記受信されたシフトされた入力ベクトルデータサンプルセットに対して前記ベクトル処理動作を実行すること、
前記結果として生じる出力ベクトルデータサンプルセットが前記少なくとも１つのベクトルデータファイルに記憶されることなく、前記少なくとも１つの出力データフローパスにおいて、前記結果として生じる出力ベクトルデータサンプルセットを、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットへと並び替えることと、
前記少なくとも１つのベクトルデータファイルに、前記少なくとも１つの出力データフローパスにおける前記並び替えられた結果として生じる出力ベクトルデータサンプルセットを記憶することと
を備え、
前記結果として生じる出力ベクトルデータサンプルセットを、前記並び替えられた結果として生じる出力ベクトルデータサンプルセットへと並び替えることは、
前記結果として生じる出力ベクトルデータサンプルセットの第１のおよび第２の結果として生じる出力ベクトルデータサンプルを受信すること、前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルは、前記結果として生じる出力ベクトルデータサンプルセットにおいて互いに隣接していない、と、
前記第１の結果として生じる出力ベクトルデータサンプルおよび前記第２の結果として生じる出力ベクトルデータサンプルから選択すること、ここにおいて、前記結果として生じる出力ベクトルデータサンプルセットの前記結果として生じる出力ベクトルデータサンプルは、第１の結果として生じる出力ベクトルデータサンプルおよび第２の結果として生じる出力ベクトルデータサンプルからの選択のために受信される、と、
前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルのうちの前記選択されたものおよび前記結果として生じる出力ベクトルデータサンプルセットの前記結果として生じる出力ベクトルデータサンプルのうちの１つを受信することと、
前記第１のおよび第２の結果として生じる出力ベクトルデータサンプルのうちの前記選択されたものおよび前記結果として生じる出力ベクトルデータサンプルのうちの前記１つから選択することと
をさらに備え、
前記少なくとも１つのタップ付き遅延線は、複数の入力ベクトルデータサンプル選択器を含み、前記複数の入力ベクトルデータサンプル選択器の各々が、前記少なくとも１つのタップ付き遅延線内の前記複数のパイプラインレジスタのうちの１つのパイプラインレジスタに割り当てられ、前記複数の入力ベクトルデータサンプル選択器は各々、割り当てられたパイプラインレジスタ内にシフトされた入力ベクトルデータサンプルを記憶するために、前記少なくとも１つのベクトルデータファイルからの前記フェッチされた入力ベクトルデータサンプルセットからの入力ベクトルデータサンプルと、隣接するパイプラインレジスタに記憶された入力ベクトルデータサンプルとのうちから選択するように構成される、
方法。
【請求項１４】
プログラム可能な並べ替えデータパス構成入力を受信することと、
前記並べ替えデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的に並び替えること
をさらに備える、請求項１３に記載の方法。
【請求項１５】
前記少なくとも１つの実行ユニットによって実行されることになるＶＰＥのクロックサイクルごとに、前記プログラム可能な並べ替えデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的に並び替えることをさらに備える、請求項１４に記載の方法。
【請求項１６】
前記少なくとも１つの実行ユニットによって実行されることになる次のベクトル命令について、前記プログラム可能な並べ替えデータパス構成入力に基づいて、前記結果として生じる出力ベクトルデータサンプルセットを選択的に並び替えることをさらに備える、請求項１４に記載の方法。