図面 (/)

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

出願人 ルネサスエレクトロニクス株式会社
発明者 赤池幸彦鈴木均佐藤純一
出願日 2007年12月27日 (13年6ヶ月経過) 出願番号 2007-337549
公開日 2009年7月16日 (11年11ヶ月経過) 公開番号 2009-157808
状態 特許登録済
技術分野 バス制御
主要キーワード 例外判定 割り込み通知信号 割り込み発生信号 動作モード設定信号 動作権限 ダミー応答 例外コード 割り込みコード
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2009年7月16日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (17)

課題

従来のデータ処理装置では、例外処理時に内部バス無効化解除することができず、例外処理が十分に行えない問題があった。

解決手段

本発明にかかるデータ処理装置は、内部バスを介して接続される周辺装置アクセスを行う演算回路11と、演算回路11から内部バスへのアクセスの有効状態と無効状態とを切り替え内部バス接続回路12と、周辺装置において発生したエラーに基づき演算回路11に例外発生通知信号ERRNを出力する例外通知制御回路19と、例外発生通知信号ERRNの通知に応じて内部バス接続回路12に演算回路11から内部バスへのアクセスの無効化を指示し、演算回路11における例外発生通知信号ERRNに基づいた例外処理の開始に応じて内部バス接続回路12に演算回路11から内部バスへのアクセスの無効化解除を指示するバス無効化制御回路18と、を有する。

概要

背景

マイコン等のデータ処理装置では、複数のタスク時分割切り替えながら実行するマルチタスク処理が行われる。また、データ処理装置では、プログラムに基づきタスクを実行する演算回路と、演算回路とバスを介して接続され、演算回路からの命令に基づき各種処理を行う周辺装置とを有する。この周辺装置は、例えばメモリコプロセッサ等であってデータ処理装置に内蔵されるものと、データ処理装置に対して外付けで設けられる外部周辺装置とがある。このようなデータ処理装置では、実行するタスクあるいは周辺装置において発生したエラー(以下、例外と称す)が発生した場合、バスを無効化してそれ以降に実行されるタスクが不用意に周辺装置にアクセスすることを防止し、例外に起因する不具合の拡大を防止する処理が行われることがある。

このようにバスを無効化する手段を有するデータ処理装置の一例が特許文献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号公報

概要

従来のデータ処理装置では、例外処理時に内部バスの無効化を解除することができず、例外処理が十分に行えない問題があった。本発明にかかるデータ処理装置は、内部バスを介して接続される周辺装置にアクセスを行う演算回路11と、演算回路11から内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路12と、周辺装置において発生したエラーに基づき演算回路11に例外発生通知信号ERRNを出力する例外通知制御回路19と、例外発生通知信号ERRNの通知に応じて内部バス接続回路12に演算回路11から内部バスへのアクセスの無効化を指示し、演算回路11における例外発生通知信号ERRNに基づいた例外処理の開始に応じて内部バス接続回路12に演算回路11から内部バスへのアクセスの無効化解除を指示するバス無効化制御回路18と、を有する。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

内部バスを介して接続される周辺装置アクセスを行う演算回路と、前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替え内部バス接続回路と、前記周辺装置において発生したエラーに基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、前記例外発生通知信号の通知に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化解除を指示するバス無効化制御回路と、を有するデータ処理装置

請求項2

前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化解除を指示するクリア信号を出力する割り込み受付制御部を有する請求項1に記載のデータ処理装置。

請求項3

前記割り込み受付制御部は、前記周辺回路から出力される前記例外処理よりも優先度の高い緊急割り込み処理の発生を通知する緊急割り込み通知信号に応じて前記演算回路内の命令実行部に緊急割り込み要求信号を出力し、前記緊急割り込み要求信号を出力する時点において前記バス無効化制御回路が前記内部バス接続回路にバスアクセスの無効化をしている場合は前記クリア信号出力し、前記命令実行部において前記緊急割り込み処理が完了したことに応じて前記セット信号を出力する請求項2に記載のデータ処理装置。

請求項4

前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力する割り込み受付制御部と、前記演算回路において実行中のタスク権限ステータスを格納する権限ステータスレジスタと、を有し、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示している期間において、前記バス無効化制御回路は、前記権限ステータスが前記例外処理よりも優先度の高い緊急割り込み処理を示す場合、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化の解除を指示し、前記演算回路における前記緊急割り込み処理の完了に応じて、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示する請求項2に記載のデータ処理装置。

請求項5

前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力する割り込み受付制御部と、前記演算回路において実行中のタスクの権限ステータスを格納する権限ステータスレジスタと、を有し、前記バス無効化制御回路は、前記セット信号に基づき前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示し、前記権限ステータスが前記例外処理の実行を示すものである場合に前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化の解除を指示する請求項1に記載のデータ処理装置。

請求項6

前記内部バス接続回路は、前記演算回路から前記内部バスへのアクセスを無効化する期間の間、前記演算回路の前記内部バスに対するアクセスに応じて疑似的に前記演算回路に応答返信するダミー応答回路を有する請求項1乃至5のいずれか1項に記載のデータ処理装置。

請求項7

前記例外通知制御回路は、前記周辺装置において発生したエラーの種類を格納するエラーフラグ群と、前記エラーフラグ群に格納されたフラグ値の優先度に基づき前記演算回路に例外発生通知信号を出力するか否かを判定する優先度判定部と、を有する請求項1乃至6のいずれか1項に記載のデータ処理装置。

請求項8

前記周辺装置は、所定の機能を有する内蔵周辺装置と、前記内部バスを介した前記内蔵周辺装置へのアクセスを制限することで前記内蔵周辺装置を保護する周辺装置保護回路とを含み、前記内蔵周辺装置保護回路は、前記内蔵周辺装置に対するアクセスにおいて発生したエラーの情報を格納する例外保存部と、前記例外保存部に格納された前記エラーの情報の重要度に応じて前記例外通知制御回路に前記例外発生信号を通知するか否かを制御する例外設定部とを有する請求項1乃至7のいずれか1項に記載のデータ処理装置。

