(57)【特許請求の範囲】
【請求項１】
現在運用中のプログラム処理の所望の設定モードの第１の割り込み優先順位設定値、及び前記所望の設定モードを切り換える際の次設定モードの第２の割り込み優先順位設定値を保持する第１の記憶手段と、
前記所望の設定モードにおいて割り込みが発生した後の第３の割り込み優先順位設定値を保持する第２の記憶手段と、
前記第１の割り込み優先順位設定値を格納する第１のレジスタと、
前記第２又は第３の割り込み優先順位設定値のいずれか一方を格納する第２のレジスタと、
前記第１のレジスタに格納された前記第１の割り込み優先順位設定値か、又は前記第２のレジスタに格納された前記第２又は第３の割り込み優先順位設定値のいずれか一方を選択して出力する選択手段と、
を有することを特徴とする割り込み優先順位設定回路。
【請求項２】
前記第１の記憶手段から読み出された前記第１の割り込み優先順位設定値を前記レジスタへ転送する第１の転送ルートと、
前記第２の記憶手段から読み出された前記第２又は第３の割り込み優先順位設定値を前記レジスタへ転送する第２の転送ルートと、
を有することを特徴とする請求項１記載の割り込み優先順位設定回路。
【請求項３】
前記第１の記憶手段、及び前記第２の記憶手段は、半導体記憶装置により構成されていることを特徴とする請求項１又は２記載の割り込み優先順位設定回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、システム集積回路（以下、「システムLSI」という。）に内蔵する割り込みコントローラ等の内部に設けられ、割込み通知の優先順位を設定するレジスタの一括変換等を行う割り込み優先順位設定回路に関するものである。
【背景技術】
【０００２】
従来、割り込みコントローラに関する技術としては、例えば、次のような文献等に記載されるものがあった。
【０００３】
【特許文献１】特開平５−７３４７２号公報
【０００４】
この特許文献１には、割り込みコントローラにおいて、優先順位が決定された複数の割り込み要求をデュアルポート型のランダム・アクセス・メモリ（以下「RAM」という。）に格納し、その後、優先順位に従って割り込みレジスタに読み出し、中央処理装置（以下「CPU」という。）へ通知することにより、CPUの処理の負担を軽減する技術が記載されている。
【０００５】
この種の割り込みコントローラでは、デュアルポート型RAMに格納された複数の割り込み要求をシリアルに読み出してレジスタに格納する構成になっているので、割り込み要求の読み出し速度が遅く、しかも、設定モード（例えば、エンジン制御系LSIの場合、加速モード、速度安定モード、減速モード等）が変わる毎に、各設定モードに対応した割り込み優先順位に変更する場合、各設定モードに対する割り込み数が多いと（例えば、数十）、割り込み優先順位の変更のための制御処理が複雑で、処理速度を向上させることが困難である。
【０００６】
そこで、このような問題を解決するために、従来、次のようなシステムLSIに内蔵される割り込みコントローラの技術が提案されている。
【０００７】
図４は、従来のシステムLSIに内蔵される割り込みコントローラを示す概略の構成図である。
【０００８】
システムLSIは、データバス、アドレスバス及び制御バスからなるシステムバス１を有している。システムバス１には、システムLSI全体を制御するCPU２、データ格納用のRAM３、ダイレクト・メモリ・アクセス（以下「DMA」という。）コントローラ４、各種の処理を行う複数のモジュール５−１〜５−Ｊ、及び割り込みコントローラ１０等が接続されている。
【０００９】
割り込みコントローラ１０は、バスインタフェース（BUS IF）１１を介してシステムバス１に接続されたシステムバス１２を有している。システムバス１２には、割り込みコントローラ全体を制御する割り込み制御部１３、割り込み優先順位設定回路２０、及び複数の他のレジスタ２２−０〜２２−Ｍ等が接続されている。割り込み優先順位設定回路２０は、複数の割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）等を有し、これらがシステムバス１２に接続されている。
【００１０】
CPU内蔵のシステムLSIを制御するソフトウェアの動作で、電源投入時及び各設定モードヘの切り換え時には、システムLSI内部レジスタの初期設定や設定モード変更の処理が必要となる。割り込みコントローラ１０内に設けられた割り込み優先順位設定回路２０中の割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）も、その処理の中に含まれる。
【００１１】
設定モードとは、例えば、エンジン制御系LSIの場合は、加速モード（設定モード０）、速度安定モード（設定モード１）、減速モード（設定モード２）等であり、MP3（MPEG-1Audio Layer 3、動画圧縮技術であるMPEG-1の音声圧縮技術で圧縮率が一番高いもの）プレーヤの場合は、再生モード（設定モード０）、選曲モード（設定モード１）、録音モード（設定モード２）等である。
【００１２】
図５は、図４のシステムLSIにおいて設定モード変更の動作例を示すフローチャートである。
【００１３】
システムLSIにおいて、電源投入時（ステップ３０）のシステムLSI内部回路の初期設定（ステップ３１）の後、CPU２の制御により、設定モード判定処理（ステップ３２〜３（N-1)）の結果に従い、システムLSIはいずれかの設定モード(ステップ３２ａ〜３Nａ)で運用を開始し、以降、システムLSIの状態により、設定モードが他のモードヘ遷移する。各設定モード運用（ステップ３２ａ〜３Na）を開始する時、CPU２の制御によって設定変更処理を開始し、割り込み制御部１３の制御によって割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の処理も行う。
【００１４】
又、割り込み制御部１３に対して割り込み優先順位設定値を与える割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）については、各設定モードで運用中（ステップ３２ａ〜３Na）、割り込みが発生した場合にレジスタ書き換えを行う場合がある。これは、割り込みが発生した場合に、この割り込み処理中に発生するであろう割り込みの優先順位を決めるために、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の内容を書き換える必要があるからである。
【００１５】
図６は、図４のシステムLSIにおいて設定モード運用中の割り込み動作例を示すフローチャートである。
【００１６】
図６中の設定モード運用期間Ｈとは、図５に示す各設定モード運用（ステップ３２ａ〜３Na）を行っている期間のことであり、各設定モード運用中の動作が図６に示されている。
【００１７】
CPU２の制御により、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の設定を含んだ設定モード開始処理が行われて各設定モードで運用中（ステップ４０）、割り込みが発生した場合(ステップ４１)、割り込み処理が開始され（ステップ４２）、この割り込み処理の中で受付けられる割り込み要因を限定するために、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の内容を変更するためのレジスタ書き換えを行う(ステップ４３)。
【００１８】
例えば、システムLSIが図５の設定モード０で運用中（ステップ３２ａ）、図４のモジュール５−１から割り込みが発生し、これがシステムバス１を経由してCPU２へ伝えられると、割り込み処理が開始されてCPU２から割り込み処理命令が出され（ステップ４２）、システムバス１、割り込みコントローラ１０内のバスインタフェース１１、及びシステムバス１２を経由して割り込み制御部１３へ伝えられる。その割り込み処理の中で受付可能な割り込み要因を限定するため（即ち、モジュール５−１の処理を実行するために必要な割り込み要求の種類の数量限定を行うため）、その割り込み処理に対応可能な新たな割り込み優先順位の値を、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）に設定する（ステップ４３）。
【００１９】
CPU２の制御により、モジュール５−１に対する割り込み処理が行われる（ステップ４４）。この処理中に例えばモジュール５−１から複数の割り込み要求が発生すると、この複数の割り込み要求がシステムバス１を経由してCPU２へ伝えられる。割り込み優先順位設定回路２０内の割り込み制御部１３では、CPU２からの命令に従い、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）から割り込み優先順位設定値を読み出して、複数の割り込み要求中の優先度の高いものを１つ選び、CPU２へ通知する。この通知に従い、CPU２が割り込み要求に対する処理を行う（ステップ４４）。
【００２０】
割り込み処理が終了した時点で、CPU２及び割り込み制御部１３の制御により、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の設定値が、設定モード０の割り込み優先順位に戻され（ステップ４５）、割り込み処理が終了して（ステップ４６）、割り込み発生前の状態に復帰する。CPU２は、設定モード０の運用を再開し、所定の処理を行い、この処理が終了すると、設定モード終了処理を行う（ステップ４７）。これにより、設定モード０の運用期間が終了する。
【００２１】
従来のシステムLSIでは、割り込み優先順位を決定するための割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の内容（即ち、割り込み優先順位設定値）を書き換える方法として、次のような、（Ａ）CPUアクセスによる書き換え、或いは、（Ｂ）DMA転送による書き換え、のいずれかの方法を採用している。
【００２２】
（Ａ）  CPUアクセスによる書き換え
従来の図４のシステムLSIでは、システムバス１配下に割り込みコントローラ内部の割り込みの優先順位設定を行う複数ビットのｎ個の割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）を搭載している。各設定モード移行時（図５のステップ３２ａ〜３Naへの移行時）、或いは、割り込み発生時（図６のステップ４１）及び割り込み処理終了時（図６のステップ４６）において、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の書き換えは、CPU２が行う。
【００２３】
（Ｂ）  DMA転送による書き換え
図４のDMAコントローラ４を用いてRAM３から割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）に転送を行う。この時、システムバス１はDMAコントローラ４が使用しており、CPU２からシステムバス１ヘのアクセスは不可能となる。
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、従来の前記（Ａ）、（Ｂ）のレジスタ書き換え方法では、次の（ａ）、（ｂ）のような課題があった。
【００２５】
（ａ）  前記（Ａ）のCPUアクセスによる書き換え
各設定モード移行時、或いは、割り込み発生時及び割り込み処理終了時に、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）の書き換えをCPU２で行う場合、図４の回路構成では、レジスタ数分のライトアクセスをしなければならない。そのため、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）を全て書き換えるのに時間が掛かってしまい、リアルタイム（実時間）性が必要な場合に処理が間に合わなくなってしまう場合がある。
【００２６】
（ｂ）  前記（Ｂ）のDMA転送による書き換え
DMA転送中にシステムバス１を利用するため、CPU２がシステムバス１を使用する場合の妨げとなってしまう。又、DMA転送は、システムバス１を利用してRAM３からデータをリードし（読み出し）、その後、割り込み優先順位設定レジスタ２１−０〜２１−（ｎ−１）にデータをライト（書き込み）するため、一連の処理に時間が掛かってしまう。
【課題を解決するための手段】
【００２７】
本発明の割り込み優先順位設定回路は、第１の記憶手段と、第２の記憶手段と、複数面構成のレジスタと、選択手段とを有している。前記第１の記憶手段は、現在運用中のプログラム処理の所望の設定モードの第１の割り込み優先順位設定値、及び前記所望の設定モードを切り換える際の次設定モードの第２の割り込み優先順位設定値を保持するものである。前記第２の記憶手段は、前記所望の設定モードにおいて割り込みが発生した後の第３の割り込み優先順位設定値を保持するものである。
【００２８】
前記複数面構成のレジスタは、前記第１の割り込み優先順位設定値と、前記第２又は第３の割り込み優先順位設定値とを格納するものである。更に、前記選択手段は、前記レジスタに格納された前記第１の割り込み優先順位設定値と、前記第２又は第３の割り込み優先順位設定値とのいずれか一方を選択して出力するものである。
【発明の効果】
【００２９】
請求項１に係る発明によれば、割り込み優先順位設定値を格納するためのレジスタの内容を書き換えるために、第１の記憶手段と第２の記憶手段を設け、割り込み優先順位設定値を第１の記憶手段又は第２の記憶手段からレジスタに転送するようにしたので、レジスタ書き換え時間を短縮化出来る。更に、レジスタを複数面構成にして有効なレジスタを選択手段により選択するようにしたので、設定モードを迅速に切り換えることが出来る。
【００３０】
請求項２に係る発明によれば、第１の記憶手段から読み出された割り込み優先順位設定値を第１又は第２のレジスタへ転送する第１の転送ルートと、第１及び第２の記憶手段から読み出された割り込み優先順位設定値を第１又は第２のレジスタへ転送する第２の転送ルートとを設けたので、割り込み処理を行うCPU等の負担を軽減出来る。
【００３１】
請求項３に係る発明によれば、前記第１の記憶手段、及び第２の記憶手段は、半導体記憶装置によって構成されているので、複数面構成のレジスタに対して、異なった設定モードに対応した設定値を同時に転送出来る。
【発明を実施するための最良の形態】
【００３２】
割り込みコントローラ内に設けられる割り込み優先順位設定回路は、複数面構成のRAMと、複数面構成のレジスタと、 セレクタとを有している。複数面構成のRAMは、複数のプログラム処理用の設定モードにそれぞれ対応した割り込みの優先順位を決める複数の割り込み優先順位設定値を保持する。
【００３３】
複数面構成のレジスタは、RAMに保持された所望の設定モードに対応する第１の割り込み優先順位設定値と、RAMに保持された所望の設定モードにおける割り込み発生後の第２の割り込み優先順位設定値、又は所望の設定モードから設定モード切り換え後の次設定モードに対する第３の割り込み優先順位設定値と、がRAMから読み出されて転送されてくると、第１の割り込み優先順位設定値と、第２の割り込み優先順位設定値又は第３の割り込み優先順位設定値と、を格納する。セレクタは、レジスタに格納された第１の割り込み優先順位設定値と第２又は第３の割り込み優先順位設定値とのいずれか一方を選択して出力する。
【実施例１】
【００３４】
（実施例１の構成）
図１は、本発明の実施例１を示すシステムLSIに内蔵される割り込みコントローラの概略の構成図である。
【００３５】
システムLSIは、従来の図４と同様に、システムバス５１を有している。システムバス５１には、従来の図４と同様に、システムLSI全体を制御するCPU５２、データ格納用のRAM５３、DMAコントローラ５４、及び各種の処理を行う複数のモジュール５５−１〜５５−Ｊが接続され、更に、従来の図４とは異なる構成の割り込みコントローラ６０等が接続されている。
【００３６】
割り込みコントローラ６０は、図５に示す設定モードが４モード構成であり、更に、図６に示すように、各設定モード運用中に割り込みが発生した場合の設定モードが設けられている。この割り込みコントローラ６０は、バスインタフェース（BUS IF）６１を介してシステムバス５１に接続されたシステムバス６２を有している。システムバス６２には、割り込みコントローラ全体を制御する割り込み制御部６３、割り込み優先順位設定回路７０、及び複数の他のレジスタ７９−０〜７９−Ｎ等が接続されている。
【００３７】
割り込み優先順位設定回路７０は、システムバス６２に接続され、割り込み優先順位設定回路全体を制御するレジスタ書き込みコントローラ７１を有している。レジスタ書き込みコントローラ７１の出力側には、複数面構成（例えば、２面構成）の記憶手段（例えば、０面側のRAM７２と１面側のRAM７３）が接続され、この０面側のRAM７２の出力側に転送ルート７４が接続され、１面側のRAM７３の出力側に転送ルート７５が接続されている。転送ルート７４，７５と、レジスタ書き込みコントローラ７１の出力側とには、複数面構成（例えば、２面構成）になっている０面側の割り込み優先順位設定レジスタ(LVL0_0〜LVL99_0)７６−０〜７６−９９と１面側の割り込み優先順位設定レジスタ(LVL0_1〜LVL99_1)７７−０〜７７−９９とが接続されている。０面側の割り込み優先順位設定レジスタ７６−０〜７６−９９の出力側と、１面側の割り込み優先順位設定レジスタ７７−０〜７７−９９の出力側とには、選択手段（例えば、セレクタ）７８−０〜７８−９９が接続されている。
【００３８】
レジスタ書き込みコントローラ７１は、各RAM７２，７３から割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９へのデータ転送、各RAM７２，７３へのデータ書き込み、及びレジスタ２面構成の制御を行うために、各RAM７２，７３へのアドレス信号及びライト/リードイネーブル信号Ｓ７１i,Ｓ７１jと、各割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９のライトイネーブル信号Ｓ７１g，Ｓ７１hと、セレクタ７８−０〜７８−９９のセレクト信号Ｓ７１ｄとを出力する機能を有している。
【００３９】
２面構成のRAM７２，７３は、各設定モードに対応した設定値を保持するメモリである。本実施例１では、設定モードが４つ（割り込み発生時の設定モードが各々の設定モードに対し１つ）のため、例えば、０面側のRAM７２には、
・モード0_0設定値（100個分）
・モード1_0設定値（100個分）
・モード2_0設定値（100個分）
・モード3_0設定値（100個分）
１面側のRAM７３には、
・モード0_1設定値（100個分）＝モード０で割り込み発生後の設定値
・モード1_1設定値（100個分）＝モード１で割り込み発生後の設定値
・モード2_1設定値（100個分）＝モード２で割り込み発生後の設定値
・モード3_1設定値（100個分）＝モード３で割り込み発生後の設定値
の設定値を保持する構成になっている。これらのRAM７２，７３への書き込みは、レジスタ書き込みコントローラ７１が行う。
【００４０】
RAM７２，７３の出力側には、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９ヘの転送ルート７４，７５が設けられている。従来の図４の回路では、各割り込み優先順位設定レジスタ２１−０〜２１−（n−１）ヘの書き込みはシステムバス１，１２を使用していたが、本実施例１では、RAM７２，７３に保持した値を、転送ルート７４，７５により各割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９へ転送する構成になっている。転送の制御は、レジスタ書き込みコントローラ７１が行う。
２面構成になった割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９は、
・レジスタ数：１００個
・１個のレジスタビット数：４bit
となっている。即ち、４bit構成で100個の割り込み優先順位を設定するための２面の割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９が実装されている。図１では、０面がLVL0_0〜99_0、1面がLVL0_1〜99_1と記載されている。割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９の２面構成は、片面に現在運用中の設定モードの設定値、もう一方の面に、現在運用中の設定モードで割り込み発生した時の設定値、又は設定モードを切り換える際の次設定モードの設定値を格納するためである。
【００４１】
本実施例１において、各１００個の割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９を設けているのは、設計時において１００種類の割り込み要因を想定し、この各１００個の割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９を使用して、１００種類各々の優先順位を設定できるようにしている。
【００４２】
図１のCPU５２に対する割り込みは、次のようにして処理される。
例えば、モジュール５５−１，・・・等から複数の割り込み要求が出され、これがシステムバス５１を経由してCPU５２へ伝えられると、このCPU５２から割り込み処理命令が出され、システムバス５１、割り込みコントローラ６０内のバスインタフェース６１、及びシステムバス６２を経由して、割り込み制御部６３及び割り込み優先順位設定回路７０へ伝えられる。割り込み制御部６３は、割り込み優先順位設定回路７０内のセレクタ７８−０〜７８−９９から出力される割り込み優先順位設定値に基づき、複数の割り込み要求に対する優先度を決定し、CPU５２へ通知する。この通知に基づき、CPU５２は、現在の処理を中止して、優先度の高い割り込み要求に対する割り込み処理を行い、割り込み処理終了後に、割り込み処理前の状態に復帰する。
【００４３】
図２は、図１中のレジスタ書き込みコントローラ７１の構成例を示す機能ブロック図である。
【００４４】
レジスタ書き込みコントローラ７１は、設定モード選択機能と、各設定モードのデータをRAM７２，７３から各割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９ヘ転送する機能と、RAM書き込み機能と、２面ある割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９の面切り換え機能とを有している。このレジスタ書き込みコントローラ７１は、モード切り換えレジスタ部７１a、転送ルート選択レジスタ部７１ｂ、転送開始レジスタ部７１ｃ、面選択レジスタ部７１ｄ、アドレス生成カウンタ部７１e、オーバフロー検出部７１f、各レジスタ(LVLX_0)イネーブル生成部７１g、各レジスタ(LVLX_1)イネーブル生成部７１h、RAM_0制御部７１i、及びRAM_1制御部７１jより構成されている。
【００４５】
モード切り換えレジスタ部７１aは、各RAM７２，７３からどの設定モードの値を割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９へ転送させるかを選択するものであり、例えば、次の４つのパターンが設定可能である。
．「設定モード0転送」
．「設定モード１転送」
．「設定モード２転送」
．「設定モード３転送」
転送ルート選択レジスタ部７１ｂは、RAM７２，７３から割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９への転送ルート７４，７５を選択するものであり、本機能で選択可能なルートは、例えば、
・０面のRAM７２ →０面のレジスタ７６−０〜７６−９９と、１面のRAM７３→１面のレジスタ７７−０〜７７−９９
・０面のRAM７２→１面のレジスタ７７−０〜７７−９９と、１面のRAM７３→０面のレジスタ７６−０〜７６−９９
・０面のRAM７２→０面のレジスタ７６−０〜７６−９９
・０面のRAM７２ →１面のレジスタ７７−０〜７７−９９
・１面のRAM７３ →０面のレジスタ７６−０〜７６−９９
・１面のRAM７３ →１面のレジスタ７７−０〜７７−９９
である。
【００４６】
転送開始レジスタ部７１ｃは、CPU５２により“１”をセットすることにより、RAM７２，７３から割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９への転送を開始する。転送終了後、オーバフロー検出部７１fの出力信号により、自動的に“０”にリセットされる。
【００４７】
面選択レジスタ部７１ｄは、２面構成の割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９の０面、１面を選択するためのセレクタ７８−０〜７８−９９を切り換えるためのセレクト信号Ｓ７１ｄを出力するものである。
【００４８】
アドレス生成カウンタ部７１eは、RAM７２，７３をリードするアドレスの生成、及び割り込みの優先順位を設定する割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９のライトイネーブル信号を生成するものである。このアドレス生成カウンタ部７１eが動作するきっかけは、転送開始レジスタ部７１ｃの“１”書き込みである。アドレス生成カウンタ部７１eがオーバフローすると、カウンタ値が自動的に“０”に戻る。又その時に、オーバフロー検出部７１fの出力信号により、転送開始レジスタ部７１ｃがリセットされる。RAM７２，７３から割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９ヘのデータ転送中、CPU５２からのRAM書き込み命令が来た場合、アドレス生成カウンタ部７１eは一時停止し、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９ヘの転送を中断する。RAM７２，７３への書き込み終了後、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９ヘの転送を中断した時点から再開する。
【００４９】
各レジスタ(LVLX_0)イネーブル生成部７１gは、０面の割り込み優先順位を設定する割り込み優先順位設定レジスタ７６−０〜７６−９９を書き込むライトイネーブル信号Ｓ７１gを生成するものである。
【００５０】
各レジスタ(LVLX_1)イネーブル生成部７１hは、１面の割り込み優先順位を設定する割り込み優先順位設定レジスタ７７−０〜７７−９９を書き込むライトイネーブル信号Ｓ７１hを生成するものである。
【００５１】
RAM_0制御部７１iは、０面のRAM７２をリードするアドレス信号とチップイネーブル信号Ｓ７１iを生成するものであり、この時０面のRAM７２へのライトイネーブル信号はネゲート（無効）にする。又、０面のRAM７２への書き込み制御も行う。このRAM_0制御部７１iで、CPU５２からの書き込み、RAM７２からの読み取り、割り込み優先順位設定レジスタ７６−０〜７６−９９ヘの転送の調停を行う。
【００５２】
RAM_1制御部７１jは、１面のRAM７３をリードするアドレスとチップイネーブル信号Ｓ７１jを生成し、この時１面のRAM７３へのライトイネーブル信号はネゲートにする。又、１面のRAM７３への書き込み制御も行う。このRAM_1制御部７１jで、CPU５２からの書き込み、RAM７３からの読み取り、割り込み優先順位設定レジスタ７７−０〜７７−９９ヘの転送の調停を行う。
【００５３】
（実施例１の動作）
本実施例１の動作（Ａ）〜（Ｃ）を説明する。
【００５４】
（Ａ）  初期設定→設定モード０への移行
例えば、図５の「初期設定時(ステップ３１)の動作」及び「初期設定(ステップ３１)」から、「設定モード０運用(ステップ３２ａ）」に遷移する際の制御（１）〜（４）を説明する。
【００５５】
（１）  電源投人後初期設定で、RAM７２，７３に、各設定モードでの割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９のデータ値を、CPU５２からの命令で書き込む。
【００５６】
（２）  初期設定状態から設定モード０状態に遷移する際、レジスタ書き込みコントローラ７１内において、
・モード切り換えレジスタ部７１a：「設定モード０転送」
・転送ルート選択レジスタ部７１ｂ：「０面のRAM７２→０面のレジスタ７６−０〜７６−９９と、１面のRAM７３→１面のレジスタ７７−０〜７７−９９」
・面選択レジスタ部７１ｄ：０面設定
・転送開始レジスタ部７１ｃ：“１”セット
に設定する。これにより、ハードで自律的に０面のRAM７２から「設定モード０設定値」を割り込み優先順位設定レジスタ７６−０〜７６−９９に転送し、同時に１面のRAM７３から「設定モード４設定値」(＝設定モード０で割り込みが発生した場合の設定値)を割り込み優先順位設定レジスタ７７−０〜７７−９９に転送する。
【００５７】
（３）  割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９書き換え中、CPU５２は、割り込み処理の割り込み優先順位設定レジスタ以外の処理(他モジュールの設定等)を行うことが可能である。
【００５８】
（４）  転送開始レジスタ部７１ｃがネゲートされるのをCPU５２で確認することで、初期設定→設定モード０状態の設定値に切り替わったことを確認することが出来る。これにより、割り込み優先順位設定レジスタ７６−０〜７６−９９には「モード0_0設定値」、割り込み優先順位設定レジスタ７７−０〜７７−９９には「モード0_1設定値(＝モード０で割り込み発生後の設定値)」が設定される。
【００５９】
（Ｂ）  割り込み発生時
各設定モード運用中、割り込みが発生した場合(例えば、図６において、割り込み発生時(ステップ４１)、割り込み優先順位設定レジスタ変更(ステップ４３)から設定モード運用中のレジスタ設定値(ステップ４５)に戻るまで。)の動作（１）、（２）を説明する。
【００６０】
（１）  図６の割り込み発生時点で（ステップ４１）、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９の片面に現在運用中の設定モードのレジスタ値、もう一方の面に、現在運用中の設定モードで割り込み発生した時の値が設定されている。そのため、面選択レジスタ部７１ｄの設定を切り換えることで、セレクト信号Ｓ７１ｄによりセレクタ７８−０〜７８−９９が切り替わり、割り込み発生中のレジスタ設定値にすることが出来る。
【００６１】
（２）  割り込み処理が終了した際には、面選択レジスタ部７１ｄの設定を元に戻す（ステップ４５）。
【００６２】
（Ｃ）  運用中の設定モードから他の設定モードヘの移行
各設定モード運用中、他の設定モードに切り換える動作について説明する。
本動作は、２通りの設定方法があり、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９を同時に書き換える方法（Ｃ１）と、片面のレジスタを書き換えてからもう一方の面のレジスタを書き換える方法（Ｃ２）とである。
【００６３】
（Ｃ１）  レジスタ同時書き換え方法
例えば、図５の「設定モード１運用（ステップ３３a）」から「設定モード２運用（ステップ３４a）」への切り換えを例に挙げる。この書き換え方法を以下に示す。
レジスタ書き込みコントローラ７１内において、
・モード切り換えレジスタ部７１a：「設定モード２転送」
・転送ルート選択レジスタ部７１ｂ：「０面のRAM７２→０面のレジスタ７６−０〜７６−９９と、１面のRAM７３→１面のレジスタ７７−０〜７７−９９」
・面選択レジスタ部７１ｄ：０面設定
・転送開始レジスタ部７１ｃ：“１”セット
に設定する。
【００６４】
これにより、ハードで自律的に０面のRAM７２から「モード2_0設定値」を割り込み優先順位設定レジスタ７６−０〜７６−９９に転送し、同時に１面のRAM７３から「モード2_1設定値（＝モード２で割り込み発生後の設定値）」を割り込み優先順位設定レジスタ７７−０〜７７−９９に転送する。
【００６５】
（Ｃ２）  レジスタ片面ずつの書き換え方法
本設定方法は、例えば、図６に示す割り込み優先順位設定レジスタ変更(ステップ４３)が無い場合に有効である。つまり、図６のレジスタ変更(ステップ４３)の値と設定モード開始処理（ステップ４０）で設定した設定値が同等であることを示す。
「運用中の割り込み優先順位設定レジスタの設定値」＝「割り込み発生時の割り込み優先順位設定レジスタの設定値」
【００６６】
図３は、図１のシステムLSIにおいて割り込み動作時に、割り込み優先順位設定レジスタ変更が無い場合の動作例を示すフローチャートである。
【００６７】
図３中の設定モードとは、図５に示す各設定モード運用のことである。この図３は、各設定モード運用期間Ｈ１中の動作と、その後に遷移する次設定モード運用期間Ｈ２中の動作を示している。
【００６８】
設定モード運用期間Ｈ１において、設定モード開始処理後（ステップ８０）に割り込みが発生した場合（ステップ８１）、割り込み処理を開始する(ステップ８２)。しかし、設定モード運用中の割り込み優先順位設定レジスタ（例えば、７７−０〜７７−９９）の設定値と、割り込み発生時の割り込み優先順位設定レジスタ（例えば、７６−０〜７６−９９）の設定値が等しいため、割り込み優先順位設定レジスタ変更は行わないで、割り込み処理（ステップ８３）を行って割り込み処理を終了し（ステップ８４）、設定モード運用期間Ｈ１の終了時に、設定モード終了処理(ステップ８５)を行う。その際に、未使用側の割り込み優先順位設定レジスタ（例えば、７６−０〜７６−９９）ヘ、次の設定モードの設定値を予め転送しておく。
【００６９】
次の設定モードに遷移して次設定モード運用期間Ｈ２に入り、次設定モード開始処理（ステップ８６）を行う時、面選択レジスタ部７１ｄを切り換えることで、セレクト信号Ｓ７１ｄによりセレクタ７８−０〜７８−９９が切り替わり、次の設定モードの設定値となる。又一方で、未使用側の割り込み優先順位設定レジスタ（例えば、７６−０〜７６−９９）に、割り込み発生時(ステップ８７)に対応した設定値を転送する。この動作をすることにより、設定モード切り換え時のレジスタ設定時間の大幅な短縮が期待出来る。
【００７０】
書き換え方法を以下（１）〜（３）に示す。この書き換え方法では、設定モード２運用（図５のステップ３４ａ）への切り換えを例とする。つまり、次設定モード運用期間Ｈ２が設定モード２運用である。
【００７１】
（１）  設定モード終了処理中(ステップ８５）、レジスタ書き込みコントローラ７１内において、
・モード切り換えレジスタ部７１a：「設定モード２転送」
・転送ルート選択レジスタ部７１ｂ：「０面のRAM７２→１面のレジスタ７７−０〜７７−９９」
・面選択レジスタ部７１ｄ：０面設定(現状のまま)
・転送開始レジスタ部７１ｃ：“１”セット
に設定する。これにより、ハードで自律的に０面のRAM７２から「モード2_0設定値」を割り込み優先順位設定レジスタ７７−０〜７７−９９に転送する。
【００７２】
（２）  次設定モード運用期間Ｈ２に選移し、設定モード開始処理中(ステップ８６)、
・面選択レジスタ部７１ｄ：1面設定
に切り換える。面選択レジスタ部７１ｄを切り換えたことで、セレクト信号Ｓ７１ｄによりセレクタ７８−０〜７８−９９が切り替わり、次の設定モードの設定値となる。
【００７３】
（３）  次に、未使用側の割り込み優先順位設定レジスタ７６−０〜７６−９９に、割り込み発生時（ステップ８７）に対応した設定値を転送する。レジスタ書き込みコントローラ７１内において、
・モード切り換えレジスタ部７１a：「設定モード２転送」
・転送ルート選択レジスタ部７１ｂ：「１面のRAM７３→０面のレジスタ７６−０〜７６−９９」
・転送開始レジスタ部７１ｃ：“１”セット
に設定する。これにより、ハードで自律的に１面のRAM７３から、「モード2_1設定値(＝モード２で割り込み発生後の設定値)」を割り込み優先順位設定レジスタ７６−０〜７６−９９に転送する。
【００７４】
このようにして、割り込み処理開始（ステップ８８）、割り込み優先順位設定レジスタ変更（ステップ８９）、割り込み処理（ステップ９０）、割り込み優先順位設定レジスタ変更（ステップ９１）、及び割り込み処理終了後（ステップ９２）、割り込み前の状態に戻り、設定モード終了処理（ステップ９３）が行われる。
【００７５】
（実施例１の効果）
本実施例１によれば、次の（ａ）、（ｂ）のような効果がある。
【００７６】
（ａ）  各設定モードにおける割り込み優先順位の設定値をローカルのRAM７２，７３から割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９へ転送するようにしたので、レジスタ書き換え処理時間を短縮出来る。
【００７７】
（ｂ）  割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９を２面構成にして設定値をセレクタ７８−０〜７８−９９により切り換えて出力するようにしたので、割り込み処理等の２つの設定モードを往復する時にレジスタ書き換えを行わずに、設定モードを迅速に切り換えることが出来る。
なお、本発明は、上記実施例１に限定されず、種々の変形や利用形態が可能である。この変形や利用形態としては、例えば、次の（Ａ）〜（Ｃ）のようなものがある。
【００７８】
（Ａ）  図１のRAM７２，７３を他の記憶手段で構成したり、セレクタ７８−０〜７８−９９を他の選択手段で構成しても良い。又、図２のレジスタ書き込みコントローラ７１は、図示以外の構成に変更しても良い。
【００７９】
（Ｂ）  実施例１では、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９の設定値一括変換の方法を挙げたが、他の機能のレジスタで設定モードにより変化するレジスタ、或いは、割り込み処理に移行した時に変化するレジスタにも、実施例１の機能を用いることが可能である。
【００８０】
（Ｃ）  用途により、割り込み優先順位設定レジスタ７６−０〜７６−９９，７７−０〜７７−９９の面構成を２面以上の構成で実現可能である。又、RAM７２，７３の構成も２面以上の構成で実施可能である。その際、面構成に応じてレジスタ書き込みコントローラ７１の構成を変更すれば良い。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施例１を示すシステムLSIに内蔵される割り込みコントローラの概略の構成図である。
【図２】図１中のレジスタ書き込みコントローラ７１の構成例を示す機能ブロック図である。
【図３】図１のシステムLSIにおいて割り込み動作時に、割り込み優先順位設定レジスタ変更が無い場合の動作例を示すフローチャートである。
【図４】従来のシステムLSIに内蔵される割り込みコントローラを示す概略の構成図である。
【図５】図４のシステムLSIにおいて設定モード変更の動作例を示すフローチャートである。
【図６】図４のシステムLSIにおいて設定モード運用中の割り込み動作例を示すフローチャートである。
【符号の説明】
【００８２】
５１，６２      システムバス
５２      CPU
６０      割り込みコントローラ
６３      割り込み制御部
７０      割り込み優先順位設定回路
７１      レジスタ書き込みコントローラ
７２，７３      RAM
７４，７５      転送ルート
７６−０〜７６−９９，７７−０〜７７−９９                                    
割り込み優先順位設定レジスタ
７８−０〜７８−９９      セレクタ
【図１】
0004509946.tif 000002
【図２】
0004509946.tif 000003
【図３】
0004509946.tif 000004
【図４】
0004509946.tif 000005
【図５】
0004509946.tif 000006
【図６】
0004509946.tif 000007