JPH07219809A - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法

Info

Publication number
JPH07219809A
JPH07219809A JP6220034A JP22003494A JPH07219809A JP H07219809 A JPH07219809 A JP H07219809A JP 6220034 A JP6220034 A JP 6220034A JP 22003494 A JP22003494 A JP 22003494A JP H07219809 A JPH07219809 A JP H07219809A
Authority
JP
Japan
Prior art keywords
instruction
reset signal
reset
interrupt
data
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
JP6220034A
Other languages
English (en)
Inventor
David V Jaggar
ビビアン ジャガー デビッド
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JPH07219809A publication Critical patent/JPH07219809A/ja
Pending 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
    • G06F11/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【目的】 システムクラッシュからリカバーするための
リセット機能を設けること。 【構成】 リセット信号(nRESET)の附勢時にシ
ステムの再初期化前に、別のレジスタ(R14svc)
内にプログラムカウンタ(R15pc)の内容をセーブ
する。プログラムカウンタ値をセーブするレジスタの内
容をリセット作業により保存し、イニシエートすべきリ
セット信号を必要とする特定の問題がインストラクショ
ンアドレスシーケンス内で生じているかどうかについ
て、システムのデバッグをする者に、情報を提供する。

Description

【発明の詳細な説明】
【0001】 〔発明の詳細な説明〕本発明はデータ処理に関し、より
詳細には、例えばシステムクラッシュまたはその他の誤
動作からリカバーするよう起動できるリセット機能を有
するデータ処理装置および方法に関する。
【0002】
【従来技術】通常、集積回路のマイクロプロセッサに
は、マイクロプロセッサからパワーを除く完全な手続き
を経て行うことなく、システムを再初期化するのに使用
されるリセット機能が設けられている。更にリセット機
能が設けられていることにより、この機能が設けられて
いない場合よりもデータ/統合性の喪失が少ない状態
で、システムクラッシュ/誤動作から回復できる。
【0003】公知のマイクロプロセッサでは、リセット
機能は(通常デバイスハウジング上のスイッチを手で操
作することにより発生される)外部から印加されるリセ
ット信号により起動され、このリセット信号は実行可能
な他のインストラクション信号よりもマイクロプロセッ
サ内の優先度がより高く、これら他のインストラクショ
ンの実行を停止し、所定のアドレスに位置するインスト
ラクションのリセットルーチンの実行を開始するよう働
き、このリセットルーチンを介し、または直接にマイク
ロプロセッサを再初期化する。
【0004】マイクロプロセッサは一般にマイクロプロ
セッサ内で、現在実行されているインストラクションの
インストラクションアドレスをポイントするのに、プロ
グラムカウンタレジスタを使用している。リセット信号
は、プログラムカウンタレジスタ内にどんなインストラ
クションアドレスがあっても、これにリセットルーチン
の所定のスタートアドレスをオーバーライトすることに
より、リセットルーチンの実行を強制できる。このリセ
ットルーチンは一般にリセット信号の附勢前のマイクロ
プロセッサのステートには不感であるので、リセット信
号の附勢はリセットルーチンによる再初期化の後にマイ
クロプロセッサを未知の任意のステート(恐らく誤作
動)から既知のステートに移し、このステートから更に
処理を進行できる。
【0005】
【発明が解決しようとする課題】リセット機能が設けら
れていることは、データ処理システムのハードウェアお
よびソフトウェアの開発中に特に有効である。かかる開
発中は、システムにはバグが生じるので、誤作動は不可
避的に生じる。データ処理システムのデバッギング作業
は時間がかかり、コストがかかり、かつ高度な技術を必
要とする仕事である。
【0006】よって本発明の目的は、デバッグがより容
易なデータ処理システムを提供することにある。
【0007】
【課題を解決するための手段】第1の様相から見れば、
本発明は、データ処理装置であって、(i)インストラ
クションコードワードをデコードするためのインストラ
クションデコーダと、デコードすべきインストラクショ
ンコードワードのインストラクションアドレスを示すた
めのプログラムカウンタと、(ii)リセット信号に応
答自在であり、データ処理装置の再初期化をトリガーす
るためのリセット回路と、(iii)前記リセット信号
に応答自在であり、前記リセット信号の発生前の前記プ
ログラムカウンタからの最新のインストラクションアド
レスを記憶するためのプログラムカウンタ記憶手段とを
備えたデータ処理装置を提供するものである。
【0008】本発明は、リセット信号が印加される直前
のプログラムカウンタの内容が、デバッグプロセスで使
用できる極めて有益な情報を提供できることに着目し、
これを利用したものである。より詳細には、リセット信
号が印加された際に実行されているインストラクション
のアドレスは、バグが存在しているソフトウェアまたは
ハードウェア内の点を識別するのに、直接的または間接
的に助けることができる。リセット信号印加時のこのよ
うな情報をセーブすることにより、装置を再初期化した
後のその後のリカバリー(回復)および解析が可能とな
る。このような能力により、デバッグプロセスが容易と
なる。
【0009】プログラムカウンタの内容に、単にリセッ
トルーチンのスタートアドレスをオーバーライトし、再
初期化プロセスによって実行できる値は、リセットおよ
び再初期化自体の人為的な値となりやすい、公知のマイ
クロプロセッサにおける状況と、プログラムカウンタ記
憶手段の動作とを対比できる。
【0010】データ処理システムは操作すべきデータを
保持するための複数のデータレジスタを通常内蔵するよ
うになっている。かかるシステムでは、データレジスタ
はリセット信号に応答してクリアすると有利である。
【0011】データレジスタをこのようにクリアする
と、データ処理装置を周知の定義された公知のステート
にしやすくなり、この公知のステートから更に作動が進
行できる。
【0012】識別が困難となり得る特定タイプのハード
ウェアのバグとしては、システム内のインストラクショ
ンアドレス信号ラインの短絡または誤接続がある。本発
明の好ましい実施例では、かかる問題の識別を助けるた
め、前記リセット信号が印加される間附勢され、インス
トラクションアドレス信号に結合されたインストラクシ
ョンアドレスのインクリメントシーケンスを発生するイ
ンストラクションアドレスインクリメント回路を含む。
【0013】このインストラクションアドレスインクリ
メント回路は、インストラクションアドレス信号内に短
絡または誤接続があるかどうかを判別するよう、外部か
らモニタできるインストラクションアドレス信号ライン
に結合されたインストラクションアドレスのインクリメ
ントシーケンスを発生する。
【0014】リセット信号機能のほかに、マイクロプロ
セッサには割り込み回路を設けると有利である。この割
り込み回路は割り込み信号に応答し、現在実行されてい
るインストラクションが実行された後に、割り込みルー
チンの第1インストラクションコードワードの記憶アド
レスを前記プログラムカウンタが表示するようにする。
前記割り込みルーチンは、前記割り込みルーチンが完了
した際に前記割り込み信号が発生する点まで、処理プロ
セスをリターンする。
【0015】割り込み信号に応答自在な割り込み回路を
設けていることにより、マイクロプロセッサは非同期の
入力信号および事象、例えばキーボード入力信号にマイ
クロプロセッサが応答できるようになっている。このよ
うな非同期入力または事象が正しく処理された後、制御
プログラムは割り込み信号が生じた点の主処理フローま
でリターンされる。
【0016】(例えば割り込み信号を連続して認めるよ
うなバグにより)リセット信号と割り込み信号が同時に
発生すると、それにもかかわらずシステムが再初期化さ
れるようにリセット信号の優先度が割り込み信号よりも
高くなるようにすると有利であると解される。
【0017】かかるシステムの他の好ましい特徴は、前
記リセット信号の発生により、現在実行されているイン
ストラクションの実行を強制的に中断させることにあ
る。
【0018】このように、プロセッサが特定のインスト
ラクションの実行にロック状態にされ、これからリセッ
トできなくなるような可能性が解消される。
【0019】プログラムカウンタ記憶手段によって得ら
れる利点に類似して、処理ステータスを示すデータを保
持する処理ステータスレジスタおよび前記リセット信号
に応答自在であり、前記リセット信号の発生後、前記処
理ステータスレジスタからの処理ステータスを示す最新
データを記憶するための処理ステータスレジスタ記憶手
段を設けることも好ましい。
【0020】マイクロプロセッサ内のオーバーフローお
よび桁上げのような事象の発生を表示する処理ステート
レジスタが好ましく、このようなレジスタは、マイクロ
プロセッサのオプショナル作動モードを制御するフラグ
を保持するのにも使用できる。このような状況では、処
理ステータスレジスタの内容は、特定のバグの理由とな
ることがあり、この内容がリセット作業により保存され
る場合、デバッグプロセスを助けることになる。
【0021】上記データ処理装置は、回路基板上の物理
的なディスクリート部品として製造できると解される。
しかしながらかかる装置は集積回路として構成すること
が特に好ましい。
【0022】更に別の様相から見れば、本発明は、
(i)プログラムカウンタによって示されるインストラ
クションアドレスにあるインストラクションコードワー
ドをデコードし、(ii)印加されたリセット信号に応
答して、データ処理装置を再初期化し、(iii)前記
リセット信号に応答して、前記リセット信号発生前の、
前記プログラムカウンタからの最新のインストラクショ
ンアドレスを記憶することを備えたデータ処理方法を提
供するものである。
【0023】添付図面を参照して次の図示した実施例の
詳細な説明を読めば、本発明の上記またはそれ以外の目
的、特徴および利点が明らかとなろう。
【0024】
【実施例】図1は、CPU2の一部を略図で示してい
る。CPU2は、内部バス4を含み、この内部バスによ
りCPU2の種々の部分が通信するようになっている。
内部バス4には割り込みコントローラ6が取り付けられ
ており、この割り込みコントローラ6はCPUパッケー
ジ上の外部ピンに印加される割り込みリクエストを示す
信号である外部入力信号nFIQおよびnIRQを受信
する。
【0025】外部データバスは、読み出しバッファ8お
よび書き込みバッファ10と通信し、これらバッファを
介し、データ(操作すべきデータまたはインストラクシ
ョンデータのいずれか)がそれぞれのバッファを介して
CPU2から読み出されたり書き込まれたりする。読み
出しバッファ8に読み出されるインストラクションデー
タは、内部バス4に直接送られ、次にインストラクショ
ンレジスタ12に送られ、このインストラクションレジ
スタに記憶し、次にインストラクションレコーダ14に
より作動のためデコードすることができる。操作される
データは、読み出しバッファ8および書き込みバッファ
10を介して、レジスタバンク16に入出力できる。レ
ジスタバンク16のレジスタ内のデータは、インストラ
クションデコーダ14を使用するデコードされたインス
トラクションの制御により操作される。
【0026】処理ステータスレジスタは、処理ステータ
ス情報(例えば高速の割り込みが可能か低速の割り込み
が可能かを示すフラグ)を記憶し、CPU2の現在の処
理モードを示すセクションを含む。処理モード間で切り
替えが行われる際に、アクティブ処理ステータスの先の
組を記憶するように、セーブされた処理ステータスレジ
スタ20のバンクが設けられている。他のタスクのうち
で、インストラクションデコーダ14により処理ステー
タスレジスタ18の内容が使用され、特定のインストラ
クションを実行すべきレジスタバンク16内の一つのレ
ジスタを一義的に識別する複合レジスタアドレスを発生
する。
【0027】更に、リセットコントローラ7も設けられ
ており、このコントローラは内部バス4に接続されてい
る。リセットコントローラ7は外部から印加されたリセ
ット信号nRESET(nRESET=低レベルとした
時のリセット信号)に応答し、CPU2の再初期化をト
リガーする。
【0028】インストラクションレジスタ12内に保持
されており、インストラクションデコーダ14により現
在実行されているインストラクションの実行は中断され
る。リセットコントローラ7は実行すべきインストラク
ションを取り出すアドレスを示しているプログラムカウ
ンタレジスタ(下記参照)に、所定のインストラクショ
ンアドレス(「リセットベクトル」としても知られてい
る)のローディングをトリガーする。リセットベクトル
のローディング前にプログラムカウンタ内に保持されて
いるインストラクションアドレスの値は、レジスタバン
ク16のレジスタのうちの所定の一つに記憶される。こ
のように、レジスタバンク16と協働して作動するリセ
ットカウンタ7は、プログラムカウンタ記憶手段となる
ように働く。
【0029】リセットコントローラ7は、リセット信号
nRESETの印加中に、インストラクションアドレス
インクリメント回路9も附勢する。リセット信号nRE
SETが低レベルに保持されている間、インストラクシ
ョンアドレスインクリメント回路9は内部バス4のイン
ストラクションアドレス信号ライン上にインストラクシ
ョンアドレスのインクリメントシーケンスを出力する。
このように、これらインストラクションアドレス信号ラ
インのモニタリングによって、インストラクションアド
レス信号ラインの間で短絡または誤配線が生じているか
どうかを表示することができる。リセット信号nRES
ETが高レベルとなると、リセットコントローラ7はイ
ンストラクションアドレスインクリメント回路9の作動
を停止する。
【0030】リセットコントローラ7はレジスタバンク
16内のレジスタの大多数をクリアするようにも働く
(セーブされたプログラムカウンタ値を保持しているレ
ジスタはクリアしない)。このように、CPU2はリセ
ット信号の後に既知のステートとされる。レジスタバン
ク16のレジスタのクリアは、リセットコントローラ7
のハードウェア機能として直接行うことができるし、ま
たはリセットベクトルの後のリセットルーチンのソフト
ウェアによるインストラクションによっても達成でき
る。
【0031】リセットコントローラ7は、セーブされた
処理レジスタ20のバンクのうちの一つへの処理ステー
タスレジスタの内容のセーブのトリガーも行う。このセ
ーブされた処理ステータスデータは、次に、必要であれ
ばデバッグ中に検索できる。
【0032】図2は、主処理モードUser32および
種々の例外処理モードの間に利用できる異なるレジスタ
を示す。主処理モードでは、15の一般的目的のレジス
タR0〜R14がデータ処理演算のための設けられてい
る。プログラムカウンタレジスタR15PCは、実行す
べきインストラクションのシーケンス内における現在の
位置を示すプログラムカウンタとして設けられている。
処理ステータスレジスタCPSRはCPU2の制御パラ
メータを示す種々のフラグおよび現在の処理モードを示
す5つのビットを示す。モードUser32は、ユーザ
ーが利用するソフトウェアを実行するために設けられて
いる。
【0033】(リセット信号および種々の割り込み信号
に応答して生じ、例外モードとしてみなすことができ
る)残りの5つの処理モードは次の通りである。 スーパーバイザーモード(SVC32):これはプロセ
ッサがリセットされるか、ソフトウェア割り込みインス
トラクションが実行される時に入るモードである。 不定モード(Undef32):実行ユニットに不定イ
ンストラクションが入る時のモードである。 アボートモード(Abt32):メモリシステムがメモ
リアクセス(データアクセスまたはインストラクション
プリフェッチ)をアボートする時のモードである。 割り込みリクエストモード(IRQ32):nIRQピ
ンが低レベルに保持され、CPSR内のIビットがクリ
アされ、この低速割り込みリクエストが可能であること
を表示している場合のモードである。 高速割り込みリクエストモード(FIQ32):nFI
Qピンが低レベルに保持され、CPSR内のFビットが
クリアされ、この高速割り込みが可能であること表示し
ている場合に入るモードである。
【0034】例外モードSVC32、Abt32、IR
Q32およびUndef32の各々は、これらモードの
うちの一つに入る時に、主データレジスタR13および
R14とそれぞれ置換される、これらに関連した2つの
例外データレジスタを有する。R13は、主処理モード
User32および例外処理モードの双方に、スタック
ポインタを記憶するのに使用される通常のレジスタであ
る。例外モードのうちの一つに入ると、システムはリタ
ーンアドレスレジスタとして働くように入っているモー
ドのR14レジスタ内のR15pcの内容を記憶し、こ
れによりこのモードのための例外処理コードが出ると、
リターンアドレスにすぐにアクセスされる。
【0035】例外処理モードの各々は関連するセーブさ
れたプログラムステータスレジスタSPSRを有する。
これらSPSRは先のモードからのCPSRの内容をセ
ーブし、先のモードに復帰する際に、CPSRにこれら
内容を復元できるようにする。
【0036】高速割り込みモードFIQ32は、他の例
外処理モード用の2つの例外データレジスタと異なり、
7つの例外データレジスタ(R8fiq〜R14fi
q)を有する。この結果、FIQ32モードに入るとす
ぐに使用できるように、例外データレジスタR8fiq
からR12fiqが利用できる。図1の書き込みバッフ
ァ10は、8つのレジスタと等価的であるので、モード
FIQ32の例外処理コードがレジスタR0〜R7をセ
ーブすることを要求すれば、これらレジスタは書き込み
バッファ10内に完全に保持できるので、短時間で達成
できる。CPUにはロードマルチインストラクションが
設けられており、16のアクティブレジスタの任意の組
をロードし、記憶できるようにする、マルチインストラ
クションを記憶する(例えば、LDM R1、{RO,
R3,R4,R6,R14,R15pc}はアドレスR
1でスタートしたメモリ領域から{}内のレジスタにロ
ードする)。インストラクションデコーダ14は、この
演算を実行するようにCPUの作動を制御する。
【0037】User32モードとSVC32モードと
の間の移動例について検討する。この場合、例外データ
レジスタR13svcとR14svcはそれぞれレジス
タR13およびR14と置換される。User32モー
ドからのR15pcの内容は、R14svcレジスタ内
にセーブされる。User32モードからのCPSRの
内容は、SPSRsvc内にセーブされ、SPSRの内
容はすでに入っているSVC32モードを表示するよう
に更新される。特に処理モードを示す5ビットのフィー
ルドが更新される。SVC32モード中に別の例外モー
ド例えばアボートされたメモリへのアクセスが生じる
と、SVC32モードからAbt32モードに入る。
【0038】この場合、R13abtおよびR14ab
tレジスタは、SVC32モードのそれぞれのR13s
vcおよびR14svcと置換される。SVC32モー
ドにおけるR15pcレジスタカレントの内容は、R1
4abtレジスタ内にセーブされる。以前と同じよう
に、SVC32モードにおけるCPSRの内容は、SP
SRabt内にセーブされる。
【0039】abt32モード中に例外処理が完了する
と、CPUはR14abtの内容をR15pcに復元さ
せ、SPSRabtの内容をSPSRに復元させる。S
VC32モードを最後に実行している時のステートに、
CPSRの内容を回復させると、モードを示している5
ビットフィールドはSVC32モードを示すフィールド
に変更され、これにより、R13abtおよびR14a
btレジスタの変わりに、次にR13svcおよびR1
4svcレジスタがアドレス指定されるように、アドレ
ス指定レジスタが自動的に変更される。SVC32モー
ドを出て以来、R13svcおよびR14svcでは処
理は行われないので、これらレジスタ内の値は保存され
る。R15pcの内容は、SVC32モードを出た時の
ステートに回復されるという事実と共に、R0〜R12
の内容がAbt32モードで変わった場合、これら内容
が復元されることを条件に、プログラムが出る正しい点
でSVC32モード処理が始まる。
【0040】これと同様に、SVC32例外処理コード
がそのタスクを完了すると、R13svcおよびR13
svcレジスタの替わりにR13およびR14レジスタ
を使用することにより、システムはUser32モード
にリターンする。これと同時に、SPSRsvcの内容
は、CPSRに復元される。
【0041】上記の効果全体として、アボート例外モー
ドは主処理モードUser32からのスーパーバイザー
例外モード内にネスト(入れ子)状になっている。例外
データレジスタを主データレジスタの対応するレジスタ
の替わりに使用することは、モード間の切り替えは高速
度で達成できることを示している。セーブされたプログ
ラミングステータスレジスタを設けていることにより、
シームレスの切り替えおよびリターンを、短縮されたプ
ログラムオーバーヘッドで行うことが可能となってい
る。
【0042】別の例として、外部から印加されるリセッ
ト信号nRESETの結果として、User32モード
とSVC32モードとの間の切り替えについて検討す
る。この場合、レジスタR13およびR14の代わりに
例外データレジスタR13svcおよびR14svcが
それぞれ再び置換される。User32モードからのプ
ログラムカウンタレジスタR15pcの内容は、R14
svcレジスタ内にセーブされ、User32モードか
らのCPSRの内容は、SPSRsvcにセーブされ、
CPSRの内容は、入っているSVC32モードを表す
ように更新される。
【0043】リセットコントローラ7は、リセットベク
トル(例えば00)をプログラムカウンタR15pcに
ロードし、リセットルーチンの実行を開始する。次にこ
のリセットルーチンは、ワーキングレジスタR0〜R1
2をクリアできる。
【0044】リセット信号nRESETが低レベルに保
持されている間、リセットコントローラ7は、インスト
ラクションアドレスインクリメント回路9を附勢する。
残りのレジスタR8fiq〜R14fiq、R13sv
c、R13abt、R14abt、R13irq、R1
4irq、R13undef、R14undef、SP
SRfiq、SPSRabt、SPSRirqおよびS
PSRundefは、処理を開始する前にCPU2を完
全に既知のステートにするよう、ソフトウェアインスト
ラクションを用いるリセットルーチンによってクリアし
てもよい。
【0045】リセットルーチンの後は、User32へ
リターンすることはない。この理由は、CPU2は既に
再初期化され、種々のレジスタがクリアされており、リ
セットを介した理由がUser32モードにおけるシス
テムクラッシュにあるからである。
【0046】図3は、主データレジスタおよび例外デー
タレジスタのうちの特定の一つを識別する物理レジスタ
アドレスがCPSRからのモードビットと図1のインス
トラクションデコーダ14によってデコードされるイン
ストラクションレジスタアドレスとの組み合わせから、
どのように発生されるかを示す。実際にこれら種々のア
ドレスは、物理レジスタアドレスを発生する中間ステー
ジを通る代わりに、レジスタアドレスデコーダへの入力
信号として使用される。
【0047】図4は、主処理モードと割り込み処理モー
ドとの間を移る際に生じる処理を略図で示している。デ
ータ処理装置は、主処理ルーチン22を実行しており、
ステップ24は割り込みが生じたかどうかをテストす
る。割り込みが生じなければ、主処理ルーチン22が続
行する。割り込みが発生すれば、制御はステップ26に
移る。
【0048】ステップ26において、識別された対応す
る例外モードのSPSRに、CPSRの内容が記憶され
る。次に、入力された新しい処理モードを示すように、
CPSRの内容が変更される。ステップ28において、
入力された例外モードのR14xxに先のモードからの
プログラムカウンタR15pcの内容がセーブされる。
一つのインストラクションに応答してステップ26およ
び28が生じる。
【0049】ステップ28の後に割り込みモードが入力
されると、システムは割り込みルーチン30を実行す
る。割り込みルーチン30の終了時に、レジスタR14
xxの内容がプログラムカウンタR15pcへ戻され、
先のモードのプログラムステータスデータがSPSRx
xからCPSRへ復元される。これはステップ32であ
り、この後、新しく復元されたR15pcにより示され
たポイントで主ルーチン22へリターンされる。
【0050】図5はリセット作動中の事象のシーケンス
を示す。ステップ34では、CPUでは主ルーチンを実
行している。この実行は、エラー(ハング)状態の実行
または正常な実行となり得る。その時に実行されている
インストラクションをアボート(中断)し、リセットプ
ロセスをスタートさせる外部リセット信号を印加する。
【0051】ステップ36では、主ルーチン34からの
プログラムステータスレジスタCPSRの内容を、セー
ブされたプログラムステータスレジスタSPSRsvc
内に記憶し、現在のプログラムステータスレジスタCP
SRは、SVCモードへの入力を表すように更新され
る。
【0052】ステップ38では、レジスタR14svc
内にプログラムカウンタR15pcの内容が記憶され、
このレジスタR14svcからその後デバッグプログラ
ムまたは同等プログラムにより、その記憶内容を復元で
きる。ステップ40および42ではレジスタバンク16
内の不要レジスタをクリアし、CPU2から駆動される
ある信号を含み得るリセットルーチンの残りを起動す
る。リセットルーチン42の完了後は、主ルーチン34
にリターンする試みは為されない。
【0053】添付図面を参照して、本発明の図示した実
施例を詳細に説明したが、本発明はこれらの正確な実施
例のみに限定されるものでなく、更に、当業者であれ
ば、添付した特許請求の範囲に記載の発明の範囲および
精神から逸脱することなく、種々の変形および変更を行
うことができると理解すべきである。
【図面の簡単な説明】
【図1】マイクロプロセッサによるデータプロセッサ装
置(CPU)のアーキテクチャを示す略図である。
【図2】主処理モードおよび多数の処理モードで利用で
きるデータレジスタを示す図である。
【図3】プログラムステータスレジスタからのモードビ
ットおよび実行中のインストラクションから物理レジス
タアドレスをどのように得るかを示す図である。
【図4】主処理ルーチンと割り込み処理ルーチンとの間
の切り替えを示すフローチャートである。
【図5】リセット信号の印加後生じる作動を示すフロー
チャートである。
【符号の説明】
2 CPU 4 内部バス 6 割り込みコントローラ 8 読み出しバッファ 10 書き込みバッファ 12 インストラクションレジスタ 14 インストラクションデコーダ 16 レジスタバンク 18 処理ステータスレジスタ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置であって、 (i)インストラクションコードワードをデコードする
    ためのインストラクションデコーダと、 デコードすべきインストラクションコードワードのイン
    ストラクションアドレスを示すためのプログラムカウン
    タと、 (ii)リセット信号に応答自在であり、データ処理装
    置の再初期化をトリガーするためのリセット回路と、 (iii)前記リセット信号に応答自在であり、前記リ
    セット信号の発生前の前記プログラムカウンタからの最
    新のインストラクションアドレスを記憶するためのプロ
    グラムカウンタ記憶手段とを備えたデータ処理装置。
  2. 【請求項2】 操作すべきデータを保持するための複数
    のデータレジスタを更に備え、前記データレジスタは前
    記リセット信号に応答してクリアされる請求項1記載の
    装置。
  3. 【請求項3】 インストラクションアドレス信号ライン
    に結合されたインストラクションアドレスのインクリメ
    ントシーケンスを発生するよう、前記リセット信号の印
    加中に附勢されるインストラクションアドレスインクリ
    メント回路を更に含む、請求項1記載の装置。
  4. 【請求項4】 割り込み信号に応答自在であり、前記プ
    ログラムカウンタが現在実行中のインストラクションの
    実行後に、割り込みルーチンの第1インストラクション
    コードワードの記憶アドレスを生じさせるようにする割
    り込み回路を更に備え、前記割り込みルーチンは前記割
    り込みルーチンの完了時に前記割り込み信号が発生する
    点までの処理にリターンする、請求項1記載の装置。
  5. 【請求項5】 前記リセット信号は前記割り込み信号よ
    りも高い優先度を有する請求項4記載の装置。
  6. 【請求項6】 前記リセット信号の発生は、現在実行中
    のインストラクションの実行を中断させる請求項1記載
    の装置。
  7. 【請求項7】 処理ステータスを示すデータを保持する
    ための処理ステータスレジスタと、 前記リセット信号に応答自在であり、前記リセット信号
    の発生前の前記処理ステータスレジスタからの処理ステ
    ータスを示す最新データを記憶するための処理ステータ
    スレジスタ記憶手段を更に含む、請求項1記載の装置。
  8. 【請求項8】 前記装置は集積回路である請求項1記載
    の装置。
  9. 【請求項9】(i)プログラムカウンタによって示され
    るインストラクションアドレスにあるインストラクショ
    ンコードワードをデコードし、 (ii)印加されたリセット信号に応答して、データ処
    理装置を再初期化し、 (iii)前記リセット信号に応答して、前記リセット
    信号発生前の、前記プログラムカウンタからの最新のイ
    ンストラクションアドレスを記憶することを備えたデー
    タ処理方法。
