JP2004199558A - 割込処理調停装置 - Google Patents

割込処理調停装置 Download PDF

Info

Publication number
JP2004199558A
JP2004199558A JP2002369531A JP2002369531A JP2004199558A JP 2004199558 A JP2004199558 A JP 2004199558A JP 2002369531 A JP2002369531 A JP 2002369531A JP 2002369531 A JP2002369531 A JP 2002369531A JP 2004199558 A JP2004199558 A JP 2004199558A
Authority
JP
Japan
Prior art keywords
interrupt
processing
handler
priority
interrupt handler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002369531A
Other languages
English (en)
Inventor
Seiji Asano
誠治 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2002369531A priority Critical patent/JP2004199558A/ja
Publication of JP2004199558A publication Critical patent/JP2004199558A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】CPUの処理効率を高めたまま、簡単な構成で複数の割込ハンドラの処理の実行の競合を調停することができる割込処理調停装置を提供する。
【解決手段】優先順位制御部12で優先順位の高い割込ハンドラの実行中にその割込ハンドラがイベント待ちの状態になったことを受けてその割込ハンドラの割込優先順位を最下位に下げるとともに、実行調停部13でその割込ハンドラの処理の続行を確保するために必要なレジスタの内容をその割込ハンドラについてあらかじめ固定されたスタック領域11のレジスタ確保領域に待避させるとともに、優先順位の低い割込ハンドラ用のレジスタ保存領域の内容を読み出して実行する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、複数の割込ハンドラの処理の実行の競合を調停する割込処理調停装置に関する。
【0002】
【従来の技術】
中央処理装置(CPU)がプログラムを実行している途中で、周辺のハードウェア装置から非同期に割込処理の要求が発生すると、CPUは実行中のプログラムを一時中断し、その割込処理の要求に応じた割込処理を実行させるための割込制御を行なう。割込制御を行なうための装置としては割込コントローラが用いられる。この割込コントローラは、割込要因(割込要求の発生源)に対して、割込優先順位を決めるための割込レベル(例えば0〜7までのレベル)を予め一意的に決定し、その割込レベルに応じてCPUに割込信号を送出する。CPUは、この割込信号に対応する割込処理プログラムである割込ハンドラを呼び出して割込処理を行なう。
【0003】
図5は、従来の、複数の割込ハンドラによる割込処理が行なわれる様子を示す図、図6は、図5に示す割込処理で使用されるスタック領域を示す図である。
【0004】
図5には、3つの割込ハンドラA,B,Cによる割込処理が行なわれる様子が示されている。これら3つの割込ハンドラA,B,Cの割込優先順位は、低い順に、割込ハンドラA,B,Cとなっている。また、図6に示すスタック領域200は、各割込ハンドラA,B,Cによる割込処理時に使用される各領域部201,202,203を有する。
【0005】
最初の時点では、図5に示すように、割込ハンドラAによる割込処理が実行されている。従って、スタック領域200の領域部201には、この割込ハンドラAによる割込処理が実行される以前に実行されていたプログラムの続行を確保するために必要なCPUのレジスタ等の内容が待避されている。
【0006】
ここで、割込ハンドラAによる割込処理が実行されている途中の時刻t1の時点で、割込ハンドラBによる割込処理を実行するための割込信号が、図示しない割込コントローラを介して出力される。割込ハンドラBの割込優先順位の方が割込ハンドラAの割込優先順位よりも高いので、スタック領域200の領域部202に、割込ハンドラAの処理の続行を確保するために必要なCPUのレジスタ等の内容が待避され、次いで割込ハンドラBによる割込処理が実行される。
【0007】
さらに、割込ハンドラBによる割込処理が実行されている途中の時刻t2の時点で、割込ハンドラCによる割込み処理を実行するための割込み信号が出力される。割込ハンドラCの割込み優先順位の方が割込ハンドラBの割込み優先順位よりも高いので、スタック領域200の領域部203に、割込ハンドラBの処理の続行を確保するために必要なCPUのレジスタ等の内容が待避され、次いで割込ハンドラCによる割込処理が実行される。
【0008】
さらに、割込ハンドラCによる割込処理における時刻t3の時点で、外部装置に対して演算処理を実行する旨の命令が発行される。ここで、外部装置は、演算処理結果が得られるまでに所定時間(時刻t3から時刻t4までの時間)を必要とする。従って、割込ハンドラCは、時刻t3から時刻t4までの間、イベント待ち状態となる。このイベント待ち状態の時間(イベント待ち時間と称する)は、CPUが何らの処理も実行しないアイドリング時間である。
【0009】
割込ハンドラCは、時刻t4の時点で外部装置から演算処理結果が得られた旨を受けると、その演算処理結果に基づいて時刻t4から時刻t5までの時間で割込処理を実行する。時刻t5で割込ハンドラCによる割込処理が終了すると、スタック領域200の領域部203に待避されている内容が読み出され、これにより割込ハンドラBによる割込処理が続行する。
【0010】
さらに、時刻t6で割込ハンドラBによる割込処理が終了すると、スタック領域200の領域部202に待避されている内容が読み出され、これにより割込ハンドラAによる割込み処理が実行される。このようにして、複数の割込ハンドラによる、いわゆる多重割込処理が行なわれる。
【0011】
ここで、上述したように、割込ハンドラCによる割込処理において発生するイベント待ち時間は、CPUが何らの処理も実行しないアイドリング時間であり、従ってCPUの処理効率が悪いという問題がある。
【0012】
そこで、以下に説明するように、割込ハンドラCをイベント待ち時間の前後で2つに分割し、イベント待ち時間に割込ハンドラBによる割込処理を実行することにより、CPUの処理効率を高めるということが行なわれている。
【0013】
図7は、イベント待ち時間に、割込ハンドラBによる割込処理が実行される様子を示す図である。
【0014】
ここでは、図7に示すように、前述した割込ハンドラCが、時刻t3から時刻t4までのイベント待ち時間を挟んで、割込ハンドラC1と割込ハンドラC2の2つに分割されている。割込ハンドラC1は、外部装置に対して演算処理を実行する旨の命令を発行した時刻t3の時点で割込処理を終了する。従って、割込ハンドラBによる割込処理が実行される。この割込処理中の時刻t4の時点で外部装置から演算処理終了の旨を受けると、今度は割込ハンドラC2による割込処理が実行される。このようにして、時刻t3から時刻t4までのイベント待ち時間に、割込ハンドラBによる割込処理が実行されるため、CPUの処理効率を高めることができる。
【0015】
また、割込要求発生源からの割込要求信号を、入力コントロールスイッチで選択することにより、複数の割込優先順位を制御する技術が提案されている(例えば、特許文献1参照)。
【0016】
さらに、割込要求信号の割込レベルをCPUで変更することにより、複数の割込優先順位を制御する技術も提案されている(例えば、特許文献2参照)。
【0017】
【特許文献1】
特開平6−309181号公報(段落番号0013−段落番号0 020、第1図)
【特許文献2】
特開平7−49793号公報(段落番号0015−段落番号0 024、第1図)
【0018】
【発明が解決しようとする課題】
しかし、上述した、割込ハンドラを2つに分割する技術では、イベント待ち時間に、その割込ハンドラよりも優先順位の低い割込ハンドラによる割込処理が実行されるため、CPUの処理効率を高めることができるものの、これら2つの割込ハンドラにおける変数管理等は複雑である。従って、プログラムが煩雑となり柔軟性に欠けるという問題がある。
【0019】
また、特許文献1では、複数の割込優先順位を制御するにあたり、割込要求信号を選択するための入力コントロールスイッチ等が必要であり、特許文献2では、割込要求信号の割込レベルをCPUで変更するにあたり、レベルデコーダや2入力OR回路等が必要である。従って、複数の割込ハンドラの処理の実行の競合を調停するにあたり、構成が複雑であるという問題がある。
【0020】
本発明は、上記事情に鑑み、CPUの処理効率を高めたまま、簡単な構成で複数の割込ハンドラの処理の実行の競合を調停することができる割込処理調停装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
上記目的を達成する本発明の割込処理調停装置は、それぞれが、複数の優先順位のうちのいずれかの固有優先順位を持ち各所定の割込処理を実行する複数の割込ハンドラそれぞれの実行を要求する割込みを受け付けてそれら複数の割込ハンドラの処理の実行の競合を調停する割込処理調停装置において、
上記複数の割込ハンドラそれぞれについてあらかじめ固定されたレジスタ保存領域と、
いずれかの割込ハンドラの実行中にその割込ハンドラがイベント待ちの状態になったことを受けてその割込ハンドラの割込優先順位を最下位に下げるとともにそのイベントの発生を受けてその割込ハンドラの優先順位をその割込ハンドラの固有優先順位に固定させる優先順位制御部と、
いずれか第1の割込ハンドラの実行中に、その第1の割込ハンドラの優先順位よりも高い優先順位を持つ第2の割込ハンドラの実行を要求する割込みの発生、又はその実行中の第1の割込ハンドラの優先順位よりも高い固有優先順位を持つ第2の割込ハンドラの最下位優先順位からその第2の割込ハンドラの固有優先順位への切換を受けて、上記第1の割込ハンドラの処理の続行を確保するために必要なレジスタの内容をその第1の割込ハンドラ用レジスタ確保領域に待避させるとともに上記第2の割込ハンドラ用のレジスタ保存領域の内容をその第2の割込ハンドラの実行を司るレジスタに戻す実行調停部とを備えたものであることを特徴とする。
【0022】
本発明の割込処理調停装置は、優先順位の高い割込ハンドラの実行中にその割込ハンドラがイベント待ちの状態になったことを受けて、その割込ハンドラの割込優先順位を最下位に下げるとともに、その割込ハンドラの処理の続行を確保するために必要なレジスタの内容をその割込ハンドラについてあらかじめ固定されたレジスタ確保領域に待避させるとともに、優先順位の低い割込ハンドラ用のレジスタ保存領域の内容を読み出して実行することができる。このため、従来技術のように複雑な変数管理等や複雑な構成は不要である。従って、CPUの処理効率を高めたまま、簡単な構成で複数の割込ハンドラの処理の実行の競合を調停することができる。
【0023】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0024】
図1は、本発明の一実施形態の割込処理調停装置を含むシステムを示す図である。
【0025】
図1には、本実施形態の割込処理調停装置10と、割込コントローラ20と、CPU30と、ROM40と、RAM50とが示されている。
【0026】
割込処理調停装置10は、それぞれが、複数の優先順位のうちのいずれかの固有優先順位を持ち各所定の割込処理を実行する複数の割込ハンドラそれぞれの実行を要求する割込みを受け付けて、それら複数の割込ハンドラの処理の実行の競合を調停する装置であり、この割込処理調停装置10には、スタック領域11と、優先順位制御部12と、実行調停部13とが備えられている。
【0027】
スタック領域11は、詳細は後述するが、複数の割込ハンドラそれぞれについてあらかじめ固定されたレジスタ保存領域を有する。
【0028】
優先順位制御部12は、いずれかの割込ハンドラの実行中にその割込ハンドラがイベント待ちの状態になったことを受けて、その割込ハンドラの割込優先順位を最下位に下げるとともに、そのイベントの発生を受けてその割込ハンドラの優先順位をその割込ハンドラの固有優先順位に固定させる役割を担うものである。
【0029】
実行調停部13は、いずれか第1の割込ハンドラの実行中に、その第1の割込ハンドラの優先順位よりも高い優先順位を持つ第2の割込ハンドラの実行を要求する割込みの発生、又はその実行中の第1の割込ハンドラの優先順位よりも高い固有優先順位を持つ第2の割込ハンドラの最下位優先順位からその第2の割込ハンドラの固有優先順位への切換を受けて、上記第1の割込ハンドラの処理の続行を確保するために必要なレジスタの内容をその第1の割込ハンドラ用レジスタ確保領域に待避させるとともに、上記第2の割込ハンドラ用のレジスタ保存領域の内容をその第2の割込ハンドラの実行を司るレジスタに戻す役割を担うものである。
【0030】
割込コントローラ20は、割込要因(割込要求の発生源)からの割込要求信号INT0〜INT7に対して、割込優先順位を決めるための割込レベル(例えば0〜7までのレベル)を予め一意的に決定し、その割込レベルに応じてCPU30に割込信号を送出する。
【0031】
CPU30は、プログラムカウンタ(PC)を含むレジスタを有し、割込信号に応じて割込ハンドラを呼び出して割込処理を行なうとともに、このシステム全体を制御する。
【0032】
ROM40には、CPU30で実行されるプログラムやデータが記憶されている。
【0033】
RAM50は、CPU30の作業エリア等として用いられる。
【0034】
図2は、図1に示す割込処理調停装置により、複数の割込ハンドラの処理の実行の競合が調停される様子を示す図、図3は、図1に示すスタック領域の構成を示す図である。
【0035】
図2に示す割込ハンドラA,B,Cの割込優先順位は、低い順に、割込ハンドラA,B,Cとなっている。また、図3に示すスタック領域11は、レジスタ保存領域11_1,11_2,11_3を有する。これらレジスタ領域11_1,11_2,11_3は、後述するようにして割込ハンドラA,B,Cの割込み優先順位が逆転した場合(例えば、割込ハンドラCの割込み優先順位の方が、割込ハンドラBの割込み優先順位よりも低くなるような場合)であっても、スタック領域11に格納された情報の書き換え(破壊)が起こらないように、以下のように予め固定されてなる領域である。
【0036】
レジスタ保存領域11_1は、割込ハンドラAの割込み処理におけるローカル変数及びCPU30のレジスタ(PC:プログラムカウンタを含む)に格納された情報が保存される使用領域11_1aと、必要に応じて情報が格納される予備領域11_1bから構成されている。
【0037】
レジスタ保存領域11_2は、割込ハンドラBの割込み処理におけるローカル変数及び上記レジスタに格納された情報が保存される使用領域11_2aと、必要に応じて情報が格納される予備領域11_2bから構成されている。
【0038】
レジスタ保存領域11_3は、割込ハンドラCの割込み処理におけるローカル変数及び上記レジスタに格納された情報が保存される使用領域11_3aと、必要に応じて情報が格納される予備領域11_3bから構成されている。
【0039】
次に、本実施形態の割込処理調停装置を含むシステムの動作について、図2および図4を参照して説明する。
【0040】
図4は、本実施形態の割込処理調停装置を含むシステムにおける割込処理プログラムの概念的な構成図である。
【0041】
この割込処理プログラム100は、共通割込ハンドラ100a、個別割込処理部100b、終了処理部100c、個別割込ハンドライベント待ち処理部100d、および共通割込待ち処理部100eから構成されている。ここで、共通割込ハンドラ100aは、実行調停部13に組み込まれている。また、個別割込処理部100bおよび終了処理部100cは、ROM40内に格納された各割込ハンドラA,B,Cに組み込まれている。さらに、個別割込ハンドライベント待ち処理部100dは、優先順位制御部12に組み込まれている。また、共通割込待ち処理部100eは、ROM40内に格納されている。
【0042】
尚、本実施形態では、共通割込ハンドラ100a,個別割込ハンドライベント待ち処理部100dは、割込処理調停装置10を構成する実行調停部13,優先順位制御部12に組み込まれた例で説明するが、本発明は、これに限られるものではなく、例えば、共通割込ハンドラ100a,個別割込ハンドライベント待ち処理部100dをROM40内に組み込むとともに、スタック領域11をRAM50内に組み込んで割込処理調停装置を構成してもよい。
【0043】
共通割込ハンドラ100aは、以下の処理を行なう。
(1)割込み受付処理をハードウェアに対して行なう。具体的には、割込マスク処理を行なう。
(2)割り込まれた割込ハンドラに対応するCPUレジスタ(PC:プログラムカウンタを含む)等の情報をスタック領域11に格納する。
(3)割り込んだ割込ハンドラに対応するCPUレジスタ等の情報をスタック領域11から読み出す。
(4)PCの値を最後に呼び出す。これにより、個別割込ハンドラ(割込ハンドラA,B,C)にジャンプする。ここで、各割込ハンドラA,B,Cの実行位置は、図示しない初期化プログラムで各使用領域11_1a,11_2a,11_3a内に初期設定されている。このため、各割込ハンドラA,B,Cは、最初の時点では、この実行位置から割込処理を実行する。尚、従来の割込処理調停装置では、この(4)における処理と同等の処理は、割込ハンドラへの関数コールで行なわれる。本実施形態では、ジャンプする(ジャンプ命令)ことにより行なわれるため、処理プログラムのステップ数や処理時間が短くて済む。
【0044】
個別割込処理部100bは、以下の処理を行なう。
(1)割込処理(各割込ハンドラA,B,Cによる割込処理)を実行する。
(2)割込優先順位を最下位にする。
【0045】
終了処理部100cは、以下の処理を行なう。
(1)割込みを禁止する。
(2)スタック領域11を初期化して次の割込み時に備える。
(3)後述する共通割込待ち処理部100eにジャンプする。
【0046】
個別割込ハンドライベント待ち処理部100dは、以下の処理を行なう。
(1)割込みを禁止する。
(2)スタック領域11に格納されているPCの値を、待ち状態解除後に実行されるべきアドレスに置き換える。
(3)割込優先順位を最下位にする。
(4)共通割込待ち処理部100eにジャンプする。
【0047】
共通割込待ち処理部100eは、以下の処理を行なう。
(1)ルーピング開始アドレスをセットする。
(2)割込みの受け付けを行なう(イネーブルインタラプトの実行)。
(3)上記(1)のルーピング開始アドレスにジャンプすることにより、ルーピングを行なう。
【0048】
ここで、図2を参照して、本実施形態の割込処理調停装置10の実行手順について説明する。ここでは、本実施形態の特徴部分である時刻t2の時点から説明する。割込ハンドラBによる割込処理実行中に、時刻t2で割込ハンドラCによる割込処理を実行するための割込信号が、割込コントローラ20(図1参照)から出力される。割込ハンドラCの割込優先順位の方が割込ハンドラBの割込優先順位よりも高いので、割込ハンドラBによる割込処理に代えて割込ハンドラCによる割込処理が、以下の手順で実行される。
【0049】
先ず、共通割込ハンドラ100aによる処理が行なわれる。ここでは、前述したようにして、割込マスク処理、割り込まれた割込ハンドラBに対応するレジスタ情報のスタック領域11(使用領域11_2a)への格納、割り込んだ割込ハンドラCに対応するレジスタ情報のスタック領域11(使用領域11_3a)からの読み出しを行なう。ここで、読み出しにあたり、最後に割込ハンドラCの実行位置(PCの値)を呼び出す。これにより、割込ハンドラCにジャンプする。
【0050】
次いで、個別割込処理部100bによる処理が行なわれる。ここでは、割込ハンドラCによる割込処理が行なわれる。割込ハンドラCによる割込処理において、時刻t3の時点で、外部装置に向けて演算処理を実行する旨の命令が行なわれる。尚、外部装置では演算処理結果が得られるまでに時刻t3から時刻t4までの時間が必要とされる。また、割込み優先順位を最下位にする。
【0051】
さらに、時刻t3の時点では、個別割込ハンドライベント待ち処理部100dによる処理が行なわれる。ここでは、割り込みを禁止し、スタック領域11(使用領域11_3a)に格納されているPCの値(割込ハンドラCのアドレス)を、待ち状態解除後に実行されるべきアドレスに置き換える。また、割込み優先順位を最下位にして、共通割込待ち処理部100eにジャンプする。
【0052】
共通割込待ち処理部100eでは、割込みの受け付けおよびルーピング処理を行なう。すると、割込コントローラ20から割込ハンドラBに対応する割込信号が時刻t3の直後に発生し、これにより割込ハンドラBによる割込処理が、以下の手順で実行される。
【0053】
先ず、共通割込ハンドラ100aによる処理が行なわれる。ここでは、割込マスク処理、割り込まれた割込ハンドラCに対応するレジスタ情報のスタック領域11(使用領域11_3a)への格納、割り込んだ割込ハンドラBに対応するレジスタ情報のスタック領域11(使用領域11_2a)からの読み出しを行なう。これにより、割込ハンドラBにジャンプする。
【0054】
次いで、個別割込処理部100bによる処理、即ち割込ハンドラBによる割込処理と割込優先順位を最下位にする処理が行なわれる。ここでは、前述した外部装置による演算処理結果が得られるまでに必要な時刻t3から時刻t4までのイベント待ち時間に、この割込ハンドラBによる割込処理が行なわれる。従って、CPUの処理効率を高めることができる。割込ハンドラBによる割込処理の途中の時刻t4で外部装置から演算処理終了の旨を受けると、割込ハンドラCに対する2度目の割込みが発生し、割込ハンドラCによる割込処理が、以下の手順で実行される。
【0055】
即ち、共通割込ハンドラ100aによる処理、個別割込処理部10bによる処理、終了処理部100cによる処理、および個別割込ハンドライベント待ち処理部100dによる処理が行なわれる。このようにして、時刻t5の時点で割込ハンドラCによる割込処理が一通り終了する。
【0056】
すると、今度は、割込コントローラ20により、割込ハンドラBに対する割込みが発生し、上述したと同じ一連の手順である、共通割込ハンドラ100aによる処理、個別割込処理部100bによる処理、終了処理部100cによる処理、および個別割込ハンドライベント待ち処理部100dによる処理が行なわれる。このようにして、時刻t6の時点で割込ハンドラBによる割込処理が一通り終了する。
【0057】
さらに、割込コントローラ20により、割込ハンドラAに対する割込みが発生し、一連の手順である、共通割込ハンドラ100aによる処理、個別割込み処理部100bによる処理、終了処理部100cによる処理、および個別割込ハンドライベント待ち処理部100dによる処理が行なわれる。このようにして、割込ハンドラAによる割込処理が行なわれる。
【0058】
本実施形態では、割込コントローラ20からの割込信号をCPU30が受け付けた時点で、スタック領域11の使用領域11_1a,11_2a,11_3aに格納された実行位置から割込処理を開始するための共通割込ハンドラ100aが備えられている。このようにすることにより、複数の異なる優先順位を持つ複数の割込信号を1つの共通割込ハンドラ100aに対応させることができ、従って共通割込ハンドラ100a、即ち同じ処理ルーチン(コンテキスト)の中で優先度の異なる割込処理を複数実行することができる。
【0059】
このように、本実施形態では、複数の割込優先順位を有する複数の割込ハンドラによる割込処理において、それら複数の割込優先順位を自在に変更することにより、それら複数の割込ハンドラによる割込処理を自在に制御することができる。また、1つの割込ハンドラに複数の割込信号を対応させることもできる。
【0060】
また、本実施形態では、ある割込優先順位を有する割込ハンドラにおいてイベント待ち状態が発生する場合、その割込ハンドラの優先順位よりも低い割込優先順位を有する割込ハンドラに制御を渡して割込処理を行なうことができる。このため、イベント待ち状態における時間に、上記低い優先順位を有する割込ハンドラによる割込処理が実行される。従って、CPUのアイドリング時間を短く抑えることができ、CPUを有効に使用することができる。
【0061】
【発明の効果】
以上説明したように、本発明の割込処理調停装置によれば、CPUの処理効率を高めたまま、簡単な構成で複数の割込ハンドラの処理の実行の競合を調停することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の割込処理調停装置を含むシステムを示す図である。
【図2】図1に示す割込処理調停装置により、複数の割込ハンドラの処理の実行の競合が調停される様子を示す図である。
【図3】図1に示すスタック領域の構成を示す図である。
【図4】本実施形態の割込処理調停装置を含むシステムにおける割込処理プログラムの概念的な構成図である。
【図5】従来の、複数の割込ハンドラによる割込処理が行なわれる様子を示す図である。
【図6】図5に示す割込処理で使用されるスタック領域を示す図である。
【図7】イベント待ち時間に、割込ハンドラBによる割込処理が実行される様子を示す図である。
【符号の説明】
10 割込処理調停装置
11 スタック領域
11_1,11_2,11_3 レジスタ保存領域
11_1a,11_2a,11_3a 使用領域
11_1b,11_2b,11_3b 予備領域
12 優先順位制御部
13 実行調停部
20 割込コントローラ
30 CPU
40 ROM
50 RAM
100 割込処理プログラム
100a 共通割込ハンドラ
100b 個別割込処理部
100c 終了処理部
100d 個別割込ハンドライベント待ち処理部
100e 共通割込待ち処理部

