【手続補正書】
【提出日】平成16年1月13日(2004.1.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パックされたデータ・オペランドの１つのデータ要素を、現在選択されているデータ要素として選択するステップであって、前記パックされたデータ・オペランドのそれぞれの要素が、書き込むためにその要素が選択されているかどうかを示す対応するマスク・データ要素を有する、前記選択するステップと、
前記現在選択されているデータ要素に対して現在選択されている記憶位置を示す値を記憶するステップ、
前記対応するマスク要素の１つまたは複数のビットから、現在選択されているデータ要素に対するプレディケイト値を決定するステップと、
並列処理装置内で、
前記現在選択されているデータ要素を、前記プレディケイト値に基づいて前記現在選択されている記憶位置に書き込み、
前記現在選択されている記憶位置を示す前記値を増分し、
前記パックされたデータ・オペランドの別のデータ要素を現在選択されているデータ要素として選択し、前記対応するマスク要素の１つまたは複数のビットからそのデータ要素に対するプレディケイト値を決定すること
を実行することによって、前記パックされたデータ・オペランドから現在選択されているデータ要素を選択的に書き込むステップと、
前記パックされたデータ・オペランドの最後のデータ要素が現在選択されているデータ要素になるまで、前記選択的に書き込むステップを繰り返すステップと、および
前記現在選択されているデータ要素を、前記プレディケイト値に基づいて前記現在選択されている記憶位置に書き込むステップと
を含むコンピュータで実施される方法。
【請求項２】
前記プレディケイト値が、テスト・ビット命令を使用することによって決定される請求項１に記載の方法。
【請求項３】
１つまたは複数のマイクロ命令に復号されたの単一のマクロ命令によって、動作が実行される請求項１に記載の方法。
【請求項４】
前記マクロ命令が、前記マイクロ命令を含む第２の命令セットとは別の異なる第１の命令セットの一部であり、前記第２の命令セットからの命令がプロセッサによって直接受信される請求項３に記載の方法。
【請求項５】
前記第２の命令セットからの命令が、制御信号および／またはマイクロコード・エントリポイントに復号される請求項４に記載の方法。
【請求項６】
コンピュータ・システムであって、
プレディケーション回路および並列処理装置を有するプロセッサと、
前記プロセッサに結合されている記憶装置であって、
プロセッサによって実行されたときに、
前記並列処理装置内で、パックされたデータ・オペランドのデータ要素に対して、
前記パックされたデータ要素が対応する記憶位置に書き込むために選択されているかどうかを示す、パックされたデータ・マスク要素の１つまたは複数のビットから、前記データ要素に対するプレディケイト値を前記プレディケイション回路に決定させること、および
前記プレディケイト値に基づいて選択されたデータ要素を対応する記憶位置に記憶すること
を実行することによって、プロセッサに、パックされたデータ・オペランドからの各データ要素を対応する記憶位置に選択的に書き込ませる１つまたは複数の命令のセットを記憶している記憶装置と
を備えるコンピュータ・システム。
【請求項７】
前記１つまたは複数の命令のセットが、前記プロセッサに各データ要素を選択的に書き込ませる少なくとも１つまたは複数のマイクロ命令にプロセッサによって復号された単一のマクロ命令を含む請求項５に記載のコンピュータ・システム。
【請求項８】
前記プロセッサが、前記対応する記憶位置に書き込まれる前に、前記プレディケイト値に従って選択される１つまたは複数のデータ要素を受信するために結合バッファを含む請求項５に記載のコンピュータ・システム。
【請求項９】
前記プロセッサが、第１の命令セットからのマクロ命令を復号するための第１のデコーダと、第２の命令セットからのマクロ命令を前記第１の命令セットからの命令で構成されているマイクロ命令に復号するための第２のデコーダとを含む請求項５に記載のコンピュータ・システム。
【請求項１０】
前記１つまたは複数の命令のセットが、前記第１の命令セットからの複数の命令で構成されている請求項８に記載のコンピュータ・システム。
【請求項１１】
パックされたデータオペランドからの各データ要素を対応する記憶位置に選択的に書き込む、コンピュータで実施される方法であって、
複数の命令によって、前記パックされたデータ・オペランドからの各データ要素に対して、前記データ要素が前記対応する記憶位置に書き込むために選択されたかどうかを示す、対応するパックされたデータ・マスクの１つまたは複数のビットから、テスト命令を用いてその要素のプレディケイト値を決定することを実行するコンピュータ実施方法。
【請求項１２】
前記複数の命令を生成する単一のマクロ命令によって実行する請求項１１記載のコンピュータ実施方法。
【請求項１３】
前記マクロ命令は、前記複数の命令を含む第２の命令セットとは別の異なる第１の命令セットの一部であり、前記第２の命令セットからの複数の命令がプロセッサによって直接受信される請求項１２記載のコンピュータ実施方法。
【請求項１４】
前記複数の命令がマイクロ命令である請求項１１記載のコンピュータ実施方法。
【請求項１５】
前記複数の命令がマクロ命令である請求項１１記載のコンピュータ実施方法。
【請求項１６】
単一の命令を複数の命令に変換することを含む請求項１１記載のコンピュータ実施方法。
【請求項１７】
パックされたデータ・オペランドの各パックされたデータ要素を対応する記憶位置に選択的に書き込むための一つまたは複数の命令のセットをデコードするデコーダと、
そのデコーダに接続され、前記パックされたデータ要素に対するプレディケイト値を、前記対応する記憶位置に書き込むために前記パックされたデータ要素が選択されたかどうかを示すパックされたデータ・マスク要素の１つまたは複数のビットに基づいて決定するプレディクション回路と、
前記デコーダに接続され、前記プレディケイト値に基づいて対応する記憶位置に前記パックされたデータ要素を選択的に書き込む複数の並列処理装置及び前記選択されたデータ要素を対応する記憶位置に書き込む前に記憶する結合バッファを有する実行ユニットと
を有するプロセッサ。
【請求項１８】
１つまたは複数の命令が１つ以上のマクロ命令からなる請求項１７記載のプロセッサ。
【請求項１９】
１つまたは複数の命令が単一のマクロ命令である請求項１７記載のプロセッサ。
【請求項２０】
１つまたは複数の命令が１つ以上のマイクロ命令からなる請求項１７記載のプロセッサ。
【請求項２１】
パックされたデータ・オペランドとパックされたマスク・オペランドとを識別するバイト・マスク書込み命令をエミュレートすることを含む方法であって、そのエミュレートすることは
対応する記憶位置に書き込むために対応するデータ要素が選択されたかどうかを示す、前記パックされたデータオペランドの各データ要素のプレディケイト値を、前記パックされたマスク・オペランドの対応するパックされたデータ・マスク要素の１つまたは複数のビットから決定するステップと、
対応する記憶位置に関するプレディケイト値によって指示されたように書き込むために選択された前記データ要素のみを記憶するステップと
を実行することを含む方法。
【請求項２２】
第１の命令セットのバイト・マスク書込み命令を第２の命令セットの複数の命令に変換するステップであって、その複数の命令はプロセッサによって受信可能なマクロ命令であるステップと、
その複数の命令をプロセッサで実行するステップとを有し、
前記実行するステップは、パックされたデータ・オペランドに対して
対応する記憶位置に書き込むために対応するデータ要素が選択されたかどうかを示す、データ要素のプレディケイト値を、パックされたマスク・オペランドの対応するパックされたデータ・マスク要素の１つまたは複数のビットから決定し、
対応する記憶位置にプレディケイト値に基づいて選択された前記データ要素を記憶することを実施することを含む方法。
【請求項２３】
パックされたデータ・オペランドとパックされたマスク・オペランドとを識別するバイト・マスク書込み命令であって、第２の命令セットからのバイト・マスク書込み命令をエミュレートする命令を受信するための第１の命令セットのデコーダと、
そのデコーダに接続され、対応する記憶位置に書き込むためにパックされたデータ要素が選択されたかどうかを示す、前記パックされたマスク・オペランドの対応するパックされたデータ・マスク要素の１つまたは複数のビットに基づいて、前記パックされたデータ要素のプレディケイト値を決定するプレディクション回路と、
前記デコーダに接続され、前記第２の命令セットの命令を実行する実行ユニットとを有するプロセッサであって、
その実行ユニットが、前記プレディケイト値に基づいて対応する記憶位置に選択的に前記データ要素を書き込む１つまたは複数の処理ユニットのセットを有するプロセッサ。