【手続補正書】
【提出日】平成15年11月27日(2003.11.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
レジスタファイルを有する第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、レジスタベースの命令を実行するように適合され、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
オペランドスタックの一部が、第１ユニットのレジスタファイル内に格納され、
ハードウエアユニットは、レジスタファイル内に格納されたオペランドスタックの一部に対して、オーバーフローまたはアンダーフロー表示子のうちの少なくとも１つを生成するように適合され、
ハードウエアユニットは、メモリからレジスタファイルの内および外へオペランドスタックの一部を交換するように適合され、
システムは、オペランドスタックの一部の深さの表示子を具備し、
オーバーフローまたはアンダーフローは、第１ユニット内のレジスタファイルとメモリとの間におけるオペランド転送を生じる
ことを特徴とするシステム。
【請求項２】
レジスタファイルを有する第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、レジスタベースの命令を実行するように適合され、
ハードウエアユニットは、Java（登録商標）バイトコード命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、如何なるオペランドスタックからも分離した位置における第１ユニットのレジスタファイル内に少なくとも１つのJava（登録商標）変数を格納するように適合され、
レジスタベースの命令の少なくとも１つは、少なくとも１つのJava（登録商標）変数の内の１つを具備する第１ユニットのレジスタファイル内のレジスタを参照し、
オペランドスタックの一部は、第１ユニットのレジスタファイル内に格納され、
ハードウエアユニットは、レジスタファイル内に格納されたオペランドスタックの一部に対して、オーバーフローまたはアンダーフロー表示子のうちの少なくとも１つを生成するように適合された
ことを特徴とするシステム。
【請求項３】
レジスタファイルを有する第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、レジスタベースの命令を実行するように適合され、
ハードウエアユニットは、Java（登録商標）バイトコード命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、第１ユニットのレジスタファイル内に少なくとも１つのJava（登録商標）レジスタを格納するように適合され、
レジスタベースの命令の内の少なくとも１つは、少なくとも１つのJava（登録商標）レジスタの内の１つを具備する第１ユニットのレジスタファイル内のレジスタを参照し、
オペランドスタックの一部は、第１ユニットのレジスタファイル内に格納され、
ハードウエアユニットは、レジスタファイル内に格納されたオペランドスタックの一部に対して、オーバーフローまたはアンダーフロー表示子の内の少なくとも１つを生成するように適合された
ことを特徴とするシステム。
【請求項４】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと、
ハードウエアユニットに実施可能に接続されたキャッシュと
を具備するシステムであって、
ハードウエアユニットは、スタックベースの命令を実行のために第１ユニットへ提供されるべきレジスタベースの命令に翻訳するように適合され、
キャッシュは、スタックベースの命令の少なくともいくつかをハードウエアユニットへ提供するように適合された
ことを特徴とするシステム。
【請求項５】
スタックベースの命令をキャッシュ内に格納することと、
スタックベースの命令の内の少なくとも１つをキャッシュからハードウエアユニットへ転送することと、
キャッシュからの少なくとも１つのスタックベースの命令を、ハードウエアユニットにおいて、少なくとも１つのレジスタベースの命令に翻訳することと、
少なくとも１つのレジスタベースの命令をハードウエアユニットから第１ユニットへ転送することと、
第１ユニットにおいて、少なくとも１つのレジスタベースの命令を実行することと
を具備する
ことを特徴とする方法。
【請求項６】
レジスタファイルを有する第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、レジスタベースの命令を実行するように適合され、
ハードウエアユニットは、Java（登録商標）バイトコード命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、少なくとも１つのJava（登録商標）レジスタを第１ユニットのレジスタファイル内に格納するように適合され、
少なくとも１つのJava（登録商標）レジスタが、Java（登録商標）プログラムカウンタを具備し、
ハードウエアユニットは、少なくともいくつかのスタックベースの命令をキャッシュから受信する
ことを特徴とするシステム。
【請求項７】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、オペランドスタックの一部を第１ユニットのレジスタファイル内に格納するように適合され、
ハードウエアユニットは、少なくともいくつかのスタックベースの命令をキャッシュから受信するように適合された
ことを特徴とするシステム。
【請求項８】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
所定の命令が、ハードウエアユニットにおいて翻訳されず、しかし代わりに、翻訳ソフトウェアが第１ユニットによって実行されることを引き起こし、
スタックベースの命令の内の少なくともいくつかは、キャッシュからのものである
ことを特徴とするシステム。
【請求項９】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと、
ハードウエアユニットからの命令ストリームまたは他の供給源からの他のストリームを提供するように適合されたマルチプレクサと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令へ変換するように適合され、
スタックベースの命令の内の少なくともいくつかはキャッシュから到来する
ことを特徴とするシステム。
【請求項１０】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
システムは、固有モードへ切り替わるために使用される表示子を有し、
少なくともいくつかのスタックベースの命令は、キャッシュからのものである
ことを特徴とするシステム。
【請求項１１】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、Java（登録商標）バイトコードをレジスタベースの命令に変換するように適合され、
Java（登録商標）オペランドスタックの一部がレジスタファイル内に保持される間、Java（登録商標）分岐命令がレジスタベースの命令に翻訳される
ことを特徴とするシステム。
【請求項１２】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、「分岐発生」表示子を生成し、
ハードウエアユニットは、スタックベースの命令を実行のために第１ユニットへ提供されるべきレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、「分岐発生」表示子によって活性化される少なくとも１つのパイプラインステージを具備する
ことを特徴とするシステム。
【請求項１３】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、Java（登録商標）バイトコードをレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、第１ユニットのレジスタ内に格納されたJava（登録商標）オペランドスタックの一部の軌跡を保持するロジックを具備し、
翻訳されるべきJava（登録商標）バイトコードが第１ユニットのレジスタファイルのレジスタ内に格納されたJava（登録商標）オペランドスタックの要素を参照する時に、ハードウエアユニットは、翻訳プロセスにおいて使用されるべきそのレジスタの表示子を生成し、
レジスタファイル内に格納されたオペランドスタックの一部が、最小レベルでまたは最小レベルより上で、および／または、最大レベルでまたは最大レベルより下で保持される
ことを特徴とするシステム。
【請求項１４】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、Java（登録商標）命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、オペランドスタックの一部を第１ユニットのレジスタファイル内に保持するように適合され、
Java（登録商標）ＰＣレジスタおよび固有のＰＣレジスタは、同じレジスタを使用して実現される
ことを特徴とするシステム。
【請求項１５】
スタックベースの命令を受信するように適合された入力と、
レジスタベースの命令を使用して扱われるように適合されたレジスタファイルと、
スタックベースの命令をレジスタベースの命令に変換するように適合されたハードウエアサブユニットと
を具備する中央処理装置であって、
レジスタファイルは、オペランドスタックの一部を格納するように適合され、
オペランドスタックの一部は、レジスタファイル内に保持される
ことを特徴とする中央処理装置。
【請求項１６】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、多数の組のレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
変換された命令がハードウエアユニットによって提供される時に、少なくとも１組のレジスタファイルが第１ユニットによって使用される
ことを特徴とするシステム。
【請求項１７】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、オペランドスタックの一部を第１ユニットのレジスタ内に格納するように適合され、
オペランドスタックの一部は、最小レベルでまたは最小レベルより上で、および／または、最大レベルでまたは最大レベルより下で保持され、
いくつかのスタックベースの命令は、第１ユニットにおいて、ソフトウェアで実行される
ことを特徴とするシステム。
【請求項１８】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと、
ハードウエアユニットからの命令ストリームまたは他の供給源からの他のストリームを提供するように適合されたマルチプレクサと
を具備するシステムであって、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
始動後に、マルチプレクサは、ハードウエアユニットをバイパスするように、かつ、他の供給源からの命令を提供するように適合される
ことを特徴とするシステム。
【請求項１９】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、少なくとも１つのスタックベースの命令を格納するために、命令バッファを有する
ことを特徴とするシステム。
【請求項２０】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
ハードウエアユニットは、オペランドスタックの一部をレジスタファイル内に格納するように適合され、
固有モードへの切り替え時に、外部メモリ内のオペランドスタックが、レジスタファイル内に格納されたオペランドスタックの一部と一致するようにされる
ことを特徴とするシステム。
【請求項２１】
レジスタファイルを有する第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、レジスタベースの命令を実行するように適合され、
ハードウエアユニットは、Java（登録商標）バイトコード命令をレジスタベースの命令に変換するように適合され、
オペランドスタックの一部が、第１ユニットのレジスタファイル上に格納され、
ハードウエアユニットは、オペランドスタックの一部から分離した位置における第１ユニットのレジスタファイル内に少なくとも１つのJava（登録商標）変数を格納するように適合され、
レジスタベースの命令の内の少なくとも１つは、少なくとも１つのJava（登録商標）変数の内の１つを具備する第１ユニットのレジスタファイル内のレジスタを参照する
ことを特徴とするシステム。
【請求項２２】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、Java（登録商標）バイトコードをレジスタベースの命令に変換するように適合され、
Java（登録商標）オペランドスタックの一部が、第１ユニットのレジスタファイル内に格納され、
ハードウエアユニットは、第１ユニットのレジスタファイル内のどのレジスタがJava（登録商標）オペランドスタックの一部を具備するのかという軌跡を保持し、
レジスタの目的は、実行される命令の結果として変更することができ、
ハードウエアユニットは、オペランドスタックの一部を、最小レベルでまたは最小レベルより上で、および／または、最大レベルでまたは最大レベルより下で保持する
ことを特徴とするシステム。
【請求項２３】
レジスタファイルを有する中央処理装置と、
中央処理装置と関係付けられたハードウエアユニットと
を具備するシステムであって、
中央処理装置は、レジスタベースの命令を実行するように適合され、
ハードウエアユニットは、スタックベースの命令をレジスタベースの命令に変換するように適合され、
オペランドスタックの一部が、中央処理装置のレジスタファイル内に格納され、
ハードウエアユニットは、レジスタファイルに格納されたオペランドスタックの一部に対して、オーバーフローまたはアンダーフロー表示子の内の少なくとも１つを生成するように適合された
ことを特徴とするシステム。
【請求項２４】
Java（登録商標）バイトコード命令を受信するように適合された入力と、
レジスタベースの命令を使用して扱われるように適合されたレジスタファイルと、
Java（登録商標）命令をレジスタベースの命令に変換するように適合されたハードウエアサブユニットと
を具備する中央処理装置であって、
ハードウエアサブユニットは、少なくとも１つのJava（登録商標）レジスタをレジスタファイル内に格納するように適合され、
少なくとも１つのJava（登録商標）レジスタは、Java（登録商標）プログラムカウンタを具備し、
ハードウエアユニットは、少なくともいくつかのJava（登録商標）命令をキャッシュから受信するように適合された
ことを特徴とする中央処理装置。
【請求項２５】
レジスタファイルと関係付けられた実行ユニットと、
Java（登録商標）バイトコードと固有の非Java（登録商標）命令とを受信するように適合され、かつ、実行ユニットへのデコードされた命令を生成するように適合されたハードウエアと
を具備するシステムであって、
実行ユニットは、デコードされた命令を実行するように適合され、
オペランドスタックの一部は、レジスタファイル内に格納され、
Java（登録商標）命令の内の少なくともいくつかは、キャッシュからのものである
ことを特徴とするシステム。
【請求項２６】
レジスタベースの命令を実行するように適合された第１ユニットと、
第１ユニットと関係付けられたハードウエアユニットと
を具備するシステムであって、
第１ユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、Java（登録商標）バイトコードをレジスタベースの命令に変換するように適合され、
オペランドスタックの一部が、第１ユニットのレジスタファイル内に格納され、
ハードウエアユニットは、スタックポインタの先頭を格納し、かつ、レジスタベースの命令を構成するためにそれを使用する
ことを特徴とするシステム。
【請求項２７】
レジスタベースの命令をキャッシュへ提供するように適合されたシステムメモリ
を更に具備する
ことを特徴とする請求項４，６，８〜１０の何れかに記載のシステム。
【請求項２８】
キャッシュは命令キャッシュである
ことを特徴とする請求項４，６，８〜１０の何れかに記載のシステム。
【請求項２９】
第１ユニットおよびハードウエアユニットは、中央処理装置の一部である
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項３０】
第１ユニットは、中央処理装置を具備し、
ハードウエアユニットは、中央処理装置の外にある
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項３１】
第１ユニットおよびハードウエアユニットが、同じチップ上にある
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項３２】
スタックベースの命令は、Java（登録商標）バイトコードである
ことを特徴とする請求項１，４〜５，７〜１０，１２，１５〜２０，２３，２６の何れかに記載のシステム。
【請求項３３】
オペランドスタックの一部が、第１ユニットのレジスタファイル内に格納される
ことを特徴とする請求項４〜６，８〜１２，１４，１６，１８〜１９，２４の何れかに記載のシステム。
【請求項３４】
ハードウエアユニットは、レジスタファイル内のオペランドスタックの一部にアクセスするレジスタベースの命令を生成し、それによって、さもなくば要求されるであろうレジスタベースの命令の数を減少させる
ことを特徴とする請求項３３記載のシステム。
【請求項３５】
ハードウエアユニットは、レジスタファイル内に格納されたオペランドスタックの一部に対して、オーバーフローまたはアンダーフロー表示子の内の少なくとも１つを生成するように適合された
ことを特徴とする請求項３３記載のシステム。
【請求項３６】
オーバーフローまたはアンダーフローは、第１ユニット内のレジスタファイルとメモリとの間におけるオペランド転送を生じる
ことを特徴とする請求項３３記載のシステム。
【請求項３７】
オペランドスタックの一部を格納するために使用される中央処理装置のレジスタファイルのレジスタは、有効なデータで満ちている
ことを特徴とする請求項３４記載のシステム。
【請求項３８】
オーバーフローまたはアンダーフロー表示子の内の少なくとも１つは、オペランドスタックへオペランドをプッシュしまたはオペランドスタックからオペランドをポップするスタック命令によって生成される
ことを特徴とする請求項３５記載のシステム。
【請求項３９】
レジスタファイル内に格納されたオペランドスタックの一部は、最小レベルでまたは最小レベルより上で、および／または、最大レベルでまたは最大レベルより下で保持される
ことを特徴とする請求項３３記載のシステム。
【請求項４０】
ハードウエアユニットは、少なくともいくつかのJava（登録商標）レジスタをレジスタファイル内に格納するように更に適合される
ことを特徴とする請求項３３記載のシステム。
【請求項４１】
ハードウエアユニットは、Java（登録商標）仮想マシンの内の少なくとも一部を実現する
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項４２】
ハードウエアユニットは、Java（登録商標）スタックの少なくとも一部を管理するように適合された
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項４３】
ハードウエアユニットは、多数のスタックベースの命令がより少ないレジスタベースの命令に結合されることができるか否かを判断するために、スタックベースの命令を調べるよう適合された
ことを特徴とする請求項１，４〜５，７〜１０，１２，１５〜２０，２３，２６の何れかに記載のシステム。
【請求項４４】
ハードウエアユニットは、レジスタファイル内のオペランドスタックの一部にアクセスするレジスタベースの命令を生成し、それによって、さもなくば要求されるであろうレジスタベースの命令の数を減少させる
ことを特徴とする請求項４３記載のシステム。
【請求項４５】
多数のスタックベースの命令が、結合ロジックの動作を許可するために、ハードウエアユニットを同時に通過する
ことを特徴とする請求項４３記載のシステム。
【請求項４６】
ハードウエアユニットが、スタックベースの命令の内の少なくとも１つについて例外を生成し、
第１ユニットは、例外を引き起こしたスタックベースの命令の内の少なくとも１つを、ソフトウェアで翻訳する
ことを特徴とする請求項１，４〜５，７〜１０，１２，１５〜２０，２３，２６の何れかに記載のシステム。
【請求項４７】
ハードウエアユニットは、第１ユニットのレジスタファイルの内および外のオペランドスタックの一部を交換するように適合された
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項４８】
ハードウエアユニットは、レジスタファイル内に格納されたオペランドスタックの一部の深さの表示子を具備する
ことを特徴とする請求項１〜３，７，１３，１５，１７，２０〜２３，２５〜２６，３３の何れかに記載のシステム。
【請求項４９】
ハードウエアユニットは、如何なる数のエントリーがオペランドスタック上に置かれたかというカウントを保持するためにロジックを具備する
ことを特徴とする請求項４８記載のシステム。
【請求項５０】
ハードウエアユニットは、第１ユニットのレジスタファイル内に格納されたJava（登録商標）オペランドスタックの一部の軌跡を保持するロジックを具備する
ことを特徴とする請求項１〜３，７，１３，１５，１７，２０〜２３，２５〜２６，３３の何れかに記載のシステム。
【請求項５１】
ハードウエアユニットは、少なくとも１つのJava（登録商標）レジスタの値を格納する
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項５２】
ハードウエアユニットは、レジスタベースの命令の内の少なくともいくつかを構成するために、少なくとも１つの格納されたJava（登録商標）レジスタ値を使用する
ことを特徴とする請求項５１記載のシステム。
【請求項５３】
第１ユニットは、「分岐発生」表示子を生成し、
ハードウエアユニットは、「分岐発生」表示子が生成されると活性化される少なくとも１つのパイプラインステージを具備する
ことを特徴とする請求項１〜１４，１６〜２２，２６の何れかに記載のシステム。
【請求項５４】
ハードウエアユニットは、多数のパイプラインステージを具備し、
パイプラインステージは、「分岐発生」表示子が生成されると、活性化される
ことを特徴とする請求項５３記載のシステム。
【請求項５５】
レジスタベースの命令を実行するように適応させられた第１のユニットと、第１のユニットと関係付けられたハードウエアユニットとを具備するシステムであって、
ハードウエアユニットは、スタックベースの命令をデコードしかつスタックベースの命令に対するオペランドを第１のユニットのレジスタファイル内に記憶するように適応させられ、
アンダーフローまたはオーバーフロー表示子が、レジスタファイル内に記憶されたオペランドスタックの一部に対して生成され、
ハードウエアユニットは、第１のユニットの実行ユニットによるスタックベースの命令の実行を引き起こす
ことを特徴とするシステム。
【請求項５６】
少なくともレジスタファイルと実行ユニットとを具備する中央処理装置であって、
中央処理装置は、複数の命令セットをデコードするように適応させられ、
命令セットのうちの１つは、スタックベースの命令であり、
複数の命令セットに対するオペランドのうちの少なくともいくつかは、前記レジスタファイル内に保持され、
中央処理装置は、レジスタファイル内に保持されたスタックベースの命令に対するオペランドに対するオーバーフローまたはアンダーフローのうちの少なくとも１つを生成するように適応させられたユニットを具備する
ことを特徴とする中央処理装置。
【請求項５７】
レジスタベースの命令を実行するように適応させられた第１のユニットと、第１のユニットと関係付けられたハードウエアユニットとを具備するシステムであって、
第１のユニットは、関係付けられたレジスタファイルを有し、
ハードウエアユニットは、スタックベースの命令をデコードしかつオペランドスタックの一部を第１のユニットのレジスタファイル内に記憶するように適応させられ、
ハードウエアユニットは、少なくともいくつかのスタックベースの命令とレジスタベースの命令とをキャッシュから受け取るように適応させられる
ことを特徴とするシステム。
【請求項５８】
レジスタファイルと、レジスタベースの命令を実行するための実行ユニットとを有する中央処理装置であって、
中央処理装置は、スタックベースの命令をデコードするように適応させられ、
スタックベースの命令と関係付けられたオペランドスタックの一部が、前記レジスタファイル内に記憶され、かつ、
オーバーフローまたはアンダーフロー表示子のうちの少なくとも１つが、前記レジスタファイル内に記憶されたオペランドスタックの一部に対して生成され、
中央処理装置は、レジスタベースの命令とスタックベースの命令とのうちの少なくともいくつかをキャッシュから受け取る
ことを特徴とする中央処理装置。
【請求項５９】
レジスタベースの命令とスタックベースの命令とは、同じキャッシュからである
ことを特徴とする請求項５８に記載の中央処理装置。
【請求項６０】
キャッシュは、命令キャッシュである
ことを特徴とする請求項５８に記載の中央処理装置。
【請求項６１】
少なくとも、レジスタファイルと、レジスタベースの命令を実行するように適応させられた実行ユニットと、前記実行ユニットを使用してスタックベースの命令を実行するように適応させられたユニットとを有する中央処理装置であって、
スタックベースの命令と関係付けられたオペランドスタックの一部が、レジスタファイル内に記憶され、
オーバーフローまたはアンダーフローのうちの少なくとも１つの表示子が生成され、
スタックベースの命令のうちのいくつかは、前記レジスタファイル内のレジスタのうちの少なくとも２つへの参照を生成する
ことを特徴とする中央処理装置。
【請求項６２】
参照された２つのレジスタは、オペランドスタックの最上部の２つのスタック要素である
ことを特徴とする請求項６１に記載の中央処理装置。
【請求項６３】
少なくともレジスタファイルと実行ユニットとを具備する中央処理装置であって、
中央処理装置は、レジスタベースの命令とスタックベースの命令とを実行するように適応させられ、
中央処理装置は、レジスタベースの命令とスタックベースの命令とに対する共通のプログラムカウンタレジスタを有し、
複数の命令セットに対するオペランドのうちの少なくともいくつかは、前記レジスタファイル内に保持され、
中央処理装置は、レジスタファイル内に保持されたスタックベースの命令に対するオペランドに対するオーバーフローまたはアンダーフローのうちの少なくとも１つを生成するように適応させられたユニットを具備する
ことを特徴とする中央処理装置。
【請求項６４】
少なくともレジスタファイルと実行ユニットとを具備する中央処理装置であって、
中央処理装置は、前記レジスタファイルと実行ユニットとを使用してレジスタベースの命令とスタックベースの命令とを実行するように適応させられ、
中央処理装置は、どの命令セットが実行されているのかということに関する表示子を有し、
中央処理装置は、レジスタファイル内に保持されたスタックベースの命令に対するオペランドの一部に対するオーバーフローまたはアンダーフローのうちの少なくとも１つを生成するように適応させられたユニットを具備する
ことを特徴とする中央処理装置。
【請求項６５】
少なくともレジスタファイルと実行ユニットとを具備する中央処理装置であって、
中央処理装置は、レジスタベースの命令を実行するように適応させられ、
中央処理装置は、前記レジスタファイルと実行ユニットとを使用して少なくともいくつかのスタックベースの命令をデコードしかつ実行するためにユニットを具備し、
スタックベースの命令のうちのいくつかは、例外を引き起こし、
そこで、それらはソフトウェアで実行され、
中央処理装置は、レジスタファイル内に保持されたスタックベースの命令に対するオペランドの一部に対するオーバーフローまたはアンダーフローのうちの少なくとも１つを生成するように適応させられたユニットを具備する
ことを特徴とする中央処理装置。
【請求項６６】
ソフトウェアで実行されるスタックベースの命令のうちのいくつかは、前記レジスタベースの命令を発することによって行われる
ことを特徴とする請求項６５に記載の中央処理装置。
【請求項６７】
複数の命令セット命令のうちの少なくともいくつかは、同じ命令キャッシュからである
ことを特徴とする請求項６５に記載の中央処理装置。
【請求項６８】
第１および第２のレジスタファイルと実行ユニットとを有する中央処理装置であって、
中央処理装置は、少なくとも実行ユニットと第１のレジスタファイルとを使用してレジスタベースの命令を実行するように適応させられ、
中央処理装置は、スタックベースの命令をデコードし実行ユニットを使用してスタックベースの命令のうちの少なくともいくつかを実行するように適応させられ、
オペランドスタックの少なくとも一部は、第２のレジスタファイル内に記憶され、
中央処理装置は、第２のレジスタファイル内に記憶されたオペランドスタックの一部に対するオーバーフローまたはアンダーフローのうちの少なくとも１つの表示子を生成するように適応させられる
ことを特徴とする中央処理装置。
【請求項６９】
仮想マシンを実行するときに、Java（登録商標）レジスタが、第１のレジスタファイル内に記憶される
ことを特徴とする請求項６８に記載の中央処理装置。
【請求項７０】
変数が第１のレジスタファイル内に記憶される
ことを特徴とする請求項６９に記載の中央処理装置。
【請求項７１】
ストアまたはロード命令が、オーバーフローまたはアンダーフロー表示子それぞれによって実行される
ことを特徴とする請求項６９に記載の中央処理装置。
【請求項７２】
少なくともレジスタファイルと実行ユニットとを有する中央処理装置であって、
中央処理装置は、レジスタベースの命令を実行するように適応させられ、かつ、スタックベースの命令を受け取りかつスタックベースの命令をデコードしかつ前記実行ユニットとレジスタファイルとを使用してスタックベースの命令を実行するように適応させられ、
スタックベースの命令に対するオペランドスタックの少なくとも一部が、中央処理装置の前記レジスタファイル内に記憶され、
中央処理装置は、レジスタファイル内のオペランドスタックの一部に対する少なくともオーバーフローまたはアンダーフローの表示子を生成し、かつ、少なくともインクリメントまたはデクリメントされるOpTop に対するレジスタを有する
ことを特徴とする中央処理装置。
【請求項７３】
少なくともレジスタファイルと実行ユニットとを具備する中央処理装置であって、
中央処理装置は、複数の命令セットをデコードするように適応させられ、
命令セットのうちの１つは、スタックベースの命令であり、
複数の命令セットに対するオペランドのうちの少なくともいくつかは、前記レジスタファイル内に保持され、
中央処理装置は、レジスタファイルと実行ユニットとを利用して分岐命令であるスタックベースの命令のうちの少なくともいくつかを実行し、
中央処理装置は、レジスタファイル内に保持されたスタックベースの命令に対するオペランドスタックの一部に対するオーバーフローまたはアンダーフローのうちの少なくとも１つを生成するように適応させられるユニットを具備する
ことを特徴とする中央処理装置。
【請求項７４】
Java（登録商標）バイトコードに対する分岐命令は、ifeqまたはifneまたはifltまたはifgeまたはifgtまたはifleまたはif_icmpeqまたはif_icmpneまたはif_icmpltまたはif_acmpgeまたはif_cmpgtまたはif_icmpleまたはif_acmpeqまたはif_acmpneまたはifnullまたはifnonullまたはlcmpまたはfcmplまたはfcmpgまたはdcmplまたはdcmpgのうちの少なくとも１つを具備する
ことを特徴とする請求項７３に記載の中央処理装置。
【請求項７５】
実行論理が、分岐命令のうちの少なくともいくつかに対する分岐表示子を生成する
ことを特徴とする請求項７４に記載の中央処理装置。
【請求項７６】
レジスタベースの命令を実行するように適応させられた第１ユニットと、第１ユニットと関係付けられたハードウエアユニットとを具備するシステムであって、
ハードウエアユニットは、スタックベースの命令をデコードしかつスタックベースの命令に対するオペランドを第１ユニットのレジスタファイル内に記憶するように適応させられ、
アンダーフローまたはオーバーフロー表示子が、レジスタファイル内に記憶されたオペランドスタックの一部に対して生成され、
ハードウエアは、分岐命令のうちの少なくともいくつかをデコードし、かつ、第１ユニットの実行ユニットによる分岐された命令の実行を引き起こす
ことを特徴とするシステム。
【請求項７７】
Java（登録商標）バイトコードに対する分岐命令は、ifeqまたはifneまたはifltまたはifgeまたはifgtまたはifleまたはif_icmpeqまたはif_icmpneまたはif_icmpltまたはif_acmpgeまたはif_cmpgtまたはif_icmpleまたはif_acmpeqまたはif_acmpneまたはifnullまたはifnonullまたはlcmpまたはfcmplまたはfcmpgまたはdcmplまたはdcmpgのうちの少なくとも１つを具備する
ことを特徴とする請求項７６に記載のシステム。
【請求項７８】
第１ユニットの実行論理は、分岐命令のうちの少なくといくつかに対する分岐表示子を生成する
ことを特徴とする請求項７７に記載のシステム。
【請求項７９】
少なくともレジスタファイルと実行ユニットとを具備する中央処理装置であって、
中央処理装置は、複数の命令セットをデコードするように適応させられ、
命令セットのうちの少なくとも１つは、レジスタベースの命令であり、かつ、
少なくとも他の命令セットは、スタックベースの命令であり、
複数の命令セットに対するオペランドのうちの少なくともいくつかは、前記レジスタファイル内に保持され、
中央処理装置は、複数の命令セットに対して前記レジスタファイルと実行ユニットとを使用して、パワーオン時に、レジスタベースの命令をデコードしかつ実行し、かつ、仮想マシンが呼び出されると、スタックベースの命令をデコードしかつ実行するためにモードを変更し、
オーバーフローまたはアンダーフロー表示子のうちの少なくとも１つが、前記レジスタファイル内に記憶されたスタックベースの命令に対するオペランドスタックの一部に対して生成される
ことを特徴とする中央処理装置。
【請求項８０】
第２のレジスタファイルは、実行ユニットへ実施可能に接続される
ことを特徴とする請求項７９に記載の中央処理装置。
【請求項８１】
スタックベースの命令に対するオペランドスタックの少なくとも一部は、少なくとも１つのレジスタファイル内に記憶される
ことを特徴とする請求項７９に記載の中央処理装置。
【請求項８２】
少なくともレジスタファイルと実行ユニットとを有して、レジスタベースの命令を実行するように適応させられた中央処理装置であって、
スタックベースの言語アクセラレータが、前記中央処理装置内に統合され、
スタックベースのアクセラレータは、中央処理装置のメイン部分上で該メイン部分によって処理されるネイティブな命令を生成し、
レジスタベースの命令のうちの少なくともいくつかとスタックベースの命令のうちの少なくともいくつかとが同じキャッシュ内に存在する
ことを特徴とする中央処理装置。
【請求項８３】
中央処理装置の実行論理が、ネイティブな命令を実行する
ことを特徴とする請求項８２に記載の中央処理装置。
【請求項８４】
キャッシュは、命令キャッシュである
ことを特徴とする請求項８２に記載の中央処理装置。
【請求項８５】
少なくとも実行ユニットを有するように適応させられた第１ユニットと、第１ユニットと関係付けられたハードウエアユニットとを具備するシステムであって、
ハードウエアユニットは、スタックベースの命令をデコードしかつ実行ユニットとを使用して前記命令を実行するように適応させられ、
実行されたスタックベースの命令のうちの少なくともいくつかは分岐命令であり、
スタックベースの命令のうちの少なくともいくつかは例外を引き起こし、
それによって、それらはソフトウェアで実行される
ことを特徴とするシステム。
【請求項８６】
Java（登録商標）レジスタのうちの少なくともいくつかは、ハードウエア内に保持される
ことを特徴とする請求項８５に記載のシステム。
【請求項８７】
スタックベースの命令のうちの少なくともいくつかは、キャッシュからである
ことを特徴とする請求項８５に記載のシステム。
【請求項８８】
Java（登録商標）バイトコードに対する分岐命令は、ifeqまたはifneまたはifltまたはifgeまたはifgtまたはifleまたはif_icmpeqまたはif_icmpneまたはif_icmpltまたはif_acmpgeまたはif_cmpgtまたはif_icmpleまたはif_acmpeqまたはif_acmpneまたはifnullまたはifnonullまたはlcmpまたはfcmplまたはfcmpgまたはdcmplまたはdcmpgのうちの少なくとも１つを具備する
ことを特徴とする請求項８５に記載のシステム。
【請求項８９】
実行論理は、分岐命令のうちの少なくともいくつかに対する分岐表示子を生成する
ことを特徴とする請求項８５に記載のシステム。
【請求項９０】
スタックベースの命令はJava（登録商標）バイトコードである
ことを特徴とする請求項５６，５８，６１，６３，６４，６５，６８，７２，７３，７９，８２のいずれかに記載の中央処理装置。
【請求項９１】
スタックベースの命令はJava（登録商標）バイトコードである
ことを特徴とする請求項５７，７６，８５のいずれかに記載のシステム。
【請求項９２】
ハードウエアユニットは中央処理装置の一部である
ことを特徴とする請求項５７，７６，８５のいずれかに記載のシステム。
【請求項９３】
スタックベースおよびレジスタベースの命令セットを含む複数の命令セットの命令を実行することができる中央処理装置（ＣＰＵ）において命令を処理する方法であって、
前記方法は、
レジスタベースの命令セットからのレジスタベースの命令に対するデータと、スタックベースの命令セットからのスタックベースの命令に関係するオペランドに対するオペランドスタックとを、第１のレジスタファイル内に保持すること
を具備し、
ここで、オペランドのうちの少なくともいくつかは、オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを介して、レジスタファイルとメモリとの間において移動され、
前記方法は、
オペランドスタックの深さの表示子を保持することと、
実行ユニットにおいてスタックベースの命令とレジスタベースの命令とを実行することと
を具備し、
実行ユニットにおける実行は、選択されたスタックベースの命令に関して例外を生成することを含む
ことを特徴とする方法。
【請求項９４】
スタックベースの命令に関係する変数を、第２のレジスタファイル内に記憶すること
を更に具備する
ことを特徴とする請求項９３記載の方法。
【請求項９５】
Java（登録商標）レジスタを、第３のレジスタファイル内に記憶すること
を更に具備する
ことを特徴とする請求項９４記載の方法。
【請求項９６】
第１、第２および第３のレジスタファイルは、同じレジスタファイルである
ことを特徴とする請求項９５記載の方法。
【請求項９７】
オーバーフロー機構は、スタックベースのオペランドに対するオーバーフロー表示子を生成する
ことを特徴とする請求項９３記載の方法。
【請求項９８】
アンダーフロー機構は、スタックベースのオペランドに対するアンダーフロー表示子を生成する
ことを特徴とする請求項９３記載の方法。
【請求項９９】
オペランドスタックは、レジスタファイルの第１の部分に保持され、かつ、スタックベースの命令に関係する変数は、レジスタファイルの第２の部分に保持される
ことを特徴とする請求項９６記載の方法。
【請求項１００】
選択されたスタックベースの命令に関して分岐発生表示子を生成すること
を更に具備する
ことを特徴とする請求項９３記載の方法。
【請求項１０１】
もし分岐発生表示子が生成されるならば、選択されたスタックベースの命令の処理に関係するパイプラインの少なくとも一部を活性化すること
を更に具備する
ことを特徴とする請求項１００記載の方法。
【請求項１０２】
オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを介したレジスタファイルとメモリとの間におけるオペランドのロードおよび記憶のうちの少なくとも１つを容易にするために、メモリアービタが使用される
ことを特徴とする請求項９３記載の方法。
【請求項１０３】
オーバーフローおよびアンダーフロー表示子のうちの少なくとも１つに帰因して記憶およびロードオペレーションのうちの少なくとも１つを実行することの結果として、オペランドのうちの少なくとも１つが、レジスタファイルとメモリとの間において移動させられる
ことを特徴とする請求項９３記載の方法。
【請求項１０４】
メモリは、データキャッシュである
ことを特徴とする請求項１０２または請求項１０３のいずれかに記載の方法。
【請求項１０５】
選択されたスタックベースの分岐命令は、ifeqとifneとifltとifgeとifgtとifleとif_icmpeqとif_icmpneとif_icmpltとif_acmpgeとif_cmpgtとif_icmpleとif_acmpeqとif_acmpneとifnullとifnonullとlcmpとfcmplとfcmpgとdcmplとdcmpgとを具備するグループから選択される
ことを特徴とする請求項１００記載の方法。
【請求項１０６】
例外が生成された選択されたスタックベースの命令を、レジスタベースの命令セットを使用して更に処理すること
を更に具備する
ことを特徴とする請求項９３記載の方法。
【請求項１０７】
更なる処理は、仮想マシン内で発生する
ことを特徴とする請求項１０６記載の方法。
【請求項１０８】
更なる処理の後に、スタックベースの命令を処理することに戻ること
を更に具備する
ことを特徴とする請求項１０６または請求項１０７のいずれかに記載の方法。
【請求項１０９】
スタックベースの命令セットの命令は、Java（登録商標）バイトコードを含む
ことを特徴とする請求項９３記載の方法。
【請求項１１０】
ロードまたは記憶オペレーションを実行することは、レジスタベースの命令セットに関係するロードまたは記憶命令を実行することに帰因する
ことを特徴とする請求項１０３記載の方法。
【請求項１１１】
通常のプログラムカウンタレジスタが、複数の命令セットに対して使用される
ことを特徴とする請求項９３記載の方法。
【請求項１１２】
複数の命令セットのうちの各々に対するプログラムカウンタが、少なくとも１または２以上のプログラムカウンタレジスタ内にある
ことを特徴とする請求項９３記載の方法。
【請求項１１３】
複数の命令セットに対する命令が、共有の命令キャッシュ内に記憶される
ことを特徴とする請求項９３記載の方法。
【請求項１１４】
プログラムカウンタレジスタは、ＣＰＵに対するレジスタファイルの一部である
ことを特徴とする請求項１１１または請求項１１２のいずれかに記載の方法。
【請求項１１５】
ＣＰＵは表示子を保持し、
レジスタファイル内の該表示子のレジスタは、スタックベースの命令に関係するオペランドを具備する
ことを特徴とする請求項９３記載の方法。
【請求項１１６】
スタックベースの命令を実行するときに、レジスタファイル内のオペランドスタックのうちの少なくとも先頭の２つのオペランドが参照される
ことを特徴とする請求項１１５記載の方法。
【請求項１１７】
中央処理装置（ＣＰＵ）において命令を処理する方法であって、
前記方法は、
第１の命令セットの命令をデコードすることと、
第１の命令セットの命令に関係するオペランドスタックをレジスタファイル内に保持することと
を具備し、
前記オペランドスタックの保持は、少なくともいくつかのオペランドを、オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを介して、レジスタファイルとメモリとの間において移動させることを含み、
前記方法は、
第２の命令セットの命令をデコードすることと、
第２の命令セットの命令に関係するデータをレジスタファイル内に保持することと、
第１および第２の命令セットの命令のデコードの出力を、実行ユニットに送ることと、
実行ユニットにおいて該出力を処理することと
を具備し、
実行ユニットにおける処理は、第１の命令セットの選択された命令に関して例外を生成することと、例外が生成された選択された命令を仮想マシンを使用して処理することとを含む
ことを特徴とする方法。
【請求項１１８】
処理のために使用される命令を表示するために、少なくとも１つのビットを設定すること
を更に具備する
ことをを特徴とする請求項１１７記載の方法。
【請求項１１９】
前記処理は、通常、第２の命令セットを使用して実行される
ことを特徴とする請求項１１８記載の方法。
【請求項１２０】
第１の命令セットのうち、例外が生成された命令に関して、少なくとも１つのビットが設定される
ことを特徴とする請求項１１８記載の方法。
【請求項１２１】
第１の命令セットは、スタックベースの命令セットであり、かつ、第２の命令セットは、レジスタベースの命令セットである
ことを特徴とする請求項１１９記載の方法。
【請求項１２２】
スタックベースの命令セットに対するプログラムカウンタと、レジスタベースの命令セットに対するプログラムカウンタとを、同じレジスタ内に保持すること
を更に具備する
ことを特徴とする請求項１２０記載の方法。
【請求項１２３】
複数の命令に対するプログラムカウンタが、少なくとも１または２以上のレジスタ内にある
ことを特徴とする請求項１２０記載の方法。
【請求項１２４】
第１の命令をデコードすることの出力が、第２のデコードユニットを介して、実行ユニットに送られる
ことを特徴とする請求項１１７記載の方法。
【請求項１２５】
オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを介したレジスタファイルとメモリとの間におけるオペランドのロードおよび記憶を容易にするために、メモリアービタが使用される
ことを特徴とする請求項１１７記載の方法。
【請求項１２６】
メモリは、データキャッシュを含む
ことを特徴とする請求項１２５記載の方法。
【請求項１２７】
スタックベースの命令がハードウェアにおいて直接実行されるアクセラレータモードに、処理システムを切り換えることと、
アクセラレータモードの間に、選択されたスタックベースの命令に関して例外を生成することと、
選択されたスタックベースの命令が仮想マシン内で処理される第１の固有モードに、処理システムを切り換えることと、
更なる例外のときに、仮想マシンが非動作である第２の固有モードに、処理システムを切り換えることと
を具備する
ことを特徴とする方法。
【請求項１２８】
スタックベースの命令は、Java（登録商標）バイトコードを具備する
ことを特徴とする請求項１２７記載の方法。
【請求項１２９】
第１および第２の固有モードにおいて、処理は、非スタックベースの命令を使用して実行される
ことを特徴とする請求項１２７記載の方法。
【請求項１３０】
複数の命令セットの命令を、実行ユニットとレジスタファイルとを有するＣＰＵにおいて、複数の命令セットに対する通常のプログラムカウンタを使用して処理こと
を具備する方法であって、
ここで、複数の命令セットのうちの少なくとも１つは、スタックベースの命令セットであり、かつ、複数の命令セットのうちの少なくとも１つは、レジスタベースの命令セットであり、
通常のプログラムカウンタは、通常のレジスタ内に記憶され、
前記方法は、
スタックベースおよびレジスタベースの命令セットの選択された命令の処理を容易にするために、分岐発生信号を生成すること
を具備する
ことを特徴とする方法。
【請求項１３１】
処理に関係するプログラムカウンタを、２以上のレジスタ内に記憶すること
を更に具備する
ことを特徴とする請求項１３０記載の方法。
【請求項１３２】
プログラムカウンタは、ＣＰＵに対するレジスタファイル内にある
ことを特徴とする請求項１３０または請求項１３１のいずれかに記載の方法。
【請求項１３３】
複数の命令セットの命令が、共有の命令キャッシュ内にある
ことを特徴とする請求項１３０または請求項１３１のいずれかに記載の方法。
【請求項１３４】
スタックベースの命令のうちの選択された命令は、ifeqとifneとifltとifgeとifgtとifleとif_icmpeqとif_icmpneとif_icmpltとif_acmpgeとif_cmpgtとif_icmpleとif_acmpeqとif_acmpneとifnullとifnonullとlcmpとfcmplとfcmpgとdcmplとdcmpgとを具備するグループから選択される
ことを特徴とする請求項１３０記載の方法。
【請求項１３５】
選択された命令を処理するときに、関係するパイプラインの少なくとも一部を活性化すること
を更に具備する
ことを特徴とする請求項１３０記載の方法。
【請求項１３６】
スタックベースの命令に対するオペランドスタック内のオペランドを、ＣＰＵに対するレジスタファイル内に保持すること
を更に具備する
ことを特徴とする請求項１３０記載の方法。
【請求項１３７】
オペランドは、オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを介して、レジスタファイルとメモリとの間において移動させられる
ことを特徴とする請求項１３６記載の方法。
【請求項１３８】
実行ユニットとレジスタファイルとを有し複数の命令セットの命令を処理できる中央処理装置（ＣＰＵ）を具備する処理システムにおいて、ＣＰＵを動作させる方法であって、
命令セットは、レジスタベースの命令セットとスタックベースの命令セットとを含み、
ここで、スタックベースの命令セットに対するオペランドスタックは、レジスタファイル内に保持され、
オペランドは、オーバーフローおよびアンダーフロー機構のうちの少なくとも１つに帰因して、レジスタファイルとメモリとの間において移動させられ、
ここで、処理システムは、
ＣＰＵがレジスタベースの命令セットを使用して仮想マシンの外で命令を処理する第１のステートと、
ＣＰＵが非スタックベースの命令セットを使用して仮想マシン内で処理する第２のステートと、
ＣＰＵがスタックベースの命令セットを使用して仮想マシン内で命令を処理する第３のステートと
を更に具備し、
ＣＰＵを動作させる方法は、
リセットコマンドおよびパワーオン状態のうちの少なくとも１つに帰因して、処理システムを第１のステートに切り換えることと、
ＣＰＵを第２のステートに切り換えることと、
第２のステートにおいて、命令を処理することと、
第２のステートにおいて命令を処理する間に例外に遭遇すると、ＣＰＵを第１のステートに切り換えることと
を具備する
ことを特徴とする方法。
【請求項１３９】
ＣＰＵを第２のステートから第３のステートに切り換えること
を更に具備する
ことを特徴とする請求項１３８記載の方法。
【請求項１４０】
リセットコマンドを受信すると、ＣＰＵを第３のステートから第１のステートに切り換えること
を更に具備する
ことを特徴とする請求項１３９記載の方法。
【請求項１４１】
第３のステートにおいて命令を処理する間に例外に遭遇すると、ＣＰＵを第３のステートから第２のステートに切り換えること
を更に具備する
ことを特徴とする請求項１３９記載の方法。
【請求項１４２】
第３のステートに切り換えることは、仮想マシンにおいてスタックベースの命令セットを実行することである
ことを特徴とする請求項１３９記載の方法。
【請求項１４３】
使用される命令セットをＣＰＵに示すために、少なくとも１つのビットを設定すること
を更に具備する
ことを特徴とする請求項１３８記載の方法。
【請求項１４４】
スタックベースの命令は、Java（登録商標）バイトコードを含む
ことを特徴とする請求項１２１、１２７、１３０または１３８のいずれかに記載の方法。
【請求項１４５】
仮想マシンは、Java（登録商標）仮想マシンである
ことを特徴とする請求項１１７、１２７または１３８のいずれかに記載の方法。
【請求項１４６】
複数の命令セットを実行できる中央処理装置（ＣＰＵ）であって、
前記中央処理装置は、
スタックベースおよびレジスタベースの命令セットを含む複数の命令セットの命令を実行する実行ユニットおよびレジスタファイルと、
複数の命令セットに対する少なくともいくつかのデータをレジスタファイル内に保持する機構と
を具備し、
前記保持は、スタックベースの命令に対するオペランドスタックをレジスタファイル内に保持することと、オペランドスタックの深さの表示子を保持することを含み、
前記中央処理装置は、
オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを具備するスタック制御機構
を具備し、
ここで、オペランドのうちの少なくともいくつかは、レジスタファイルとメモリとの間において移動させられ、
前記中央処理装置は、
選択されたスタックベースの命令に関して例外を生成する機構
を具備する
ことを特徴とする中央処理装置。
【請求項１４７】
前記レジスタファイルは、第１のレジスタファイルであり、
中央処理装置は、スタックベースの命令に関係する変数を記憶するために、第２のレジスタファイルを更に具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１４８】
Java（登録商標）レジスタを記憶するために、第３のレジスタファイル
を更に具備する
ことを特徴とする請求項１４７記載の中央処理装置。
【請求項１４９】
第１、第２および第３のレジスタファイルは、同じレジスタファイルである
ことを特徴とする請求項１４８記載の中央処理装置。
【請求項１５０】
オーバーフロー機構は、オペランドスタックに対するオーバーフロー表示子を生成する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１５１】
アンダーフロー機構は、オペランドスタックに対するアンダーフロー表示子を生成する
ことを特徴とする請求項１５０記載の中央処理装置。
【請求項１５２】
オペランドスタックは、レジスタファイルの第１の部分に保持され、かつ、スタックベースの命令に関係する変数は、レジスタファイルの第２の部分に保持される
ことを特徴とする請求項１４９記載の中央処理装置。
【請求項１５３】
選択されたスタックベースの命令に関して分岐発生表示子を生成する機構
を更に具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１５４】
もし分岐発生命令が生成されるならば、選択されたスタックベースの命令の処理に関係するパイプラインの少なくとも部分を活性化する機構
を更に具備する
ことを特徴とする請求項１５３記載の中央処理装置。
【請求項１５５】
スタック制御機構を介したレジスタファイルとメモリとの間におけるオペランドのロードおよび記憶のうちの少なくとも１つを容易にするメモリアービタ
を更に具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１５６】
オーバーフローおよびアンダーフロー表示子のうちの少なくとも１つに起因してロードおよび記憶オペレーションのうちの少なくとも１つを実行することの結果として、オペランドが、レジスタファイルとメモリとの間において移動させられる
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１５７】
メモリは、データキャッシュである
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１５８】
選択されたスタックベースの命令は、ifeqとifneとifltとifgeとifgtとifleとif_icmpeqとif_icmpneとif_icmpltとif_acmpgeとif_cmpgtとif_icmpleとif_acmpeqとif_acmpneとifnullとifnonullとlcmpとfcmplとfcmpgとdcmplとdcmpgとを具備するグループから選択される
ことを特徴とする請求項１５３記載の中央処理装置。
【請求項１５９】
例外が生成された選択されたスタックベースの命令を、レジスタベースの命令セットを使用して更に処理すること
を更に具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１６０】
前記更なる処理が、仮想マシン内で発生する
ことを特徴とする請求項１５９記載の中央処理装置。
【請求項１６１】
更なる処理の後に、実行ユニットが、スタックベースの命令を処理することに戻る
ことを特徴とする請求項１６０記載の中央処理装置。
【請求項１６２】
スタックベースの命令セットの命令が、Java（登録商標）バイトコードを含む
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１６３】
ロードおよび記憶オペレーションのうちの少なくとも１つを実行することは、レジスタベースの命令セットに関係するロードまたは記憶命令を実行することに帰因する
ことを特徴とする請求項１５６記載の中央処理装置。
【請求項１６４】
複数の命令セットに対する通常のプログラムカウンタレジスタ
を更に具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１６５】
複数の命令セットのうちの各々に対するプログラムカウンタを実現する少なくとも１つのプログラムカウンタレジスタ
を更に具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１６６】
複数の命令セットに対する命令が、共有の命令キャッシュ内に記憶される
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１６７】
プログラムカウンタのうちの少なくともいくつかが、レジスタファイル内で実現される
ことを特徴とする請求項１６４または請求項１６５のいずれかに記載の中央処理装置。
【請求項１６８】
表示子を保持する機構
を更に具備し、
レジスタファイル内の該表示子のレジスタが、スタックベースの命令に関係するオペランドを具備する
ことを特徴とする請求項１４６記載の中央処理装置。
【請求項１６９】
スタックベースの命令を実行するときに、レジスタファイル内のオペランドスタックのうちの少なくとも２つの先頭のオペランドが参照される
ことを特徴とする請求項１６８記載の中央処理装置。
【請求項１７０】
第１の命令セットと第２の命令セットとを含む複数の命令セットの命令をデコードするデコーディング機構と、
第１の命令セットの命令に関係するオペランドを記憶するオペランドスタックが保持され、かつ、第２の命令セットの命令に関係するデータが保持されるレジスタファイルと、
オペランドがレジスタファイルとメモリとの間において移動することを引き起こすオーバーフローおよびアンダーフロー機構のうちの少なくとも１つと、
第２の命令セットの命令のデコードと第１の命令セットの命令のデコードとの出力を処理する実行ユニットと
を具備し、
前記実行ユニットにおける処理は、第１の命令セットの選択された命令に関して例外を生成することと、仮想マシンを使用して該例外を処理することとを具備する
ことを特徴とする中央処理装置（ＣＰＵ）。
【請求項１７１】
処理に対して使用されるべき命令セットを示すために、少なくとも１つのビットを設定する機構
を更に具備する
ことを特徴とする請求項１７０記載の中央処理装置。
【請求項１７２】
第１の命令セットに対するオペランドスタックの深さの表示子が保持される
ことを特徴とする請求項１７０記載の中央処理装置。
【請求項１７３】
例外が生成された第１の命令セットの命令に関して、少なくとも１つのビットが設定される
ことを特徴とする請求項１７１記載の中央処理装置。
【請求項１７４】
第１の命令セットはスタックベースの命令セットであり、かつ、第２の命令セットはレジスタベースの命令セットである
ことを特徴とする請求項１７０記載の中央処理装置。
【請求項１７５】
スタックベースの命令セットに対するプログラムカウンタとレジスタベースの命令セットに対するプログラムカウンタとが保持されたレジスタ
を更に具備する
ことを特徴とする請求項１７１記載の中央処理装置。
【請求項１７６】
デコードユニットは、第１のサブユニットと第２のサブユニットとを具備し、
第１のサブユニットは、第１の命令セットの命令をデコードし、かつ、該デコードの出力を、第２のサブユニットを介して、実行ユニットに送る
ことを特徴とする請求項１７０記載の中央処理装置。
【請求項１７７】
オーバーフローおよびアンダーフロー機構のうちの少なくとも１つを介したレジスタファイルとメモリとの間におけるオペランドのロードまたは記憶のうちの少なくとも１つを容易にするメモリアービタ
を更に具備する
ことを特徴とする請求項１７０記載の中央処理装置。
【請求項１７８】
メモリは、データキャッシュを含む
ことを特徴とする請求項１７７記載の中央処理装置。
【請求項１７９】
処理システムの中央処理装置（ＣＰＵ）がスタックベースの命令をハードウェアにおいて直接処理するアクセラレータモードと、
処理システムが仮想マシン内で非スタックベースの命令セットを使用して処理する第１の固有モードと、
処理システムが非スタックベースの命令を使用して命令を処理し、仮想マシンが非動作である第２の固有モードと
を具備する処理システムであって、
ここで、処理システムは、アクセラレータモードの間にスタックベースの命令を処理するために、アクセラレータモードに切り換わり、
スタックベースの命令の処理は、
アクセラレータモードの間に選択されたスタックベースの命令に関して例外を生成することと、
例外が生成された選択されたスタックベースの命令が仮想マシン内で非スタックベースの命令セットを使用して更に処理される第１の固有モードに切り換わることと
を含み、
ここで、もし第１の固有モードの間に例外が生成されるならば、処理システムは第２の固有モードに切り換わる
ことを特徴とする処理システム。
【請求項１８０】
複数の命令セットの命令を処理するために、少なくとも実行ユニットおよびレジスタファイル
を具備する中央処理装置（ＣＰＵ）であって、
複数の命令セットのうちの少なくとも１つは、レジスタベースの命令セットであり、
複数の命令セットのうちの少なくとも１つは、スタックベースの命令セットであり、
ここで、スタックベースの命令セットに対してレジスタファイル内にオペランドスタックを保持するために、アンダーフローおよびオーバーフロー機構のうちの少なくとも１つが使用され、
前記中央処理装置は、
複数の命令セットに対する通常のプログラムカウンタを記憶するレジスタと、
スタックベースおよびレジスタベースの命令セットの選択された命令の処理を容易にする分岐発生表示子と
を具備する
ことを特徴とする中央処理装置。
【請求項１８１】
複数の命令セットの命令を記憶する共有の命令キャッシュ
を更に具備する
ことを特徴とする請求項１８０記載の中央処理装置。
【請求項１８２】
選択された命令は、ifeqとifneとifltとifgeとifgtとifleとif_icmpeqとif_icmpneとif_icmpltとif_acmpgeとif_cmpgtとif_icmpleとif_acmpeqとif_acmpneとifnullとifnonullとlcmpとfcmplとfcmpgとdcmplとdcmpgとを具備するグループから選択される
ことを特徴とする請求項１８０記載の中央処理装置。
【請求項１８３】
パイプライン
を更に具備し、
該パイプラインの少なくとも一部は、分岐発生表示子によって生成される分岐発生命令に帰因して、選択された命令の処理の間に活性化される
ことを特徴とする請求項１８０記載の中央処理装置。
【請求項１８４】
スタックベースの命令セットに対するオペランドを記憶するためにオペランドスタックを実現するレジスタファイル
を具備する
ことを特徴とする請求項１８０記載の中央処理装置。
【請求項１８５】
レジスタファイルとメモリとの間においてオペランドを移動させるために、オーバーフローおよびアンダーフロー機構のうちの少なくとも１つ
を更に具備する
ことを特徴とする請求項１８４記載の中央処理装置。
【請求項１８６】
レジスタベースの命令セットおよびスタックベースの命令セットを含む複数の命令セットの命令を処理するために、実行ユニットおよびレジスタファイルを具備する中央処理装置（ＣＰＵ）と、
アンダーフローおよびオーバーフロー機構のうちの少なくとも１つを伴って、スタックベースの命令セットに対するスタックを、レジスタファイル内に保持する機構と
を具備する処理システムであって、
ここで、処理システムは、
ＣＰＵがレジスタベースの命令セットを使用して仮想マシンの外で命令を処理する第１のステートと、
ＣＰＵがレジスタベースの命令セットを使用して仮想マシン内で命令を処理する第２のステートと、
ＣＰＵがスタックベースの命令セットを使用して仮想マシン内で命令を処理する第３のステートと
を有し、
処理システムは、
第３のステートの間のリセットコマンドに帰因して、または、パワーオンの後に、第１のステートに切り換わることと、
その後、第２のステートに切り換わることと、
第２のステートの間に、命令を処理することと、
第３のステートに切り換わることと、
リセットコマンドを受信すると、第３のステートから第１のステートに切り換わることと
を具備する方法を実行するように構成されている
ことを特徴とする処理システム。
【請求項１８７】
第３のステートの間に例外に遭遇すると、更なる処理のために第２のステートに切り換わる
ことを特徴とする請求項１８６記載の処理システム。
【請求項１８８】
第３のステートの間に例外に遭遇すると、処理システムは、例外の更なる処理のために第２のステートに切り換わる
ことを特徴とする請求項１８７記載の処理システム。
【請求項１８９】
第２のステートの間における例外に帰因して、処理システムは、第２のステートから第１のステートに切り換わる
ことを特徴とする請求項１８７記載の処理システム。
【請求項１９０】
処理システムは、スタックベースの命令セットを実行するために、仮想マシンにおいて、第３のステートに切り換わる
ことを特徴とする請求項１８７記載の処理システム。
【請求項１９１】
処理は、第１および第２のステートに対して、レジスタベースの命令を使用して行われる
ことを特徴とする請求項１８６記載の処理システム。
【請求項１９２】
処理システムは、仮想マシンにおいて、第３のステートに切り換わる
ことを特徴とする請求項１９１記載の処理システム。
【請求項１９３】
例外が、選択されたスタックベースの命令に対して生成される
ことを特徴とする請求項１８７または請求項１９０のいずれかに記載の処理システム。
【請求項１９４】
第３のステートの間におけるエラーは、処理システムを第２のステートに切り換える
ことを特徴とする請求項１８６記載の処理システム。
【請求項１９５】
仮想マシンは、Java（登録商標）仮想マシンである
ことを特徴とする請求項１９０または請求項１９２のいずれかに記載の処理システム。
【請求項１９６】
スタックベースの命令は、Java（登録商標）バイトコードである
ことを特徴とする請求項１９０記載の処理システム。