JPH04266125A - ディジタルコンピュータの操作方法 - Google Patents

ディジタルコンピュータの操作方法

Info

Publication number
JPH04266125A
JPH04266125A JP3286261A JP28626191A JPH04266125A JP H04266125 A JPH04266125 A JP H04266125A JP 3286261 A JP3286261 A JP 3286261A JP 28626191 A JP28626191 A JP 28626191A JP H04266125 A JPH04266125 A JP H04266125A
Authority
JP
Japan
Prior art keywords
instruction
exception
computer
trap
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3286261A
Other languages
English (en)
Other versions
JP3179536B2 (ja
Inventor
Daryl K Odnert
ダリル・ケィ・オドナート
Michael J Mahon
マイクル・ジェイ・マーハン
Dale C Morris
デイル・シー・モリス
Jerome C Huck
ジェローム・シー・ハック
Ruby B Lee
ラビー・ビー・リー
Stephen G Burger
スティーヴン・ジー・バーガー
William R Bryg
ウィリアム・アール・ブリッグ
Vivek S Pendharkar
ヴィヴェク・エス・ペンドハーカー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04266125A publication Critical patent/JPH04266125A/ja
Application granted granted Critical
Publication of JP3179536B2 publication Critical patent/JP3179536B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ、そして
さらに詳細に例外条件を取り扱う方法に関するものであ
る。
【0002】
【従来の技術】ディジタルコンピュータはすべてオペレ
ーティングシステムとして知られている監視プログラム
を有し、これはコンピュータの基本動作を制御する。コ
ンピュータがオンした場合に最初にコンピュータを始動
するものがオペレーティングシステムである。オペレー
ティングシステムとはユーザが使用を希望するプログラ
ムの実行を制御するプログラムであり、これはアプリケ
ーションプログラム又は単にアプリケーションと呼ばれ
るオペレーティングシステムは通常コンピュータのユー
ザには見えない。それは実行中の状態をユーザが実際に
観察するアプリケーションプログラムである。
【0003】一定の事前に決定された方法で誤っている
操作をユーザが実行することを防ぐためにオペレーティ
ングシステムは通常設計されている。例えば、コンピュ
ータは数字を0で除算することができない。なぜなら、
その結果を計算することができないからである。そのよ
うな誤った操作は、例外として知られる応答を生み出す
。アプリケーションを実行中に、例外を生み出す命令に
オペレーティングシステムが遭遇すると、それは実行中
のアプリケーションからその例外を取り扱うよう設計さ
れた別のサブルーチン又はプログラムへと制御を移す。 これらのサブルーチン又はプログラムは、トラップルー
チン又はトラップハンドラとして知られている。従って
、上記を例を使用することにより、もしアプリケーショ
ンがある数字を0で除算しようとした場合、コンピュー
タの制御はトラップハンドラへ移されるであろう。 同様に、もしアプリケーションが存在しないある装置又
はメモリから読み取り又はそれらへ書き込みを行おうと
する場合、オペレーティングシステムはコンピュータの
制御をトラップハンドラへと移す。トラップハンドラに
よっては実行中のアプリケーションプログラムを終了す
るものもあり、またユーザに対しある種の警告メッセー
ジを出力するものもある。
【0004】ある命令が誤った操作を実行しようとする
場合に発生するトラップは、例外トラップとして知られ
る。例外トラップはコンピュータのユーザの大きな助け
となる。なぜなら、例外トラップは、通常見過ごすよう
な不注意なエラーを捕らえるからである。そのようなエ
ラーの中には通常ユーザにより検知されないエラーがあ
る。しかしながら、例外が有害な結果を生み出し、その
例外を作り出す命令がそのプログラマの希望する結果へ
到達するために利用可能な最善のものであるということ
をアプリケーションプログラマが知っている場合には、
例外トラップは障害物となりうる。
【0005】例えば、最近のディジタルマイクロプロセ
ッサは、ほとんどの商業的に実用的なメモリデバイスを
アクセス可能なスピードよりしばしばより高速に数学関
数を実行することができる。プロセッサの遊び時間を防
ぐために、プログラマ及び最適化コンパイラはすでにプ
ロセッサの内部レジスタ内のデータに関し実行される計
算によりロード命令を分散させるコードを発生させよう
とする。理想的には、プログラマはデータを内部プロセ
ッサ内へロードし、現在内部レジスタ内のみのデータに
関連する計算を進める命令を出力する。ロード命令は、
その後続く計算により占められる時間期間中に完了する
。その計算が完了するまでに、ロード命令内で指定され
るデータが次の計算に対し利用可能となる。
【0006】2つのアレイA(i)及びB(i)の内容
を加算し、第三のアレイC(i)=A(i)+B(i)
を作成する単純なループを考慮すること。ここで、iは
1からNの値であり、ここでアレイの各々にはN個の要
素が存在する。 そのようなループをコード化するための従来の手法が以
下の操作用のコードを作成する。
【0007】(1) 1をレジスタiへロードする。
【0008】(2) A(i)を内部レジスタxへロー
ドする。
【0009】(3) B(i)を内部レジスタyへロー
ドする。
【0010】(4) x及びyの内容を加算し、その結
果を内部レジスタz内へ入れる。
【0011】(5) zの内容をメモリ位置C(i)へ
記憶する。
【0012】(6) レジスタiを増加し、i≦Nなら
(2)へ分岐する。
【0013】上記のコードはステップ(2)及び(3)
で2つの連続的なロード命令を含み、これらはステップ
(4)の命令が実施される前に完了しなければならない
。ステップ(4)で加算を実施する前にプロセッサはロ
ード命令が完了することを待たなければならない。この
期間中、プロセッサは遊び状態である。
【0014】上記の例は以下のようなプロセッサの遊び
時間の多くを避けるような方法で再コード化可能な場合
がある。
【0015】(1) 2をレジスタiへロードする。
【0016】(2) A(i)を内部レジスタxへロー
ドする。
【0017】(3) B(i)を内部レジスタyへロー
ドする。
【0018】(4) x及びyの内容を加算し、その結
果を内部レジスタz内へ入れる。
【0019】(5) A(i)をレジスタxへロードす
る。
【0020】(6) B(i)をレジスタyへロードす
る。
【0021】(7) zの内容をC(i−1)へ記憶す
る。
【0022】(8) iを増加する。
【0023】(9) i≦N+1ならば(4)へ分岐す
る。
【0024】ここで、ロード命令が完了中に実行可能な
他の命令と共にロード命令が散在される。実際の必要な
加算を実施する前に次のステップ (4)〜(9)のル
ープの繰り返しにおいて使用される値をこれらのロード
は得ている。このループをコード化するための手法に関
する問題は、iの最後の値で発生する。i=N+1の場
合、A(N+1)及びB(N+1)の値が要求される。 しかしながら、これらのアレイの各々にはN個のみの要
素が存在するために、アレイA及びB内にはそのような
要素は存在しない。その結果、メモリ例外が発生する可
能性があり、その結果トラップが発生する。トラップハ
ンドラはプログラムを終了するか又は他の何らかの望ま
しくない結果を発生させる可能性がある。
【0025】不法なメモリアドレスの内容がコードによ
り決して実際に使用されないために、メモリの侵害は無
害である。残念ながら、従来手法によるトラップハンド
ラルーチンはどのメモリ侵害が無害であるかを確認する
ための手段を備えていない。
【0026】この問題を解決するために提案された1つ
の手法は、2組の命令、通常命令、及び取り消し可能な
命令を定義することに関するものである。取り消し可能
及び不可能形式の双方において存在可能な命令例はロー
ド命令である。通常のロード命令がトラップ条件を作り
出す場合、トラップは通常に作動する。しかし、取り消
し可能なロード命令がトラップ条件を生み出す場合は、
この条件は「取り消され」、プログラムは実行開始する
。一般的に、取り消し可能な命令は、命令コードの1ビ
ットにより非取り消し可能命令と区別される。割り込み
を発生させている命令が、事前に決定された値へ設定さ
れた問題のビットを持っている場合は、コンピュータハ
ードウエアはトラップ割り込みを抑制するよう設計され
る。
【0027】取り消し可能なトラップ条件に対処する本
手法により使用される上記で述べたコードタイプが可能
となる場合は、それは多くの欠点を持っている。まず最
初に、ハードウエアにおいてこれらの命令を実現しない
既存のプロセッサ上でそれが利用不可能である。命令の
取り消し可能性の指示は命令コード内に含まれ、割り込
みハードウエアにより処理されるために、特別に構成さ
れたプロセッサが利用されなければならない。
【0028】第二に、取り消し可能なトラップを生成す
る可能性のある各操作に対し2つの命令が提供されなけ
ればならない。この結果、任意の命令コード長に対し提
供可能な命令数が削減される。もし命令コード長が新し
い命令を含むために増加されると、プログラムを記憶す
るために必要とされるメモリ量が増加するか又はより少
ない数の明確な操作がコンピュータの命令セットで記述
可能である。
【0029】第三に、ハードウエア設計者は取り消し可
能なトラップを生成可能なすべての命令を予期しなけれ
ばならない。設計者が取り消し可能な命令セットを設計
する際に過度に包含的(over−inclusive
)な態度で臨む必要があるか、あるいはプログラマがプ
ロセッサ上で実行可能なコードにおいて限定されること
になる。もし設計者が過度に包含的な態度で臨む場合に
は、プロセッサハードウエア及び可能なメモリ費用はハ
ードウエアの複雑性が増加するために増加するであろう
。もし設計者が過小に包含的(under−inclu
sive)な態度で臨む場合には、プログラマはある種
のタスクに対し効率的なコードを提供するための能力に
おいて限定されるであろう。
【0030】最後に、プロセッサ内の他のレジスタの状
態に従って、例外を取り消すかどうかに関する決定をプ
ロセッサが行うことを本手法は許可しない。例えば、コ
ードの実施中に一定のクラスの命令の取り消し可能性を
プログラマがダイナミックに指定することは利点がある
であろう。これはコンピュータ内の1つ以上のレジスタ
の内容を吟味し、その取り消し決定を特定の命令に置き
、その結果その例外及びこれらのレジスタの内容を発生
させることにより実施可能である。その種の条件付き例
外取り扱いは、ハードウエアの複雑性を及び従ってコス
トを大幅に増加せずに実現することは困難である。
【0031】
【発明が解決しようとする課題】概略的に言って、例外
に応じてディジタルコンピュータを操作するための改良
手法を提供することが本発明の目的である。
【0032】既存のプロセッサ上で実現可能な命令が取
り消し可能であるかどうかを決定する手法を提供するこ
とが本発明の別の目的である。
【0033】同じ操作を実行する取り消し可能及び取り
消し不可能命令の双方を単一命令コードが表すことが可
能なコンピュータを操作する手法を提供することが本発
明のさらに別の目的である。
【0034】さらに、取り消し可能なトラップを生成可
能なすべての命令をハードウエア設計者が予期すること
を必要としないコンピュータを操作する手法を提供する
ことが本発明の別の目的である。
【0035】さらに、コンピュータレジスタ又は他のハ
ードウエア装置のステータスに依存する方法でプロセッ
サが命令の取り消し可能性を決定することを可能にする
コンピュータを操作する手法を提供することが本発明の
別の目的である。
【0036】本発明のこれら及び他の目的は、以下に示
す発明の詳細記述及び以下の図面から、本技術に優れた
人にとって明白となるであろう。
【0037】
【課題を解決するための手段】本発明は、ある例外の発
生に対応してディジタルコンピュータを操作するための
手法から構成される。コンピュータはある決められたコ
ンピュータ位置に記憶されたデータ及びその例外の原因
となっている命令の命令コードも吟味する。問題のデー
タ及び上記の命令コードに依存して、その例外の原因で
ある命令が取り消し可能であるかどうかをコンピュータ
が決定する。もしその例外の原因である命令が取り消し
可能な命令であるとして決定される場合は、上記の例外
が存在しない場合に実行されたであろうと思われる次の
命令を実行される次の命令にコンピュータが割り当てる
。事前決定されたコンピュータ位置は、その例外の原因
である命令コードのメモリアドレスを含むコンピュータ
レジスタを含むコンピュータレジスタである場合がある
。そして、その決定ステップには、レジスタの内容を事
前に決定された値と比較することが含まれる場合がある
【0038】
【実施例】従来技術においては、その例外の原因となっ
ている命令の命令コードの内容によってのみ取り消し可
能性が決定される。本発明の提出される実施例において
は、取り消し可能性は1つ以上のコンピュータ位置内に
記憶されるコード及び情報の双方により決定される。こ
の情報はトラップの原因となった命令のアドレス又は事
前に又はプログラムの実行中に定義された他の情報を含
むことが可能である。
【0039】可能性のあるコンピュータ位置としては、
メモリ位置及びコンピュータ内部レジスタが含まれる。
【0040】本発明の提出される実施例は、アプリケー
ションプログラムの作成及び実施に関連する3つの主な
サブプロセスへの変更を必要とする。まず最初に、どの
命令が取り消し可能かに関する情報がプログラムのコー
ド内に含まれるようにアプリケーションプログラムが書
かれる。通常、プログラマは高級コンピュータ言語でア
プリケーションプログラムを作成する。プログラムが容
易に理解可能なように優れたプログラムがプログラムを
作成可能なようにこれらの言語は設計される。不幸なこ
とに、コンピュータは直接言語を理解できず、従ってそ
のプログラムを実行することができない。従って、コン
パイラとして知られるプログラムは高級言語により書か
れたプログラムコード、即ちソースコードを、コンピュ
ータが実行可能なコードセット、即ちアセンブリされた
コードへ変換するために使用される。コンパイラは、そ
のアセンブリされたコード内部で、その長さ等の情報(
ここで、それがメモリ内部に記憶される)及び他の重要
な情報を生成する。
【0041】本発明の提出される実施例においては、コ
ンパイラは取り消し可能な命令を指定する。しかし、適
当なコンパイラ命令をコード内部に含むことにより取り
消し可能として考えられる命令をコードブロックが含む
可能性があることをプログラマもまた指示可能であるこ
とが従来技術に優れた人々にとって明らかであろう。
【0042】第二に、オペレーティングシステムリンカ
はアプリケーションプログラムをコンピュータのメモリ
内部へロードする。命令が取り消し可能かどうかをトラ
ップハンドラに決定させる情報をリンカが記憶する。取
り消し可能な命令のアドレス表を記憶するか又は取り消
し可能な命令を含むコードブロックを事前に決定された
メモリブロックへ割り当てることによりこのことが実現
可能である。
【0043】第三に、コンピュータはアプリケーション
プログラムの実際の実施を開始する。本発明がそのアプ
リケーションプログラムの実施に対しその利点を提供す
る方法は、図1で示す本発明の提出される実施例を調べ
ることにより最も良く理解可能である。例外に対応する
場合にトラップサブルーチンがメモリ位置情報を利用す
る方法を示すフローチャートを図1が示す。
【0044】例外が発生すると、制御はトラップルーチ
ンへ転送される。トラップルーチンは命令を調べ、それ
が11に示すように取り消し可能かどうかを決定する。 その命令が潜在的に取り消し可能な場合は、14に示す
ように命令が記憶されたメモリ内のアドレスをトラップ
ルーチンが調べる。もし実行命令のアドレスが取り消し
可能な命令へ割り当てられるアドレスの中に存在しない
場合は、トラップは16に示すように通常の方法で実行
される。もし実行命令のアドレスが取り消し可能な命令
へ割り当てられるアドレスの中に存在する場合は、18
に示すように、そのトラップが発生していなかったなら
ば、その例外は取り消され、コンピュータは次の命令を
実行する。
【0045】制御をアプリケーションへ戻す前に、トラ
ップルーチンは例外の原因である命令により指定される
任意の操作を完了する場合がある。その命令がその例外
に係わらず実行されることがある場合には望ましい場合
がある。他の場合には、その命令は実行不可能な場合が
ある。命令の実行が望ましくないか又は不可能な場合に
は、コンピュータはその命令結果に対しあるデフォルト
値を割り当てる場合があるか、又はそれはその命令を完
全に無視する場合がある。
【0046】上記で記述した本発明の実施例は、命令を
取り消すかどうかを決定するために例外の原因となった
命令のアドレスを利用する。しかし、本発明による例外
を処理する他の方法も可能である。例えば、トラップル
ーチンそれ自体によりアクセス可能な位置は、フラッグ
が設定中に発生したすべての例外を取り消すことを示す
ためのフラグとして利用可能である。本発明のこの実施
例において、取り消し可能な命令を含むコードブロック
の最初の部分にあるフラグを設定する最初の命令を、コ
ンパイラは挿入する。そのコードブロックの終わりに、
フラグをリセットする第二の命令が挿入される。実行中
に例外に遭遇すると、トラップルーチンは問題のフラグ
をチェックし、もしフラグが設定されている場合は、そ
の例外を取り消す。
【0047】本発明のこの第二の実施例の実現は、コン
パイラ及びトラップルーチンに対し小さな変更のみを必
要とする。さらに、異なるメモリブロック間でコードが
スプリットされる必要はない。しかし、フラグがセット
及びリセットされる周波数は、フラグをセット及びリセ
ットするプロセッサ時間を浪費することを避けるために
低くなければならない。フラグをセット及びリセットす
るために必要とされる時間は、フラグを保持するために
内部プロセッサレジスタの内の1つを使用することによ
り最小化可能である。
【0048】上記の例がすべての取り消し可能な命令を
同じ方法で処理可能な一方、当業者にとって例外を取り
消すための決定は、異なる取り消し可能な命令が別々に
取り扱われるように実施可能である。取り消し可能性を
決定するメモリアドレスを利用するそれらの実施例にお
いて、異なるクラスの取り消し可能な命令に対し別のア
ドレス表が使用可能な場合がある。もしフラグが使用さ
れる場合、複数のフラグがトラップルーチンへ割り当て
可能な場合がある。この場合、トラップルーチンは実行
を生成する命令の命令コードを調べる。もし命令が潜在
的に取り消し可能な場合は、トラップはその命令に関連
するフラグを調べ、その命令を取り消すかどうかを決定
する。
【0049】ここで、別のフラグのセット及びリセット
手法が、各種の命令に対し利用可能である。命令はコン
パイラ指示語を通じて挿入可能か又はプログラムの実行
中に存在する操作条件に応じコードにより生成可能であ
る。このようにして、より柔軟な取り消し可能な命令戦
略が、コードを再コンパイルしないで実現可能である。
【0050】
【発明の効果】以上のように、本発明によれば、例外に
応じてディジタルコンピュータを操作するための改良手
法を提供することが可能である。さらに、本発明によれ
ば、既存のプロセッサ上で実現可能な命令が取り消し可
能であるかどうかを決定する手法を提供することが可能
である。さらにまた、本発明によれば、同じ操作を実行
する取り消し可能及び取り消し不可能命令の双方を単一
命令コードが表すことが可能なコンピュータを操作する
手法を提供することが可能である。さらにまた、本発明
によれば、取り消し可能なトラップを生成可能なすべて
の命令をハードウエア設計者が予期することを必要とし
ないコンピュータを操作する手法を提供することが可能
である。さらにまた、本発明によれば、コンピュータレ
ジスタ又は他のハードウエア装置のステータスに依存す
る方法でプロセッサが命令の取り消し可能性を決定する
ことを可能にするコンピュータを操作する手法を提供す
ることが可能である。
【0051】ここでは取り消し可能な命令を処理する手
法について述べた。本発明に対する種々の変更は、以前
の記述及び添付図面から当業者にとって明らかになるで
あろう。それに従って、本発明は特許請求の範囲によっ
てのみ限定される。
【図面の簡単な説明】
【図1】例外に応答する本発明の好適な実施例のトラッ
プの動作を説明する流れ図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】例外の発生に応答してディジタルコンピュ
    ータを操作するための方法であって:所定のコンピュー
    タ記憶位置に格納されたデータを検査し;前記例外を生
    じさせた命令の命令コードを検査し;前記例外を生じさ
    せた前記命令が取り消し可能であるかを、前記データ及
    び前記命令コードに応じて決定し;前記例外を生じさせ
    た前記命令が取り消し可能な命令であると決定された場
    合には、前記トラップが生じない場合に実行されたであ
    ろう命令を実行される次の命令に割当てる;ことから成
    ることを特徴とする方法。
JP28626191A 1990-10-31 1991-10-31 ディジタルコンピュータの操作方法 Expired - Fee Related JP3179536B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/606,711 US5278985A (en) 1990-10-31 1990-10-31 Software method for implementing dismissible instructions on a computer
US606711 1990-10-31

Publications (2)

Publication Number Publication Date
JPH04266125A true JPH04266125A (ja) 1992-09-22
JP3179536B2 JP3179536B2 (ja) 2001-06-25

Family

ID=24429144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28626191A Expired - Fee Related JP3179536B2 (ja) 1990-10-31 1991-10-31 ディジタルコンピュータの操作方法

Country Status (4)

Country Link
US (1) US5278985A (ja)
EP (1) EP0484033B1 (ja)
JP (1) JP3179536B2 (ja)
DE (1) DE69128908T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802337A (en) * 1995-12-29 1998-09-01 Intel Corporation Method and apparatus for executing load instructions speculatively
US5778233A (en) * 1996-10-11 1998-07-07 International Business Machines Corporation Method and apparatus for enabling global compiler optimizations in the presence of exception handlers within a computer program
US6253317B1 (en) * 1997-01-09 2001-06-26 Sun Microsystems, Inc. Method and apparatus for providing and handling traps
US6044221A (en) * 1997-05-09 2000-03-28 Intel Corporation Optimizing code based on resource sensitive hoisting and sinking
US5999736A (en) * 1997-05-09 1999-12-07 Intel Corporation Optimizing code by exploiting speculation and predication with a cost-benefit data flow analysis based on path profiling information
US5915117A (en) * 1997-10-13 1999-06-22 Institute For The Development Of Emerging Architectures, L.L.C. Computer architecture for the deferral of exceptions on speculative instructions
US6170083B1 (en) 1997-11-12 2001-01-02 Intel Corporation Method for performing dynamic optimization of computer code
US6397320B1 (en) 1999-06-25 2002-05-28 International Business Machines Corporation Method for just-in-time delivery of load data via cycle of dependency
US6393553B1 (en) 1999-06-25 2002-05-21 International Business Machines Corporation Acknowledgement mechanism for just-in-time delivery of load data
US6425090B1 (en) 1999-06-25 2002-07-23 International Business Machines Corporation Method for just-in-time delivery of load data utilizing alternating time intervals
US6427204B1 (en) 1999-06-25 2002-07-30 International Business Machines Corporation Method for just in-time delivery of instructions in a data processing system
US6505277B1 (en) 1999-06-25 2003-01-07 International Business Machines Corporation Method for just-in-time delivery of load data by intervening caches
US6430683B1 (en) * 1999-06-25 2002-08-06 International Business Machines Corporation Processor and method for just-in-time delivery of load data via time dependency field
US6829700B2 (en) * 2000-12-29 2004-12-07 Stmicroelectronics, Inc. Circuit and method for supporting misaligned accesses in the presence of speculative load instructions
US7930707B2 (en) * 2006-05-10 2011-04-19 Oracle International Corp. Optimizing code motion with delayed exception handling

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4074353A (en) * 1976-05-24 1978-02-14 Honeywell Information Systems Inc. Trap mechanism for a data processing system
US4080650A (en) * 1976-07-28 1978-03-21 Bell Telephone Laboratories, Incorporated Facilitating return from an on-line debugging program to a target program breakpoint
US4498136A (en) * 1982-12-15 1985-02-05 Ibm Corporation Interrupt processor
US5034880A (en) * 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction

Also Published As

Publication number Publication date
JP3179536B2 (ja) 2001-06-25
EP0484033A3 (en) 1993-06-09
EP0484033B1 (en) 1998-02-11
US5278985A (en) 1994-01-11
DE69128908D1 (de) 1998-03-19
EP0484033A2 (en) 1992-05-06
DE69128908T2 (de) 1998-07-30

Similar Documents

Publication Publication Date Title
US6634023B1 (en) Compile method, exception handling method and computer
CA2082408C (en) System and method for preserving source instruction atomicity in translated program code
US5621886A (en) Method and apparatus for providing efficient software debugging
US5740413A (en) Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
EP0855058B1 (en) Programmable branch prediction system and method for computer systems
US6247172B1 (en) Method for a translation system that aggressively optimizes and preserves full synchronous exception state
AU775007B2 (en) Method and apparatus for building a calling convention prolog and epilog code using a register allocator
JPH04266125A (ja) ディジタルコンピュータの操作方法
KR100478025B1 (ko) 보안해석기에서전용변수함수호출의실행시간을최적화하기위한시스템및그방법
US6230317B1 (en) Method and apparatus for software pipelining of nested loops
US20020035722A1 (en) Interactive instruction scheduling and block ordering
US20050172302A1 (en) Method, system, program and data structure for controlling access to sensitive functions
US6173248B1 (en) Method and apparatus for handling masked exceptions in an instruction interpreter
US7010671B2 (en) Computer system and method for executing interrupt instructions in two operating modes
US20070288729A1 (en) System and Method for Simulating Hardware Interrupts
EP0621535B1 (en) Interrupt handling
JP2856663B2 (ja) コンパイル・コードに可視境界を定義する最適化方法および装置
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
Huxtable et al. Dynamic supervisors-their design and construction
Marti Compilation techniques for a control-flow concurrent LISP system
Zhang et al. A data flow approach to the evaluation of FP programs
JPS6126692B2 (ja)
GREENBAUM et al. Design issues faced by one Ada embedded computer operating system
JPH0566941A (ja) データ処理方式及び言語処理方式
Böszörményi et al. Exception handling

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees