JPH04223532A - 改良されたプロセッサ - Google Patents

改良されたプロセッサ

Info

Publication number
JPH04223532A
JPH04223532A JP3051288A JP5128891A JPH04223532A JP H04223532 A JPH04223532 A JP H04223532A JP 3051288 A JP3051288 A JP 3051288A JP 5128891 A JP5128891 A JP 5128891A JP H04223532 A JPH04223532 A JP H04223532A
Authority
JP
Japan
Prior art keywords
exception
level
registers
instruction
processor
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
JP3051288A
Other languages
English (en)
Other versions
JP2951738B2 (ja
Inventor
William M Johnson
ウィリアム・マイケル・ジョンソン
Michael D Goddard
マイケル・ディー・ゴッダード
Tim Olson
ティム・オルソン
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH04223532A publication Critical patent/JPH04223532A/ja
Application granted granted Critical
Publication of JP2951738B2 publication Critical patent/JP2951738B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • 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/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【発明の背景】この発明は包括的に改良されたプロセッ
サに関するものである。より特定的にはこの発明はより
効率よく第2のレベルの例外状態を取扱うことができる
ようなプロセッサに関するものである。
【0002】マイクロプロセッサは技術においてよく知
られている。プロセッサの1つの型はパイプライン構成
を有する減少された命令セット(reducedins
truction  set)(RISC)プロセッサ
である。これらのプロセッサは、たとえば、フェッチ段
、デコード段、実行段および書戻し段を含む一連の段を
通って直列の命令を処理する。このようなプロセッサは
非常に高速で動作しかつそれらのパイプライン構成ゆえ
に最小限のハードウェアで能率よく命令を実行すること
ができる。
【0003】このようなプロセッサにおいては、各命令
は前述の段を通り処理される。これゆえ、1つのサイク
ルの間、第1の命令は書戻し段にあるであろうし、第2
の命令は実行段にあるであろうし、第3の段はデコード
段にあるであろうしかつ第4の命令はフェッチ段にある
であろう。直後に続くサイクルにおいては、第2の命令
は書戻し段にあるであろうし、第3の命令は実行段にあ
るであろうし、第4の命令はデコード段にあるであろう
し、かつ新しいまたは第5の命令はフェッチ段にあるで
あろう。
【0004】このようなプロセッサはまた一般的に例外
ハンドラを含む。例外ハンドラもまた技術においてよく
知られている。例外ハンドラはルーチンでない命令を処
理するためにこのようなプロセッサにおいて利用される
。ルーチンでない命令はプロセッサにおいて例外状態と
して知られているものを引起こす。例外状態は、たとえ
ば、命令が無効の動作を呼出すとき、命令が0による除
算を呼出すとき、または命令の実行がオーバーフロまた
はアンダーフロ状態を引起こすであろうときに起こるか
もしれない。
【0005】例外状態が命令の実行の間に注目されると
き、通常の処理は中断されかつプロセッサは進行中の現
在の各命令のプロセス状態を注目することによって中断
されたプロセスの脈絡を保全しなければならない。それ
から、例外ハンドラは例外状態の原因を決定するために
ソフトウェアルーチンを引起こしかつ例外が要求するい
かなる機能を達成することによって例外状態を処理しな
ければならない。例外状態が取扱われた後、それから、
プロセッサは例外状態が発生したとき各このような命令
に対するプロセスの点において処理されていた各命令の
ための通常のプロセスに戻らなければならない。
【0006】先行技術のプロセッサは、例外状態を検出
すると、中断されたプロセスの脈絡を外部のメモリにそ
れをストアすることによって保全してきた。外部のメモ
リにおける中断されたプロセスの脈絡をストアすること
は増加された例外レーテンシーの形で問題を引起こし、
なぜならそれは例外の受信から例外ハンドラによる例外
の実行までに必要とされる時間を増加するからである。 これは、もしメモリアクセス時間がプロセッサレジスタ
アクセス時間と比べて長ければ特にそうである。
【0007】例外レーテンシ問題を克服するために、1
つの先行技術のプロセッサは連続してその脈絡を内部の
レジスタに保全し、それらは例外が検出されると更新す
ることを妨げられる。それから例外ハンドラは直接例外
を実行することができ、なぜならプロセッサ脈絡は内部
のレジスタにおいて凍結されているからである。
【0008】内部のレジスタの試みは例外レーテンシを
減少したのではあるが、例外ハンドラは第1のレベルの
例外、通常のプロセッサにおいて発生する例外を実行す
ることができるだけである。不幸にも、時々例外は例外
自身の実行の間に発生し得る。これらの例外は第2のレ
ベルの例外と呼ばれておりかつ特殊化された第1のレベ
ルの例外ハンドラソフトウェアが与えられない限りこの
ようなプロセッサによって取扱われることはできない。 ブレイクポイントを設定しかつプログラム流れをトレー
スするような標準の例外取扱ツールは使用されることが
できず、なぜなら例外はこのようなプロセッサにおいて
第1のレベルの例外の実行の間不能化されるからである
。結果として、第2のレベルの例外は検出されないかま
たは全く無視されるかのどちらかである。
【0009】この発明は例外を取扱うことにおける前述
の問題を克服する。それは第2のレベルの例外が能率よ
く実行され得る手段を提供するだけでなくまた、例外レ
ーテンシの問題を避ける。
【0010】
【発明の概要】したがってこの発明は、複数個の直列の
段を通る順に命令を直列に処理するための通常のプログ
ラム手段を含む改良されたプロセッサを提供する。プロ
セッサはさらに、そのそれぞれのプロセス段に従って進
行中の各命令をトラックするための通常のプログラム手
段に結合されている第1の手段を含みかつ処理されてい
る各命令が次の段に進むと更新可能である。プロセッサ
はさらに、通常のプログラム手段において発生する第1
のレベルの例外状態を処理するための複数個の段を通っ
て第1のレベルの例外処理命令を処理するための通常の
プログラム手段に結合されている例外ハンドラ手段を含
む。通常のプログラム手段が第1のレベルの例外状態の
処理が完了した後第1のレベルの例外状態の発生の点か
ら進行中の命令の処理を再開始することを許容するため
に例外ハンドラ手段が第1のレベルの例外状態を処理す
るとき、第1の手段が更新されるのを妨げるために例外
ハンドラ手段はまた第1の手段に結合されている。プロ
セッサはさらに、そのそれぞれのプロセス段に従って通
常のプログラム手段において進行中の各命令を第1の手
段と連絡し合ってトラックするための、例外ハンドラ手
段に結合された第2の手段を含む。第2の手段は第1の
手段と連絡し合って更新可能であり、かつそのそれぞれ
のプロセス段に従って進行中の各第1のレベルの例外処
理命令をトラックするための例外ハンドラ手段によって
第1のレベルの例外状態の処理の間、また更新可能であ
る。プロセッサはさらに、例外ハンドラ手段において発
生する第2のレベルの例外状態を処理するための第2の
レベルの例外処理命令を処理するための例外ハンドラ手
段に結合されているモニタ手段を含む。例外ハンドラ手
段が第2のレベルの例外状態の処理が完了した後第2の
レベルの例外状態の発生の点から進行中の第1のレベル
の例外処理命令の処理を再開始することを許容するため
にモニタ手段が第2のレベルの例外状態を処理するとき
、第2の手段が更新されるのを妨げるためにモニタ手段
は第2の手段に結合されている。
【0011】新規であると考えられるこの発明の特徴は
前掲の特許請求の範囲において詳しく述べられている。 さらに他の利点およびそれの目的とともに、この発明は
添付に図面に関して解される以下の記述を参照すること
によって最もよく理解されてもよく、そのただ1つの図
において類似の参照符号は同一の要素を表わす。
【0012】今、図1を参照すると、それはこの発明を
実施する改良された例外取扱手段を用いるプロセッサを
ブロック図形状において示す。プロセッサ10は一般的
に通常のプログラム手段12、第1の複数個のレジスタ
14、例外ハンドラ15、リードオンリメモリ16、第
2の複数個のレジスタ18、モニタ手段20、第3のレ
ジスタ22、第2のリードオンリメモリ24、および現
在のプロセッサ状態レジスタ26を含む。
【0013】技術においてよく知られた態様においては
、通常のプログラム手段12は通常のプログラム命令を
直列にかつ複数個の直列の段を通る順に処理する。好ま
しくは、直列の段はフェッチ段、デコード段、実行段、
および書戻し段を含む。各通常のプログラム命令がそれ
ぞれの唯一のアドレスでメモリにストアされている内部
のメモリ(図示せず)から通常のプログラム命令は得ら
れる。通常のプログラム手段12はレジスタ28、29
および30を含む第1の複数個のレジスタ14に結合さ
れる。レジスタ28、29および30はそれぞれプログ
ラムカウンタPC  0、PC  1およびPC  2
を含んでもよい。
【0014】第1の複数個のレジスタ28ないし30は
そのそれぞれのプロセス段に従って進行中の各通常のプ
ログラム命令をトラックする。この目的のために、レジ
スタ28は現在デコード段にある命令のアドレスをスト
アすることに対して専用にされ、レジスタ29は現在実
行段にある通常のプログラム命令のアドレスをストアす
ることに対して専用にされ、レジスタ30は現在書戻し
段にある通常のプログラム命令のアドレスをストアする
ことに対して専用にされる。レジスタ28ないし30は
処理されている各命令が次のプロセス段に進むと連続的
に通常のプログラム手段によって更新される。
【0015】図1から見られるように、通常のプログラ
ム手段12は例外ハンドラ15に接続される。例外ハン
ドラは、技術においてよく知られた態様において通常の
プログラム手段で発生する第1のレベルの例外状態を処
理するための複数個のプロセス段を通り第1のレベルの
処理命令を処理するように配置されている。例外ハンド
ラ15は、リードオンリメモリ16から得た第一のレベ
ルの処理命令を処理する。例外ハンドラ15はまた、第
1の複数個のレジスタ28ないし30の各々に、例外状
態が検出されたときおよび例外ハンドラ15が第1のレ
ベルの例外状態を処理する時間の間これらのレジスタが
更新されることを妨げるために結合されている。第1の
複数個のレジスタ28ないし30の凍結は、例外ハンド
ラ15によって第1のレベルの例外状態の処理が完了し
た後進行中の通常のプログラム命令の処理を第1のレベ
ルの例外状態の発生の点から再開始することを通常プロ
グラミング手段に許容する。
【0016】例外ハンドラ15はまたレジスタ31、3
2および33を含む第2の複数個のレジスタ18に結合
されている。レジスタ31、32および33はそれぞれ
影のプログラムカウンタSPC  0、SPC  1お
よびSPC  2を含んでもよい。第2の複数個のレジ
スタ31ないし33は第1の複数個のレジスタ28ない
し30と同一でありかつ第1の複数個のレジスタと連絡
して通常のプログラム手段において進行中の各通常のプ
ログラム命令をトラックする。結果として、レジスタ3
1は現在デコード段にある通常のプログラム命令のアド
レスをストアすることに対して専用にされ、レジスタ3
2は現在実行段にある通常のプログラム命令のアドレス
をストアすることに対して専用にされ、かつレジスタ3
3は現在書戻し段にある通常のプログラム命令のアドレ
スをストアすることに対して専用にされる。結果として
、第2の組のレジスタ31ないし33は第1の複数個の
レジスタ28ないし30と連絡して更新可能である。
【0017】第1の複数個のレジスタ28ないし30と
違って、第2の複数個のレジスタ31ないし33はまた
、例外ハンドラ15が第1のレベルの例外状態を処理す
るとき第1のレベルの例外状態命令の処理の間例外ハン
ドラ15によって更新可能である。結果として、例外ハ
ンドラ15が第1のレベルの例外状態を処理するとき第
1の複数個のレジスタ14は凍結されているが、レジス
タ31は現在デコード段にある第1のレベルの例外処理
命令のアドレスをストアするだろうし、レジスタ32は
現在実行段にある第1のレベルの例外処理命令のアドレ
スをストアするだろうし、かつレジスタ33は現在書戻
し段にある第1のレベルの例外処理命令のアドレスをス
トアするだろう。結果として、第2の複数個のレジスタ
18は、例外ハンドラが第1のレベルの例外状態を処理
するとき、例外ハンドラによって連続的に更新される。
【0018】モニタ手段20は例外ハンドラ15に結合
される。モニタ手段20は、例外ハンドラ15において
発生する第2のレベルの例外状態を処理するための第2
のレベルの例外処理命令を処理するために配置されてい
る。前述のように、第2のレベルの例外は例外ハンドラ
15自身に、それが第1のレベルの例外を取扱っている
間発生する例外である。第2のレベルの例外状態が検出
されたときおよびモニタ手段が第2のレベルの例外状態
を処理している時間の間、第2の複数個のレジスタ18
が更新されるのを妨げるためにモニタ手段20はまた第
2の複数個のレジスタ18に結合される。これは、第2
のレベルの例外状態の処理が完了した後第2のレベルの
例外状態の発生の点から例外ハンドラ15が進行中の第
1のレベルの例外処理命令の処理を再開始することを許
容する。
【0019】当業者によって理解されるであろうように
、第2のレベルの例外取扱の間に会うことができるであ
ろうあり得る問題の1つは、置き違えられたまたは不正
確なベクトル表エントリである。これゆえ、および第2
のレベルの例外状態処理を1つの特定のハンドラに分離
するために、モニタ手段は多くの異なった例外−特定ハ
ンドラの1つにジャンプするよりむしろ1つの定められ
た場所で活性化される。モニタ手段20は好ましくは、
すべてのあり得る第2のレベルの例外状態に対して活性
化されるよう配置される。第2のレベルの例外状態の原
因を決定するために、レジスタ22には第2のレベルの
例外状態の原因を表わす多数−ビット二進ワードが与え
られる。レジスタ22は、ここでは理由ベクトルレジス
タと呼ばれるが、第2のレベルの例外状態の原因につい
てモニタ手段20に知らせるためにそこに入った多数−
ビット二進法ワードをモニタ手段20に与えるためにモ
ニタ手段20に結合される。
【0020】モニタ手段20はリードオンリメモリ24
から得られた第2のレベルの例外処理命令を処理する。 それは、理由ベクトルレジスタ22に含まれる多数−ビ
ットワードに応答して第2のレベルの例外処理命令を得
るためにリードオンリメモリ24にアクセスする。
【0021】現在のプロセッサ状態レジスタ26は通常
のプログラム手段12、例外ハンドラ15およびモニタ
手段20に結合される。それはプロセッサ10の現在の
状態を示す多数−ビットワードをストアするために使用
される。レジスタ26内にストアされた多数−ビットワ
ードは例外ハンドラビットを含み、それは例外ハンドラ
が第1のレベルの例外状態を処理するときに設定される
。例外ハンドラビットは、設定されたとき、例外ハンド
ラ15が第1の複数個のレジスタ14のさらなる更新を
妨げることを引起こす。結果として、レジスタ14は第
1の複数個のレジスタ14のさらなる更新を妨げるため
に設定された例外ハンドラビットに応答する。
【0022】レジスタ26においてストアされる多数−
ビットワードはさらに、第2のレベルの例外状態の発生
のときに設定されるモニタモードビットを含む。モニタ
モードビットは、設定されたとき、通常のプログラム手
段12および例外ハンドラ15にモニタ手段20は第2
のレベルの例外状態を取扱う進行中であることを知らせ
る。
【0023】レジスタ26においてストアされる多数−
ビットワードはまたモニタ手段20が第2のレベルの例
外状態を処理するとき設定される凍結−ビットを含む。 凍結−ビットが設定されたとき、モニタ手段20は第2
の複数個のレジスタ18が更新されることを妨げること
を引起こす。結果として、第2の複数個のレジスタ18
は、第2の複数個のレジスタ18のさらなる更新を妨げ
るために設定された凍結−ビットに応答する。
【0024】モニタ手段20が第2のレベルの状態の処
理を完了したとき、それはリードオンリメモリ24から
中断戻り命令を得るだろう。この命令はモニタ手段が第
2の複数個のレジスタ18にもう一度更新されることを
および例外ハンドラに第2の複数個のレジスタ18にお
いて含まれている命令アドレスでの第1のレベルの例外
の処理を再び始めるのを許容することを引起こすであろ
う。同様に、例外ハンドラ15が第1のレベルの例外状
態のその処理を完了するとき、それは第1の複数個のレ
ジスタ14がもう一度更新されかつ通常のプログラム手
段が第1の複数個のレジスタ14においてストアされる
通常のプログラム命令アドレスの処理を再開始すること
を引起こすであろう。これゆえに、この発明を実施する
プロセッサ10は第2のレベルの例外状態を処理するこ
とができる。さらに、プロセッサ10は第2のレベルの
例外状態を処理し、一方例外レーテンシを避けることが
でき、なぜなら進行中の命令のアドレスは内部のレジス
タにおいて即時に利用可能であるからである。
【0025】前述のことから、この発明は改良された例
外取扱能力を有するプロセッサを提供することが見られ
る。当業者によって理解されるであろうように、モニタ
手段20により、第1のレベルの例外ハンドラは他のい
かなる使用者によって書込まれるソフトウェアルーチン
と丁度同じようにデバックされることができる。この目
的のために、ブレイクポイントは第1のレベルの中断ハ
ンドラにおいて置かれることができかつブレイクポイン
トに達したときモニタ手段の活性化を引起こすであろう
。トレーストラップはまた、モニタ手段の活性化を強制
することができ、そのため第1のレベルの例外ハンドラ
はシングルステップにされることができる。
【0026】この発明のさらに他の利点は、モニタ手段
20が高められた誤り検出を提供するということである
。先行技術のプロセッサにおいては、例外を引起こすた
いていの命令は、プロセッサが第1のレベルの例外処理
状態にあるときに無視されていた。この発明により、こ
のような例外はモニタ手段の活性化を引起こし、これら
の誤りが検出されることを許容するであろう。
【0027】前述のことに加えて、この発明は二重失敗
の回復を許容する。前の例外の脈絡保全の間に発生する
例外は二重失敗と呼ばれる。先行技術のプロセッサは二
重失敗を検出しなかったか、またはそれらから回復でき
なかったかのどちらかである。このような失敗が結果と
して生じる理由は、第1の例外の状態が完全に保全され
ていなかったからである。この発明により、第1のレベ
ルの例外状態または第2のレベルの例外状態のどちらか
が発生したときプロセス状態は連続的に保全されかつ凍
結される。結果として、二重失敗は十分に回復可能であ
る。
【0028】この発明の特定の実施例が示されかつ記述
されてきたが、修正がなされてもよく、かつしたがって
、この発明の真の精神および範囲内に属するすべてのこ
のような変化および修正を前掲の特許請求の範囲におい
て覆うことが意図されている。
【図面の簡単な説明】
【図1】この発明を実施する改良された例外取扱手段を
用いる改良されたプロセッサの概略ブロック図である。
【符号の説明】
10  プロセッサ 12  通常のプログラム手段 14  第1の複数個のレジスタ 15  例外ハンドラ 18  第2の複数個のレジスタ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】  複数個の直列の段を通って順に命令を
    直列に処理するための通常のプログラム手段と、そのそ
    れぞれのプロセス段に従って進行中の各命令をトラック
    するための前記通常のプログラム手段に結合される第1
    の手段とを含み、前記第1の手段は処理されている各前
    記命令が次の前記段に進むと更新可能であり、さらに前
    記通常のプログラム手段において発生する第1のレベル
    の例外状態を処理するための前記複数個の段を通り第1
    のレベルの例外処理命令を処理するための前記通常のプ
    ログラム手段に結合される例外ハンドラ手段を含み、前
    記例外ハンドラ手段はまた、第1のレベルの例外状態の
    処理が完了した後前記第1のレベルの例外状態の発生の
    点から前記通常のプログラム手段が進行中の前記命令の
    処理を再開始することを許容するために前記例外ハンド
    ラ手段が前記第1のレベルの例外状態を処理するとき、
    前記第1の手段が更新されることを妨げるように前記第
    1の手段に結合され、さらにその各々のプロセス段に従
    って前記通常のプログラム手段において進行中の各命令
    を前記第1の手段と連絡してトラックするための前記例
    外ハンドラ手段に結合される第2の手段を含み、前記第
    2の手段は前記第1の手段と連絡して更新可能であり、
    かつそのそれぞれのプロセス段に従って進行中の各前記
    第1のレベルの例外処理命令をトラックするための前記
    例外ハンドラ手段による第1のレベルの例外状態の処理
    の間前記第2の手段はまた更新可能であり、さらに前記
    例外ハンドラ手段において発生する第2のレベルの例外
    状態を処理するための第2のレベルの例外処理命令を処
    理ための前記例外ハンドラ手段に結合されるモニタ手段
    を含み、前記モニタ手段はまた、第2のレベルの例外状
    態の処理が完了した後前記第2のレベルの例外状態の発
    生の点から前記例外ハンドラ手段が進行中の前記第1の
    レベルの例外処理命令の処理を再開始することを許容す
    るために前記モニタ手段が前記第2のレベルの例外状態
    を処理するとき、前記第2の手段が更新されることを妨
    げるために前記第2の手段に結合されている、改良され
    たプロセッサ。
  2. 【請求項2】  前記複数個の直列段がフェッチ、デコ
    ード、実行および書戻し段を含む、請求項1に記載のプ
    ロセッサ。
  3. 【請求項3】  前記第1の手段が第1の組のレジスタ
    を含む、請求項2に記載のプロセッサ
  4. 【請求項4】  前記第1の組のレジスタがそのそれぞ
    れのプロセス段に従って進行中の各命令のアドレスをス
    トアするためのデコード、実行および書戻しレジスタを
    含む、請求項3に記載のプロセッサ。
  5. 【請求項5】  前記第2の手段が第2の組のレジスタ
    を含む、請求項4に記載のプロセッサ。
  6. 【請求項6】  前記第2の組のレジスタがそのそれぞ
    れのプロセス段に従って進行中の各命令のアドレスもま
    たストアするためのデコード、実行および書戻しレジス
    タを含む、請求項5に記載のプロセッサ。
  7. 【請求項7】  前記モニタ手段に前記第2のレベルの
    例外処理命令を与えるための前記モニタ手段に結合され
    るストア手段をさらに含む、請求項6に記載のプロセッ
    サ。
  8. 【請求項8】  前記ストア手段がリードオンリメモリ
    である、請求項7に記載のプロセッサ。
  9. 【請求項9】  前記第2のレベルの例外状態の原因を
    示す多数−ビットワードをストアするためのおよび前記
    モニタ手段に前記多数−ビットワードを与えるための前
    記モニタ手段に結合される第3のレジスタをさらに含む
    、請求項7に記載のプロセッサ。
  10. 【請求項10】  前記モニタ手段が前記多数−ビット
    ワードに応答して前記ストア手段から前記第2のレベル
    の例外処理命令を得るために配置される、請求項6に記
    載のプロセッサ。
  11. 【請求項11】  前記プロセッサの現在の状態を示す
    多数−ビットワードをストアするためのストア手段をさ
    らに含み、前記ストア手段は前記通常のプログラム手段
    、前記例外ハンドラおよび前記モニタ手段に結合される
    、請求項6に記載のプロセッサ。
  12. 【請求項12】  前記多数−ビットワードは例外ハン
    ドラビットを含み、前記例外ハンドラビットは前記例外
    ハンドラが第1のレベルの例外状態を処理するとき設定
    されかつ前記第1の組のレジスタはそれのさらなる更新
    を妨げるために設定される前記例外ハンドラビットに応
    答する、請求項11に記載のプロセッサ。
  13. 【請求項13】  前記多数−ビットワードはさらにモ
    ニタモードビットを含み、前記モニタモードビットは第
    2のレベルの例外状態の発生のときに設定される、請求
    項12に記載のプロセッサ。
  14. 【請求項14】  前記多数−ビットワードはさらに凍
    結ビットを含み、前記凍結ビットは前記モニタ手段が第
    2のレベルの例外状態を処理するとき設定され、かつ前
    記第2の組のレジスタはそれのさらなる更新を妨げるた
    めに設定される前記凍結ビットに応答する、請求項13
    に記載のプロセッサ。
  15. 【請求項15】  直列のフェッチ、デコード、実行お
    よび書戻し段を通って順に命令を直列に処理するための
    通常のプログラム手段と、そのそれぞれのプロセス段に
    従って進行中の各命令のアドレスをストアするための、
    前記通常のプログラム手段に結合される第1の組のデコ
    ード、実行および書戻しプログラムレジスタとを含み、
    処理されている各前記命令が次の前記段に進むと前記レ
    ジスタは更新可能であり、さらに前記通常のプログラム
    手段において発生する第1のレベルの例外状態を処理す
    るための前記フェッチ、デコード、実行および書戻し段
    を通り第1のレベルの例外処理命令を処理するための前
    記通常のプログラム手段に結合される例外ハンドラ手段
    を含み、前記例外ハンドラ手段はまた、第1のレベルの
    例外状態の処理が完了した後前記第1のレベルの例外状
    態の発生の点から前記通常のプログラム手段が進行中の
    各命令の処理を再開始することを許容するために前記例
    外ハンドラ手段が前記第1のレベルの例外状態を処理す
    るとき、前記第1の組のレジスタが更新されることを妨
    げるために前記第1の組のデコード、実行および書戻し
    レジスタに結合され、さらにそのそれぞれのプロセス段
    に従って前記通常のプログラム手段において進行中の各
    命令のアドレスを前記第1の組のレジスタと連絡してス
    トアするための、前記例外ハンドラ手段に結合される第
    2の組のデコード、実行および書戻しレジスタを含み、
    前記第2の組のレジスタは前記第1の組のレジスタと連
    絡して更新可能であり、かつ前記第2の組のレジスタは
    また、そのそれぞれのプロセス段に従って進行中の各前
    記第1のレベルの例外処理命令のアドレスをストアする
    ための前記例外ハンドラ手段による第1のレベルの例外
    状態の処理の間更新可能であり、さらに前記例外ハンド
    ラ手段において発生する第2のレベルの例外状態を処理
    するための第2のレベルの例外処理命令を処理するため
    の、前記例外ハンドラ手段に結合されるモニタ手段を含
    み、第2のレベルの例外状態の処理が完了した後前記第
    2のレベルの例外状態の発生の点から前記例外ハンドラ
    手段が進行中の前記第1のレベルの例外処理命令の処理
    を再開始することを許容するために前記モニタ手段が前
    記第2のレベルの例外状態を処理するとき、前記第2の
    組のレジスタが更新されることを妨げるために、前記モ
    ニタ手段はまた前記第2の組のデコード、実行および書
    戻しレジスタに結合される、改良されたプロセッサ。
JP3051288A 1990-03-21 1991-03-15 改良されたプロセッサ Expired - Fee Related JP2951738B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US496762 1990-03-21
US07/496,762 US5237700A (en) 1990-03-21 1990-03-21 Exception handling processor for handling first and second level exceptions with reduced exception latency

Publications (2)

Publication Number Publication Date
JPH04223532A true JPH04223532A (ja) 1992-08-13
JP2951738B2 JP2951738B2 (ja) 1999-09-20

Family

ID=23974024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3051288A Expired - Fee Related JP2951738B2 (ja) 1990-03-21 1991-03-15 改良されたプロセッサ

Country Status (5)

Country Link
US (1) US5237700A (ja)
EP (1) EP0448212B1 (ja)
JP (1) JP2951738B2 (ja)
AT (1) ATE133276T1 (ja)
DE (1) DE69116402T2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3590075B2 (ja) * 1992-01-20 2004-11-17 株式会社東芝 仮想記憶方式のデータ処理装置及び方法
US5491793A (en) * 1992-07-31 1996-02-13 Fujitsu Limited Debug support in a processor chip
JPH06180653A (ja) * 1992-10-02 1994-06-28 Hudson Soft Co Ltd 割り込み処理方法および装置
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
CA2128393C (en) * 1992-12-23 2001-10-02 Jean-Felix Perotto Multi-tasking low-power controller
US5761407A (en) * 1993-03-15 1998-06-02 International Business Machines Corporation Message based exception handler
EP0651321B1 (en) * 1993-10-29 2001-11-14 Advanced Micro Devices, Inc. Superscalar microprocessors
US5574928A (en) * 1993-10-29 1996-11-12 Advanced Micro Devices, Inc. Mixed integer/floating point processor core for a superscalar microprocessor with a plurality of operand buses for transferring operand segments
US5922070A (en) * 1994-01-11 1999-07-13 Texas Instruments Incorporated Pipelined data processing including program counter recycling
US5689693A (en) * 1994-04-26 1997-11-18 Advanced Micro Devices, Inc. Range finding circuit for selecting a consecutive sequence of reorder buffer entries using circular carry lookahead
EP0685794A1 (en) * 1994-06-01 1995-12-06 Advanced Micro Devices, Inc. System for generating floating point test vectors
US5696955A (en) * 1994-06-01 1997-12-09 Advanced Micro Devices, Inc. Floating point stack and exchange instruction
US5632023A (en) * 1994-06-01 1997-05-20 Advanced Micro Devices, Inc. Superscalar microprocessor including flag operand renaming and forwarding apparatus
US5649225A (en) * 1994-06-01 1997-07-15 Advanced Micro Devices, Inc. Resynchronization of a superscalar processor
JP3670290B2 (ja) * 1995-02-14 2005-07-13 富士通株式会社 特殊機能を提供する高性能投機的実行プロセッサの構造及び方法
US5778211A (en) * 1996-02-15 1998-07-07 Sun Microsystems, Inc. Emulating a delayed exception on a digital computer having a corresponding precise exception mechanism
US5729729A (en) * 1996-06-17 1998-03-17 Sun Microsystems, Inc. System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators
US6173248B1 (en) 1998-02-09 2001-01-09 Hewlett-Packard Company Method and apparatus for handling masked exceptions in an instruction interpreter
US6216222B1 (en) * 1998-05-14 2001-04-10 Arm Limited Handling exceptions in a pipelined data processing apparatus
US6189093B1 (en) * 1998-07-21 2001-02-13 Lsi Logic Corporation System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
US6289445B2 (en) 1998-07-21 2001-09-11 Lsi Logic Corporation Circuit and method for initiating exception routines using implicit exception checking
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US6829719B2 (en) * 2001-03-30 2004-12-07 Transmeta Corporation Method and apparatus for handling nested faults
US6981264B1 (en) * 2002-01-17 2005-12-27 Unisys Corporation Method for handling multiple program exceptions across heterogeneous systems
KR100941104B1 (ko) * 2002-11-18 2010-02-10 에이알엠 리미티드 데이터 처리 장치, 데이터 처리 방법 및 컴퓨터 프로그램을 기억한 컴퓨터 판독가능한 기억매체

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50117336A (ja) * 1973-11-30 1975-09-13
US4631659A (en) * 1984-03-08 1986-12-23 Texas Instruments Incorporated Memory interface with automatic delay state
US4809157A (en) * 1985-09-30 1989-02-28 International Business Machines Corp. Dynamic assignment of affinity for vector tasks
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
JPH0682320B2 (ja) * 1988-06-08 1994-10-19 日本電気株式会社 データ処理装置

Also Published As

Publication number Publication date
DE69116402T2 (de) 1996-08-01
EP0448212A2 (en) 1991-09-25
EP0448212A3 (en) 1992-08-26
ATE133276T1 (de) 1996-02-15
DE69116402D1 (de) 1996-02-29
US5237700A (en) 1993-08-17
JP2951738B2 (ja) 1999-09-20
EP0448212B1 (en) 1996-01-17

Similar Documents

Publication Publication Date Title
JPH04223532A (ja) 改良されたプロセッサ
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
JP2858140B2 (ja) パイプラインプロセッサ装置および方法
US7043416B1 (en) System and method for state restoration in a diagnostic module for a high-speed microprocessor
US5109514A (en) Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
KR930004328B1 (ko) 벡터 처리시스템의 명령 실행방법 및 그 장치
CA1235816A (en) Error recovery system in a data processor having a control storage
EP0372751B1 (en) Pipelined data-processing apparatus
EP0402856B1 (en) Instruction execution control system
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
EP2220556B1 (en) A method and a system for accelerating procedure return sequences
US5574872A (en) Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
US6820216B2 (en) Method and apparatus for accelerating fault handling
US4559596A (en) History memory control system
EP0113982A2 (en) A data processing system
US9990269B2 (en) Apparatus and method for controlling debugging of program instructions including a transaction
EP0211487A1 (en) Conditional operations in computers
JPS59114637A (ja) デ−タ処理装置
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置
JPS5868162A (ja) 再試行処理方式
JPS62267869A (ja) ベクトル・プロセツサにおける演算例外時の処理方式
JP3185780B2 (ja) システム監視装置及びその方法
JPS59220844A (ja) 命令再実行制御方式
JPH01284938A (ja) 実行命令アドレス検出方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990622

LAPS Cancellation because of no payment of annual fees