請求項9

前記周辺装置は、前記演算回路において行われる処理に用いられるプログラムを格納するプログラム格納部を有し、前記演算回路は、前記例外処理を実行する場合に前記プログラムを参照する請求項1乃至8のいずれか1項に記載のデータ処理装置。

請求項10

内部バスを介して接続される周辺装置にアクセスを行う演算回路と、前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、前記演算回路の動作に応じて前記内部バス接続回路を制御するバス無効化制御回路と、前記周辺装置において発生したアクセス違反に基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、を有するデータ処理装置におけるバスアクセス制御方法であって、前記例外発生通知信号の通知に応じて前記演算回路から前記内部バスへのアクセスを無効化し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記演算回路から前記内部バスへのアクセスの無効化を解除するデータ処理装置におけるバスアクセス制御方法。

請求項11

前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化解除を指示するクリア信号を出力する割り込み受付制御部を有する請求項10に記載のデータ処理装置におけるバスアクセス制御方法。

請求項12

前記割り込み受付制御部は、前記周辺回路から出力される前記例外処理よりも優先度の高い緊急割り込み処理の発生を通知する緊急割り込み通知信号に応じて前記演算回路内の命令実行部に緊急割り込み要求信号を出力し、前記緊急割り込み要求信号を出力する時点において前記バス無効化制御回路が前記内部バス接続回路にバスアクセスの無効化をしている場合は前記クリア信号出力し、前記命令実行部において前記緊急割り込み処理が完了したことに応じて前記セット信号を出力する請求項11に記載のデータ処理装置におけるバスアクセス制御方法。

請求項13

前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力する割り込み受付制御部と、前記演算回路において実行中のタスクの権限ステータスを格納する権限ステータスレジスタと、を有し、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示している期間において、前記バス無効化制御回路は、前記権限ステータスが前記例外処理よりも優先度の高い緊急割り込み処理を示す場合、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化の解除を指示し、前記演算回路における前記緊急割り込み処理の完了に応じて、前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示する請求項11に記載のデータ処理装置におけるバスアクセス制御方法。

請求項14

前記演算回路は、前記例外発生通知信号に基づき前記バス無効化制御回路に前記演算回路から前記内部バスへのアクセスの無効化を指示するセット信号を出力する割り込み受付制御部と、前記演算回路において実行中のタスクの権限ステータスを格納する権限ステータスレジスタと、を有し、前記バス無効化制御回路は、前記セット信号に基づき前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示し、前記権限ステータスが前記例外処理の実行を示すものである場合に前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化の解除を指示する請求項10に記載のデータ処理装置におけるバスアクセス制御方法。

請求項15

前記内部バス接続回路は、前記演算回路から前記内部バスへのアクセスを無効化する期間の間、前記演算回路の前記内部バスに対するアクセスに応じて疑似的に前記演算回路に応答を返信するダミー応答回路を有する請求項10乃至14のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。

請求項16

前記例外通知制御回路は、前記周辺装置において発生したエラーの種類を格納するエラーフラグ群と、前記エラーフラグ群に格納されたフラグ値の優先度に基づき前記演算回路に例外発生通知信号を出力するか否かを判定する優先度判定部と、を有する請求項10乃至15のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。

請求項17

前記周辺装置は、所定の機能を有する内蔵周辺装置と、前記内部バスを介した前記内蔵周辺装置へのアクセスを制限することで前記内蔵周辺装置を保護する周辺装置保護回路とを含み、前記内蔵周辺装置保護回路は、前記内蔵周辺装置に対するアクセスにおいて発生したエラーの情報を格納する例外保存部と、前記例外保存部に格納された前記エラーの情報の重要度に応じて前記例外通知制御回路に前記例外発生信号を通知するか否かを制御する例外設定部とを有する請求項10乃至16のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。

請求項18

前記周辺装置は、前記演算回路において行われる処理に用いられるプログラムを格納するプログラム格納部を有し、前記演算回路は、前記例外処理を実行する場合に前記プログラムを参照する請求項10乃至17のいずれか1項に記載のデータ処理装置におけるバスアクセス制御方法。

技術分野

0001

本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法は、特にプログラムを実行する演算回路周辺装置とを接続する内部バスと、周辺装置で例外が発生した場合に演算回路から内部バスへのアクセス無効化する内部バス接続回路を有するデータ処理装置及びデータ処理装置におけるバスアクセス制御方法に関する。

背景技術

0002

マイコン等のデータ処理装置では、複数のタスク時分割切り替えながら実行するマルチタスク処理が行われる。また、データ処理装置では、プログラムに基づきタスクを実行する演算回路と、演算回路とバスを介して接続され、演算回路からの命令に基づき各種処理を行う周辺装置とを有する。この周辺装置は、例えばメモリコプロセッサ等であってデータ処理装置に内蔵されるものと、データ処理装置に対して外付けで設けられる外部周辺装置とがある。このようなデータ処理装置では、実行するタスクあるいは周辺装置において発生したエラー(以下、例外と称す)が発生した場合、バスを無効化してそれ以降に実行されるタスクが不用意に周辺装置にアクセスすることを防止し、例外に起因する不具合の拡大を防止する処理が行われることがある。

0003

このようにバスを無効化する手段を有するデータ処理装置の一例が特許文献1に開示されている。図16に、特許文献1に記載のデータ処理装置100のブロック図を示す。図16に示すように、データ処理装置100は、コア110、メモリ120、バス130、周辺デバイス140、リセットコントローラ150を有する。また、コア110は、プロセッサ111、キャッシュ112、バスインタフェースユニット113を有している。

0004

