【手続補正書】
【提出日】平成15年10月15日(2003.10.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
時期尚早な早期例外の通知を防止する計算システムにおいて、
命令キャッシュからの命令を取り込むための、命令フェッチ・ユニットであって、
前記命令が実行された場合に、結果として早期例外条件になるかどうかを判定するための早期例外検出手段と、
前記命令が実行された場合に、結果として早期例外条件になると前記早期例外検出手段が判定する場合には、早期例外メッセージとして符号化された命令コードを命令バッファの中に挿入するための及び、前記命令が実行された場合に、結果として早期例外条件にはならないと前記早期例外検出手段が判定する場合には、前記命令として符号化された命令コードを前記命令バッファの中に挿入するための挿入手段
とを含む、命令フェッチ・ユニットと、
前記命令コードが、前記命令として符号化された場合に、前記命令コードを実行するための実行ユニットと、
命令撤回ユニットであって、
前記命令バッファからプログラム順に前記命令コードを削除するための命令削除手段と、
前記命令コードを復号するための復号手段と、
前記命令コードが復号された早期例外メッセージの場合に、早期例外を通知するための早期例外通知手段
とを含む、命令撤回ユニット
とを備える、計算システム。
【請求項２】
所与のページ上の少なくとも１つの命令が実行される場合にのみ、プログラム・メモリ内の前記所与のページから命令キャッシュへの命令の移動を許可する命令キャッシュ移動ルールに従う計算システムにおいて、
命令を取り込むための、命令フェッチ・ユニットであって、前記命令は前記命令キャッシュか、前記プログラム・メモリかのどちらか一方から取り込まれるものであり、次の命令が前記命令キャッシュの中に存在しない場合に、前記プログラム・メモリから命令を取り込むためのプログラム・メモリ取り込み手段を含む、命令フェッチ・ユニットと、
非常駐のページ上に前記命令が存在するかどうかを判定するための、早期ページ交差例外検出手段であって、前記非常駐のページは、命令がまだ実行されていないプログラム・メモリの中のページを含むことからなる、早期ページ交差例外検出手段と、
前記早期ページ交差例外検出手段が、命令がまだ実行されていないページ上に前記命令が存在すると判定する場合に、移動例外メッセージとして符号化された命令コードを命令バッファに挿入するための挿入手段と、
前記命令バッファに含まれる、実行可能な命令として符号化された命令コードを実行するための実行ユニットと、
命令撤回ユニットであって、
プログラム順に前記命令バッファから命令コードを削除するための命令削除手段と、
前記命令コードが、前記移動例外メッセージとして符号化された場合に、前記所与のページから前記命令キャッシュへと、命令を移動させるよう、前記命令フェッチ・ユニットに通知するための  早期ページ交差例外通知手段
とを含む、命令撤回ユニット
とを備える、計算システム。
【請求項３】
マイクロプロセッサ・システムにおける時期尚早な早期例外の通知を防止する方法であって、２つの同時実行するプロセスを含み、
第1のプロセスが、
(a)  命令キャッシュから命令を取り込むステップと、
(b)  取り込まれた命令を実行した場合に、結果として例外条件となるかどうかを判定するステップと、
(c)  取り込まれた命令を実行した場合に、結果として例外条件となる場合には、符号化された例外メッセージからなる命令コードを命令バッファに挿入するステップと、
(d)  取り込まれた命令を実行した場合に、結果として例外条件とならない場合には、取り込まれた命令からなる命令コードを命令バッファに挿入するステップ
とを含み、
第２のプロセスが、
(e)  命令バッファから実行された命令コードをプログラム順に削除するステップと、
(f)  符号化された例外メッセージからなる命令コードを検出し、符号化された例外メッセージからなる命令コードが検出されると、適切な例外信号を通知するステップ
とを含む方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
早期例外の他の例は、変換索引バッファ・ミスである。仮想メモリを有するシステムではしばしば、「変換索引バッファ」（ＴＬＢ）と呼ばれる高速連想メモリを使用して、仮想アドレスが、迅速に物理メモリ・アドレス相当物へと変換される。当技術分野で知られているように、変換バッファは、最後に使用された仮想／物理アドレス変換をキャッシュに格納する。所望の変換が変換バッファに存在しない場合（すなわち、ＴＬＢ「ミス」）、変換プロセスは停止しなければならず、したがって、失敗したメモリ・アクセスを要求した命令も停止しなければならない。所望の変換は次いで、メモリ中のより低速の変換テーブルから読み取られ、ＴＬＢにロードされる。プロセス中の変換が命令フェッチのためのものである場合、命令フェッチ・ユニットは、ミスを検出して、早期例外を知らせることができる。


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
動作時には、命令フェッチ・ユニット３１２が、命令キャッシュ３６０から命令を取り出す。投機的実行ユニット３５２は、この命令を復号して、それが条件付き分岐命令であるかどうかを判定する。この命令が条件付き分岐命令である場合、投機的実行ユニット３５２は、分岐がなされるかどうかを予想し、それに応じて、次に取り込むべき命令のアドレスを更新する。


【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
図４−図６は、本発明がどのように時期尚早な例外信号を防止するかを示す。図４において、誤って予想された分岐のために、潜在的な例外生成命令ＩＥＸＣＥＰＴＩＯＮ  が命令バッファ４００に挿入された。したがって、命令ＩＥＸＣＥＰＴＩＯＮは実行されなかったはずである。条件付き分岐命令ＩＢＲＡＮＣＨの実行に基づいて、誤って予想された分岐が発見されたとき、図５に示すように、予想に従って取り出されたすべての命令（すなわち、ＩＥＸＣＥＰＴＩＯＮ，ＩＪ，．．．，ＩＫ）が、命令バッファ４００から削除、及び破棄された。したがって、本発明が、時期尚早な例外通知を回避する効率的なシステム、及び方法を提供することが理解されよう。例外生成命令が実際に実行された場合、その特殊符号化例外メッセージは、正規の命令と同様にしてプログラム順に撤回され、したがって、プログラム順に検出、及び通知される。


【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】符号の説明
【補正方法】変更
【補正の内容】
【符号の説明】
１００、３００    計算システム
１１２、３１２    命令フェッチ・ユニット
１１４、３１４    実行ユニット
１１６            命令バッファ
３１６            命令順序変更バッファ
１２０、３２０    メモリ管理ユニット
１２２、３２２    命令撤回ユニット
１６０、３６０    プログラム・メモリ（命令キャッシュ）
１７０、３７０    データ・キャッシュ


【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
1997330221.tif 000001