JPH01131943A - バスエラー処理システム - Google Patents
バスエラー処理システムInfo
- Publication number
- JPH01131943A JPH01131943A JP63161884A JP16188488A JPH01131943A JP H01131943 A JPH01131943 A JP H01131943A JP 63161884 A JP63161884 A JP 63161884A JP 16188488 A JP16188488 A JP 16188488A JP H01131943 A JPH01131943 A JP H01131943A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- interrupt
- bus error
- request
- exception handling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0745—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
- Bus Control (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はバスサイクル系のエラー(バスエラーを)処理
するシステムに係り、例えば、バスエラーをサポートす
るCPU (セントラル・プロセッシング・ユニット)
と共にDMAC(ダイレクト・メモリ・アクセス・コン
トローラ)のようなその他のバスマスタモジュールを含
むシングルチップマイクロコンピュータにおけるバスエ
ラー処理に適用して有効な技術に関するものである。
するシステムに係り、例えば、バスエラーをサポートす
るCPU (セントラル・プロセッシング・ユニット)
と共にDMAC(ダイレクト・メモリ・アクセス・コン
トローラ)のようなその他のバスマスタモジュールを含
むシングルチップマイクロコンピュータにおけるバスエ
ラー処理に適用して有効な技術に関するものである。
CPUやDMACなどのバスマスタモジュールを内蔵す
るシングルチップマイクロコンピュータにおいて、CP
U以外のバスマスタモジュールが起動するバスサイクル
中にバスエラーが発生したときには、当該バスマスタモ
ジュールがそのバスエラーに応する割込み処理をCPU
に要求することによって対処することができる。
るシングルチップマイクロコンピュータにおいて、CP
U以外のバスマスタモジュールが起動するバスサイクル
中にバスエラーが発生したときには、当該バスマスタモ
ジュールがそのバスエラーに応する割込み処理をCPU
に要求することによって対処することができる。
ここで、バスエラーは、実際に周辺回路などがマツピン
グされていないアドレス領域がアクセスされたとき、ま
た、スーパーバイザ状態が設定されているメモリ領域や
周辺装置に対してユーザ状態のアクセスが行われるよう
なときに生ずる。
グされていないアドレス領域がアクセスされたとき、ま
た、スーパーバイザ状態が設定されているメモリ領域や
周辺装置に対してユーザ状態のアクセスが行われるよう
なときに生ずる。
従来、CPU以外のバスマスタモジュールに起因するバ
スエラーの対処は、例えば、1985年12月発行rs
ignetics、 S CC68070、objec
tive 5pecificationJのPLOに記
載のように、CPUに対する割込み処理で行われていた
。
スエラーの対処は、例えば、1985年12月発行rs
ignetics、 S CC68070、objec
tive 5pecificationJのPLOに記
載のように、CPUに対する割込み処理で行われていた
。
例えばDMACのバスサイクル中にバスエラーが発生し
たとき、DMACはそのバスエラーを検出すると、ダイ
レクト・メモリ・アクセス動作を終了してバスエラース
テータスをセットし、その後バス使用権をリリースして
割込みコントローラに割込み信号を与える。割込みコン
トローラは、割込み優先順位や割込みマスク情報に従っ
て許容される範囲でCPUにバスエラー処理のための割
込み要求を与える。これによってCPUは、所定の割込
み応答サイクルに従ってDMACのバスエラーステータ
スを確認してからバスエラー処理固有のサービスプログ
ラムを実行する。
たとき、DMACはそのバスエラーを検出すると、ダイ
レクト・メモリ・アクセス動作を終了してバスエラース
テータスをセットし、その後バス使用権をリリースして
割込みコントローラに割込み信号を与える。割込みコン
トローラは、割込み優先順位や割込みマスク情報に従っ
て許容される範囲でCPUにバスエラー処理のための割
込み要求を与える。これによってCPUは、所定の割込
み応答サイクルに従ってDMACのバスエラーステータ
スを確認してからバスエラー処理固有のサービスプログ
ラムを実行する。
ところで、一般に割込み要因は複数種類あり、各種割込
みにはその要因の重要性に応じて予め優先順位が設定さ
れている。このため、バスエラー固有の割込みよりも優
先順位の高い割込みが先に受付けられもしくはそのよう
な別の割込み要求と競合する場合には、バスエラーに対
する割込み処理は拒絶されて後まわしにされる。仮に、
バスエラーをマスク不可能な割込み要因にしておいても
、その他の要因に割り当てられたマスク不可能な割込み
や例外処理が先に受付けられていたりすると、先に受付
けられた処理の優先度以下の割込み要求は受付は拒絶さ
れる結果、同様にバスエラーに対する割込み処理が行わ
れない場合がある。このため、CPU以外のバスマスタ
モジュールにおけるバスエラーを、CPUに対する割込
みで対処すると、DMACなどのバスサイクルがシステ
ム動作上CPUのバスサイクルと同等の重要性を持つよ
うな場合にはシステム動作の信頼性が著しく低下する虞
のあることが本発明者によって明らかにされた。
みにはその要因の重要性に応じて予め優先順位が設定さ
れている。このため、バスエラー固有の割込みよりも優
先順位の高い割込みが先に受付けられもしくはそのよう
な別の割込み要求と競合する場合には、バスエラーに対
する割込み処理は拒絶されて後まわしにされる。仮に、
バスエラーをマスク不可能な割込み要因にしておいても
、その他の要因に割り当てられたマスク不可能な割込み
や例外処理が先に受付けられていたりすると、先に受付
けられた処理の優先度以下の割込み要求は受付は拒絶さ
れる結果、同様にバスエラーに対する割込み処理が行わ
れない場合がある。このため、CPU以外のバスマスタ
モジュールにおけるバスエラーを、CPUに対する割込
みで対処すると、DMACなどのバスサイクルがシステ
ム動作上CPUのバスサイクルと同等の重要性を持つよ
うな場合にはシステム動作の信頼性が著しく低下する虞
のあることが本発明者によって明らかにされた。
しかも、たとえバスエラーに対する割込み要求がCPU
に受付けられても、バスエラー処理のためのサービスプ
ログラムを実行開始するまでには。
に受付けられても、バスエラー処理のためのサービスプ
ログラムを実行開始するまでには。
割込み要因や優先レベルの判定、さらにはバスエラーに
対する割込み要求の優先レベル以下とされる他の割込み
要求をその後拒絶するために割込みマスクビットの設定
変更を行わなければならず、そのサービスプログラムの
実質的な実行開始までに無視し得ない時間を要するとい
う問題がある。
対する割込み要求の優先レベル以下とされる他の割込み
要求をその後拒絶するために割込みマスクビットの設定
変更を行わなければならず、そのサービスプログラムの
実質的な実行開始までに無視し得ない時間を要するとい
う問題がある。
本発明の目的は、セントラル・プロセッシング・ユニッ
ト以外の所定のバスマスタモジュールに起因するバスエ
ラーに対する処理の信頼性を高めることができるバスエ
ラー処理システムを提供することにある。
ト以外の所定のバスマスタモジュールに起因するバスエ
ラーに対する処理の信頼性を高めることができるバスエ
ラー処理システムを提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴は1
本明細書の記述及び添付図面から明らかになるであろう
。
本明細書の記述及び添付図面から明らかになるであろう
。
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
を簡単に説明すれば下記の通りである。
すなわち、セントラル・プロセッシング・ユニット以外
のバスマスタモジュールは、当該バスマスタモジュール
のバスサイクにおけるバスエラーを検出したとき、当該
バスエラー固有の例外処理を上記セントラル・プロセッ
シング・ユニットに要求するようにされ、上記セントラ
ル・プロセッシング・ユニットは、例外処理要求に対し
、割込み要求に対して行われるようなマスクビットの変
更処理を行わずにその例外処理固有のサービスプログラ
ムもしくはサービスプログラムを実行に移すように、バ
スエラー処理システムを構成するものである。
のバスマスタモジュールは、当該バスマスタモジュール
のバスサイクにおけるバスエラーを検出したとき、当該
バスエラー固有の例外処理を上記セントラル・プロセッ
シング・ユニットに要求するようにされ、上記セントラ
ル・プロセッシング・ユニットは、例外処理要求に対し
、割込み要求に対して行われるようなマスクビットの変
更処理を行わずにその例外処理固有のサービスプログラ
ムもしくはサービスプログラムを実行に移すように、バ
スエラー処理システムを構成するものである。
このとき、上記バスエラー固有の例外処理要求を、当該
要求に対して割り当てられたセントラル・プロセッシン
グ・ユニットの専用端子に専用信号線を介して与えるよ
うにすることが、例外処理プログラムの実行に移行する
までの時間を一層短縮する上において望ましい。
要求に対して割り当てられたセントラル・プロセッシン
グ・ユニットの専用端子に専用信号線を介して与えるよ
うにすることが、例外処理プログラムの実行に移行する
までの時間を一層短縮する上において望ましい。
そして、セントラル・プロセッシング・ユニットが命令
実行途中でバス権をその他のバスマスタモジュールに与
えているとき発生したバスエラーに対処するとき、セン
トラル・プロセッシング・ユニットがそれまでに実行し
た処理を無駄にしないようにするためには、セントラル
・プロセッシング・ユニットがバス権を獲得して当該命
令の残りの処理を実行した後にその例外処理要求を受付
けるようにしておくことが望ましい。
実行途中でバス権をその他のバスマスタモジュールに与
えているとき発生したバスエラーに対処するとき、セン
トラル・プロセッシング・ユニットがそれまでに実行し
た処理を無駄にしないようにするためには、セントラル
・プロセッシング・ユニットがバス権を獲得して当該命
令の残りの処理を実行した後にその例外処理要求を受付
けるようにしておくことが望ましい。
上記した手段によれば、セントラル・プロセッシング・
ユニット以外のバスマスタモジュールによるバスエラー
は当該セントラル・プロセッシング・ユニットにとって
固有の例外処理要因とされ、例外処理要求に対してセン
トラルプロセッシングユニットは、割込み要求に対して
行うようなマスクビットの変更設定処理を行わずにその
例外処理固有のサービスプログラムを実行に移すように
処理することが、当該バスエラー以前に受付けられた割
込み要求などによってそのバスエラー固有の例外処理要
求が不所望に拒絶されるのを阻止するように作用すると
共に、当該バスエラー固有の例外処理用サービスプログ
ラムの実行開始までの時間を短縮するように作用する。
ユニット以外のバスマスタモジュールによるバスエラー
は当該セントラル・プロセッシング・ユニットにとって
固有の例外処理要因とされ、例外処理要求に対してセン
トラルプロセッシングユニットは、割込み要求に対して
行うようなマスクビットの変更設定処理を行わずにその
例外処理固有のサービスプログラムを実行に移すように
処理することが、当該バスエラー以前に受付けられた割
込み要求などによってそのバスエラー固有の例外処理要
求が不所望に拒絶されるのを阻止するように作用すると
共に、当該バスエラー固有の例外処理用サービスプログ
ラムの実行開始までの時間を短縮するように作用する。
これにより、セントラル・プロセッシング・ユニット以
外の所定のバスマスタモジュールに起因するバスエラー
に対する処理の信頼性を高めることを達成するものであ
る。
外の所定のバスマスタモジュールに起因するバスエラー
に対する処理の信頼性を高めることを達成するものであ
る。
第1図は本発明の1実施例であるシングルチップマイク
ロコンピュータを示すブロック図である。
ロコンピュータを示すブロック図である。
同図に示されるシングルチップマイクロコンピュータM
CUは、特に制限されないが、公知の半導体集積回路製
造技術によって1つの半導体基板に形成される。
CUは、特に制限されないが、公知の半導体集積回路製
造技術によって1つの半導体基板に形成される。
第1図に示されるシングルチップマイクロコンピュータ
MCUは、アドレスバスABUS及びデータバスDBU
Sに結合されたCPUIを含み、さらにその他のバスマ
スタモジュールの一例としてDMAC2がアドレスバス
ABUS及びデータバスDBUSに結合されている。尚
、図示はしないが、アドレスバスABUS及びデータバ
スDBUSには、プログラムメモリや入出力回路などの
バススレーブモジュールが結合されている6上記CPU
Iは、特に制限されないが、汎用レジスタ、プメログラ
ムカウンタ、ステータスレジスタ、算術論理演算器など
を含み、主として図示しないプログラムメモリから順次
命令を読み込んで所定のデータ処理を行う。
MCUは、アドレスバスABUS及びデータバスDBU
Sに結合されたCPUIを含み、さらにその他のバスマ
スタモジュールの一例としてDMAC2がアドレスバス
ABUS及びデータバスDBUSに結合されている。尚
、図示はしないが、アドレスバスABUS及びデータバ
スDBUSには、プログラムメモリや入出力回路などの
バススレーブモジュールが結合されている6上記CPU
Iは、特に制限されないが、汎用レジスタ、プメログラ
ムカウンタ、ステータスレジスタ、算術論理演算器など
を含み、主として図示しないプログラムメモリから順次
命令を読み込んで所定のデータ処理を行う。
上記DMAC2は、自らが起動するバスサイクルに基づ
いて、メモリ間におけるデータブロック転送、さらには
ディスクコントローラやコミュニケーションインタフェ
ースコントローラなどとのデータ転送を、サイクルスチ
ール方式やバースト方式で行う。
いて、メモリ間におけるデータブロック転送、さらには
ディスクコントローラやコミュニケーションインタフェ
ースコントローラなどとのデータ転送を、サイクルスチ
ール方式やバースト方式で行う。
本実施例に従えば、CPUIとDMAC2間のバス使用
権の調停はバスアービタ3が行う。このバスアービタ3
は、CPU1から出力されるバス使用要求信号B RE
Q c p uとDMAC2から出力されるバス使用
要求信号B RE Q d m a cとに基づいてバ
ス使用要求の調停を行い、バス使用承認信号BACKc
p uをアサートすることによってCPUIにバス使用
権を与え、また、バス使用承認信号BACKdmacを
アサートすることによってDMAC2にバス使用権を与
える。尚、バス使用要求信号BREQcpu、BREQ
dmaC1及びバス使用承認信号BACKcpu、BA
CK d m a cは、特に制限されないが、夫々ハ
イレベルが要求レベル及び承認レベルとされる。
権の調停はバスアービタ3が行う。このバスアービタ3
は、CPU1から出力されるバス使用要求信号B RE
Q c p uとDMAC2から出力されるバス使用
要求信号B RE Q d m a cとに基づいてバ
ス使用要求の調停を行い、バス使用承認信号BACKc
p uをアサートすることによってCPUIにバス使用
権を与え、また、バス使用承認信号BACKdmacを
アサートすることによってDMAC2にバス使用権を与
える。尚、バス使用要求信号BREQcpu、BREQ
dmaC1及びバス使用承認信号BACKcpu、BA
CK d m a cは、特に制限されないが、夫々ハ
イレベルが要求レベル及び承認レベルとされる。
第1図において4はチップセレクトコントローラであり
、シングルチップマイクロコンピュータMCUが管理す
るアドレス空間に割り当てられた周辺回路を選択するた
めのチップセレクト信号を形成する回路である。このチ
ップセレクトコントローラ4は、特に制限されないが、
夫々ハイレベルを選択レベルとする4つのチップセレク
ト信号C81〜C34を形成するもので、エリアベース
レジスタ5、エリアレンジレジスタ6及びコンパレータ
7を1組として1つのチップ選択信号を形成する。例え
ば、エリアベースレジスタ5には所定の1つの周辺回路
に割り当てられるアドレス領域の先頭アドレスが設定さ
れ、エリアレンジレジスタ6には所定の1つの周辺回路
に割り当てられるアドレス領域の範囲が設定される。コ
ンパレータ7は、アドレスバスABUS上のアドレスを
エリアベースレジスタ5及びエリアレンジレジスタ6に
よって指定される範囲のアドレスと比較してその範囲に
含まれるときに該当するチップ選択信号を選択レベル(
ハイレベル)にする。尚、シングルチップマイクロコン
ピュータMCUが管理するアドレス空間に4つ以上の周
辺回路がマツピングされる場合には、アドレス信号を外
部でデコードしてチップ選択信号を形成するデコーダが
更に必要とされる。また、チップセレクト信号C8I〜
C84を外部に出力する場合には、それらを直接外部に
出力することもできるが、それらを内部で一旦2ビット
の信号にエンコードして外部に供給し、外部でそれを4
ビツトにデコードして利用することができる。
、シングルチップマイクロコンピュータMCUが管理す
るアドレス空間に割り当てられた周辺回路を選択するた
めのチップセレクト信号を形成する回路である。このチ
ップセレクトコントローラ4は、特に制限されないが、
夫々ハイレベルを選択レベルとする4つのチップセレク
ト信号C81〜C34を形成するもので、エリアベース
レジスタ5、エリアレンジレジスタ6及びコンパレータ
7を1組として1つのチップ選択信号を形成する。例え
ば、エリアベースレジスタ5には所定の1つの周辺回路
に割り当てられるアドレス領域の先頭アドレスが設定さ
れ、エリアレンジレジスタ6には所定の1つの周辺回路
に割り当てられるアドレス領域の範囲が設定される。コ
ンパレータ7は、アドレスバスABUS上のアドレスを
エリアベースレジスタ5及びエリアレンジレジスタ6に
よって指定される範囲のアドレスと比較してその範囲に
含まれるときに該当するチップ選択信号を選択レベル(
ハイレベル)にする。尚、シングルチップマイクロコン
ピュータMCUが管理するアドレス空間に4つ以上の周
辺回路がマツピングされる場合には、アドレス信号を外
部でデコードしてチップ選択信号を形成するデコーダが
更に必要とされる。また、チップセレクト信号C8I〜
C84を外部に出力する場合には、それらを直接外部に
出力することもできるが、それらを内部で一旦2ビット
の信号にエンコードして外部に供給し、外部でそれを4
ビツトにデコードして利用することができる。
第1図において8は割込みコントローラであり、内部及
び外部における所定の周辺回路から各種割込み信号NM
II、NMI2.lNTl〜INTnが与えられる。割
込み信号NMI 1.NMI 2は、所謂マスク不可能
な割込み信号であって割込み信号の中で最も高い優先順
位が与えられている。
び外部における所定の周辺回路から各種割込み信号NM
II、NMI2.lNTl〜INTnが与えられる。割
込み信号NMI 1.NMI 2は、所謂マスク不可能
な割込み信号であって割込み信号の中で最も高い優先順
位が与えられている。
割込み信号lNTl〜INTnはマスク可能な割込み信
号であって、その順番に従って順次低くなる優先順位が
与えられている。優先順位に関する情報はCPUIに保
有されている。
号であって、その順番に従って順次低くなる優先順位が
与えられている。優先順位に関する情報はCPUIに保
有されている。
C:PUlのステータスレジスタ20は、割込み要求に
対する制御情報として割込みイネーブルビット及び割込
みマスクビットを保有する。割込みイネーブルビットは
1割込要求が発せられたときであってもその発生元の都
合により当該割込み要求をCPUIに与えたくない場合
のマスク情報とされ、割込み信号lNTl〜I N T
nに1対1対応で設定可能とされる。割込みマスクビ
ットは、CPUIが割込み処理などを行っているときに
その他の割込み要求があった場合に、当該後の割込み要
求を受付けるか否かを決定するためのマスク情報とされ
、各種割込み信号NMI 1.NMI 2゜INTL〜
INTnの夫々に1対1対応で設定可能にされる。
対する制御情報として割込みイネーブルビット及び割込
みマスクビットを保有する。割込みイネーブルビットは
1割込要求が発せられたときであってもその発生元の都
合により当該割込み要求をCPUIに与えたくない場合
のマスク情報とされ、割込み信号lNTl〜I N T
nに1対1対応で設定可能とされる。割込みマスクビ
ットは、CPUIが割込み処理などを行っているときに
その他の割込み要求があった場合に、当該後の割込み要
求を受付けるか否かを決定するためのマスク情報とされ
、各種割込み信号NMI 1.NMI 2゜INTL〜
INTnの夫々に1対1対応で設定可能にされる。
割込み信号NMII、NMI2.lNTl〜■NTnに
よって内部又は外部から割込みが要求されると1割込み
コントローラ8は、その割込み信号に対応する割込みイ
ネーブルビットがイネーブルにされているか否かを代表
的に示された論理ゲート21を介して判別し、割込みイ
ネーブルにされているときにはこれに対応する割込み要
求を優先レベル調停回路22に与える。この優先レベル
調停回路22は、複数の割込み要求が同時に発生する場
合に、予め決められている優先順位に従って相対的に優
先レベルの高い要求を受付けるように調停制御する。優
先レベル調停回路22を通った割込み要求はCPUIに
設けられている比較判定手段23に与えられる。この比
較判定手段23は、割込みコントローラ8から与えられ
た割込み要求がステータスレジスタ20の割込みマスク
ビットによりマスクされているか否かを判定する。
よって内部又は外部から割込みが要求されると1割込み
コントローラ8は、その割込み信号に対応する割込みイ
ネーブルビットがイネーブルにされているか否かを代表
的に示された論理ゲート21を介して判別し、割込みイ
ネーブルにされているときにはこれに対応する割込み要
求を優先レベル調停回路22に与える。この優先レベル
調停回路22は、複数の割込み要求が同時に発生する場
合に、予め決められている優先順位に従って相対的に優
先レベルの高い要求を受付けるように調停制御する。優
先レベル調停回路22を通った割込み要求はCPUIに
設けられている比較判定手段23に与えられる。この比
較判定手段23は、割込みコントローラ8から与えられ
た割込み要求がステータスレジスタ20の割込みマスク
ビットによりマスクされているか否かを判定する。
マスクされていない場合、当該割込み要求はCPU1の
実行部24に与えられる。これによりCPU1は、プロ
グラムカウンタやステータスレジスタ20の状態保存を
行うと共に、当該割込み要求の優先レベル以下の新たな
割込み要求を受付けないようにするため、ステータスレ
ジスタ20の割込みマスクビットを変更設定する。そし
て、断る割込み要求に応するサービスプログラムの先頭
アドレスをベクタリングしてそのプログラムの実行によ
り割込み処理を行う。
実行部24に与えられる。これによりCPU1は、プロ
グラムカウンタやステータスレジスタ20の状態保存を
行うと共に、当該割込み要求の優先レベル以下の新たな
割込み要求を受付けないようにするため、ステータスレ
ジスタ20の割込みマスクビットを変更設定する。そし
て、断る割込み要求に応するサービスプログラムの先頭
アドレスをベクタリングしてそのプログラムの実行によ
り割込み処理を行う。
割込み信号NMI 1.NMI 2によって外部から割
込みが要求される場合には、割込みイネーブルビットの
判定や優先レベルに基づく調停は行われず、直接上記比
較判定手段23による割込みマスクビットのチエツクが
行われることになる。このような割込み信号NMI4.
NMI2によるマスク不可能な割込み要求であっても、
状態保存の後に上記同様の割込みマスクビットの変更設
定処理が行われる。したがって、例えば割込み信号NM
IIに基づく割込み処理中に他の割込み信号NMI2に
よる割込み要求があってもその要求は割込みマスクレベ
ルのチエツクにより受付けが拒絶されることになる。
込みが要求される場合には、割込みイネーブルビットの
判定や優先レベルに基づく調停は行われず、直接上記比
較判定手段23による割込みマスクビットのチエツクが
行われることになる。このような割込み信号NMI4.
NMI2によるマスク不可能な割込み要求であっても、
状態保存の後に上記同様の割込みマスクビットの変更設
定処理が行われる。したがって、例えば割込み信号NM
IIに基づく割込み処理中に他の割込み信号NMI2に
よる割込み要求があってもその要求は割込みマスクレベ
ルのチエツクにより受付けが拒絶されることになる。
次に本実施例のシングルチップマイクロコンピュータM
CUにおけるバスエラー処理のための構成を説明する。
CUにおけるバスエラー処理のための構成を説明する。
特に制限されないが、本実施例では、シングルチップマ
イクロコンピュータが管理するアドレス空間において実
際に周辺回路がマツピングされていない領域に対してア
クセスされるようなバスエラーに対する処理を一例に説
明する。
イクロコンピュータが管理するアドレス空間において実
際に周辺回路がマツピングされていない領域に対してア
クセスされるようなバスエラーに対する処理を一例に説
明する。
本実施例に従えば、バスマスタモジュールとしてのCP
UI及びDMAC2は、自らが起動するバスサイクルに
おける上記バスエラーを検出するため、特に制限されな
いが、CPUIには、ハイレベルをエラー発生レベルと
するバスエラー発生信号BERRとバス使用承認信号B
A CK c p uとの論理積を採るアンドゲート
9の出力信号が供給され、また、DMAC2には、上記
バスエラー発生信号BERRとバス使用承認信号BAC
Kdm a cとの論理積を採るアンドゲート10の出
力信号が供給される。上記バスエラー発生信号BERR
は、特に制限されないが、バスエラー発生信号BERR
I及びBERR2の論理積を採るアンドゲート11の出
力とされる。バスエラー発生信号BERRIは上記チッ
プセレクト信号C8I〜C34の反転レベル信号を4人
力として論理積を採るアンドゲート12の出力信号であ
る。また、バスエラー発生信号BERR2は、シングル
チップマイクロコンピュータの外部でアドレス信号をデ
コードしてチップ選択信号を形成するための図示しない
デコーダから出力される各出力信号の反転レベル信号に
対して論理積を採って得られる信号とされる。
UI及びDMAC2は、自らが起動するバスサイクルに
おける上記バスエラーを検出するため、特に制限されな
いが、CPUIには、ハイレベルをエラー発生レベルと
するバスエラー発生信号BERRとバス使用承認信号B
A CK c p uとの論理積を採るアンドゲート
9の出力信号が供給され、また、DMAC2には、上記
バスエラー発生信号BERRとバス使用承認信号BAC
Kdm a cとの論理積を採るアンドゲート10の出
力信号が供給される。上記バスエラー発生信号BERR
は、特に制限されないが、バスエラー発生信号BERR
I及びBERR2の論理積を採るアンドゲート11の出
力とされる。バスエラー発生信号BERRIは上記チッ
プセレクト信号C8I〜C34の反転レベル信号を4人
力として論理積を採るアンドゲート12の出力信号であ
る。また、バスエラー発生信号BERR2は、シングル
チップマイクロコンピュータの外部でアドレス信号をデ
コードしてチップ選択信号を形成するための図示しない
デコーダから出力される各出力信号の反転レベル信号に
対して論理積を採って得られる信号とされる。
したがって、CPUI又はDMAC2によるバスサイク
ルで発生されるアドレス信号が、実際に周辺回路のマツ
ピングされていないアドレス領域に対応される場合に、
上記バスエラー発生信号BERRはハイレベルとされる
。斯るバスエラーがCPUIの起動するバスサイクルで
発生する場合、CPUIは所定のタイミングで上記アン
ドゲート9のハイレベル出力をサンプリングすることに
よって当該バスエラーを検出する。一方、上記バスエラ
ーがDMAC2の起動するバスサイクルで発生する場合
には、DMAC2は所定のタイミングで上記アンドゲー
ト10のハイレベル出力をサンプリングすることによっ
て当該バスエラーを検出する。
ルで発生されるアドレス信号が、実際に周辺回路のマツ
ピングされていないアドレス領域に対応される場合に、
上記バスエラー発生信号BERRはハイレベルとされる
。斯るバスエラーがCPUIの起動するバスサイクルで
発生する場合、CPUIは所定のタイミングで上記アン
ドゲート9のハイレベル出力をサンプリングすることに
よって当該バスエラーを検出する。一方、上記バスエラ
ーがDMAC2の起動するバスサイクルで発生する場合
には、DMAC2は所定のタイミングで上記アンドゲー
ト10のハイレベル出力をサンプリングすることによっ
て当該バスエラーを検出する。
上記アンドゲート9から出力されるバスエラー検出信号
BERRc p uは、CPUIのバスエラーに対する
固有の例外処理要求として割り当てられる。したがって
CPUIは、そのバスエラー検出信号B E RRc
p uによって固有の例外処理が要求されると、プログ
ラムカウンタやステータスレジスタ20の状態保存を行
った後、当該例外処理に割り当てられたサービスプログ
ラムの先頭アドレスをベクタリングしてそのプログラム
を実行し、当該バスエラーに対する回復処理やりトライ
処理などを行う。
BERRc p uは、CPUIのバスエラーに対する
固有の例外処理要求として割り当てられる。したがって
CPUIは、そのバスエラー検出信号B E RRc
p uによって固有の例外処理が要求されると、プログ
ラムカウンタやステータスレジスタ20の状態保存を行
った後、当該例外処理に割り当てられたサービスプログ
ラムの先頭アドレスをベクタリングしてそのプログラム
を実行し、当該バスエラーに対する回復処理やりトライ
処理などを行う。
DMAC2は、上記アンドゲート10から出力されるバ
スエラー検出信号B E RRd m a cによりD
MAC2のバスエラーを検出すると、直ちにダイレクト
・メモリ・アクセス動作を停止して。
スエラー検出信号B E RRd m a cによりD
MAC2のバスエラーを検出すると、直ちにダイレクト
・メモリ・アクセス動作を停止して。
直接CPUIにバスエラー処理要求信号BETREQを
アサートする。このバスエラー処理要求信号BETRE
QはDMAC2のバスエラーに対するCPUIへの固有
の例外処理要求として割り当てられティる。CPUIは
、DMAC2(7)バスエラーに対する固有の例外処理
が要求されると、バス権を獲得した後の所定タイミング
でプログラムカウンタやステータスレジスタ20の状態
保存を行った後、直ちに当該例外処理に割り当てられた
サービスプログラムの先頭アドレスをベクタリングして
そのプログラムを実行し、当該バスエラーに対する回復
処理やりトライ処理などを行う。
アサートする。このバスエラー処理要求信号BETRE
QはDMAC2のバスエラーに対するCPUIへの固有
の例外処理要求として割り当てられティる。CPUIは
、DMAC2(7)バスエラーに対する固有の例外処理
が要求されると、バス権を獲得した後の所定タイミング
でプログラムカウンタやステータスレジスタ20の状態
保存を行った後、直ちに当該例外処理に割り当てられた
サービスプログラムの先頭アドレスをベクタリングして
そのプログラムを実行し、当該バスエラーに対する回復
処理やりトライ処理などを行う。
ここで、CPUの例外処理は、その発生要因がシステム
動作に与える影響の重要性に鑑み、割込み処理よりも高
い優先度が与えられている。これを反映するため、例外
処理に対しては割込みマスクビットのチエツクに相当す
るような処理は行われず、且つ、割込み要求に対して行
われるべき割込みマスクビットの設定変更のような処理
も行われず、状態保存後速やかにその例外処理固有のサ
ービスプログラムの実行に移行される。したがって、C
PUIがその他の例外処理や割込み処理を実行中にバス
エラーに対する例外処理が要求されると、そのときの処
理が中断され、バスエラーに対する例外処理が優先的に
実行されることになる。
動作に与える影響の重要性に鑑み、割込み処理よりも高
い優先度が与えられている。これを反映するため、例外
処理に対しては割込みマスクビットのチエツクに相当す
るような処理は行われず、且つ、割込み要求に対して行
われるべき割込みマスクビットの設定変更のような処理
も行われず、状態保存後速やかにその例外処理固有のサ
ービスプログラムの実行に移行される。したがって、C
PUIがその他の例外処理や割込み処理を実行中にバス
エラーに対する例外処理が要求されると、そのときの処
理が中断され、バスエラーに対する例外処理が優先的に
実行されることになる。
尚、バスエラー例外処理中に優先レベルの低い割込みの
受付けを拒絶しようとする場合には、当該例外処理のサ
ービスプログラムに、システム動作の必要に応じて全て
もしくは一部の割込みをマスク可能なように割込みマス
クビットを設定変更するような命令を含めておくことが
できる。但し、このような命令を付加しても、バスエラ
ー例外処理要求は既に実行中の割込み処理やその他の例
外処理に妨げられて拒絶されない点と、バスエラー例外
要求からそのサービスプログラムの実行開始に至るまで
の時間短縮という点については些かも影響を与えるもの
ではない。
受付けを拒絶しようとする場合には、当該例外処理のサ
ービスプログラムに、システム動作の必要に応じて全て
もしくは一部の割込みをマスク可能なように割込みマス
クビットを設定変更するような命令を含めておくことが
できる。但し、このような命令を付加しても、バスエラ
ー例外処理要求は既に実行中の割込み処理やその他の例
外処理に妨げられて拒絶されない点と、バスエラー例外
要求からそのサービスプログラムの実行開始に至るまで
の時間短縮という点については些かも影響を与えるもの
ではない。
また、CPUIが命令実行途中でバス権をDMAC2に
与えているとき発生したバスエラーに対処するときは、
CPUIが途中まで実行した処理を無駄にしないように
するため、DMAC2のバスエラー発生後CPUIがバ
ス権を獲得して当該命令の残りの処理を実行した後にそ
の例外処理要求を受付けるようになっている。
与えているとき発生したバスエラーに対処するときは、
CPUIが途中まで実行した処理を無駄にしないように
するため、DMAC2のバスエラー発生後CPUIがバ
ス権を獲得して当該命令の残りの処理を実行した後にそ
の例外処理要求を受付けるようになっている。
次に上記実施例において、DMAC2のバスサイクルで
発生したバスエラーに対するCPUIの処理動作を第2
図のフローチャートを主に説明する。
発生したバスエラーに対するCPUIの処理動作を第2
図のフローチャートを主に説明する。
CPUIがバスアクセスを伴う動作を行っているとき(
ステップ5TPI) 、DMAC2がバス権を要求して
いると(ステップ5TP2) 、CPU1が内部処理の
ために一部バス権を放棄する(ステップ5TP3)こと
に呼応してDMAC2がバス権を獲得する。これにより
DMAC2がバスサイクルを起動する(ステップ5TP
4)。このとき、何れのアドレス空間にもマツピングさ
れていない周辺回路やメモリ領域をDMACがアクセス
するようなバスエラーを生ずると(ステップ5TP5)
、上記アンドゲート10から出力されるバスエラー検
出信号BERRdmacがハイレベルに変化される。
ステップ5TPI) 、DMAC2がバス権を要求して
いると(ステップ5TP2) 、CPU1が内部処理の
ために一部バス権を放棄する(ステップ5TP3)こと
に呼応してDMAC2がバス権を獲得する。これにより
DMAC2がバスサイクルを起動する(ステップ5TP
4)。このとき、何れのアドレス空間にもマツピングさ
れていない周辺回路やメモリ領域をDMACがアクセス
するようなバスエラーを生ずると(ステップ5TP5)
、上記アンドゲート10から出力されるバスエラー検
出信号BERRdmacがハイレベルに変化される。
DMAC2は、バスエラー検出信号BERRdmaQの
ハイレベルへの変化によってバスエラーを検出すると、
直ちにバスサイクルを終了してダイレクト・メモリ・ア
クセス動作を停止すると共に(ステップ5TP6)、バ
ス権を開放し且つCPUIにバスエラー処理要求信号B
ETREQをアサートしてこれに対応する例外処理を要
求する(ステップ5TP7)。
ハイレベルへの変化によってバスエラーを検出すると、
直ちにバスサイクルを終了してダイレクト・メモリ・ア
クセス動作を停止すると共に(ステップ5TP6)、バ
ス権を開放し且つCPUIにバスエラー処理要求信号B
ETREQをアサートしてこれに対応する例外処理を要
求する(ステップ5TP7)。
このときCPUIは、例えば既に内部処理を終えてバス
権を要求しており(ステップ5TP8)、DMAC2の
バス権開放によってCPUIがバス権を獲得すると、処
理を途中で中断した1命令中の残りの処理を先に実行し
て(ステップ5TP9)、それまでのCPUIによる処
理を無駄にしないようにする。例えばその1命令がMO
VE命令である場合に、リードサイクルを行ってバス権
を一旦開放した結果ライトサイクルの実行残っていると
きには当該ライトサイクルを実行する。そしてCPUI
が1命令中の最後の処理を実行した後に上記DMAC2
のバスエラーに対する例外処理要求をサンプリングする
(ステップ5TPIO)。
権を要求しており(ステップ5TP8)、DMAC2の
バス権開放によってCPUIがバス権を獲得すると、処
理を途中で中断した1命令中の残りの処理を先に実行し
て(ステップ5TP9)、それまでのCPUIによる処
理を無駄にしないようにする。例えばその1命令がMO
VE命令である場合に、リードサイクルを行ってバス権
を一旦開放した結果ライトサイクルの実行残っていると
きには当該ライトサイクルを実行する。そしてCPUI
が1命令中の最後の処理を実行した後に上記DMAC2
のバスエラーに対する例外処理要求をサンプリングする
(ステップ5TPIO)。
これによってCPUIのメインフローが中断され、その
ときのプログラムカウンタやステータスレジスタ20の
状態保存が行われ(ステップ5TpH)、直ちにDMA
C2によるバスエラー固有の例外処理のためのサービス
プログラムの先頭アドレスがベクタリングされて(ステ
ップSTP12)、このサービスプログラムが実行開始
される(ステップ5TP13)。そして、当該サービス
プログラムの実行終了後、CPUIの動作は状態復帰を
経て(ステップ5TP14) 、メインフローに戻され
る。
ときのプログラムカウンタやステータスレジスタ20の
状態保存が行われ(ステップ5TpH)、直ちにDMA
C2によるバスエラー固有の例外処理のためのサービス
プログラムの先頭アドレスがベクタリングされて(ステ
ップSTP12)、このサービスプログラムが実行開始
される(ステップ5TP13)。そして、当該サービス
プログラムの実行終了後、CPUIの動作は状態復帰を
経て(ステップ5TP14) 、メインフローに戻され
る。
ここで、仮りにDMAC2によるバスエラーを割込み要
因の1つとして処理する場合の動作を第3図を参照しな
がら説明する。
因の1つとして処理する場合の動作を第3図を参照しな
がら説明する。
例えば1割込み信号lNTiに対応する割込み要因をD
MAC2によるバスエラーとする。この場合、当該割込
み信号lNTiによって割込みが要求されると(ステッ
プ5TP20)、割込みコントローラ8は、その割込み
信号lNTiに対応する割込みイネーブルビットがイネ
ーブルにされているか否かを論理ゲート21を介して判
別しくステップ5TP21)、割込みイネーブルにされ
ているときにはこれに対応する割込み要求を優先レベル
調停回路22に与える6優先レベル調停回路22は、こ
のときその他の割込み要求が同時に発生している場合に
、予め決められている優先順位に従って相対的に優先レ
ベルの高い要求を受付けるように調停制御する(ステッ
プ5TP22)。したがって、割込み信号lNTiより
も優先レベルの高いその他の割込みが同時に要求されて
いるときには、DMAC2によるバスエラー処理のため
の割込み要求は拒絶される。
MAC2によるバスエラーとする。この場合、当該割込
み信号lNTiによって割込みが要求されると(ステッ
プ5TP20)、割込みコントローラ8は、その割込み
信号lNTiに対応する割込みイネーブルビットがイネ
ーブルにされているか否かを論理ゲート21を介して判
別しくステップ5TP21)、割込みイネーブルにされ
ているときにはこれに対応する割込み要求を優先レベル
調停回路22に与える6優先レベル調停回路22は、こ
のときその他の割込み要求が同時に発生している場合に
、予め決められている優先順位に従って相対的に優先レ
ベルの高い要求を受付けるように調停制御する(ステッ
プ5TP22)。したがって、割込み信号lNTiより
も優先レベルの高いその他の割込みが同時に要求されて
いるときには、DMAC2によるバスエラー処理のため
の割込み要求は拒絶される。
割込み信号lNTiが優先レベル調停回路22を通った
とすると、この割込み要求はCPUIに設けられている
比較判定手段23に与えられて、当該新剤込み要求がス
テータスレジスタ2oの割込みマスクビットによりマス
クされているか否かの判別を受ける(ステップ5TP2
3)。マスクされていると判定される場合、即ち、割込
み信号lNTiよりも優先レベルの高いその他の割込み
などが既に受付けられている場合には、DMAC2によ
るバスエラー処理のための割込み要求は拒絶される。
とすると、この割込み要求はCPUIに設けられている
比較判定手段23に与えられて、当該新剤込み要求がス
テータスレジスタ2oの割込みマスクビットによりマス
クされているか否かの判別を受ける(ステップ5TP2
3)。マスクされていると判定される場合、即ち、割込
み信号lNTiよりも優先レベルの高いその他の割込み
などが既に受付けられている場合には、DMAC2によ
るバスエラー処理のための割込み要求は拒絶される。
ステップ5TP23の判別結果により割込み信号lNT
iに呼応する割込みマスクビットがディスエーブルにさ
れていると判定された場合には、当該割込み要求はCP
U1の実行部24に与えられ、これによって初めてDM
AC2によるバスエラー処理のための割込み要求がCP
UIに受付けられる(ステップ524)。
iに呼応する割込みマスクビットがディスエーブルにさ
れていると判定された場合には、当該割込み要求はCP
U1の実行部24に与えられ、これによって初めてDM
AC2によるバスエラー処理のための割込み要求がCP
UIに受付けられる(ステップ524)。
この割込み要求が受付けられると、CPUIは、メイン
フローの実行を中断してプログラムカウンタやステータ
スレジスタ20の状態保存を行い(ステップ5TP25
) 、次いで、当該割込み要求の優先レベル以下の新た
な割込み要求を受付けないようにするために、ステータ
スレジスタ20の割込みマスクビットを変更設定する(
ステップ5TP26)。そして、斯る割込み要求に応す
るサービスプログラムの先頭アドレスをベクタリングし
て(ステップ5TP27)、そのプログラムの実行によ
りDMAC2のバスエラーに対する割込み処理を開始す
る(ステップ5TP28)。そして、当該サービスプロ
グラムの実行終了後、CPUIの動作は状態復帰を経て
(ステップ5TP29)、メインフローに戻される。
フローの実行を中断してプログラムカウンタやステータ
スレジスタ20の状態保存を行い(ステップ5TP25
) 、次いで、当該割込み要求の優先レベル以下の新た
な割込み要求を受付けないようにするために、ステータ
スレジスタ20の割込みマスクビットを変更設定する(
ステップ5TP26)。そして、斯る割込み要求に応す
るサービスプログラムの先頭アドレスをベクタリングし
て(ステップ5TP27)、そのプログラムの実行によ
りDMAC2のバスエラーに対する割込み処理を開始す
る(ステップ5TP28)。そして、当該サービスプロ
グラムの実行終了後、CPUIの動作は状態復帰を経て
(ステップ5TP29)、メインフローに戻される。
また、所謂マスク不可能な割込み信号NMIIに対応す
る割込み要因をDMAC2によるバスエラーとすると、
第3図のステップ5TP20におけるイネーブルビット
の判定やステップ5TP22における優先レベルに基づ
く調停は行われず、直接比較判定手段23による割込み
マスクビットのチエツクが行われることになる(ステッ
プ5TP23)。その他の割込み信号による割込み要求
と同様このような割込み信号NMIIによるマスク不可
能な割込み要求であっても、状態保存(ステップ5TP
25)の後に上記同様の割込みマスクビットの変更設定
処理が行われる(ステップ5TP26)。したがって、
例えば割込み信号NMI2に基づく割込み処理中に、D
MAC2のバスエラーに応じて割込み信号NMIIによ
る割込み要求があってもその要求は割込みマスクレベル
のチエツクにより受付けが拒絶されることになる。
る割込み要因をDMAC2によるバスエラーとすると、
第3図のステップ5TP20におけるイネーブルビット
の判定やステップ5TP22における優先レベルに基づ
く調停は行われず、直接比較判定手段23による割込み
マスクビットのチエツクが行われることになる(ステッ
プ5TP23)。その他の割込み信号による割込み要求
と同様このような割込み信号NMIIによるマスク不可
能な割込み要求であっても、状態保存(ステップ5TP
25)の後に上記同様の割込みマスクビットの変更設定
処理が行われる(ステップ5TP26)。したがって、
例えば割込み信号NMI2に基づく割込み処理中に、D
MAC2のバスエラーに応じて割込み信号NMIIによ
る割込み要求があってもその要求は割込みマスクレベル
のチエツクにより受付けが拒絶されることになる。
上記実施例によれば以下の作用効果を得るものである。
(1)DMAC2によるバスエラーはCPUIにとって
固有の例外処理要因とされ、このパスエラ−例外処理要
求は如何なる割込み要求よりも高い優先度が与えられる
。そして、当該例外処理要求に対しては割込みマスクビ
ットのチエツクに相当するような処理は行われず、且つ
1割込み要求に対して行われるべき割込みマスクビット
の設定変更のような処理も行われず、状態保存俊速やか
にその例外処理固有のサービスプログラムの実行に移行
される。即ち、バスエラー処理要求信号BETREQが
アサートにされることによってDMAC2のバスエラー
に対する例外処理要求がCPU1に発せられると、CP
UIは、第3図に示される割込みによって対処される場
合のようなイネーブルビットの判定(ステップ5TP2
1)、割込み優先レベルに基づく割込み要求の調停(ス
テップ5TP22) 、及び割込みマスクレベルのチエ
ツク(ステップ5TP23)の各処理を行わずにその例
外処理要求を直接受付け、状態保存後1割込みマスクビ
ットの設定変更(ステップ5TP26)を行わずに速や
かにサービスプログラムの実行に移行する。したがって
、CPU1がその他の例外処理や割込み処理を実行して
いるときにDMAC2のバスエラー例外処理が要求され
ても、当該バスエラー例外処理要求は既に実行中の割込
み処理やその他の例外処理に妨げられて拒絶されず、D
MAC:2のバスエラーに対する例外処理を優先的に実
行開始することができる。
固有の例外処理要因とされ、このパスエラ−例外処理要
求は如何なる割込み要求よりも高い優先度が与えられる
。そして、当該例外処理要求に対しては割込みマスクビ
ットのチエツクに相当するような処理は行われず、且つ
1割込み要求に対して行われるべき割込みマスクビット
の設定変更のような処理も行われず、状態保存俊速やか
にその例外処理固有のサービスプログラムの実行に移行
される。即ち、バスエラー処理要求信号BETREQが
アサートにされることによってDMAC2のバスエラー
に対する例外処理要求がCPU1に発せられると、CP
UIは、第3図に示される割込みによって対処される場
合のようなイネーブルビットの判定(ステップ5TP2
1)、割込み優先レベルに基づく割込み要求の調停(ス
テップ5TP22) 、及び割込みマスクレベルのチエ
ツク(ステップ5TP23)の各処理を行わずにその例
外処理要求を直接受付け、状態保存後1割込みマスクビ
ットの設定変更(ステップ5TP26)を行わずに速や
かにサービスプログラムの実行に移行する。したがって
、CPU1がその他の例外処理や割込み処理を実行して
いるときにDMAC2のバスエラー例外処理が要求され
ても、当該バスエラー例外処理要求は既に実行中の割込
み処理やその他の例外処理に妨げられて拒絶されず、D
MAC:2のバスエラーに対する例外処理を優先的に実
行開始することができる。
(2)上記作用効果より、DMAC2のバスエラー例外
要求からそのサービスプログラムの実行開始に至るまで
の時間を1割込み処理で対処する場合に比べて短縮する
ことができる。
要求からそのサービスプログラムの実行開始に至るまで
の時間を1割込み処理で対処する場合に比べて短縮する
ことができる。
(3)上記作用効果より、DMAC2によるデータ転送
動作がシステム動作上CPU2のバスサイクルと同等の
重要性を持つような場合に、DMAC2のバスエラーに
対する処理はCPUのバスエラーに対する処理と同様に
例外処理で対処される結果、システム動作の信頼性を向
上させることができる。
動作がシステム動作上CPU2のバスサイクルと同等の
重要性を持つような場合に、DMAC2のバスエラーに
対する処理はCPUのバスエラーに対する処理と同様に
例外処理で対処される結果、システム動作の信頼性を向
上させることができる。
(4)CPUIが命令実行途中でバス権をDMAC2に
与えているとき発生したDMAC2のバスエラーに対処
するとき、DMAC2のバスエラー発生後CPUIがバ
ス権を獲得して当該命令の残りの処理を実行した後にそ
の例外処理要求を受付けるから、CPUIが途中まで実
行した処理を無駄にしないようにすることができる。
与えているとき発生したDMAC2のバスエラーに対処
するとき、DMAC2のバスエラー発生後CPUIがバ
ス権を獲得して当該命令の残りの処理を実行した後にそ
の例外処理要求を受付けるから、CPUIが途中まで実
行した処理を無駄にしないようにすることができる。
(5)CPUI及びDMAC2が同一半導体基板に形成
され、DMAC2のバスエラーに対する固有の例外処理
要求を、当該要求に対して割り当てられたCPUIの専
用端子に専用信号線を介して与えらるかり、CPUは例
外処理要求の解析が必要なくなり、これによって、DM
AC2のバスエラーに対する例外処理のためのサービス
プログラムを実行に移すまでの時間を一層短縮すること
ができる。
され、DMAC2のバスエラーに対する固有の例外処理
要求を、当該要求に対して割り当てられたCPUIの専
用端子に専用信号線を介して与えらるかり、CPUは例
外処理要求の解析が必要なくなり、これによって、DM
AC2のバスエラーに対する例外処理のためのサービス
プログラムを実行に移すまでの時間を一層短縮すること
ができる。
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが、本発明はそれに限定されるもので
はなく、その要旨を逸脱しない範囲において種々変更可
能であることは言うまでもない。
具体的に説明したが、本発明はそれに限定されるもので
はなく、その要旨を逸脱しない範囲において種々変更可
能であることは言うまでもない。
例えば、上記実施例ではCPU以外のバスマスタモジュ
ールをDMACとして説明したが、DMAC以外のバス
マスタモジュールについても同様CPUにバスエラーに
対する例外処理要求を直接与えるようにすることができ
る。尚、DMACは1チヤンネルに限定されず多チャン
ネルであってもよい。
ールをDMACとして説明したが、DMAC以外のバス
マスタモジュールについても同様CPUにバスエラーに
対する例外処理要求を直接与えるようにすることができ
る。尚、DMACは1チヤンネルに限定されず多チャン
ネルであってもよい。
また、上記実施例では、何れの周辺回路にもマツピング
されていないアドレスが出力されるようなバスエラーを
一例として説明したが、バスエラーは、それに限定され
ず、スーパーバイザ状態が設定されている周辺回路やメ
モリ領域に対してユーザ状態のアクセスが行われるよう
なエラーなど、バスサイクル系の各種エラーに対して例
外処理で対処することができる。更に、バスエラーの検
出方式は上記実施例に限定されず、バスエラーの種類に
応じて適宜変更可能である。
されていないアドレスが出力されるようなバスエラーを
一例として説明したが、バスエラーは、それに限定され
ず、スーパーバイザ状態が設定されている周辺回路やメ
モリ領域に対してユーザ状態のアクセスが行われるよう
なエラーなど、バスサイクル系の各種エラーに対して例
外処理で対処することができる。更に、バスエラーの検
出方式は上記実施例に限定されず、バスエラーの種類に
応じて適宜変更可能である。
また1例外処理のためのサービスプログラムの先頭アド
レスをベクタリングする方式はベクタテーブルを用いる
間接ベクタ指定方式や、DMACなどのバスマスタモジ
ュールがCPUに直接ベクタを与える方式などであって
もよい。
レスをベクタリングする方式はベクタテーブルを用いる
間接ベクタ指定方式や、DMACなどのバスマスタモジ
ュールがCPUに直接ベクタを与える方式などであって
もよい。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるDMAC内蔵のシン
グルチップマイクロコンピュータにおけるバスエラー処
理に適用した場合について説明したが、本発明はそれに
限定されず、CPUとDMACなどのバスマスタモジュ
ールが別チップとされるシステムなどにも適用すること
ができる。本発明は、少なくともCPU以外のバスマス
タモジュールに起因するバスエラーを処理する条件のも
のに適用することができる。
をその背景となった利用分野であるDMAC内蔵のシン
グルチップマイクロコンピュータにおけるバスエラー処
理に適用した場合について説明したが、本発明はそれに
限定されず、CPUとDMACなどのバスマスタモジュ
ールが別チップとされるシステムなどにも適用すること
ができる。本発明は、少なくともCPU以外のバスマス
タモジュールに起因するバスエラーを処理する条件のも
のに適用することができる。
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、セントラル・プロセッシング・ユニット以外
のバスマスタモジュールによるバスエラーは当該セント
ラル・プロセッシング・ユニットにとって固有の例外処
理要因とされ、このバスエラー例外処理要求は割込み要
求よりも高い優先度が与えられる。そして、当該例外処
理要求に対しては、割込み要求に対して行われるべき割
込みマスクビットの設定変更のような処理も行われず、
状態保存俊速やかにその例外処理固有のサービスプログ
ラムを実行に移す、したがって、セントラル・プロセッ
シング・ユニットがその他の例外処理や割込み処理を実
行しているときに他のバスマスタモジュールからバスエ
ラー例外処理が要求されても、当該バスエラー例外処理
要求は既に実行中の割込み処理やその他の例外処理に妨
げられて拒絶されず、当該他のバスマスタモジュールの
バスエラーに対する例外処理を優先的に実行開始するこ
とができる。
のバスマスタモジュールによるバスエラーは当該セント
ラル・プロセッシング・ユニットにとって固有の例外処
理要因とされ、このバスエラー例外処理要求は割込み要
求よりも高い優先度が与えられる。そして、当該例外処
理要求に対しては、割込み要求に対して行われるべき割
込みマスクビットの設定変更のような処理も行われず、
状態保存俊速やかにその例外処理固有のサービスプログ
ラムを実行に移す、したがって、セントラル・プロセッ
シング・ユニットがその他の例外処理や割込み処理を実
行しているときに他のバスマスタモジュールからバスエ
ラー例外処理が要求されても、当該バスエラー例外処理
要求は既に実行中の割込み処理やその他の例外処理に妨
げられて拒絶されず、当該他のバスマスタモジュールの
バスエラーに対する例外処理を優先的に実行開始するこ
とができる。
しかも、当該他のバスマスタモジュールのバスエラー例
外処理要求からそのサービスプログラムの実行開始に至
るまでの時間を、割込み処理で対処する場合に比べて短
縮することができる。
外処理要求からそのサービスプログラムの実行開始に至
るまでの時間を、割込み処理で対処する場合に比べて短
縮することができる。
この結果として、当該他のバスマスタモジュールによる
データ転送動作がシステム動作上セントラル・プロセッ
シング・ユニットのバスサイクルと同等の重要性を持つ
ような場合にも、斯る他のバスマスタモジュールのバス
エラーに対する処理はセントラル・プロセッシング・ユ
ニットのバスエラーに対する処理と同様に例外処理で対
処される結果、システム動作の信頼性を向上させること
ができる。
データ転送動作がシステム動作上セントラル・プロセッ
シング・ユニットのバスサイクルと同等の重要性を持つ
ような場合にも、斯る他のバスマスタモジュールのバス
エラーに対する処理はセントラル・プロセッシング・ユ
ニットのバスエラーに対する処理と同様に例外処理で対
処される結果、システム動作の信頼性を向上させること
ができる。
また、セントラル・プロセッシング・ユニットが命令実
行途中でバス権をその他のバスマスタモジュールに与え
ているとき発生した当該他のバスマスタモジュールのバ
スエラーに対処するとき、斯るバスマスタモジュールの
パスエラー発生後セントラル・プロセッシング・ユニッ
トがバス権を獲得して当該命令の残りの処理を実行した
後にその例外処理要求を受付けるから、セントラル・プ
ロセッシング・ユニットが途中まで実行した処理を無駄
にしないようにすることができる。
行途中でバス権をその他のバスマスタモジュールに与え
ているとき発生した当該他のバスマスタモジュールのバ
スエラーに対処するとき、斯るバスマスタモジュールの
パスエラー発生後セントラル・プロセッシング・ユニッ
トがバス権を獲得して当該命令の残りの処理を実行した
後にその例外処理要求を受付けるから、セントラル・プ
ロセッシング・ユニットが途中まで実行した処理を無駄
にしないようにすることができる。
そして、セントラル・プロセッシング・ユニット及びそ
の他のバスマスタモジュールが同一半導体基板に形成さ
れるなどして、当該他のバスマスタモジュールのバスエ
ラーに対する固有の例外処理要求を、当該要求に対して
割り当てられたセントラル・プロセッシング・ユニット
の専用端子に専用信号線を介して与えらるから、セント
ラル・プロセッシング・ユニットは例外処理要求の解析
が必要なくなり、これによって、バスマスタモジュール
のバスエラーに対する例外処理のためのサービスプログ
ラムを実行に移すまでの時間を一層短縮することができ
る。
の他のバスマスタモジュールが同一半導体基板に形成さ
れるなどして、当該他のバスマスタモジュールのバスエ
ラーに対する固有の例外処理要求を、当該要求に対して
割り当てられたセントラル・プロセッシング・ユニット
の専用端子に専用信号線を介して与えらるから、セント
ラル・プロセッシング・ユニットは例外処理要求の解析
が必要なくなり、これによって、バスマスタモジュール
のバスエラーに対する例外処理のためのサービスプログ
ラムを実行に移すまでの時間を一層短縮することができ
る。
第1図は本発明の1実施例であるシングルチップマイク
ロコンピュータのブロック図。 第2図はDMACのバスエラーを固有の例外処理要求で
対処する動作の一例を示すフローチャート、 第3図はDMACのバスエラーを割込み要求で対処する
動作の一例を示すフローチャートである。 MCU・・・シングルチップマイクロコンピュータ、1
・・・CPU、2・・・DMACl3・・・バスアービ
タ、8・・・割込みコントローラ、1・・・CPU、2
・・・DMACl3・・・バスアービタ、8・・・割込
みコントローラ、20・・・ステータスレジスタ、21
・・・論理ゲ−ト、22・・・優先レベル調停回路、2
3・・・比較判定手段、NMI 1.NMI2.lNT
1〜INTn・・・割込み信号、BREQcpu、BR
EQdmac ”’バス使用要求信号、BACKc p
u、BACK d m a c・・・バス使用承認信
号、BERR・・・バスエラー発生信号、BETREQ
・・・バスエラー処理要求信号、BERRc p u、
BERRdma a・・・バスエラー検出信号。
ロコンピュータのブロック図。 第2図はDMACのバスエラーを固有の例外処理要求で
対処する動作の一例を示すフローチャート、 第3図はDMACのバスエラーを割込み要求で対処する
動作の一例を示すフローチャートである。 MCU・・・シングルチップマイクロコンピュータ、1
・・・CPU、2・・・DMACl3・・・バスアービ
タ、8・・・割込みコントローラ、1・・・CPU、2
・・・DMACl3・・・バスアービタ、8・・・割込
みコントローラ、20・・・ステータスレジスタ、21
・・・論理ゲ−ト、22・・・優先レベル調停回路、2
3・・・比較判定手段、NMI 1.NMI2.lNT
1〜INTn・・・割込み信号、BREQcpu、BR
EQdmac ”’バス使用要求信号、BACKc p
u、BACK d m a c・・・バス使用承認信
号、BERR・・・バスエラー発生信号、BETREQ
・・・バスエラー処理要求信号、BERRc p u、
BERRdma a・・・バスエラー検出信号。
Claims (1)
- 【特許請求の範囲】 1、セントラル・プロセッシング・ユニット及びその他
のバスマスタモジュールを備え、上記その他のバスマス
タモジュールは、当該バスマスタモジュールのバスサイ
クにおけるバスエラーを検出したとき、当該バスエラー
固有の例外処理を上記セントラル・プロセッシング・ユ
ニットに要求するようにされ、上記セントラル・プロセ
ッシング・ユニットは、例外処理要求に対し、割込み要
求に対して行われるマスクビットの変更に類似する処理
を行わずにその例外処理固有のサービスプログラムの実
行に移行するようにされて成るものであることを特徴と
するバスエラー処理システム。 2、上記バスエラー固有の例外処理要求は、当該要求に
対して割り当てられたセントラル・プロセッシング・ユ
ニットの専用端子に専用信号線を介して与えられるよう
にされて成るものであることを特徴とする特許請求の範
囲第1項記載のバスエラー処理システム。 3、上記セントラル・プロセッシング・ユニットは、命
令実行途中でバス権を放棄したときに発生される上記バ
スエラー固有の例外処理要求を、当該命令の残りの処理
を実行した後の所定タイミングで受付けるようにされて
成るものであることを特徴とする特許請求の範囲第1項
記載のバスエラー処理システム。
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63161884A JP2965074B2 (ja) | 1987-08-25 | 1988-06-29 | マイクロコンピュータ |
| KR1019880010175A KR960006500B1 (ko) | 1987-08-25 | 1988-08-10 | 버스 에러 처리 시스템 |
| DE3853324T DE3853324T2 (de) | 1987-08-25 | 1988-08-17 | Busfehlerverarbeitungssystem. |
| DE3856342T DE3856342T2 (de) | 1987-08-25 | 1988-08-17 | Busfehlerverarbeitungssystem |
| EP88307609A EP0305106B1 (en) | 1987-08-25 | 1988-08-17 | Bus error processing system |
| EP94101525A EP0598704B1 (en) | 1987-08-25 | 1988-08-17 | Bus error processing system |
| US07/774,640 US5375211A (en) | 1987-08-25 | 1991-10-11 | Bus error processing system having direct bus master/CPU communication |
| HK27796A HK27796A (en) | 1987-08-25 | 1996-02-15 | Bus error processing system |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62-211186 | 1987-08-25 | ||
| JP21118687 | 1987-08-25 | ||
| JP63161884A JP2965074B2 (ja) | 1987-08-25 | 1988-06-29 | マイクロコンピュータ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01131943A true JPH01131943A (ja) | 1989-05-24 |
| JP2965074B2 JP2965074B2 (ja) | 1999-10-18 |
Family
ID=26487840
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63161884A Expired - Fee Related JP2965074B2 (ja) | 1987-08-25 | 1988-06-29 | マイクロコンピュータ |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5375211A (ja) |
| EP (2) | EP0598704B1 (ja) |
| JP (1) | JP2965074B2 (ja) |
| KR (1) | KR960006500B1 (ja) |
| DE (2) | DE3856342T2 (ja) |
| HK (1) | HK27796A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007012065A (ja) * | 2005-07-01 | 2007-01-18 | Samsung Electronics Co Ltd | バスシステム及びバス仲裁方法 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5790892A (en) * | 1995-09-29 | 1998-08-04 | International Business Machines Corporation | Information handling system for modifying coherency response set to allow intervention of a read command so that the intervention is not allowed by the system memory |
| US5790814A (en) * | 1996-01-23 | 1998-08-04 | Dell U.S.A., L.P. | Technique for supporting semi-compliant PCI devices behind a PCI-to-PCI bridge |
| US5898877A (en) * | 1996-02-29 | 1999-04-27 | Sanyo Electric Co., Ltd. | Processor using special instruction set to enhance exception handling |
| US6332181B1 (en) * | 1998-05-04 | 2001-12-18 | International Business Machines Corporation | Recovery mechanism for L1 data cache parity errors |
| US6526514B1 (en) * | 1999-10-11 | 2003-02-25 | Ati International Srl | Method and apparatus for power management interrupt processing in a computing system |
| DE10244978B4 (de) * | 2002-09-26 | 2007-05-03 | Siemens Ag | Verfahren und System zur Synchronisation von Zeitgebern für die Gesprächszeitmessung |
| JP2006155488A (ja) * | 2004-12-01 | 2006-06-15 | Sony Corp | データ処理装置およびデータ処理方法 |
| CN110083473B (zh) * | 2019-04-16 | 2023-01-10 | 芯来智融半导体科技(上海)有限公司 | 基于risc-v架构总线访问错误的改进系统及方法 |
| US12346722B2 (en) * | 2021-12-07 | 2025-07-01 | Microchip Technology Incorporated | Systems and methods for managing interrupt priority levels |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5471954A (en) * | 1977-11-21 | 1979-06-08 | Hitachi Ltd | Detection system for malfunction position of common bus circuit |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59198824A (ja) * | 1983-04-22 | 1984-11-10 | 株式会社フジクラ | トラフ内布設の油入りケ−ブル線路 |
| JPS60183657A (ja) * | 1984-03-02 | 1985-09-19 | Ricoh Co Ltd | 共通バス障害検知方式 |
| US4727477A (en) * | 1985-03-22 | 1988-02-23 | International Business Machines Corp. | Logically transportable microprocessor interface control unit permitting bus transfers with different but compatible other microprocessors |
-
1988
- 1988-06-29 JP JP63161884A patent/JP2965074B2/ja not_active Expired - Fee Related
- 1988-08-10 KR KR1019880010175A patent/KR960006500B1/ko not_active Expired - Fee Related
- 1988-08-17 EP EP94101525A patent/EP0598704B1/en not_active Expired - Lifetime
- 1988-08-17 DE DE3856342T patent/DE3856342T2/de not_active Expired - Fee Related
- 1988-08-17 DE DE3853324T patent/DE3853324T2/de not_active Expired - Fee Related
- 1988-08-17 EP EP88307609A patent/EP0305106B1/en not_active Expired - Lifetime
-
1991
- 1991-10-11 US US07/774,640 patent/US5375211A/en not_active Expired - Lifetime
-
1996
- 1996-02-15 HK HK27796A patent/HK27796A/en not_active IP Right Cessation
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5471954A (en) * | 1977-11-21 | 1979-06-08 | Hitachi Ltd | Detection system for malfunction position of common bus circuit |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007012065A (ja) * | 2005-07-01 | 2007-01-18 | Samsung Electronics Co Ltd | バスシステム及びバス仲裁方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2965074B2 (ja) | 1999-10-18 |
| EP0305106B1 (en) | 1995-03-15 |
| US5375211A (en) | 1994-12-20 |
| DE3856342T2 (de) | 2000-02-03 |
| EP0305106A3 (en) | 1990-03-14 |
| EP0598704A2 (en) | 1994-05-25 |
| KR960006500B1 (ko) | 1996-05-16 |
| DE3856342D1 (de) | 1999-07-15 |
| DE3853324T2 (de) | 1995-10-19 |
| DE3853324D1 (de) | 1995-04-20 |
| EP0598704B1 (en) | 1999-06-09 |
| KR890004237A (ko) | 1989-04-20 |
| EP0305106A2 (en) | 1989-03-01 |
| HK27796A (en) | 1996-02-23 |
| EP0598704A3 (en) | 1995-07-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4831523A (en) | Multiple DMA controller chip sequencer | |
| KR100252752B1 (ko) | 다단계 제어 버스 중재장치 | |
| JPH0467224B2 (ja) | ||
| TWI489292B (zh) | 資料空間仲裁器 | |
| JPH08339346A (ja) | バスアービタ | |
| US6959354B2 (en) | Effective bus utilization using multiple bus interface circuits and arbitration logic circuit | |
| JP2965074B2 (ja) | マイクロコンピュータ | |
| US20060156075A1 (en) | Semiconductor integrated circuit | |
| US5544333A (en) | System for assigning and identifying devices on bus within predetermined period of time without requiring host to do the assignment | |
| US5261083A (en) | Floppy disk controller interface for suppressing false verify cycle errors | |
| JPH0696014A (ja) | バス使用優先順位制御装置 | |
| US6105082A (en) | Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle | |
| JPS62154045A (ja) | バス調停方式 | |
| JPH08137785A (ja) | Dma制御装置 | |
| US6467001B1 (en) | VLSI chip macro interface | |
| US5799160A (en) | Circuit and method for controlling bus arbitration | |
| JPS603049A (ja) | バスインタ−フエ−ス装置 | |
| JP2024059024A (ja) | 半導体装置、バス制御回路およびバス制御方法 | |
| JP2006155488A (ja) | データ処理装置およびデータ処理方法 | |
| CN88100963A (zh) | 中央处理器代表无判优功能外设进行判优的存储器直接存取访回判优设备 | |
| JP2846999B2 (ja) | マイクロプロセッサ | |
| US20020190757A1 (en) | Output control circuit and output control method | |
| JPH0991247A (ja) | バス調停装置 | |
| JPH04266147A (ja) | バスアダプタ装置 | |
| JP2010140130A (ja) | 半導体装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |