JPH0573306A - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPH0573306A
JPH0573306A JP3233096A JP23309691A JPH0573306A JP H0573306 A JPH0573306 A JP H0573306A JP 3233096 A JP3233096 A JP 3233096A JP 23309691 A JP23309691 A JP 23309691A JP H0573306 A JPH0573306 A JP H0573306A
Authority
JP
Japan
Prior art keywords
register
general
instruction
flag
control means
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.)
Pending
Application number
JP3233096A
Other languages
English (en)
Inventor
Hiroyuki Takai
裕之 高井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3233096A priority Critical patent/JPH0573306A/ja
Publication of JPH0573306A publication Critical patent/JPH0573306A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明はマイクロプロセッサのエラー処理に
関し、エラー発生時に小さなオーバヘッドで命令の再実
行によるエラー処理の正当性を保証できるマイクロプロ
セッサを提供することを目的とする。 【構成】 1つ以上の汎用レジスタR0〜Rnを備える
マイクロプロセッサにおいて、命令のアドレス計算に用
いる前記汎用レジスタRi(0≦i≦n)の番号を保持
する汎用レジスタ番号記憶手段3と、前記汎用レジスタ
Riの内容を必要に応じて退避する退避用レジスタ5
と、リストアの必要性を示すフラグ7と、命令実行開始
後に前記汎用レジスタ番号記憶手段3で指定される番号
の汎用レジスタRiの内容を読み出して前記退避用レジ
スタ5に格納すると共に前記フラグ7をセットする第1
の制御手段9と、前記フラグ7がセットされていれば前
記退避用レジスタ5から読み出した値によって該当する
汎用レジスタRiの内容をリストアする第2の制御手段
11とを有して構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプロセッサのエ
ラー処理に関し、特にエラー発生時に小さなオーバヘッ
ドで命令の再実行によるエラー処理の正当性を保証でき
るマイクロプロセッサに関する。
【0002】
【従来の技術】マイクロプロセッサを用いた応用システ
ムにおいて命令実行中にエラーが発生した場合、その命
令を中断し、エラーの要因を取り除いた後に再実行する
必要がある。
【0003】通常、再実行は命令の実行開始時点に遡っ
て行なうが、実行開始からエラー発生時までの間にオペ
ランドアドレス算出に用いたレジスタを既に書き換えて
いた場合、再実行時には正しいオペランドアドレスが得
られないという問題点があった。
【0004】上記の問題を避けるためには、エラー発生
の時点から実行を再開できれば良いが、そのためには命
令実行中の中間結果等の多量の情報を退避、リストアす
る必要があり、処理時間及び必要なハードウェア共にオ
ーバヘッドが極めて大きくなるという問題点があった。
【0005】具体例を用いてこの問題を説明する。図5
に従来のマイクロプロセッサで実行されるある命令の処
理手順を示す。この命令の処理は、ステップS51で汎
用レジスタR0へのロードを行ない、ステップS52で
汎用レジスタR1へのロードを行なうものである。も
し、ステップS51終了後ステップS52処理前にペー
ジフォールトが発生したとすると、ページフォールトの
エラー処理後にこの命令を再実行しても、汎用レジスタ
R0の値が書き変わっているために、正しいオペランド
アドレスが得られず、無関係なデータを汎用レジスタR
0及びR1にロードし、誤動作してしまう。
【0006】
【発明が解決しようとする課題】以上の様に、従来のマ
イクロプロセッサでは、アドレス計算に汎用レジスタの
値を用い、且つ該汎用レジスタの値を書き換える命令を
実行する場合、汎用レジスタの値を書き換えた後にエラ
ーが発生した時、エラー処理後、命令を再実行しても正
当な結果が得られないという欠点があった。
【0007】本発明は、上記問題点を解決するもので、
その目的は、エラー発生時に小さなオーバヘッドで命令
の再実行によるエラー処理の正当性を保証できるマイク
ロプロセッサを提供することである。
【0008】
【課題を解決するための手段】前記課題を解決するため
に、本発明の特徴は、図1に示す如く、1つ以上の汎用
レジスタR0〜Rnを備えるマイクロプロセッサにおい
て、命令のアドレス計算に用いる前記汎用レジスタRi
(0≦i≦n)の番号を保持する汎用レジスタ番号記憶
手段3と、前記汎用レジスタRiの内容を必要に応じて
退避する退避用レジスタ5と、リストアの必要性を示す
フラグ7と、命令実行開始後に前記汎用レジスタ番号記
憶手段3で指定される番号の汎用レジスタRiの内容を
読み出して前記退避用レジスタ5に格納すると共に前記
フラグ7をセットする第1の制御手段9と、前記フラグ
7がセットされていれば前記退避用レジスタ5から読み
出した値によって該当する汎用レジスタRiの内容をリ
ストアする第2の制御手段11とを具備することであ
る。
【0009】また、本発明の第2の特徴は、図1に示す
如く、命令のビットパターンを保持する命令レジスタ1
3と、1つ以上の汎用レジスタR0〜Rnを備えるマイ
クロプロセッサにおいて、前記命令レジスタ13のビッ
トパターンから命令のアドレス計算に用いる前記汎用レ
ジスタRiの番号を切り出して保持する汎用レジスタ番
号記憶手段3と、前記汎用レジスタRiの内容を必要に
応じて退避する退避用レジスタ5と、リストアの必要性
を示すフラグ7と、命令実行開始後に前記汎用レジスタ
番号記憶手段3で指定される番号の汎用レジスタRiの
内容を読み出して前記退避用レジスタ5に格納すると共
に前記フラグ7をセットする第1の制御手段9と、前記
フラグがセットされていれば前記退避用レジスタ5から
読み出した値によって該当する汎用レジスタRiの内容
をリストアする第2の制御手段11とを具備することで
ある。
【0010】また、本発明の第3の特徴は、請求項1及
び2に記載のマイクロプロセッサにおいて、図1に示す
如く、前記第1の制御手段9及び第2の制御手段11
は、マイクロプログラム制御により実現されることであ
る。
【0011】また、本発明の第4の特徴は、請求項1及
び2に記載のマイクロプロセッサにおいて、図1に示す
如く、前記第1の制御手段9及び第2の制御手段11
は、布線論理制御により実現されることである。
【0012】
【作用】本発明のマイクロプロセッサは、第1の制御手
段9により、命令実行開始後に汎用レジスタ番号記憶手
段3で指定される汎用レジスタRiの内容を読み出して
退避用レジスタ5に格納すると共にフラグ7をセット
し、第2の制御手段11により、フラグ7がセットされ
ていれば退避用レジスタ5から読み出した値によって該
当する汎用レジスタRiの内容をリストアする。つま
り、命令の実行においてリストアの必要な命令は、汎用
レジスタRiの内容を退避用レジスタ5に退避すると共
にフラグ7をセットしておき、エラー処理においてフラ
グ7がセットされていれば、退避用レジスタ5の内容を
汎用レジスタ番号記憶手段3で指定される汎用レジスタ
Riにリストアするので、エラー処理終了後に命令を再
実行する時に、アドレス計算に用いられるレジスタの値
は正しく命令実行開始時の値となっているので、再実行
の正当性を保証することができる。
【0013】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0014】図2に本発明の実施例を示す。同図は本発
明によるマイクロコンピュータのハードウェア構成図を
示したものである。同図において、マイクロコンピュー
タは、命令のビットパターンを保持する命令レジスタ1
3と、汎用レジスタR0〜Rnより成る汎用レジスタフ
ァイルGRFと、命令レジスタ13のビットパターンか
ら命令のアドレス計算に用いる汎用レジスタRi(0≦
i≦n)の番号を示すレジスタ番号指定フィールド13
3を切り出して保持するレジスタ番号指定レジスタ3
と、汎用レジスタRiの内容を必要に応じて退避する退
避用レジスタ5と、アドレス計算を行なうアドレス計算
部21と、リストアの必要性を示すフラグ7を内部に有
し、命令実行開始後に汎用レジスタ番号指定レジスタ3
で指定される番号の汎用レジスタRiの内容を読み出し
て退避用レジスタ5に格納すると共にフラグ7をセット
し、フラグ7がセットされていれば退避用レジスタ5か
ら読み出した値によって該当する汎用レジスタRiの内
容をリストアするコントローラ23と、データ転送を行
なう内部バス31とから構成されている。
【0015】次に、図3及び図4に示すフローチャート
を用いて本実施例の動作を説明する。先ず、ある命令
(リストアを必要とする命令)の実行の手順を、図3に
示すフローチャートを用いて説明する。
【0016】先ず命令の実行開始と共に、命令レジスタ
13からレジスタ番号フィールド133を切り出して、
レジスタ番号指定レジスタ3にセットし、次に、レジス
タ番号指定レジスタ3によって指定される番号の汎用レ
ジスタRiの内容を汎用レジスタファイルGRFから読
み出して、アドレス計算部21に転送すると共に、退避
用レジスタ5に退避する(ステップS31)。更に、こ
の命令ではリストアを必要とする命令であるので、リス
トアの必要性を示すフラグ7をセットする(ステップS
32)。その後、所定の処理、即ち、ステップS33で
汎用レジスタR0へのロードを行ない、ステップS34
で汎用レジスタR1へのロードを行なう。以上の処理が
エラーが発生すること無く終了した場合には、ステップ
S35でフラグ7をリセットする。
【0017】次に、エラーが発生した時のエラー処理の
手順を、図4に示すフローチャートを用いて説明する。
【0018】命令実行中にエラーが検出された時には、
先ず、ステップS41でフラグ7がセットされているか
どうかをチェックし、フラグ7がセットされていれば、
ステップS42で退避用レジスタ5の内容をレジスタ番
号指定レジスタによって指定される汎用レジスタRiに
リストアし、ステップS43でフラグ7をリセットし、
ステップS44に進む。尚、以上の処理を行なうため
に、汎用レジスタR0〜Rn、レジスタ番号指定レジス
タ3及び退避用レジスタ5は、内部バス31を経由して
読み出し及び書き込みを行なえるようになっている。
【0019】また、ステップS41でフラグ7がセット
されていなければステップS44に進み、エラー処理に
用いる情報を退避し、ステップS45でエラー処理ハン
ドラを呼び出してエラー処理を開始する。
【0020】以上説明した命令の実行動作及びエラー処
理の動作は、コントローラ23によって制御されて行な
われる。この制御はコントローラ23の制御形態によっ
て、マイクロプログラムによる逐次実行であっても、布
線論理による並列実行であっても構わない。
【0021】以上の様に本実施例によれば、命令の実行
においてリストアの必要な命令はレジスタ番号指定レジ
スタ3で指定される汎用レジスタRiの内容を読み出し
て退避用レジスタ5に格納すると共にフラグ7をセット
しておき、エラー処理においてフラグ7がセットされて
いれば、退避用レジスタ5の内容をレジスタ番号指定レ
ジスタ3で指定される汎用レジスタRiにリストアする
ので、エラー処理終了後に命令を再実行する時に、アド
レス計算に用いられるレジスタの値は正しく命令実行開
始時の値となっており、再実行の正当性を保証すること
ができる。
【0022】
【発明の効果】以上の様に本発明によれば、命令の実行
においてリストアの必要な命令は汎用レジスタ番号記憶
手段で指定される汎用レジスタの内容を読み出して退避
用レジスタに格納すると共にフラグをセットしておき、
エラー処理においてフラグがセットされていれば、退避
用レジスタの内容を汎用レジスタ番号記憶手段で指定さ
れる汎用レジスタにリストアすることとしたので、実行
時間及びマイクロプロセッサ内部資源の点で、小さなオ
ーバヘッドで命令の再実行の正当性を保証しうるマイク
ロプロセッサを提供することができる。
【図面の簡単な説明】
【図1】本発明のクレーム対応図である。
【図2】本発明の実施例に係るマイクロコンピュータの
ハードウェア構成図である。
【図3】ある命令(リストアを必要とする命令)の実行
の手順を示すフローチャートである。
【図4】エラーが発生した時のエラー処理の手順を示す
フローチャートである。
【図5】従来のマイクロプロセッサで実行される命令の
処理手順を示すフローチャートである。
【符号の説明】
R0〜Ri〜Rn 汎用レジスタ GRF 汎用レジスタファイル 3 汎用レジスタ番号記憶手段(レジスタ番号指定レジ
スタ) 5 退避用レジスタ 7 フラグ 9 第1の制御部 11 第2の制御部 13 命令レジスタ 133 レジスタ番号指定フィールド 21 アドレス計算部 23 コントローラ 31 内部バス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 1つ以上の汎用レジスタを備えるマイク
    ロプロセッサにおいて、命令のアドレス計算に用いる前
    記汎用レジスタの番号を保持する汎用レジスタ番号記憶
    手段と、前記汎用レジスタの内容を必要に応じて退避す
    る退避用レジスタと、リストアの必要性を示すフラグ
    と、命令実行開始後に前記汎用レジスタ番号記憶手段で
    指定される番号の汎用レジスタの内容を読み出して前記
    退避用レジスタに格納すると共に前記フラグをセットす
    る第1の制御手段と、前記フラグがセットされていれば
    前記退避用レジスタから読み出した値によって該当する
    汎用レジスタの内容をリストアする第2の制御手段とを
    有することを特徴とするマイクロプロセッサ。
  2. 【請求項2】 命令のビットパターンを保持する命令レ
    ジスタと、1つ以上の汎用レジスタを備えるマイクロプ
    ロセッサにおいて、前記命令レジスタのビットパターン
    から命令のアドレス計算に用いる前記汎用レジスタの番
    号を切り出して保持する汎用レジスタ番号記憶手段と、
    前記汎用レジスタの内容を必要に応じて退避する退避用
    レジスタと、リストアの必要性を示すフラグと、命令実
    行開始後に前記汎用レジスタ番号記憶手段で指定される
    番号の汎用レジスタの内容を読み出して前記退避用レジ
    スタに格納すると共に前記フラグをセットする第1の制
    御手段と、前記フラグがセットされていれば前記退避用
    レジスタから読み出した値によって該当する汎用レジス
    タの内容をリストアする第2の制御手段とを有すること
    を特徴とするマイクロプロセッサ。
  3. 【請求項3】 前記第1の制御手段及び第2の制御手段
    は、マイクロプログラム制御により実現されることを特
    徴とする請求項1及び2に記載のマイクロプロセッサ。
  4. 【請求項4】 前記第1の制御手段及び第2の制御手段
    は、布線論理制御により実現されることを特徴とする請
    求項1及び2に記載のマイクロプロセッサ。
