JPS58142451A - 割込制御方式 - Google Patents

割込制御方式

Info

Publication number
JPS58142451A
JPS58142451A JP2541882A JP2541882A JPS58142451A JP S58142451 A JPS58142451 A JP S58142451A JP 2541882 A JP2541882 A JP 2541882A JP 2541882 A JP2541882 A JP 2541882A JP S58142451 A JPS58142451 A JP S58142451A
Authority
JP
Japan
Prior art keywords
program
interrupt
information
pointer
contents
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.)
Granted
Application number
JP2541882A
Other languages
English (en)
Other versions
JPS6212535B2 (ja
Inventor
Masaaki Yoshitake
吉武 正昭
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP2541882A priority Critical patent/JPS58142451A/ja
Publication of JPS58142451A publication Critical patent/JPS58142451A/ja
Publication of JPS6212535B2 publication Critical patent/JPS6212535B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は割込制御方式に関する。
一般に、情報処理装置において、あるプログラム人によ
る処理の進行中に、それよりも優先度の高いプログラム
Bによる処理要求が発生したために、現在進行中のプロ
グラム人を中断し、仁の優先度の高いプログラムBの処
理に移行する必要が生ずる場合がしばしば起る。これを
プログラムBがプログラム人に割込むという。、この場
合に割込んだプログラムBの必要な処理が終了すると、
再びプログラム人の処理に戻るが、プログラム人は中断
された所から再開することになる。
このような割込処理を効率的に行うために、一般に次の
ような方法が用いられる。割込みが発生すると割込みを
制御する制御部は、 (1)割込原因を示す情報を主記憶装置中の特定の領域
に格納し、 (2)中断されたプログラム(プログラム人)の中断さ
れた時点における状態を指定する情報(使用している各
種レジスタの内容)を退避領域dこ退避格納しく退避領
域は通常主記憶装置中化設定される)、 (3)  この割込の種類に応じた割込処理プログラム
にジャンプする。
こうして(3)の動作により開始した割込処理プログラ
ムは、上述の(1)の動作により格納された特定の領域
を参照することにより割込原因を識別し、それに対する
処理を行なうが、割込まれたプログラム人が使用してい
た各種レジスタの内容はすでに(2)の動作により退避
領域に退避格納されているので、以後のプログラムにお
いてはこれらのレジスタを自由に使用できる。こうして
、プログラムBの必要な処理が終り、プログラム人を再
開する時点lこなると、上述の退避領域に退避した情報
をプログラムカウンタの内容をも含めて、すべてもとの
レジスタの内容に復帰することにより、中断されたプロ
グラムAは正確に中断された時点の状況を再現するので
、その点から再び処理を続行することができる。かくし
て、割込みの場合のプログラム間の移行が円滑に行なわ
れることになる。
しかしながら、この従来方式には以下に述べるような欠
点がある。
すなわち、一般にレジスタの内容を主記憶装置に退避す
るには比較的長い時間を特徴とする特に、使用するレジ
スタの数が多い場合にはこれを退避するのに要する時間
が無視できない。一方、割込まれたプログラム人は必ら
ずしも各レジスタの内容を復元しなくてもよい場合があ
る。例えばプログラム人がアイドルループであって、レ
ジスタ類を扱っていない場合にはレジスタ類を復元しで
も無意味である。ところが、従来方式においてはプログ
ラム人の種類番こ無関係に、上述の(2)の処理を行な
っている。このため、プログラムで使用できるレジスタ
類などの退避すべき情報が多くなればなるほど、この無
意味な処理に対する処理時間を増大する結果となる。こ
れは411と処理効率を重視する情報処理システムにお
いては好ましくな   iい。           
              1本発明の目的は上述の
従来の欠点を除去するにある。
本発明の方式は割込みによりプログラムが中断された場
合の状態情報として割込原因を指定する第1の状態情報
と割込まれたプログラムの状態を復元するために必要な
第2の状態情報とを主記憶装置中に格納することができ
る情報処理装置において、前記第2の状態情報を格納す
べき主記憶装置の領域を指示するポインタを有し、割込
みlが発生したときに前記第1の状態情報を主記憶装置
中の予め定めた特定の領域に格納するととも化前記ポイ
ンタの内容が予め定めた特定の値であるか否かに応答し
て前記第2の状態情報を前記ポインタで指示される主記
憶装置の領域に格納するか否かをきめるように制御する
制御手段を有する。
つぎに−面を参照して本発明の詳細な説明する。
第1図を参照すると、本発明の一実施例は、中央処理装
置(以下CPLJ)1と主記憶装置(以下MM)2とを
含み、さ引こCPUIは制御部10、プログラムカウン
タ11.複数のレジスタ 12−1〜12−Nからなる
レジスタファイル12および退避アドレスポインタ13
を備えており、また。
MM2の中には割込みが生じた場合にプログラムに前記
レジスタファイル12の内容および前記プログラムカウ
ンタ11の内容を退避格納するための退避領域21とを
含んでいる。
さて、本実施例の動作は下記の通りである。
最初、プログラムXによる処理が進行中であったと仮定
する。この状態における退避アドレスポインタ13の内
容は、後述するように、このプログラムXがモニタプロ
グラム(O8:オペレーシlンソフトウエア)によって
起動されたときに、このモニタプログラムによってセッ
トされた値を保持しているが、これは次のようになって
いる。
じた場合番ここれらのレジスタの内容を退避する必要が
あるプログラムである場合には、退避アドレスポインタ
13の内容はこのプログラムXに対するプログラムコン
トロールブロック(以後PCB)を指示するポインタと
なっている。このPCBとは、MM2中の退避領域21
の中に、各プログラム対応に設けたメモリ領域であって
、対応するプログラムに対するレジスタファイル12お
よびプロクラムカウンタ11の内容を退避するための退
避域と、対応するプログラムを起動する場合に起動情報
として用いるプログラムステータスワード(以後psw
)を格納するための格納域とを含んでいる。なお、との
PSWは、対応するプログラムが欠番こ起動するときの
プログラム開始番地を指示する情報を含むが、このプロ
グラムが割込によって中断された場合のPSWのその値
には、プログラムカウンタ11の退避された内容をその
まま用いることができる。
さて、プログラムXがこれに反してレジスタファイル1
2を全く使用せず、あるいは使用してもその内容を全く
退避復帰する必要のないプログラムである場合には、こ
の退避アドレスポインタ13の内容として0が格納され
ている。
このように、プログラムによって、レジスタファイル1
2およびプログラムカウンタ11の退避復帰をする型の
プログラムと、これを行なわない型のプログラムとに分
れるが、このおのおのの型を区別するための情報として
、各プログラムごとに対応する前記PCBの中に、退避
モードピットフィールドが設けられており、ここに退避
モードビットとして、前者の型のプログラムに対しては
“l”が、後者の聾のプログラムに対しては′0”が格
納されている。
退避アドレスポインタ13の内容をチェックし、これが
O以外の値を有する場合には、このポインタ13で指示
されるMMZ中の領域にレジスタファイル12およびプ
ログラムカウンタ11の内容を転送格納する。上述の説
明で明かなように、とれによってレジスタファイル12
およびプログラムカウンタ11の内容は、このプログラ
ムXのP    表CBの中の前記退避域に正しく退避
されたことに    1′なる。
またもし、ポインタ13の内容が0の場合には、制御部
10は上述の転送格納は行なわない。
さて、上述の処理とともに制御部IOは、MMz中の前
記特定領域20の中にプログラムカウンタ11の内容お
よびこの割込が発生した原因となった情報とを格納する
MM2の前記特定領域20は、第2図に示すように、予
め定めたメモリアドレスの割付けがなされている。すな
わち、本実施例においては、割込みは大別して■10(
入出力)割込みグループ、モニターコール割込みグルー
プ、ハードウェアエラー割込みグループ、プログラムエ
ラー割込みグループ等の複数の割込みグループにグルー
プ分けされているが、この各グループ対応に、第2図に
示すように、それぞれ割込制御用ワード20−1−人〜
Dが割付けられている。これら各制御用ワード2O−1
−A−Dは、第3図に示すように、オールドプログラム
カウンタフィールド(以後0LDPC)、割込原因情報
フィールド(INTO゛−RG)およびシュつプログラ
ムカウンタフィールド(以後NEWPC)を含んでいる
さらにまた、特定領域20には、第2図に示すように、
後述する退避アドレスポインタ用ワードを一時格納する
ための共通領域として、ポインタデータロケージ曹ン2
0−2の割付けがなされている。
さて、前記割込みが例えばI10割込みの一種であるタ
イマ割込みの場合には以下のようになる。
割込が発生した時点のプログラムカウンタ11の内容(
これは割り込まれたプログラムXが次に行うべき命令の
MM2におけるメモリアドレスを指定する)は、制御部
lOにより、I10割込みグループ番こ対応して設けた
制御用ワード 2O−1−Aの0LDPCに格納される
。またこの割込みの発生原因番どなった情報(現在の例
ではこれがタイマ割込みであるという情報)は制御部1
0によって制御用ワード20−1−人の割込原因情報フ
ィールド(INTORG)K格納される。つぎに、制御
部10は同じ制御用ワード2O−1−AのNgwpcの
内容をプログラムカウンタ11にロードすることにより
、I10割込みグループを処理するモニタプログラム(
O8:オペレーシ■ンソフトウェア)にジャンプする。
このI10割込み処理用のモニタプログラムは、対応す
る制御用ワード2O−1−Aの割込原因情報フィールド
(工NTORG)を参照することにより、この割基逅生
じた原因を識別し、これに応じて次に起動すべきプログ
ラムを決定する。
現在の例では、モニタプログラムは制御用ワード20−
1−人のINTORGを参照することにより、これがタ
イマメ割込みであることを識別する。そこでモニタプロ
グラムは前記プログラムXの次に行なうべきプログラム
を探し、これを起動することになる。
さて、現在の例では、動作中のプログラムがプログラム
X以外番こはないと仮定する。この場合には、モニタプ
ログラムは次に起動すべきプログラムとしてこのプログ
ラムXを選択する。
こうして起動すべきプログラムXが決定すると、モニタ
プログラムはプログラムXに対する前記P応じて退避ア
ドレスポインタ用ワードを作成し、これを特定領域2o
中の前記ポインタデータロケージ曹ン20−2に格納す
る。すなわち、この退避モードピットが11”の場合に
はこのプログラムXのPCBを指示するポインタの値を
退避アドレスポインタ用ワードとしてロケ−シラン 2
o−2に格納し、また前記退避モードピットの値がo”
の場合には0の値を退避アドレスポインタ用ワードとし
てロケ−シーン2o−2に格納する。
これが終ると、モニタプログラムは、次に、プログラム
Xを起動するためのロードPSWという命令を実行する
Cのロー18W命令は、オペレーションコードフィール
ドのほかにアドレスフィールドを有し、このアドレスフ
ィールドに起動すべきプログラムまず、ポインタデータ
ロケージ欝ン2o−2の    ′内容を退避アドレス
ポインタ13にロートスル。
こうしてロードされたポインタ13の内容が0でない場
合には、ポインタ13の指示するPCBから、そこに退
避格納されているレジスタファイル12の内容をレジス
タファイル12に復帰し、またこのPCBからPSWを
取り出しそこに含まれているプログラム開始番地をプロ
グラムカウンタ11にロードする。
またもし、ロードされたポインタ13の内容が0の場合
には、レジスタファイル12への内容復帰は行なわず、
pswのプログラム開始番地のプログラムカウンタ11
へのロードだけを行う。
以上により、プログラムXは前回中断された状態を正し
く復元して起動されたことになる。
また、それとともに、退避アドレスポインタ13番こは
、起動されたプログラムXに応じて、このプログラムX
が割込みを受けた場合にレジスタファイル12を退避す
る必要のないプログラムである場合には退避アドレスポ
インタ13には0が格納され、またもし、プログラムX
が割込みを受けた場合にレジスタファイル12を退避す
る必要があるプログラムである場合には、ポインタ13
にはプログラムXのためにレジスタファイル12および
プログラムカウンタ11を退避すべき前記PCBを指示
するポインタ値が格納されたことになる。
従って、このようにして起動したプログラムXに割込み
が発生すると、最初に述べたように、制御部10は、退
避アドレスポインタ13が0か否かに従って、レジスタ
ファイル12およびプログラムカウンタ11の否退避・
退避を決定するので、割込まれたプログラムXに応じて
不必要な退避を行なうことなく処理が進行し、従来装置
にみられる処理時間の浪費を除くことができる。
以上のように、本実施例によると、退避アドレスポイン
タ13の内容により、これが0の場合基こは割込発生時
にはレジスタ類の内容の退避を行なわず、またロー18
W命令の実行によるプログラムの起動に際してもレジス
タ類の復帰を行なわず、これに対して、退避アドレスポ
インタ13の内容が0でない場合には割込発生時には該
ポインタの指示する退避領域へレジスタ類の内容を退趙
し、またロードPAW命令の実行によるプログラムの起
動に際しては該ポインタの指示する退避領域からレジス
タ類への内容の復帰を行なうようJと制御することによ
り必要なプログラムに対してだけレジスタ類の退避復帰
を行なうような割込制御方式を提供することができる。
これにより従来装置にみられる、無駄な処理時間の浪費
を除くことができる。
なお、以上の説明において、退避アドレスポインタ13
に0がロードされた場合には、レジスタ類の退避が行な
われず、そのためこのプログラムに対するP8VVの正
しい開始番地が得られないが、この場合には、前記割込
制御用ワード20−1の0LDPCに格納されたプログ
ラムカウンタ11の値をモニタプログラムが解析するこ
とIこより割込まれたプログラムのPSWのメモリアド
レスを求めそこにとの0LDPCの値をPSWの中のプ
ログラム開始番地の内容として格納すればよい。
また、プログラムの種類によっては、レジスタ類を全く
退避・復帰する必要がないばかりでなく、中断されたプ
ログラム番地と無関係に、常に一定の開始番地から開始
させることのできるアイドルループのようなプログラム
があり、このようなプログラムの場合にはPAWの中の
開始番地として、この一定の開始番地を用い、また前記
退避アドレスポインタ用ワードとして0を用いればよい
また、以上の実施例では退避アドレスポインタ13の内
容が0の値をとるとき退避・復帰を行なわないようにし
たが、これは0に限ることなく予め定めた特定の値を用
いてもよい。但し、その値が必要な退避先の値と一致し
ないように選ぶ必要がある。
また、本実施例番とおいては、制御部10は割込発生時
の退避の場合にも、またロードPSW実行時の復帰の場
合化もともに退避アドレスポインタ13の内容により退
避・復帰の実行・否実行を決ドレスポインタ13の内容
により実行・否実行を決定し、復帰の場合lこはPCB
に格納された退避モードピットの値または特定領域20
のポインタデータロケージ叢ン20−2に格納された退
避アドレスポインタ用ワードの値によって復帰の実行・
否実行を決定するようにしてもよい。
以上のように本発明を用いると、割込まれたプログラム
に応じて、このプログラムを復元するための情報を退避
する必要があるプログラムに対してだけ誼情報の退避を
行ない、無駄な処理時間の浪費を防ぐ割込制御方式を提
供することができる。
これにより情報処理装置の高効率化を達成できる。
【図面の簡単な説明】
111図は本発明の一実施例を説明するためのブロック
図、#12図は前記実施例中の特定領域の詳細を示す図
詔よび第3図は前記特定領域中に含才れる割込制御用ワ
ードの詳細を示す図である。 図において l・・・・・・中央処理装置(CPU)、2・・回生記
憶装置(MM)、to・・・・・・制御部、11・・曲
プログラムカウンタ、12・・・・・・レジスタファイ
ル、12−1〜12−N・・・・・・レジスタ、13・
・・・・・退避アドレスポインタ、20・・・・・・特
定領域、21・・・・・・退避領域。 代理人 弁理士  内 原   音 第 1 @ 第ど渕 第3回

Claims (1)

    【特許請求の範囲】
  1. 割込みによりプログラムが中断された場合の状態情報と
    して割込原因を指定する第1の状態情報と割込すれたプ
    ログラムの状態を復元するために必要な第2の状態情報
    とを主記憶装置中に格納することができる情報処理装置
    において、前記第2の状態情報を格納すべき主記憶装置
    の領域を指示するポインタを有し、割込みが発生したと
    き1ζ前記第1の状態情報を主記憶装置中の予め定めた
    特定の領域に格納するとともに前記ポインタの内容が予
    め定めた特定の値であるか否かに応答して前記第2の状
    態情報を前記ポインタで指示される主記憶装置の領域に
    格納するか否かをきめるように制御する制御手段を有す
    ることを特徴とする割込制御方式。
JP2541882A 1982-02-18 1982-02-18 割込制御方式 Granted JPS58142451A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2541882A JPS58142451A (ja) 1982-02-18 1982-02-18 割込制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2541882A JPS58142451A (ja) 1982-02-18 1982-02-18 割込制御方式

Publications (2)

Publication Number Publication Date
JPS58142451A true JPS58142451A (ja) 1983-08-24
JPS6212535B2 JPS6212535B2 (ja) 1987-03-19

Family

ID=12165390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2541882A Granted JPS58142451A (ja) 1982-02-18 1982-02-18 割込制御方式

