(57)【要約】【課題】割り込み処理における周辺モジュールへのアクセスの頻度を低減し、ＣＰＵの負荷率を削減する。【解決手段】割り込みイベントが発生すると、任意の周辺モジュールからは、割り込み要求信号，および割り込みデータが割り込み制御回路５に出力される。割り込み制御回路５は、受け取った割り込みデータをレジスタ１５に格納し、割り込み要求信号の優先度判定を行う。続いて、割り込み制御回路５は、判定結果を割り込み要求信号として専用配線１７を介して、レジスタ１５の割り込みデータを専用バス１６を介してそれぞれＣＰＵ２に転送する。ＣＰＵ２は、割り込み要求を受け付けると、入力された割り込み要求信号に基づいて、該当する割り込み処理関数をＲＯＭ３から読み出し、割り込みデータの処理を実行する。【選択図】図１
2011076584.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
前記ＣＰＵに対する割り込み処理を制御する割り込み制御回路と、
前記ＣＰＵ、および前記割り込み制御回路が接続された第１のバスと、
前記ＣＰＵがアクセス可能な少なくとも１つの周辺モジュールと、
前記周辺モジュールが接続され、前記第１のバスよりもデータ転送速度が遅い第２のバスとを備え、
前記割り込み制御回路は、
前記周辺モジュールからの割り込みが発生した際に、前記ＣＰＵに割り込み要求信号を出力して割り込み発生を通知するとともに、前記周辺モジュールの割り込みデータを転送する処理を行うことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記割り込み制御回路は、
前記周辺モジュールから割り込み要求信号が出力された際に、前記周辺モジュールから出力される割り込みデータを格納する格納部と、
割り込みが発生した前記周辺モジュールから出力される割り込み要求信号に基づいて割り込み優先度を判定し、その判定結果、および前記格納部に格納されている割り込みデータを前記ＣＰＵに出力する優先度判定部とを備えたことを特徴とする半導体集積回路装置。
【請求項３】
請求項２記載の半導体集積回路装置において、
前記優先度判定部と前記ＣＰＵとは、専用バスを介して接続され、前記専用バスを経由して前記周辺モジュールの割り込みデータが転送されることを特徴とする半導体集積回路装置。
【請求項４】
請求項１〜３のいずれか１項に記載の半導体集積回路装置において、
前記周辺モジュールと前記割り込み制御回路とは、シリアルバスを介して接続され、シリアル通信により前記周辺モジュールから割り込みデータが転送されることを特徴とする半導体集積回路装置。
【請求項５】
２以上のＣＰＵと、
前記２以上のＣＰＵに対する割り込み処理を制御する割り込み制御回路と、
前記２以上のＣＰＵ、および前記割り込み制御回路が接続された第１のバスと、
前記２以上のＣＰＵがアクセス可能な少なくとも１つの周辺モジュールと、
前記周辺モジュールが接続され、前記第１のバスよりもデータ転送速度が遅い第２のバスとを備え、
前記割り込み制御回路は、
前記周辺モジュールからの割り込みが発生した際に、前記ＣＰＵに割り込み要求信号を出力して割り込み発生を通知するとともに、前記周辺モジュールの割り込みデータを転送する処理を行うことを特徴とする半導体集積回路装置。
【請求項６】
請求項５記載の半導体集積回路装置において、
前記割り込み制御回路は、
前記周辺モジュールから割り込み要求信号が出力された際に、前記周辺モジュールから出力される割り込みデータを格納する格納部と、
割り込みが発生した前記周辺モジュールから出力される割り込み要求信号に基づいて割り込み優先度を判定する優先度判定部と、
前記２以上のＣＰＵのうち、どのＣＰＵに割り込みを通知するかを判定し、判定したＣＰＵに対して前記優先度判定部が判定した判定結果、および前記格納部に格納されている割り込みデータを前記ＣＰＵに出力する割り込み通知判定部とを備えたことを特徴とする半導体集積回路装置。
【請求項７】
請求項６記載の半導体集積回路装置において、
前記割り込み通知判定部と前記ＣＰＵとは、専用バスを介して接続され、前記専用バスを経由して前記周辺モジュールの割り込みデータが転送されることを特徴とする半導体集積回路装置。
【請求項８】
請求項５〜７のいずれか１項に記載の半導体集積回路装置において、
前記周辺モジュールと前記割り込み制御回路とは、シリアルバスを介して接続され、シリアル通信により前記周辺モジュールから割り込みデータが転送されることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置における割り込み処理技術に関し、特に、割り込み処理におけるＣＰＵ（Central Processing Unit）の負荷率の低減に有効な技術に関する。
【背景技術】
【０００２】
車載用の半導体集積回路装置においては、たとえば、該半導体集積回路装置を実装するＥＣＵ（Electrical  Control  Unit）間をＣＡＮ（Controller Area Network）などの車載用シリアルプロトコルを用いて通信を行うものが広く知られている。
【０００３】
その場合、特にボディ系であると、送信完了、受信完了、エラー発生を要因とする割り込みを発生させ、次の送信を行ったり、受信データを読み出したり、エラー要因判別という処理を行っている。
【０００４】
また、半導体集積回路装置を実装するＥＣＵでモータを制御する場合においても、一定時間毎にタイマ割り込みを発生させ、モータの回転速度の調整などの処理を行っている。
【０００５】
この種の半導体集積回路装置における割り込み処理技術としては、ＣＰＵ、該ＣＰＵに結合された第１バス、第１バスよりもデータの転送速度が遅い第２バスと、上記第１バスに結合された割り込み処理回路と、第２バスに結合され、ＣＰＵによってアクセス可能な周辺モジュールとを備え、ＣＰＵが、割り込み要因解析の際に周辺モジュールをアクセスせずに割り込み処理回路をアクセスする処理を行うことにより、ＣＰＵのストールサイクルを改善する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２７２５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、上記のような半導体集積回路装置における割り込み処理技術では、次のような問題点があることが本発明者により見い出された。
【０００８】
割り込み処理においては、周辺モジュールから割り込みが発生し、ＣＰＵに対して割り込み要求が通知されると、該ＣＰＵは、割り込み処理関数を読み出すとともに、該周辺モジュールからステータスなどの割り込みデータを読み出して割り込み処理を実行している。
【０００９】
システムが複雑化し通信量が増加すると、それに伴い割り込みの頻度も増加し、割り込み発生のオーバーヘッドは当然ながら、割り込み時必ず発生する周辺機能へのアクセスも増加してしまうことになる。
【００１０】
ＣＰＵは、低速バスを介して周辺モジュール、または割り込み処理回路から割り込みデータを読み出しているので、割り込み処理が増加すると、ＣＰＵの負荷が大きくなってしまい、処理能力が低下してしまうだけでなく、ＣＰＵでの処理が行われる前に割り込みが多重に発生してしまい先に発生した割り込み処理そのものが処理できなくなってしまう恐れがある。
【００１１】
本発明の目的は、割り込み処理における周辺モジュールへのアクセスの頻度を低減し、ＣＰＵの負荷率を削減することのできる技術を提供することにある。
【００１２】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１４】
本発明は、ＣＰＵと、該ＣＰＵに対する割り込み処理を制御する割り込み制御回路と、ＣＰＵ、および割り込み制御回路が接続された第１のバスと、ＣＰＵがアクセス可能な少なくとも１つの周辺モジュールと、該周辺モジュールが接続され、第１のバスよりもデータ転送速度が遅い第２のバスとを備え、該割り込み制御回路は、周辺モジュールからの割り込みが発生した際に、周辺モジュールから割り込みデータを読み出し、ＣＰＵに割り込み要求信号を出力して割り込み発生を通知するとともに、周辺モジュールから読み出した割り込みデータをＣＰＵへ転送する処理を行うものである。
【００１５】
また、本発明は、前記割り込み制御回路が、周辺モジュールから割り込み要求信号が出力された際に、周辺モジュールから出力される割り込みデータを格納する格納部と、割り込みが発生した周辺モジュールから出力される割り込み要求信号に基づいて割り込み優先度を判定し、その判定結果、および格納部に格納されている割り込みデータをＣＰＵに出力する優先度判定部とを備えたものである。
【００１６】
さらに、本発明は、前記優先度判定部と前記ＣＰＵとが専用バスを介して接続され、該専用バスを経由して周辺モジュールの割り込みデータが転送されるものである。
【００１７】
また、本発明は、前記周辺モジュールと前記割り込み制御回路とがシリアルバスを介して接続され、シリアル通信により周辺モジュールから割り込みデータが転送されるものである。
【００１８】
さらに、本願のその他の発明の概要を簡単に示す。
【００１９】
本発明は、２以上のＣＰＵと、それら２以上のＣＰＵに対する割り込み処理を制御する割り込み制御回路と、２以上のＣＰＵ、および割り込み制御回路が接続された第１のバスと、２以上のＣＰＵがアクセス可能な少なくとも１つの周辺モジュールと、該周辺モジュールが接続され、第１のバスよりもデータ転送速度が遅い第２のバスとを備え、割り込み制御回路は、周辺モジュールからの割り込みが発生した際に、周辺モジュールから割込みデータを読み出し、一方のＣＰＵに割り込み要求信号を出力して割り込み発生を通知するとともに、当該一方のＣＰＵへ周辺モジュールの割り込みデータを転送する処理を行うものである。
【００２０】
また、本発明は、前記割り込み制御回路が、周辺モジュールから割り込み要求信号が出力された際に、該周辺モジュールから出力される割り込みデータを格納する格納部と、割り込みが発生した周辺モジュールから出力される割り込み要求信号に基づいて割り込み優先度を判定する優先度判定部と、２以上のＣＰＵのうち、どのＣＰＵに割り込みを通知するかを判定し、判定したＣＰＵに対して該優先度判定部が判定した判定結果、および格納部に格納されている割り込みデータをＣＰＵに出力する割り込み通知判定部とを備えたものである。
【００２１】
さらに、本発明は、前記割り込み通知判定部と前記ＣＰＵとが専用バスを介して接続され、該専用バスを経由して周辺モジュールの割り込みデータが転送されるものである。
【００２２】
また、本発明は、前記周辺モジュールと前記割り込み制御回路とは、シリアルバスを介して接続され、シリアル通信により周辺モジュールから割り込みデータが転送されるものである。
【発明の効果】
【００２３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２４】
（１）割り込み処理におけるＣＰＵ負荷率を大幅に低減させることができる。
【００２５】
（２）また、上記（１）により、ＣＰＵに必要なクロックスピードを低下させることができるので、半導体集積回路装置の消費電力を削減することができる。
【００２６】
（３）また、上記（１）により、割り込み処理が増大しても、割り込み処理エラーを防止することができるので、半導体集積回路装置の信頼性を向上させることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１による半導体集積回路装置における一例を示すブロック図である。
【図２】本発明者が検討した一般的な半導体集積回路装置における一例を示すブロック図である。
【図３】特許文献１に示された半導体集積回路装置の一例を示すブロック図である。
【図４】モータの割り込み処理例を示す説明図である。
【図５】図１と図２の半導体集積回路装置に用いられる割り込み関数プログラムの一例を示したプログラム例である。
【図６】本発明の実施の形態２による半導体集積回路装置における一例を示すブロック図である。
【図７】図６の半導体集積回路装置における割り込み処理の一例を示したタイミング図である。
【図８】本発明者が検討した図２の半導体集積回路装置をデュアルコア構成とした場合における割り込み処理の一例との比較を示したタイミング図である。
【図９】本発明者が検討した図３の半導体集積回路装置をデュアルコア構成とした場合における割り込み処理の一例との比較を示したタイミング図である。
【図１０】発明者が検討した図１の半導体集積回路装置における別の一例を示すブロック図である。
【図１１】発明者が検討した図１０の半導体集積回路装置の割り込み処理の一例を示すタイミング図である。
【図１２】発明者が検討した図１の半導体集積回路装置における他の例を示すブロック図である。
【図１３】発明者が検討した図１２の半導体集積回路装置の割り込み処理の別の一例を示すタイミング図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２９】
（実施の形態１）
図１は、本発明の実施の形態１による半導体集積回路装置における一例を示すブロック図、図２は、本発明者が検討した一般的な半導体集積回路装置における一例を示すブロック図、図３は、特許文献１に示された半導体集積回路装置の一例を示すブロック図、図４は、モータの割り込み処理例を示す説明図、図５は、図１と図２の半導体集積回路装置に用いられる割り込み関数プログラムの一例を示したプログラム例である。
【００３０】
本実施の形態１において、半導体集積回路装置１は、たとえば、車載用のＥＣＵ（Electric control unit）に搭載されている。ＥＣＵは、たとえば、ナビゲーションシステムやオーディオなどの情報、モータ、エンジンやシャーシなどのパワートレイン系、あるいはエアコンやヘッドライト、ドアロックなどのボディ系などの各種制御を司る。
【００３１】
半導体集積回路装置１は、図１に示すように、ＣＰＵ２、ＲＯＭ(Read Only Memory)３、ＲＡＭ(Random Access Memory)４、割り込み制御回路５、周辺モジュール６，７、およびブリッジ８などから構成されている。ＣＰＵ２は、半導体集積回路装置１におけるすべての制御を司る。
【００３２】
ＲＯＭ３は、読み出し専用の不揮発性メモリであり、たとえば、ＣＰＵ２を動作させるプログラムなどが格納されている。ＲＡＭ４は、揮発性メモリなどからなり、ＣＰＵ２における演算処理の作業領域などに用いられる。
【００３３】
割り込み制御回路５は、ＣＰＵ２に対する割り込み処理を制御する。周辺モジュール６，７は、たとえば、タイマ機能や通信機能などの機能を備えたモジュールからなる。
【００３４】
ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、割り込み制御回路５、ならびにブリッジ８は、第１のバスとなる高速バス９を介して相互に接続されており、周辺モジュール６，７、およびブリッジ８は、第２のバスとなる低速バス１０を介して相互に接続されている。
【００３５】
ブリッジ８は、高速バス９と低速バス１０とを接続する。高速バス９は、高速通信が可能なバスであり、低速バス１０は、高速バス９に比べて低速な通信が行われるバスである。
【００３６】
また、割り込み制御回路５には、データ受信部１１，１２、通知部１３、優先度判定部１４、および複数のレジスタ１５が設けられている。データ受信部１１は、周辺モジュール６から出力された割り込みに関係する割り込みデータ（または割り込み要因ともいう）を受信し、データ受信部１２は、周辺モジュール７から出力された割り込みに関係する割り込みデータを受信する。通知部１３は、周辺モジュール６，７から出力された割り込み通知信号を受信する。
【００３７】
データ受信部１１と周辺モジュール６、およびデータ受信部１２と周辺モジュール７とは、低速バス１０とは別に、たとえば、シリアルバスを介して接続されている。データ受信部１１（，１２）は、周辺モジュール６（，７）から出力された転送用クロックに同期してシリアルバスから転送された割り込みデータをラッチする。
【００３８】
優先度判定部１４は、通知部１３を介して入力された割り込み通知信号の優先度を判定し、優先度の高い割り込みを優先して、ＣＰＵ２に割り込み通知信号を出力する。格納部となるレジスタ１５は、周辺モジュール６，７から出力された割り込みデータを一時的に格納する。なお、ここでは、レジスタ１５によって割り込みデータを一時的に格納する例について記載したが、該割り込みデータの格納は、レジスタ以外のメモリであってもよい。
【００３９】
優先度判定部１４とＣＰＵ２とは、専用バス１６、および専用配線１７によって接続されている。専用バス１６は、レジスタ１５に格納されたステータスなどの割り込み情報をＣＰＵ２に出力するバスであり、シリアルバス、またはパラレルバスのいずれであってもよい。また、専用配線１７は、ＣＰＵ２に対する割り込み要求信号を出力する配線である。
【００４０】
周辺モジュール６，７には、割り込みデータ格納部１８、および割り込み通知部１９が備えられている。割り込みデータ格納部１８は、イベント発生時の割り込みデータが格納される。割り込み通知部１９は、イベント発生時に割り込み制御回路５に対して割り込み通知信号を通知する。
【００４１】
次に、本実施の形態１における半導体集積回路装置１による割り込み処理について説明する。ここでは、たとえば、周辺モジュール６にイベントが発生した場合について記載する。
【００４２】
まず、割り込みを発生すべきイベントが発生すると、周辺モジュール６の割り込み通知部１９から割り込み要求信号を出力し、割り込み制御回路５に対して割り込み要求を通知する。
【００４３】
このとき、周辺モジュール６からは、割り込みデータ格納部１８に格納された割り込みデータが出力される。周辺モジュール６から出力された割り込みデータは、データ受信部１１によって受信された後、任意のレジスタ１５に格納される。
【００４４】
続いて、割り込み制御回路５は、受け取った割り込み要求信号の中でどの割り込みを発生すべきかの優先度判定を行う。そして、割り込み制御回路５は、優先度判定の結果を、割り込み要求信号として専用配線１７を介してＣＰＵ２に通知するとともに、レジスタ１５に格納された割り込みデータを専用バス１６を介してＣＰＵ２に転送する。ＣＰＵ２は、入力された割り込みデータを該ＣＰＵ２に設けられたレジスタ２ａに格納する。
【００４５】
そして、ＣＰＵ２は、割り込み要求を受け付けると、入力された割り込み要求信号に基づいて、該当する割り込み処理関数が配置されているアドレス情報を、ＲＯＭ３から読み出し、読み出したアドレスから割り込み処理関数を読み出し、レジスタ２ａに格納された割り込みデータの処理を実行する。
【００４６】
次に、本発明者が検討した一般的な割り込み処理について、図２を用いて説明する。ここでは、たとえば、周辺モジュール１０５にイベントが発生した場合について記載する。
【００４７】
半導体集積回路装置１００は、図２に示すように、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、割り込み制御回路１０４、周辺モジュール１０５，１０６、ならびにブリッジ１０７などから構成されている。
【００４８】
また、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、割り込み制御回路１０４、およびブリッジ１０７は、高速バス１０８を介して相互に接続されており、周辺モジュール１０５，１０６、ならびにブリッジ１０７は、低速バス１０９を介して相互に接続されている。
【００４９】
さらに、周辺モジュール１０５，１０６には、割り込みデータ格納部１１０、および割り込み通知部１１１が備えられている。これらの構成は、図１と同様であり、異なるところは、割り込み制御回路１０４の構成である。
【００５０】
割り込み制御回路１０４には、通知部１１２、および優先度判定部１１３が備えられているが、図１に示すデータ受信部１１、および複数のレジスタ１５は、設けられていない。また、優先度判定部１１３とＣＰＵ１０１とは、専用配線１７が接続されているが、図１の専用バス１６は設けられていないところが異なっている。
【００５１】
よって、割り込みデータは、低速バス１０９、ブリッジ１０７、および高速バス１０８を介して読み出される経路となる。
【００５２】
割り込み処理時において、まず、 周辺イベントにおいて、割り込みを発生すべきイベントが発生すると、周辺モジュール１０５は、割り込み制御回路１０４に対し、割り込み要求信号を通知する。
【００５３】
割り込み制御回路１０４の優先度判定部１１３は、受け取った割り込み要求信号の中でどの割り込みを発生すべきかの優先度判定を行い、判定した結果を割り込み要求信号としてＣＰＵ１０１に対して通知する。
【００５４】
そして、ＣＰＵ１０１は、割り込み要求信号を受け付けると、該当する割り込み処理関数をＲＯＭ１０２から読み出し、処理を実施する。このとき、ＣＰＵ１０１は、周辺モジュール１０５に格納されている割り込みデータ格納部１１０からステータスなどの割り込みデータを高速バス１０８、ブリッジ１０７、および低速バス１０９を経由して読み出し、割り込み処理を実行する。
【００５５】
このように、図２の半導体集積回路装置１００の構成では、割り込み処理が発生すると、割り込みの優先度判定を行った後に、低速バス１０９を介して割り込みデータを該当する周辺モジュールから読み出す処理が必要となる。
【００５６】
一方、本実施の形態１の図１の構成による半導体集積回路装置では、割り込み発生時に、割り込みの優先度判定の結果と共に予め割り込み制御回路５を経由して専用バス１６を介して転送するので、ＣＰＵ２の処理負荷を大幅に低下させることができる。
【００５７】
次に、先に挙げた特許文献１（特開２００７−２７２５５４号公報）の半導体集積回路装置における割り込み処理について説明する。
【００５８】
この場合、半導体集積回路装置２００は、図３に示すように、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、割り込み制御回路２０４、周辺モジュール２０５，２０６、およびブリッジ２０７などからなり、図１と同様の構成なっている。
【００５９】
また、割り込み制御回路２０４には、図１と同様に、データ受信部２０８，２０９、通知部２１０、優先度判定部２１１、および複数のレジスタ２１２が設けられている。優先度判定部２１１とＣＰＵ２０１とは、専用配線２１３によって接続されており、図１と異なるところは、専用バス１６（図１）がない点である。さらに、周辺モジュール２０５，２０６には、図１と同様に、割り込みデータ格納部２１４、および割り込み通知部２１５が備えられている。
【００６０】
また、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、割り込み制御回路２０４、およびブリッジ２０７は、高速バス２１６を介して相互に接続されており、周辺モジュール２０５，２０６、ならびにブリッジ２０７は、低速バス２１７を介して相互に接続されている。
【００６１】
割り込み処理は、まず、周辺イベントにおいて、割り込みを発生すべきイベントが発生すると、たとえば、周辺モジュール２０５の割り込み通知部２１５が、割り込み制御回路２０４に対して割り込み要求信号を通知する。さらに、周辺モジュール２０５は、割り込みデータ格納部２１４に格納されたステータスなどの割り込みデータを割り込み制御回路２０４へ転送する。割り込み制御回路２０４は、転送された割り込みデータを任意のレジスタ２１２に格納する。
【００６２】
そして、割り込み制御回路２０４は、受け取った割り込み要求の中でどの割り込みを発生すべきかの優先度判定を行い、優先度の高い割り込み要求をＣＰＵ２０１に対して、割り込み要求信号として通知する。
【００６３】
ＣＰＵ２０１は、割り込み要求信号を受け付けると、該当する割り込み処理関数をＲＯＭ２０２から読み出すとともに、割り込み制御回路２０４のレジスタ２１２から高速バス２１６を経由して割り込みデータを読み出して、割り込み処理を行う。
【００６４】
このように、割り込み処理関数の読み出しの際に割り込み制御回路２０４から割り込みデータを読み出すことになるので、図２の半導体集積回路装置１００と比べると、ＣＰＵ２０１の処理負荷低減させることができるが、図１の半導体集積回路装置１よりも負荷処理は大きくなってしまうことになる。
【００６５】
ここで、一般的な割り込み処理による図１〜図３のＣＰＵ処理について検討する。
【００６６】
ここでは、一般的な割り込み処理例として、たとえば、図４に示すように、２０ＫＨｚでモータ４つを制御するものとする。その際、ＣＰＵは、モータ１回転で２回の制御を行うものとする。また、低速バスからの周辺モジュールへのアクセスは、８サイクルが必要となり、割り込み制御回路から高速バスへのアクセスには、４サイクルが必要とする。
【００６７】
また、１回の割り込み処理におけるＣＰＵの処理は、１）割り込み応答（十数サイクル）、２）周辺モジュールからの割り込みデータ取得（２８バスアクセスサイクル）、３）ＣＰＵによる補正値の演算（数十サイクル）、４）タイマ値出力（８バスアクセスサイクル）、５）割り込みからの復帰（数サイクル）の合計３５０サイクル程度が必要となるものとする。
【００６８】
上記した条件による割り込み処理において、図２の半導体集積回路装置１００の場合、ＣＰＵ１０１が２０ＫＨｚ（５０μｓ）間に２回制御するため、１回の制御を、５０μｓ／２＝２５ｎｓで実施する必要がある。
【００６９】
１回の処理が、前述したように３５０サイクル程度なので、４つのモータを制御するには、３５０×４＝１４００となり、１４００サイクルが必要となる。すると、１サイクル時間は２５μｓ／１４００＝０．０１７９μｓ＝１７．９ｎｓとなり、必要なクロックスピード（動作周波数）は、１／１７．９ｎｓ＝５５．９ＭＨｚとなる。
【００７０】
モータ制御に使えるＣＰＵ負荷を、たとえば、１０％程度とすると、５５．９ＭＨｚ／０．１＝５５９ＭＨｚにまでクロックスピードを上げる必要がある。
【００７１】
次に、図３の半導体集積回路装置２００の場合には、図２と比較して取得する際の２８回分の低速バスを介した周辺モジュールへのアクセスを、高速バスでのアクセスに置き換えることができる。
【００７２】
すると、１回の処理が、３５０−２８×（８−４）＝２３８となり、２３８サイクルとなる。４つのモータを制御するには、２３８×４＝９５２となり、９５２サイクルが必要となる。
【００７３】
すると、１サイクル時間は、２５μｓ／９５２＝０．０２６３μｓ＝２６．３ｎｓとなり、必要なクロックスピードは、１／２６．３ｎｓ＝３８ＭＨｚとなる。よって、ＣＰＵ２０１の負荷率を１０％程度に抑えるためには、３８ＭＨｚ／０．１＝３８０となって、必要なクロックスピードは３８０ＭＨｚとなり、図２の半導体集積回路装置１００よりも低減させることができる。
【００７４】
次に、本実施の形態１における半導体集積回路装置１の場合には、割り込みデータを取得する際の２８回分の高速バス９へのアクセスを、ＣＰＵ２の行うべき割り込み処理から除外することができるため、該ＣＰＵ２の対象動作から除外することができる。
【００７５】
すると、１回の処理が、２３８−２８×４＝１２６となり、１２６サイクルとなる。よって、４つのモータを制御するには、１２６×４＝５０４となり、５０４サイクルが必要となる。
【００７６】
よって、１サイクル時間は、２５μｓ／５０４＝０．０４９６μｓ＝４９．６ｎｓとなり、必要なクロックスピードは、１／４９．６ｎｓ＝２０ＭＨｚとなる。そして、ＣＰＵ負荷を１０％程度に抑えるには、２０ＭＨｚ／０．１＝２００ＭＨｚとなって、クロックスピードは、２００ＭＨｚ程度に低減することができる。
【００７７】
消費電力は、ＣＰＵのクロック周波数に比例するため、半導体集積回路装置１では、図３の半導体集積回路装置２００と比較して、消費電力を約４７％程度低減することができる。
【００７８】
次に、レゾルバを用いてモータを制御する際の図１〜図３のＣＰＵ処理について検討する。
【００７９】
レゾルバは、モータの回転子(出力軸)の回転角度を検出するものであり、たとえば、該レゾルバの出力から回転角度に変換し、その回転角度に応じてモータの回転を制御する。
【００８０】
この場合、レゾルバによる制御は、５００Ｈｚで１２ビット精度により制御するものとする。また、アクセス条件は、前述と同様であり、低速バスからの周辺モジュールへのアクセスは、８サイクルが必要となり、割り込み制御回路から高速バスへのアクセスには、４サイクルが必要とする。
【００８１】
さらに、１回の割り込み処理におけるＣＰＵの処理は、１）割り込み応答（十数サイクル）、２）回転周期とレゾルバ値を取得（２バスアクセスサイクル）、３）ＣＰＵによる補正値の演算（数十サイクル）、４）レゾルバ値カウンタの加減算（数サイクル）、５）レゾルバ値出力（２バスアクセスサイクル）、６）割り込みからの復帰（数サイクル）の合計８０サイクル程度が必要となるものとする。
【００８２】
まず、図２の半導体集積回路装置１００の場合、ＣＰＵ１０１は、５００Ｈｚ（２ｍｓ）を１２ビット分解能で制御するため、１回の制御を２ｍｓ／２12＝４８８ｎｓで実施する必要がある。
【００８３】
１回の処理が８０サイクルなので、１サイクル時間は、４８８／８０＝６．１ｎｓとなり、必要なクロックスピードは、１／６．１ｎｓ＝１６４ＭＨｚとなる。ＣＰＵ負荷率を１０％程度に抑えるためには、１６４ＭＨｚ／０．１＝１．６４ＧＨｚ程度が必要となる。
【００８４】
続いて、図３の半導体集積回路装置２００の場合には、前述したように、周辺モジュールへのアクセスが高速バス２１６へのアクセスで実施することができるので、低速バス：８×ＣＰＵサイクル、高速バス：４×ＣＰＵサイクルとした場合、２回のアクセスが発生するので、８サイクルの短縮が可能となる。
【００８５】
よって、１回処理が、８０−２×（８−４）＝７２サイクルとなり、必要なクロックスピードは、１／（４８８ｎｓ／７２）＝１４７ＭＨｚとなる。これにより、１−（１４７／１６４）＝０．１０４となり、ＣＰＵのクロック動作による消費電力は、図２の半導体集積回路装置１００と比べて、１０％程度削減することができる。
【００８６】
一方、図１の半導体集積回路装置１では、周辺モジュールへのアクセスをＣＰＵ２の行うべき割り込み処理から除外することができるため、ＣＰＵ２におけるクロックの対象動作から除外することができる。
【００８７】
よって、１回の処理が、７２−８＝６４サイクルとなり、必要なクロックスピードは、１／（４８８ｎｓ／６４）＝１３１ＭＨｚとなる。これにより、１−（１３１／１６４）＝０．２０となるので、図２の半導体集積回路装置１００と比較して２０％程度の消費電流を削減することができる。
【００８８】
ここで、割り込みデータだけではなく、たとえば、該当する割り込み処理関数が配置されているアドレス情報も該割り込みデータとともにＣＰＵ２に転送することによって、割り込み応答処理のとしての１サイクルの削減を可能にすることができる。
【００８９】
この場合、１回の処理が、６４−１＝６３サイクルとなり、必要なクロックスピードは、１／（４８８ｎｓ／６３）＝１２９ＭＨｚとなる。これによって、１−（１２９／１６４）＝０．２１となり、約２１％程度の消費電流を低減することができる。
【００９０】
図５は、割り込み関数プログラムの一例を示したプログラム例である。図５の左側に示すプログラムは、たとえば、図２の半導体集積回路装置１００に用いられる割り込み関数プログラムであり、図５の右側に示すプログラムは、図１の半導体集積回路装置１に適用される割り込み関数プログラムである。
【００９１】
図５の左側に示すプログラム例Ｐ１においては、割り込み関数の引数は’ｖｏｉｄ’（点線○印で示す）となっているが、図５の右側に示すプログラム例Ｐ２では、’ｃｈａｒ  ＢｕｆｆｅｒＮｕｍｂｅｒ’となっており、ＣＰＵ内のレジスタに格納されたデータを、割り込み関数の引数としてプログラムに渡すことができるプログラムとなっている。
【００９２】
また、図５の左側に示す半導体集積回路装置１００に用いられる割り込み関数プログラムには、プログラム例Ｐ３に示すように、低速バスを経由して、周辺モジュールから割り込みデータを読み取るプログラム記載が必要となるが、図５の右側に示す半導体集積回路装置１に用いられる割り込み関数プログラムでは、割り込み要求信号が入力された際にＣＰＵ内のレジスタに割り込みデータが格納されているので周辺モジュールからの割り込みデータの読み出しを行うプログラムを不要とすることができる。
【００９３】
（実施の形態２）
図６は、本発明の実施の形態２による半導体集積回路装置における一例を示すブロック図、図７は、図６の半導体集積回路装置における割り込み処理の一例を示したタイミング図、図８は、本発明者が検討した図２の半導体集積回路装置をデュアルコア構成とした場合における割り込み処理の一例を示したタイミング図、図９は、本発明者が検討した図３の半導体集積回路装置をデュアルコア構成とした場合における割り込み処理の一例を示したタイミング図である。
【００９４】
本実施の形態２において、半導体集積回路装置１ａは、マルチコア構成となっているところが、前記実施の形態１の図１と異なっている点である。半導体集積回路装置１ａには、図６に示すように、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、割り込み制御回路５、周辺モジュール６，７、およびブリッジ８などからなる図１の構成に、ＣＰＵ２０、およびＲＡＭ２１が新たに設けられている。
【００９５】
ＣＰＵ２０は、高速バス９に接続されており、ＣＰＵ２０と割り込み制御回路５とは、専用バス２３、および専用配線２４によって接続されている。また、割り込み制御回路５においては、割り込み通知先判定部２２が新たに設けられている。割り込み通知先判定部２２は、ＣＰＵ２、またはＣＰＵ２０のいずれかに割り込みを通知するかを判定する。その他の接続構成については、前記実施の形態１の図１と同様であるので説明は省略する。
【００９６】
なお、図６では、ＣＰＵが２つ設けられているデュアルコアの構成について記載しているが、３つ以上のマルチコア構成であってもよい。
【００９７】
次に、本実施の形態２における半導体集積回路装置１ａによる割り込み処理について説明する。ここでは、たとえば、周辺モジュール６にイベントが発生した場合について記載する。
【００９８】
まず、割り込みを発生すべきイベントが発生すると、周辺モジュール６の割り込み通知部１９から割り込み要求信号を出力し、割り込み制御回路５に対して割り込み要求を通知する。
【００９９】
このとき、周辺モジュール６からは、割り込みデータ格納部１８に格納された割り込みデータが出力される。周辺モジュール６から出力された割り込みデータは、データ受信部１１によって受信された後、任意のレジスタ１５に格納される。
【０１００】
続いて、割り込み制御回路５は、受け取った割り込み要求信号の中でどの割り込みを発生すべきかの優先度判定を行う。そして、割り込み通知先判定部２２は、割り込み要求をＣＰＵ２、またはＣＰＵ２０のいずれのＣＰＵに通知するかを判定し、判定したＣＰＵ（たとえば、ＣＰＵ２とする）に対して、優先度判定の結果を割り込み要求信号として専用配線１７を介して通知するとともに、レジスタ１５に格納された割り込みデータを専用バス１６を介してＣＰＵ２に転送する。ＣＰＵ２は、入力された割り込みデータを該ＣＰＵ２に設けられたレジスタ２ａに格納する。
【０１０１】
そして、ＣＰＵ２は、割り込み要求を受け付けると、入力された割り込み要求信号に基づいて、該当する割り込み処理関数が配置されているアドレス情報を、ＲＯＭ３から読み出し、読み出したアドレスから割り込み処理関数を読み出し、レジスタ２ａに格納された割り込みデータの処理を実行する。
【０１０２】
ここで、割り込み通知先判定部２２は、たとえば、ユーザが設定することによって、ＣＰＵ２とＣＰＵ２０との割り込み処理の比率を任意に変更することができる。たとえば、割り込み処理の比率を１：１とするとＣＰＵ２とＣＰＵ２０とが交互に割り込み処理を実行する設定、ＣＰＵ２とＣＰＵ２０とを１：２の割合で割り込み処理を実行する設定、あるいはＣＰＵ２とＣＰＵ２０とを同時に割り込み処理を実行する設定などを任意に変更可能である。
【０１０３】
図７は、図６の半導体集積回路装置１ａにおける割り込み処理の一例を示したタイミング図である。
【０１０４】
図７において、上方から下方にかけて、ＣＰＵ２，２０にそれぞれ入力される割り込み要求信号、ＣＰＵ２の処理、およびＣＰＵ２０の処理についてそれぞれ示しており、ＣＰＵ２０の処理の下方には、通常の割り込み処理に他の高優先割り込みが発生した際のＣＰＵ２０の処理について示している。
【０１０５】
なお、ここでは、ＣＰＵ２とＣＰＵ２０とが交互に割り込み処理を実行する場合について示している。
【０１０６】
図７において、割り込み制御回路５から割り込み要求信号がＣＰＵ２に入力される。このとき、割り込みデータは、前記実施の形態１で記載したように、ＣＰＵ２に出力される。そして、ＣＰＵ２は、割り込み応答、データ読み出し、演算処理、結果出力、および割り込み復帰からなる割り込み処理を行う。
【０１０７】
続いて、割り込み制御回路５から、ＣＰＵ２０に対して割り込み要求信号が出力される。この場合も、ＣＰＵ２と同様に、割り込みデータが、ＣＰＵ２０に出力されている。そして、ＣＰＵ２０は、割り込み応答、演算処理、結果出力、および割り込み復帰からなる割り込み処理を行う。
【０１０８】
通常の割り込み動作時には、上記したＣＰＵ２とＣＰＵ２０との割り込み処理が交互に繰り返されることになる。
【０１０９】
次に、図７の下方に示すように、ＣＰＵ２０の通常の割り込み処理に他の高優先割り込みが発生した場合について説明する。
【０１１０】
ここでは、ＣＰＵ２の割り込み処理が終了した後、ＣＰＵ２０に対して高優先割り込みが発生した直後に、通常の割り込み処理が発生したものとする。
【０１１１】
この場合、ＣＰＵ２０は、高優先割り込みの割り込み処理を行い、その後、通常の割り込み処理を実行するが、ＣＰＵ２０に割り込み要求信号が入力された際に、割り込みデータも入力されることになるので、ＣＰＵ２０による割り込みデータの読み出し処理が不要となり、次回のＣＰＵ２０による割り込み処理までに、高優先割り込み処理の割り込みデータと直後に発生した通常の割り込み処理の割り込みデータを読み出すことが可能となる。
【０１１２】
図８は、前記実施の形態１の図２の半導体集積回路装置１００をデュアルコア構成とした場合における割り込み処理の一例を示したタイミング図である。
【０１１３】
図８においては、上方から下方にかけて、ＣＰＵ１０１と新たに設けられたＣＰＵとにそれぞれ入力される割り込み要求信号、ＣＰＵ１０１の処理、および新たに設けられたＣＰＵの処理についてそれぞれ示している。
【０１１４】
また、半導体集積回路装置１００（図２）には、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、割り込み制御回路１０４、周辺モジュール１０５，１０６、ならびにブリッジ１０７などからなる構成に、新たにＣＰＵが設けられている。さらに、割り込み処理の際には、ＣＰＵ１０１と新たに設けられたＣＰＵとが同時にその処理を行うものとする。
【０１１５】
図８において、割り込み制御回路１０４から割り込み要求信号がＣＰＵ１０１と新たに設けられたＣＰＵとにそれぞれ入力されると、ＣＰＵ１０１と新たに設けられたＣＰＵは、割り込み応答、データ読み出し、演算処理、結果出力、および割り込み復帰からなる割り込み処理をそれぞれ行う。
【０１１６】
この処理を、割り込み制御回路１０４から割り込み要求信号が出力される毎に行うことになるが、たとえば、図７に示したように、ＣＰＵ１０１に対して、高優先割り込みが発生した直後に、通常の割り込み処理が発生した場合には、該ＣＰＵ１０１は、高優先割り込みの割り込み処理を行い、その後、通常の割り込み処理を実行することになる。
【０１１７】
しかし、図７の割り込み処理と比較して、図８の割り込み処理では、ＣＰＵ１０１による低速バス１０９を介した高優先割り込みと通常の割り込みとの２度にわたる割り込みデータの読み出しが必要となるので、次回の割り込み要求信号までに通常の割り込みデータの読み出しが終了せずに、割り込み処理がエラーとなってしまうことなる。
【０１１８】
また、図９は、前記実施の形態１の図３における半導体集積回路装置２００をデュアルコア構成とした場合における割り込み処理の一例を示したタイミング図である。
【０１１９】
図９においては、図８と同様に、上方から下方にかけて、ＣＰＵ２０１と新たに設けられたＣＰＵとにそれぞれ入力される割り込み要求信号、ＣＰＵ２０１の処理、および新たに設けられたＣＰＵの処理についてそれぞれ示している。
【０１２０】
また、半導体集積回路装置２００（図３）には、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、割り込み制御回路２０４、周辺モジュール２０５，２０６、ならびにブリッジ２０７などからなる構成に、新たにＣＰＵが設けられている。さらに、割り込み処理の際には、ＣＰＵ２０１と新たに設けられたＣＰＵとが同時にその処理を行うものとする。
【０１２１】
図９において、割り込み制御回路２０４から割り込み要求信号がＣＰＵ２０１と新たに設けられたＣＰＵとにそれぞれ入力されると、ＣＰＵ２０１と新たに設けられたＣＰＵは、割り込み応答、データ読み出し、演算処理、結果出力、および割り込み復帰からなる割り込み処理をそれぞれ行う。
【０１２２】
この場合には、任意の周辺モジュールから割り込み要求信号が出力された際に、割り込みデータも割り込み制御回路２０４に出力されるので、割り込みデータの読み出し時間が図８と比較して短縮されることになる。
【０１２３】
しかし、図８で述べたように、通常の割り込み処理と高優先割り込み処理とを処理しなければならない場合には、次回の割り込み要求信号が発生するまでに、高優先割り込み処理に続いて処理される通常の割り込み処理における割り込みデータの読み出しが終了しない恐れが生じてしまい、割り込み処理がエラーとなってしまう場合がある。
【０１２４】
このように、半導体集積回路装置１ａでは、割り込み処理時において、ＣＰＵ２，２０による割り込みデータの読み出し処理を不要とすることができるので、他の高優先割り込み処理などが発生した際であっても、余裕を持って割り込み処理を実行することができる。
【０１２５】
また、ＣＰＵ２とＣＰＵ２０とを交互に割り込み処理させることによって、必要なクロックスピードを半分程度（１３１ＭＨｚ／２＝６５．５ＭＨｚ）にすることが可能となり、半導体集積回路装置１ａの消費電力を低減することができる。
【０１２６】
（実施の形態３）
実施の形態１において、周辺モジュール６、または周辺モジュール７からＣＰＵ２への割り込み通知の高速化について説明をした。実施の形態３においては、ＣＰＵ２での割り込み受付後の処理について説明をする。
【０１２７】
実施の形態１では、周辺モジュール６、または周辺モジュール７からの割り込み要求信号に対して、割り込み制御回路５の優先度判定部１４がＣＰＵ２へ優先的に通知すべき割り込みを決定し、ＣＰＵ２に専用配線１７を介して通知する。ＣＰＵ２はレジスタ２ａに格納された割り込みデータに基づいて高速バス９を介してＲＯＭ３へのアクセスを行う。
【０１２８】
この時点において、高速バス９に接続されるＤＭＡ転送制御回路(ＤＭＡＣ)などの別のバスマスタ回路が高速バス９を使用している場合、ＣＰＵ２と該別のバスマスタ回路とのバス使用優先度に応じたバス使用権の決定が行われ、該別のバスマスタ回路のバス使用優先度がＣＰＵ２よりも高い場合、ＣＰＵ２が割り込み処理を行うために必要なＲＯＭ３等へのアクセスが阻害され、割り込み処理実行が遅延することとなる。
【０１２９】
図１０に実施の形態３にかかる半導体集積回路装置の一例のブロック図を示す。図１に示すブロック図に対して、別のバスマスタ回路の一例としてのＤＭＡ転送制御回路ＤＭＡＣと高速バス９のバス使用権決定を行うバスコントローラＢＳＣとが追加して示されている。
【０１３０】
図１１とあわせて、実施の形態３での動作の一例を説明する。
【０１３１】
割り込み制御回路５の優先度判定部１４は周辺モジュールからの割り込み要求信号を判定し、ＣＰＵ２で優先的に処理をすべき割り込み要求が存在した場合、専用配線１７と専用バス１６とを介してＣＰＵ２への割り込み通知とレジスタ２ａへの割り込みデータの格納を行う。それと共に、優先度判定部１４はバスコントローラＢＳＣへバス使用優先度変更要求を通知する(タイミングｔ１)。
【０１３２】
バスコントローラＢＳＣは優先度判定部１４からのバス使用優先度変更要求に応じて、ＣＰＵ２の高速バス９のバス使用の優先度を別のバスマスタ回路よりも高くするように変更する。
【０１３３】
また、タイミングｔ１の時点において、バスコントローラＢＳＣは、既に受領しバス使用権未付与の別のバスマスタ回路からの高速バス９のバス権付与要求に対しては、ＣＰＵ２からのバス権付与要求が発行されることが予想されることから、一定の時間はバス使用権の付与を停止する。
【０１３４】
さらに、タイミングｔ１の時点において、たとえばＤＭＡ転送制御回路ＤＭＡＣが高速バス９を使用してデータ転送を行っている場合、バスコントローラＢＳＣはＤＭＡ転送制御回路ＤＭＡＣへデータ転送の中断とバス権付与の解消を通知し、ＤＭＡ転送制御回路ＤＭＡＣは当該通知に応じてデータ転送を中断する。
【０１３５】
ＣＰＵ２は割り込みデータに基づいて、該当する割り込み処理関数が配置されているアドレス情報をＲＯＭ３から読み出すために、高速バス９のバス権付与要求をバスコントローラＢＳＣへ発行する。ＣＰＵ２がバス権付与要求を発行する時点においては、ＤＭＡ転送制御回路ＤＭＡＣでのデータ転送は中断完了し、または早期に中断完了できるため、バスコントローラＢＳＣはＣＰＵ２へ、直ぐに若しくは比較的早期に、バス使用権を付与することが可能となる。
【０１３６】
ＣＰＵ２はバスコントローラＢＳＣからのバス使用権付与に応じて、高速バス９を介してＲＯＭ３へアクセスを行い、該当する割り込み処理関数の配置アドレス情報および該当する割り込み処理関数プログラムのフェッチを行う。また割り込み処理関数プログラムでは、高速バス９を介してＲＡＭ４へアクセスをし、またはブリッジ８を介して低速バス１０に接続される周辺モジュール６，７へアクセスを行う。
【０１３７】
ＣＰＵ２は該当する割り込み処理関数の実行終了に応じて、バスコントローラＢＳＣに対してバス使用権の開放とバス使用優先度を元に戻すために、バス優先権開放要求を発行する(タイミングｔ２)。
【０１３８】
バスコントローラＢＳＣはＣＰＵ２からのバス優先権開放要求に応じて、タイミングｔ１において高くしたＣＰＵ２のバス使用優先度を元の優先度に戻す。またタイミングｔ１の時点において高速バス９を使用してデータ転送を行っていたＤＭＡ転送制御回路ＤＭＡＣへデータ転送を再開させ、またはタイミングｔ２の時点において受領しているバス権付与要求のうち最も優先度の高い要求を発行しているバスマスタ回路に対して、バス権を付与する。
【０１３９】
図１１のタイミング図で示す構成により、優先的に処理をする必要のある割り込み通知に対して、ＣＰＵ２での割り込み通知受領から割り込み処理関数の実行開始の間において、別のバスマスタ回路が高速バス９を使用しているためにＣＰＵ２での割り込み処理関数の実行開始に遅延を生じることを抑止することができる。
【０１４０】
特に図４に例示したようなモータ制御において、別のバスマスタ回路が高速バス９を使用しているためにＣＰＵ２のバス使用権確保が遅れ、モータを制御する制御信号を出力するタイミングに変動を生じることが少なくなり、モータの制御効率を向上させることが可能となる。
【０１４１】
モータを制御するためのモータ制御回路が周辺モジュールとして接続されている場合、ＣＰＵ２が高速バス９のみについてバス使用優先度を高めたのでは、ブリッジ８を介して低速バス１０のバス使用に際して別のバスマスタ回路と競合を生じることがありえるため、低速バス１０についても高速バス９と同様の制御を行うことが好適である。
【０１４２】
次に、図１２に示す構成の半導体集積回路装置の場合、割り込み処理関数のアドレス情報およびプログラムのフェッチに高速バス９を使用する必要がない。このような半導体集積回路装置の構成の場合について図１３のタイミング図とあわせて、実施の形態３での動作の別の一例を説明する。
【０１４３】
図１１のタイミング図で示す動作との相違は、図１１において優先度判定部１４が発行したバス優先権取得要求を、図１３のタイミング図で示す動作ではＣＰＵ２が発行する点にある。
【０１４４】
割り込み制御回路５の優先度判定部１４はＣＰＵ２で優先的に処理すべき割り込み要求が存在した場合、専用配線１７と専用バス１６とを介してＣＰＵ２への割り込み通知とレジスタ２ａへの割り込みデータの格納を行う。
【０１４５】
ＣＰＵ２はかかる割り込み通知に応答して、高速バス９を優先的に使用する必要があるかを割り込みデータに基づき判定する。高速バス９を優先的に使用する必要があると判定した場合、バスコントローラＢＳＣに対してバス使用優先度変更要求を発行する(タイミングｔ１’)。
【０１４６】
バス使用優先度変更要求を受けたバスコントローラＢＳＣの処理、およびバス使用権の付与を受けた以降のＣＰＵ２のＲＯＭアクセスを除く動作は、図１１においての説明と同じでよい。
【０１４７】
図１２の半導体集積回路装置の場合、ＣＰＵ２での割り込み処理関数のアドレス情報の取得およびプログラムのフェッチと別のバスマスタ回路との間で高速バス９のバス使用権取得で競合が生じることがない。
【０１４８】
しかしながら、周辺モジュールとしてモータ制御回路が接続されている場合、周辺モジュールであるモータ制御回路に対してＣＰＵ２は高速バス９および低速バス１０を介してモータを制御する制御情報を転送する必要があり、かかる転送の際のバス使用権取得の競合を避けることが可能となる。
【０１４９】
図６に示すようなマルチコア構成の場合、割り込み制御回路から割り込み通知を受領したＣＰＵが図１０でのＣＰＵ２に相当し、他方のＣＰＵは別のバスマスタ回路に相当する。
【０１５０】
なお、本実施の形態３における上記した技術については、たとえば、特開２００８−１３００５６号公報、および特開２００８−１９１９８７号公報などが知られている。
【０１５１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１５２】
本発明は、割り込み処理時におけるＣＰＵの負荷率を低減する技術に適している。
【符号の説明】
【０１５３】
１  半導体集積回路装置
１ａ  半導体集積回路装置
２  ＣＰＵ
２ａ  レジスタ
３  ＲＯＭ
４  ＲＡＭ
５  割り込み制御回路
６  周辺モジュール
７  周辺モジュール
８  ブリッジ
９  高速バス
１０  低速バス
１１  データ受信部
１２  データ受信部
１３  通知部
１４  優先度判定部
１５  レジスタ
１６  専用バス
１７  専用配線
１８  割り込みデータ格納部
１９  割り込み通知部
２０  ＣＰＵ
２１  ＲＡＭ
２２  割り込み通知先判定部
２３  専用バス
２４  専用配線
１００  半導体集積回路装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  割り込み制御回路
１０５  周辺モジュール
１０６  周辺モジュール
１０７  ブリッジ
１０８  高速バス
１０９  低速バス
１１０  割り込みデータ格納部
１１１  割り込み通知部
１１２  通知部
１１３  優先度判定部
２００  半導体集積回路装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  割り込み制御回路
２０５  周辺モジュール
２０６  周辺モジュール
２０７  ブリッジ
２０８  データ受信部
２０９  データ受信部
２１０  通知部
２１１  優先度判定部
２１２  レジスタ
２１３  専用配線
２１４  割り込みデータ格納部
２１５  割り込み通知部
２１６  高速バス
２１７  低速バス
【図１】
2011076584.tif 000003
【図２】
2011076584.tif 000004
【図３】
2011076584.tif 000005
【図４】
2011076584.tif 000006
【図５】
2011076584.tif 000007
【図６】
2011076584.tif 000008
【図７】
2011076584.tif 000009
【図８】
2011076584.tif 000010
【図９】
2011076584.tif 000011
【図１０】
2011076584.tif 000012
【図１１】
2011076584.tif 000013
【図１２】
2011076584.tif 000014
【図１３】
2011076584.tif 000015