そして、データ処理装置100では、プロセッサ111において行われる処理においてメモリ領域としてキャッシュ112を利用する。キャッシュ112ではデータのパリティチェックを行っており、格納されるデータに破損が生じた場合、キャッシュ112は破損信号151を出力する。この破損信号151は、バスインタフェースユニット113とリセットコントローラ150に伝えられる。破損信号151が入力されたバスインタフェースユニット113は、コア110からバス130へのアクセスを無効化して、エラーがメモリ120及び周辺デバイス140に伝搬されるのを防止する。また、リセットコントローラ150は、コア110をリセットする。このような動作により、データ処理装置100では、エラーがメモリ120及び周辺デバイス140に伝搬されるのを防止する。

0005

また、例外の発生に応じて、演算回路と周辺装置との接続を無効化する方法は、特許文献2にも開示されている。さらに、周辺装置において例外が発生した場合に、演算回路の処理を待つことなく、演算回路による周辺装置の制御を停止する方法が特許文献3に開示されている。
特開2005−108222号公報
特開2003−50712号公報
特開平9−91210号公報

発明が解決しようとする課題

0006

しかしながら、データ処理装置において例外が発生した場合、その例外状態からの復帰に際し、演算回路が例外処理プログラムに基づき例外処理を行うことがある。この例外処理では、データ処理装置のリセット処理に限らず実行済みタスクの廃棄等の処理を行うこともある。また、例外処理プログラムは、プログラム容量が大きいため、演算回路とバスで接続されたメモリ領域に格納される。

0007

このような場合、特許文献1に記載のデータ処理装置100では、例外の発生により演算回路からバスへのアクセスが無効化されるため、演算回路が例外処理プログラムをメモリから読み出すことができない。データ処理装置100では、リセット動作によって例外発生状態からシステムを復帰させる。しかし、リセット動作は復帰にかかる時間が長くシステムの処理能力を低下させる問題がある。これに対して、例外処理プログラムによりデータ処理装置を例外発生状態から復帰させた場合、リセット動作よりも柔軟なシステムの復帰を行うことができ、システムの復帰にかかる時間を短縮することができる。つまり、データ処理装置100では、バスの無効化により、異常状態の伝搬を防止できても、例外処理プログラムによる柔軟性の高い例外状態からの復帰処理を行うことができないため、システムの処理能力が低下する問題がある。

課題を解決するための手段

0008

本発明の一態様は、内部バスを介して接続される周辺装置にアクセスを行う演算回路と、前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、前記周辺装置において発生したエラーに基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、前記例外発生通知信号の通知に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化を指示し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記内部バス接続回路に前記演算回路から前記内部バスへのアクセスの無効化解除を指示するバス無効化制御回路と、を有するデータ処理装置である。

0009

また、本発明の別の態様は、内部バスを介して接続される周辺装置にアクセスを行う演算回路と、前記演算回路と前記内部バスとの間に配置され、前記演算回路から前記内部バスへのアクセスの有効状態と無効状態とを切り替える内部バス接続回路と、前記演算回路の動作に応じて前記内部バス接続回路を制御するバス無効化制御回路と、前記周辺装置において発生したアクセス違反に基づき前記演算回路に例外発生通知信号を出力する例外通知制御回路と、を有するデータ処理装置におけるバスアクセス制御方法であって、前記例外発生通知信号の通知に応じて前記演算回路から前記内部バスへのアクセスを無効化し、前記演算回路における前記例外発生通知信号に基づいた例外処理の開始に応じて前記演算回路から前記内部バスへのアクセスの無効化を解除するデータ処理装置におけるバスアクセス制御方法である。

0010

本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法によれば、周辺装置における例外発生に基づき演算回路と内部バスとの接続を無効化し、演算回路における例外処理の開始に応じて演算回路と内部バスとの接続の無効化を解除する。これにより、演算回路は、例外処理において内部バスを介して接続されるメモリ領域から例外プログラムを読み出すことが可能になる。また、演算回路は、例外処理時に周辺装置にアクセスすることが可能になる。つまり、本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法によれば、例外発生時には内部バスを無効化して異常状態の伝搬を防止し、例外処理時に内部バスを利用した柔軟性の高い例外状態からの復帰処理を行うことができる。

発明の効果

0011

本発明にかかるデータ処理装置及びデータ処理装置におけるバスアクセス制御方法によれば、例外発生時におけるシステムの信頼性の向上と、例外処理時における柔軟性の高い復帰処理とを実現することができる。

発明を実施するための最良の形態

0012

実施の形態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を含むものとする。

0013

CPU11は、プログラムに基づいて各種タスクを実行し、データ処理装置1において主な情報処理を行う。また、CPU11は、周辺装置と内部バスを介して接続される。CPU11は、命令実行部21、割り込み受付制御部22を有する。

0014

命令実行部21は、内部バス接続回路12及び内部バスを介して内臓ROM13、内臓RAM14あるいは外部インタフェース15を介して接続される外部周辺装置30からプログラムを読み出し(この読み出し動作フェッチ動作と称す)て、プログラムに基づきタスクを実行する。また、命令実行部21は、実行したタスクの内容に基づき内部バス接続回路12及び内部バスを介して周辺装置へのアクセスを行う。なお、本実施の形態では、命令実行部21は、実行する命令を予めフェッチするプリフェッチ動作を行うものとする。なお、1つのタスクは、通常複数の命令により構成される。また、命令実行部21において実行される例外処理は、割り込み受付制御部22が出力する割り込み要求信号ERRQに基づき実行されるものとする。そして、命令実行部21は、例外処理の開始にあわせて例外処理開始信号ERRSを出力する。

0015

割り込み受付制御部22は、例外通知制御回路19から出力される例外発生通知信号ERRNに基づきバス無効化制御回路18にセット信号SE1を出力するとともに、命令実行部21に割り込み要求信号ERRQを出力する。また、割り込み受付制御部22は、命令実行部21が割り込み要求信号ERRQに基づき例外処理を開始したことを通知する例外処理開始信号ERRSを受信するとバス無効化制御回路18にクリア信号CL1を出力する。

