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