JPH0531774B2 - - Google Patents
Info
- Publication number
- JPH0531774B2 JPH0531774B2 JP59131394A JP13139484A JPH0531774B2 JP H0531774 B2 JPH0531774 B2 JP H0531774B2 JP 59131394 A JP59131394 A JP 59131394A JP 13139484 A JP13139484 A JP 13139484A JP H0531774 B2 JPH0531774 B2 JP H0531774B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- instruction
- execution
- error information
- value
- 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.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、コンピユータシステムにおける割り
込み処理に関するものである。
込み処理に関するものである。
従来例の構成とその問題点
割り込みは、コンピユータシステムにおいて非
常に多用される有効な機能であり、何らかの事象
の発生により、その時実行しているプロセスを中
断させて、より緊急度の高い処理プログラムを優
先して実行する必要がある場合に用いられる。
常に多用される有効な機能であり、何らかの事象
の発生により、その時実行しているプロセスを中
断させて、より緊急度の高い処理プログラムを優
先して実行する必要がある場合に用いられる。
割り込みは、コンピユータシステム上で実行さ
れる全プロセス共用の機能であるため、オペレー
テイングシステムより統一的に取り扱われる。割
り込みが発生すると、オペレーテイングシステム
内の割り込み処理プログラムが起動され、その時
中断したプロセスが使用してたレジスタや命令カ
ウンタ等のプロセスコンテクスを割り込みスタツ
ク等の退避領域に退避して、次にプロセスを再開
するための準備をした後、割り込みを発生した原
因に対応する処理を実行する。割り込み処理が終
了すると、以前に退避したレジスタ等を回復し、
割り込みからの復帰命令を実行することにより中
断したプロセスの実行を再開する。
れる全プロセス共用の機能であるため、オペレー
テイングシステムより統一的に取り扱われる。割
り込みが発生すると、オペレーテイングシステム
内の割り込み処理プログラムが起動され、その時
中断したプロセスが使用してたレジスタや命令カ
ウンタ等のプロセスコンテクスを割り込みスタツ
ク等の退避領域に退避して、次にプロセスを再開
するための準備をした後、割り込みを発生した原
因に対応する処理を実行する。割り込み処理が終
了すると、以前に退避したレジスタ等を回復し、
割り込みからの復帰命令を実行することにより中
断したプロセスの実行を再開する。
オペレーテイングシステムが実行する割り込み
処理は、全プロセスに共通のものであるため、画
一的であり、各プロセスの差異に応じた細かな処
理を行なうことは困難である。そこで、コンピユ
ータシステムにとつて、致命的な障害が発生した
ことによる割り込みは、一般的な処置法が存在し
ない場合、一律に割り込み発生の原因となつたプ
ロセスを強制終了させるのが通常である。たとえ
ば、存在しない主記憶を参照しようとした場合に
発生する割り込みなどがこれに相当する。上記の
様に、割り込みに対する処置が一律である場合、
不都合を生ずることが多々ある。
処理は、全プロセスに共通のものであるため、画
一的であり、各プロセスの差異に応じた細かな処
理を行なうことは困難である。そこで、コンピユ
ータシステムにとつて、致命的な障害が発生した
ことによる割り込みは、一般的な処置法が存在し
ない場合、一律に割り込み発生の原因となつたプ
ロセスを強制終了させるのが通常である。たとえ
ば、存在しない主記憶を参照しようとした場合に
発生する割り込みなどがこれに相当する。上記の
様に、割り込みに対する処置が一律である場合、
不都合を生ずることが多々ある。
近年、コンピユータには高度な機能を持つ命令
が実現される場合が多い。これらは、従来複数個
の命令を一連の手順で実行することにより実現し
ていた機能を、一命令で実行可能にする様実現さ
れた命令であり、たとえば、複数個のデータを一
括して、ある番地から他の番地へ転送する機能を
持つ命令などがある。この種の命令は、実行する
内容が複雑であり、又繰り返し機能を含む場合も
あるなど、実行が長時間に及ぶ場合がある。たと
えば、上記の転送命令により、10万個のデータを
転送する様な場合、100ミリ秒程度の時間を要す
る。これは、通常ナノ秒からマイクロ秒で一命令
を実行するコンピユータにとつて、極めて長い時
間である。
が実現される場合が多い。これらは、従来複数個
の命令を一連の手順で実行することにより実現し
ていた機能を、一命令で実行可能にする様実現さ
れた命令であり、たとえば、複数個のデータを一
括して、ある番地から他の番地へ転送する機能を
持つ命令などがある。この種の命令は、実行する
内容が複雑であり、又繰り返し機能を含む場合も
あるなど、実行が長時間に及ぶ場合がある。たと
えば、上記の転送命令により、10万個のデータを
転送する様な場合、100ミリ秒程度の時間を要す
る。これは、通常ナノ秒からマイクロ秒で一命令
を実行するコンピユータにとつて、極めて長い時
間である。
割り込みは、通常一個の命令の実行を終了し、
次の命令の実行を開始するまでの間に受け付けら
れる。したがつて、上記の様に長時間コンピユー
タを占有して実行される高機能命令は、その実行
中割り込み不能となるので、割り込み機能にとつ
ては不都合である。そこで、高機能命令の中には
命令の実行途中であつても割り込み可能な様に実
現されるものも多い。当然割り込みが発生して命
令の実行が中断されても、その時点でのコンテク
ストを退避しておけば、命令の実行を再開するこ
とは容易であるし、この時退避される命令カウン
タの値を現在実行中の命令の置かれている番地を
示す様にしておけば矛盾を生ずることもない。
次の命令の実行を開始するまでの間に受け付けら
れる。したがつて、上記の様に長時間コンピユー
タを占有して実行される高機能命令は、その実行
中割り込み不能となるので、割り込み機能にとつ
ては不都合である。そこで、高機能命令の中には
命令の実行途中であつても割り込み可能な様に実
現されるものも多い。当然割り込みが発生して命
令の実行が中断されても、その時点でのコンテク
ストを退避しておけば、命令の実行を再開するこ
とは容易であるし、この時退避される命令カウン
タの値を現在実行中の命令の置かれている番地を
示す様にしておけば矛盾を生ずることもない。
ところで、オペレーテイングシステムは、上記
の様な高機能命令の実行中に発生する割り込みに
対しても、他の場合の割り込みと同様、一律に対
処しようとする。したがつて致命的な障害が発生
した場合には、プロセスを強制終了させるため、
それまでの実行結果も失われてしまい、損失をま
ねくことになる。もし、割り込み処理でプロセス
を強制終了させない様にしたとしても、今度は一
律にそうなるため、又不都合を生ずることにな
る。結局、各プロセスごとに適切な処置がとれる
様、割り込み処理プログラムを実現する必要があ
るが、プロセスごとに異なる処理を、各プロセス
に対応して割り込み処理プログラムに付加するこ
とは、オペレーテイングシステムの汎用性を欠く
ことになるし、又、既存のオペレーテイングシス
テムの割り込み処理プログラムを大幅に改変する
作業は、通常非常に困難であつて、現実的な方法
ではない。
の様な高機能命令の実行中に発生する割り込みに
対しても、他の場合の割り込みと同様、一律に対
処しようとする。したがつて致命的な障害が発生
した場合には、プロセスを強制終了させるため、
それまでの実行結果も失われてしまい、損失をま
ねくことになる。もし、割り込み処理でプロセス
を強制終了させない様にしたとしても、今度は一
律にそうなるため、又不都合を生ずることにな
る。結局、各プロセスごとに適切な処置がとれる
様、割り込み処理プログラムを実現する必要があ
るが、プロセスごとに異なる処理を、各プロセス
に対応して割り込み処理プログラムに付加するこ
とは、オペレーテイングシステムの汎用性を欠く
ことになるし、又、既存のオペレーテイングシス
テムの割り込み処理プログラムを大幅に改変する
作業は、通常非常に困難であつて、現実的な方法
ではない。
そこで、オペレーテイングシステム内の割り込
み処理は一律な手順で対応可能とし、プロセスに
固有な割り込みに対する処理は、プロセスにまか
せることが最良の方法である。
み処理は一律な手順で対応可能とし、プロセスに
固有な割り込みに対する処理は、プロセスにまか
せることが最良の方法である。
発明の目的
本発明は、上記従来の割り込み処理の欠点を除
き、一命令の実行途中に発生した割り込みに対す
るプロセス固有の割り込み処理を、プロセスにま
かせることを可能にする方法を提供することを目
的とする。
き、一命令の実行途中に発生した割り込みに対す
るプロセス固有の割り込み処理を、プロセスにま
かせることを可能にする方法を提供することを目
的とする。
発明の構成
本発明は、プロセスに関連付けられたフラグ領
域と、エラー情報領域とを主記憶中に設けること
により、上記領域を介して、プロセスと、割り込
み処理プログラムとが互いに情報を伝達し合うこ
とにより、プロセスからの要求に応じて割り込み
処理プログラムが、プロセス固有な割り込み処理
をプロセスにまかせられる様構成したものであ
る。
域と、エラー情報領域とを主記憶中に設けること
により、上記領域を介して、プロセスと、割り込
み処理プログラムとが互いに情報を伝達し合うこ
とにより、プロセスからの要求に応じて割り込み
処理プログラムが、プロセス固有な割り込み処理
をプロセスにまかせられる様構成したものであ
る。
実施例の説明
プロセスは、一命令実行途中の割り込み発生時
に、それに対応する処理を自ら行ないたい場合、
上記フラグ領域に、一例として値“1”を、そう
でない場合は値“0”をあらかじめ格納し、又、
上記エラー情報領域には、エラー情報無しを意味
する値“0”をあらかじめ格納してから、実行途
中での割り込みを検出したい命令の実行を開始す
る。もし何らの割り込みも発生しなかつた場合、
命令実行終了とともに、次の番地の命令の実行が
開始される。一方、命令実行途中で、従来ならば
プロセス強制終了の原因となる様な割り込みが発
生した場合、割り込み処理プログラムは、フラグ
領域を参照して値が“0”であるならば従来通り
そのプロセスを強制終了させ、値が“1”である
ならば、エラー情報領域に割り込み発生を意味す
る、あらかじめ定められた“0”以外の値を格納
する。この時格納する値は、割り込みの種別に対
応して、異なる複数個の値を定めておくことも可
能である。次に割り込み処理プログラムは、退避
されたプロセスコンテクトの中の命令カウンタの
値に、そのコンピユータによつて定まる一定の値
を加算し、命令カウンタの値が割り込まれた命令
の配置番地の次の番地を示す様に変更する。この
後、従来通り割り込みからの復帰手順を実行する
と、割り込まれた命令の次の命令からプロセスの
実行が再開される。
に、それに対応する処理を自ら行ないたい場合、
上記フラグ領域に、一例として値“1”を、そう
でない場合は値“0”をあらかじめ格納し、又、
上記エラー情報領域には、エラー情報無しを意味
する値“0”をあらかじめ格納してから、実行途
中での割り込みを検出したい命令の実行を開始す
る。もし何らの割り込みも発生しなかつた場合、
命令実行終了とともに、次の番地の命令の実行が
開始される。一方、命令実行途中で、従来ならば
プロセス強制終了の原因となる様な割り込みが発
生した場合、割り込み処理プログラムは、フラグ
領域を参照して値が“0”であるならば従来通り
そのプロセスを強制終了させ、値が“1”である
ならば、エラー情報領域に割り込み発生を意味す
る、あらかじめ定められた“0”以外の値を格納
する。この時格納する値は、割り込みの種別に対
応して、異なる複数個の値を定めておくことも可
能である。次に割り込み処理プログラムは、退避
されたプロセスコンテクトの中の命令カウンタの
値に、そのコンピユータによつて定まる一定の値
を加算し、命令カウンタの値が割り込まれた命令
の配置番地の次の番地を示す様に変更する。この
後、従来通り割り込みからの復帰手順を実行する
と、割り込まれた命令の次の命令からプロセスの
実行が再開される。
以上の説明から分る様に、フラグ領域に値
“1”を格納しておくことにより、命令実行途中
に割り込みが発生した場合も、プロセスは強制終
了させられることなく次の命令の実行を継続して
行なうことが可能となる。そこでプロセスは、割
り込みの有無を検出したい命令の実行終了後、エ
ラー情報領域を調べ、値が“0”のままであるな
らば、割り込みがなかつたことを意味しているの
で残りの処理を続行することが可能であるし、
“0”以外の値であるならば、割り込みがあつた
ことを意味しているので、何らかの異常があつた
ものと判断してその処置を行なうことが可能とな
る。したがつて、もし何らかの異常が発生してい
たとしても、それまでの実行結果を保存する等の
処置を、プロセス側の判断で行なうことが可能と
なる。なお、本発明は、割り込まれた命令の次の
命令の配置番地が、一定の手順で算出可能な場合
に適用可能である。又、本発明は、フラグ領域
や、エラー情報領域に格納する値を、上記説明中
で用いた値にのみ限定するものではない。
“1”を格納しておくことにより、命令実行途中
に割り込みが発生した場合も、プロセスは強制終
了させられることなく次の命令の実行を継続して
行なうことが可能となる。そこでプロセスは、割
り込みの有無を検出したい命令の実行終了後、エ
ラー情報領域を調べ、値が“0”のままであるな
らば、割り込みがなかつたことを意味しているの
で残りの処理を続行することが可能であるし、
“0”以外の値であるならば、割り込みがあつた
ことを意味しているので、何らかの異常があつた
ものと判断してその処置を行なうことが可能とな
る。したがつて、もし何らかの異常が発生してい
たとしても、それまでの実行結果を保存する等の
処置を、プロセス側の判断で行なうことが可能と
なる。なお、本発明は、割り込まれた命令の次の
命令の配置番地が、一定の手順で算出可能な場合
に適用可能である。又、本発明は、フラグ領域
や、エラー情報領域に格納する値を、上記説明中
で用いた値にのみ限定するものではない。
発明の効果
以上述べて来た様に、本発明による方法によれ
ば、オペレーテイングシステムの割り込み処理に
わずかな量の一定の手続きを追加するのみで、従
来は一律にプロセスを強制終了させざるを得なか
つた割り込みに対して、プロセス側がそのプロセ
スに固有な方法で対処することを可能にし、コン
ピユータ利用面での自由度をいちじるしく向上さ
せることを可能とし、その効果の大なるものがあ
る。
ば、オペレーテイングシステムの割り込み処理に
わずかな量の一定の手続きを追加するのみで、従
来は一律にプロセスを強制終了させざるを得なか
つた割り込みに対して、プロセス側がそのプロセ
スに固有な方法で対処することを可能にし、コン
ピユータ利用面での自由度をいちじるしく向上さ
せることを可能とし、その効果の大なるものがあ
る。
Claims (1)
- 1 プロセスに関係付けられたフラグ領域と、エ
ラー情報領域とを主記憶中に設け、上記プロセス
が、上記フラグ領域に所定の値を格納しておいた
場合、割り込みの発生によつて起動される割り込
み処理プログラムが、上記エラー情報領域に所定
のエラー情報を格納し、割り込み時に退避された
コンテクスト中の命令カウンタの値を、次の命令
の配置番地を示す様変更して割り込みから復帰す
ることによつて、割り込まれた命令の次の番地の
命令から上記プロセスの実行を再開し、上記プロ
セス側で、エラー情報領域の内容を調査すること
によつて、直前の一個の命令の実行中の割り込み
の有無を判定しもし割り込みがあつた場合には上
記プロセスに固有の割り込み処理を実行可能にす
ることを特徴とする割り込み処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59131394A JPS619731A (ja) | 1984-06-26 | 1984-06-26 | 割り込み処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59131394A JPS619731A (ja) | 1984-06-26 | 1984-06-26 | 割り込み処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS619731A JPS619731A (ja) | 1986-01-17 |
| JPH0531774B2 true JPH0531774B2 (ja) | 1993-05-13 |
Family
ID=15056941
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59131394A Granted JPS619731A (ja) | 1984-06-26 | 1984-06-26 | 割り込み処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS619731A (ja) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56135249A (en) * | 1980-03-25 | 1981-10-22 | Fujitsu Ltd | Interruption control system |
-
1984
- 1984-06-26 JP JP59131394A patent/JPS619731A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS619731A (ja) | 1986-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH03175537A (ja) | デバッグ用マイクロプロセッサのエラー制御装置 | |
| JPH04373026A (ja) | プログラム中断方法 | |
| JPS619731A (ja) | 割り込み処理方法 | |
| JPH0443301B2 (ja) | ||
| JPS6136665B2 (ja) | ||
| JPS586971B2 (ja) | 演算処理装置 | |
| JPH04332055A (ja) | プログラム暴走検知方法 | |
| JPH0219494B2 (ja) | ||
| JPH0433130A (ja) | マルチチップ構成方法 | |
| JPS6212538B2 (ja) | ||
| JPS6252900B2 (ja) | ||
| JPH02201654A (ja) | タイムシェアリングシステムのブレーク割り込み制御方式 | |
| JPS6337439B2 (ja) | ||
| JP2591211B2 (ja) | 高速割込み処理装置 | |
| JPS59144955A (ja) | 情報処理装置 | |
| JPH0319574B2 (ja) | ||
| JPS6120139A (ja) | 割込み制御方式 | |
| JPH03164966A (ja) | 情報処理システム | |
| JPS6266357A (ja) | フアイル制御装置 | |
| JPH0149975B2 (ja) | ||
| JPH01185733A (ja) | 入出力エミュレーション方式 | |
| JPH0259933A (ja) | マイクロプロセッサ | |
| JPH0764909A (ja) | オンライン業務処理実行順序管理装置 | |
| JPH0216652A (ja) | ミッシングページ処理方式 | |
| JPH02304624A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |