(57)【要約】【課題】割り込み要因の特定を短時間で行うことにより、割り込み処理時間を大幅に短縮する。【解決手段】割り込み処理部２３は、割り込みイネーブルイベントＩＥＥ０、および割り込みイベントＩＥ０を受信すると、割り込みイネーブルレジスタ２６１  と割り込みフラグレジスタ２５１  との０ｂｉｔをそれぞれ’１’セットする。これにより、論理部２８１  から割り込み信号ＩＮＴ０が出力され、割り込みモニタレジスタ２７の０ｂｉｔが’１’セットされて論理和回路２９から、割り込み要求信号ＩＮＴＯＵＴが出力される。割り込みコントローラは信号ＩＮＴＯＵＴに基づいてＣＰＵに割り込み要求を知らせる。ＣＰＵは、割り込みモニタレジスタ２７に’１’セットされているレジスタ２５１  ，２６１  をリードして割り込み要因を特定し、その割り込み要因に対応した割り込み処理を行う。【選択図】      図３
2005038136.tif 000002
【特許請求の範囲】
【請求項１】
複数の割り込みイベントを出力可能な複数の外部モジュールを接続可能であり、前記外部モジュールから出力される割り込みイベント、および前記割り込みイベントの割り込み要求を行うか否かを決定する割り込みイネーブルイベントを保持する割り込みレジスタを前記複数の外部モジュール毎に設けた半導体集積回路であって、
前記割り込みレジスタのうち、いずれの割り込みレジスタに前記割り込みイベント、ならびに前記割り込みイネーブルイベントが保持されたかを特定する割り込みモニタ部を備えたことを特徴とする半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路において、
前記割り込みモニタ部は、
前記割り込みレジスタに前記割り込みイベントと前記割り込みイネーブルイベントとが保持された際に割り込み信号を出力するイベント検出部と、
前記イベント検出部から検出された割り込み信号を保持する割り込みモニタ記憶部と、
前記割り込みモニタ記憶部に割り込み信号が保持された際に割り込み要求信号を出力する割り込み要求信号出力部とよりなり、
前記割り込みモニタ記憶部は、中央処理装置が読み出し可能であり、
前記中央処理装置は、前記割り込み要求信号出力部から出力された割り込み要求信号を受け取った際に、前記割り込みモニタ記憶部から読み出した割り込み信号に基づいて、前記外部モジュール毎に設けられた前記割り込みレジスタから、該当する割り込みレジスタを検出し、検出した前記割り込みレジスタに保持された前記割り込みイベントと割り込みイネーブルイベントとを読み出し、割り込み要因を特定することを特徴とする半導体集積回路。
【請求項３】
請求項２記載の半導体集積回路において、
前記割り込みモニタ記憶部は、レジスタよりなることを特徴とする半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のイベントに対する割り込み処理技術に関し、特に、割り込み要因数の増大によるパフォーマンスの低下防止に適用して有効な技術に関するものである。
【０００２】
【従来の技術】
半導体集積回路に搭載される機能モジュールには、たとえば、入出力処理の終了などの動作結果などをＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に知らせる割り込み機能を有している。
【０００３】
割り込み機能は以下の要素によって実現される。
【０００４】
まず、機能モジュールがＣＰＵに動作の結果に対するイベントを知らせる割り込みフラグである。この割り込みフラグはイベントが起こった時に’１’セットされる。複数のイベントに対する割り込み処理を区別するためにイベント毎に割り込みフラグが存在する。
【０００５】
２つ目は、割り込みフラグが’１’セットされた時、ＣＰＵに対して割り込み要求を行うかどうか決める割り込みイネーブルである。割り込みフラグと割り込みイネーブルが両方’１’セットされている場合に割り込み要求が行われる。
【０００６】
【発明が解決しようとする課題】
ところが、上記のような半導体集積回路における割り込み処理技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
たとえば、複数の割り込み要因がある場合、ソフトウェアは次の様に処理を行う。たとえば、割り込み要因が３２個あり、割り込みフラグは８ビットレジスタとする。この場合、８ビットレジスタは、４個の割り込みフラグレジスタ（Ｉｎｔｅｒｒｕｐｔ  Ｆｌａｇ  Ｒｅｇｉｓｔｅｒ：ＩＦＲ０〜ＩＦＲ３）、および４個の割り込みイネーブルレジスタ（Ｉｎｔｅｒｒｕｐｔ  Ｅｎａｂｌｅ  Ｒｅｇｉｓｔｅｒ：ＩＥＲ０〜ＩＥＲ３）により構成される。
【０００８】
まず、ＣＰＵは、割り込み要求を検知すると割り込み処理ルーチンに処理を移す。そして、割り込みイネーブルレジスタＩＥＲ０と割り込みフラグレジスタＩＦＲ０とをリードした後、割り込みイネーブルレジスタＩＥＲ１と割り込みフラグレジスタＩＦＲ１とをリードする。
【０００９】
続いて、割り込みイネーブルレジスタＩＥＲ２と割り込みフラグレジスタＩＦＲ２とをリードし、割り込みイネーブルレジスタＩＥＲ３と割り込みフラグレジスタＩＦＲ３とをリードする。
【００１０】
リードした割り込みフラグと割り込みイネーブルが両方’１’セットされている割り込み要因を判別し、判別した要因が１つの場合はその要因の処理ルーチンを処理し、複数ある場合は一番優先順位の高い要因を処理する。
【００１１】
このように、すべての割り込みフラグレジスタと割り込みイネーブルレジスタをリードして処理する割り込み要因の判別を行っているために、割り込み要因数の増加、および搭載モジュール数の増加に伴い、ＣＰＵの処理時間が増大し、半導体集積回路のパフォーマンスを低下させてしまうという問題がある。
【００１２】
本発明の目的は、割り込み要因の特定を短時間で行うことにより、割り込み処理時間を大幅に短縮することのできる半導体集積回路を提供することにある。
【００１３】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【００１４】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１５】
すなわち、本発明は、複数の割り込みイベントを出力可能な複数の外部モジュールを接続可能であり、外部モジュールから出力される割り込みイベント、および該割り込みイベントの割り込み要求を行うか否かを決定する割り込みイネーブルイベントを保持する割り込みレジスタを複数の外部モジュール毎に設ける半導体集積回路であって、割り込みレジスタのうち、いずれの割り込みレジスタに割り込みイベント、ならびに割り込みイネーブルイベントが保持されたかを特定する割り込みモニタ部を備えたものである。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１７】
図１は、本発明の一実施の形態による携帯電話の一例を示すブロック図、図２は、図１の携帯電話に設けられた外部通信インタフェースのブロック図、図３は、図２の外部通信インタフェースに設けられた割り込み処理部における割り込み処理の概略を示す説明図、図４は、図３の割り込み処理部の回路図、図５は、図４の割り込み処理部の動作フローチャート、図６は、図４の割り込み処理部に設けられた割り込みフラグレジスタにおけるデータ保持状態の説明図、図７は、図４の割り込み処理部に設けられた割り込みイネーブルレジスタにおけるデータ保持状態の説明図、図８は、図４の割り込み処理部に設けられた割り込みイネーブルレジスタにおける割り込み優先順位を示す説明図、図９は、図４の割り込み処理部における各部の信号タイミングを示すタイミングチャートである。
【００１８】
本実施の形態において、携帯電話１は、たとえば、通信移動体システムなどからなる通信システムである。この携帯電話１は、図１に示すように、送受信用アンテナ２、入出力部３、受信部４、送信部５、信号処理部６、電源部７、表示部／入力部８、メモリ９、音声処理部１０、および外部通信インタフェース（半導体集積回路）１１から構成されている。
【００１９】
送受信用アンテナ２は、信号電波の送受信を行う。この送受信用アンテナ２には、入出力部３が接続されており、該入出力部３には、受信部４、および送信部５がそれぞれ接続されている。
【００２０】
入出力部３は、送受信用アンテナ２を介して送受信された電波の入出力を行う。
受信部４は、入出力部３を介して出力された受信信号の増幅などの受信処理を行う。送信部５は、送信信号の増幅などの送信処理を行う。
【００２１】
受信部４、および送信部５には、信号処理部６が接続されている。信号処理部６は、受信信号を復調したり、送信信号を変調したりする。信号処理部６には、電源部７、表示部／入力部８、メモリ９、音声処理部１０、および外部通信インタフェース１１がそれぞれ接続されている。
【００２２】
電源部７は、所定の電源電圧を生成して信号処理部６などに供給する。表示部／入力部８は、外部表示や外部ボタン入力などを処理する。メモリ９は、たとえば、信号処理部６や表示部／入力部８などから入力されたデータを記憶する。音声処理部１０は、音声データの処理を行う。外部通信インタフェース１１は、外部接続される通信機器との通信を行う。
【００２３】
図２は、外部通信インタフェース１１の構成を示すブロック図である。
【００２４】
外部通信インタフェース１１は、通信インタフェース部１２、割り込みコントローラ１３、ＣＰＵ１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６から構成されている。
【００２５】
また、上記外部通信インタフェース１１は上記ＣＰＵ１４、ＲＡＭ１５、ＲＯＭ１６を内蔵せず、図１における通信システム全体のＣＰＵ、ＲＡＭ、ＲＯＭ（たとえば信号処理部６、メモリ９）と共有されて構成される場合もある。
【００２６】
通信インタフェース部１２は、データ通信を行うインタフェースであり、たとえば、通信ケーブルを介してパーソナルコンピュータなどの通信機器と接続される。この通信インタフェース部１２は、各アプリケーションのデータを分別し、たとえば信号処理部６や音声処理部１０などアプリケーションを処理するブロックにＣＰＵインタフェース部２４からバスを経由してそれぞれ受け渡しする。
【００２７】
割り込みコントローラ１３は、通信インタフェース部１２からの割り込み要求を処理する。ＣＰＵ１４は、外部通信インタフェース１１における制御を司る。ＲＡＭ１５は、ＣＰＵ１４などが処理したデータなどを一時的に格納する。ＲＯＭ１６は、ＣＰＵ１４が用いるプログラムや各種データなどが格納されている。
【００２８】
また、通信インタフェース（Ｉ／Ｆ）部１２は、トランシーバ部２１、データ処理部２２、割り込み処理部２３、ならびにＣＰＵインタフェース部２４から構成されている。
【００２９】
トランシーバ部２１は、通信ケーブルを介して接続された通信機器にデータを送受信する。トランシーバ部２１には、データ処理部２２が接続されており、該データ処理部２２は、たとえば、トランシーバ部２１で送受信された携帯電話で使用されるデータを処理する。データ処理部２２には、割り込み処理部２３、およびＣＰＵインタフェース部２４がそれぞれ接続されている。
【００３０】
割り込み処理部２３は、データ処理部２２によるデータ処理で発生したイベントの割り込みを割り込みコントローラ１３に受け渡しする。ＣＰＵインタフェース部２４は、データ処理部２２において処理されたデータをＣＰＵ１４に受け渡しする。
【００３１】
そして、これら通信インタフェース部１２、割り込みコントローラ１３、ＣＰＵ１４、ＲＡＭ１５、ＲＯＭ１６、およびアプリケーション処理部１７〜２０は、内部バスを介して相互に接続されている。
【００３２】
図３は、割り込み処理部２３における割り込み処理の概略説明図である。
【００３３】
割り込み処理部２３は、割り込みフラグレジスタ（割り込みレジスタ）２５１  〜２５４  、割り込みイネーブルレジスタ（割り込みレジスタ）２６１  〜２６４  、割り込みモニタレジスタ（割り込みモニタ部、割り込みモニタ記憶部、レジスタ）２７、論理部（割り込みモニタ部、イベント検出部）２８１  〜２８４  、および論理和回路（割り込みモニタ部、割り込み要求信号出力部）２９から構成されている。
【００３４】
割り込みフラグレジスタ２５１  〜２５４  、および割り込みイネーブルレジスタ２６１  〜２６４  には、データ処理部２２が接続されている。データ処理部２２は、携帯電話で使用される機能、たとえば、シリアル通信、ストレージ、画像処理用データの各処理をそれぞれ行うブロックで構成されている。
【００３５】
割り込みフラグレジスタ２５１  〜２５４  は、データ処理部２２（図２）から送られるイベントによって割り込み要因を保持するレジスタである。割り込みイネーブルレジスタ２６１  〜２６４  は、割り込みフラグレジスタ２５１  〜２５４  が’１’セットされた場合に割り込み要求を行うかどうか決定するレジスタである。
【００３６】
論理部２８１  〜２８４  は、割り込みフラグレジスタ２５１  〜２５４  と割り込みイネーブルレジスタ２６１  〜２６４  とに保持されたデータから割り込み信号ＩＮＴ０〜ＩＮＴ３を生成する。
【００３７】
論理部２８１  〜２８４  には、割り込みモニタレジスタ２７が接続されている。この割り込みモニタレジスタ２７は、論理部２８１  〜２８４  から出力される割り込み信号ＩＮＴ０〜ＩＮＴ３を１ビットずつのモニタビットにそれぞれ割り当てて保持する。この割り込みモニタレジスタ２７は、ＣＰＵ１４からもリードが可能なレジスタである。
【００３８】
割り込みモニタレジスタ２７には、論理和回路２９が接続されている。論理和回路２９は、割り込みモニタレジスタ２７に保持されたモニタビットの論理和を取り、割り込みコントローラ１３（図２）に割り込み要求信号ＩＮＴＯＵＴとして出力する。
【００３９】
通信ケーブルを介して通信機器との間で送受信されたデータは、データ処理部２２で機能別に分別され、送受信結果がイベントとして割り込み処理部２３に伝えられる。
【００４０】
イベントを受けた割り込み処理部２３では、該当する割り込みフラグレジスタ２５１  〜２５４  のビットを’１’セットする。この時、割り込みイネーブルレジスタ２６１  〜２６４  が’１’セットされている場合は、割り込み要求が’１’セットされる。
【００４１】
たとえば、シリアル通信データを通信機器に転送する場合を考える。シリアル通信データの送信完了を示すイベントは、割り込みフラグレジスタ２５１  の０ｂｉｔ目に割り当てられており、データ送信完了をＣＰＵ１４が検出するために割り込みイネーブルレジスタ２６１  の０ｂｉｔ目を’１’にセット済みとする。
【００４２】
シリアル通信データが通信機器に正しく送信されると、割り込みフラグレジスタ２５１  の０ｂｉｔが’１’セットされる。割り込みイネーブルレジスタ２６１  の０ｂｉｔ目も’１’セットされているので、割り込み信号ＩＮＴ０が’１’セットされ、データ送信完了割り込み要求が行われる。
【００４３】
この時、割り込みモニタレジスタ２７の０ｂｉｔ目も’１’セットされる。その結果、割り込み要求信号ＩＮＴＯＵＴが’１’セットされ、割り込みコントローラ１３に対してデータ送信完了割り込み要求が行われる。
【００４４】
割り込みコントローラ１３は、割り込みが起こったことをＣＰＵ１４に知らせる。ＣＰＵ１４は、この要求に従ってまず割り込みモニタレジスタ２７をリードする。リード値は（Ｂ’０００１）となる。０ｂｉｔ目以外は’０’であることから、割り込みフラグレジスタ２５２  〜２５４  には割り込み要求がないことがわかる。
【００４５】
したがって、０ｂｉｔ目に対応する割り込みフラグレジスタ２５１  と割り込みイネーブルレジスタ２６１  のみＣＰＵ１４はリードすればよい。割り込みフラグレジスタ２５１  の中で、複数’１’セットされている場合は、一番優先順位の高い要因から処理を行う。
【００４６】
この割り込み処理では、まず、割り込みモニタレジスタ２７を先にリードすることにより、割り込みフラグレジスタ２５１  〜２５４  と割り込みイネーブルレジスタ２６１  〜２６４  のすべてをリードすることが不要となり、割り込み要求が’１’セットされているレジスタのみリードすればよい。
【００４７】
これにより、割り込み要因数に関係なく、割り込みモニタレジスタ２７のリードと該割り込みモニタレジスタ２７のリード結果から該当する割り込みフラグレジスタと割り込みイネーブルレジスタとのリードのみで割り込み要求の判別が可能であり、割り込み処理時間を大幅に短縮することができる。
【００４８】
図４は、割り込み処理部２３の詳細な回路図である。なお、図４においては、割り込みフラグレジスタ２５１  （ＩＦＲ０）のみを記載しているが、割り込みフラグレジスタ２５２  〜２５４  （ＩＦＲ１〜ＩＦＲ３）も、該割り込みフラグレジスタ２５１  と同様の接続構成となっている。
【００４９】
割り込み処理部２３は、図３に示したように割り込みフラグレジスタ２５１  〜２５４  （ＩＦＲ０〜ＩＦＲ３）、割り込みイネーブルレジスタ２６１  〜２６４  （ＩＥＲ０〜ＩＥＲ３）、割り込みモニタレジスタ（ＩＭＲ）２７、論理部２８１  〜２８４  、および論理和回路２９から構成されている。
【００５０】
割り込み処理部２３には、内部クロックＣＫ、およびアドレスバスＡＢがそれぞれ接続されており、該アドレスバスＡＢを介してＣＰＵインタフェース部２４から送られる割り込みフラグレジスタ２５１  （〜２５４  ）と割り込みイネーブルレジスタ２６１  （〜２６４  ）とを区別するためのアドレスが入力される。
【００５１】
割り込みフラグレジスタ２５１  （〜２５４  ）には、データ処理部２２から送られるアプリケーション処理部１７（〜２０）の割り込みイベントＩＥ０〜ＩＥ７が入力されるように接続されている。
【００５２】
割り込みイネーブルレジスタ２６１  （〜２６４  ）には、ＣＰＵインタフェース部２４を介して、ＣＰＵ１４から設定される割り込みイネーブルイベントＩＥＥ０〜ＩＥＥ７が入力されるように接続されている。
【００５３】
割り込みフラグレジスタ２５１  （〜２５４  ）、および割り込みイネーブルレジスタ２６１  （〜２６４  ）は、８ビット（ｂｉｔ０〜ｂｉｔ７）のデータを保持するレジスタである。
【００５４】
これら割り込みフラグレジスタ２５１  （〜２５４  ）、ならびに割り込みイネーブルレジスタ２６１  （〜２６４  ）には、入力側のデータバスＤＢ１が接続されており、該データバスＤＢ１を介して割り込みフラグレジスタ２５１  （〜２５４  ）と割り込みイネーブルレジスタ２６１  （〜２６４  ）との値を書き変えるデータが入力される。
【００５５】
割り込みフラグレジスタ２５１  （〜２５４  ）の出力部には、出力側のデータバスＤＢ２、および論理部２８１  〜２８４  がそれぞれ接続されている。割り込みイネーブルレジスタ２６１  （〜２６４  ）の出力部には、データバスＤＢ２、ならびに論理部２８１  〜２８４  がそれぞれ接続されている。
【００５６】
論理部２８１  （〜２８４  ）は、論理積回路３０〜３７、論理和回路３８から構成されている。論理積回路３０〜３７の一方の入力部には、割り込みフラグレジスタ２５１  が保持したｂｉｔ０〜ｂｉｔ７のデータがそれぞれ入力されるように接続されている。
【００５７】
論理積回路３０〜３７の他方の入力部には、割り込みイネーブルレジスタ２６１  が保持したｂｉｔ０〜ｂｉｔ７のデータがそれぞれ入力されるように接続されている。
【００５８】
また、論理部２８２  〜２８４  も同様に、論理積回路３０〜３７、論理和回路３８から構成されており、論理積回路３０〜３７の一方の入力部には、割り込みフラグレジスタ２５２  〜２５４  が保持したｂｉｔ０〜ｂｉｔ７のデータがそれぞれ入力されるように接続されている。
【００５９】
論理積回路３０〜３７の他方の入力部には、割り込みイネーブルレジスタ２６２  〜２６４  が保持したｂｉｔ０〜ｂｉｔ７のデータがそれぞれ入力されるように接続されている。
【００６０】
論理積回路３０〜３７の出力部には、論理和回路３８の入力部が接続されており、該論理和回路３８は、論理積回路３０〜３７から出力された信号ＢＩＴＡＮＤ０〜ＢＩＴＡＮＤ７の論理和を取る。
【００６１】
各論理部２８１  〜２８４  に設けられた論理和回路３８の出力部には、割り込みモニタレジスタ２７がそれぞれ接続されている。また、論理部２８１  〜２８４  に設けられた論理和回路３８から出力される信号が割り込み信号ＩＮＴ０〜ＩＮＴ３となる。
【００６２】
割り込みモニタレジスタ２７の出力部には、データバスＤＢ２、ならびに論理和回路２９の入力部が接続されており、該論理和回路２９から出力される信号が割り込み要求信号ＩＮＴＯＵＴとして出力される。
【００６３】
次に、本実施の形態における割り込み処理部２３の動作について、図２〜図４、図５のフローチャート、図６の割り込みフラグレジスタ２５１  〜２５４  のデータ保持状態の説明図、および図７の割り込みイネーブルレジスタ２６１  〜２６４  のデータ保持状態の説明図を用いて説明する。
【００６４】
ここで、各割り込みフラグレジスタ２５１  〜２５４  における割り込み優先順位は、図８に示すように、割り込みフラグレジスタ２５４  のｂｉｔ７が最も高く、割り込みフラグレジスタ２５１  のｂｉｔ０が最も低いものとする。
【００６５】
まず、ＣＰＵ１４からＣＰＵインタフェース部２４を介して、アプリケーション処理部１７における’１’セットされた割り込みイネーブルイベントＩＥＥ０を割り込み処理部２３が受信すると（ステップＳ１０１）、図７に示すように、該割り込み処理部２３は割り込みイネーブルレジスタ２６１  の０ｂｉｔを’１’セットする（ステップＳ１０２）。
【００６６】
同様に、アプリケーション処理部１８〜２０における’１’セットされた割り込みイネーブルイベントＩＥＥ０を割り込み処理部２３が受信すると、図７に示すように、該割り込み処理部２３は割り込みイネーブルレジスタ２６２  〜２６４  の０ｂｉｔを’１’セットする。
【００６７】
続いて、データ処理部２２から、’１’セットされた割り込みイベントＩＥ０を割り込み処理部２３が受信すると（ステップＳ１０３）、該割り込み処理部２３は、割り込みフラグレジスタ２５１  の０ｂｉｔを’１’セットする（ステップＳ１０４）。
【００６８】
割り込みフラグレジスタ２５１  、および割り込みイネーブルレジスタ２６１  の０ｂｉｔがそれぞれ’１’セットされると、論理積回路３０からは’１’が出力される。
【００６９】
その結果、論理和回路３８から出力される割り込み信号ＩＮＴ０が’１’となり、割り込みモニタレジスタ２７の０ｂｉｔが’１’セットされる（ステップＳ１０５）。よって、論理和回路２９からは、’１’の割り込み要求信号ＩＮＴＯＵＴが出力される（ステップＳ１０６）。
【００７０】
割り込み要求信号ＩＮＴＯＵＴは、割り込み処理部２３から割り込みコントローラ１３に対して出力され、該割り込みコントローラ１３は、ＣＰＵ１４に対して割り込み要求を知らせる。
【００７１】
そして、割り込み要求を受けたＣＰＵ１４は、ＣＰＵインタフェース部２４を介して割り込み処理部２３の割り込みモニタレジスタ２７をリードする（ステップＳ１０７）。
【００７２】
この場合、割り込みモニタレジスタ２７に’０’がセットされているｂｉｔは、割り込み要求が起きていないので、ＣＰＵ１４は、割り込みモニタレジスタ２７の中で’１’セットされているｂｉｔの割り込みフラグレジスタ、および割り込みイネーブルレジスタのみリードすればよいことになる。
【００７３】
今、割り込みモニタレジスタ２７の０ｂｉｔ目のみ’１’セットされているので、ＣＰＵ１４は、割り込みフラグレジスタ２５１  と割り込みイネーブルレジスタ２６１  との各ｂｉｔをリードする（ステップＳ１０８，Ｓ１０９）。
【００７４】
このとき、ＣＰＵ１４は、図８に示すように、優先順位の高い割り込みフラグレジスタ２５１  、および割り込みイネーブルレジスタ２６１  におけるｂｉｔ７から’１’セットされているｂｉｔを順次判別して割り込み要因を特定する（ステップＳ１１０）。その後、ＣＰＵ１４は、特定された割り込み要因に対応した割り込み処理を行う（ステップＳ１１１）。
【００７５】
たとえば、ステップＳ１１１の処理では、ＲＡＭ１５、ＲＯＭ１６、またはメモリ９に格納される割り込み処理ルーチンを実行する。
【００７６】
このように、割り込みモニタレジスタ２７を使用した場合、割り込み要因特定のためのレジスタリード回数を大幅に減少させることができる。本実施の形態では、たとえば、４つのアプリケーション処理部からの要求を受け付ける４つのレジスタの場合について記載したが、レジスタリード回数の差は割り込み要因が増加していくに伴い増大することになり、より効果的にレジスタリード回数を減少させることができる。
【００７７】
図９は、割り込み処理部２３における各部の信号タイミングを示すタイミングチャートである。
【００７８】
図９においては、上方から下方にかけて、内部クロックＣＫ、アドレス信号、データ、割り込みイネーブルイベントＩＥＥ０、割り込みイベントＩＥ０、割り込みイネーブルレジスタ２６１  にセットされるデータ、割り込みフラグレジスタ２５１  にセットされるデータ、割り込みモニタレジスタ２７にセットされるデータ、論理積回路３０から出力される信号ＢＩＴＡＮＤ０、論理和回路３８から出力される割り込み信号ＩＮＴ０、論理和回路２９から出力される割り込み要求信号ＩＮＴＯＵＴにおける信号タイミングをそれぞれ示している。
【００７９】
まず、ＣＰＵ１４からＣＰＵインタフェース部２４を介して、割り込み処理部２３の割り込みフラグレジスタ２５１  に割り込みをイネーブルにする割り込みイネーブルイベントＩＥＥ０が発行されると、割り込みイネーブルレジスタ２６１  の０ｂｉｔが’１’セットされる。
【００８０】
そして、データ処理部２２から割り込みイベントＩＥ０が発行され’１’セットされると、割り込みフラグレジスタ２５１  の０ｂｉｔが’１’セットされる。割り込みイネーブルレジスタ２６１  の０ｂｉｔと割り込みフラグレジスタ２５１  の０ｂｉｔとの両方が’１’セットされると、論理部２８１の論理積回路３０から出力される信号ＢＩＴＡＮＤ０が’１’セットされる。
【００８１】
この論理積回路３０から出力される’１’セットされた信号ＢＩＴＡＮＤ０により、論理和回路３８から、’１’セットされた割り込み信号ＩＮＴ０が出力される。
【００８２】
続いて、’１’セットされた割り込み信号ＩＮＴ０により、割り込みモニタレジスタ２７の０ｂｉｔが’１’セットされる。よって、論理和回路２９からは、’１’セットされた割り込み要求信号ＩＮＴＯＵＴが出力される。
【００８３】
割り込みコントローラ１３は、割り込み要求信号ＩＮＴＯＵＴを受けて、ＣＰＵ１４に対して割り込み要求を行う。そして、ＣＰＵ１４はＣＰＵインタフェース部２４を介して割り込み処理部２３の割り込みモニタレジスタ２７をリードし、’１’セットされている割り込みフラグレジスタ２５１  と割り込みイネーブルレジスタ２６１  とのみリードする。
【００８４】
ＣＰＵ１４は、割り込みフラグレジスタ２５１  、および割り込みイネーブルレジスタ２６１  からリードした値に基づいて、割り込み要因を特定し、該割り込み要因に対応した割り込み処理を実行する。
【００８５】
それにより、本実施の形態においては、割り込みモニタレジスタ２７を設けたことにより、割り込み要求がある割り込みフラグレジスタと割り込みイネーブルレジスタとを特定することができるので、レジスタリード回数を大幅に減少させることが可能となり、割り込み処理時間を大幅に短縮することができる。
【００８６】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８７】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００８８】
（１）レジスタリード回数を大幅に減少させることができるので、割り込み処理時間を大幅に短縮することができる。
【００８９】
（２）上記（１）により、半導体集積回路の信頼性、ならびに性能を向上することができ、該半導体集積回路を用いて電子システムを構成することにより、電子システムのパフォーマンス向上、ならびに安定動作を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による携帯電話の一例を示すブロック図である。
【図２】図１の携帯電話に設けられた外部通信インタフェースのブロック図である。
【図３】図２の外部通信インタフェースに設けられた割り込み処理部における割り込み処理の概略を示す説明図である。
【図４】図３の割り込み処理部の回路図である。
【図５】図４の割り込み処理部の動作フローチャートである。
【図６】図４の割り込み処理部に設けられた割り込みフラグレジスタにおけるデータ保持状態の説明図である。
【図７】図４の割り込み処理部に設けられた割り込みイネーブルレジスタにおけるデータ保持状態の説明図である。
【図８】図４の割り込み処理部に設けられた割り込みイネーブルレジスタにおける割り込み優先順位を示す説明図である。
【図９】図４の割り込み処理部における各部の信号タイミングを示すタイミングチャートである。
【符号の説明】
１  携帯電話
２  送受信用アンテナ
３  入出力部
４  受信部
５  送信部
６  信号処理部
７  電源部
８  表示部／入力部
９  メモリ
１０  音声処理部
１１  外部通信インタフェース（半導体集積回路）
１２  通信インタフェース部
１３  割り込みコントローラ
１４  ＣＰＵ
１５  ＲＡＭ
１６  ＲＯＭ
２１  トランシーバ部
２２  データ処理部
２３  割り込み処理部
２４  ＣＰＵインタフェース部
２５１  〜２５４    割り込みフラグレジスタ（割り込みレジスタ）
２６１  〜２６４    割り込みイネーブルレジスタ（割り込みレジスタ）
２７  割り込みモニタレジスタ（割り込みモニタ部、割り込みモニタ記憶部、レジスタ）
２８１  〜２８４    論理部（割り込みモニタ部、イベント検出部）
２９  論理和回路（割り込みモニタ部、割り込み要求信号出力部）
３０〜３７  論理積回路
３８  論理和回路
ＩＮＴＯＵＴ  割り込み要求信号
ＩＮＴ０〜ＩＮＴ３  割り込み信号
ＩＥ０〜ＩＥ７  割り込みイベント
ＩＥＥ０〜ＩＥＥ７  割り込みイネーブルイベント
ＣＫ  内部クロック
ＡＢ  アドレスバス
ＤＢ１，ＤＢ２  データバス
【図１】
2005038136.tif 000003
【図２】
2005038136.tif 000004
【図３】
2005038136.tif 000005
【図４】
2005038136.tif 000006
【図５】
2005038136.tif 000007
【図６】
2005038136.tif 000008
【図７】
2005038136.tif 000009
【図８】
2005038136.tif 000010
【図９】
2005038136.tif 000011