JP6220034A 1993-09-15 1994-09-14 データ処理装置およびデータ処理方法 Pending JPH07219809A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB93192235 1993-09-15
GB9319223A GB2281986B (en) 1993-09-15 1993-09-15 Data processing reset

Publications (1)

Publication Number Publication Date
JPH07219809A true JPH07219809A (ja) 1995-08-18

Family

ID=10742118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6220034A Pending JPH07219809A (ja) 1993-09-15 1994-09-14 データ処理装置およびデータ処理方法

Country Status (3)

Country Link
US (1) US5680599A (ja)
JP (1) JPH07219809A (ja)
GB (1) GB2281986B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5579257B2 (ja) * 2010-03-30 2014-08-27 株式会社エルイーテック 主記憶装置における情報を復元するための装置及び方法
JP2015501046A (ja) * 2011-12-02 2015-01-08 クアルコム,インコーポレイテッド リセット後の評価のためにリセットより前の状態を保存するための方法および装置
US8954801B2 (en) 2009-10-15 2015-02-10 L E Tech Co., Ltd. Microcomputer and method of operation thereof

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860013A (en) * 1996-07-26 1999-01-12 Zilog, Inc. Flexible interrupt system for an integrated circuit
US5812868A (en) * 1996-09-16 1998-09-22 Motorola Inc. Method and apparatus for selecting a register file in a data processing system
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
GB2381088B (en) * 2001-10-15 2006-02-08 Jacobs Rimell Ltd State recovery
US7117346B2 (en) * 2002-05-31 2006-10-03 Freescale Semiconductor, Inc. Data processing system having multiple register contexts and method therefor
US7424653B2 (en) 2003-05-09 2008-09-09 Hewlett-Packard Development Company, L.P. System and method for error capture and logging in computer systems
US7120828B2 (en) * 2003-05-09 2006-10-10 Hewlett-Packard Development Company, L.P. System and method for in-order queue draining
DE102004007614A1 (de) * 2004-02-17 2005-09-01 Giesecke & Devrient Gmbh Datenträger mit Ablaufdiagnosespeicher
US20060282821A1 (en) * 2005-06-10 2006-12-14 Renno Erik K Efficient subprogram return in microprocessors
US20070005819A1 (en) * 2005-06-30 2007-01-04 Skirvin Jeffrey D Apparatus and method to guarantee unique connection tags across resets in a connection protocol
US8041936B2 (en) * 2007-10-28 2011-10-18 International Business Machines Corporation Persisting value relevant to debugging of computer system during reset of computer system
US9218029B2 (en) * 2012-10-22 2015-12-22 Infineon Technologies Ag Method and system for resetting a SoC
US9823959B2 (en) 2013-05-13 2017-11-21 Nxp Usa, Inc. Microcontroller unit and method of operating a microcontroller unit
CN109982147B (zh) * 2019-03-13 2020-09-29 海信视像科技股份有限公司 复位装置、复位处理方法及显示设备
EP3941078A4 (en) 2019-03-13 2022-12-07 Hisense Visual Technology Co., Ltd. RESET DEVICE AND INDICATOR
WO2023287708A1 (en) * 2021-07-13 2023-01-19 SiFive, Inc. Processor crash analysis using register sampling
CN115309248A (zh) * 2022-08-11 2022-11-08 北京特纳飞电子技术有限公司 模块复位电路、复位模组和片上***芯片复位架构

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US4344133A (en) * 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
JPS5557956A (en) * 1978-10-25 1980-04-30 Nissan Motor Co Ltd Malfunction prevention unit of microcomputer
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4521847A (en) * 1982-09-21 1985-06-04 Xerox Corporation Control system job recovery after a malfunction
JPS6280743A (ja) * 1985-10-01 1987-04-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション アドレス変換例外処理方法
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US4740969A (en) * 1986-06-27 1988-04-26 Hewlett-Packard Company Method and apparatus for recovering from hardware faults
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US5003462A (en) * 1988-05-31 1991-03-26 International Business Machines Corporation Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
EP0356538B1 (en) * 1988-08-27 1993-12-22 International Business Machines Corporation Arrangement in data processing system for system initialization and reset
US5197138A (en) * 1989-12-26 1993-03-23 Digital Equipment Corporation Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
US5111384A (en) * 1990-02-16 1992-05-05 Bull Hn Information Systems Inc. System for performing dump analysis
US5287523A (en) * 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954801B2 (en) 2009-10-15 2015-02-10 L E Tech Co., Ltd. Microcomputer and method of operation thereof
JP5579257B2 (ja) * 2010-03-30 2014-08-27 株式会社エルイーテック 主記憶装置における情報を復元するための装置及び方法
JP2015501046A (ja) * 2011-12-02 2015-01-08 クアルコム,インコーポレイテッド リセット後の評価のためにリセットより前の状態を保存するための方法および装置

