【手続補正書】
【提出日】令和1年12月13日(2019.12.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データ要素のシーケンスを記憶するように構成される第1のレジスタであって、前記第1のレジスタは、前記入力データ要素のシーケンスの第1の入力データ要素を記憶する第1のレジスタ部分と、前記入力データ要素のシーケンスの第2の入力データ要素を記憶する第2のレジスタ部分とを有し、前記第1の入力データ要素は、前記入力データ要素のシーケンスにおいて前記第2の入力データ要素に隣接する、第1のレジスタと、
シフトされたデータ要素を生成するために、前記第1のレジスタの前記入力データ要素を前記第1のレジスタの前記第1のレジスタ部分の幅に等しいビット数だけシフトするように構成されるシフタ回路と、
前記シフトされたデータ要素を記憶するように構成される第2のレジスタであって、前記第2のレジスタは、前記シフトされたデータ要素の第1のシフトされたデータ要素を記憶する第1のレジスタ部分を有し、前記第1のシフトされたデータ要素は、前記第1のレジスタの前記第2のレジスタ部分における前記第2の入力データ要素に対応し、前記第2のレジスタの前記第1のレジスタ部分の幅は、前記第1のレジスタの前記第1のレジスタ部分の前記幅に等しい、第2のレジスタと、
第1のレーンを有するシングルインストラクションマルチプルデータ(SIMD)処理回路であって、前記第1のレーンが、前記第1のレジスタの前記第1のレジスタ部分の前記幅に等しいレーン幅を有し、前記SIMD処理回路が、前記シフタ回路による前記入力データ要素のシフトの後に、前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素と、前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素とに対してスライディングウィンドウ演算を実行するように構成され、前記スライディングウィンドウ演算を実行することが、前記第1のレジスタの前記第1のレジスタ部分の第1の位置において記憶される第1の入力データ要素と、前記第2のレジスタの前記第1のレジスタ部分の第2の位置において記憶される第1のシフトされたデータ要素に基づく結果を決定することを含み、前記第2のレジスタの前記第1のレジスタ部分の前記第2の位置が、前記第1のレジスタの前記第1のレジスタ部分の前記第1の位置と異なる位置を有する、SIMD処理回路と
を備える、装置。
【請求項２】
前記SIMD処理回路は、命令に基づいて、前記第1のレジスタの前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素、前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素、またはそれらの任意の組合せに対して同時にスライディングウィンドウ演算を実行する、請求項1に記載の装置。
【請求項３】
前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素および前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素は、前記命令の命令コードにおける即値フィールドに基づいて選択される、請求項2に記載の装置。
【請求項４】
前記SIMD処理回路は、
算術および論理ユニット(ALU)と、
前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素のうちの1つまたは前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素のうちの1つを前記ALUに供給するように構成される、第1のマルチプレクサと、
前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素のうちの1つまたは前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素のうちの1つを前記ALUに供給するように構成される、第2のマルチプレクサと
を備え、
前記ALUは、前記第1のマルチプレクサによって供給されたデータ要素および前記第2のマルチプレクサによって供給されたデータ要素に対して水平演算を実行するように動作可能である、
請求項1に記載の装置。
【請求項５】
前記水平演算は、加算演算、ビット単位OR演算、または乗算演算を含む、請求項4に記載の装置。
【請求項６】
前記ALUは、前記第1のマルチプレクサによって供給された前記データ要素および前記第2のマルチプレクサによって供給された前記データ要素に対して垂直演算を実行するように動作可能であり、前記水平演算は、前記垂直演算の後に実行される、請求項4に記載の装置。
【請求項７】
前記垂直演算は乗算演算を含む、請求項6に記載の装置。
【請求項８】
前記SIMD処理回路は、前記第1のレーンと第2のレーンとを含む複数のレーンであって、前記第2のSIMDレーンが、前記第1のレジスタの前記第2のレジスタ部分に記憶された前記第2の入力データ要素および前記第2のレジスタの第2のレジスタ部分に記憶される第2のシフトされたデータ要素に対してスライディングウィンドウ演算を実行するように構成される、複数のレーンをさらに備える、請求項1に記載の装置。
【請求項９】
前記第1のレーンによって実行される前記スライディングウィンドウ演算と前記第2のレーンによって実行される前記スライディングウィンドウ演算が並行して実行される、請求項8に記載の装置。
【請求項１０】
前記シフタ回路は、前記シフトされたデータを前記第2のレジスタに供給するように構成される、請求項1に記載の装置。
【請求項１１】
第1のレジスタに入力データ要素のシーケンスを記憶するステップであって、前記入力データ要素のシーケンスは、前記第1のレジスタの第1のレジスタ部分に記憶された第1の入力データ要素と、前記第1のレジスタの第2のレジスタ部分に記憶された第2の入力データ要素とを含む、ステップと、
シフトされたデータ要素を生成するために、前記第1のレジスタの前記入力データ要素を前記第1のレジスタの前記第1のレジスタ部分の幅に等しいビット数だけシフトするステップと、
第2のレジスタに前記シフトされたデータ要素を記憶するステップであって、前記シフトされたデータ要素は、第2のレジスタの第1のレジスタ部分に記憶された第1のシフトされたデータ要素を含み、前記第2のレジスタの前記第1のレジスタ部分の幅は、前記第1のレジスタの前記第1のレジスタ部分の幅に等しい、ステップと、
前記入力データ要素のシフトの後に、シングルインストラクションマルチプルデータ(SIMD)処理回路の第1のレーンを使用して、前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素と、前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素とに対してスライディングウィンドウ演算を実行するステップであって、前記第1のレーンは、前記第1のレジスタの前記第1のレジスタ部分の前記幅に等しいレーン幅を有し、前記スライディングウィンドウ演算を実行するステップが、前記第1のレジスタの前記第1のレジスタ部分の第1の位置において記憶された第1の入力データ要素と、前記第2のレジスタの前記第1のレジスタ部分の第2の位置において記憶された第1のシフトされたデータ要素に基づく結果を決定するステップを含み、前記第2のレジスタの前記第1のレジスタ部分の前記第2の位置が、前記第1のレジスタの前記第1のレジスタ部分の前記第1の位置と異なる位置を有する、ステップと
を含む、方法。
【請求項１２】
前記第1の入力データ要素は、第1のデータ要素から始まって第Nのデータ要素で終わるN個のデータ要素を含み、前記第1のシフトされた入力データ要素は、第(N+1)のデータ要素から始まって第2*Nのデータ要素で終わるN個のデータ要素を含み、Nが前記SIMD処理回路の前記レーン幅に対応する、請求項11に記載の方法。
【請求項１３】
前記SIMD処理回路は、命令に基づいて、前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素、前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素、またはそれらの任意の組合せに対して同時にスライディングウィンドウ演算を実行する、請求項11に記載の方法。
【請求項１４】
前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素および前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素は、前記命令の命令コードにおける即値フィールドに基づいて選択される、請求項13に記載の方法。
【請求項１５】
第1のマルチプレクサにおいて、前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素のうちの1つまたは前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素のうちの1つを算術および論理ユニット(ALU)に供給するステップと、
第2のマルチプレクサにおいて、前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素のうちの1つまたは前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素のうちの1つを前記ALUに供給するステップと
をさらに含む、請求項11に記載の方法。
【請求項１６】
前記ALUにおいて、前記第1のマルチプレクサによって供給されたデータ要素および前記第2のマルチプレクサによって供給されたデータ要素に対して水平演算を実行するステップを含む、請求項15に記載の方法。
【請求項１７】
前記水平演算は、加算演算、ビット単位OR演算、または乗算演算を含む、請求項16に記載の方法。
【請求項１８】
前記第1のマルチプレクサによって供給された前記データ要素および前記第2のマルチプレクサによって供給された前記データ要素に対して垂直演算を実行するステップであって、前記水平演算は、前記垂直演算の後に実行される、ステップをさらに含む、請求項16に記載の方法。
【請求項１９】
前記垂直演算は乗算演算を含む、請求項18に記載の方法。
【請求項２０】
前記SIMD処理回路の第2のSIMDレーンを使用して前記第1のレジスタの前記第2のレジスタ部分に記憶された第2の入力データ要素および前記第2のレジスタの第2のレジスタ部分に記憶された第2のシフトされたデータ要素に対してスライディングウィンドウ演算を実行するステップであって、前記第1のレーンが前記複数のSIMDレーンに含まれる、ステップをさらに含む、請求項11に記載の方法。
【請求項２１】
前記第1のレーンによって実行される前記スライディングウィンドウ演算と前記第2のSIMDレーンによって実行される前記スライディングウィンドウ演算が並行して実行される、請求項20に記載の方法。
【請求項２２】
前記シフトされたデータ要素を前記第2のレジスタに供給するステップをさらに含む、請求項11に記載の方法。
【請求項２３】
入力データ要素のシーケンスを記憶するための第1の手段であって、前記入力データ要素のシーケンスの第1の入力データ要素を記憶する第1の部分と、前記入力データ要素のシーケンスの第2の入力データ要素を記憶する第2の部分とを有し、前記第1の入力データ要素は、前記入力データ要素のシーケンスにおいて前記第2の入力データ要素に隣接する、第1の手段と、
シフトされたデータ要素を生成するために、前記記憶するための第1の手段の前記入力データ要素を前記記憶するための第1の手段の前記第1の部分の幅に等しいビット数だけシフトするための手段と、
前記シフトされたデータ要素を記憶するための第2の手段であって、前記シフトされたデータ要素の第1のシフトされたデータ要素を記憶するための第1の部分を有し、前記第1のシフトされたデータ要素は、前記記憶するための第1の手段の前記第2の部分の前記第2の入力データ要素に対応し、前記記憶するための第2の手段の前記第1の部分の幅は、前記記憶するための第1の手段の前記第1の前記幅に等しい、手段と、
前記記憶するための第1の手段の前記第1の部分における前記第1の入力データ要素と、前記記憶するための第2の手段の前記第1の部分における前記第1のシフトされたデータ要素とに対してスライディングウィンドウ演算を実行するための手段であって、前記記憶するための第1の手段の前記第1の部分の前記幅に等しいレーン幅を有し、前記記憶するための第1の手段の前記第1の部分の第1の位置において記憶された第1の入力データ要素と、前記記憶するための第2の手段の前記第1の部分の第2の位置において記憶された第1のシフトされたデータ要素に基づく結果を決定することを含み、前記記憶するための第2の手段の前記第1の部分の前記第2の位置が、前記記憶するための第1の手段の前記第1の部分の前記第1の位置と異なる位置を有する、手段と
を備える、装置。
【請求項２４】
前記第1の入力データ要素は、第1のデータ要素から始まって第Nのデータ要素で終わるN個のデータ要素を含み、前記第1のシフトされた入力データ要素は、第(N+1)のデータ要素から始まって第2*Nのデータ要素で終わるN個のデータ要素を含み、Nが前記スライディングウィンドウ演算を実行するための手段の前記レーン幅に対応する、請求項23に記載の装置。
【請求項２５】
前記スライディングウィンドウ演算を実行するための手段は、命令に基づいて、前記記憶するための第1の手段の前記第1の部分における前記第1の入力データ要素、前記記憶するための第2の手段の前記第1の部分における前記第1のシフトされたデータ要素、またはそれらの任意の組合せに対して同時にスライディングウィンドウ演算を実行する、請求項23に記載の装置。
【請求項２６】
前記記憶するための第1の手段の前記第1の部分における前記第1の入力データ要素および前記記憶するための第2の手段の前記第1の部分における前記第1のシフトされたデータ要素は、前記命令の命令コードにおける即値フィールドに基づいて選択される、請求項25に記載の装置。
【請求項２７】
データ要素を供給するための手段であって、前記記憶するための第1の手段の前記第1の部分における前記第1の入力データ要素のうちの1つを算術および論理ユニット(ALU)に供給するように構成される、手段と、
データ要素を供給するための第2の手段であって、前記記憶するための第2の手段の前記第1の部分における前記第1のシフトされたデータ要素のうちの1つを前記ALUに供給するように構成される、手段と
をさらに備える、請求項23に記載の装置。
【請求項２８】
前記記憶するための第1の手段の前記第2の部分に記憶された前記第2の入力データ要素および前記記憶するための第2の手段の第2の部分に記憶された第2のシフトされたデータ要素に対してスライディングウィンドウ演算を実行するための第2の手段をさらに備える、請求項23に記載の装置。
【請求項２９】
命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されたときに、前記プロセッサに、
第1のレジスタに入力データ要素のシーケンスを記憶することであって、前記入力データ要素のシーケンスは、前記第1のレジスタの第1のレジスタ部分に記憶された第1の入力データ要素と、前記第1のレジスタの第2のレジスタ部分に記憶された第2の入力データ要素とを含む、記憶することと、
シフトされたデータ要素を生成するために、前記第1のレジスタの前記入力データ要素を前記第1のレジスタの前記第1のレジスタ部分の幅に等しいビット数だけシフトすることと、
第2のレジスタに前記シフトされたデータ要素を記憶することであって、前記シフトされたデータ要素は、第2のレジスタの第1のレジスタ部分に記憶された第1のシフトされたデータ要素を含み、前記第2のレジスタの前記第2のレジスタ部分の幅は、前記第1のレジスタの前記第1のレジスタ部分の幅に等しい、記憶することと、
前記入力データ要素のシフトの後に、シングルインストラクションマルチプルデータ(SIMD)処理回路のレーンを使用して、前記第1のレジスタの前記第1のレジスタ部分における前記第1の入力データ要素と、前記第2のレジスタの前記第1のレジスタ部分における前記第1のシフトされたデータ要素とに対してスライディングウィンドウ演算を実行することであって、前記レーンは、前記第1のレジスタの前記第1のレジスタ部分の前記幅に等しいレーン幅を有し、前記スライディングウィンドウ演算を実行することが、前記第1のレジスタの前記第1のレジスタ部分の第1の位置において記憶された第1の入力データ要素と、前記第2のレジスタの前記第1のレジスタ部分の第2の位置において記憶された第1のシフトされたデータ要素に基づく結果を決定することを含み、前記第2のレジスタの前記第1のレジスタ部分の前記第2の位置が、前記第1のレジスタの前記第1のレジスタ部分の前記第1の位置と異なる位置を有する、実行することと
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記第1の入力データ要素は、第1のデータ要素から始まって第Nのデータ要素で終わるN個のデータ要素を含み、前記第1のシフトされた入力データ要素は、第(N+1)のデータ要素から始まって第2*Nのデータ要素で終わるN個のデータ要素を含み、Nが前記SIMD処理回路の前記レーン幅に対応する、請求項29に記載の非一時的コンピュータ可読記憶媒体。