0016

内部バス接続回路12は、CPU11と内部バスとの間に設けられる。そして、内部バス接続回路12は、CPU11から内部バスへのアクセスの有効状態と無効状態を切り替える。この切り替え動作はバス無効化制御回路18から出力される有効化信号EN及び無効化信号DENに基づき行われる。より具体的には、有効化信号ENが入力されている間は、内部バス接続回路12は、CPU11から内部バスへのアクセスを許可し、CPU11は内部バスへのアクセスを無制限に行うことができる。一方、無効化信号DENが入力されている間は、内部バス接続回路12は、CPU11から内部バスへのアクセスを遮断し、CPU11は内部バスへのアクセスを行うことができない。

0017

内臓ROM13は、記憶領域の1つであって、CPU11において用いられるプログラムを格納する。本実施の形態では、内臓ROM13は、例外ハンドラ領域を有し、CPU11は例外処理の開始時にこの例外ハンドラ領域を参照するものとする。例外ハンドラ領域には、例外処理のメインルーチンに関するプログラムがある分岐先を示す情報が格納されているものとする。内蔵RAM14は、記憶領域の1つであって、CPU11において用いられるプログラム及びCPU11において実行される演算中間情報を格納する。

0018

外部インタフェース15は、データ処理装置1の外部に設けられる外部周辺装置30とのインタフェース回路である。外部インタフェース15は、例えば、データ処理装置1が外部周辺装置30にアクセスを行う場合におけるデータフォーマットの変換を行う機能を有する場合がある。周辺装置保護回路16は、内臓周辺装置17と内部バスとの間に設けられる。周辺装置保護回路16は、CPU11で実行されるタスク毎に内臓周辺装置17に対する保護範囲が設定される。そして、周辺装置保護回路16は、CPU11から内臓周辺装置17にアクセスがあった場合に、そのアクセスが保護範囲内にあるか否かを判断し、アクセスが保護範囲に該当する場合はそのアクセスを遮断する。内臓周辺装置16は、例えばコプロセッサ、タイマ、リセットコントローラ等のCPU11によって用いられる周辺機能を備える。これら周辺機能は、個別のブロックとして実装されていても、1つの機能ブロックとして実装されていても良い。

0019

バス無効化制御回路18は、例外発生通知信号ERRNの通知に応じて内部バス接続回路12にCPU11から内部バスへのアクセスの無効化を指示し、CPU11における例外発生通知信号ERRNに基づいた例外処理の開始に応じて内部バス接続回路12にCPU11から内部バスへのアクセスの無効化解除を指示する。より具体的には、バス無効化制御回路18は、例外発生通知信号ERRNに基づきCPU11から出力されるセット信号SE1に基づき内部バス接続回路12に有効化信号ENを出力し、内部バス接続回路12にCPU11から内部バスへのアクセスの無効化を指示する。また、バス無効化制御回路18は、CPU11における例外処理の開始に応じてCPU11から出力されるクリア信号CL1に基づき内部バス接続回路12に無効化信号DENを出力し、内部バス接続回路12にCPU11から内部バスへのアクセスの無効化の解除を指示する。

0020

例外通知制御回路19は、周辺装置のそれぞれから例外発生信号ERRを受信し、CPU11に例外発生通知信号ERRNを出力する。この例外発生通知信号ERRNには、例外発生信号ERRを出力した周辺装置の情報と、その周辺装置で発生した例外の種類を示す例外コードが含まれるものとする。

0021

本実施の形態にかかるデータ処理装置1では、周辺装置において例外が発生した場合に、例外処理プログラムを実行して、システムを例外状態から復帰させる。そこで、データ処理装置1のCPU11において行われる復帰処理について説明する。CPU11で行われる復帰処理のフローチャート図2に示す。以下、図2を参照して復帰処理について説明する。なお、以下で説明する復帰処理は、例外処理の一例であって、復帰処理は例外処理プログラムの設計方法又はシステムのアーキテクチャに応じて適宜変更することが可能である。

0022

データ処理装置1では、周辺装置において例外が発生すると、例外通知制御回路19によって例外発生通知信号ERRNが出力され割り込み受付制御部22が割り込み要求信号ERRQを出力する。このとき、命令実行部21において例外処理を受付可能が否かを判断する(ステップS1)。命令実行部21では、投機的に実行された命令がある場合、例外処理の受付をすでに投機的に実行された命令の処理が完了した後に行う。そのため、投機的に実行された命令がある場合、ステップS1のNoの枝に進み、例外処理は受付されるまで待機させられる。一方、投機的に実行された命令がない場合、ステップS1のYesの枝に進み例外処理が開始される。

0023