Also Published As

Publication number Publication date
GB2281986A (en) 1995-03-22
GB9319223D0 (en) 1993-11-03
GB2281986B (en) 1997-08-06
US5680599A (en) 1997-10-21

Similar Documents

Publication Publication Date Title
US5680599A (en) Program counter save on reset system and method
JP2858140B2 (ja) パイプラインプロセッサ装置および方法
US5745770A (en) Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
JP2743233B2 (ja) マイクロプロセッサ装置及び自動化停止状態再始動を実行させる方法
JP5905911B2 (ja) シングルステップ実行を用いる診断コード
JPH06103472B2 (ja) デバツグ用マイクロプロセツサ
JPH0689201A (ja) アイドルモードをアクセスするラン/ストップピンを有するマイクロプロセッサ及びそれを動作させる方法
JPH05225067A (ja) 重要メモリ情報保護装置
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JP3723243B2 (ja) プロセッサ装置及びその制御方法
JPH07141176A (ja) コマンドリトライ制御方式
US5673391A (en) Hardware retry trap for millicoded processor
JP2753781B2 (ja) マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法
JP3317361B2 (ja) メモリのバッテリバックアップ制御方式
JPH0922369A (ja) マルチタスキング方式のカーネルにおける不正動作検出方法
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JPS6376028A (ja) 仮想計算機システムにおける命令ステツプ実行制御方式
JP2671160B2 (ja) 例外処理方式
JP2504191B2 (ja) マイクロプロセッサ
JPS61177551A (ja) 処理装置の立上げ制御方式
JP2870405B2 (ja) 情報処理装置
JPS59172044A (ja) 命令制御方式
JPH0248739A (ja) デバッグ用マイクロプロセッサ
JP2870083B2 (ja) ウオッチドッグタイマ内蔵マイクロコンピュータ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040806