JP3233096A 1991-09-12 1991-09-12 マイクロプロセツサ Pending JPH0573306A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3233096A JPH0573306A (ja) 1991-09-12 1991-09-12 マイクロプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3233096A JPH0573306A (ja) 1991-09-12 1991-09-12 マイクロプロセツサ

Publications (1)

Publication Number Publication Date
JPH0573306A true JPH0573306A (ja) 1993-03-26

Family

ID=16949720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3233096A Pending JPH0573306A (ja) 1991-09-12 1991-09-12 マイクロプロセツサ

Country Status (1)

Country Link
JP (1) JPH0573306A (ja)

Similar Documents

Publication Publication Date Title
US4970641A (en) Exception handling in a pipelined microprocessor
JPS6218057B2 (ja)
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JP4155052B2 (ja) エミュレータ、エミュレーション方法およびプログラム
JPH0573306A (ja) マイクロプロセツサ
JP2552738B2 (ja) データ処理装置
JP2671160B2 (ja) 例外処理方式
JP2663895B2 (ja) Cpuシミュレータ
JPH0113131B2 (ja)
JPH04181331A (ja) 命令リトライ方式
JPH01201728A (ja) プログラム修正方式
JPS6149695B2 (ja)
JPS60221829A (ja) デ−タ処理装置
JPS6361341A (ja) プログラムデバツグ装置
JPS63214856A (ja) デ−タ処理装置のデ−タ保護制御方式
JPS5968060A (ja) 制御メモリの再試行方式
JPH0833825B2 (ja) マイクロプロセッサ
JPS6282436A (ja) 情報処理装置
JPH0553844A (ja) 情報処理装置
JPH02141833A (ja) 情報処理装置
JPH1078884A (ja) 仮想記憶を利用したデータ復旧方法
JPH09167090A (ja) 電子計算機
JPH03204036A (ja) 割込み処理後の動的再開機構を備えた計算機
JPH05341988A (ja) プロセッサ
JPH0667914A (ja) コントロールストレージ読み出し誤り訂正方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees