【手続補正書】
【提出日】平成29年1月27日(2017.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ベクトルアライメント命令を実行するための方法であって、
第1のプロセッサ上に作成された開始場所に、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内のレジスタからアクセスするステップと、
前記第2のプロセッサ上で、ベクトルレジスタファイル(VRF)のオペランドレジスタ内の前記開始場所で始まる1組のデータ値を、アライメントするステップであって、前記1組のデータ値は、前記VRFの標的レジスタに1組のアライメントされたデータ値として記憶され、前記開始場所の指定のビットのバイナリ値が、前記VRFの第1の組のオペランドレジスタのうちの第1のオペランドレジスタまたは前記VRFの第2の組のオペランドレジスタのうちの第2のオペランドレジスタを前記VRFの前記レジスタとして選択する、アライメントするステップと、
を含む方法。
【請求項２】
前記スカラーレジスタファイルの前記レジスタ、および前記標的レジスタは前記ベクトルアライメント命令内で指定されており、かつ前記VRFの前記オペランドレジスタはベクトルユニット(Vu)ベースレジスタに記憶された値によって間接的に識別される、請求項1に記載の方法。
【請求項３】
前記指定のビットは前記開始場所の最上位ビットである、請求項1に記載の方法。
【請求項４】
前記第1の組のレジスタのうちの前記第1のオペランドレジスタは前記ベクトルアライメント命令のVuフィールドによって識別されており、前記第1の組のレジスタのそれ以外のレジスタはレジスタの命令指定による順序付けに従って識別される、請求項1に記載の方法。
【請求項５】
前記第1のプロセッサは汎用(GP)プロセッサでありかつ前記第2のプロセッサは単一命令多重データ(SIMD)ベクトルプロセッサである、請求項1に記載の方法。
【請求項６】
前記第1のプロセッサ上の演算に影響を及ぼすことなく開始場所のアクセスが発生可能なようにして、前記スカラーレジスタファイルの前記レジスタが、前記第2のプロセッサに割り当てられたデータポートを通じて共有される、請求項1に記載の方法。
【請求項７】
前記開始場所にアクセスする前記ステップは、前記第1のプロセッサ上で作成され、前記第1のプロセッサの前記スカラーレジスタファイル内の前記レジスタに記憶され、かつ前記第1のプロセッサと前記第2のプロセッサとの間で共有される値から前記指定のビットおよび前記開始場所にアクセスするステップを含み、
前記第2のプロセッサ上でアライメントする前記ステップは、前記第2のプロセッサ上で前記VRFの1組のオペランドレジスタ内の前記開始場所で始まる前記1組のデータ値を、前記VRFの標的の組のレジスタに前記1組のアライメントされたデータ値として記憶されるようにしてアライメントするステップであって、前記VRFの前記1組のオペランドレジスタは前記指定のビットの前記バイナリ値に基づいて前記第1の組のレジスタまたは前記第2の組のレジスタとして選択される、アライメントするステップを含む、
請求項1に記載の方法。
【請求項８】
前記第1の組のレジスタは、Vu識別されたレジスタで始まるリニアプラスワン順序付けにおける3つのレジスタからなる組であるとともに前記第2の組のレジスタは、Vu+k識別されたレジスタで始まるリニアプラスkプラスワン順序付けにおける3つのレジスタからなる組であり、かつkは前記アライメント命令によって1以上の整数となるように指定される、請求項7に記載の方法。
【請求項９】
前記第1の組のレジスタは、Vu識別されたレジスタで始まるリニアプラスツー順序付けにおける3つのレジスタからなる組であるとともに前記第2の組のレジスタは、Vu+k識別されたレジスタで始まるリニアプラスkプラスツー順序付けにおける3つのレジスタからなる組であり、かつkは前記アライメント命令によって1以上の整数となるように指定される、請求項7に記載の方法。
【請求項１０】
前記第1の組のオペランドレジスタはVu、Vu+P1およびVu+P2であり、前記第2の組のオペランドレジスタはVu+P1、Vu+P2およびVu+P3であり、かつP1、P2およびP3はアクセス可能なVRFレジスタの範囲内に来るように前記ベクトルアライメント命令によって指定された素数である、請求項7に記載の方法。
【請求項１１】
ベクトルアライメントおよび演算命令を実行するための方法であって、
第1のプロセッサ上で作成された開始場所に対して、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内のレジスタからアクセスするステップと、
前記第2のプロセッサ上で、前記第2のプロセッサのベクトルレジスタファイル(VRF)のオペランドレジスタ内の前記開始場所で始まる1組のデータ値を、1組のアライメントされたデータ値が作成されるようにアライメントするステップであって、前記開始場所の指定のビットのバイナリ値が、前記VRFの第1の組のオペランドレジスタのうちの第1のオペランドレジスタまたは前記VRFの第2の組のオペランドレジスタのうちの第2のオペランドレジスタを前記VRFの前記オペランドレジスタとして選択する、アライメントするステップと、
前記VRFの標的レジスタに記憶される結果を作成するために前記1組のアライメントされたデータ値に対して前記ベクトルアライメントおよび演算命令に従って演算をするステップと、
を含む方法。
【請求項１２】
ベクトルマスクアライメント命令を実行するための方法であって、
第1のプロセッサ上で作成されたマスクおよび開始場所に対して、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内の第1のレジスタおよび第2のレジスタからアクセスするステップと、
前記マスク内のイネーブルビットに従って前記第2のプロセッサ上でベクトルレジスタファイル(VRF)の1組のオペランドレジスタを識別するように前記マスクを適用するステップと、
第2のプロセッサ上で前記VRFの前記識別された1組のオペランドレジスタ内の前記開始場所で始まる1組のデータ値を、前記VRFの標的の組のレジスタに1組のアライメントされたデータ値として記憶されるようにアライメントするステップと、
を含む方法。
【請求項１３】
コンピュータ読取り可能なプログラムデータおよびコードによって符号化されたコンピュータ読取り可能非一時的記憶媒体であって、前記プログラムデータおよびコードは実行時に、
第1のプロセッサ上の開始場所に対して、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内のレジスタからアクセスすること、
第2のプロセッサ上で、前記第2のプロセッサのベクトルレジスタファイル(VRF)のオペランドレジスタ内の前記開始場所で始まる1組のデータ値をアライメントすることであって、前記1組のデータ値は、前記VRF内の標的レジスタに1組のアライメントされたデータ値として記憶され、前記開始場所の指定のビットのバイナリ値が、前記VRFの第1の組のレジスタのうちの第1のレジスタまたは前記VRFの第2の組のレジスタのうちの第2のレジスタを前記VRFの前記レジスタとして選択する、アライメントすること、
を行うように動作可能である、コンピュータ読取り可能非一時的記憶媒体。
【請求項１４】
ベクトルアライメント命令を実行するための装置であって、
第1のプロセッサ内のスカラーレジスタファイルからアクセスされる1つまたは複数のレジスタ値を第2のプロセッサと共有するための手段であって、前記1つまたは複数のレジスタ値はベクトルアライメント命令において指定されたRtアドレスに従ってアクセスされ、前記1つまたは複数の共有されたレジスタ値のうちの1つから開始場所が決定される、共有するための手段と、
前記ベクトルアライメント命令に従って、ベクトルレジスタファイル(VRF)の開始Vuレジスタ内の前記開始場所と前記VRFの最終Vuレジスタの終了場所との間で識別された前記第2のプロセッサ内のデータをアライメントするための手段であって、前記ベクトルアライメント命令は前記VRFの第1の組のレジスタのうちの第1のレジスタまたは前記VRFの第2の組のレジスタのうちの第2のレジスタを選択するためのスパンビットを前記VRFの開始場所レジスタとして指定する、アライメントするための手段と、
アライメント回路から前記アライメントされたデータを選択するとともに前記ベクトルアライメント命令によって指定されたアライメント記憶アドレスに従って前記アライメントされたデータを前記VRF内に記憶するための手段と、
を備える装置。
【請求項１５】
前記共有するための手段が、第1のプロセッサに関連付けられるスカラーレジスタファイルであり、
前記アライメントするための手段が、前記第2のプロセッサ内のアライメント回路であり、
アライメント回路から前記アライメントされたデータを選択するとともに前記アライメントされたデータを記憶するための手段が、記憶回路である、請求項14に記載の装置。