(57)【要約】【課題】複数の割り込み要求が同時に発生した場合であっても割り込み要求を消失させることなく受け付けることができる割り込み制御回路および方法を提供する。【解決手段】複数の割り込み処理部（１０７）と、複数の周辺機能回路（５０）からの複数の割り込み要求を時分割方式により受け付ける割り込み要求受付インタフェース（１０１）と、受け付けられた複数の割り込み要求に対して複数の割り込み処理部をそれぞれ割り当てる割り込み処理分配部（１０５）と、複数の割り込み処理部の割り込み処理の結果を通常処理用プロセッサ（１０）と共有するようにシステム共通記憶部（３０）に書き込むライトバックアクセス調停部（１０８）を有する。【選択図】図１
2013073297.tif 000002
【特許請求の範囲】
【請求項１】
通常処理用プロセッサおよび複数の周辺機能回路を含むシステムにおける割り込み制御回路であって、
複数の割り込み処理手段と、
前記複数の周辺機能回路からの複数の割り込み要求を時分割方式により受け付ける割り込み要求受付手段と、
前記受け付けられた複数の割り込み要求に対して前記複数の割り込み処理手段をそれぞれ割り当てる割り込み処理分配手段と、
前記複数の割り込み処理手段の割り込み処理の結果を前記通常処理用プロセッサと共有するようにシステム共通記憶部に書き込む制御手段と、
を有することを特徴とする割り込み制御回路。
【請求項２】
前記割り込み要求受付手段が、前記複数の周辺機能回路を予め複数のグループに分けておき、グループごとに複数の割り込み要求を時分割方式により受け付け、前記割り込み処理分配手段が、前記複数のグループからの割り込み要求に対して前記複数の割り込み処理手段をそれぞれ割り当てる、ことを特徴とする請求項１に記載の割り込み制御回路。
【請求項３】
前記制御手段が、前記複数の割り込み処理手段の各々の割り込み処理の結果に対して前記システム共通記憶部へのアクセス権を付与するアクセス調停手段を有する、ことを特徴とする請求項１または２に記載の割り込み制御回路。
【請求項４】
通常処理用プロセッサおよび複数の周辺機能回路を含むシステムにおける割り込み制御方法であって、
前記複数の周辺機能回路からの複数の割り込み要求を時分割方式により受け付け、
前記受け付けられた複数の割り込み要求に対して複数の割り込み処理手段をそれぞれ割り当て、
前記複数の割り込み処理手段の割り込み処理の結果を前記通常処理用プロセッサと共有するようにシステム共通記憶部に書き込む、
ことを特徴とする割り込み制御方法。
【請求項５】
前記複数の周辺機能回路を予め複数のグループに分けておき、グループごとに複数の割り込み要求を時分割方式により受け付け、前記複数のグループからの割り込み要求に対して前記複数の割り込み処理手段をそれぞれ割り当てる、ことを特徴とする請求項４に記載の割り込み制御方法。
【請求項６】
前記複数の割り込み処理手段の各々の割り込み処理の結果に対して前記システム共通記憶部へのアクセス権を付与することで前記システム共通記憶部に書き込む、ことを特徴とする請求項４または５に記載の割り込み制御方法。
【請求項７】
通常処理用プロセッサおよび複数の周辺機能回路を含むシステムにおける割り込み制御回路としての機能をプログラム制御プロセッサ上で実現するためのプログラムであって、
複数の割り込み処理機能と、
前記複数の周辺機能回路からの複数の割り込み要求を時分割方式により受け付ける割り込み要求受付機能と、
前記受け付けられた複数の割り込み要求に対して前記複数の割り込み処理手段をそれぞれ割り当てる割り込み処理分配機能と、
前記複数の割り込み処理手段の割り込み処理の結果を前記通常処理用プロセッサと共有するようにシステム共通記憶部に書き込む制御機能と、
を前記プログラム制御プロセッサ上で実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＰＵ(Central Processing Unit)等のプロセッサを含むシステムに係り、特に割り込み要求に応じて割り込み制御を行なう制御回路および方法に関する。
【背景技術】
【０００２】
一般的な割り込み制御回路では、周辺機能回路から同時に複数の割り込み要求が発生した場合、割り込み要求の優先度に従ってＣＰＵで順次処理を行う必要があり、ＣＰＵへの負荷が大きい。特に、ＳｏＣ(System on Chip)マイコンでは、チップ外部の周辺回路で実現している機能をチップ内部に取り込みワンチップ上で様々な機能を実現できるようになっているが、割り込み処理がＣＰＵに集中しており、割り込みが競合して発生する状況ではＣＰＵの処理能力が低下する原因となっている。
【０００３】
割り込みの応答性を向上させる技術としては、たとえば特許文献１に、通常処理ＣＰＵと割り込み処理専用のＣＰＵとを設けて通常タスクと割り込みタスクとを分離して処理するシステムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−３３１３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に開示されたシステムでは、割り込み発生時に割り込み専用のＣＰＵが通常の処理とは独立して割り込み処理を実行するだけであり、複数の割り込み要求が競合した場合、処理の中断あるいは処理が実行されない場合が発生しうる。
【０００６】
そこで、本発明の目的は、複数の割り込み要求が同時に発生した場合であっても割り込み要求を消失させることなく受け付けることができる割り込み制御回路および割り込み制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明による割り込み制御回路は、通常処理用プロセッサおよび複数の周辺機能回路を含むシステムにおける割り込み制御回路であって、複数の割り込み処理手段と、前記複数の周辺機能回路からの複数の割り込み要求を時分割方式により受け付ける割り込み要求受付手段と、前記受け付けられた複数の割り込み要求に対して前記複数の割り込み処理手段をそれぞれ割り当てる割り込み処理分配手段と、前記複数の割り込み処理手段の割り込み処理の結果を前記通常処理用プロセッサと共有するようにシステム共通記憶部に書き込む制御手段と、を有することを特徴とする。
【０００８】
本発明による割り込み制御方法は、通常処理用プロセッサおよび複数の周辺機能回路を含むシステムにおける割り込み制御方法であって、前記複数の周辺機能回路からの複数の割り込み要求を時分割方式により受け付け、前記受け付けられた複数の割り込み要求に対して複数の割り込み処理手段をそれぞれ割り当て、前記複数の割り込み処理手段の割り込み処理の結果を前記通常処理用プロセッサと共有するようにシステム共通記憶部に書き込む、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の割り込み要求が同時に発生した場合であっても割り込み要求を消失させることなく受け付けることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の第１実施形態による割り込み制御回路の構成を示すブロック図である。
【図２】図２は本実施形態における割り込み要因発生から割り込み処理待ち合わせまでの動作を示すフローチャートである。
【図３】図３（Ａ）は割り込み要求受付インタフェースの構成を示すブロック図であり、図３（Ｂ）は割り込み要求受付インタフェースの動作を説明するためのタイミングチャートである。
【図４】図４は本実施形態における割り込み処理部の決定から割り込み処理実行までの動作を示すフローチャートである。
【図５】図５は本実施形態における割り込み処理部選択回路の動作を説明するための模式図である。
【図６】図６は本実施形態における割り込み処理部からシステム共通ＲＡＭへのアクセス要求が競合した場合の調亭方法を示すタイミングチャートである。
【図７】図７は、図６に示す調亭方法における優先度の変化を示す模式図である。
【図８】図８は図１に示す割り込み制御回路における全体的動作を説明するためのタイミングチャートである。
【図９】図９は本発明の第２実施形態による割り込み制御回路の構成を示すブロック図である。
【図１０】図１０は図９に示すシステムの動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１１】
本発明によれば、割り込み要求受付時に割り込み要求を時分割管理することで、割り込み要求を消失させることなく受け付けることができる。また、受け付けた割り込み要求は複数の割り込み処理部に分散し並列に割り込み処理を行うことで、それぞれの処理を中断することなく最小限の遅延で全ての処理を完了することが可能となる。より具体的には、通常処理のプロセッサ以外に、割り込み処理専用の簡易プロセッサを複数個実装することで負荷分散を行い、プロセッサでの通常処理を中断することなく、割り込み処理を並列で実行する。たとえば割り込み要求を時分割方式によるタイムスロットで管理し、割り込み要求が同時に発生した場合でも割り込み要求を消失することなく受け付けることが可能となる。さらに、複数の割り込み処理結果をアクセス調停してシステム共通記憶部にライトバックすることで、競合することなくプロセッサ側と割り込み処理結果を共有することができる。以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１２】
１．第１実施形態
１．１）回路構成
図１に示すように、ＣＰＵ１０は周辺制御バス２０を通して、システム共通ＲＡＭ(Random Access Memory)３０、システム共通ＲＯＭ(Read Only Memory)４０および複数の周辺機能回路５０（＃１〜＃Ｎ）と接続している。このようなＣＰＵシステムにおいて、本発明の第１実施形態による割り込み制御回路１００は、周辺制御バス２０、システム共通ＲＡＭ３０および複数の周辺機能回路５０（＃１〜＃Ｎ）に接続されている。
【００１３】
割り込み制御回路１００は、Ｎ個の周辺機能回路５０（＃１〜＃Ｎ）にそれぞれ対応するＮ個の割り込み要求受付インタフェース１０１（＃１〜＃Ｎ）、タイムスロット基準パルス生成部１０２、アドレス変換テーブル１０３、処理待ち合わせバッファ１０４、割り込み処理分配部１０５、割り込み処理部選択部１０６、複数の割り込み処理部１０７（＃１〜＃Ｍ）、ライトバックアクセス調停部１０８、ライトバックアクセス用バス１０９、および、複数の割り込み処理部１０７（＃１〜＃Ｍ）に対応した複数のハンドラＲＡＭ１１０を有する。
【００１４】
割り込み要求受付インタフェース１０１（＃１〜＃Ｎ）は、それぞれ対応する周辺機能回路５０からの割り込み要求を受け付け、周辺割り込み要求信号に時分割多重してアドレス変換テーブル１０３へ出力する。複数の割り込み要求を時分割で多重するので割り込み競合による割り込み要求の消失を回避することができる。
【００１５】
タイムスロット基準パルス生成部１０２は、各割り込み要求受付インタフェース１０１の同期用のタイムスロット基準パルスとアドレス変換テーブル１０３を参照するためのタイムスロット番号とを生成する。アドレス変換テーブル１０３は、割り込み要求時のタイムスロット番号を入力し、そのタイムスロット番号をハンドラアドレスへ変換して処理待ち合わせバッファ１０４へ出力する。処理待ち合わせバッファ１０４は、アドレス変換テーブル１０４から入力したハンドラアドレスを一旦格納し、割り込み処理が開始されるまで保持する。
【００１６】
割り込み処理部分配部１０５は、処理待ち合わせバッファ１０４に格納されたハンドラアドレスを読み出し、割り込み処理部選択部１０６で選択された割り込み処理部へハンドラアドレスと割り込み要求とを通知する。割り込み処理部選択部１０６は、各割り込み処理部の状態を監視し、次に割り込み要求を通知するべき割り込み処理部の選択を行う。
【００１７】
割り込み処理部１０７（＃１〜＃Ｍ）は、通知されたハンドラアドレスに従ってハンドらＲＡＭ１１０からプログラムのフェッチを行い、割り込み処理を実行するプロセッサユニットである。この割り込み処理の結果は、ライトバックアクセス調停部１０８のアクセス調停に従って、ライトバックアクセス用バス１０９を通してデュアルポートのシステム共通ＲＡＭ３０へライトバックされる。
【００１８】
ライトバックアクセス調停部１０８は、複数の割り込み処理部１０７（＃１〜＃Ｍ）からのアクセス要求をラウンドロビン方式で調停し、決定した割り込み処理部へアクセス権を与える。また、割り込み処理部からの読み出し／書き込みコマンドに対応しシステム共通ＲＡＭ３０からのデータ読み出しおよび書き込みを行う。
【００１９】
ハンドラＲＡＭ１１０は、システム共通ＲＯＭ４０上の割り込み処理用のハンドラプログラムを格納し、割り込み処理部１０７からのプログラムフェッチによるバス競合を回避する。尚、各割り込み処理部のハンドラＲＡＭ１１０は、同じアドレスでメモリマップにマッピングされる構成をとり、ハンドラプログラムは、ＣＰＵ１０のスタートアッププログラムによりシステム初期化時にシステム共通ＲＯＭ４０のプログラム領域からハンドラＲＡＭ１１０の全てに同じプログラムを一括で転送する。
【００２０】
なお、上述した割り込み処理分配部１０５、割り込み処理部選択部１０６、複数の割り込み処理部１０７（＃１〜＃Ｍ）およびライトバックアクセス調停部１０８は、メモリに記録されたプログラムをプログラム制御プロセッサ上で実行することにより同等の機能を実現することもできる。
【００２１】
１．２）動作
上述した割り込み制御回路１００の時分割方式による動作は、ａ）割り込み要因の発生から処理の待ち合わせまで、ｂ）割り込み処理部の決定から割り込み処理の実行まで、およびｃ）割り込み処理結果のライトバックまで、の３つに大別できる。以下、図面を参照しながら詳細に説明する。
【００２２】
ａ）割り込み要因の発生から処理の待ち合わせまで
図２に示すように、周辺機能回路５０にて発生した割り込み要因は、割り込み要求受付インタフェース１０１で時分割多重され、アドレス変換テーブル１０３にてハンドラアドレスに変換された後、処理待ち合わせバッファ１０４へ格納される。
【００２３】
図３（Ａ）に示すように、各割り込み要求受付インタフェース１０１にはタイムスロット判定用カウンタ１０１−１および割り込み要求多重信号生成部１０１−２が設けられ、タイムスロット判定用カウンタ１０１−１はタイムスロット基準パルスにより動作してカウンタ値を出力する。割り込み要求多重信号生成部１０１−２は、周辺機能回路から割り込み要求が発生すると、予め決められた自己の出力タイミングを示す所定カウンタ値で割り込み要求多重信号を出力し、ＯＲ回路により他の割り込み要求受付インタフェースからの割り込み要求多重信号と時分割多重され、周辺割り込み要求信号を生成する。
【００２４】
図３（Ｂ）に示すように、タイムスロット判定用カウンタ１０１−１は、タイムスロット基準パルス生成部１０２からのタイムスロット基準パルスに同期してカウント動作を行う。また、割り込み要求受付インタフェース１０１は自身に設定されているタイムスロット番号のタイミングで周辺割り込み要求を通知する。図３（Ｂ）では、割り込み要求受付インタフェース＃Ｘの動作タイミングを示しており、タイムスロット判定用カウンタ１０１−１がＸとなった時に周辺割り込み要求を通知する。
【００２５】
ｂ）割り込み処理部の決定から割り込み処理の実行まで
次に、割り込み処理部１０７の決定から割り込み処理実行までの動作を図４および図５を用いて説明する。
【００２６】
割り込み処理部選択部１０６は、次に処理要求を通知する割り込み処理部１０７の選択を行い、割り込み処理分配部１０５は、選択された割り込み処理部１０７へ割り込み要求とハンドラアドレスを通知する。
【００２７】
図４に示すように、割り込み処理分配部１０５は、全ての割り込み処理部がBusy状態または処理待ち合わせバッファ１０４に処理待ちのハンドラアドレスが格納されていない場合は割り込み要求の通知は行なわない。処理要求の通知を受けると、割り込み処理部１０７は現在の処理状況をBusy状態に更新し、通知されたハンドラアドレスによりプログラムをフェッチして割り込み処理を実行する。割り込み処理部１０７は割り込み処理実行完了後、再度処理状況をReady状態に更新する。
【００２８】
図５に示すように、割り込み処理部選択部１０６は、Ready状態の割り込み処理部１０７のうち、固定優先で最も優先度の高い割り込み処理部を選択し、選択された割り込み処理部の番号を割り込み処理分配部１０５へ通知する。ここでは、Ready状態の割り込み処理部１０７のうち最も優先度の高いものとして割り込み処理部＃ｙが選択されている。また全ての処理部がBusy状態である場合は最も優先度の低い＃０番が選択されることで、割り込み処理分配部１０５において全処理部がBusy状態であることが判る仕組みとなっている。
【００２９】
ｃ）割り込み処理結果のライトバックまで
最後に割り込み処理と処理結果のライトバック動作について説明する。割り込み処理部１０７はローカルに持つハンドラＲＡＭ１１０のハンドラアドレスからプログラムをフェッチし処理を実行する。ハンドラＲＡＭ１１０にはシステム初期化時にシステム共通ＲＯＭ３０よりプログラムをコピーしておく必要がある。割り込み処理の実行結果はシステム共通ＲＡＭ３０へ書き込み、ＣＰＵ１０およびその他の割り込み処理部１１０との間で処理結果の情報共有を行なう。
【００３０】
図６に示すように、割り込み処理部１０７からシステム共通ＲＡＭ３０へアクセスする場合、複数の割り込み処理部１０７からのアクセス要求が競合する可能性がある。そこで、ライトバックアクセス調停部１０８は、割り込み処理部１０７からのアクセス要求が競合した場合、それらのアクセス要求を調停し、競合しないように割り込み処理部１０７を順次決定してバスの使用権（アクセス権）を与える。アクセス権を得た割り込み処理部１０７は次の１クロック時間で読み出し／書き込みコマンドを実行し、システム共通ＲＡＭ３０へアクセスを行なう。
【００３１】
アクセス要求を調停には、図７に示すように、一度アクセス権を与えた割り込み処理部の優先度が最低となるラウンドロビン方式を採用することができる。これにより図６に示すように、複数の割り込み処理部がアクセス権を順次付与され、それに従ってシステム共通ＲＡＭ３０へのアクセスを競合することなく実行することができる。
【００３２】
１．３）効果
以上述べたように、本発明の第１実施形態によれば、割り込み処理回路１０７を使用しＣＰＵ１０の処理と平行して割り込み処理を行うので、ＣＰＵ１０による通常処理を停止することなく割り込みの処理を行うことができる。
【００３３】
また、タイムスロットにより各割り込み要求の受付タイミングをずらしているので、複数の割り込み要求が同時に発生したとしてもタイムスロットの基本周期時間内で確実に発生した割り込み要求を受け付けることが可能となる。
【００３４】
なお、図８に示すように、システムに破綻がなく最も効果的に動作するのはタイムスロットの基本周期が最短の処理時間である処理Ｃより短い場合であり、輻輳が発生しても要求を消失することなく、且つ処理Ａ，Ｂ，Ｃの処理時間を合計した時間よりも短い時間で全ての処理を完了することが可能となる。特に、既存のＳｏＣ(System on Chip)マイコンでは割り込み発生時に割り込み処理はＣＰＵでのみ実行されるので、多数の割り込みが同時に発生した輻輳状態ではＣＰＵに負荷が集中して通常処理が停止する可能性がある。本実施形態によれば、このような通常処理の停止を起こすことなく複数の割り込み要求を受け付けて処理することが可能となる。
【００３５】
２．第２実施形態
上述した第１実施形態では、図１に示すように、複数の割り込み要求を１本の周辺割り込み要求信号に時分割多重しているので、割り込みの種類が増えた場合にタイムスロットを増やして対応することになる。このためタイムスロットが１周する周期が長くなり、その結果、割り込み通知が遅くなる。そこで、本発明の第２実施形態による割り込み制御回路１００ａは、周辺機能回路５０をいくつかにグループ化し、それぞれのグループで割り込み要求信号を多重化することでタイムスロットの数を抑える構成を採用する。
【００３６】
図９に示すように、割り込み制御回路１００ａでは、Ｎ個の割り込み要求受付インタフェース１０１（＃１〜＃Ｎ）が２つのグループＧ１およびＧ２に分けられ、それぞれのグループから周辺割り込み要求信号Ｇ１とＧ２が生成される。周辺割り込み要求信号Ｇ１とＧ２は、図３で説明したようにタイムスロットによる時分割多重により生成される。
【００３７】
割り込み制御回路１００ａには、グループに対応するアドレス変換テーブル１０３ｇ１、１０３ｇ２と、処理待ち合わせバッファ１０４ｇ１、１０４ｇ２が設けられ、それぞれハンドアドレスが割り込み処理分配部１０５によって処理待ち合わせバッファ１０４ｇ１、１０４ｇ２から読みだされる。アドレス変換テーブル１０３ｇ１、１０３ｇ２および処理待ち合わせバッファ１０４ｇ１、１０４ｇ２の機能は、第１実施形態のアドレス変換テーブル１０３および処理待ち合わせバッファ１０４と同様であり、またその他の機能ブロックも第１実施形態と同様であるから同じ参照番号を付して説明は省略する。
【００３８】
なお、図９に示すシステムでは、周辺機能回路６０（＃０）および既存割り込み制御部７０が設けられ、即時処理が必要な割り込み要求に対して既存の割り込み制御部７０により処理する構成となっている。
【００３９】
図１０に示すように、割り込み処理Ａに要する時間がタイムスロットの基本周期より短い場合は、割り込み要求Ａを受け付けられず無駄な処理待ち時間が発生してしまう。この処理待ち時間が許されないような即時処理が必要な割り込みに関しては、既存の割り込み制御部７０により処理することで対処することができる。
【産業上の利用可能性】
【００４０】
本発明はＳｏＣ(System on Chip)マイコン等のプロセッサシステム一般に適用可能である。
【符号の説明】
【００４１】
１０  ＣＰＵ
２０  周辺制御バス
３０  システム共通ＲＡＭ
４０  システム共通ＲＯＭ
５０  周辺機能回路（＃１〜＃Ｎ）
１００  割り込み制御回路
１０１  割り込み要求受付インタフェース（＃１〜＃Ｎ）
１０２  タイムスロット基準パルス生成部
１０３  アドレス変換テーブル
１０４  処理待ち合わせバッファ
１０５  割り込み処理分配部
１０６  割り込み処理部選択部
１０７  割り込み処理部（＃１〜＃Ｍ）
１０８  ライトバックアクセス調停部
１０９  ライトバックアクセス用バス
１１０  ハンドラＲＡＭ
【図１】
2013073297.tif 000003
【図２】
2013073297.tif 000004
【図３】
2013073297.tif 000005
【図４】
2013073297.tif 000006
【図５】
2013073297.tif 000007
【図６】
2013073297.tif 000008
【図７】
2013073297.tif 000009
【図８】
2013073297.tif 000010
【図９】
2013073297.tif 000011
【図１０】
2013073297.tif 000012