(57)【要約】      （修正有）【課題】同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して受け付けられても、それらが同時発生に係るものであることを明らかにし、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証する。【解決手段】同期動作する一つの回路モジュールから複数のイベント信号を同時に発生するときセット（第１状態から第２状態へ変更）される同時発生フラグを用意する。同時発生フラグが参照されて、同時発生に係るイベント信号が発生されたことを判別すると、同時発生に係るイベント信号に対応する処理を優先度順に実行し、又はその処理を指示し若しくは起動する要求を優先度順に発行する。【選択図】図７
2014137606.tif 000002
【特許請求の範囲】
【請求項１】
イベント信号を発生可能な複数の回路モジュールと、前記回路モジュールからイベント信号が発生されたとき、発生されたイベント信号に応ずる処理を制御するコントローラとを有し、
前記回路モジュールは処理の優先度が異なる複数の所定のイベント信号を同時に発生するときセット状態にされる同時発生フラグを有し、
前記コントローラは、前記回路モジュールが前記所定のイベント信号を発生したとき、その要求元に係る回路モジュールの前記同時発生フラグを参照し、それがセット状態のときは、前記所定のイベント信号に対応する処理とそのイベント信号と同時発生の別のイベント信号に対応する処理とを優先度順にするための制御を行う、データ処理装置。
【請求項２】
命令を実行する中央処理装置と、イベント信号を発生可能な複数の回路モジュールと、前記回路モジュールから発生されたイベント信号による処理要求を受け付け、受付が競合する処理要求に対しては割込み優先度による処理順の調停を行って、受け付けた処理要求に応ずる割込み処理を前記中央処理装置に要求する割り込みコントローラと、を有し、
前記回路モジュールは同時発生フラグを有し、割り込み優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とし、
前記中央処理装置は、前記割り込みコントローラから所定の割り込み処理が要求されたとき、その要求の割り込み要因に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定の割り込み処理と、そのイベント信号と同時発生の別のイベント信号に係る割込み処理とを、優先度順に実行させ、
前記中央処理装置は前記同時発生フラグを参照した後に第１状態にする、データ処理装置。
【請求項３】
請求項２において、前記割り込みコントローラは、前記イベント信号毎に処理要求の有無を示す処理要求フラグを有し、
前記中央処理装置は、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応する割込み処理が未処理であるか否かを判別し、割込み処理の完了後に対応する処理要求フラグを要求無しの状態にクリアする、データ処理装置。
【請求項４】
請求項２において、前記割り込みコントローラは多重割り込みを禁止可能である、データ処理装置。
【請求項５】
請求項２において、前記回路モジュールと前記割り込みコントローラは異なるクロック信号に同期して動作する、データ処理装置。
【請求項６】
請求項２において、前記割り込みコントローラは、割込み信号とイベント信号に応ずる割込み要因情報とによって割込み処理を要求する、データ処理装置。
【請求項７】
命令を実行する中央処理装置と、イベント信号を発生可能な複数の回路モジュールと、前記回路モジュールから発生されたイベント信号による処理要求を受け付け、受付が競合する処理要求に対しては割込み優先度による処理順の調停を行って、受け付けた処理要求に応ずる割込み処理を前記中央処理装置に要求する割り込みコントローラと、を有し、
前記回路モジュールは同時発生フラグを有し、割り込み優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とし、
前記割り込みコントローラは、前記回路モジュールから所定のイベント信号による処理要求を受け付けたとき、その要求された処理要因に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定の処理要求に応ずる割込み処理と、そのイベント信号と同時発生の別のイベント信号に係る処理要求に応ずる割込み処理とを、優先度順に要求し、
前記割り込みコントローラは前記同時発生フラグを参照した後に第１状態にする、データ処理装置。
【請求項８】
請求項７において、前記割り込みコントローラは、前記イベント信号毎に処理要求の有無を示す処理要求フラグを有し、
前記割り込みコントローラは、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応する割込み処理が未処理であるか否かを判別し、
前記中央処理装置は、割込み処理の完了後に対応する処理要求フラグを要求無しの状態にクリアする、データ処理装置。
【請求項９】
請求項７において、前記割り込みコントローラは多重割り込みを禁止可能である、データ処理装置。
【請求項１０】
請求項７において、前記回路モジュールと前記割り込みコントローラは異なるクロック信号に同期して動作する、データ処理装置。
【請求項１１】
請求項７において、前記割り込みコントローラは、割込み信号とイベント信号に応ずる割込み要因情報とによって割込み処理を要求する、データ処理装置。
【請求項１２】
命令を実行する中央処理装置と、イベント信号を発生可能な複数の回路モジュールと、前記回路モジュールから発生されたイベント信号を受け付け、受付が競合するイベント信号に対しては起動優先度による処理順の調停を行って、受け付けたイベント信号に応じて前記回路モジュールに動作の起動制御信号を出力可能なイベントリンクコントローラとを有し、
前記回路モジュールは同時発生フラグを有し、起動優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とし、
前記イベントリンクコントローラは書換え可能な記憶回路を有し、前記記憶回路は前記イベント信号に応答して出力すべき起動制御信号を特定するためのイベント制御情報の格納に利用され、
前記イベントリンクコントローラは、前記回路モジュールから所定のイベント信号に応ずる処理要求を受け付けたとき、その要求された処理要因に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定の処理要求に応ずる起動制御信号の出力と、そのイベント信号と同時発生の別のイベント信号に係る処理要求に応ずる起動制御信号の出力とを、優先度順に実行し、
前記イベントリンクコントローラは前記同時発生フラグを参照した後に第１状態にする、データ処理装置。
【請求項１３】
請求項１２において、前記イベントリンクコントローラは前記イベント信号毎に処理要求の有無を示す処理要求フラグを有し、
前記イベントリンクコントローラは、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応する起動制御信号の出力が未出力であるか否かを判別し、
前記起動制御信号を受ける回路モジュールは、当該起動制御信号による動作の完了後に対応する処理要求フラグを要求無しの状態にクリアする、データ処理装置。
【請求項１４】
請求項１２において、前記回路モジュールと前記イベントリンクコントローラは異なるクロック信号に同期して動作する、データ処理装置。
【請求項１５】
請求項１２において、前記イベント制御情報は、前記イベント信号と前記回路モジュールとの対応を可変可能に指定し、且つ、前記回路モジュールにおいて選択可能な動作を可変可能に指定する情報である、データ処理装置。
【請求項１６】
命令を実行する中央処理装置と、イベント信号を発生可能な複数の回路モジュールと、前記回路モジュールから発生されたイベント信号を受け付け、受付が競合するイベント信号に対する処理の優先度による処理順の調停を行って、受け付けたイベント信号に応ずる処理を所要の回路モジュールに要求するコントローラと、を有し、
前記回路モジュールは同時発生フラグを有し、前記処理の優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とし、
前記コントローラは、前記回路モジュールから所定のイベント信号による処理が要求されたとき、その要求元に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定のイベント信号に対応する処理とそのイベント信号と同時発生の別のイベント信号に対応する処理とを優先度順に要求し、
前記コントローラは前記同時発生フラグを参照した後に第１状態にする、データ処理装置。
【請求項１７】
請求項１６において、前記コントローラは前記イベント信号毎に処理要求の有無を示す処理要求フラグを有し、
前記コントローラは、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応して要求された処理が未処理であるか否かを判別し、
イベント信号に対応して処理が要求された回路モジュールは、要求された処理の完了後に対応する処理要求フラグを要求無しの状態にクリアする、データ処理装置。
【請求項１８】
請求項１６において、前記回路モジュールと前記コントローラは異なるクロック信号に同期して動作する、データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベントの発生に応答する制御技術に関し、例えばマイクロコンピュータにおける割り込み制御に適用して有効な技術に関する。
【背景技術】
【０００２】
イベントの発生に応答する制御技術として代表的な割り込み制御では、周辺回路がイベント信号を発生すると、これを割り込みコントローラが受け付け、割り込みコントローラは例えば受け付けたイベント信号に応ずる割り込み要因をベクタ情報としてＣＰＵに出力すると共に、割り込み信号によってＣＰＵに割り込み処理を要求する。割り込みコントローラは同時に複数のイベント信号を受け付けたとき、競合するイベント信号に対して割り込み優先度に応じた調停を行い、優先度の高い方の割り込み処理をＣＰＵに要求する。ここで、同時発生に係る複数のイベント信号が割り込みコントローラに到達するまでの間に信号伝播路の信号遅延に差を生ずる場合がある。このとき、割り込み優先度の低い方のイベント信号が先に受け付けられると、割り込み優先度の高い割り込み処理が後回しになる。このような問題点に着眼した技術として特許文献１がある。
【０００３】
特許文献１では、前後に入力する複数のイベント信号に対して相互に割り込み優先順位を判定すべき対象として、所定時間幅毎に入力するイベント信号とするものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２０３１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者は複数のイベント信号の伝達遅延による不都合について検討した。上述の如く同時発生に係る優先度の異なるイベント信号が伝達遅延によって前後して割り込みコントローラに入力される場合である。これに対して特許文献１の技術を適用することができるが、伝達遅延による到達時間が所定時間幅に収まればよいが、これを超えた場合には特許文献１では対処することができない。遅延成分には配線遅延だけでなく信号クロストークによる遅延もあり、伝達遅延が一定する保証もないから、この点では、前記所定時間幅は余裕を持て大きくすることが必要になる。しかしながら、そうすると、今度は、本来前後して発生したイベント信号も同時発生と誤認識されて優先度による調停の対象にされ、割り込み優先度は低いが早く実行したい割り込み処理が後回しになる虞を生ずる。割り込みに代表されるようなイベントの発生はタイマやＡ／Ｄ変換回路などの回路モジュールから非同期で発生される。異なる回路モジュールから非同期で偶然同時に発生されたイベント信号による処理順が割り込み優先度順にならなくても何ら問題を生じない。これに対し、一つの回路モジュールから同時に発生されたイベント信号による処理順が割り込み優先度順にならなければ、当該回路モジュールの動作に不都合を生ずる虞がある。
【０００６】
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される実施の形態のうち代表的ものの概要を簡単に説明すれば下記の通りである。
【０００８】
すなわち、同期動作する一つの回路モジュールから複数のイベント信号を同時に発生するときセット（第１状態から第２状態へ変更）される同時発生フラグを用意する。同時発生される可能性のある複数のイベント信号の内で優先度の低い方のイベント信号が発生されたとき、同時発生フラグを参照して、同時発生に係るイベント信号が発生されたか否かを判定する。同時発生を判別したときは同時発生に係るイベント信号に対応する処理を優先度順に実行し、又はその処理を指示し若しくは起動する要求を優先度順に発行する。同時発生に係るイベント信号に対応する処理がどれであるかについては、例えば、前記イベント信号毎に処理要求があったことを示す処理要求フラグを参照することによって判別すればよい。
【発明の効果】
【０００９】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１０】
すなわち、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して受け付けられても、それらが同時発生したか否かは同時発生フラグを参照することによって明らかにされる。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【図面の簡単な説明】
【００１１】
【図１】図１は第１の実施の形態に係るデータ処理装置としてマイクロコンピュータを例示するブロック図である。
【図２】図２は同時発生に係るイベント信号が配線遅延やクロストーク遅延により前後して割り込みコントローラに受け付けられたとき割り込みコントローラが優先度の高い方のイベント信号を先に受け付ける場合を例示するタイミングチャートである。
【図３】図３は同時発生に係るイベント信号が配線遅延やクロストーク遅延により前後して割り込みコントローラに受け付けられたとき割り込みコントローラが優先度の低い方のイベント信号を先に受け付ける場合を例示するタイミングチャートである。
【図４】図４は同時発生フラグＳＧＦＬＧのセットタイミングを例示する説明図である。
【図５】図５はタイマから同時発生されるイベント信号に起因する割込み処理動作に関連する主な回路部分を代表的に示したブロック図である。
【図６】図６は図５の回路の動作タイミングを例示するタイミングチャートである。
【図７】図７は同時発生可能なイベント信号に応ずる優先度の低い方の割り込み要求に対するＣＰＵの処理を例示するフローチャートである。
【図８】図８は同時発生可能なイベント信号に応ずる優先度の最も高い方の割り込み要求に対するＣＰＵの処理を例示するフローチャートである。
【図９】図９は秒検出イベントと分検出イベントが同時に発生して、秒累進割込み要求が先行した場合の表示状態と分累進割込み要求が先行した場合の表示状態とを示す説明図である。
【図１０】図１０は第２の実施の形態に係るデータ処理装置としてマイクロコンピュータを例示するブロック図である
【図１１】図１１はタイマから同時発生されるイベント信号に起因する第２の実施の形態の割込み処理動作に関連する主な回路部分を代表的に示したブロック図である。
【図１２】図１２には第３の実施の形態に係るデータ処理装置としてマイクロコンピュータを例示するブロック図である。
【図１３】図１３はタイマから同時発生されるイベント信号に応答するイベントリンクコントローラによる起動制御による動作に関連する主な回路部分を代表的に示したブロック図である。
【発明を実施するための形態】
【００１２】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１３】
〔１〕＜優先度が異なる同時発生イベントに応答してセットされる同時発生フラグを参照する制御＞
データ処理装置（１，１Ａ，１Ｂ）は、イベント信号（ＥＶＴ１~ＥＶＴ８）を発生可能な複数の第１回路（１５~１７，２２，２３）と、前記第１回路からイベント信号が発生されたとき、発生されたイベント信号に応ずる処理を制御する第２回路（２，１３Ａ，６）とを有する。前記第１回路は処理の優先度が異なる複数の所定のイベント信号（ＩＶＴ１，ＥＶＴ２）を同時に発生するときセット状態にされる同時発生フラグ（ＳＧＦＬＧ）を有する。前記第２回路は、前記第１回路が前記所定のイベント信号を発生したとき、その要求元に係る回路モジュールの前記同時発生フラグを参照し、それがセット状態のときは、前記所定のイベント信号に対応する処理とそのイベント信号と同時発生の別のイベント信号に対応する処理とを優先度順にするための制御を行う。
【００１４】
これによれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して受け付けられても、それらが同時発生に係るものであることは要求された割り込み要因に係る第１回路の同時発生フラグを参照することによって判別することができる。異なる第１回路から偶然同時に発生されたイベント信号、更には同じ第１回路から異なるタイミングで発生されたイベント信号とを確実に区別することができる。第２回路は同時発生に係る割り込み要求であることを判別したとき同時発生に係るイベント信号に対応する処理を優先度順に実行する。したがって、一つの第１回路から同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００１５】
〔２〕＜優先度が異なる同時発生イベントに応答する中央処理装置による処理順制御＞
データ処理装置（１）は、命令を実行する中央処理装置（２）と、イベント信号（ＥＶＴ１~ＥＶＴ８）を発生可能な複数の回路モジュール（１５~１７，２２，２３）と、前記回路モジュールから発生されたイベント信号による処理要求を受け付け、受付が競合する処理要求に対しては割込み優先度による処理順の調停を行って、受け付けた処理要求に応ずる割込み処理を前記中央処理装置に要求する割り込みコントローラ（１３）と、を有する。前記回路モジュールは同時発生フラグ（ＳＧＦＬＧ）を有し、割り込み優先度の異なる複数のイベント信号を同時に発生するとき、前記同時発生フラグを第１状態から第２状態とする。前記中央処理装置は、前記割り込みコントローラから所定の割り込み処理が要求されたとき、その要求の割り込み要因に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定の割り込み処理と、そのイベント信号と同時発生の別のイベント信号に係る割込み処理とを、優先度順に実行する。前記中央処理装置は前記同時発生フラグを参照した後に第１状態にする。
【００１６】
これによれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して割り込みコントローラに受け付けられても、それらが同時発生に係るものであることは割り込みが要求された中央処理装置がその要求された割り込み要因に係る回路モジュールの同時発生フラグを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。中央処理装置は同時発生に係る割り込み要求であることを判別したときは、例えば割り込みコントローラの内部情報などを参照して、同時発生に係るイベント信号に対応する割込み処理を優先度順に実行する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００１７】
〔３〕＜処理要求フラグの参照＞
項２において、前記割り込みコントローラは、前記イベント信号毎に処理要求の有無を示す処理要求フラグ（ＰＤＦＬＧ１~ＰＤＦＬＧ８）を有する。前記中央処理装置は、前記処理要求フラグを前記内部情報として参照することにより、同時発生に係るイベント信号に対応する割込み処理が未処理であるか否かを判別し、割込み処理の完了後に対応する処理要求フラグを要求無しの状態にクリアする。
【００１８】
これによれば、中央処理装置は処理要求フラグを参照することにより同時発生に係るイベント信号に対応する他の割込み処理を容易に判別して、同時発生に係るイベント信号に対応する割込み処理を優先度順に実行することができる。
【００１９】
〔４〕＜多重割込み禁止＞
項２又は３において、前記割り込みコントローラは多重割り込みを禁止可能である。
【００２０】
これによれば、多重割り込みによる割込み処理の複雑化による弊害の発生の虞を未然に防止するために多重割り込みを禁止するとき、項１の手段は必須となる。多重割り込みが許容される場合に割込み優先度の低い割込み処理が先に開始されても、それより優先度の高い割込み要求に対してはその処理中に割り込むことが可能である。したがって、優先度の低い割り込み処理は優先度の高い割込み処理の完了後でなければ完了されないことになる。この点で、同時発生に係る複数のイベント信号に対応する割込み処理の内で優先度が低い割込み処理が先に要求されても割り込み処理の完了時点においては問題ない。しかしながら、優先度が低い割込み処理が先に開始されたときその割込み処理の途中の処理が先行することによって悪影響を及ぼす虞まで解消される訳ではない。よって、項２の手段は、多重割り込みの禁止を必須の要件とするものではない。
【００２１】
〔５〕＜回路モジュールと割り込みコントローラは異なるクロック信号に同期＞
項２乃至４の何れかにおいて、前記回路モジュールと前記割り込みコントローラは異なるクロック信号（ｆｐ、ｆｃ）に同期して動作する。
【００２２】
これによれば、同期クロック信号が相互に異なる回路間での信号取り込みタイミングは同期クロック信号が相互に同じ回路間での信号取り込みタイミングよりもタイミングのずれが大きくなる虞があるから、この場合に項２の手段は特に好適である。
【００２３】
〔６〕＜割込み信号及び要因情報＞
項２乃至５の何れかにおいて、前記割り込みコントローラは、割込み信号（ＩＮＴ）とイベント信号に応ずる割込み要因情報（ＶＣＴｉ）とによって割込み処理を要求する。
【００２４】
これによれば、中央処理装置は割り込み要求に即座に応答することができる。
【００２５】
〔７〕＜優先度が異なる同時発生イベントに応答する割込みコントローラによる順序制御＞
データ処理装置（１Ａ）は、命令を実行する中央処理装置（２）と、イベント信号（ＥＶＴ１~ＷＶＴ８）を発生可能な複数の回路モジュール（１５~１７，２２，２３）と、前記回路モジュールから発生されたイベント信号による処理要求を受け付け、受付が競合する処理要求に対しては割込み優先度による処理順の調停を行って、受け付けた処理要求に応ずる割込み処理を前記中央処理装置に要求する割り込みコントローラ（１３Ａ）と、を有する。前記回路モジュールは同時発生フラグ（ＳＧＦＬＧ）を有し、割り込み優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とする。前記割り込みコントローラは、前記回路モジュールから所定のイベント信号による処理要求を受け付けたとき、その要求された処理要因に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定の処理要求に応ずる割込み処理と、そのイベント信号と同時発生の別のイベント信号に係る処理要求に応ずる割込み処理とを、優先度順に要求する。そして、前記割り込みコントローラは前記同時発生フラグを参照した後に第１状態にする。
【００２６】
これによれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して割り込みコントローラに受け付けられても、それらが同時発生に係るものであることは前記イベント信号による処理要求を受け付けた割込みコントローラがその要求された処理要因に係る回路モジュールの同時発生フラグを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。割込みコントローラは同時発生に係るイベント信号による処理要求であることを判別したときは、例えばイベント信号の受付に係る内部情報などを参照して、同時発生に係るイベント信号に対応する割込み処理を優先度順に要求する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００２７】
〔８〕＜処理要求フラグの参照＞
項７において、前記割り込みコントローラは、前記イベント信号毎に処理要求の有無を示す処理要求フラグ（ＰＤＦＬＧ１~ＰＤＦＬＧ８）を有する。そして、前記割り込みコントローラは、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応する割込み処理が未処理であるか否かを判別する。前記中央処理装置は、割込み処理の完了後に対応する処理要求フラグを要求無しの状態にクリアする。
【００２８】
これによれば、割込みコントローラは処理要求フラグを参照することにより同時発生に係るイベント信号に対応する他の割込み処理を容易に判別して、同時発生に係るイベント信号に対応する割込み処理を優先度順に要求することができる。
【００２９】
〔９〕＜多重割込み禁止＞
項７又は８において、前記割り込みコントローラは多重割り込みを禁止可能である。
【００３０】
これによれば、多重割り込みによる割込み処理の複雑化による弊害の発生の虞を未然に防止するために多重割り込みを禁止するとき、項７の手段は必須である。但し、項４と同様に、項７の手段は、多重割り込みの禁止を必須の要件とするものではない。
【００３１】
〔１０〕＜回路モジュールと割り込みコントローラは異なるクロック信号に同期＞
項７乃至９の何れかにおいて、前記回路モジュールと前記割り込みコントローラは異なるクロック信号（ｆｐ、ｆｃ）に同期して動作する。
【００３２】
これによれば項５と同様の作用効果を奏する。
【００３３】
〔１１〕＜割込み信号及び要因情報＞
項７乃至１０の何れかにおいて、前記割り込みコントローラは、割込み信号（ＩＮＴ）とイベント信号に応ずる割込み要因情報（ＶＣＴｉ）とによって割込み処理を要求する。
【００３４】
これによれば項６と同様の作用効果を奏する。
【００３５】
〔１２〕＜優先度が異なる同時発生イベントに応答するイベントリンクコントローラによる順序制御＞
データ処理装置（１Ｂ）は、命令を実行する中央処理装置（２）と、イベント信号（ＥＶＴ１~ＥＶＴ８）を発生可能な複数の回路モジュール（１５~１７，２２，２３）と、前記回路モジュールから発生されたイベント信号を受け付け、受付が競合するイベント信号に対しては起動優先度による処理順の調停を行って、受け付けたイベント信号に応じて前記回路モジュールに動作の起動制御信号を出力可能なイベントリンクコントローラ（６）とを有する。前記回路モジュールは同時発生フラグ（ＳＧＦＬＧ）を有し、起動優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とする。前記イベントリンクコントローラは書換え可能な記憶回路（３０）を有し、前記記憶回路は前記イベント信号に応答して出力すべき起動制御信号（ＳＴＲ１~ＳＴＲ８）を特定するためのイベント制御情報の格納に利用される。そして、前記イベントリンクコントローラは、前記回路モジュールから所定のイベント信号に応ずる起動処理が要求されたとき、その要求された起動処理要因に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定の処理要求に応ずる起動制御信号の出力と、そのイベント信号と同時発生の別のイベント信号に係る処理要求に応ずる起動制御信号の出力とを、優先度順に実行する。前記イベントリンクコントローラは前記同時発生フラグを参照した後に第１状態にする。
【００３６】
これによれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後してイベントリンクコントローラに受け付けられても、それらが同時発生に係るものであることは前記イベント信号による起動要求を受け付けたイベントリンクコントローラがその要求された起動要因に係る回路モジュールの同時発生フラグを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。イベントリンクコントローラは同時発生に係るイベント信号による起動要求であることを判別したときは、例えばイベント信号の受付に係る内部情報などを参照して、同時発生に係るイベント信号に対応する起動処理を優先度順に要求する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００３７】
〔１３〕＜処理要求フラグの参照＞
項１２において、前記イベントリンクコントローラは前記イベント信号毎に処理要求の有無を示す処理要求フラグ（ＬＰＤＦ１~ＬＰＤＦ８）を有する。そして、前記イベントリンクコントローラは、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応する起動制御信号の出力が未出力であるか否かを判別する。前記起動制御信号を受ける回路モジュールは、当該起動制御信号による動作の完了後に対応する処理要求フラグを要求無しの状態にクリアする。
【００３８】
これによれば、イベントリンクコントローラは処理要求フラグを参照することにより同時発生に係る他のイベント信号に対応する処理要求の有無を容易に判別して、同時発生に係るイベント信号に対応する処理を優先度順に起動することができる。
【００３９】
〔１４〕＜回路モジュールとイベントリンクコントローラは異なるクロック信号に同期＞
項１２又は１３において、前記回路モジュールと前記イベントリンクコントローラは異なるクロック信号（ｆｐ、ｆｃ）に同期して動作する。
【００４０】
これによれば項５と同様の作用効果を奏する。
【００４１】
〔１５〕＜イベト制御情報＞
項１２乃至１４の何れかにおいて、前記イベント制御情報は、前記イベント信号と前記回路モジュールとの対応を可変可能に指定し、且つ、前記回路モジュールにおいて選択可能な動作を可変可能に指定する情報である。
【００４２】
これによれば、回路モジュールが複数の動作形態を有するような場合に、前記イベント信号と起動制御信号との対応を規定するイベント制御情報を階層的に形成することが可能になる。
【００４３】
〔１６〕＜優先度の異なる同時発生のイベントに応答するコントローラによる処理順制御＞
データ処理装置（１Ｂ）は、命令を実行する中央処理装置（２）と、イベント信号（ＥＶＴ１~ＥＶＴ８）を発生可能な複数の回路モジュール（１５~１７、２２，２３）と、前記回路モジュールから発生されたイベント信号を受け付け、受付が競合するイベント信号に対する処理の優先度による処理順の調停を行って、受け付けたイベント信号に応ずる処理を所要の回路モジュールに要求するコントローラ（６）と、を有する。前記回路モジュールは同時発生フラグ（ＳＧＦＬＧ）を有し、前記処理の優先度の異なる複数のイベント信号を同時に発生するとき前記同時発生フラグを第１状態から第２状態とする。前記コントローラは、前記回路モジュールから所定のイベント信号による処理が要求されたとき、その要求元に係る回路モジュールの前記同時発生フラグを参照し、それが第２状態のときは、前記所定のイベント信号に対応する処理とそのイベント信号と同時発生の別のイベント信号に対応する処理とを優先度順に要求する。そして、前記コントローラは前記同時発生フラグを参照した後に第１状態にする。
【００４４】
これによれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して前記コントローラに受け付けられても、それらが同時発生に係るものであることは前記イベント信号による処理要求を受け付けたコントローラがその要求された処理要因に係る回路モジュールの同時発生フラグを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。前記コントローラは同時発生に係るイベント信号による処理要求であることを判別したときは、例えばイベント信号の受付に係る内部情報などを参照して、同時発生に係るイベント信号に対応する処理を優先度順に要求する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００４５】
〔１７〕＜処理要求フラグの参照＞
項１６において、前記コントローラは前記イベント信号毎に処理要求の有無を示す処理要求フラグ（ＬＰＤＦ１~ＬＰＤＦ８）を有する。そして、前記コントローラは、前記処理要求フラグを参照することにより、同時発生に係るイベント信号に対応して要求された処理が未処理であるか否かを判別する。イベント信号に対応して処理が要求された回路モジュールは、要求された処理の完了後に対応する処理要求フラグを要求無しの状態にクリアする。
【００４６】
これによれば、前記コントローラは処理要求フラグを参照することにより同時発生に係る他のイベント号に対応する処理要求を容易に判別して、同時発生に係るイベント信号に対応する処理を優先度順に要求することができる。
【００４７】
〔１８〕＜回路モジュールとコントローラは異なるクロック信号に同期＞
項１６又は１７において、前記回路モジュールと前記コントローラは異なるクロック信号（ｆｐ、ｆｃ）に同期して動作する。
【００４８】
これによれば項５と同様の作用効果を奏する。
【００４９】
なお、上記各項では一つの回路モジュールから優先度の異なる複数のイベント信号が発生した場合について概略説明をしたが、この「一つの回路モジュール」の範囲については特に限定するものではなく、ある特定の事象に応答して複数の回路モジュールがほぼ同時に異なる優先度のイベント信号または割込み要求を発生させる場合も該当する。以下の詳述においても同様である。
【００５０】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５１】
《第１の実施の形態》
図１には第１の実施の形態に係るデータ処理装置としてマイクロコンピュータ１が例示される。同図に示されるマイクロコンピュータ１は、特に制限されないが、CMOS集積回路製造技術によって単結晶シリコンのような１個の半導体基板に形成されている。
【００５２】
マイクロコンピュータ（ＭＣＵ）１は、命令を実行する中央処理装置（ＣＰＵ）２、データ転送制御を行うデータトランスファコントローラ（ＤＴＣ）３、ＲＡＭ４、及びフラッシュメモリ（ＦＬＡＳＨ）５を有する。特に制限されないが、それら回路は内部バス（ＩＢＵＳ）７に共通接続され、内部バス７はバスステートコントローラ（ＢＳＣ）１０を介して周辺バス（ＰＢＵＳ）１１に接続する。周辺バス１１には、割り込みコントローラ（ＩＮＴＣ）１３、タイマ（ＴＭＲ）１７、シリアルコミュニケーションインタフェース回路（ＳＣＩ）１６、入出力ポート（ＰＲＴ０〜ＰＲＴ５）１８〜２３、及びその他の回路（ＭＤＬ）１５が接続される。その他の回路１５はアナログ信号をディジタル信号に変換するＡ／Ｄ変換器、ディジタル信号をアナログ信号に変換するＤ／Ａ変換器（Ｄ／Ａ）などの回路であってよい。システムコントローラ（ＳＹＳＣ）２５はリセット信号ＲＥＳやモード信号ＭＤを入力してマイクロコンピュータ１の動作モードを決定する。ＲＡＭ４はＣＰＵ２のワーク領域、ＦＬＡＳＨ５はＣＰＵ２のプログラムやデータを書き換え可能に保有する。
【００５３】
ここで、ＴＭＲ１７、ＳＣＩ１６、ＭＤＬ１５、及び入出力ポート２２，２３は、その動作状態若しくは内部状態等の事象の発生に応じてイベント信号を出力する回路モジュールの代表である。ここではイベント信号として代表的にＥＶＴ１〜ＥＶＴ８が例示される。夫々のイベント信号ＥＶＴ１〜ＥＶＴ８は個々に予め決められた事象が発生したとき活性化される信号である。夫々のイベント信号ＥＶＴ１〜ＥＶＴ８は個々に非同期で活性化される。同一回路モジュールから出力される一部のイベント信号については同時に発生（活性化）することもある。ここでは、同時に発生する可能性のあるイベント信号としてイベント信号ＥＶＴ１，ＥＶＴ２を一例とする。
【００５４】
イベント信号ＥＶＴ１〜ＥＶＴ８は割り込みコントローラ１３に供給される。割り込みコントローラ１３は活性化されて入力されたイベント信号を受け付け、受け付けたタイミングの早遅やイベント信号に対応する割り込み優先度等にしたがった調停を行い、より早く受付され、割り込み優先度がより高いイベント信号に対応して、ＣＰＵ２に割込み要求ＩＲＱｉを行う。割り込み要求に当たって、割込みコントローラ１３は、特に制限されないが、多重割り込みを禁止する。或いはモード信号ＭＤで指定される動作モードに従ってシステムコントローラ２５が多重割込みを選択的に禁止する。
【００５５】
更に具体的には、割り込みコントローラ１３は、イベント信号ＥＶＴ１〜ＥＶＴ８毎に処理要求があったことを示し且つ対応する割り込み優先度が定義されている処理要求フラグＰＤＦＬＧ１〜ＰＤＦＬＧ８を有する。例えば、活性化されたイベント信号ＥＶＴ１，ＥＶＴ２が入力されると、動作クロックに同期して対応する処理要求フラグＰＤＦＬＧ１、ＰＤＦＬＧ２をセットする。割り込みコントローラ１３はセットされた処理要求フラグの中から割り込み優先度が最も高いフラグを判別し、そのフラグに対応するベクタ番号ＶＣＴｉと共に割り込み信号ＩＮＴを活性化して、ＣＰＵ２に割込みを要求する。割込み要求ＩＲＱｉ（ＩＮＴ，ＶＣＴｉ）があると、ＣＰＵ２は途中の命令実行を完了して退避動作を行い、その後、ベクタ番号ＶＣＴｉを用いて指定されるプログラムアドレスの処理に分岐される。特に制限されないが、処理要求フラグＰＤＦＬＧ１〜ＰＤＦＬＧ８のフラグ番号がベクタ番号とされ、ベクタ番号を受け取ったＣＰＵ２は所定のベースアドレス（ベクタアドレステーブルの先頭アドレス）にベクタ番号をオフセットアドレスとして加算し、加算演算されたアドレスによってベクタアドレステーブルをリードすることでベクタアドレス（ベクタ番号ＶＣＴｉを用いて指定されるプログラムアドレス）を取得する。
【００５６】
処理要求フラグＰＤＦＬＧ１〜ＰＤＦＬＧ８はＣＰＵ２によってアクセス可能である。したがって、ＣＰＵ２はその動作プログラムにしたがって処理要求フラグＰＤＦＬＧ１〜ＰＤＦＬＧ８をリードし、リードしたフラグから、イベントの発生があったか否かを知ることができるだけでなく、イベントの発生があった処理フラグを、対応するイベント信号の発生元、イベント信号の種別、対応する割込み優先度、更には、ベクタ番号に関連つけることも可能である。
【００５７】
セット状態にされた処理要求フラグＰＤＦＬＧ１〜ＰＤＦＬＧ８はＣＰＵ２によって対応する割込み処理が完了されることにより、ＣＰＵ２によってクリアされる。
【００５８】
ここで、同時発生に係るイベント信号が配線遅延やクロストーク遅延により前後して割り込みコントローラ１３に受け付けられる場合がある。例えば図２に例示されるように、時刻ｔ０でＴＭＲ１７からイベント信号ＥＶＴ１，ＥＶＴ２が同時に活性化されて出力されたとき、イベント信号ＥＶＴ２の伝達遅延が大きい場合には割り込みコントローラはイベント信号ＥＶＴ１を時刻ｔ１で受け付けた後、時刻ｔ２でイベント信号ＥＶＴ２を受け付ける。特に制限されないが、ＴＭＲ１７は図示を省略するクロックパルスジェネレータ（ＣＰＧ）から出力されるクロック信号ｆｐに同期動作され、ＣＰＵ２及びＩＮＴＣ１３は図示を省略するクロックパルスジェネレータ（ＣＰＧ）から出力されるクロック信号ｆｃに同期動作される。図３に例示されるようにそれとは逆にイベント信号ＥＶＴ１の伝達遅延が大きい場合には割り込みコントローラはイベント信号ＥＶＴ２を時刻ｔ１で受け付けた後、時刻ｔ２でイベント信号ＥＶＴ１を受け付ける。同じ回路モジュールから同時に出力された異なるイベント信号に対しては対応する割込み優先度順に割り込み処理されることが本来予定されている。したがって、図３の如く割り込み優先度の高いイベント信号ＥＶＴ１の受付が割り込み優先度の低いイベント信号ＥＶＴ２の受付けよりも後になっても、優先度の高いイベント信号ＥＶＴ１に対応する割込み処理が先に実行されることを保証することが必要になる。それを保証するための手段について以下に詳述する。
【００５９】
割り込み優先度の異なる複数のイベント信号を同時に発生する可能性のある回路モジュール、例えば、ＴＭＲ１７、ＳＣＩ１６、及びＭＤＬ１５は、夫々に同時発生フラグＳＧＦＬＧを有する。図１の例では一つの回路モジュールにおいて同時発生可能なイベント信号は一対図示されているだけであるが、回路モジュール内において同時発生フラグＳＧＦＬＧは、同時に発生する可能性のあるイベント信号群毎に設けられる。同時発生フラグＳＧＦＬＧを有するＴＭＲ１７は、例えば図４に例示されるように、クロック信号ｆｐの立ち上がりに同期して割り込み優先度の異なる複数のイベント信号ＥＶＴ１，ＥＶＴ２を同時に発生するとき、クロック信号ｆｐの立ち下がりに同期して前記同時発生フラグＳＧＦＬＧを第１状態から第２状態、例えば論理値０のクリア状態から論理値１のセット状態にする。
【００６０】
ＣＰＵ２は、前記割り込みコントローラ１３から所定の割り込み処理要求ＩＲＱｉがあったとき、その要求された割り込み要因に係る回路モジュールの前記同時発生フラグＳＧＦＬＧを参照する。割り込み要因はベクタ番号ＶＣＴｉから判別し、それによって割り込み要因に係る回路モジュールから同時発生フラグＳＧＦＬＧをリードする。同時発生フラグがセット状態でなければＣＰＵ２はその割り込み要求ＩＲＱｉに応答する割込み処理を実行する。図１の太線矢印は同時発生フラグＳＧＦＬＧと処理要求フラグＰＤＦＬＧ１~ＰＤＦＬＧ８の参照経路を模式的に示している。
【００６１】
ここで所定の割り込み要求とは、同一回路モジュールから同時に発生される可能性のある相互に割り込み優先度の異なるイベント信号のうち、割り込み優先度が最も低いイベント信号に対応して要求される割込み要求である。図１のＴＭＲの例では、同時に発生される可能性のあるイベント信号ＥＶＴ１、ＥＶＴ２のうち対応する割込み優先度の低いイベント信号ＥＶＴ２による割込み要求ＩＲＱ２である。同時発生の可能性があるイベント信号群毎に割り込み優先度の最も低い割り込み要求がシステム構成若しくはシステム仕様に応じて自ずから決まる。例えばＣＰＵ２の割り込み処理プログラムの先頭で、そのような割り込み要求であるか否かを判別することができる。したがって、図３の状態を生ずる可能性のある場合だけ前記同時発生フラグＳＧＦＬＧの参照が行われる。
【００６２】
同時発生フラグＳＧＦＬＧを参照したとき、それがセット状態であれば、ＣＰＵ２は更に、当該割り込み要因に係る回路モジュールに対応する処理要求フラグＰＤＦＬＧｉ及びこれと同時発生に係る別のイベント信号に対応する処理要求フラグＰＤＦＬＧｊを割り込みコントローラ１３から参照する。上述と同様にベクタ番号ＶＣＴｉから割り込み要因がわかるので、同時発生に係るイベント信号の内の一つに対応する処理要求フラグの所在がわかり、同時発生に係るイベント信号の内の他に対応する処理要求フラグの所在は処理要求フラグとイベント信号との対応関係によってわかる。そのような対応関係はＣＰＵ２の動作プログラムに記述されていても良いし、フラッシュメモリ５に対応テーブルとして用意しておいてもよい。ＣＰＵ２は、読み込んだ複数の処理要求フラグに基づいて、割り込み要求ＩＲＱｉに係る割り込み優先度に比べて割り込み優先度が高くされた、それと同時発生に係る他のイベント信号に対応する割込みの処理要求フラグがセット状態にされているか否かを判別する。即ち、同時発生に係る複数のイベント信号によって要求された割り込み処理のうちで割り込み優先度の高い割り込み処理が完了していないかが判別される。
【００６３】
判別結果が完了であれば、ＣＰＵ２は今回の当該割り込み要求ＩＮＴｉに応ずる割込み処理をそのまま実行する。
【００６４】
判別結果が完了でなければ、今回の当該割り込み要求ＩＮＴｉに応ずる割込み処理の実行を据え置き、それよりも割り込み優先度の高い同時発生に係る割り込み処理を先に実行する。先に実行すべき割込み処理は、既に参照した処理要求フラグＰＤＦＬＧｊとの関連で特定されるベクタを用いればよい。
【００６５】
同時発生に係るイベント信号が３個以上の場合も２個と同様である。要するに、その中で最も割り込み優先度の高い割り込み要求以外の割り込み要求があると、その割込み要求元の同時発生フラグＳＧＦＬＧを参照し、セットされていれば、当該割込み要求に関連する同時発生に係るイベント信号の要求フラグを参照する。参照した結果を用いて、同時発生に係る最優先度の割込み要求を実行したかを判別し、実行していなければそれを実行する。それが実行されていれば、或いは実行されたら、同時発生に係る次に優先度の高い割込み要求が今回の割り込み要求でないことを条件に、それを実行したかを判別し、実行していなければそれを実行する。それが実行されていれば、或いは実行されたら、今回の割り込み要求に係る処理を実行する。同時発生に係る次に優先度の高い割込み要求が今回の割り込み要求であれば、今回の割り込み要求に係る処理を実行すればよい。
【００６６】
上記処理で参照した同時発生フラグＳＧＦＬＧは、参照処理の後にＣＰＵ２によってクリアされる。また、上記一連の処理で割り込み優先度順に今回の割り込み要求よりも先に割り込み処理されたイベント信号に係る要求フラグは、当該割り込み処理を実行完了したときＣＰＵ２によってクリアされる。
【００６７】
図５乃至図８を参照してＴＭＲ１７から同時発生されるイベント信号ＥＶＴ１，ＥＶＴ２に起因する割込み処理動作について説明する。
【００６８】
図５にはＴＭＲ１７から同時発生されるイベント信号ＥＶＴ１，ＥＶＴ２に起因する割込み処理動作に関連する主な回路部分を代表的に示してある。ここではイベント信号ＥＶＴ１に対応する割込み優先度の方がイベント信号ＥＶＴ２に対応する割込み優先度より高いものとされる。
【００６９】
図６のタイミング図に例示されるように、ＴＭＲ１７がクロック信号ｆｐの立ち上がりに同期してイベント信号ＥＶＴ１，ＥＶＴ２を同時に発生したとき（時刻ｔ０）、クロック信号ｆｐの次の立ち下がりに同期してＴＭＲ１７は同時発生フラグＳＧＦＬＧをセットする（時刻ｔ１）。
【００７０】
ＩＮＴＣ１３は優先度の低いイベント信号ＥＶＴ２を先に受け付け（時刻ｔ１）、その後で優先度の高い方のイベント信号ＥＶＴ１を受け付ける（時刻ｔ２）。双方のイベント信号ＥＶＴ１，ＥＶＴ２の伝達経路における配線遅延の差などによる。ＩＮＴＣ１３は受け付けた順に処理要求フラグＰＤＦＬＧ２、ＰＤＦＬＧ１をセットし、先にセットされた処理要求フラグＰＤＦＬＧ２に応ずる割込み優先度の低い割り込み要求ＩＲＱ２（ＩＮＴ，ＶＣＴ２）をＣＰＵ２に出力する。
【００７１】
ＣＰＵ２はその割込み要求ＩＲＱ２に応答する処理を実行する。この割込み処理手順は図７に例示される。ＣＰＵ２は割込み要求ＩＲＱ２があったときイベント信号ＥＶＴ２に直接的に応ずる処理（割り込み応答処理Ｂ）を即座に開始しない。先ず、ＣＰＵ２は先ずＴＭＲ１７の同時発生フラグＳＧＦＬＧを参照してイベント信号ＥＶＴ１も同時発生したか否かを判別する（Ｓ１）。同時発生フラグＳＧＦＬＧがクリア状態であれば優先度の高いイベント信号ＥＶＴ１の同時発生はないので今回の割込み要求ＩＲＱ２に従った割り込み応答処理Ｂを実行すればよい（Ｓ６）。
【００７２】
同時発生フラグＳＧＦＬＧがセット状態のときは、先ず同時発生フラグＳＧＦＬＧをクリアし（Ｓ２）、同時発生のイベント信号ＥＶＴ１に係る割り込み優先度の高い割り込み要求ＩＲＱ１（ＩＮＴ，ＶＣＴ１）に直接的に応ずる処理（割り込み応答処理Ａ）が実行済みであるか否かを判別する（Ｓ３）。その判別には、イベント信号ＥＶＴ１に対応する処理要求フラグＰＤＦＬＧ１を参照してそれがクリア常態か否かに応じて判別すればよい。優先度の高い割り込み応答処理Ａが既に実行完了されていればステップＳ６の処理に遷移すればよい。
【００７３】
割り込み応答処理Ａが未だ実行完了されていないときはそれを実行し（Ｓ４）、実行後に対応する処理要求フラグＰＤＦＬＧ１をクリアする（Ｓ５）。この後に、今回の割込み要求ＩＲＱ２（ＩＮＴ，ＶＣＴ２）に応答する割り込み応答処理Ｂを実行し（Ｓ６）、実行後に対応する処理要求フラグＰＤＦＬＧ２をクリアする（Ｓ７）。
【００７４】
同時発生可能なイベント信号ＥＶＴ１に応ずる優先度の高い方の割り込み要求ＩＲＱ（ＩＮＴ，ＶＣＴ１）が発生したときは、ＣＰＵ２は図８に例示されるように、割り込み要求ＩＲＱ（ＩＮＴ，ＶＣＴ１）に応答する当該優先度の高い割り込み応答処理Ａを実行し（Ｓ１１）、実行後に対応する処理要求フラグＰＤＦＬＧ１をクリアする（Ｓ１２）。
【００７５】
更に具体的な応用例として時計用のタイマにおける秒検出イベントと分検出イベントが同時発生する場合の処理例について図９も参照しながら説明する。例えば図５のイベント信号ＥＶＴ１を秒検出イベント、イベント信号ＥＶＴ２を分検出イベントとし、イベント信号ＥＶＴ１に応答して要求される割込み要求ＩＲＱ１（ＩＮＴ，ＶＣＴ１）を秒累進割込み要求、イベント信号ＥＶＴ２に応答して要求される割込み要求ＩＲＱ２（ＩＮＴ，ＶＣＴ１）を分累進割込み要求とする。ポート（ＰＲＴ０）１８は時計回路への秒累進信号の出力ポート、ポート（ＰＲＴ１）１９は時計回路への秒累進信号の出力ポートとする。このように、秒累進割込み要求ＩＲＱ１の方が分累進割り込み要求よりも割り込み優先度を高くする。その理由を図９を参照しながら説明する。
【００７６】
図９は秒検出イベントＥＶＴ１と分検出イベントＥＶＴ２が同時に発生して、秒表示が「５９」から「００」になり、分表示が＋１インクリメントされる場合の表示例が示される。表示状態Ｄ１，Ｄ２，Ｄ３は期待通りの表示例を示し、表示状態Ｄ１，Ｄ４，Ｄ５は期待はずれの表示例を示す。表示状態Ｄ１で秒検出イベントＥＶＴ１と分検出イベントＥＶＴ２が同時に発生したとき、表示状態Ｄ２は先に秒累進割込み処理が実行された状態を示し、表示状態Ｄ３はその次に分累進割込み処理が実行された状態を示す。この表示順序はうるう（閏）秒挿入（０９：００：６０）がある場合の表示順と同じ或いは類似になり、通常行われる処理に合致する。これに対して、表示状態Ｄ１で秒検出イベントＥＶＴ１と分検出イベントＥＶＴ２が同時に発生したとき、表示状態Ｄ４は先に分累進割込み処理が実行された状態を示し、表示状態Ｄ５はその次に秒累進割込み処理が実行された状態を示す。この表示順序はうるう秒挿入の場合を含めて採り得ない表示順である。したがって、このような時刻表示に上記実施の形態を適用すれば、秒検出イベントＥＶＴ１と分検出イベントＥＶＴ２が同時に発生したとき、先に分検出イベントの発生が受け付けられて、分累進割込み要求ＩＲＱ２が先にＣＰＵ２に要求されても、秒累進割込み処理が先に実行され、Ｄ１，Ｄ２，Ｄ３に代表されるような表示順序を保証することができる。
【００７７】
尚、タイムスタンプとして時刻表示を行う場合も図９の応用例と同様である。
【００７８】
第１の実施の形態によれば、同時発生に係るイベント信号ＥＶＴ１，ＥＶＴ２が配線遅延やクロストーク遅延によって前後して割り込みコントローラ１３に受け付けられても、それらが同時発生に係るものであることは割り込みが要求された中央処理装置２がその要求された割り込み要因に係る回路モジュールの同時発生フラグＳＧＦＬＧを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。中央処理装置２は同時発生に係る割り込み要求であることを判別したときは、例えば割り込みコントローラ１３の処理要求フラグＰＤＦＬＧｉを参照して、同時発生に係るイベント信号に対応する割込み処理を優先度順に実行する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００７９】
《第２の実施の形態》
図１０には第２の実施の形態に係るデータ処理装置としてマイクロコンピュータ１Ａが例示される。図１１にはＴＭＲ１７から同時発生されるイベント信号ＥＶＴ１，ＥＶＴ２に起因する割込み処理動作に関連する主な回路部分を代表的に示してある。実施の形態１との相違点は次の通りである。即ち、ＩＮＴＣ１３Ａは同時発生可能で割り込み優先レベルの低い方のイベント信号を受け付けたとき、割り込み要求を発生する前に同時発生フラグＳＧＦＬＧを参照し、参照した同時発生フラグＳＧＦＬＧがセット状態であれば、同時発生に係るイベント信号の要求フラグを参照し、同時発生に係るイベント信号に対して、割込み優先度順に割り込み要求を発行する制御を行う。ＩＮＴＣ１３Ａは同時発生フラグＳＧＦＬＧを参照した後にこれをクリアする。処理要求フラグＰＤＦＬＧｉのクリアは実施の形態１と同様に当該割込み処理の実行完了に伴ってＣＰＵ２がクリアする。図１０の太線矢印は同時発生フラグＳＧＦＬＧと処理要求フラグＰＤＦＬＧ１~ＰＤＦＬＧ８の参照経路を模式的に示している。その他の構成については実施の形態１と同様であるからその詳細な説明は省略する。
【００８０】
例えば図１１に従えば、ＩＮＴＣ１３Ａが同時発生可能で優先度の低い方のイベント信号ＥＶＴ２を受け付けたとき、ＴＭＲ１７の同時発生フラグＳＧＦＬＧを参照する。同時発生フラグＳＧＦＬＧを参照したとき、それがセット状態であれば、ＩＮＴＣ１３Ａは更に、同時発生可能で割り込み優先レベルの高い方のイベント信号ＥＶＴ１に対応する処理要求フラグＰＤＦＬＧ１を参照する。ＩＮＴＣ１３Ａは、参照した処理要求フラグに基づいて、同時発生に係る割り込み優先度の高いほうのイベント信号ＥＶＴ１に応ずる割込み処理が完了しているかが判別される。判別結果が完了であれば、ＩＮＴＣ１３Ａは今回の当該イベント信号ＥＶＴ２に応ずる優先度に低い方の割り込み要求ＩＲＱ２をＣＰＵ２に行う。
【００８１】
判別結果が完了でなければ、優先度の低い方のイベント信号ＥＶＴ２に応ずる割り込み要求ＩＲＱ２の発行を据え置き、それよりも割り込み優先度の高い同時発生のイベント信号ＥＶＴ１に係る割り込み要求ＩＲＱ１を先に発行する。先に発行すべき割込み要求に含めるベクタＶＣＴ１は、既に参照した処理要求フラグＰＤＦＬＨ１との関連で特定すればよい。
【００８２】
同時発生に係るイベント信号が３個以上の場合も２個と同様である。要するに、その中で最も割り込み優先度の高いイベント信号以外のイベント信号が発生されたとき、その要求元の同時発生フラグＳＧＦＬＧを参照し、セットされていれば、当該イベント信号に関連する同時発生に係るイベント信号の要求フラグを参照する。参照した結果を用いて、同時発生に係る最優先度のイベント信号に応ずる割込み処理が実行されたかを判別し、実行されていなければそれを実行させるための割り込み要求を発行する。それが実行されていれば、或いは実行されたら、同時発生に係る次に優先度の高いイベント信号が今回のイベント信号でないことを条件に、それに応ずる割り込み処理が実行されたかを判別し、実行されていなければそれを実行させるための割り込み要求を発行する。それが実行されていれば、或いは実行されたら、今回のイベント信号に応ずる割り込み要求をＣＰＵに発行すればよい。同時発生に係る次に優先度の高いイベント信号が今回のイベント信号であれば、今回のイベント信号に応ずる割り込み要求をＣＰＵ２に発行すればよい。
【００８３】
上記処理で参照した同時発生フラグＳＧＦＬＧは、参照処理の後にＩＮＴＣ１３Ａによってクリアされる。また、上記一連の処理で割り込み優先度順に今回の割り込み要求よりも先に割り込み処理されたイベント信号に係る要求フラグは、当該割り込み処理を実行完了したときＣＰＵ２によってクリアされる。
【００８４】
上記第２の実施の形態によれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後して割り込みコントローラ１３Ａに受け付けられても、それらが同時発生に係るものであることは前記イベント信号による処理要求を受け付けた割込みコントローラ１３Ａがその要求された処理要因に係る回路モジュールの同時発生フラグＳＧＦＬＧを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。割込みコントローラ１３Ａは同時発生に係るイベント信号による処理要求であることを判別したときは、例えばイベント信号の受付に係る処理要求フラグを参照して、同時発生に係るイベント信号に対応する割込み処理を優先度順に要求する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００８５】
《第３の実施の形態》
図１２には第３の実施の形態に係るデータ処理装置としてマイクロコンピュータ１Ｂが例示される。実施の形態１との相違点はイベントリンクコントローラ（ＥＬＣ）６を追加した点である。
【００８６】
イベントリンクコントローラ６には割り込みコントローラ１３と同様に代表的に示されたイベント信号ＥＶＴ１〜ＥＶＴ８が供給される。イベントリンクコントローラ６はイベント信号ＥＶＴ１〜ＥＶＴ８と起動制御信号ＳＴＲ１〜ＳＴＲ８との対応を定義したイベント制御情報ＥＣＩをレジスタ３０に保有し、イベント信号ＥＶＴｉが供給されると、イベント制御情報ＥＣＩに従ってそのイベント信号ＥＶＴｉに対応する起動制御信号ＳＴＲｉを出力する。イベント信号ＥＶＴｉの発生元と起動制御信号ＳＴＲｉの供給先は同一回路モジュールであってもよいし、異なる回路モジュールであってもよく、その対応は前記イベント制御情報ＥＣＩによって定義される。特に図示はしないが、割込みコントローラ１３はその動作状態に応じてイベント信号をイベントリンクコントローラ６に出力可能である。尚、イベント信号ＥＶＴｉを出力したり起動制御信号ＳＴＲｉを入力したりする回路を便宜上回路モジュールとも総称する。
【００８７】
前記フラッシュメモリ５は前記イベント制御情報ＥＣＩを書換え可能に保持するメモリ領域３１を有し、前記イベントリンクコントローラ６のレジスタ３０には前記メモリ領域３１から前記イベント制御情報ＥＣＩがロードされる。例えばＣＰＵ２がパワーオンリセット時のリセット例外処理によってイベント制御情報ＥＣＩをメモリ領域３１からレジスタ３０に転送して初期設定する。その後、ＣＰＵ２がイベント制御情報ＥＣＩを書き換えることも可能である。メモリ領域３１は書換え可能であるから、マイクロコンピュータ１を適用するシステムの構成に応じて所要のイベント制御情報ＥＣＩを容易に設定することができる。
【００８８】
前記割り込みコントローラ１３は入力されたイベント信号の有効無効を決定するための情報ＥＮＢＩを保持するイベントイネーブルレジスタ３２を有し、イベントリンクコントローラ６は入力されたイベント信号の有効無効を決定するための情報ＥＮＢＥを保持するイベントイネーブルレジスタ３３を有する。双方のレジスタ３２，３３はリセット処理で初期化され、特に制限されないが、その後は特権モード等においてＣＰＵ２による設定変更が可能にされる。これにより、一つのイベント信号ＥＶＴによって割り込みコントローラ１３による割り込み制御又はイベントリンクコントローラ６による回路モジュールの起動制御を択一的に発生させ、あるいは双方を並列に発生される制御を行うことができる。当然、同じイベント信号で割り込みコントローラ１３による割り込み制御又はイベントリンクコントローラ６による回路モジュールの起動制御が競合するのを回避できることは言うまでもない。
【００８９】
実施の形態３では同時発生に係るイベント信号に関する優先制御はＣＰＵ２のほかにイベントリンクコントローラ６が行う。レジスタ３２の設定によってＩＮＴＣ１３が動作可能なときには実施の形態１と同様にＣＰＵ２が上記優先制御を行う。レジスタ３３の設定によってＥＬＣ６が動作可能なときにはＥＬＣ６が上記優先制御を行う。以下、ＥＬＣ６による同時発生に係るイベント信号に関する優先制御について説明する。
【００９０】
イベントリンクコントローラ６は、イベント信号ＥＶＴ１〜ＥＶＴ８毎に処理要求があったことを示し且つ対応するイベント制御情報へのリンクが定義されている処理要求フラグＬＰＤＦ１〜ＬＰＤＦ８を有する。例えば、活性化されたイベント信号ＥＶＴ１，ＥＶＴ２が入力されると、動作クロックに同期して対応する処理要求フラグＬＰＤＦ１、ＬＰＤＦ２をセットする。イベントリンクコントローラ６はセットされた処理要求フラグにリンクされるイベント制御情報に基づいて、夫々の起動優先度を判別することができる。セット状態にされた処理要求フラグＬＰＤＦ１〜ＬＰＤＦ８は起動要求された回路モジュールが処理を完了することによってクリアされる。例えば、前記起動制御信号を受ける回路モジュールが、当該起動制御信号による動作の完了後に対応する処理要求フラグを要求無しの状態にクリアする。
【００９１】
イベントリンクコントローラ６は、同時発生可能で起動優先度の低い方のイベント信号を受け付けたとき、起動制御信号を出力する前に同時発生フラグＳＧＦＬＧを参照し、参照した同時発生フラグＳＧＦＬＧがセット状態であれば、同時発生に係るイベント信号の要求フラグを参照し、同時発生に係るイベント信号に対して、起動優先度順に起動制御信号を出力する制御を行う。イベントリンクコントローラ６は同時発生フラグＳＧＦＬＧを参照した後にクリアする。図１２の太線矢印は同時発生フラグＳＧＦＬＧと処理要求フラグＬＰＤＦ１~ＬＰＤＦ８の参照経路を模式的に示している。その他の構成については実施の形態１と同様であるからその詳細な説明は省略する。
【００９２】
図１３にはＴＭＲ１７から同時発生されるイベント信号ＥＶＴ１，ＥＶＴ２に応答するＥＬＣ６による起動制御による動作に関連する主な回路部分を代表的に示してある。
【００９３】
例えば図１３に従えば、イベントリンクコントローラ６が同時発生可能で起動優先度の低い方のイベント信号ＥＶＴ２を受け付けたとき、ＴＭＲ１７の同時発生フラグＳＧＦＬＧを参照する。同時発生フラグＳＧＦＬＧを参照したとき、それがセット状態であれば、イベントリンクコントローラ６は更に、同時発生可能で起動優先度の高い方のイベント信号ＥＶＴ１に対応する処理要求フラグＬＰＤＦ１を参照する。イベントリンクコントローラ６は、参照した処理要求フラグに基づいて、同時発生に係る起動優先度の高いほうのイベント信号ＥＶＴ１に応じて起動される処理が完了しているかが判別される。判別結果が完了であれば、イベントリンクコントローラ６は今回の当該イベント信号ＥＶＴ２に応ずる起動優先度の低い方の起動制御信号を対象回路モジュールに出力する。
【００９４】
判別結果が完了でなければ、優先度の低い方のイベント信号ＥＶＴ２に応ずる起動制御信号の発行を据え置き、それよりも起動優先度の高い同時発生のイベント信号ＥＶＴ１に係る起動制御信号を先に出力する。先に出力すべき起動制御信号の出力先は対応する処理要求フラグにリンクされるイベント制御情報ＥＣＩを参照して特定すればよい。尚、同時発生に係るイベント信号が３個以上の場合も上記２個の場合と同様である。
【００９５】
第３の実施の形態によれば、同時発生に係るイベント信号が配線遅延やクロストーク遅延によって前後してイベントリンクコントローラ６に受け付けられても、それらが同時発生に係るものであることは前記イベント信号による起動要求を受け付けたイベントリンクコントローラ６がその要求された起動要因に係る回路モジュールの同時発生フラグを参照することによって判別することができる。異なる回路モジュールから偶然同時に発生されたイベント信号、更には同じ回路モジュールから異なるタイミングで発生されたイベント信号とを確実に区別することができる。イベントリンクコントローラ６は同時発生に係るイベント信号による起動要求であることを判別したときは、例えばイベント信号の受付に係る処理要求フラグＰＤＦＬＧｉを参照して、同時発生に係るイベント信号に対応する起動処理を優先度順に要求する。したがって、一つの回路モジュールから同時に発生されたイベント信号による処理順を優先度順とするのに高い信頼性を保証することができ、しかもその実現が容易である。
【００９６】
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００９７】
同時発生に係るイベント信号に関する優先制御について、実施の形態１はＣＰＵ２のプログラムで行い、実施の形態２，３ではＩＮＴＣ１３Ａ，ＥＬＣ６のハードウェア若しくはシーケンサを用いて行うものとした。ハードウェア若しくはシーケンサといっても全てが論理ゲートで構成されることに限定する趣旨ではない。マイクロプログラム或いはナノプログラムのようなソフトウェアを用いて実現可能であることは言うまでもいない。
【００９８】
同時発生に係るイベント信号に関する優先制御は上記実施の形態に限定されず、ＤＭＡコントローラ、通信コントローラなどの別のコントローラがその一部の機能を負担しても良い。
【００９９】
実施の形態３において同時発生に係るイベント信号に関する優先制御はイベントリンクコントローラ６だけが行うようにしてもよい。また、同時発生に係るイベント信号に関する優先制御を行わないイベントリンクコントローラを第１の実施の形態、或いは第２の実施の形態に付加してもよい。
【０１００】
マイクロコンピュータで代表されるデータ処理装置はシングルチップに限定されず、システム・イン・パッケージ形態でマルチチップにより構成することも可能である。データ処理装置はマイクロコンピュータ、マイクロプロセッサなどに限定されるものではない。システム・オン・チップのインテリジェント化された半導体集積回路、更には各種電子回路であってよい。
【符号の説明】
【０１０１】
１，１Ａ，１Ｂ  マイクロコンピュータ（ＭＣＵ）
２  中央処理装置（ＣＰＵ）
３  データトランスファコントローラ（ＤＴＣ）
４  ＲＡＭ
５  フラッシュメモリ（ＦＬＡＳＨ）
７  内部バス（ＩＢＵＳ）
１０  バスステートコントローラ（ＢＳＣ）
１１  周辺バス（ＰＢＵＳ）
１３，１３Ａ  割り込みコントローラ（ＩＮＴＣ）
１７  タイマ（ＴＭＲ）
１８〜２３入出力ポート（ＰＲＴ０〜ＰＲＴ５）
ＥＶＴ１〜ＥＶＴ８  イベント信号
ＰＤＦＬＧ１〜ＰＤＦＬＧ８  処理要求フラグ
ＬＰＤＦ１〜ＬＰＤＦ８  処理要求フラグ
ＳＧＦＬＧ  同時発生フラグ
ＩＲＱｉ  割り込み要求
ＩＮＴ  割込み信号
ＶＣＴｉ  ベクタ番号
ＳＴＲ１〜ＳＴＲ８  起動制御信号
ＥＣＩ  イベント制御情報
【図１】
2014137606.tif 000003
【図２】
2014137606.tif 000004
【図３】
2014137606.tif 000005
【図４】
2014137606.tif 000006
【図５】
2014137606.tif 000007
【図６】
2014137606.tif 000008
【図７】
2014137606.tif 000009
【図８】
2014137606.tif 000010
【図９】
2014137606.tif 000011
【図１０】
2014137606.tif 000012
【図１１】
2014137606.tif 000013
【図１２】
2014137606.tif 000014
【図１３】
2014137606.tif 000015