そして、ステップS2において、それまで実行していたタスクの情報を退避させる。具体的には、退避用PC(プログラムカウンタレジスタにそれまで実行されていたタスクのプログラムのプログラムカウンタを戻り先PCとして保存する。また、実行されていたタスクの実行状態を示すプログラムステータスワードPSWを退避用PSWレジスタに格納する。さらに、割り込み要求信号ERRQとともに通知される例外コードを例外コードレジスタに格納する。このとき、命令実行部21は、処理開始信号ERRSを出力する。なお、データ処理装置1では、例外発生通知信号ERRNが例外通知制御回路19によって出力されてから処理開始信号ERRSが出力されるまでの間、内部バス接続回路12によってCPU11から内部バスへのアクセスは無効化される。つまり、ステップS1〜ステップS2が完了するまでの間、CPU11から内部バスへのアクセスは無効化される。そして、ステップS2が完了すると、クリア信号CL1が割り込み受付制御部22からバス無効化制御回路18に出力されるため、内部バスへのアクセスの無効化は解除される。

0024

次に、命令実行部21は、無効化が解除された内部バス接続回路12と内部バスを介して内臓ROM12の例外ハンドラ領域にアクセスを行い、プログラムカウンタPCに例外ハンドラアドレスをセットする(ステップS3)。そして、例外ハンドラアドレスに格納されたプログラムに基づき例外処理のメインルーチンのプログラムを読み出す。これによって、命令実行部21は、実行するタスクを例外処理のメインルーチンに分岐させる(ステップS4)。例外処理のメインルーチンでは、まず例外コードに基づき例外要因の判定を行う(ステップS5)。本実施の形態では、例外の重要度に応じて処理A〜処理Cの3つの処理を行うものとする。

0025

処理Aは、軽微な例外が発生した場合の処理であって、タスクの廃棄等の処理を行うことなく、それまで実行されていたタスクを継続して実行する。例えば、コプロセッサにおける演算において計算結果で丸めが発生してしまったが、その演算結果でその後の処理を続けても問題ない場合である。処理Aでは、まず例外コードや例外が発生した周辺装置に保存されるエラー情報を参照し、その処理結果が問題ないことを確認し、タスクの再実行手続きを行う(ステップS6)。その後、命令実行部21は、復帰命令を実行する(ステップS7)。そして、プログラムカウンタPCに、ステップS2で退避させたプログラムカウンタPCの値を書き戻す。また、プログラムステータスワードPSWにもステップS2で退避させプログラムステータスワードPSWの値を書き戻す(ステップS8)。その後、命令実行部21は、プログラムカウンタPCとプログラムステータスワードPSWの値に基づき元の実行タスクに処理をジャンプさせる(ステップS9)。

0026

処理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)。

0027

処理Cは、重大な例外が発生した場合に行われる処理であって、システムのリセットを行う。例えば、実行されていたタスクにおいて、内臓RAMの情報の誤書き込みが発生し、その誤りを訂正できない場合などに行われる。処理Cでは、まずエラー情報を保存する(ステップS16)。その後、システムのリセット動作を行いデータ処理装置1を再起動する(ステップS17)。

0028

続いて、図3にデータ処理装置1の動作を示すタイミングチャートを示す。以下、図3を参照してデータ処理装置1における内部バスの無効化と無効化の解除の動作について説明する。図3に示す例では、最も権限レベルの低いユーザー権限タスクとしてユーザータスク1、2が実行され、ユーザー権限よりも高い権限を有する特権レベルのうち低レベル側のレベル1でOSに関するタスクが処理され、特権レベルのうち高レベル側のレベル2で例外処理が行われるものとする。また、ユーザータスクは、タスクの処理単位を命令で示した。また、図3において周辺のラベルで示されるアクセス対象装置は内蔵周辺装置17であって、ROMのラベルは内臓ROM13であって、RAMのラベルは内臓RAM14である。なお、図3に示す例では命令の処理サイクルでタイミングを示しており、命令実行部21は1つの処理サイクルで命令の実行と命令のプリフェッチの動作を行うものとする。また、図3に示す例は、図2に示す処理Bが発生した場合を示すものである。

0029

図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から内部バスへのアクセスを無効化する。

0030

命令実行部21は命令2の終了と同時に割り込み要求信号ERRQを受信するが、すでに命令3、4が投機的に実行されているため、割り込み要求信号ERRQに基づく例外処理は命令4が完了するまで待機させられる。また、命令実行部21は命令4に続く命令の実行を割り込み要求信号ERRQの受信に基づき停止する。命令3は内部周辺装置17に対するアクセスであり、命令4は内臓RAM14に対するアクセスである。しかし、命令3、4の実行時において、CPU11から内部バスへのアクセスが無効化されているため、このアクセスは内部バスに出力されることなく内部バス接続回路12によって遮断される。

0031

そして、命令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が順次実行される。

0032

上記説明より、データ処理装置1は、周辺装置における例外発生に応じてCPU11から内部バスへのアクセスを無効化する。これにより、CPU11で投機的に実行されている命令による被害の拡大を防止することができる。つまり、データ処理装置1では、内部バスの無効化によって、例外が発生した命令に続いて投機的に実行される命令による内部バスへのアクセスが発生しても、被害を拡大させることがない。従って、データ処理装置1では、投機的な命令の実行を例外の発生を気にすることなく行うことができる。そのため、データ処理装置1は、処理性能を容易に高めるとともに、例外処理に対する信頼性を高めることができる。

0033

さらに、データ処理装置1は、例外処理の開始に応じて、一度無効化したCPU11から内部バスへのアクセスの無効化を解除する。これにより、内部バスを介してCPU11と接続される記憶領域に格納される例外処理プログラムを読み出し、例外処理を実行することができる。従って、データ処理装置1では、CPU11とは異なる場所に例外処理プログラムを配置することができる。これにより、CPU11に内蔵できないほど容量が大きな例外処理プログラムによって例外処理を行うことができる。このような処理を行うことでデータ処理装置1では、リセット動作よりも柔軟性が高く複雑な例外処理を行うことが可能になる。また、例外処理プログラムにより、軽微な例外であればタスクの続行、あるいは、タスクの廃棄及び新たなタスクの実行するなど、リセット以外の復帰動作を行うことができる。リセット動作は、処理の時間が長くデータ処理装置の処理性能を低下させるが、リセット動作を行わない復帰方法では処理性能の低下はほとんど発生しない。

0034

なお、データ処理装置1は、各種の変形を行うことができる。その一例としてデータ処理装置1の変形例となるデータ処理装置1aのブロック図を図4に示す。図4に示すように、データ処理装置1aは、CPU11内に動作ステータスレジスタ23を有する。動作ステータスレジスタ23は、命令実行部21が実行中のタスクの動作権限の種類を示す値を格納する。そのため、命令実行部21は、動作モード設定信号MS1を出力し、動作ステータスレジスタ23に実行中のタスクの種類を示す値を書き込む。データ処理装置1aでは、クリア信号CL2として、動作ステータスレジスタ23に格納される値を利用する。なお、データ処理装置1は、割り込み受付制御部22に替えて、セット信号SE1飲みを出力する割り込み受付制御部22aを有する。

