JP5215655B2 - データ処理装置及びデータ処理装置におけるバスアクセス制御方法 - Google Patents

データ処理装置及びデータ処理装置におけるバスアクセス制御方法 Download PDF

Info

Publication number
JP5215655B2
JP5215655B2 JP2007337549A JP2007337549A JP5215655B2 JP 5215655 B2 JP5215655 B2 JP 5215655B2 JP 2007337549 A JP2007337549 A JP 2007337549A JP 2007337549 A JP2007337549 A JP 2007337549A JP 5215655 B2 JP5215655 B2 JP 5215655B2
Authority
JP
Japan
Prior art keywords
exception
internal bus
signal
circuit
access
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.)
Expired - Fee Related
Application number
JP2007337549A
Other languages
English (en)
Other versions
JP2009157808A (ja
Inventor
幸彦 赤池
均 鈴木
純一 佐藤
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2007337549A priority Critical patent/JP5215655B2/ja
Priority to US12/314,493 priority patent/US8209565B2/en
Publication of JP2009157808A publication Critical patent/JP2009157808A/ja
Application granted granted Critical
Publication of JP5215655B2 publication Critical patent/JP5215655B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Description

本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法は、特にプログラムを実行する演算回路と周辺装置とを接続する内部バスと、周辺装置で例外が発生した場合に演算回路から内部バスへのアクセスを無効化する内部バス接続回路を有するデータ処理装置及びデータ処理装置におけるバスアクセス制御方法に関する。
マイコン等のデータ処理装置では、複数のタスクを時分割で切り替えながら実行するマルチタスク処理が行われる。また、データ処理装置では、プログラムに基づきタスクを実行する演算回路と、演算回路とバスを介して接続され、演算回路からの命令に基づき各種処理を行う周辺装置とを有する。この周辺装置は、例えばメモリやコプロセッサ等であってデータ処理装置に内蔵されるものと、データ処理装置に対して外付けで設けられる外部周辺装置とがある。このようなデータ処理装置では、実行するタスクあるいは周辺装置において発生したエラー(以下、例外と称す)が発生した場合、バスを無効化してそれ以降に実行されるタスクが不用意に周辺装置にアクセスすることを防止し、例外に起因する不具合の拡大を防止する処理が行われることがある。
このようにバスを無効化する手段を有するデータ処理装置の一例が特許文献1に開示されている。図16に、特許文献1に記載のデータ処理装置100のブロック図を示す。図16に示すように、データ処理装置100は、コア110、メモリ120、バス130、周辺デバイス140、リセットコントローラ150を有する。また、コア110は、プロセッサ111、キャッシュ112、バスインタフェースユニット113を有している。
そして、データ処理装置100では、プロセッサ111において行われる処理においてメモリ領域としてキャッシュ112を利用する。キャッシュ112ではデータのパリティチェックを行っており、格納されるデータに破損が生じた場合、キャッシュ112は破損信号151を出力する。この破損信号151は、バスインタフェースユニット113とリセットコントローラ150に伝えられる。破損信号151が入力されたバスインタフェースユニット113は、コア110からバス130へのアクセスを無効化して、エラーがメモリ120及び周辺デバイス140に伝搬されるのを防止する。また、リセットコントローラ150は、コア110をリセットする。このような動作により、データ処理装置100では、エラーがメモリ120及び周辺デバイス140に伝搬されるのを防止する。
また、例外の発生に応じて、演算回路と周辺装置との接続を無効化する方法は、特許文献2にも開示されている。さらに、周辺装置において例外が発生した場合に、演算回路の処理を待つことなく、演算回路による周辺装置の制御を停止する方法が特許文献3に開示されている。
特開2005−108222号公報 特開2003−50712号公報 特開平9−91210号公報
しかしながら、データ処理装置において例外が発生した場合、その例外状態からの復帰に際し、演算回路が例外処理プログラムに基づき例外処理を行うことがある。この例外処理では、データ処理装置のリセット処理に限らず実行済みタスクの廃棄等の処理を行うこともある。また、例外処理プログラムは、プログラム容量が大きいため、演算回路とバスで接続されたメモリ領域に格納される。
このような場合、特許文献1に記載のデータ処理装置100では、例外の発生により演算回路からバスへのアクセスが無効化されるため、演算回路が例外処理プログラムをメモリから読み出すことができない。データ処理装置100では、リセット動作によって例外発生状態からシステムを復帰させる。しかし、リセット動作は復帰にかかる時間が長くシステムの処理能力を低下させる問題がある。これに対して、例外処理プログラムによりデータ処理装置を例外発生状態から復帰させた場合、リセット動作よりも柔軟なシステムの復帰を行うことができ、システムの復帰にかかる時間を短縮することができる。つまり、データ処理装置100では、バスの無効化により、異常状態の伝搬を防止できても、例外処理プログラムによる柔軟性の高い例外状態からの復帰処理を行うことができないため、システムの処理能力が低下する問題がある。
本発明の一態様は、内部バスを介して接続される周辺装置にアクセスを行う演算回路と、前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、前記周辺装置において発生したエラーに基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、前記例外発生通知信号の通知に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化解除を指示するバス無効化制御回路と、を有するデータ処理装置である。
また、本発明の別の態様は、内部バスを介して接続される周辺装置にアクセスを行う演算回路と、前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、前記演算回路の動作に応じて前記内部バス接続回路を制御するバス無効化制御回路と、前記周辺装置において発生したアクセス違反に基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、を有するデータ処理装置におけるバスアクセス制御方法であって、前記例外発生通知信号の通知に応じて前記演算回路から前記内部バスへのアクセスを無効化し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記演算回路から前記内部バスへのアクセスの無効化を解除するデータ処理装置におけるバスアクセス制御方法である。
本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法によれば、周辺装置における例外発生に基づき演算回路と内部バスとの接続を無効化し、演算回路における例外処理の開始に応じて演算回路と内部バスとの接続の無効化を解除する。これにより、演算回路は、例外処理において内部バスを介して接続されるメモリ領域から例外プログラムを読み出すことが可能になる。また、演算回路は、例外処理時に周辺装置にアクセスすることが可能になる。つまり、本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法によれば、例外発生時には内部バスを無効化して異常状態の伝搬を防止し、例外処理時に内部バスを利用した柔軟性の高い例外状態からの復帰処理を行うことができる。
本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法によれば、例外発生時におけるシステムの信頼性の向上と、例外処理時における柔軟性の高い復帰処理とを実現することができる。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかるデータ処理装置1のブロック図を図1に示す。図1に示すようにデータ処理装置1は、演算回路(例えばCPU:Central Processing Unit)11、内部バス接続回路12、内蔵ROM(Read Only Memory)13、内蔵RAM(Random Access Memory)14、外部インタフェース15、周辺装置保護回路16、内蔵周辺装置17、バス無効化制御回路18、例外通知制御回路19を有する。また、データ処理装置1には、外部バスインタフェース15を介して外部周辺装置30が接続されるものとする。なお、以下の説明では、データ処理装置1における周辺装置は、内蔵ROM13、内蔵RAM14、外部インタフェース15、周辺装置保護回路16及び内蔵周辺装置17を含むものとする。
CPU11は、プログラムに基づいて各種タスクを実行し、データ処理装置1において主な情報処理を行う。また、CPU11は、周辺装置と内部バスを介して接続される。CPU11は、命令実行部21、割り込み受付制御部22を有する。
命令実行部21は、内部バス接続回路12及び内部バスを介して内蔵ROM13、内蔵RAM14あるいは外部インタフェース15を介して接続される外部周辺装置30からプログラムを読み出し(この読み出し動作をフェッチ動作と称す)て、プログラムに基づきタスクを実行する。また、命令実行部21は、実行したタスクの内容に基づき内部バス接続回路12及び内部バスを介して周辺装置へのアクセスを行う。なお、本実施の形態では、命令実行部21は、実行する命令を予めフェッチするプリフェッチ動作を行うものとする。なお、1つのタスクは、通常複数の命令により構成される。また、命令実行部21において実行される例外処理は、割り込み受付制御部22が出力する割り込み要求信号ERRQに基づき実行されるものとする。そして、命令実行部21は、例外処理の開始にあわせて例外処理開始信号ERRSを出力する。
割り込み受付制御部22は、例外通知制御回路19から出力される例外発生通知信号ERRNに基づきバス無効化制御回路18にセット信号SE1を出力するとともに、命令実行部21に割り込み要求信号ERRQを出力する。また、割り込み受付制御部22は、命令実行部21が割り込み要求信号ERRQに基づき例外処理を開始したことを通知する例外処理開始信号ERRSを受信するとバス無効化制御回路18にクリア信号CL1を出力する。
内部バス接続回路12は、CPU11と内部バスとの間に設けられる。そして、内部バス接続回路12は、CPU11から内部バスへのアクセスの有効状態と無効状態を切り替える。この切り替え動作はバス無効化制御回路18から出力される有効化信号EN及び無効化信号DENに基づき行われる。より具体的には、有効化信号ENが入力されている間は、内部バス接続回路12は、CPU11から内部バスへのアクセスを許可し、CPU11は内部バスへのアクセスを無制限に行うことができる。一方、無効化信号DENが入力されている間は、内部バス接続回路12は、CPU11から内部バスへのアクセスを遮断し、CPU11は内部バスへのアクセスを行うことができない。
内蔵ROM13は、記憶領域の1つであって、CPU11において用いられるプログラムを格納する。本実施の形態では、内蔵ROM13は、例外ハンドラ領域を有し、CPU11は例外処理の開始時にこの例外ハンドラ領域を参照するものとする。例外ハンドラ領域には、例外処理のメインルーチンに関するプログラムがある分岐先を示す情報が格納されているものとする。内蔵RAM14は、記憶領域の1つであって、CPU11において用いられるプログラム及びCPU11において実行される演算の中間情報を格納する。
外部インタフェース15は、データ処理装置1の外部に設けられる外部周辺装置30とのインタフェース回路である。外部インタフェース15は、例えば、データ処理装置1が外部周辺装置30にアクセスを行う場合におけるデータフォーマットの変換を行う機能を有する場合がある。周辺装置保護回路16は、内蔵周辺装置17と内部バスとの間に設けられる。周辺装置保護回路16は、CPU11で実行されるタスク毎に内蔵周辺装置17に対する保護範囲が設定される。そして、周辺装置保護回路16は、CPU11から内蔵周辺装置17にアクセスがあった場合に、そのアクセスが保護範囲内にあるか否かを判断し、アクセスが保護範囲に該当する場合はそのアクセスを遮断する。内蔵周辺装置16は、例えばコプロセッサ、タイマ、リセットコントローラ等のCPU11によって用いられる周辺機能を備える。これら周辺機能は、個別のブロックとして実装されていても、1つの機能ブロックとして実装されていても良い。
バス無効化制御回路18は、例外発生通知信号ERRNの通知に応じて内部バス接続回路12にCPU11から内部バスへのアクセスの無効化を指示し、CPU11における例外発生通知信号ERRNに基づいた例外処理の開始に応じて内部バス接続回路12にCPU11から内部バスへのアクセスの無効化解除を指示する。より具体的には、バス無効化制御回路18は、例外発生通知信号ERRNに基づきCPU11から出力されるセット信号SE1に基づき内部バス接続回路12に有効化信号ENを出力し、内部バス接続回路12にCPU11から内部バスへのアクセスの無効化を指示する。また、バス無効化制御回路18は、CPU11における例外処理の開始に応じてCPU11から出力されるクリア信号CL1に基づき内部バス接続回路12に無効化信号DENを出力し、内部バス接続回路12にCPU11から内部バスへのアクセスの無効化の解除を指示する。
例外通知制御回路19は、周辺装置のそれぞれから例外発生信号ERRを受信し、CPU11に例外発生通知信号ERRNを出力する。この例外発生通知信号ERRNには、例外発生信号ERRを出力した周辺装置の情報と、その周辺装置で発生した例外の種類を示す例外コードが含まれるものとする。
本実施の形態にかかるデータ処理装置1では、周辺装置において例外が発生した場合に、例外処理プログラムを実行して、システムを例外状態から復帰させる。そこで、データ処理装置1のCPU11において行われる復帰処理について説明する。CPU11で行われる復帰処理のフローチャートを図2に示す。以下、図2を参照して復帰処理について説明する。なお、以下で説明する復帰処理は、例外処理の一例であって、復帰処理は例外処理プログラムの設計方法又はシステムのアーキテクチャに応じて適宜変更することが可能である。
データ処理装置1では、周辺装置において例外が発生すると、例外通知制御回路19によって例外発生通知信号ERRNが出力され割り込み受付制御部22が割り込み要求信号ERRQを出力する。このとき、命令実行部21において例外処理を受付可能が否かを判断する(ステップS1)。命令実行部21では、投機的に実行された命令がある場合、例外処理の受付をすでに投機的に実行された命令の処理が完了した後に行う。そのため、投機的に実行された命令がある場合、ステップS1のNoの枝に進み、例外処理は受付されるまで待機させられる。一方、投機的に実行された命令がない場合、ステップS1のYesの枝に進み例外処理が開始される。
そして、ステップS2において、それまで実行していたタスクの情報を退避させる。具体的には、退避用PC(プログラムカウンタ)レジスタにそれまで実行されていたタスクのプログラムのプログラムカウンタを戻り先PCとして保存する。また、実行されていたタスクの実行状態を示すプログラムステータスワードPSWを退避用PSWレジスタに格納する。さらに、割り込み要求信号ERRQとともに通知される例外コードを例外コードレジスタに格納する。このとき、命令実行部21は、処理開始信号ERRSを出力する。なお、データ処理装置1では、例外発生通知信号ERRNが例外通知制御回路19によって出力されてから処理開始信号ERRSが出力されるまでの間、内部バス接続回路12によってCPU11から内部バスへのアクセスは無効化される。つまり、ステップS1〜ステップS2が完了するまでの間、CPU11から内部バスへのアクセスは無効化される。そして、ステップS2が完了すると、クリア信号CL1が割り込み受付制御部22からバス無効化制御回路18に出力されるため、内部バスへのアクセスの無効化は解除される。
次に、命令実行部21は、無効化が解除された内部バス接続回路12と内部バスを介して内蔵ROM1の例外ハンドラ領域にアクセスを行い、プログラムカウンタPCに例外ハンドラアドレスをセットする(ステップS3)。そして、例外ハンドラアドレスに格納されたプログラムに基づき例外処理のメインルーチンのプログラムを読み出す。これによって、命令実行部21は、実行するタスクを例外処理のメインルーチンに分岐させる(ステップS4)。例外処理のメインルーチンでは、まず例外コードに基づき例外要因の判定を行う(ステップS5)。本実施の形態では、例外の重要度に応じて処理A〜処理Cの3つの処理を行うものとする。
処理Aは、軽微な例外が発生した場合の処理であって、タスクの廃棄等の処理を行うことなく、それまで実行されていたタスクを継続して実行する。例えば、コプロセッサにおける演算において計算結果で丸めが発生してしまったが、その演算結果でその後の処理を続けても問題ない場合である。処理Aでは、まず例外コードや例外が発生した周辺装置に保存されるエラー情報を参照し、その処理結果が問題ないことを確認し、タスクの再実行手続きを行う(ステップS6)。その後、命令実行部21は、復帰命令を実行する(ステップS7)。そして、プログラムカウンタPCに、ステップS2で退避させたプログラムカウンタPCの値を書き戻す。また、プログラムステータスワードPSWにもステップS2で退避させプログラムステータスワードPSWの値を書き戻す(ステップS8)。その後、命令実行部21は、プログラムカウンタPCとプログラムステータスワードPSWの値に基づき元の実行タスクに処理をジャンプさせる(ステップS9)。
処理Bは、中程度の例外が発生した場合に行われる処理であって、リセットを行うことなくシステムを復旧させるものである。なお、処理Bでは、例外が重大なものであると判断された場合はシステムのリセットを行う。例えば、実行していたタスクでメモリへの結果の書き込みに失敗し、タスクに異常動作が認められた場合に処理Bが行われる。このような場合、処理Bでは、例えば、メモリの情報が書き換えられてなければ、それまで実行していたタスクに異常があるとしてタスクを廃棄し、メモリの情報が書き換えられておりその情報の訂正が困難な場合はシステムのリセットを行ことができる。処理Bでは、まず例外コードや例外が発生した周辺装置に保存されるエラー情報を参照する(ステップS10)。続いて、周辺装置において発生した例外の重要度に基づき復帰処理が可能か否かを判断する(ステップS11)。ステップS11において、発生した例外が重度のものであり復帰処理が不可能と判断された場合(ステップS11のNo)、ステップS17のシステムのリセット動作が行われる。一方、ステップS11において、発生した例外の重要度がそれほど高くなく、復帰処理可能と判断された場合(ステップS11のYes)、それまで実行されていたタスクの廃棄と次のタスクを実行する手続きが行われる(ステップS12)。ステップS12は、例えばOS(Operating System)によって行われる。続いて、命令実行部21は、復帰命令を実行する(ステップS13)。そして、プログラムカウンタPCに、次のタスクのプログラムカウンタPCの値を書き込む。また、プログラムステータスワードPSWにも次のタスクのプログラムステータスワードPSWの値を書き込む(ステップS14)。その後、命令実行部21は、プログラムカウンタPCとプログラムステータスワードPSWの値に基づき新たなのタスクに処理をジャンプさせる(ステップS15)。
処理Cは、重大な例外が発生した場合に行われる処理であって、システムのリセットを行う。例えば、実行されていたタスクにおいて、内蔵RAMの情報の誤書き込みが発生し、その誤りを訂正できない場合などに行われる。処理Cでは、まずエラー情報を保存する(ステップS16)。その後、システムのリセット動作を行いデータ処理装置1を再起動する(ステップS17)。
続いて、図3にデータ処理装置1の動作を示すタイミングチャートを示す。以下、図3を参照してデータ処理装置1における内部バスの無効化と無効化の解除の動作について説明する。図3に示す例では、最も権限レベルの低いユーザー権限タスクとしてユーザータスク1、2が実行され、ユーザー権限よりも高い権限を有する特権レベルのうち低レベル側のレベル1でOSに関するタスクが処理され、特権レベルのうち高レベル側のレベル2で例外処理が行われるものとする。また、ユーザータスクは、タスクの処理単位を命令で示した。また、図3において周辺のラベルで示されるアクセス対象装置は内蔵周辺装置17であって、ROMのラベルは内蔵ROM13であって、RAMのラベルは内蔵RAM14である。なお、図3に示す例では命令の処理サイクルでタイミングを示しており、命令実行部21は1つの処理サイクルで命令の実行と命令のプリフェッチの動作を行うものとする。また、図3に示す例は、図2に示す処理Bが発生した場合を示すものである。
図3に示すように、命令実行部21においてユーザータスク1の命令1では内部周辺装置17にアクセスを行い、命令1は正常に完了する。次に命令実行部21は、命令2を実行する。命令2は、内蔵RAM14に対するアクセスを行うが、このアクセスは不正なものであるとして内蔵RAM14は例外発生信号ERRを出力する。図3の例では、内蔵RAM14は、このアクセスを受け付けずメモリの内容は書き換えられていないものとする。この例外発生信号ERRを受けた例外通知制御回路19は例外発生通知信号ERRNを出力する。そして、例外発生通知信号ERRNを受信した割り込み受付制御部22は割り込み要求信号ERRQを命令実行部21に出力する。また、割り込み受付制御部22は例外発生通知信号ERRNに基づきセット信号SE1をバス無効化制御回路18に出力する。そして、セット信号SE1を受信したバス無効化制御回路18は内部バス接続回路12に無効化信号DENを出力し、内部バス接続回路12はCPU11から内部バスへのアクセスを無効化する。
命令実行部21は命令2の終了と同時に割り込み要求信号ERRQを受信するが、すでに命令3、4が投機的に実行されているため、割り込み要求信号ERRQに基づく例外処理は命令4が完了するまで待機させられる。また、命令実行部21は命令4に続く命令の実行を割り込み要求信号ERRQの受信に基づき停止する。命令3は内部周辺装置17に対するアクセスであり、命令4は内蔵RAM14に対するアクセスである。しかし、命令3、4の実行時において、CPU11から内部バスへのアクセスが無効化されているため、このアクセスは内部バスに出力されることなく内部バス接続回路12によって遮断される。
そして、命令4の処理が完了すると命令実行部21は、例外処理を開始する。この例外処理の開始に応じて、命令実行部21は、処理開始信号ERRSを出力し、処理開始信号ERRSを受けた割り込み受付制御部22はクリア信号CL1を出力する。このクリア信号CL1を受信したバス無効化制御回路18は有効化信号ENを出力し、有効化信号ENを受信した内部バス接続回路12は、CPU11から内部バスへのアクセスの無効化を解除する。この動作によって内部バスは有効になり、命令実行部21は内蔵ROM13にアクセスを行い図2のステップ3以降の動作を行う。図3に示す例では例外処理において命令実行部21は内蔵ROM13及び内蔵RAM14にアクセスを行う。そして、命令実行部21は、実行するタスクをOSに移行させユーザータスク1を廃棄して新たにユーザータスク2を実行するための準備を行う。その後OSの処理が完了するとユーザータスク2となる命令5〜命令7が順次実行される。
上記説明より、データ処理装置1は、周辺装置における例外発生に応じてCPU11から内部バスへのアクセスを無効化する。これにより、CPU11で投機的に実行されている命令による被害の拡大を防止することができる。つまり、データ処理装置1では、内部バスの無効化によって、例外が発生した命令に続いて投機的に実行される命令による内部バスへのアクセスが発生しても、被害を拡大させることがない。従って、データ処理装置1では、投機的な命令の実行を例外の発生を気にすることなく行うことができる。そのため、データ処理装置1は、処理性能を容易に高めるとともに、例外処理に対する信頼性を高めることができる。
さらに、データ処理装置1は、例外処理の開始に応じて、一度無効化したCPU11から内部バスへのアクセスの無効化を解除する。これにより、内部バスを介してCPU11と接続される記憶領域に格納される例外処理プログラムを読み出し、例外処理を実行することができる。従って、データ処理装置1では、CPU11とは異なる場所に例外処理プログラムを配置することができる。これにより、CPU11に内蔵できないほど容量が大きな例外処理プログラムによって例外処理を行うことができる。このような処理を行うことでデータ処理装置1では、リセット動作よりも柔軟性が高く複雑な例外処理を行うことが可能になる。また、例外処理プログラムにより、軽微な例外であればタスクの続行、あるいは、タスクの廃棄及び新たなタスクの実行するなど、リセット以外の復帰動作を行うことができる。リセット動作は、処理の時間が長くデータ処理装置の処理性能を低下させるが、リセット動作を行わない復帰方法では処理性能の低下はほとんど発生しない。
なお、データ処理装置1は、各種の変形を行うことができる。その一例としてデータ処理装置1の変形例となるデータ処理装置1aのブロック図を図4に示す。図4に示すように、データ処理装置1aは、CPU11内に動作ステータスレジスタ23を有する。動作ステータスレジスタ23は、命令実行部21が実行中のタスクの動作権限の種類を示す値を格納する。そのため、命令実行部21は、動作モード設定信号MS1を出力し、動作ステータスレジスタ23に実行中のタスクの種類を示す値を書き込む。データ処理装置1aでは、クリア信号CL2として、動作ステータスレジスタ23に格納される値を利用する。なお、データ処理装置1は、割り込み受付制御部22に替えて、セット信号SE1飲みを出力する割り込み受付制御部22aを有する。
データ処理装置1aで用いられるバス無効化制御回路18aは、クリア信号CL2が例外処理のタスクの動作権限である特権モードを示す場合に、無効化信号DENの出力を停止して、有効化信号ENを出力する。
データ処理装置1aは、クリア信号の出力方法の変形例を示すものである。つまり、バス無効化制御回路に対するクリア信号は、例外処理の開始に同期して出力される信号であれば良い。
実施の形態2
実施の形態2にかかるデータ処理装置2のブロック図を図5に示す。データ処理装置2は、処理優先度が最も高い緊急割り込み処理が発生した場合に対応するものである。データ処理装置2は、データ処理装置1に加えて緊急割り込み通知制御回路20が追加される。また、データ処理装置2は、割り込み受付制御部22に替えて割り込み受付制御部24を有する。
緊急割り込み処理は、例えば、エアバッグ制御などであって、不定期に発生し、かつ、最も優先させて処理させなければならい処理である。実施の形態2で示す例では、緊急割り込み処理は、例えば、外部インタフェース回路15又は周辺装置保護回路16に接続される周辺装置から出力される緊急割り込み発生信号EMに基づき行われる。なお、緊急割り込み発生信号EMは、命令実行部21において実行されている命令に基づき発生するものでも良い。
緊急割り込み通知制御回路20は、外部インタフェース回路15、周辺装置保護回路16又は命令実行部21から出力される緊急割り込み発生信号EMを受信する。そして、緊急割り込み通知制御回路20は、緊急割り込み発生信号EMに基づき緊急割り込み処理の種類を示す緊急割り込みコードと共に緊急割り込み通知信号EMNを出力する。
割り込み受付制御部24は、緊急割り込み通知信号EMNに基づき緊急割り込み要求信号EMRQを出力する。また、例外発生通知信号ERRN及び緊急割り込み処理完了信号EME及び通知信号EMNに基づきセット信号SE3を出力し、例外処理開始信号ERRS及び緊急割り込み処理開始信号ENSに基づきクリア信号CL3を出力する。ここで、セット信号SE3及びクリア信号CL3は、実施の形態1におけるセット信号SE1及びクリア信号CL1に対応するものである。
割り込み受付制御部24の動作についてさらに詳しく説明する。割り込み受付制御部24は、クリア信号CL3を出力している期間(内部バス接続回路12がCPU11から内部バスへのアクセスを有効にしている期間)に緊急割り込み処理開始信号EMSが入力された場合、セット信号SE3及びクリア信号CL3の状態を維持する。また、この期間に割り込み処理完了信号EMEが入力された場合もセット信号SE3及びクリア信号CL3の状態を維持する。一方、割り込み受付制御部24は、セット信号SE3を出力している期間(内部バス接続回路12がCPU11から内部バスへのアクセスを無効化している期間)に緊急割り込み処理開始信号EMSが入力された場合、セット信号SE3の出力を停止してクリア信号CL3を出力する。また、また、この期間に割り込み処理完了信号EMEが入力された場合、クリア信号CL3を停止してセット信号SE3を出力する。
ここで、データ処理装置2の動作の一例を示すタイミングチャートを図6に示す。図6に示す例は、例外が発生することなく緊急割り込み処理が発生するものである。なお、以下の説明では、緊急割り込み処理は、OS処理及び例外処理よりも権限レベルが高いレベル3の特権レベルで実行されるものとする。
図6に示す例では、まず、ユーザータスク1として命令1、2を実行し、例外なくタスクが終了する。その後、命令実行部21は、処理をOSに移行させ、続くユーザータスク2を実行する。そして、ユーザータスク2の命令3、4が実行された時点で緊急割り込みが発生する。この緊急割り込みの発生に基づき割り込み通知制御回路20は緊急割り込み通知信号EMNを出力し、割り込み受付制御部24は緊急割り込み通知信号EMNに基づき緊急割り込み要求信号EMRQを出力する。そして、命令実行部21は、緊急割り込み要求信号EMRQに基づき緊急割り込み処理を開始する。また、命令実行部21は、緊急割り込み処理の開始時応じて緊急割り込み処理開始信号EMSを出力する。このとき、割り込み受付制御部24では、クリア信号CL3が出力され、内部バス接続回路12はCPU11から内部バスへのアクセスを有効としている。そのため、割り込み受付制御部24は緊急割り込み処理開始信号EMSが入力されてもセット信号SE3及びクリア信号CL3の状態を維持する。その後、命令実行部21において緊急割り込み処理が完了すると、命令実行部21は緊急割り込み処理完了信号EMEを出力する。また、命令実行部21は、実行するタスクを緊急割り込み処理からユーザータスク2の命令5とする。
また、データ処理装置2の動作の別の例を示すタイミングチャートを図7に示す。図7に示す例は、例外の発生に起因して内部バスが無効化されている状態で緊急割り込み処理が発生するものである。
図7に示す例では、まず、ユーザータスク1として実行される命令1において例外が発生する。命令1は、内蔵周辺装置17に対するアクセスを行うが、このアクセスは不正なものであるとして周辺装置保護回路16により例外発生信号ERRが出力される。この例外発生信号ERRを受けた例外通知制御回路19は例外発生通知信号ERRNを出力する。そして、例外発生通知信号ERRNを受信した割り込み受付制御部24は割り込み要求信号ERRQを命令実行部21に出力する。また、割り込み受付制御部24は例外発生通知信号ERRNに基づきセット信号SE3をバス無効化制御回路18に出力する。そして、セット信号SE3を受信したバス無効化制御回路18は内部バス接続回路12に無効化信号DENを出力し、内部バス接続回路12はCPU11から内部バスへのアクセスを無効化する。
命令実行部21は命令1の終了と同時に割り込み要求信号ERRQを受信するが、すでに命令2〜4が投機的に実行されているため、割り込み要求信号ERRQに基づく例外処理は命令4が完了するまで待機させられる。そして、図7に示す例では、命令3の実行後に緊急割り込みが発生する。この緊急割り込みの発生に基づき割り込み通知制御回路20は緊急割り込み通知信号EMNを出力し、割り込み受付制御部24は緊急割り込み通知信号EMNに基づき緊急割り込み要求信号EMRQを出力する。そして、命令実行部21は、緊急割り込み要求信号EMRQに基づき緊急割り込み処理を開始する。また、命令実行部21は、緊急割り込み処理の開始時応じて緊急割り込み処理開始信号EMSを出力する。このとき、割り込み受付制御部24では、セット信号SE3が出力され、内部バス接続回路12はCPU11から内部バスへのアクセスを無効化している。そのため、割り込み受付制御部24は緊急割り込み処理開始信号EMSの入力に応じてセット信号SE3を停止し、クリア信号CL3を出力する。これにより、バス無効化制御回路18は、有効化信号ENを出力し、内部バス接続回路12はCPU11から内部バスへのアクセスの無効化を解除する。
緊急割り込み処理の開始に応じて内部バスの無効化が解除されるため、命令実行部21は、内部バスに無制限にアクセスを行いながら緊急割り込み処理実行する。その後、命令実行部21において緊急割り込み処理が完了すると、命令実行部21は緊急割り込み処理完了信号EMEを出力する。そして、割り込み受付制御部24は、緊急割り込み処理完了信号EMEに基づきセット信号SE3を出力する。これにより、バス無効化制御回路18は、無効化信号DENを出力し、内部バス接続回路12はCPU11から内部バスへのアクセスを無効化する。その後、命令実行部21は、実行するタスクを緊急割り込み処理からユーザータスク1の命令4に戻す。
続いて、命令4が命令実行部21において実行されるが、このとき、CPU11から内部バスへのアクセスが無効化されているため、このアクセスは内部バスに出力されることなく内部バス接続回路12によって遮断される。そして、命令4の処理が完了すると命令実行部21は、例外処理を開始する。この例外処理以降の動作は、図3に示したものと実質的に同じになるため、ここでは説明を省略する。
以上の説明より、データ処理装置2では、内部バスが無効化されている状態において緊急割り込み処理が発生した場合、緊急割り込み処理が行われている期間においてのみ内部バスの無効化を解除する。データ処理装置2で行われる内部バスの無効化解除手段がない場合、緊急割り込み処理において内部バスを利用することができず、緊急割り込み処理を正しく行えない場合がある。しかしながら、実施の形態2にかかるデータ処理装置2では、命令実行部21が内部バスに対して無制限にアクセスを行いながら緊急割り込み処理を実行することができる。また、このようにハードウェアによる内部バスの無効化解除手段を実装することで、緊急割り込み処理のプログラム作成時に内部バスの状態を考慮する必要がない。つまり、実施の形態2にかかるデータ処理装置2によれば、緊急割り込み処理のプログラム作成が容易になる効果もある。
なお、実施の形態2においても、実施の形態1のように動作ステータスレジスタを用いた変形例を考えることが可能である。実施の形態2にかかるデータ処理装置2に対する変形例を示すデータ処理装置2aのブロック図を図8に示す。図8に示すように、データ処理装置2aは、CPU11内に動作ステータスレジスタ25を有する。動作ステータスレジスタ25は、命令実行部21が実行中のタスクの動作権限の種類を示す値を格納する。そのため、命令実行部21は、動作モード設定信号MS2を出力し、動作ステータスレジスタ25に実行中のタスクの種類を示す値を書き込む。データ処理装置2aでは、クリア信号CL4として、動作ステータスレジスタ25に格納される値を利用する。なお、データ処理装置1は、割り込み受付制御部24に替えて、セット信号SE1のみを出力する割り込み受付制御部24aを有する。
データ処理装置2aで用いられるバス無効化制御回路18bは、クリア信号CL4が例外処理のタスク及び緊急割り込み処理の動作権限である特権モードを示す場合、無効化信号DENの出力を停止して、有効化信号ENを出力する。また、データ処理装置2aでは、命令実行部21において緊急割り込み処理が完了した場合に、命令実行部21がセット信号SE4を内部バスを介してバス無効化制御回路18bに通知する。そして、バス無効化制御回路18bは、クリア信号CL4によって内部バスの無効化が解除された後にセット信号SE4が入力されると無効化信号DENを出力する。
データ処理装置2aは、セット信号及びクリア信号の出力方法の変形例を示すものである。つまり、バス無効化制御回路に対するセット信号及びクリア信号は、例外処理の開始に同期して出力され、かつ、緊急割り込み処理の実行中にのみ無効化を解除できる信号であれば良い。
実施の形態3
実施の形態3にかかるデータ処理装置3のブロック図を図9に示す。データ処理装置3は、実施の形態1にかかるデータ処理装置1の変形例を示すものである。データ処理装置3では、内部バス接続回路12に替えて内部バス接続回路12aを有する。内部バス接続回路12aは内部バス接続回路12の機能に加え、ダミー応答回路40を有する。
ダミー応答回路40は、内部バス接続回路12aがCPU11から内部バスへのアクセスを無効化している期間に、CPU11が内部バスへのアクセスを行った場合に、疑似的にバスアクセス完了信号(以下、ダミー応答と称す)をCPU11に返信する。ここで、ダミー応答回路40の動作を説明するためにデータ処理装置3の動作を示すタイミングチャートを図10に示す。図10に示す例は、図3で示したデータ処理装置1のタイミングチャートにダミー応答回路40の動作を加えたものである。
図10に示すように、ダミー応答は、内部バスが無効化されている期間に、CPU11からアクセスがあった場合に発生する。図10に示す例では、内部バスが無効化されている期間に命令3、4が内部バスに対してアクセスを行う。そして、この命令3、4のアクセスに応答するようにダミー応答が返信される。
CPU11において実行されるタスクの中には、バスアクセスの完了を確認しなければ終了しないタスクがある。このようなタスクがある場合において、単に内部バスを無効化すると、バスアクセスが完了しないため、そのタスクがいつまでも完了しない。このような場合、待機させられている例外処理がいつまでも行われない場合がある。しかし、データ処理装置3のように、ダミー応答を行うことで、バスアクセスの完了を確認しなければ終了しないタスクがある場合であっても、内部バスを無効化してもその後にダミー応答を返信することでこのようなタスクを完了させることができる。
実施の形態4
実施の形態4にかかるデータ処理装置4のブロック図を図11に示す。データ処理装置4は、実施の形態1にかかるデータ処理装置1の変形例を示すものである。データ処理装置4では、例外通知制御回路19に替えて例外通知制御回路19aを有する。例外通知制御回路19aはエラーフラグ群を有し、エラーフラグ群に周辺装置で発生した例外の種類を格納する。また、例外通知制御回路19aはエラーフラグ群に格納された例外の種類に応じて例外発生通知信号ERRN及び例外コード信号ECを出力するか否かを制御する。
ここで、図12に例外通知制御回路19aのブロック図を示す。図12に示すように、例外通知制御回路19aは、エラーフラグ群51及び例外判定部52を有する。エラーフラグ群51は、複数のエラーフラグ(図12の例ではエラーフラグ51a〜51d)を有する。エラーフラグ51a〜51dは、例外発生信号ERRを出力する周辺装置のそれぞれに対応して設けられる。また、エラーフラグ51a〜51dは、例外の種類を個別に格納するレジスタを複数有しているものとする。
例外判定部52は、通知設定部53a〜53d及び優先度判定部54を有する。通知設定部53a〜53dは、エラーフラグ51a〜51dに対応して設けられている。そして、通知設定部53a〜53dは、エラーフラグに格納される例外の種類のうち例外として通知を行う例外の種類についての設定を行う。この設定に基づき通知設定部53a〜53dは、発生した例外のうち通知設定がされた例外のみを後段の優先度判定部54に出力する。優先度判定部54は、通知された例外のうちより高い優先度の例外に関して例外発生通知信号ERRNを通知し、さらに、これに合わせて通知する例外に関連した例外コード信号ECを出力する。
続いて、例外通知制御回路19aを用いた場合のデータ処理装置4の動作について説明する。図13に、データ処理装置4の動作を示すタイミングチャートを示す。図13に示す例は、図3に示したデータ処理装置1の動作に対して、例外処理通知制御回路19aに関する動作を適用したものである。図13に示すように、例外処理通知制御回路19aを用いることで、命令実行部21は、例外処理においてエラーフラグを参照した例外処理を行う。また、例外処理が完了する時点で参照したエラーフラグの情報をクリアする。
また、例外通知制御回路19aを用いた場合のデータ処理装置4の動作の別の例について説明する。図14に、データ処理装置4の動作の別の例を示すタイミングチャートを示す。図14に示す例は、図13に示したデータ処理装置4の例外処理の途中でさらに優先度の高い例外処理が発生するものである。図14に示すように、高い優先度の例外処理が発生した場合、データ処理装置はセット信号SE1により内部バスを無効化し、逓優先度の例外処理における内部バスへのアクセスを防止する。そして、高優先度例外処理の開始に応じてクリア信号CL1を用いて内部バスの無効化を解除する。これにより、高優先度例外処理は、内部バスのアクセス制限を受けることなく実行される。また、この高優先度例外処理においてもエラーフラグを参照することが可能である。高優先度例外処理では、データ処理装置4の復旧はリセット動作により行われる。
このように、エラーフラグの情報を参照して例外処理を行うことで、発生した例外の種類に応じたより的確な例外処理を行うことが可能になる。また、通知設定部53a〜53dによって軽微な例外に関しては例外発生通知信号ERRNを出力しない構成とした場合、重大な例外に対する例外処理において軽微な例外に関する情報を参照することもできる。さらに、軽微な例外に関しては通知を行わないことで、例外処理の頻度を少なくしてデータ処理装置4の処理性能を向上させることができる。
実施の形態5
実施の形態5にかかるデータ処理装置5のブロック図を図15に示す。データ処理装置5は、実施の形態1にかかるデータ処理装置1の変形例を示すものである。データ処理装置5では、周辺装置保護回路16に替えて周辺装置保護回路16aを有する。周辺装置保護回路16aは、周辺装置保護回路16に加えて例外保存部61及び例外設定部62を有する。例外保存部61は、周辺装置保護回路16aにおいて発生した例外を保存する。例外設定部62は、例外保存部61に所定レベル以上の例外が発生した場合にのみ例外発生信号ERRを出力する。例えば、例外設定部62は、軽微な例外については例外発生信号ERRを出力しない設定を行うことができる。
このように、周辺装置保護回路16aにおいて発生した例外を保存し、所定レベル以上の例外についてのみ通知する構成とすることで、データ処理装置1において発生する例外処理の頻度を少なくすることができる。また、発生した例外を保存することで、例外処理等の後の処理で保存した例外を参照した詳細な復帰処理を行うことが可能である。また、例外を保存し、後でこの例外を参照することで、ユーザータスクのデバッグ効率を向上させることができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記説明において例外発生信号ERRや緊急割り込み発生信号EMが出力される状況は、一例を示すものであり、これら信号はデータ処理装置の構成に応じて適宜出力される状況は異なる。
実施の形態1にかかるデータ処理装置のブロック図である。 実施の形態1にかかるデータ処理装置の動作を示すフローチャートである。 実施の形態1にかかるデータ処理装置の動作を示すタイミングチャートである。 実施の形態1にかかるデータ処理装置の別の例を示すブロック図である。 実施の形態2にかかるデータ処理装置のブロック図である。 実施の形態2にかかるデータ処理装置の動作を示すタイミングチャートである。 実施の形態2にかかるデータ処理装置の動作を示すタイミングチャートである。 実施の形態2にかかるデータ処理装置の別の例を示すブロック図である。 実施の形態3にかかるデータ処理装置のブロック図である。 実施の形態3にかかるデータ処理装置の動作を示すタイミングチャートである。 実施の形態4にかかるデータ処理装置のブロック図である。 実施の形態4にかかる例外通知制御回路を示すブロック図である。 実施の形態4にかかるデータ処理装置の動作を示すタイミングチャートである。 実施の形態4にかかるデータ処理装置の動作を示すタイミングチャートである。 実施の形態5にかかるデータ処理装置のブロック図である。 従来のデータ処理装置のブロック図である。
符号の説明
1〜5 データ処理装置
11 CPU
12、12a 内部バス接続回路
13 内蔵ROM
14 内蔵RAM
15 外部インタフェース
16、16a 周辺装置保護回路
17 内蔵周辺装置
18、18a、18b バス無効化制御回路
19、19a 例外通知制御回路
20 緊急割り込み制御回路
21 命令実行部
22、22a、24、24a 割り込み受付制御回部
23、25 動作ステータスレジスタ
30 外部周辺装置
40 ダミー応答回路
51 エラーフラグ群
51a〜51d エラーフラグ
52 例外判定部
53a〜53d 通知設定部
54 優先度判定部
ERR 例外発生信号
ERRN 例外発生通知信号
ERRQ 割り込み要求信号
ERRS 例外処理開始信号
EM 緊急割り込み発生信号
EMN 緊急割り込み通知信号
EMRQ 緊急割り込み要求信号
EMS 緊急割り込み処理開始信号
EME 緊急割り込み処理完了信号
EC 例外コード信号
EN 有効化信号
DEN 無効化信号
SE1、SE3、SE4 セット信号
CL1〜CL4 クリア信号

Claims (18)

  1. 内部バスを介して接続される少なくとも1つの周辺装置にアクセスを行う演算回路と、
    前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、
    前記少なくとも1つの周辺装置のうちいずれかから出力される例外発生信号に基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、
    前記例外発生通知信号に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスを前記無効状態とする無効化信号を出力し、前記演算回路が前記例外発生通知信号に基づき生成する例外処理開始信号に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスを前記有効状態とする有効化信号を出力するバス無効化制御回路と、を有し、
    前記演算回路は、前記例外処理開始信号に応じて前記有効状態とされた前記内部バスを介して、前記周辺装置のうち例外処理プログラムが格納された周辺装置に格納された例外処理プログラムに基づき例外処理を行う、
    データ処理装置。
  2. 前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記無効化信号を出力させるセット信号を出力し、前記例外処理開始信号に基づき前記バス無効化制御回路に前記有効化信号を出力させるクリア信号を出力する割り込み受付制御部を有する請求項1に記載のデータ処理装置。
  3. 前記割り込み受付制御部は、前記内部バスへのアクセスが前記無効状態である場合において、前記例外発生通知信号による前記例外処理よりも優先度の高い緊急割り込み処理の発生を通知する前記少なくとも1つの周辺装置のうちいずれかからの緊急割り込み通知信号に応じて、前記演算回路内の命令実行部に緊急割り込み要求信号と、前記バス無効化制御回路に前記クリア信号と、を出力し、
    前記演算回路により出力される割り込み処理完了信号に応じて、前記セット信号を出力する請求項2に記載のデータ処理装置。
  4. 前記演算回路は、前記演算回路において実行中のタスクの動作ステータスを格納する動作ステータスレジスタと、をさらに有し、
    前記バス無効化制御回路は、前記内部バスへのアクセスが前記無効状態である場合において、前記動作ステータスが前記例外処理よりも優先度の高い緊急割り込み処理を示す場合、前記内部バス接続回路に前記有効化信号を出力し、
    前記演算回路により出力される割り込み処理完了信号に応じて、前記内部バス接続回路に前記無効化信号を出力する請求項2に記載のデータ処理装置。
  5. 前記演算回路は、前記例外発生通知信号に基づきセット信号を出力する割り込み受付制御部と、前記演算回路において実行中のタスクの動作ステータスを格納する動作ステータスレジスタと、を有し、
    前記バス無効化制御回路は、前記セット信号に基づき前記内部バス接続回路に前記無効化信号を出力し、前記動作ステータスが前記例外処理の実行を示すものである場合に前記内部バス接続回路に前記有効化信号を出力する請求項1に記載のデータ処理装置。
  6. 前記内部バス接続回路は、前記演算回路から前記内部バスへのアクセスを前記無効状態にする場合、前記演算回路の前記内部バスに対するアクセスに応じて疑似的に前記演算回路に応答を返信するダミー応答回路を有する請求項1乃至5のいずれか1項に記載のデータ処理装置。
  7. 前記例外通知制御回路は、前記少なくとも1つの周辺装置のうちいずれかにおいて発生したエラーの種類を格納するエラーフラグ群と、前記エラーフラグ群に格納されたフラグ値の優先度に基づき前記演算回路に前記例外発生通知信号を出力するか否かを判定する優先度判定部と、を有する請求項1乃至6のいずれか1項に記載のデータ処理装置。
  8. 前記少なくとも1つの周辺装置のうちいずれかは、所定の機能を有する内蔵周辺装置と、前記内部バスを介した前記内蔵周辺装置へのアクセスを制限することで前記内蔵周辺装置を保護する内蔵周辺装置保護回路とを含み、
    前記内蔵周辺装置保護回路は、前記内蔵周辺装置に対するアクセスにおいて発生したエラーの情報を格納する例外保存部と、前記例外保存部に格納された前記エラーの情報の重要度に応じて前記例外通知制御回路に前記例外発生信号を通知するか否かを制御する例外設定部とを有する請求項1乃至7のいずれか1項に記載のデータ処理装置。
  9. 前記例外処理プログラムが格納された周辺装置は、前記例外処理プログラムを格納するプログラム格納部を有する請求項1乃至8のいずれか1項に記載のデータ処理装置。
  10. 内部バスを介して接続される少なくとも1つの周辺装置にアクセスを行う演算回路と、
    前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、
    前記演算回路の動作に応じて前記内部バス接続回路を制御するバス無効化制御回路と、
    前記少なくとも1つの周辺装置のうちいずれかにおいて発生したアクセス違反に基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、を有するデータ処理装置におけるバスアクセス制御方法であって、
    前記例外発生通知信号に応じて前記演算回路から前記内部バスへのアクセスを無効化し、
    前記演算回路における前記例外発生通知信号に基づいて前記演算回路から前記内部バスへのアクセスの無効化を解除し、
    前記演算回路は、前記内部バスへのアクセスの無効化解除後に、前記周辺装置のうち例外処理のための例外処理プログラムが格納された周辺装置から前記例外処理プログラムを取得して前記例外処理プログラムに基づく例外処理を行う、
    データ処理装置におけるバスアクセス制御方法。
  11. 前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化解除を指示するクリア信号を出力する割り込み受付制御部を有する請求項10に記載のデータ処理装置におけるバスアクセス制御方法。
  12. 前記割り込み受付制御部は、前記少なくとも1つの周辺装置のうちいずれかから出力される前記例外処理よりも優先度の高い緊急割り込み処理の発生を通知する緊急割り込み通知信号に応じて前記演算回路内の命令実行部に緊急割り込み要求信号を出力し、
    前記緊急割り込み要求信号を出力する時点において前記バス無効化制御回路が前記内部バス接続回路にバスアクセスの無効化をしている場合は前記クリア信号を出力し、前記命令実行部において前記緊急割り込み処理が完了したことに応じて前記セット信号を出力する請求項11に記載のデータ処理装置におけるバスアクセス制御方法。
  13. 前記演算回路は、前記演算回路において実行中のタスクの動作ステータスを格納する動作ステータスレジスタと、をさらに有し、
    前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示している期間において、
    前記バス無効化制御回路は、前記動作ステータスが前記例外処理よりも優先度の高い緊急割り込み処理を示す場合、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化の解除を指示し、
    前記演算回路における前記緊急割り込み処理の完了に応じて、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示する請求項11に記載のデータ処理装置におけるバスアクセス制御方法。
  14. 前記演算回路は、前記例外発生通知信号に基づきセット信号を出力する割り込み受付制御部と、前記演算回路において実行中のタスクの動作ステータスを格納する動作ステータスレジスタと、を有し、
    前記バス無効化制御回路は、前記セット信号に基づき前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示し、前記動作ステータスが前記例外処理の実行を示すものである場合に前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化の解除を指示する請求項10に記載のデータ処理装置におけるバスアクセス制御方法。
  15. 前記内部バス接続回路は、前記演算回路から前記内部バスへのアクセスを無効化する期間の間、前記演算回路の前記内部バスに対するアクセスに応じて疑似的に前記演算回路に応答を返信するダミー応答回路を有する請求項10乃至14のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。
  16. 前記例外通知制御回路は、前記少なくとも1つの周辺装置のうちいずれかにおいて発生したエラーの種類を格納するエラーフラグ群と、前記エラーフラグ群に格納されたフラグ値の優先度に基づき前記演算回路に前記例外発生通知信号を出力するか否かを判定する優先度判定部と、を有する請求項10乃至15のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。
  17. 前記少なくとも1つの周辺装置のうちいずれかは、所定の機能を有する内蔵周辺装置と、前記内部バスを介した前記内蔵周辺装置へのアクセスを制限することで前記内蔵周辺装置を保護する内蔵周辺装置保護回路とを含み、
    前記内蔵周辺装置保護回路は、前記内蔵周辺装置に対するアクセスにおいて発生したエラーの情報を格納する例外保存部と、前記例外保存部に格納された前記エラーの情報の重要度に応じて前記例外通知制御回路に例外発生信号を通知するか否かを制御する例外設定部とを有する請求項10乃至16のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。
  18. 前記例外処理プログラムが格納された周辺装置は、前記演算回路において行われる処理に用いられる前記例外処理プログラムを格納するプログラム格納部を有する請求項10乃至17のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。
JP2007337549A 2007-12-27 2007-12-27 データ処理装置及びデータ処理装置におけるバスアクセス制御方法 Expired - Fee Related JP5215655B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007337549A JP5215655B2 (ja) 2007-12-27 2007-12-27 データ処理装置及びデータ処理装置におけるバスアクセス制御方法
US12/314,493 US8209565B2 (en) 2007-12-27 2008-12-11 Data processing device and bus access control method therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007337549A JP5215655B2 (ja) 2007-12-27 2007-12-27 データ処理装置及びデータ処理装置におけるバスアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2009157808A JP2009157808A (ja) 2009-07-16
JP5215655B2 true JP5215655B2 (ja) 2013-06-19

Family

ID=40799973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007337549A Expired - Fee Related JP5215655B2 (ja) 2007-12-27 2007-12-27 データ処理装置及びデータ処理装置におけるバスアクセス制御方法

Country Status (2)

Country Link
US (1) US8209565B2 (ja)
JP (1) JP5215655B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131984B2 (en) * 2009-02-12 2012-03-06 Via Technologies, Inc. Pipelined microprocessor with fast conditional branch instructions based on static serializing instruction state
US8914776B2 (en) * 2012-05-17 2014-12-16 Microsoft Corporation Assisting development tools through inserted code statements
US10095637B2 (en) * 2016-09-15 2018-10-09 Advanced Micro Devices, Inc. Speculative retirement of post-lock instructions
JP6726136B2 (ja) * 2017-06-22 2020-07-22 ルネサスエレクトロニクス株式会社 データアクセス装置及びアクセスエラーの通知方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870704A (en) * 1984-10-31 1989-09-26 Flexible Computer Corporation Multicomputer digital processing system
JPH0423049A (ja) * 1990-05-18 1992-01-27 Hitachi Ltd バスサイクル再実行方法
US5596717A (en) * 1995-06-07 1997-01-21 Texas Instruments Incorporated Four state token passing alignment fault state circuit for microprocessor address misalignment fault generation
JPH0991210A (ja) 1995-09-21 1997-04-04 Hitachi Ltd マイクロコンピュータ及びモータ駆動装置
JPH11306131A (ja) * 1998-04-22 1999-11-05 Nec Saitama Ltd バス接続管理回路
JPH11312102A (ja) * 1998-04-27 1999-11-09 Nec Eng Ltd 情報処理装置のリセットシステム
GB2338791B (en) * 1998-06-22 2002-09-18 Advanced Risc Mach Ltd Apparatus and method for testing master logic units within a data processing apparatus
US6272651B1 (en) * 1998-08-17 2001-08-07 Compaq Computer Corp. System and method for improving processor read latency in a system employing error checking and correction
IT1308343B1 (it) * 1999-02-03 2001-12-11 St Microelectronics Srl Procedimento per arbitrare priorita' di interruzione tra periferichein un sistema basato su microprocessore
WO2000051000A1 (fr) * 1999-02-24 2000-08-31 Hitachi, Ltd. Systeme informatique et procede pour gerer les perturbations affectant un systeme informatique
US6694457B2 (en) * 2001-03-06 2004-02-17 Hewlett-Packard Development Company, L.P. System and method for monitoring execution of privileged instructions
JP2003050712A (ja) * 2001-08-06 2003-02-21 Canon Inc マイクロコンピュータ・システム
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US6954819B2 (en) * 2002-01-09 2005-10-11 Storcase Technology, Inc. Peripheral bus switch to maintain continuous peripheral bus interconnect system operation
US7159059B2 (en) * 2002-03-01 2007-01-02 Mcneil Donald H Ultra-modular processor in lattice topology
US7434264B2 (en) * 2003-03-07 2008-10-07 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
GB2406404C (en) 2003-09-26 2011-11-02 Advanced Risc Mach Ltd Data processing apparatus and method for handling corrupted data values
DE102004034862A1 (de) * 2004-07-19 2006-03-16 Siemens Ag Automatisierungssystem und Ein-/Ausgabebaugruppe für dasselbe

Also Published As

Publication number Publication date
US20090172231A1 (en) 2009-07-02
US8209565B2 (en) 2012-06-26
JP2009157808A (ja) 2009-07-16

Similar Documents

Publication Publication Date Title
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
JP5212369B2 (ja) 演算器及び演算器の制御方法
US20120331464A1 (en) Virtual machine system and virtual machine system control method
JP2006510117A (ja) 高信頼性プロセッサ用オンダイ機構
JP2007249323A (ja) マイクロコンピュータ
CN108694094B (zh) 用于处理存储器访问操作的装置和方法
JPH1021074A (ja) 割り込み制御方式、プロセッサ及び計算機システム
JP5215655B2 (ja) データ処理装置及びデータ処理装置におけるバスアクセス制御方法
US20190121689A1 (en) Apparatus and method for increasing resilience to faults
JP3202497B2 (ja) 情報処理装置
JP4893427B2 (ja) マイクロコンピュータシステム
US6889315B2 (en) Processor and method of controlling the same
JP2008090542A (ja) エラー処理方法及び情報処理装置
US10289332B2 (en) Apparatus and method for increasing resilience to faults
JPH09198257A (ja) プログラム実行方法およびこの方法を用いたプログラム実行装置
JP2009230479A (ja) マイクロプロセッサ
CN109358903B (zh) 数据访问设备和访问错误通知方法
US8176301B2 (en) Millicode assist instructions for millicode store access exception checking
WO2007094460A1 (ja) 並列処理装置及び排他制御方法
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
WO2023188905A1 (ja) 情報処理装置、及び情報処理装置の動作制御方法
JP3762608B2 (ja) 計算機とその制御方法
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP2009271597A (ja) プロセッサ
JP2009169515A (ja) コンピュータシステム及びシステム回復装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130301

R150 Certificate of patent or registration of utility model

Ref document number: 5215655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees