【手続補正書】
【提出日】平成23年3月2日(2011.3.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データをシャッフルするためのプロセッサユニットであって、
データを格納するための複数のレジスタを有するレジスタファイルと、
前記レジスタファイルから、ソースデータ要素とＬ個のシャッフルマスクの形式のＬ個の制御要素とを受信するよう動作する実行ユニットと、
を有し、
前記Ｌ個の制御要素のそれぞれは、結果におけるデータ要素位置に関連付けされ、複数の部分に分割され、
第１部分はゼロクリア指示を示すフラッシュフィールドであり、第２部分は前記ソースデータ要素の１つの位置を示す位置選択フィールドであり、第３部分は特別な利用のための予約フィールドであり、
前記実行ユニットはまた、
前記ゼロクリア指示が各制御要素に対して設定されているか判断し、前記ゼロクリア指示が各制御要素に対して設定されている場合、関連する結果のデータ要素位置にゼロを配置し、前記ゼロクリア指示が各制御要素に対して設定されていない場合、前記各制御要素により指定される前記ソースデータ要素のデータ要素から前記関連する結果のデータ要素位置にデータをシャッフルするよう動作するプロセッサユニット。
【請求項２】
当該プロセッサユニットは、８ビットバイトデータのシャッフルを含むＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）処理を実行するＳＩＭＤプロセッサユニットからなる、請求項１記載のプロセッサユニット。
【請求項３】
前記レジスタファイルは、前記ＳＩＭＤプロセッサユニットに接続され、各レジスタが１２８ビットのデータを格納する複数のレジスタを有する、請求項２記載のプロセッサユニット。
【請求項４】
前記予約フィールドの特殊な利用は、複数のソースデータレジスタの何れかから、前記関連する結果のデータ要素位置にシャッフルするため、各制御要素の位置選択フィールドにより指定されるデータ要素を選択するため示すものである、請求項３記載のプロセッサユニット。
【請求項５】
前記ＳＩＭＤプロセッサユニットは、音声通信を表すデジタル音声サンプルを生成するため、前記ＳＩＭＤプロセッサユニットの命令により処理されるデータをデジタルストリームにより受信する、請求項２記載のプロセッサユニット。
【請求項６】
前記ＳＩＭＤプロセッサユニットは、デジタル動きビデオフレームを生成するため、前記ＳＩＭＤプロセッサユニットの命令により処理されるデータをデジタルストリームにより受信する、請求項２記載のプロセッサユニット。
【請求項７】
請求項２記載のプロセッサユニットを有するデータ処理システムであって、
前記ＳＩＭＤプロセッサユニットに接続され、汎用タイプのデータ処理演算を制御するメインプロセッサと、
前記メインプロセッサの制御の下で前記メインプロセッサとやりとりするため動作接続されるキャッシュメモリと、
入出力（Ｉ／Ｏ）システムと、
をさらに有するデータ処理システム。
【請求項８】
前記メインプロセッサと前記ＳＩＭＤプロセッサユニットとは、単一の処理コアに一体化される、請求項７記載のデータ処理システム。
【請求項９】
汎用タイプのデータ処理演算を制御するメインプロセッサと、
前記メインプロセッサと接続されるＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサユニットと、
を有するデータ処理システムであって、
前記ＳＩＭＤプロセッサユニットは、
各レジスタが１２８ビットのデータを格納する複数のレジスタを有するレジスタファイルと、
前記レジスタファイルから、８ビットバイトデータソースデータ要素とＬ個のシャッフルマスクの形式のＬ個の制御要素とを受信するよう動作する実行ユニットと、
を有し、
前記Ｌ個の制御要素のそれぞれは、結果における８ビットバイトデータ要素位置に関連付けされ、複数の部分に分割され、
第１部分はゼロクリア指示を示すフラッシュフィールドであり、第２部分は前記８ビットバイトソースデータ要素の１つの位置を示す位置選択フィールドであり、第３部分は特別な利用のための予約フィールドであり、
前記実行ユニットはまた、
前記ゼロクリア指示が各制御要素に対して設定されているか判断し、前記ゼロクリア指示が各制御要素に対して設定されている場合、関連する結果の８ビットバイトデータ要素位置にゼロを配置し、前記ゼロクリア指示が各制御要素に対して設定されていない場合、前記各制御要素により指定される前記８ビットバイトソースデータ要素のデータ要素から前記関連する結果の８ビットバイトデータ要素位置にデータをシャッフルするよう動作するデータ処理システム。
【請求項１０】
前記予約フィールドの特殊な利用は、複数のソースデータレジスタの何れかから、前記関連する結果のデータ要素位置にシャッフルするため、各制御要素の位置選択フィールドにより指定されるデータ要素を選択するため示すものである、請求項９記載のデータ処理システム。
【請求項１１】
前記ＳＩＭＤプロセッサユニットは、音声通信を表すデジタル音声サンプルを生成するため、前記ＳＩＭＤプロセッサユニットの命令により処理されるデータをデジタルストリームにより受信する、請求項９記載のデータ処理システム。
【請求項１２】
前記ＳＩＭＤプロセッサユニットは、デジタル動きビデオフレームを生成するため、前記ＳＩＭＤプロセッサユニットの命令により処理されるデータをデジタルストリームにより受信する、請求項９記載のデータ処理システム。
【請求項１３】
前記メインプロセッサの制御の下で前記メインプロセッサとやりとりするため動作接続されるキャッシュメモリと、
入出力（Ｉ／Ｏ）システムと、
をさらに有する、請求項９記載のデータ処理システム。
【請求項１４】
前記メインプロセッサと前記ＳＩＭＤプロセッサユニットとは、単一の処理コアに一体化される、請求項９記載のデータ処理システム。
【請求項１５】
制御ロジックが、各シャッフルマスクが一意的な結果のデータ要素位置に関連付けされるＬ個のシャッフルマスクを有する第１オペランドを受信し、結果の各データ要素位置について選択信号とゼロクリア信号とを提供するステップと、
前記制御ロジックに接続されるＬ個のマルチプレクサの各マルチプレクサであって、一意的な結果のデータ要素位置に関連付けされる各マルチプレクサを介して、それの関連付けされたゼロクリア信号がアクティブであるときにはゼロを出力し、それの関連付けされたゼロクリア信号が非アクティブであるときには、それの関連付けされた選択信号に基づきＬ個のデータ要素から選択されたデータを出力するステップと、
を有するデータシャッフル方法であって、
前記Ｌ個のシャッフルマスクのそれぞれは、設定されているとき前記マスクにより指定される前記結果のデータ要素位置がゼロにされるべきであることを示すゼロクリアフラグである第１部分と、前記Ｌ個のデータ要素の１つの位置を示す位置選択フィールドである第２部分と、予約又はソース選択フィールドである第３部分との３つの部分に分割されるデータシャッフル方法。
【請求項１６】
請求項１５記載の方法であって、
前記Ｌ個の制御要素のそれぞれは、前記第２オペランドに配置されることを特徴とする方法。
【請求項１７】
請求項１６記載の方法であって、
前記Ｌ個のデータ要素のそれぞれは、前記第１オペランドに配置されることを特徴とする方法。
【請求項１８】
請求項１７記載の方法であって、
前記結果のデータ要素位置のそれぞれは、それの関連付けされたマルチプレクサからの出力を保持することを特徴とする方法。
【請求項１９】
請求項１６記載の方法であって、さらに、
前記第２オペランドの制御要素に応答して、前記第１オペランドからシャッフルされたデータを有する結果のデータブロックを出力するステップを有することを特徴とする方法。
【請求項２０】
請求項１５記載の方法であって、
前記データ要素のそれぞれは、１バイトのデータから構成されることを特徴とする方法。
【請求項２１】
請求項２０記載の方法であって、
前記制御要素のそれぞれは、１バイト長であることを特徴とする方法。
【請求項２２】
請求項２１記載の方法であって、
Ｌは８であり、前記第１オペランド、前記第２オペランド及び前記結果は、それぞれ６４ビット長ｐａｃｋｅｄデータから構成されることを特徴とする方法。
【請求項２３】
請求項２１記載の方法であって、
Ｌは１６であり、前記第１オペランド、前記第２オペランド及び前記結果は、それぞれ１２８ビット長ｐａｃｋｅｄデータから構成されることを特徴とする方法。
【請求項２４】
前記第２オペランドの受信及び前記データを関連付けされた結果のデータ要素に出力することは、３ビットにより前記第１オペランドを格納する第１レジスタを指定し、３ビットにより前記第２オペランドを格納する第２レジスタを指定する１つのｐａｃｋｅｄシャッフル命令を受け取ることに応答して実行され、前記第１オペランドと前記第２オペランドとは同じサイズを有し、前記Ｌ個のデータ要素とＬ個の制御要素とのキャッシュは同じサイズを有しており、
前記Ｌ個の制御要素のそれぞれは、３つの部分に分割され、第１部分は各シャッフルマスクの最上位ビットを占有するゼロクリアフラグであり、第２部分は少なくともｌｏｇ２Ｌのビット長であって、前記Ｌ個のデータ要素の１つの位置を示す位置選択フィールドである、請求項１５記載の方法。
【請求項２５】
複数のソースデータ要素を格納する第１記憶位置と、
各制御要素が結果のデータ要素位置に対応し、ゼロクリアビットと選択フィールドとを有するＬ個のシャッフルマスクの形式による複数の制御要素を格納する第２記憶位置と、
前記第２記憶位置に接続され、前記制御要素の値に応答して、複数の選択信号と複数のゼロクリア信号とを生成する制御ロジックと、
前記第１記憶位置に接続され、前記複数の選択信号を受信する複数の第１マルチプレクサであって、各マルチプレクサが特定の結果のデータ要素位置に対応する選択信号に応答して、前記特定の結果のデータ要素位置のデータ要素をシャッフルする複数の第１マルチプレクサと、
前記複数の第１マルチプレクサに接続され、前記複数のゼロクリア信号を受信する複数の第２マルチプレクサであって、各マルチプレクサが特定の結果のデータ要素位置に関連付けされ、それのゼロクリア信号がアクティブである場合にはゼロを出力し、または、前記特定の結果のデータ要素位置に対してシャッフルされたデータ要素を出力する複数の第２マルチプレクサと、
から構成される装置であって、
設定されているとき、前記ゼロクリア信号は、前記マスクにより指定される結果のデータ要素位置がゼロにされるべきであることを示すことを特徴とする装置。
【請求項２６】
請求項２５記載の装置であって、
前記複数のソースデータ要素は、第１ｐａｃｋｅｄデータオペランドであることを特徴とする装置。
【請求項２７】
請求項２６記載の装置であって、
前記複数の制御要素は、第２ｐａｃｋｅｄデータオペランドであることを特徴とする装置。
【請求項２８】
請求項２６記載の装置であって、
前記第１及び第２記憶位置は、ＳＩＭＤ（Ｓｉｎｇｌｅ Ｉｎｓｔｒｕｃｔｉｏｎ Ｍｕｌｔｉｐｌｅ Ｄａｔａ）レジスタであることを特徴とする装置。
【請求項２９】
請求項２７記載の装置であって、
前記第１ｐａｃｋｅｄオペランドは６４ビット長であり、前記ソースデータ要素のそれぞれは１バイト長であり、
前記第２ｐａｃｋｅｄオペランドは６４ビット長であり、前記制御要素のそれぞれは１バイト長である、
ことを特徴とする装置。
【請求項３０】
請求項２７記載の装置であって、
前記第１ｐａｃｋｅｄオペランドは１２８ビット長であり、前記ソースデータ要素のそれぞれは１バイト長であり、
前記第２ｐａｃｋｅｄオペランドは１２８ビット長であり、前記制御要素のそれぞれは１バイト長である、
ことを特徴とする装置。
【請求項３１】
各シャッフルマスクが一意的な結果のデータ要素位置に関連付けされるＬ個のシャッフルマスクを受信し、各結果のデータ要素位置に対して、選択信号とゼロ設定信号とを提供する制御ロジックと、
前記制御ロジックに接続され、各マルチプレクサもまた一意的な結果のデータ要素位置に関連付けされ、それの関連付けされたゼロクリア信号がアクティブである場合にはゼロを、それの関連付けされたゼロクリア信号が非アクティブである場合には、それの関連付けされた選択信号に基づきＬ個のデータ要素から選択されたデータを出力するＬ個のマルチプレクサと、
から構成される装置であって、
設定されているとき、前記ゼロクリア信号は、前記マスクにより指定される結果のデータ要素位置がゼロにされるべきであることを示し、
前記Ｌ個のシャッフルマスクのそれぞれは、ゼロクリアビットである第１部分と、データ要素の位置を示す位置選択フィールドである第２部分と、予約フィールドである第３部分との３つの部分に分割されることを特徴とする装置。
【請求項３２】
請求項３１記載の装置であって、さらに、
各データ要素位置がそれの関連付けされたマルチプレクサからの出力を保持するＬ個の一意的なデータ要素位置を有するレジスタを有することを特徴とする装置。
【請求項３３】
請求項３２記載の装置であって、
Ｌは１６であることを特徴とする装置。
【請求項３４】
データ及び命令を格納するメモリと、
前記メモリから、プロセッサにデータシャッフル処理を実行させる命令を受信するバスと、
前記メモリに前記バスを介して接続され、前記データシャッフル処理を実行可能なプロセッサと、
から構成されるシステムであって、
前記プロセッサは、
Ｌ個のデータ要素を有する第１オペランドと、各シャッフルマスクが一意的な結果のデータ要素位置に関連付けされるＬ個のシャッフルマスクの形式によるＬ個の制御要素を有する第２オペランドとを受信し、結果の各データ要素位置について選択信号とゼロクリア信号とを提供する制御ロジックと、
各マルチプレクサが一意的な結果のデータ要素位置に関連付けされ、それの関連付けされたゼロクリア信号がアクティブである場合にはゼロを出力し、それの関連付けされたゼロクリア信号が非アクティブである場合には、それの関連付けされた選択信号に基づきＬ個のデータ要素から選択されたデータを出力する、前記制御ロジックに接続されたＬ個のマルチプレクサと、
から構成され、
設定されているとき、前記ゼロクリア信号は、前記マスクにより指定される結果のデータ要素位置がゼロにされるべきであることを示し、
前記Ｌ個のシャッフルマスクのそれぞれは、ゼロクリアビットである第１部分と、前記Ｌ個のデータ要素の１つの位置を示す位置選択フィールドである第２部分と、予約フィールドである第３部分との３つの部分に分割されることを特徴とするシステム。
【請求項３５】
請求項３４記載のシステムであって、
各シャッフル制御要素は、前記ゼロクリアビットと前記位置選択フィールドとから構成され、
前記ゼロクリアビットは、該シャッフル制御要素に係るデータ要素位置がゼロの値により充填されるべきか示し、
前記位置選択フィールドは、データをシャッフルする第１オペランドデータ要素を示す、
ことを特徴とするシステム。
【請求項３６】
請求項３５記載のシステムであって、
前記Ｌ個のデータ要素のそれぞれは、ソース選択フィールドから構成されることを特徴とするシステム。
【請求項３７】
請求項３４記載のシステムであって、
前記命令は、ゼロクリア機能を有するｐａｃｋｅｄバイトシャッフルであることを特徴とするシステム。
【請求項３８】
請求項３４記載のシステムであって、
前記Ｌ個のデータ要素のそれぞれは１バイト長であり、
各シャッフルコマンド要素は１バイト長であり、
Ｌは８である、
ことを特徴とするシステム。
【請求項３９】
請求項３４記載のシステムであって、
前記第１オペランドは６４ビット長であり、
前記第２オペランドは６４ビット長である、
ことを特徴とするシステム。
【請求項４０】
データをシャッフルするプロセッサであって、
シャッフル命令を復号化するデコーダと、
整数レジスタと浮動小数点レジスタとを含むレジスタファイルと、
４つのデータ要素を有する第１オペランドを格納する第１の６４ビットソースレジスタと、４つの２ビット選択フィールドのセットを有する第２ソースオペランドを格納する第２の６４ビットレジスタと、６４ビットデスティネーションレジスタとを有する前記レジスタファイルにおける前記レジスタをリネームするレジスタリネームロジックと、
前記デコーダからのマイクロ命令を格納するキューと、
前記ソースレジスタの従属オペランドの準備状況に基づき処理の実行をスケジューリングするスケジューラと、
前記レジスタファイルから前記第１オペランドと前記選択フィールドのセットとを受信するよう動作する実行ユニットと、
を有し、
前記選択フィールドのそれぞれは、デスティネーションオペランドのデータ要素位置に関連付けられ、
前記選択フィールドのそれぞれは、前記第１オペランドから前記デスティネーションオペランドにコピーされるべき前記データ要素の１つを選択するため処理可能な位置選択フィールドであり、
前記実行ユニットはさらに、前記２ビット選択フィールドのそれぞれにより指定される順序に基づき前記第１オペランドのデータ要素から前記関連付けされたデスティネーションデータ要素位置にデータをコピーするよう動作するプロセッサ。