0035

データ処理装置1aで用いられるバス無効化制御回路18aは、クリア信号CL2が例外処理のタスクの動作権限である特権モードを示す場合に、無効化信号DENの出力を停止して、有効化信号ENを出力する。

0036

データ処理装置1aは、クリア信号の出力方法の変形例を示すものである。つまり、バス無効化制御回路に対するクリア信号は、例外処理の開始に同期して出力される信号であれば良い。

0037

実施の形態2
実施の形態2にかかるデータ処理装置2のブロック図を図5に示す。データ処理装置2は、処理優先度が最も高い緊急割り込み処理が発生した場合に対応するものである。データ処理装置2は、データ処理装置1に加えて緊急割り込み通知制御回路20が追加される。また、データ処理装置2は、割り込み受付制御部22に替えて割り込み受付制御部24を有する。

0038

緊急割り込み処理は、例えば、エアバッグ制御などであって、不定期に発生し、かつ、最も優先させて処理させなければならい処理である。実施の形態2で示す例では、緊急割り込み処理は、例えば、外部インタフェース回路15又は周辺装置保護回路16に接続される周辺装置から出力される緊急割り込み発生信号EMに基づき行われる。なお、緊急割り込み発生信号EMは、命令実行部21において実行されている命令に基づき発生するものでも良い。

0039

緊急割り込み通知制御回路20は、外部インタフェース回路15、周辺装置保護回路16又は命令実行部21から出力される緊急割り込み発生信号EMを受信する。そして、緊急割り込み通知制御回路20は、緊急割り込み発生信号EMに基づき緊急割り込み処理の種類を示す緊急割り込みコードと共に緊急割り込み通知信号EMNを出力する。

0040

割り込み受付制御部24は、緊急割り込み通知信号EMNに基づき緊急割り込み要求信号EMRQを出力する。また、例外発生通知信号ERRN及び緊急割り込み処理完了信号EME及び通知信号EMNに基づきセット信号SE3を出力し、例外処理開始信号ERRS及び緊急割り込み処理開始信号ENSに基づきクリア信号CL3を出力する。ここで、セット信号SE3及びクリア信号CL3は、実施の形態1におけるセット信号SE1及びクリア信号CL1に対応するものである。

0041

割り込み受付制御部24の動作についてさらに詳しく説明する。割り込み受付制御部24は、クリア信号CL3を出力している期間(内部バス接続回路12がCPU11から内部バスへのアクセスを有効にしている期間)に緊急割り込み処理開始信号EMSが入力された場合、セット信号SE3及びクリア信号CL3の状態を維持する。また、この期間に割り込み処理完了信号EMEが入力された場合もセット信号SE3及びクリア信号CL3の状態を維持する。一方、割り込み受付制御部24は、セット信号SE3を出力している期間(内部バス接続回路12がCPU11から内部バスへのアクセスを無効化している期間)に緊急割り込み処理開始信号EMSが入力された場合、セット信号SE3の出力を停止してクリア信号CL3を出力する。また、また、この期間に割り込み処理完了信号EMEが入力された場合、クリア信号CL3を停止してセット信号SE3を出力する。

0042

ここで、データ処理装置2の動作の一例を示すタイミングチャートを図6に示す。図6に示す例は、例外が発生することなく緊急割り込み処理が発生するものである。なお、以下の説明では、緊急割り込み処理は、OS処理及び例外処理よりも権限レベルが高いレベル3の特権レベルで実行されるものとする。

0043

図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とする。

0044

また、データ処理装置2の動作の別の例を示すタイミングチャートを図7に示す。図7に示す例は、例外の発生に起因して内部バスが無効化されている状態で緊急割り込み処理が発生するものである。

0045

図7に示す例では、まず、ユーザータスク1として実行される命令1において例外が発生する。命令1は、内蔵周辺装置17に対するアクセスを行うが、このアクセスは不正なものであるとして周辺装置保護回路16により例外発生信号ERRが出力される。この例外発生信号ERRを受けた例外通知制御回路19は例外発生通知信号ERRNを出力する。そして、例外発生通知信号ERRNを受信した割り込み受付制御部24は割り込み要求信号ERRQを命令実行部21に出力する。また、割り込み受付制御部24は例外発生通知信号ERRNに基づきセット信号SE3をバス無効化制御回路18に出力する。そして、セット信号SE3を受信したバス無効化制御回路18は内部バス接続回路12に無効化信号DENを出力し、内部バス接続回路12はCPU11から内部バスへのアクセスを無効化する。

0046

命令実行部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から内部バスへのアクセスの無効化を解除する。

0047

緊急割り込み処理の開始に応じて内部バスの無効化が解除されるため、命令実行部21は、内部バスに無制限にアクセスを行いながら緊急割り込み処理実行する。その後、命令実行部21において緊急割り込み処理が完了すると、命令実行部21は緊急割り込み処理完了信号EMEを出力する。そして、割り込み受付制御部24は、緊急割り込み処理完了信号EMEに基づきセット信号SE3を出力する。これにより、バス無効化制御回路18は、無効化信号DENを出力し、内部バス接続回路12はCPU11から内部バスへのアクセスを無効化する。その後、命令実行部21は、実行するタスクを緊急割り込み処理からユーザータスク1の命令4に戻す。

0048

続いて、命令4が命令実行部21において実行されるが、このとき、CPU11から内部バスへのアクセスが無効化されているため、このアクセスは内部バスに出力されることなく内部バス接続回路12によって遮断される。そして、命令4の処理が完了すると命令実行部21は、例外処理を開始する。この例外処理以降の動作は、図3に示したものと実質的に同じになるため、ここでは説明を省略する。

