【手続補正書】
【提出日】平成18年11月7日(2006.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１６の汎用レジスタと
該レジスタとデータを交換するためにメモリにアクセスする手段と、そして
メモリからの命令を処理するための演算装置とを具備し、全ての命令は２４ビットを越えない長さを有し、全ての命令は完全な特徴のＲＩＳＣ命令のセットを含み、
少なくとも１つの命令は、オプコードフィールドと、命令に対する定数オペランドを特定するフィールドと、ソースレジスタとして該汎用レジスタのいずれか１つを指定することのできるソースレジスタフィールドと、そして行先レジスタとして該汎用レジスタのいずれか１つを指定することのできる１つの行先レジスタフィールドとを有しており、
少なくとも１つの命令は、オプコードフィールドと、各々がソースレジスタとして該汎用レジスタのいずれか１つを指定することのできる複数のソースレジスタフィールドとそして、行先レジスタとして該汎用レジスタのいずれか１つを指定することのできる行先レジスタフィールドとを有しており、
少なくとも１つの命令は、該演算装置に複数の複合演算を実行させ、該演算の第１のものは第１の計算および論理演算の１つであり、該演算の第２のものは第２の計算演算および条件ブランチ演算の１つであり、そして
さらに全ての命令は、同一の全ての命令を使用する複数のソースプログラムに関するプロセッサ（ＩＥ）によって実行される命令のサイズ（ＩＳ）および命令の数を同時に最適化するために選択される、
プロセッサ。
【請求項２】
命令は、同じ第１の圧縮されていない固定長の命令を有する第１のグループの命令と、第１の固定長の命令とは異なる同じ第２の圧縮されていない固定長の命令を有する第２のグループの命令とを含んでおり、そして
両方のグループに共通のオプコードフィールド中の所定のビットフィールドはそのビットフィールドを有する命令が属しているグループを示している請求項１記載のプロセッサ。
【請求項３】
第１の演算は、命令内のソースレジスタフィールドによって示されたレジスタ値の比較であり、第２の演算は、比較の結果に応答するブランチ演算である請求項１記載のプロセッサ。
【請求項４】
第１の演算は、ソースレジスタフィールドによって示されたレジスタの内容の論理的な左シフトであり、第２の演算は、シフトされたレジスタ内容および別のソースレジスタ値についての計算演算である請求項１記載のプロセッサ。
【請求項５】
第１の演算は、ソースレジスタフィールドによって示されたレジスタの内容の論理的な右シフトであり、第２の演算は、命令の定数フィールドによって特定された値を有するシフトの結果についての論理的なアンド演算である請求項１記載のプロセッサ。
【請求項６】
少なくとも１つの命令は、第２の命令アドレスに到達するまで第１の命令アドレスにおいて開始した命令をプロセッサに実行させ、その後再び第１のアドレスにおいて実行を継続し、命令のソースレジスタフィールドによって示されたソースレジスタの内容によって決定された回数だけ反復する請求項１記載のプロセッサ。
【請求項７】
プロセッサは検索表中の定数値を指定する定数フィールドを有する少なくとも１つの命令を有している請求項１記載のプロセッサ。
【請求項８】
さらに、複数の特定目的のレジスタと、そして
コプロセッサとデータを交換するために特定目的のレジスタをアクセスする手段とを具備し、
少なくとも１つの命令は、予め定められた値である特定目的のレジスタ中のデータに応答する条件ブランチである請求項１記載のプロセッサ。
【請求項９】
該特定目的のレジスタは単一ビットレジスタであり、
該アクセスする手段はさらに単一ビットレジスタと複数のコプロセッサとの間でデータを交換する請求項８記載のプロセッサ。
【請求項１０】
データを記憶する複数のレジスタと、
メモリとレジスタとの間でデータを交換するためにメモリにアクセスする手段と、そして
レジスタ中に記憶されたデータを処理するためにメモリからの命令を実行する演算手段とを具備し、
複数の命令は複数のレジスタフィールドを有し、各レジスタフィールドは４ビット幅以上のビット幅であり、
命令は、完全な特徴のＲＩＳＣ命令のセットを含み、そして各々のロードと、セーブと、均等性についての条件ブランチと、非均等性についての条件ブランチと、そして計算演算の少なくとも１つを含み、各々の命令は２４ビットを越えない長さで符号化されており、
演算手段は、ロード命令の実行に応答して、命令のソースレジスタフィールドおよびロード命令の定数フィールドによって特定されたレジスタの内容の合計に対応しているメモリ位置からのロード命令の行先レジスタフィールドの内容によって指定されたレジスタ中にデータをロードし、
演算手段は、記憶命令の実行に応答して、記憶命令の第２のソースレジスタフィールドおよび記憶命令の定数フィールドによって特定されたレジスタの内容の合計に対応しているメモリ位置の記憶命令の第１のソースレジスタフィールドの内容によって指定されたレジスタからのデータを記憶し、
演算手段は、均等性命令についての条件ブランチの実行に応答して、非均等性命令についての条件ブランチにより示された２つのレジスタの内容が等しいとき、均等性命令についての条件ブランチにより示された相対的オフセット値に対応する位置で開始するメモリからの命令を順次実行し、
演算手段は、非均等性命令についての条件ブランチの実行に応答して、非均等性命令についての条件ブランチにより示された２つのレジスタの内容が等しくないとき、非均等性命令についての条件ブランチにより示された相対的オフセット値に対応する位置で開始するメモリからの命令を順次実行し、そして
演算手段は、計算命令の実行に応答して、計算命令のそれぞれのソースレジスタフィールドにより示される複数のレジスタの内容について計算演算を実行し、計算命令の行先レジスタフィールドによって示されるレジスタ中にその結果を記憶させ、そして
さらにこの命令は、同一の命令を使用する複数のソースプログラムに関するプロセッサ（ＩＥ）によって実行される命令のサイズ（ＩＳ）および命令の数を同時に最適化するために選択される、
プロセッサ。
【請求項１１】
ロード、記憶、均等性についての条件ブランチ、非均等性について条件ブランチ、および計算命令のそれぞれのソースレジスタフィールドは各命令の境界に関して同じ位置にあり、
記憶、均等性についての条件ブランチ、非均等性について条件ブランチ、および計算命令の付加的なソースレジスタフィールドは各命令の境界に関して同じ位置にある請求項１０記載のプロセッサ。
【請求項１２】
演算手段はさらに、ループ命令を一度実行するのに応答して、他の命令を複数回実行する請求項１１記載のプロセッサ。
【請求項１３】
ロード、記憶、均等性についての条件ブランチ、非均等性について条件ブランチおよび計算命令は、それぞれ同じ第１の固定長で符号化され、そして
演算手段は、短いロード、短い記憶、均等性についての短い条件ブランチ、非均等性について短い条件ブランチ、および各々が第１の固定長よりも短い同じ第２の固定長で符号化された短い計算命令のそれぞれの実行に応答して、それぞれのロード、記憶、均等性についての条件ブランチ、非均等性について条件ブランチ、および計算命令の対応する演算を実行する請求項１２記載のプロセッサ。
【請求項１４】
演算手段は、レジスタファイル内のレジスタのグループを示すウインドウベースレジスタを含み、そして
演算手段はさらに、レジスタフィールドがレジスタのグループ中のウインドウに関係するレジスタを示すように、レジスタファイル内のレジスタのグループをウインドウに示す請求項１２記載のプロセッサ。
【請求項１５】
ウインドウベースレジスタの相対的インクリメントはサブルーチン呼出し命令中の定数によって特定される請求項１４記載のプロセッサ。
【請求項１６】
データを記憶する複数のレジスタと、
メモリと該レジスタとの間でデータを交換するためにメモリをアクセスする手段と、そして
レジスタ中に記憶されたデータを処理するためにメモリからの命令を実行する演算手段とを具備し、
命令は完全な特徴のＲＩＳＣ命令のセットを含み、各命令は２４ビットを越えない長さを有し、複数の命令は複数のソースレジスタフィールドおよび行先レジスタフィールドを有し、各レジスタフィールドは４ビット幅以上のビット幅であり、
演算手段は、ロード命令の実行に応答して、命令のソースレジスタフィールドおよびこの命令の定数フィールドによって特定されたレジスタの１つの内容の合計に対応しているメモリ位置からのロード命令の行先レジスタフィールドによって特定されたレジスタ中にデータをロードし、
演算手段は、記憶命令の実行に応答して、該命令の第２のソースレジスタフィールドおよび該命令の定数フィールドによって特定されたレジスタの内容の合計に対応しているメモリ位置において命令の第１のソースレジスタフィールドによって特定されたレジスタからのデータを記憶し、
演算手段は、条件ブランチ命令の実行に応答してテストを行い、テストの結果が真実であった場合には、条件ブランチ命令により示された相対的オフセット値に対応する位置で開始するメモリからの命令を順次実行し、
該テストは、
２つのソースレジスタの内容の均等性、
２つのソースレジスタの内容の非均等性、
ゼロに等しい２つのソースレジスタのビット毎の論理アンド、
ゼロに等しくない２つのソースレジスタのビット毎の論理アンド、
ゼロである第２のソースレジスタの内容によって指定された第１のソースレジスタ中のデータの２進ビット、
１である第２のソースレジスタの内容によって指定された第１のソースレジスタ中のデータの２進ビット、
ゼロである命令のフィールドによって指定されたソースレジスタ中のデータの２進ビット、
１である命令のフィールドによって指定されたソースレジスタ中のデータの２進ビット、
第２のソースレジスタの内容より小さい２の補数である命令のフィールドによって指定された第１のソースレジスタの内容、
第２のソースレジスタの内容より大きいか又は等しい２の補数である命令のフィールドによって指定された第１のソースレジスタの内容、
第２のソースレジスタの内容より小さい符号のない命令のフィールドによって指定された第１のソースレジスタの内容、
第２のソースレジスタの内容より大きいか又は等しい符号のない命令のフィールドによって指定された第１のソースレジスタの内容、
ソースレジスタの内容と命令の定数フィールドとの均等性、
ソースレジスタの内容と命令の定数フィールドとの非均等性、
命令の定数フィールドより小さい２の補数であるソースレジスタの内容、
命令の定数フィールドより大きいか又は等しい２の補数であるソースレジスタの内容、
命令の定数フィールドよりも小さい符号のないソースレジスタの内容、そして
命令の定数フィールドより大きいか又は等しい符号のないソースレジスタの内容、
からなる第１のグループから選択され、そして
命令は、同じ第１の圧縮されていない固定長の命令を有する第１のセットの命令と、そして圧縮されていない第１の固定長の命令より小さい、同じ第２の圧縮されていない固定長の命令を有する第２のセットの命令を含み、
両方のセットに共通のオプコードフィールド中の所定のビットフィールドは、そのビットフィールドを有する命令が属しているセットを示し、そして
さらにレジスタフィールドの数は命令の第１および第２のセット双方について同じであり、
複数レジスタの全てが、命令の第１および第２のセットの双方によってアクセスされ得る、
プロセッサ。
【請求項１７】
該テストは、
ゼロであるソースレジスタの内容、
ゼロではないソースレジスタの内容、
ゼロより小さい２の補数であるソースレジスタの内容、そして
ゼロより大きい２の補数であるソースレジスタの内容、
からなる第２のグループおよび前記の第１のグループの中から選択され、
ゼロに対する各比較が、ソースレジスタをゼロでないオーギュメントと比較する対応する命令のオフセットよりも大きいブランチターゲットを指定するためのオフセットを特定する請求項１６記載のプロセッサ。
【請求項１８】
テストは、フィールド値によって特定された検索表中の位置を参照にすることによって定数を形成する命令の定数フィールドとソースレジスタとの比較を含んでいる請求項１７記載のプロセッサ。
【請求項１９】
より少ないビットで符号化されそして対応する条件ブランチ命令よりも短い相対的オフセットフィールドを使用する条件ブランチ命令を含みそしてソースレジスタの内容の１つであるテストを含む命令が、ゼロであり、そしてソースレジスタの内容がゼロでない請求項１８記載のプロセッサ。
【請求項２０】
第２の命令のグループは第１の命令のグループの演算上のサブセットである請求項２記載のプロセッサ。
【請求項２１】
第１および第２の命令のグループは同じオプコードマップを占める請求項２記載のプロセッサ。
【請求項２２】
命令は、同じ第１の圧縮されていない固定長の命令を有する第１の命令のグループと、第１の圧縮されていない固定長の命令とは異なる、同じ第２の圧縮されていない固定長の命令を有する第２の命令のグループを含み、
両方のグループに共通のオプコードフィールド中の所定のビットフィールドが、そのビットフィールドを有する命令が属しているグループを示す請求項１０記載のプロセッサ。
【請求項２３】
第２の命令のグループは第１の命令のグループの演算上のサブセットである請求項２２記載のプロセッサ。
【請求項２４】
第１および第２の命令のグループは同じオプコードマップを占める請求項２２記載のプロセッサ。
【請求項２５】
命令は、同じ第１の圧縮されていない固定長の命令を有する第１の命令のセットと、第１の圧縮されていない固定長の命令とは異なる、同じ第２の圧縮されていない固定長の命令を有する第２の命令のセットを含み、
両方のグループに共通のオプコードフィールド中の所定のビットフィールドがそのビットフィールドを有する命令が属しているセットを示す請求項１６記載のプロセッサ。
【請求項２６】
第２の命令のセットは第１の命令のセットの演算上のサブセットである請求項２５記載のプロセッサ。
【請求項２７】
第１および第２の命令のセットは同じオプコードマップを占める請求項２５記載のプロセッサ。
【請求項２８】
少なくとも１６の汎用レジスタと、
該レジスタとデータを交換するためメモリにアクセスする手段と、そして
メモリからの命令を処理する演算装置とを具備し、命令の全ては２４ビットを超えない長さを有し、全ての命令は複数の異なるソースプログラムの実行を可能とする完全な特徴のＲＩＳＣ命令のセットを含み、
少なくとも１つの命令は、オプコードフィールドと、命令に対する定数オペランドを特定するフィールドと、ソースレジスタとして該汎用レジスタのいずれか１つを指定することを可能とするソースレジスタフィールドと、そして行先レジスタとして汎用レジスタのいずれか１つを指定することを可能とする行先フィールドを有し、
少なくとも１つの命令はオプコードフィールドと、各々がソースレジスタとして汎用レジスタのいずれか１つを指定することを可能とする複数のソースレジスタフィールドと、そして行先レジスタとして汎用レジスタのいずれか１つを指定することを可能とする行先フィールドとを有し、
少なくとも１つの命令は演算装置に対して複数の複合演算を実行させ、演算の最初の１つは第１の計算および論理演算の１つであり、演算の第２の１つは第２の計算演算の１つおよび条件ブランチ演算であり、
命令は、同じ第１の固定された非圧縮命令長を有する命令の第１のグループと、そして第１の固定された命令長よりも小さい同じ第２の固定された非圧縮命令長とを有する命令の第２のグループを含み、
さらに、第１のグループの命令の少なくとも最初の１つは高々４ビット幅のオプコードフィールドを有し、第１のグループの命令の少なくとも第２の１つは少なくとも８ビット幅のオプコードフィールドを有する
プロセッサ。