JPS6212535B2 - - Google Patents

Info

Publication number
JPS6212535B2
JPS6212535B2 JP2541882A JP2541882A JPS6212535B2 JP S6212535 B2 JPS6212535 B2 JP S6212535B2 JP 2541882 A JP2541882 A JP 2541882A JP 2541882 A JP2541882 A JP 2541882A JP S6212535 B2 JPS6212535 B2 JP S6212535B2
Authority
JP
Japan
Prior art keywords
program
interrupt
pointer
save
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.)
Expired
Application number
JP2541882A
Other languages
English (en)
Other versions
JPS58142451A (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
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

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

Claims (1)

    【特許請求の範囲】
  1. 1 割込みによりプログラムが中断された場合の
    状態情報として割込原因を指定する第1の状態情
    報と割込まれたプログラムの状態を復元するため
    に必要な第2の状態情報とを主記憶装置中に格納
    することができる情報処理装置において、前記第
    2の状態情報を格納すべき主記憶装置の領域を指
    示するポインタを有し、割込みが発生したときに
    前記第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 JPS58142451A (ja) 1983-08-24
JPS6212535B2 true 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)

Families Citing this family (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
JPS58142451A (ja) 1983-08-24

Similar Documents

Publication Publication Date Title
JP3253303B2 (ja) コンテキスト切り換え装置及び方法
US6553487B1 (en) Device and method for performing high-speed low overhead context switch
US5809335A (en) Data transfer apparatus capable of handling DMA block transfer interruptions
US6820153B2 (en) Interrupt processing and memory management method in an operation processing device and a device using the same
JPS6212535B2 (ja)
JPS59144955A (ja) 情報処理装置
JP2002312302A (ja) 周辺装置
JPH0219494B2 (ja)
JPS6148743B2 (ja)
JPS6227413B2 (ja)
JP3214557B2 (ja) 入出力制御装置及びdma転送制御方法
JPS6380334A (ja) マイクロプロセツサ
JPH0554141B2 (ja)
JPS62125437A (ja) 付加プロセツサの制御方法
JPS61255440A (ja) プログラム中断制御方式
JPH07152574A (ja) プログラムローディング方式
JPH05298119A (ja) マイクロプロセッサのコンテキストスイッチ機構
JPS62276634A (ja) 仮想計算機システム
JPS61226820A (ja) 復電によるデ−タ処理再開方式
JPH09160786A (ja) マイクロプロセッサ
JPH0713921A (ja) Dmaコントローラ装置
JPH0216652A (ja) ミッシングページ処理方式
JP2003076559A (ja) 情報処理装置
JP2000010908A (ja) Dmaコントローラ
JPH02133849A (ja) 受信データ転送処理方式