0049

以上の説明より、データ処理装置2では、内部バスが無効化されている状態において緊急割り込み処理が発生した場合、緊急割り込み処理が行われている期間においてのみ内部バスの無効化を解除する。データ処理装置2で行われる内部バスの無効化解除手段がない場合、緊急割り込み処理において内部バスを利用することができず、緊急割り込み処理を正しく行えない場合がある。しかしながら、実施の形態2にかかるデータ処理装置2では、命令実行部21が内部バスに対して無制限にアクセスを行いながら緊急割り込み処理を実行することができる。また、このようにハードウェアによる内部バスの無効化解除手段を実装することで、緊急割り込み処理のプログラム作成時に内部バスの状態を考慮する必要がない。つまり、実施の形態2にかかるデータ処理装置2によれば、緊急割り込み処理のプログラム作成が容易になる効果もある。

0050

なお、実施の形態2においても、実施の形態1のように動作ステータスレジスタを用いた変形例を考えることが可能である。実施の形態2にかかるデータ処理装置2に対する変形例を示すデータ処理装置2aのブロック図を図8に示す。図8に示すように、データ処理装置2aは、CPU11内に動作ステータスレジスタ25を有する。動作ステータスレジスタ25は、命令実行部21が実行中のタスクの動作権限の種類を示す値を格納する。そのため、命令実行部21は、動作モード設定信号MS2を出力し、動作ステータスレジスタ25に実行中のタスクの種類を示す値を書き込む。データ処理装置2aでは、クリア信号CL4として、動作ステータスレジスタ25に格納される値を利用する。なお、データ処理装置1は、割り込み受付制御部24に替えて、セット信号SE1のみを出力する割り込み受付制御部24aを有する。

0051

データ処理装置2aで用いられるバス無効化制御回路18bは、クリア信号CL4が例外処理のタスク及び緊急割り込み処理の動作権限である特権モードを示す場合、無効化信号DENの出力を停止して、有効化信号ENを出力する。また、データ処理装置2aでは、命令実行部21において緊急割り込み処理が完了した場合に、命令実行部21がセット信号SE4を内部バスを介してバス無効化制御回路18bに通知する。そして、バス無効化制御回路18bは、クリア信号CL4によって内部バスの無効化が解除された後にセット信号SE4が入力されると無効化信号DENを出力する。

0052

データ処理装置2aは、セット信号及びクリア信号の出力方法の変形例を示すものである。つまり、バス無効化制御回路に対するセット信号及びクリア信号は、例外処理の開始に同期して出力され、かつ、緊急割り込み処理の実行中にのみ無効化を解除できる信号であれば良い。

0053

実施の形態3
実施の形態3にかかるデータ処理装置3のブロック図を図9に示す。データ処理装置3は、実施の形態1にかかるデータ処理装置1の変形例を示すものである。データ処理装置3では、内部バス接続回路12に替えて内部バス接続回路12aを有する。内部バス接続回路12aは内部バス接続回路12の機能に加え、ダミー応答回路40を有する。

0054

ダミー応答回路40は、内部バス接続回路12aがCPU11から内部バスへのアクセスを無効化している期間に、CPU11が内部バスへのアクセスを行った場合に、疑似的にバスアクセス完了信号(以下、ダミー応答と称す)をCPU11に返信する。ここで、ダミー応答回路40の動作を説明するためにデータ処理装置3の動作を示すタイミングチャートを図10に示す。図10に示す例は、図3で示したデータ処理装置1のタイミングチャートにダミー応答回路40の動作を加えたものである。

0055

図10に示すように、ダミー応答は、内部バスが無効化されている期間に、CPU11からアクセスがあった場合に発生する。図10に示す例では、内部バスが無効化されている期間に命令3、4が内部バスに対してアクセスを行う。そして、この命令3、4のアクセスに応答するようにダミー応答が返信される。

0056

CPU11において実行されるタスクの中には、バスアクセスの完了を確認しなければ終了しないタスクがある。このようなタスクがある場合において、単に内部バスを無効化すると、バスアクセスが完了しないため、そのタスクがいつまでも完了しない。このような場合、待機させられている例外処理がいつまでも行われない場合がある。しかし、データ処理装置3のように、ダミー応答を行うことで、バスアクセスの完了を確認しなければ終了しないタスクがある場合であっても、内部バスを無効化してもその後にダミー応答を返信することでこのようなタスクを完了させることができる。

0057

実施の形態4
実施の形態4にかかるデータ処理装置4のブロック図を図11に示す。データ処理装置4は、実施の形態1にかかるデータ処理装置1の変形例を示すものである。データ処理装置4では、例外通知制御回路19に替えて例外通知制御回路19aを有する。例外通知制御回路19aはエラーフラグ群を有し、エラーフラグ群に周辺装置で発生した例外の種類を格納する。また、例外通知制御回路19aはエラーフラグ群に格納された例外の種類に応じて例外発生通知信号ERRN及び例外コード信号ECを出力するか否かを制御する。

0058

ここで、図12に例外通知制御回路19aのブロック図を示す。図12に示すように、例外通知制御回路19aは、エラーフラグ群51及び例外判定部52を有する。エラーフラグ群51は、複数のエラーフラグ(図12の例ではエラーフラグ51a〜51d)を有する。エラーフラグ51a〜51dは、例外発生信号ERRを出力する周辺装置のそれぞれに対応して設けられる。また、エラーフラグ51a〜51dは、例外の種類を個別に格納するレジスタを複数有しているものとする。

0059

例外判定部52は、通知設定部53a〜53d及び優先度判定部54を有する。通知設定部53a〜53dは、エラーフラグ51a〜51dに対応して設けられている。そして、通知設定部53a〜53dは、エラーフラグに格納される例外の種類のうち例外として通知を行う例外の種類についての設定を行う。この設定に基づき通知設定部53a〜53dは、発生した例外のうち通知設定がされた例外のみを後段の優先度判定部54に出力する。優先度判定部54は、通知された例外のうちより高い優先度の例外に関して例外発生通知信号ERRNを通知し、さらに、これに合わせて通知する例外に関連した例外コード信号ECを出力する。

0060

続いて、例外通知制御回路19aを用いた場合のデータ処理装置4の動作について説明する。図13に、データ処理装置4の動作を示すタイミングチャートを示す。図13に示す例は、図3に示したデータ処理装置1の動作に対して、例外処理通知制御回路19aに関する動作を適用したものである。図13に示すように、例外処理通知制御回路19aを用いることで、命令実行部21は、例外処理においてエラーフラグを参照した例外処理を行う。また、例外処理が完了する時点で参照したエラーフラグの情報をクリアする。

0061

また、例外通知制御回路19aを用いた場合のデータ処理装置4の動作の別の例について説明する。図14に、データ処理装置4の動作の別の例を示すタイミングチャートを示す。図14に示す例は、図13に示したデータ処理装置4の例外処理の途中でさらに優先度の高い例外処理が発生するものである。図14に示すように、高い優先度の例外処理が発生した場合、データ処理装置はセット信号SE1により内部バスを無効化し、逓優先度の例外処理における内部バスへのアクセスを防止する。そして、高優先度例外処理の開始に応じてクリア信号CL1を用いて内部バスの無効化を解除する。これにより、高優先度例外処理は、内部バスのアクセス制限を受けることなく実行される。また、この高優先度例外処理においてもエラーフラグを参照することが可能である。高優先度例外処理では、データ処理装置4の復旧はリセット動作により行われる。

0062

このように、エラーフラグの情報を参照して例外処理を行うことで、発生した例外の種類に応じたより的確な例外処理を行うことが可能になる。また、通知設定部53a〜53dによって軽微な例外に関しては例外発生通知信号ERRNを出力しない構成とした場合、重大な例外に対する例外処理において軽微な例外に関する情報を参照することもできる。さらに、軽微な例外に関しては通知を行わないことで、例外処理の頻度を少なくしてデータ処理装置4の処理性能を向上させることができる。

0063

実施の形態5
実施の形態5にかかるデータ処理装置5のブロック図を図15に示す。データ処理装置5は、実施の形態1にかかるデータ処理装置1の変形例を示すものである。データ処理装置5では、周辺装置保護回路16に替えて周辺装置保護回路16aを有する。周辺装置保護回路16aは、周辺装置保護回路16に加えて例外保存部61及び例外設定部62を有する。例外保存部61は、周辺装置保護回路16aにおいて発生した例外を保存する。例外設定部62は、例外保存部61に所定レベル以上の例外が発生した場合にのみ例外発生信号ERRを出力する。例えば、例外設定部62は、軽微な例外については例外発生信号ERRを出力しない設定を行うことができる。

0064

このように、周辺装置保護回路16aにおいて発生した例外を保存し、所定レベル以上の例外についてのみ通知する構成とすることで、データ処理装置1において発生する例外処理の頻度を少なくすることができる。また、発生した例外を保存することで、例外処理等の後の処理で保存した例外を参照した詳細な復帰処理を行うことが可能である。また、例外を保存し、後でこの例外を参照することで、ユーザータスクのデバッグ効率を向上させることができる。

0065

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記説明において例外発生信号ERRや緊急割り込み発生信号EMが出力される状況は、一例を示すものであり、これら信号はデータ処理装置の構成に応じて適宜出力される状況は異なる。

図面の簡単な説明

0066

実施の形態1にかかるデータ処理装置のブロック図である。
実施の形態1にかかるデータ処理装置の動作を示すフローチャートである。
実施の形態1にかかるデータ処理装置の動作を示すタイミングチャートである。
実施の形態1にかかるデータ処理装置の別の例を示すブロック図である。
実施の形態2にかかるデータ処理装置のブロック図である。
実施の形態2にかかるデータ処理装置の動作を示すタイミングチャートである。
実施の形態2にかかるデータ処理装置の動作を示すタイミングチャートである。
実施の形態2にかかるデータ処理装置の別の例を示すブロック図である。
実施の形態3にかかるデータ処理装置のブロック図である。
実施の形態3にかかるデータ処理装置の動作を示すタイミングチャートである。
実施の形態4にかかるデータ処理装置のブロック図である。
実施の形態4にかかる例外通知制御回路を示すブロック図である。
実施の形態4にかかるデータ処理装置の動作を示すタイミングチャートである。
実施の形態4にかかるデータ処理装置の動作を示すタイミングチャートである。
実施の形態5にかかるデータ処理装置のブロック図である。
従来のデータ処理装置のブロック図である。

符号の説明

0067

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 クリア信号

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • マイクロンテクノロジー,インク.の「 共有バス上の複数のデバイスのためのデータ転送技術」が 公開されました。( 2021/04/30)

    【課題】メモリコントローラの効率向上と、異なるメモリ間でのデータ転送の効率向上とを可能にする。【解決手段】本開示の方法は、ターゲットメモリで受信されるデータを記憶するための、該ターゲットメモリ内のアド... 詳細

  • オムロン株式会社の「 メモリ制御装置、および制御方法」が 公開されました。( 2021/04/22)

    【課題】データ受信をより高速化させる。【解決手段】NIC(1)は、他のデバイスから、1つの通信プロトコルにて複数のデータを受信するデータ受信部(17)と、複数の受信データそれぞれに対応する識別子を取得... 詳細

  • トヨタ自動車株式会社の「 中継装置および外部装置」が 公開されました。( 2021/04/08)

    【課題】車載機器のプログラム書き込みや更新を効率的に行う中継装置および外部装置を提供する。【解決手段】中継装置は、車外通信バスから受信したプログラムの書き込みまたは更新用のデータを、受信した順に転送先... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