Country Status (1)

Country Link
JP (1) JPS58142451A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132368A (ja) * 1986-11-21 1988-06-04 Nec Corp マルチプロセサの割込み方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132368A (ja) * 1986-11-21 1988-06-04 Nec Corp マルチプロセサの割込み方式

Also Published As

Publication number Publication date
JPS6212535B2 (ja) 1987-03-19

Similar Documents

Publication Publication Date Title
JP3253303B2 (ja) コンテキスト切り換え装置及び方法
US5161226A (en) Microprocessor inverse processor state usage
FI78993C (fi) Oevervakare av driftsystem.
JP2009054083A (ja) プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム
US6820153B2 (en) Interrupt processing and memory management method in an operation processing device and a device using the same
JP2003058381A (ja) プログラムによる例外処理設定を可能にしたプロセッサ
JPS58142451A (ja) 割込制御方式
EP0223463A2 (en) Multiprocessor data processing system
JP2002312302A (ja) 周辺装置
JPS59218569A (ja) マイクロ・コンピユ−タ
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
JP2005071141A (ja) スタック管理方法及び装置並びにスタック管理プログラム
JPS59144955A (ja) 情報処理装置
JPS62125437A (ja) 付加プロセツサの制御方法
JPS6380334A (ja) マイクロプロセツサ
JPH03182945A (ja) 主記憶内データ転送方式
JPH0784786A (ja) プログラム実行制御方法
JPS6227413B2 (ja)
JPH0612500A (ja) マイクロプロセッサ
JPH05298119A (ja) マイクロプロセッサのコンテキストスイッチ機構
JPH06110707A (ja) 高優先度割り込み方法及び該方法が採用されたマイクロプロセッサ
JPH1021117A (ja) プログラム実行制御装置およびプログラム実行制御方法
JP2001084151A (ja) 中央処理装置
JPH0883188A (ja) マルチタスク処理を行う計算機
JPH1124941A (ja) 命令実行制御方法ならびに装置