(57)【特許請求の範囲】
【請求項１】
割り込みハンドラとは独立に、各割り込み要因の割り込みレベルより高い割り込みレベルの割り込み要因のみを割り込み許可とする割り込み受付可能状態を保持する割り込み受付可能管理手段と、
割り込みハンドラとは独立に、ある割り込み処理中に新たな他の割り込み要因の割り込み許可を制御する割り込みマスク解除制御手段と、
前記ある割り込みが発生したとき、当該ある割り込み要因に対するマスクを割り込み禁止状態にした割り込みマスクの状態及び前記割り込み受付可能状態を退避すると共に、退避された前記割り込み受付可能状態及び前記割り込みマスク解除手段の制御状態に基づいて、退避された前記割り込みマスクの状態を更新して前記他の割り込み要因についての割り込みマスクを設定する多重割り込み制御手段と、
を具備することを特徴とする割り込み管理装置。
【請求項２】
割り込みハンドラとは独立に、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理手段と、
実行中のタスクの情報を保持する実行タスク制御手段と、
初期化処理が必要となるタスクを設定する初期化タスク指示手段と、
前記実行タスク制御手段及び前記初期化タスク指示手段の処理に応じて中断タスクに復帰する際に前記中断タスクの初期化処理の要否を判定し、初期化処理が必要なタスクに復帰する場合、前記初期化タスク管理手段に格納された初期化処理を行うタスクの呼出しを実行するタスク管理制御手段と、
を具備することを特徴とする請求項１記載の割り込み管理装置。
【請求項３】
処理対象となる処理タスクの判定を行い、処理タスク毎の呼出しアドレスを格納したタスク制御手段と、初期化タスク管理手段の処理に応じて呼び出す処理タスクの切換え処理を行うディスパッチ処理手段とを有するタスクマネージャと、
退避された割り込み発生時に実行中のタスクの情報の復帰を行わず、前記ディスパッチ処理手段を呼び出すタスク中断処理手段と、
を具備し、
前記タスク管理制御手段は、前記実行タスク制御手段及び前記初期化タスク指示手段の処理に応じて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定し、初期化処理が必要なタスクに復帰する場合は前記タスク中断処理手段を呼び出し、初期化処理が不要な場合は前記タスク復帰処理手段を呼び出す
ことを特徴とする請求項２記載の割り込み管理装置。
【請求項４】
前記タスクマネージャは、前記初期タスク管理手段の処理に応じてタスクの初期化制御を行う初期化制御手段を具備することを特徴とする請求項３記載の割り込み管理装置。
【請求項５】
割り込みハンドラとは独立に、各割り込み要因の割り込みレベルより高い割り込みレベルの割り込み要因のみを割り込み許可とする割り込み受付可能状態を保持し、
割り込みハンドラとは独立に、ある割り込み処理中に新たな他の割り込み要因の割り込み許可を制御し、
前記ある割り込みが発生したとき、当該ある割り込み要因に対するマスクを割り込み禁止状態にした割り込みマスクの状態及び前記割り込み受付可能状態を退避すると共に、退避された前記割り込み受付可能状態及び前記割り込み許可制御状態に基づいて、退避された前記割り込みマスクの状態を更新して前記他の割り込み要因についての割り込みマスクを設定する
ことを特徴とする割り込み管理方法。
【請求項６】
割り込みハンドラとは独立に、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理情報と、実行中のタスクの情報と、初期化処理が必要となるタスクを設定する初期化タスク指示情報とを保持し、
前記実行タスク制御情報及び前記初期化タスク指示情報に応じて中断タスクに復帰する際に、中断タスクの初期化処理の要否を判定行い、
初期化処理が必要なタスクに復帰する場合に、前記初期化タスク管理情報に格納されている初期化処理を行うタスクの呼出しを行う
ことを特徴とする請求項５記載の割り込み管理方法。
【請求項７】
処理対象となる処理タスクの判定を行い、
処理タスク毎の呼出しアドレスを格納した実行タスク制御情報及び初期化タスク管理情報に応じて、呼び出す処理タスクの切換え処理を行い、
退避された割り込み発生時に実行中のタスクの情報の復帰を行わず前記切換え処理を行い、
前記実行タスク制御情報及び前記初期化タスク指示情報に応じて中断タスクに復帰する際に、中断タスクの初期化処理の要否を判定行い、
初期化処理が必要なタスクに復帰する場合に、前記タスク中断処理を行い、
初期化処理が不要な場合はタスク復帰処理を行う
ことを特徴とする請求項６記載の割り込み管理方法。
【請求項８】
初期化タスク管理情報を用いてタスクの初期化制御を行い、
実行タスク制御情報を用いてタスクの切換え処理を行う
ことを特徴とする請求項７記載の割り込み管理方法。
【請求項９】
請求項５から請求項８いずれかに記載の割り込み管理方法を実行するプログラムが記録されたことを特徴とする記録媒体。
【請求項１０】
請求項５から請求項８いずれかに記載の割り込み管理方法に応じた処理機能を具備することを特徴とするオペレーティングシステム。
【請求項１１】
請求項５から請求項８いずれかに記載の割り込み管理方法に応じた処理機能を具備することを特徴とする信号処理用プロセッサ。
【請求項１２】
請求項１から請求項４いずれかに記載の割り込み管理装置を具備することを特徴とする画像端末装置。
【請求項１３】
請求項１２記載の画像端末装置を具備することを特徴とする移動体通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ処理のリアルタイム・オペレーションシステム（リアルタイムＯＳ）ならびにマルチタスク・オペレーションシステム（マルチタスクＯＳ）と信号処理用プロセッサ（ＤＳＰ）における割り込み管理を行うものであり、Ｗ−ＣＤＭＡ（Ｗｉｄｅ  ｂａｎｄ−Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式を用いた移動体通信システムにおける携帯テレビ電話装置等の画像端末装置などに用いる好適な割り込み管理装置及び割り込み管理方法に関する。
【０００２】
【従来の技術】
従来、マイクロプロセッサ・システムにおいては、マイクロプロセッサ（以下ＣＰＵと記す）がプログラムの処理を実行中に、外部デバイスまたは外部装置からの割り込み要求または実行中の応用プログラムからのソフトウェア割り込み要求（以下、割り込み要求と総称する）という種々の要因によって発生する非同期の割り込み要求が発生した時には、実行中のプログラム処理を中断して割り込み要求を処理する。
【０００３】
一方、ＤＳＰにおいては、上記のＣＰＵに対するものとして内部にメインプロセッサ（以下ＭＰと記す）を有しており、このＭＰがプログラムの処理を実行中に割り込み要求が発生した時には、実行中のプログラム処理を中断して割り込み要求を処理する。以下、プログラムの最小単位をタスクと記す。
【０００４】
割り込み要求に対して処理する内容は割り込み要因ごとに異なるので、ユーザが割り込み要因ごとに割り込み処理ルーチン（以下、割り込み処理タスクと記す）を作成しておき、割り込み要求があった時には、割り込みの発生を伝える制御手段（以下、割り込みコントローラと呼ぶ）がＣＰＵもしくはＭＰに伝え、ＣＰＵもしくはＭＰが割り込み要因を識別し、該当する割り込み処理タスクを呼び出して処理する方法が用いられている。
【０００５】
割り込み要求の発生によりＣＰＵもしくはＭＰが実行中のタスク処理を中断する際には、再開するタスクのアドレスやそれまで使用していたＣＰＵもしくはＭＰの内部レジスタの内容（以下、処理中演算リソースと記す）を保存してから割り込み処理タスクを実行し、割り込み処理タスクが終了した時にこれらのレジスタを元の状態に戻して実行中であったタスク処理を再開する。
【０００６】
そして、前記割り込み処理タスクの中で処理中演算リソースの退避・復帰処理を記述することは割り込み処理タスクの作成を煩雑にするため、ＣＰＵを有するマイクロプロセッサ・システムにおいては、これらの処理はリアルタイムＯＳならびにマルチタスクＯＳ（以下、ＯＳと総称する）の割り込み管理機構を呼び出すこと（以下、システムコールと記す）によって行なうのが普通である。
【０００７】
また、ＭＰを有するＤＳＰにおいては、割り込み処理タスクと分離した１つの別タスクのソフトウェア（通常ＤＳＰではマイクロコード、ファームウェアと呼ばれるもの）としてのモニタ・プログラムとして構築するのが普通である。
【０００８】
以下、前記割り込み管理機構と前記モニタ・プログラムを割り込みハンドラと総称して記す。
【０００９】
さらに、割り込み処理としては、単独割り込み（割り込み処理を行なっている間は、他の割り込みの受け付けを禁止する割り込み）では、割り込みが発生した時に、割り込みハンドラで処理中演算リソースをそのタスクのスタック領域とタスク制御手段へ退避し、同時に割り込みマスクをマスクして他の割り込みを禁止状態にし、割り込み処理を行なう。そして、割り込み処理が完了し、中断したタスクの実行再開の時にタスクのスタック情報、タスクの制御手段、割り込みマスクを回復させる。
【００１０】
また、多重割り込み（割り込み処理を行なっている間にも、他の割り込みの受け付けを可能とする割り込み）を有する割り込みハンドラにおいては、単独割り込みに対して、割り込みマスクを禁止する際に、すべての割り込みを禁止せず、上位の割り込みレベルに対する割り込みマスクは設定せずに、割り込み処理を行なう。すなわち、多重割り込みを有する割り込みハンドラにおいては、割り込み種別毎に割り込みが発生した場合に、どの割り込みを禁止するかを判定する必要がある。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来の装置においては、割り込みタスク内で他の割り込みを受け付けられるようにする場合や、以後ある割り込みを禁止する場合などは、割り込みハンドラの処理を変更することが必要になり、割り込みハンドラと割り込み処理タスクが密接に関連しており、割り込みハンドラや割り込み処理タスクによる割り込み処理内容の変更が単独に行なえないという問題がある。
【００１２】
また、ＯＳを用いた割り込み管理方法では、すべての割り込み要因に対してＯＳ内にある割り込みハンドラが一括して割り込みの禁止／許可の処理を行なっており、ユーザはＯＳ内の割り込みハンドラの割り込み管理状態を意識して割り込み処理タスクを作成しなければならないという問題がある。
【００１３】
また、ＯＳ内の割り込みハンドラの割り込み管理状態に依存しない割り込み処理が構築できないという問題がある。
【００１４】
また、特開平５−２２４９５１号公報には、割り込み要求を受けたＣＰＵより起動されたときにソフトウェア割り込みを指定して割り込みハンドラへの処理移行前にＯＳに処理を移行させる二重割込指定手段と、二重割込指定手段を介して処理を移行されたとき、ＯＳ内で割り込み要因の解析とレジスタ類の保存を行って割り込みハンドラを起動する割込ハンドラ起動手段と、割込ハンドラより割り込み処理の終了を通知されたときにＯＳ内でレジスタ類の復帰を行い中断した処理を再開させる割込ハンドラ終了処理手段を備える管理方式が開示されいる。
【００１５】
しかしながらこの技術の場合、ＯＳ内でのレジスタ類の退避・復帰処理と割り込みハンドラでの処理を二重割込指定手段を設けることにより分離し、割り込みハンドラの作成効率の向上が図れるようになっているが、割り込みハンドラと割り込み処理タスクを分離する手段については何ら開示されておらず、依然として割り込みハンドラや割り込み処理タスクによる割り込み処理内容の変更が単独に行なえないという問題がある。
【００１６】
また、特開平８−２９７５８１号公報には、個別にマスク可能な複数の割り込み入力を有し、マスクされていない割り込み入力への入力に応じてＣＰＵに割り込みを伝える割り込みコントローラを設け、割り込みコントローラ中の割り込みマスクテーブルを操作する特定割り込み操作処理手段をＯＳ内に設けると共に、ＯＳで管理したい割り込みに関する情報のみを被管理割り込み格納手段に格納し、ＯＳのシステムコール処理中の排他制御を行う区間では、被管理割り込み格納手段に情報が格納されている割り込みのみを割込み禁止とし、システムコールを発行しないような割り込みについては割り込み許可状態を継続するという技術が開示されている。
【００１７】
しかしながらこの技術の場合、ＯＳによる資源管理に影響を及ぼさない割り込みタスクについてはＯＳによる影響を受けることがなくなり、その割り込み処理タスクの処理をＯＳと切り離して構築することが可能ではあるが、ＯＳによる資源管理に関係する割り込み処理タスクについてはＯＳの処理と密接に関連しており、依然としてＯＳ内の割り込みハンドラの割り込み管理状態を意識して割り込み処理タスクを作成しなければならないという問題がある。
【００１８】
本発明はかかる点に鑑みてなされたものであり、割り込みタスク内で他の割り込みを受け付けられるようにする場合や、以後ある割り込みを禁止する場合などの、割り込みハンドラの処理を変更することが必要な際に、割り込みハンドラや割り込み処理タスクによる割り込み処理内容の変更が容易に行え、さらに、ＯＳを用いた割り込み管理方法で、すべての割り込み要因に対してＯＳ内にある割り込みハンドラが一括して割り込みの禁止／許可の処理を行なっている場合においても、ユーザがＯＳ内の割り込みハンドラの割り込み管理状態を意識せず割り込み処理タスクを作成でき、また、ＯＳ内の割り込みハンドラの割り込み管理状態に依存しない割り込み処理を構築することができる割り込み管理装置及び割り込み管理方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明の割り込み管理装置は、割り込みマスクで割り込みハンドラへの割り込み通知を制御する割り込みコントローラと、前記割り込みの発生時に実行中のタスクの情報を退避する退避処理手段と、前記割り込みの要因に応じて処理すべき割り込み処理タスクを決定する割り込み要因判定処理手段と、前記割り込みハンドラとは独立に、割り込み要因毎に用意された割り込み受付可能状態を保持する割り込み受付可能管理手段と、割り込み処理タスクに割り込み許可を制御する割り込みマスク解除制御手段と、前記割り込み受付可能管理手段及び前記割り込みマスク解除制御手段の処理に応じて割り込みマスクの更新制御を行う多重割り込み制御手段と、決定された割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行う割り込みタスク制御処理手段と、前記退避処理手段で退避された割り込み発生時に実行中のタスクの情報を復帰し、中断されていたタスクの処理を再開するタスク復帰処理手段と、を具備する構成を採る。
【００２０】
この構成によれば、割り込み発生時に割り込みコントローラより割り込みハンドラに制御が遷移すると、退避処理手段により割り込み発生時に実行中であったタスクの種々の情報を退避する。
【００２１】
次に、割り込み要因判定処理手段で割り込みコントローラより通知された割り込み要因に対して、割り込み受付管理手段を用いてどの割り込み要因に対する処理を行うかの判定を行い、呼び出す割り込み処理タスクを決定する。
【００２２】
次に、多重割り込み制御手段では、決定された割り込み処理タスクに対する割り込みマスクを、割り込み要因毎に用意された割り込み受付可能状態を保持する割り込み受付可能管理手段から取り出し、割り込みコントローラの割り込みマスクに設定する。
【００２３】
この際に、割り込み発生時に割り込みコントローラの割り込みマスクで既に割り込みマスクが設定されており、割り込み禁止になっている割り込み要因に対する割り込みマスクに対しては変更を行わない。
【００２４】
さらに、割り込み発生時に割り込みコントローラに設定されていた割り込みマスクの状態に対して、割り込み要因判定処理手段で判定された割込み要因に対するマスクを割込み禁止状態にした割り込みマスクの状態を退避する。さらに、割り込み発生時の割り込み受付可能管理手段の状態も退避する。
【００２５】
次に、割り込みタスク制御処理手段が割り込み要因判定処理処理手段で決定された対応する割り込み処理タスクを呼び出す。
【００２６】
割り込み処理タスクでは、割り込みに対応する処理が行われるが、この処理中に新たな割り込み要因に対して割り込み許可を行う場合は、割り込みマスク解除制御手段の、対応する割り込み要因の情報を割り込み解除状態に設定する。
【００２７】
また、即座に割り込み許可を行う場合には、同時に割り込みコントローラの割り込みマスクの対応する割り込みマスクをマスク解除状態に設定する。
【００２８】
割込み処理タスクの処理が終わると、再び割り込みタスク制御処理手段に処理が移行する。この際、多重割り込み制御手段により、割り込み処理タスクを呼び出す前に退避しておいた割り込み受付可能管理手段の状態と割り込み処理タスクで設定された割り込みマスク解除制御手段の状態に対して、両方共割り込み許可状態になっている割り込み要因に対して、多重割り込み制御手段により退避された、割り込みマスクの状態の該当ビットを割り込み許可に設定したものを、割り込みコントローラの割り込みマスクに設定する。さらに、この際に割り込み許可状態に変更された割り込み要因に対しては、割り込みマスク解除制御手段の対応する割り込み要因の情報をリセットする。
【００２９】
そして、タスク復帰処理手段で、退避処理手段で退避された割り込み発生時に実行中であったタスクの種々の情報を復帰し、中断されていたタスクの処理を再開する。
【００３０】
従って、割り込み受付可能管理手段と割り込みマスク解除制御手段は割り込みハンドラとは独立に用意されており、多重割り込み制御手段は割込み受付可能管理手段を用いた制御方法のみを規定するものであるため、割り込みタスク内で他の割り込みを受け付けられるようにする場合や、以後ある割り込みを禁止する場合などの、割り込みハンドラの処理を変更することが必要な際に、割り込み受付可能管理手段と割り込みマスク解除制御手段を変更すればよく、割り込みハンドラの割り込み管理状態を意識せず割り込み処理タスクを作成でき、また、割り込みハンドラの割り込み管理状態に依存しない割り込み処理の構築が可能になる。
【００３１】
本発明の割り込み管理装置は、上記構成において、割り込みハンドラとは独立に、タスクの初期化処理を行うためのタスクの呼出しアドレスを格納する初期化タスク管理手段と、実行中のタスクの情報を保持する実行タスク制御手段と、初期化処理が必要となるタスクを設定する初期化タスク指示手段と、前記実行タスク制御手段及び前記初期化タスク指示手段の処理に応じて中断タスクに復帰する際に前記中断タスクの初期化処理の要否の判定行い、初期化処理が必要なタスクに復帰する場合に、前記初期化タスク管理手段に格納された初期化処理を行うタスクの呼出しを実行するタスク管理制御手段と、を具備する構成を採る。
【００３２】
この構成によれば、実行タスク制御手段には、処理タスクならびに割り込み処理タスクの内、実行中のタスクの情報が格納されている。割り込みハンドラにおいては、多重割り込み制御手段により、割り込み発生時に実行タスク制御手段に格納されていた実行中のタスクの情報が退避され、割り込み要因判定処理手段で決定された割り込み処理タスクの情報が新たに実行タスク制御手段に格納される。
【００３３】
割り込み処理タスクにおいて、タスクの初期化が必要な場合には、初期化タスク指示手段に初期化するタスクの情報を格納する。
【００３４】
割込み処理タスクの処理が終わると、再び割り込みタスク制御処理手段に処理が移行するが、この際、多重割り込み制御手段により、割り込み処理タスクを呼び出す前に退避しておいた実行タスク制御手段の情報と初期化タスク指示手段に格納されている初期化するタスクの情報を、タスク管理制御手段が比較を行う。
【００３５】
同じタスクを指示している場合には、初期化タスク管理手段の対応するタスクの初期化処理を行うタスクの呼出しアドレスを用いて中断タスクの初期化タスクの処理を行う。尚、タスク復帰処理手段で、退避処理手段で退避された割り込み発生時に実行中であったタスクの種々の情報が必要な場合は復帰処理をも行う。
【００３６】
従って、上記構成の割り込み管理装置の作用に加え、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理手段と実行中のタスクの情報を保持する実行タスク制御手段と初期化処理が必要となるタスクを設定する初期化タスク指示手段を有し、実行タスク制御手段と初期化タスク指示手段を用いて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合には、初期化タスク管理手段に格納されている呼出しアドレスを用いて初期化処理を行うタスクの呼出しを行うタスク管理制御手段を有しており、割り込み処理タスクにおいて、タスクの処理を初期状態から始めるように制御する場合が発生した場合に、タスクのスタック領域、タスク制御手段などを割り込み処理タスクが初期化する必要がなく、したがって、割り込み処理タスクは初期化するタスクの処理内容を意識する必要がなく、割り込み処理タスク内において、初期化を行なう処理手順を割り込み処理タスクならびに初期化を必要とするタスクと独立に制御できる機構の構築が可能となる。
【００３７】
本発明の割り込み管理装置は、上記構成において、処理対象となる処理タスクの判定を行い、処理タスク毎の呼出しアドレスを格納したタスク制御手段と、初期化タスク管理手段の処理に応じて呼び出す処理タスクの切換え処理を行うディスパッチ処理手段とを有するタスクマネージャと、退避処理手段で退避された割り込み発生時に実行中のタスクの情報の復帰を行わず、前記ディスパッチ処理手段を呼び出すタスク中断処理手段とを具備し、タスク管理制御手段は、実行タスク制御手段及び初期化タスク指示手段の処理に応じて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合は前記タスク中断処理手段を呼び出し、初期化処理が不要な場合はタスク復帰処理手段を呼び出す構成を採る。
【００３８】
この構成によれば、割り込みハンドラの復帰処理においては、実行タスク制御手段と初期化タスク指示手段を用いて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合には、退避処理手段で退避された割り込み発生時に実行中であったタスクの種々の情報の退避を行うタスク復帰処理手段ではなく、単にタスクマネージャのディスパッチ処理手段を呼び出すタスク中断処理手段が呼び出され、初期化処理が不要な場合は、退避処理手段で退避された割り込み発生時に実行中であったタスクの種々の情報の退避を行うタスク復帰処理手段が呼び出され、中断タスクの処理が再開される。そして、タスクマネージャのディスパッチ処理手段で呼び出す処理タスクの切換え処理を行う際に初期化タスク指示手段で指示された処理タスクとの比較を行い、呼び出す処理タスクが初期化処理が必要なタスクの場合には、初期化タスク管理手段に格納されている呼出しアドレスを用いて初期化処理を行うタスクの呼出しを行う。
【００３９】
従って、上記構成の割り込み管理装置の作用に加え、タスクの初期化が発生した場合に、初期化処理においてはもはや復帰する必要がない退避処理手段で退避された割り込み発生時に実行中であったタスクの種々の情報の復帰を行うこと無く、さらに初期化処理は、タスクマネージャのディスパッチ処理手段で再度そのタスクが指示された際にのみ初期化処理から処理を開始することが可能となる。
【００４０】
本発明の割り込み管理装置は、上記構成において、初期タスク管理手段の処理に応じてタスクの初期化制御を行う初期化制御手段を、タスクマネージャに具備する構成を採る。
【００４１】
この構成によれば、初期化制御手段は、処理タスクから呼び出された場合には、対応する処理タスクの初期タスク管理手段に処理タスクからの呼出しアドレスを格納し、対応する処理タスクを初期化するタスクの情報として初期化タスク指示手段に格納した上、ディスパッチ処理手段に処理を移し、ディスパッチ処理手段から呼び出された場合には、呼び出された際に指示された処理タスクの対応する初期タスク管理手段に格納されているタスクの起動開始アドレスを用いてタスクの呼出しを行なう。
【００４２】
ディスパッチ処理手段は、処理タスクから呼び出された場合には、対応する処理タスクのタスク制御手段に処理タスクからの呼出しアドレスを格納する。また、タスク中断処理手段もしくは初期化制御手段からディスパッチ処理手段が呼び出された場合には、呼び出す処理タスクの切換え処理を行う際に初期化タスク指示手段で指示された処理タスクとの比較を行い、呼び出す処理タスクが初期化処理が必要なタスクの場合には、初期化タスク管理手段に格納されている起動開始アドレスを用いてタスクの呼出しを行い、その他の場合にはタスク制御手段から呼び出す処理タスクに対応する呼出しアドレスを用いてタスクの呼出しを行う。
【００４３】
従って、上記構成の割り込み管理装置の作用に加え、タスクマネージャでの初期化を含むタスクの管理がアドレスの管理ならびに制御方法のみを規定するものであるため、各処理タスクの呼出しアドレスに依存しない処理タスクの切換え制御の構築が可能になる。
【００４４】
本発明の割り込み管理方法は、割り込みマスクで割り込みハンドラへの割り込み通知を制御し、この制御による割り込み発生時に実行中のタスクの情報を退避し、前記割り込みの要因に応じて処理すべき割り込み処理タスクを決定し、前記割り込みハンドラとは独立に、前記割り込み要因毎に用意された割り込み受付可能状態を保持し、前記割り込み処理タスクにおいて割り込み許可を制御するための割り込みマスク解除制御情報及び前記割り込み受付可能状態の情報に応じて割り込みマスクの更新制御を行い、決定された割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行い、前記退避された割り込み発生時に実行中のタスクの情報を復帰し、中断されていたタスクの処理を再開するようにした。
【００４５】
この方法によれば、割り込み受付可能管理情報と割り込みマスク解除制御情報は割り込みハンドラとは独立に用意されており、多重割り込み制御手段は割込み受付可能管理情報を用いた制御方法のみを規定するものであるため、割り込みタスク内で他の割り込みを受け付けられるようにする場合や、以後ある割り込みを禁止する場合などの、割り込みハンドラの処理を変更することが必要な際に、割り込み受付可能管理情報と割り込みマスク解除制御情報を変更すればよく、割り込みハンドラの割り込み管理状態を意識せず割り込み処理タスクを作成でき、また、割り込みハンドラの割り込み管理状態に依存しない割り込み処理の構築が可能になる。
【００４６】
本発明の割り込み管理方法は、上記方法において、割り込みハンドラとは独立に、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理情報と、実行中のタスクの情報と、初期化処理が必要となるタスクを設定する初期化タスク指示情報とを保持し、前記実行タスク制御情報及び前記初期化タスク指示情報に応じて中断タスクに復帰する際に、中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合に、前記初期化タスク管理情報に格納されている初期化処理を行うタスクの呼出しを行うようにした。
【００４７】
この方法によれば、上記方法の割り込み管理方法の作用に加え、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理情報と実行中のタスクの情報を保持する実行タスク制御情報と初期化処理が必要となるタスクを設定する初期化タスク指示情報を有し、実行タスク制御情報と初期化タスク指示情報を用いて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合には、初期化タスク管理情報に格納されている呼出しアドレスを用いて初期化処理を行うタスクの呼出しを行うタスク管理制御手段を有しており、割り込み処理タスクにおいて、タスクの処理を初期状態から始めるように制御する場合が発生した場合に、タスクのスタック領域、タスク制御手段などを割り込み処理タスクが初期化する必要がなく、したがって、割り込み処理タスクは初期化するタスクの処理内容を意識する必要がなく、割り込み処理タスク内において、初期化を行なう処理手順を割り込み処理タスクならびに初期化を必要とするタスクと独立に制御できる機構の構築が可能となる。
【００４８】
本発明の割り込み管理方法は、上記方法において、処理対象となる処理タスクの判定を行い、処理タスク毎の呼出しアドレスを格納した実行タスク制御情報及び初期化タスク管理情報に応じて、呼び出す処理タスクの切換え処理を行い、退避された割り込み発生時に実行中のタスクの情報の復帰を行わず前記切換え処理を行い、前記実行タスク制御情報及び前記初期化タスク指示情報に応じて中断タスクに復帰する際に、中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合に、前記タスク中断処理を行い、初期化処理が不要な場合はタスク復帰処理を行うようにした。
【００４９】
この方法によれば、上記方法の割り込み管理方法の作用に加え、タスクの初期化が発生した場合に、初期化処理においてはもはや復帰する必要がない退避処理手段で退避された割り込み発生時に実行中であったタスクの種々の情報の復帰を行うこと無く、さらに初期化処理は、タスクマネージャのディスパッチ処理手段で再度そのタスクが指示された際にのみ初期化処理から処理を開始することが可能となる。
【００５０】
本発明の割り込み管理方法は、上記方法において、初期化タスク管理情報を用いてタスクの初期化制御を行い、実行タスク制御情報を用いてタスクの切換え処理を行うようにした。
【００５１】
この方法によれば、上記方法の割り込み管理方法の作用に加え、タスクマネージャでの初期化を含むタスクの管理がアドレスの管理ならびに制御方法のみを規定するものであるため、各処理タスクの呼出しアドレスに依存しない処理タスクの切換え制御の構築が可能になる。
【００５２】
本発明の記録媒体は、上記何れかの構成と同様の割り込み管理方法を実行するプログラムが記録された構成を採る。
【００５３】
この構成によれば、記録媒体から上記何れかの構成と同様の割り込み管理制御方法を実行するプログラムを読み出して、その割り込み管理制御を実現することができる。
【００５４】
本発明のオペレーティングシステムは、上記何れかの構成と同様の割り込み管理方法に応じた処理機能を具備する構成を採る。
【００５５】
この構成によれば、このオペレーティングシステムに搭載したパーソナルコンピュータ上で実現されるアプリケーションシステムに対して、ＯＳ内の処理に依存しない割り込み管理機構ならびにタスク切換え処理の構築が可能となる。
【００５６】
本発明の信号処理用プロセッサは、上記何れかの構成と同様の割り込み管理方法に応じた処理機能を具備する構成を採る。
【００５７】
この構成によれば、信号処理用プロセッサ内での割り込み処理ならびにタスクマネージャとは独立に、割り込み処理を用いたアプリケーションを実現することが可能となる。
【００５８】
本発明の画像端末装置は、上記何れかの構成と同様の割り込み管理装置を具備する構成を採る。
【００５９】
この構成によれば、画像端末装置において、上記何れかの構成と同様の作用効果を得ることができる。
【００６０】
本発明の移動体通信システムは、上記何れかの構成と同様の画像端末装置を具備する構成を採る。
【００６１】
この構成によれば、移動体通信システムにおいて、上記何れかの構成と同様の作用効果を得ることができる。
【００６２】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００６３】
（実施の形態１）
図１は、本発明の実施の形態１に係る割り込み管理装置の構成を示す手段図である。
【００６４】
この図１に示す割り込み管理装置１００は、割り込みハンドラ１０１と、割り込みコントローラ１０２と、割り込み受付可能管理部１０３と、割り込みマスク解除制御部１０４とを備え、割り込みハンドラ１０１は、退避処理部１０５と、割り込み要因判定処理部１０６と、割り込みタスク制御処理部１０７と、タスク復帰処理部１０８と、多重割り込み制御部１０９とを備え、割り込みコントローラ１０２は、割り込みマスク部１１０を備えて構成されている。
【００６５】
また、符号１２１〜１２２は、第１〜第Ｎの割り込み要因であり、１２３は処理タスクであり、第１〜第Ｎのタスク１２４〜１２６を有し、１２７は割り込み処理タスクであり、第１〜第Ｎの割り込み処理タスク１２８〜１３０を有する。
【００６６】
割り込みコントローラ１０２は、割り込みマスク部１１０で割り込みハンドラ１０１への割り込み通知を制御するものである。
【００６７】
退避処理部１０５は、割り込み発生時に実行中であったタスクの種々の情報を退避するものである。
【００６８】
割り込み要因判定処理部１０６は、割り込み要因より処理すべき割り込み処理タスクを決定するものである。
【００６９】
割り込み受付可能管理部１０３は、割り込みハンドラ１０１とは独立に、割り込み要因毎に用意された割り込み受付可能状態を保持するものである。
【００７０】
割り込みマスク解除制御部１０４は、割り込みハンドラ１０１とは独立に、割り込み処理タスクにおいて割り込み許可を制御するものである。
【００７１】
多重割り込み制御部１０９は、割り込み受付可能管理部１０３と割り込みマスク解除制御部１０４を用いて割り込みマスクの更新制御を行うものである。
【００７２】
割り込みタスク制御処理部１４は、決定された割り込み処理タスクと割り込みハンドラ間の処理の遷移を行うものである。
【００７３】
このように構成された実施の形態１の割り込み管理装置１００の動作を説明する。
【００７４】
図２は割り込みコントローラ１０２の動作を説明するためのものであり、説明を簡単にするために、割り込み要因として１６種類の割り込み要因（ＩＲＱｎ：ｎ＝０，１，．．，１５とする）を持ち、全てマスク可能な割り込みとし、各々の割り込み要因の発生を示す割り込み要求レジスタ（ＩＲ：Ｉｎｔｅｒｒｕｐｔ  Ｒｅｑｕｅｓｔと呼ぶ）と、割り込みマスク部１１０として各々の割り込み要因に対して割込みの禁止（０）／許可（１）を制御する割り込みマスクレジスタ（ＩＭ：Ｉｎｔｅｒｒｕｐｔ  Ｍａｓｋと呼ぶ）と、各割込み要因毎に存在して、割込み要求レジスタＩＲをリセットするために使用する割込み要求リセットレジスタ（ＩＲＲ：Ｉｎｔｅｒｒｕｐｔ  Ｒｅｑｕｅｓｔ  Ｒｅｓｅｔと呼ぶ）とを持つものとする。
【００７５】
ＩＲＲは、ソフトウェアがこのレジスタへセット（１）することにより、ＩＲの該当ビットがリセット（０）される。ＩＲ，ＩＭ，ＩＲＲの各レジスタを各々１６ｂｉｔのレジスタを用いて実現し、さらに、マスク可能な割込み要因全てについて同時に、割込みの禁止（０）／許可（１）の制御する割込み許可フラグ（ＩＥ：Ｉｎｔｅｒｒｕｐｔ  Ｅｎａｂｌｅと呼ぶ）を設ける場合の例を示している。
【００７６】
図２（ａ），（ｂ），（ｃ），（ｄ）は各々ＩＲ，  ＩＭ，  ＩＲＲ，  ＩＥを示しており、各割り込み要因ＩＲＱｎ（ｎ＝０，１，．．，１５）に対するビットを、ＩＲｎ，ＩＭｎ，ＩＲＲｎ（ｎ＝０，１，．．，１５）と表す。
【００７７】
図２（ｅ）は割り込み要因が発生した時の割り込みコントローラ１０２での処理フローを示している。図２（ｅ）に示すように、割り込み要因が発生すると、割り込み要求レジスタの該当ビットがセット（１）され、割り込み許可フラグが許可（１）されており、割り込みマスクレジスタの該当ビットが許可（１）されている場合に、割り込み許可フラグを禁止（０）とした後、割り込みハンドラに処理が遷移する。さらに、割り込み許可フラグもしくは割込みマスクレジスタが禁止（０）状態から許可（１）状態に変更された場合にも図２（ｅ）に示す割り込み要因判定処理が行われる。
【００７８】
以下、割り込みハンドラでの処理の説明を簡単にするために、割り込みハンドラ１０１に処理が遷移した際に、割り込み要因としてＩＲＱ１４，ＩＲＱ１２，ＩＲＱ１，ＩＲＱ０の４種類の割り込み要因がセット（１）されており、この際の割り込みマスクレジスタＩＭの設定状態としてＩＭ１５，ＩＭ１４，ＩＭ３，ＩＭ１，ＩＭ０が割込み許可（１）に設定されており、さらに、その際の割り込み受付管理手段の状態として、全ての割り込みが許可されている割り込みマスクが割り込み受付可能管理部１０３内に保持されている（この保持しているレジスタをＩＭＦＧｒｅｇと呼ぶ）場合について説明をする。
【００７９】
また、この時の割り込みマスク解除制御部１０４には、マスク解除を行うべき割り込み要因がない、即ち、割り込みマスク解除制御部１０４の全てビットがクリア（０）に設定されているとする。
【００８０】
また、割り込み要因の割り込みレベルとして４段階の割り込みレベルが設定されており、
レベル０の割り込み要因：ＩＲＱ２，  ＩＲＱ３
レベル１の割り込み要因：ＩＲＱ０，  ＩＲＱ１
レベル２の割り込み要因：ＩＲＱ１５，ＩＲＱ１４，ＩＲＱ１３，ＩＲＱ１２，ＩＲＱ４
レベル３の割り込み要因：ＩＲＱ５，  ＩＲＱ６，  ＩＲＱ７，  ＩＲＱ８，  ＩＲＱ９，ＩＲＱ１０，ＩＲＱ１１
とし、レベル０＞レベル１＞レベル２＞レベル３であるとする。
【００８１】
割り込み受付可能管理部１０３には、各割り込み毎にその割り込み要因のレベルよりレベルの高い割り込み要因のみを割り込み許可（１）とするような割り込みマスクレジスタへの設定状態（ＩＭＦＧと呼ぶ）が保持される。
【００８２】
図３は前記割り込みレベルに対して設定すべき割り込みマスクレジスタの設定状態を示しており、ＩＭＦＧｎは各々ＩＲＱｎ（ｎ＝０，１，．．，１５）に対応している。例えば、割り込み要因ＩＲＱ１４に対するＩＭＦＧ１４は、ＩＲＱ１４よりレベルの高い、ＩＲＱ０，  ＩＲＱ１，ＩＲＱ２，  ＩＲＱ３の該当ビットが許可（１）に設定される。また、割り込み要因ＩＲＱ２に対するＩＭＦＧ１は、ＩＲＱ２よりレベルの高い割り込み要因が存在しないため、全てのビットが禁止（０）に設定される。
【００８３】
まず、割り込みハンドラ１０１に処理が遷移した場合、その際に実行中であった処理タスク（この処理タスクを中断タスク１２５とする）の種々の情報が退避処理部１０５により退避される。
【００８４】
次に、割り込み要因判定処理部１０６で割り込みコントローラより通知された割り込み要因に対して、割り込み受付可能管理部１０３を用いてどの割り込み要因に対する処理を行うかの判定を行い、呼び出す割り込み処理タスクを決定する。
【００８５】
図４は割り込み要因判定処理手順の説明図である。割り込み要因としてＩＲＱ１４，ＩＲＱ１２，ＩＲＱ１，ＩＲＱ０の４種類の割り込み要因がセット（１）されているため割込み要求レジスタＩＲはＩＲ１４，ＩＲ１２，ＩＲ１，ＩＲ０の各該当ビットが１となっている（Ｓ１）。
【００８６】
割り込みマスクレジスタＩＭの設定状態としてＩＭ１５，ＩＭ１４，ＩＭ３，ＩＭ１，ＩＭ０が割込み許可（１）に設定されているため割り込みマスクレジスタＩＭはＩＭ１５，ＩＭ１４，ＩＭ３，ＩＭ１，ＩＭ０の各該当ビット１となっている（Ｓ２）。
【００８７】
次に、Ｓ１とＳ２の各対応するビット毎のＡＮＤ演算を行う（Ｓ３）。
【００８８】
Ｓ３の状態において、ＭＳＢ側から順に評価を行い値が１となっているビットに該当する割り込み要因を選択する。この場合はＩＲＱ１４に対する位置のビットがまず１となっているため、割り込み要因としてＩＲＱ１４が選択される。
【００８９】
次に、割り込み受付可能管理部１０３に保持されている割り込みマスクレジスタへの設定状態ＩＭＦＧに対して、選択された割り込み要因ＩＲＱ１４に対応する割り込みマスクレジスタへの設定状態ＩＭＦＧ１４（即ち、図３のＩＭＦＧ１４の値）を獲得する（Ｓ４）。
【００９０】
次に、Ｓ３とＳ４の各対応するビット毎のＡＮＤ演算を行う（Ｓ５）。
【００９１】
次に、Ｓ３の状態に対して行ったと同様の評価を行い割り込み要因としてＩＲＱ１が選択される。
【００９２】
次に、Ｓ４と同様の処理を行い割り込み受付可能管理部１０３からＩＭＦＧ１（即ち、図３のＩＭＦＧ１の値）を獲得する（Ｓ６）。
【００９３】
次に、Ｓ５と同様の処理を行うと、全てのビットが０となるため（Ｓ７）、Ｓ３の状態に対して行ったと同様の評価を行うと対応する割り込み要因がなくなる。この時に直前に評価された割り込み要因、即ちＩＲＱ１を割り込み要因として選択し、呼び出す割り込み処理タスクとしてＩＲＱ１に対する割り込み処理タスクを決定し、割り込みタスク制御処理部１０７に処理が遷移する。
【００９４】
尚、この時に割込み要因としてＩＲＱ１が選択されたため、割込み要求リセットレジスタＩＲＲのＩＲＱ１に該当するビット、即ち、ＩＲＲ１をセット（１）することにより割り込み要求レジスタＩＲにセットされているＩＲＱ１の割り込み要因のリセット（０）を行う。
【００９５】
ここで、ＩＲＱ１に対する割り込み処理タスクを第Ｒの割り込み処理タスク１２９とし、以下説明を行う。
【００９６】
図５は多重割り込み制御部１０９での処理手順の説明図である。
【００９７】
多重割り込み制御部１０９では、決定された第Ｒの割り込み処理タスク１２９に対する割り込みマスクＩＭＦＧ１を、割り込み要因毎に用意された割り込み受付可能状態を保持する割り込み受付可能管理部１０３から取り出し、割り込みコントローラ１０２の割り込みマスク部１１０に設定する。
【００９８】
この際に、割り込み発生時に割り込みコントローラ１０２の割り込みマスク部１１０で既に割り込みマスクが設定されており、割り込み禁止になっている割り込み要因に対する割り込みマスクに対しては変更を行わない。
【００９９】
即ち、Ｓ６のＩＭＦＧ１とＳ２のＩＭの各対応するビット毎のＡＮＤ演算を行うことにより割込みマスク３４に設定する割り込みマスク状態を決定し、このマスク状態が割込みマスク３４に設定される（Ｓ８）。
【０１００】
さらに、割り込み発生時に割り込みコントローラ１０２に設定されていた割り込みマスクの状態に対して、割り込み要因判定処理部１０６で判定された割込み要因ＩＲＱ１に対するマスクを割込み禁止状態にした割り込みマスクの状態を退避する。
【０１０１】
即ち、Ｓ２のＩＭに対して、割り込み要因ＩＲＱ１の該当ビットのみを１にしたもの（Ｓ９）とのＥＯＲ演算を行うことにより得られる状態（Ｓ１０）が退避される（退避するレジスタをＩＭ＿ＳＨＬＴｒｅｇと呼ぶ）。
【０１０２】
さらに、割り込み発生時の割り込み受付可能管理手段の状態も退避する。即ち、全ての割り込みが許可されている状態であるＩＭＦＧｒｅｇの内容（Ｓ１１）が退避される（退避するレジスタをＩＭＦＧ＿ＳＨＬＴｒｅｇと呼ぶ）。
【０１０３】
次に、割り込みタスク制御処理部１０７が割り込み要因判定処理処理部１２で決定された対応する割り込み処理タスクである、第Ｒの割り込み処理タスク１２９を呼び出す。
【０１０４】
第Ｒの割り込み処理タスク１２９では、割り込みに対応する処理が行われるが、この処理中に新たな割り込み要因に対して割り込み許可を行う場合は、割り込みマスク解除制御部１０４の、対応する割り込み要因の情報を割り込み解除状態に設定する。また、即座に割り込み許可を行う場合には、同時に割り込みコントローラ１０２の割り込みマスク部１１０の対応する割り込みマスクをマスク解除状態に設定する。
【０１０５】
即ち、第Ｒの割り込み処理タスク１２９の処理内で、新たに割り込み要因ＩＲＱ２を受け付け可能とする場合を考えると、割り込みマスク解除制御部１０４の全てのビットはクリア（０）に設定されている状態であるため、割り込み要因ＩＲＱ２を受け付け可能とする場合には、割り込みマスク解除制御部１０４の該当ビットを設定（１）にする。
【０１０６】
図６（ａ）はこの時の割り込みマスク解除制御部１０４の状態を示している（Ｓ１２）。
【０１０７】
さらに、ＩＲＱ２は第Ｒの割り込み処理タスク１２９が処理対象としている割り込み要因ＩＲＱ１より上位レベルの割り込み要因であるため、即座に割込み許可を行う場合となり、割り込みコントローラ１０２の割り込みマスク部１１０の現時点での設定状態である、Ｓ８の状態に対して、ＩＲＱ２の該当ビットの割込みマスクを解除（１）にする。図６（ｂ）はこの時の割り込みマスク部１１０の状態を示している（Ｓ１３）。
【０１０８】
割込み処理タスクＲ２２の処理が終わると、再び割り込みタスク制御処理部１０７に処理が移行する。
【０１０９】
この際、多重割り込み制御部１０９により、第Ｒの割り込み処理タスク１２９を呼び出す前にＩＭＦＧ＿ＳＨＬＴｒｅｇに退避しておいた割り込み受付可能管理部１０３の状態（Ｓ１１）と、第Ｒの割り込み処理タスク１２９で設定された割り込みマスク解除制御部１０４の状態（Ｓ１２）に対して、両方共割り込み許可状態になっている割り込み要因、即ちＩＲＱ２に対し、多重割り込み制御部１０９によりＩＭ＿ＳＨＬＴｒｅｇに退避された、割り込みマスクの状態（Ｓ１０）の該当ビットを割り込み許可に設定したものを、割り込みコントローラ１０２の割り込みマスク部１１０に設定する。図６（ｃ）はこの時のマスク３４の状態を示している（Ｓ１４）。
【０１１０】
さらに、この際に割り込み許可状態に変更された割り込み要因ＩＲＱ２に対しては、割り込みマスク解除制御部１０４の対応する割り込み要因の情報をリセットする。図６（ｄ）はこの時の割り込みマスク解除制御部１０４の状態を示している（Ｓ１５）。
【０１１１】
そして、タスク復帰処理部１０８で、退避処理部１０５で退避された割り込み発生時に実行中であったタスクの種々の情報を復帰し、中断タスク１２５の処理を再開する。
【０１１２】
このように、実施の形態１の割り込み管理装置１００によれば、割り込み受付可能管理部１０３と割り込みマスク解除制御部１０４は割り込みハンドラ１０１とは独立に用意されており、多重割り込み制御部１０９は割込み受付可能管理手段５１を用いた制御方法のみを規定するものであるため、割り込みタスク内で他の割り込みを受け付けられるようにする場合や、以後ある割り込みを禁止する場合などの、割り込みハンドラ１０１の処理を変更することが必要な際に、割り込み受付可能管理部１０３と割り込みマスク解除制御部１０４を変更すればよく、割り込みハンドラ１０１の割り込み管理状態を意識せず割り込み処理タスク１２７を作成でき、また、割り込みハンドラ１０１の割り込み管理状態に依存しない割り込み処理の構築が可能になる。
【０１１３】
また、本発明は、ソフトウェアにより実現することも可能であり、このソフトウェアを収めた記録媒体から読み出して本発明を実現することも可能である。
【０１１４】
また、本発明は、信号処理用プロセッサ（ＤＳＰ）における割り込み管理機構として組み込むことが可能であり、ＤＳＰ内での割り込み処理とは独立に割り込み処理を用いたアプリケーションを実現する場合に有効である。
【０１１５】
また、本発明は、コンピュータ処理のリアルタイム・オペレーションシステムならびにマルチタスク・オペレーションシステムなどのＯＳ内の割り込み処理に組み込むことが可能であり、パーソナルコンピュータ上で実現されるアプリケーションシステムの構築においては、ＯＳ内での割り込み処理とは独立に割り込み処理を用いたアプリケーションを実現する場合に有効であり、さらに多重割り込みを有する場合には、割り込みレベルをＯＳ内の割り込み機構とは独立した形態で構築することが可能となるため特にその効果を発揮する。
【０１１６】
（実施の形態２）
図７は、本発明の実施の形態２に係る割り込み管理装置の構成を示す手段図である。但し、この図７に示す実施の形態２において図１の実施の形態１の各部に対応する部分には同一符号を付し、その説明を省略する。
【０１１７】
この図７に示す実施の形態２の割り込み管理装置７００は、実施の形態１の構成要素の他に、実行タスク制御部７０１と、初期化タスク指示部７０２と、初期化タスク管理部７０３と、割り込みハンドラ１０１内のタスク管理制御部７０４とを備えて構成されている。
【０１１８】
初期化タスク管理部７０３は、割り込みハンドラ１０１とは独立に、タスクの初期化処理を行うタスクの呼出しアドレスを格納するものである。
【０１１９】
実行タスク制御部７０１は、実行中のタスクの情報を保持するものである。
【０１２０】
初期化タスク指示部７０２は、初期化処理が必要となるタスクを設定するものである。
【０１２１】
タスク管理制御部７０４は、実行タスク制御部７０１と初期化タスク指示部７０２を用いて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合には、初期化タスク管理部７０３に格納されている初期化処理を行うタスクの呼出しを行うものである。
【０１２２】
このように構成された実施の形態２の割り込み管理装置７００の動作を説明する。但し、割り込みハンドラ１０１での処理の説明を簡単にするために、実施の形態１での説明を用いて説明する。
【０１２３】
図８（ａ）は、実行タスク制御部７０１に格納される実行中のタスクの情報の状態を示したものであり、処理タスク４ならびに割込み処理タスク２の各々のタスクを各ビットに対応させ管理する場合を示している。
【０１２４】
図８（ｂ）は、初期化タスク指示部７０２に初期化処理が必要となるタスクを実行タスク制御部７０１と同様に各ビットに対応させて設定する場合を示している。
【０１２５】
実行タスク制御部７０１には、処理タスクならびに割り込み処理タスクの内、実行中のタスクの情報（ＴＳＫＩＮＦと呼ぶ）が格納されている。まず、割り込みハンドラ１０１に処理が遷移した場合、その際に実行中であった処理タスク（中断タスク１２５）の該当ビットに１が設定される（Ｔ１）。
【０１２６】
まず、割り込みハンドラ１０１において、多重割り込み制御部１０９により、割り込み発生時に実行タスク制御部７０１に格納されていた実行中のタスクの情報、即ちＴ１の状態が退避され（退避するレジスタをＴＳＫＩＮＦ＿ＳＨＬＴｒｅｇと呼ぶ）、割り込み要因判定処理部１０６で決定された第Ｒの割り込み処理タスク１２９の情報（Ｔ２）が新たに実行タスク制御部７０１に格納される。
【０１２７】
そして、第Ｒの割り込み処理タスク１２９において、タスクの初期化が必要な場合には、初期化タスク指示部７０２に初期化するタスクの情報を格納する。
【０１２８】
中断タスク１２５が初期化が必要なタスクとして設定された場合を考える。この場合、初期化タスク指示部７０２には中断タスク１２５の該当ビットに１が設定される（Ｔ３）。
【０１２９】
そして、割込み処理タスクＲ２２の処理が終わると、再び割り込みタスク制御処理部１０７に処理が移行するが、この際、多重割り込み制御部１０９により、割り込み処理タスクを呼び出す前にＴＳＫＩＮＦ＿ＳＨＬＴｒｅｇに退避しておいた実行タスク制御部７０１の情報（Ｔ２）と初期化タスク指示部７０２に格納されている初期化するタスクの情報（Ｔ３）を用いて、タスク管理制御部７０４が比較を行う。
【０１３０】
タスク管理制御部７０４では比較したタスクが同じタスクを指示している場合には、初期化タスク管理部７０３の対応するタスクの初期化処理を行うタスクの呼出しアドレスを用いて中断タスクの初期化タスクの処理を行う。
【０１３１】
例えば、ＴＳＫＩＮＦ＿ＳＨＬＴｒｅｇに退避される実行タスク制御部７０１の情報は、割り込み発生時に実行中であったタスクの情報であるため、常に該当する１ビットのみが１に設定されているため、タスク管理制御部７０４において、Ｔ２とＴ３のＡＮＤ演算を行い、非０の値となった場合には、比較したタスクが同じタスクを指示していると判断すればよく、この場合は同じタスクとなっている。
【０１３２】
尚、タスク復帰処理部１０８で、退避処理部１０５で退避された割り込み発生時に実行中であったタスクの種々の情報が必要な場合は復帰処理をも行う。
【０１３３】
このように、実施の形態２の割り込み管理装置７００によれば、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理部７０３と、実行中のタスクの情報を保持する実行タスク制御部７０１と、初期化処理が必要となるタスクを設定する初期化タスク指示部７０２とを有し、実行タスク制御部７０１と初期化タスク指示部７０２を用いて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合には、初期化タスク管理部７０３に格納されている呼出しアドレスを用いて初期化処理を行うタスクの呼出しをタスク管理制御部７０４が行う。
【０１３４】
このため、割り込み処理タスク１２７において、タスクの処理を初期状態から始めるように制御する場合が発生した場合に、タスクのスタック領域、タスク制御手段などを割り込み処理タスク１２７が初期化する必要がない。
【０１３５】
従って、割り込み処理タスク１２７は、初期化するタスクの処理内容を意識する必要がなく、割り込み処理タスク１２７内において、初期化を行なう処理手順を割り込み処理タスク１２７ならびに初期化を必要とするタスクと独立に制御できる機構の構築が可能となる。
【０１３６】
また、本発明は、ソフトウェアにより実現することも可能であり、このソフトウェアを収めた記録媒体から読み出して本発明を実現することも可能である。
【０１３７】
また、本発明は、信号処理用プロセッサ（ＤＳＰ）における割り込み管理機構として組み込むことが可能であり、ＤＳＰ内での割り込み処理とは独立に割り込み処理を用いたアプリケーションを実現する場合に有効である。
【０１３８】
また、本発明は、コンピュータ処理のリアルタイム・オペレーションシステムならびにマルチタスク・オペレーションシステムなどのＯＳ内の割り込み処理に組み込むことが可能であり、パーソナルコンピュータ上で実現される種々のアプリケーションシステムの構築においては、タスクの初期化処理がＯＳ内の割り込み機構とは独立した形態で構築することが可能となるため特にその効果を発揮する。
【０１３９】
（実施の形態３）
図９は、本発明の実施の形態３に係る割り込み管理装置の構成を示す手段図である。但し、この図９に示す実施の形態３において図７の実施の形態２の各部に対応する部分には同一符号を付し、その説明を省略する。
【０１４０】
この図９に示す実施の形態３の割り込み管理装置９００は、実施の形態２の構成要素の他に、タスク制御部９０１を有するディスパッチ処理部９０２が設けられたタスクマネージャ９０３と、割り込みハンドラ１０１内にタスク中断処理部９０４とを備えて構成されている。
【０１４１】
タスクマネージャ９０３のディスパッチ処理部９０２は、図７の割り込み管理装置７００に対し、処理対象となる処理タスクの判定を行い、処理タスク毎の呼出しアドレスを格納したタスク制御部９０１と、タスクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管理部７０３とを用いて、呼び出す処理タスクの切換え処理を行うものである。
【０１４２】
タスク中断処理部９０４は、退避処理部１０５で退避された割り込み発生時に実行中であったタスクの種々の情報の復帰を行わずディスパッチ処理部９０２を呼び出すものである。
【０１４３】
また、タスク管理制御部７０４が実行タスク制御部７０１と初期化タスク指示部７０２を用いて中断タスクに復帰する際に中断タスクの初期化処理の要否を判定行い、初期化処理が必要なタスクに復帰する場合には、タスク中断処理部９０４を呼び出し、処理化処理が不要な場合はタスク復帰処理部１０８を呼び出す構成となっている。
【０１４４】
このように構成された実施の形態３の割り込み管理装置９００の動作を説明する。
【０１４５】
図７の割り込み管理装置７００の割り込みハンドラ１０１でのタスク復帰処理部１０８の中断タスク１２５への復帰処理に対して、図９の割り込みハンドラ１０１の復帰処理においては、実行タスク制御部７０１と初期化タスク指示部７０２を用いて、第２の実施例でのタスク管理制御部７０４と同様の処理を行う。
【０１４６】
即ち、多重割り込み制御部１０９により、割り込み処理タスクを呼び出す前にＴＳＫＩＮＦ＿ＳＨＬＴｒｅｇに退避しておいた実行タスク制御部７０１の情報（Ｔ２）と初期化タスク指示部７０２に格納されている初期化するタスクの情報（Ｔ３）を用いた比較処理を行う。
【０１４７】
これにより、中断タスクに復帰する際に中断タスクの初期化処理の要否を判定を行い、初期化処理が必要なタスクに復帰する場合、退避処理部１０５で退避された割り込み発生時に実行中であったタスクの種々の情報の退避を行うタスク復帰処理部１０８ではなく、タスク中断処理部９０４が呼び出される。
【０１４８】
初期化処理が不要な場合は、退避処理部１０５で退避された割り込み発生時に実行中であったタスクの種々の情報の退避を行うタスク復帰処理部１０８が呼び出され、中断タスクの処理が再開される。
【０１４９】
そして、タスクマネージャ９０３のディスパッチ処理部９０２で呼び出す処理タスクの切換え処理を行う際に初期化タスク指示部７０２で指示された処理タスクとの比較を、タスク管理制御部７０４での比較処理と同様の方法で行い、呼び出す処理タスクが初期化処理が必要なタスクの場合には、初期化タスク管理部７０３に格納されている呼出しアドレスを用いて初期化処理を行うタスクの呼出しを行う。
【０１５０】
このように、実施の形態３の割り込み管理装置９００によれば、タスクの初期化が発生した場合に、初期化処理においては、もはや復帰する必要がない退避処理部１０５で退避された割り込み発生時において、実行中であったタスクの種々の情報の復帰を行うこと無く、さらに初期化処理は、タスクマネージャ９０３のディスパッチ処理部９０２で再度そのタスクが指示された際にのみ初期化処理から処理を開始することが可能となる。
【０１５１】
また、本発明は、ソフトウェアにより実現することも可能であり、このソフトウェアを収めた記録媒体から読み出して本発明を実現することも可能である。
【０１５２】
また、本発明は、信号処理用プロセッサ（ＤＳＰ）における割り込み管理機構ならびにタスク管理機構として組み込むことが可能であり、ＤＳＰ内での割り込み処理ならびにタスクマネージャとは独立に割り込み処理を用いたアプリケーションを実現する場合に有効である。
【０１５３】
また、本発明は、コンピュータ処理のリアルタイム・オペレーションシステムならびにマルチタスク・オペレーションシステムなどのＯＳ内の割り込み処理ならびにタスクマネージャ処理に組み込むことが可能であり、パーソナルコンピュータ上で実現される種々のアプリケーションシステムに対し初期化処理を伴う場合には、もはや復帰する必要がないタスクの種々の情報の復帰を行うこと無く、さらに初期化処理は、タスクマネージャのディスパッチ処理部で再度そのタスクが指示された際にのみ初期化処理から処理を開始することが可能となるため特にその効果を発揮する。
【０１５４】
（実施の形態４）
図１０は、本発明の実施の形態４に係る割り込み管理装置の構成を示す手段図である。但し、この図１０に示す実施の形態４において図９の実施の形態３の各部に対応する部分には同一符号を付し、その説明を省略する。
【０１５５】
この図１０に示す実施の形態４の割り込み管理装置１０００は、実施の形態３の構成要素の他に、初期化タスク管理部７０３を有する初期化制御部１００１を備えて構成されている。
【０１５６】
初期化制御部１００１は、図９の割り込み管理装置９００におけるタスクマネージャ９０３を、処理タスク毎の初期化を行う場合のタスクの起動開始アドレスを格納する初期化タスク管理部７０３を用いてタスクの初期化制御を行うものである。
【０１５７】
つまり、タスクマネージャ９０３を、初期化制御部１００１と、処理タスク毎の呼出しアドレスを格納するタスク制御部９０１を用いてタスクの切換え処理を行うディスパッチ処理部９０２とにより構成したものである。
【０１５８】
このように構成された実施の形態４の割り込み管理装置１０００の動作を説明する。
【０１５９】
初期化制御部１００１は、処理タスク４から呼び出された場合には、対応する処理タスクの初期化タスク管理部７０３に、処理タスクからの呼出しアドレスを格納し、対応する処理タスクを初期化するタスクの情報として初期化タスク指示部７０２に格納した上、ディスパッチ処理部９０２に処理を移す。
【０１６０】
また、ディスパッチ処理部９０２から初期化制御部１００１が呼び出された場合には、呼び出された際に指示された処理タスクの対応する初期化タスク管理部７０３に格納されているタスクの起動開始アドレスを用いてタスクの呼出しを行なう。
【０１６１】
ディスパッチ処理部９０２は、処理タスク４から呼び出された場合には、対応する処理タスクのタスク制御部９０１に処理タスクからの呼出しアドレスを格納する。
【０１６２】
また、タスク中断処理部９０４もしくは、初期化制御部１００１からディスパッチ処理部９０２が呼び出された場合には、呼び出す処理タスクの切換え処理を行う際に、初期化タスク指示手段５５で指示された処理タスクとの比較を行う。
【０１６３】
呼び出す処理タスクが初期化処理が必要なタスクの場合には、初期化タスク管理部７０３に格納されている起動開始アドレスを用いてタスクの呼出しを行う。
【０１６４】
その他の場合にはタスク制御部９０１から呼び出す処理タスクに対応する呼出しアドレスを用いてタスクの呼出しを行う。
【０１６５】
初期化制御部１００１ならびにディスパッチ処理部９０２において、格納すべき呼出しアドレスの獲得方法としては、例えば、ＤＳＰなどで用いられるＣＡＬＬ命令とＰＯＰ命令を用いて実現することができる。
【０１６６】
ＣＡＬＬ命令とはＣＡＬＬ命令を発行したプログラムの次の命令のプログラムカウンタをスタックに格納し、ＣＡＬＬ命令で指示されたプログラムカウンタの値に処理を遷移させるものであり、ＰＯＰ命令とはスタックに格納されている値を取り出し命令である。
【０１６７】
従って、このＣＡＬＬ命令により初期化制御部１００１ならびにディスパッチ処理部９０２の所定の処理に制御を移し、ＰＯＰ命令を用いて呼び出されたタスクの戻り先のプログラムカウンタの値を、初期化タスク管理部７０３もしくはタスク制御手段６１に格納することにより実現できる。
【０１６８】
このように、実施の形態４の割り込み管理装置１０００によれば、タスクマネージャ９０３での初期化を含むタスクの管理がアドレスの管理ならびに制御方法のみを規定するものであるため、各処理タスクの呼出しアドレスに依存しない処理タスクの切換え制御の構築が可能になる。
【０１６９】
また、本発明は、ソフトウェアにより実現することも可能であり、このソフトウェアを収めた記録媒体から読み出して本発明を実現することも可能である。
【０１７０】
また、本発明は、信号処理用プロセッサ（ＤＳＰ）における割り込み管理機構ならびにタスク管理機構として組み込むことが可能であり、ＤＳＰ内での割り込み処理ならびにタスクマネージャとは独立に割り込み処理を用いたアプリケーションを実現する場合に有効である。
【０１７１】
また、本発明は、コンピュータ処理のリアルタイム・オペレーションシステムならびにマルチタスク・オペレーションシステムなどのＯＳ内の割り込み処理ならびにタスクマネージャ処理に組み込むことが可能であり、パーソナルコンピュータ上で実現されるアプリケーションシステムに対してＯＳ内の処理に依存しないタスク切換え処理の構築が可能となるため特にその効果を発揮する。
【０１７２】
【発明の効果】
以上説明したように、本発明によれば、割り込みタスク内で他の割り込みを受け付けられるようにする場合や、以後ある割り込みを禁止する場合などの、割り込みハンドラの処理を変更することが必要な際に、割り込みハンドラや割り込み処理タスクによる割り込み処理内容の変更を容易に行うことができる。
【０１７３】
また、ＯＳを用いた割り込み管理方法で、すべての割り込み要因に対してＯＳ内にある割り込みハンドラが一括して割り込みの禁止／許可の処理を行なっている場合においても、ユーザがＯＳ内の割り込みハンドラの割り込み管理状態を意識せず割り込み処理タスクを作成することができる。
【０１７４】
また、ＯＳ内の割り込みハンドラの割り込み管理状態に依存しない割り込み処理の構築、ならびに、割り込み処理タスクにおいて、タスクの処理を初期状態から始めるように制御する場合が発生した場合に、タスクのスタック領域、タスク制御手段などを割り込み処理タスクが初期化する必要がなくなる。
【０１７５】
従って、割り込み処理タスクは初期化するタスクの処理内容を意識する必要がなく、割り込み処理タスク内において、初期化を行なう処理手順を割り込み処理タスクならびに初期化を必要とするタスクと独立に制御できる機構の構築を行うことができる。
【０１７６】
ならびに、タスクの初期化が発生した場合に、初期化処理においてはもはや復帰する必要がない退避処理部で退避された割り込み発生時に実行中であったタスクの種々の情報の復帰を行うことが無くなる。
【０１７７】
さらに初期化処理は、タスクマネージャのディスパッチ処理部で再度そのタスクが指示された際にのみ初期化処理から処理を開始することが可能となり、タスクマネージャでの初期化を含むタスクの管理がアドレスの管理ならびに制御方法のみを規定するものであるため、各処理タスクの呼出しアドレスに依存しない処理タスクの切換え制御をおこなうことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る割り込み管理装置の構成を示す手段図
【図２】実施の形態１に係る割り込みコントローラの動作図
【図３】実施の形態１に係る割り込み受付可能管理手段に保持されている各割り込み要因の割り込みマスクレジスタの設定状態図
【図４】実施の形態１に係る割り込み要因判定処理手順の説明図
【図５】実施の形態１に係る多重割り込み制御部での処理手順の説明図
【図６】実施の形態１に係る割り込み処理タスクでの処理手順の説明図
【図７】本発明の実施の形態２に係る割り込み管理装置の構成を示す手段図
【図８】実施の形態２に係る実行タスク制御手段に格納される実行中のタスクの情報の状態図
【図９】本発明の実施の形態３に係る割り込み管理装置の構成を示す手段図
【図１０】本発明の実施の形態４に係る割り込み管理装置の構成を示す手段図
【符号の説明】
１００，７００，９００，１０００  割り込み管理装置
１０１  割り込みハンドラ
１０２  割り込みコントローラ
１０３  割り込み受付可能管理部
１０４  割り込みマスク解除制御部
１０５  退避処理部
１０６  割り込み要因判定処理部
１０７  割り込みタスク制御処理部
１０８  タスク復帰処理部
１０９  多重割り込み制御部
１１０  割り込みマスク部
１２１  第１の割り込み要因
１２２  第Ｎの割り込み要因
１２３  処理タスク
１２４  第１のタスク
１２５  中断タスク
１２６  第Ｎのタスク
１２７  割り込み処理タスク
１２８  第１の割り込み処理タスク
１２９  第Ｒの割り込み処理タスク
１３０  第Ｎの割り込み処理タスク
７０１  実行タスク制御部
７０２  初期化タスク指示部
７０３  初期化タスク管理部
７０４  タスク管理制御部
９０１  タスク制御部
９０２  ディスパッチ処理部
９０３  タスクマネージャ
９０４  タスク中断処理部
１００１  初期化制御部
【図１】
0003600095.tif 000002
【図２】
0003600095.tif 000003
【図３】
0003600095.tif 000004
【図４】
0003600095.tif 000005
【図５】
0003600095.tif 000006
【図６】
0003600095.tif 000007
【図７】
0003600095.tif 000008
【図８】
0003600095.tif 000009
【図９】
0003600095.tif 000010
【図１０】
0003600095.tif 000011