Claims (1)

  1. それぞれが、複数の優先順位のうちのいずれかの固有優先順位を持ち各所定の割込処理を実行する複数の割込ハンドラそれぞれの実行を要求する割込みを受け付けて該複数の割込ハンドラの処理の実行の競合を調停する割込処理調停装置において、
    前記複数の割込ハンドラそれぞれについてあらかじめ固定されたレジスタ保存領域と、
    いずれかの割込ハンドラの実行中に該割込ハンドラがイベント待ちの状態になったことを受けて該割込ハンドラの割込優先順位を最下位に下げるとともに該イベントの発生を受けて該割込ハンドラの優先順位を該割込ハンドラの固有優先順位に固定させる優先順位制御部と、
    いずれか第1の割込ハンドラの実行中に、該第1の割込ハンドラの優先順位よりも高い優先順位を持つ第2の割込ハンドラの実行を要求する割込みの発生、又は該実行中の第1の割込ハンドラの優先順位よりも高い固有優先順位を持つ第2の割込ハンドラの最下位優先順位から該第2の割込ハンドラの固有優先順位への切換を受けて、前記第1の割込ハンドラの処理の続行を確保するために必要なレジスタの内容を該第1の割込ハンドラ用レジスタ確保領域に待避させるとともに前記第2の割込ハンドラ用のレジスタ保存領域の内容を該第2の割込ハンドラの実行を司るレジスタに戻す実行調停部とを備えたものであることを特徴とする割込処理調停装置。
JP2002369531A 2002-12-20 2002-12-20 割込処理調停装置 Withdrawn JP2004199558A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002369531A JP2004199558A (ja) 2002-12-20 2002-12-20 割込処理調停装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002369531A JP2004199558A (ja) 2002-12-20 2002-12-20 割込処理調停装置

Publications (1)

Publication Number Publication Date
JP2004199558A true JP2004199558A (ja) 2004-07-15

Family

ID=32765727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002369531A Withdrawn JP2004199558A (ja) 2002-12-20 2002-12-20 割込処理調停装置

Country Status (1)

Country Link
JP (1) JP2004199558A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909835B2 (en) 2009-05-14 2014-12-09 International Business Machines Corporation Computer system and method of controlling computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909835B2 (en) 2009-05-14 2014-12-09 International Business Machines Corporation Computer system and method of controlling computer system

Similar Documents

Publication Publication Date Title
US7020879B1 (en) Interrupt and exception handling for multi-streaming digital processors
EP0827071B1 (en) Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream
JP3699806B2 (ja) 割込みコントローラ及び制御システム
US7853743B2 (en) Processor and interrupt controlling method
JPH02267634A (ja) 割込み処理装置
WO2010067492A1 (ja) マルチプロセッサシステム及びその排他制御の調停方法
JP5040050B2 (ja) 複数チャネルdmaコントローラおよびプロセッサシステム
US7552261B2 (en) Configurable prioritization of core generated interrupts
JP2001117786A (ja) プロセススケジューリング装置およびプロセススケジューリング方法
JP2004199558A (ja) 割込処理調停装置
US20060155893A1 (en) Methods and apparatus for sharing memory bandwidth
WO2000070482A1 (en) Interrupt and exception handling for multi-streaming digital processors
JPH10177489A (ja) タスクのスケジュール方法
JPH05113887A (ja) コンピユータシステム
JP2580072B2 (ja) 割込み処理装置
JP2018106583A (ja) 半導体装置
JPH04302353A (ja) 対称形マルチプロセッサ計算機のタイマ割込み方式
JP3212830B2 (ja) 割り込み要求信号制御回路
JPH11327921A (ja) 計算機システムに於けるスレッド優先度制御装置、及びスレッド優先度制御方法
JPH04211839A (ja) 割込みコントローラ
JPH07262022A (ja) 割込み処理方式
JP2871171B2 (ja) マイクロコンピュータ
JP2000172629A (ja) データ転送方法およびデータ転送装置
JP2000259548A (ja) Dmaバス転送方式
JP2006209480A (ja) プロセッサおよび情報処理方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307