JPH0266632A - 割込み制御方式 - Google Patents

割込み制御方式

Info

Publication number
JPH0266632A
JPH0266632A JP21626988A JP21626988A JPH0266632A JP H0266632 A JPH0266632 A JP H0266632A JP 21626988 A JP21626988 A JP 21626988A JP 21626988 A JP21626988 A JP 21626988A JP H0266632 A JPH0266632 A JP H0266632A
Authority
JP
Japan
Prior art keywords
interrupt
task
trap
instruction
flag
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.)
Pending
Application number
JP21626988A
Other languages
English (en)
Inventor
Katsuto Nakajima
克人 中島
Hideo Kawai
川合 英夫
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP21626988A priority Critical patent/JPH0266632A/ja
Publication of JPH0266632A publication Critical patent/JPH0266632A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、情報処理装置の割込み制JK方弐に係り、
特に割込み禁止を解除する際の制御に関するものである
〔従来の技術〕
第5図は情報処理装置の概略構成図である。図において
、1は情報を入力するキーボード等の入力装置、2は情
報を格納する主記憶装置、3は情報を出力するCRT等
の出力装置、4は主記憶装置2の情報により演算を行う
演算装置を示し、56.7はいずれもデータの流れを示
す。
このような情報処理装置の割込み制御方式において、割
込み禁止と割込み禁止の解除とは、主記憶装置2に格納
された計算機プログラムにより、演算装置4内の割込み
マスクレジスタに禁止又は解除に対応するマスク値を書
き込むことによって行ワレテイル。例としては、rME
LcOM−COSMO700S・700■システム説明
書」 (命令線)(三菱電機)のP、146.148.
149に割込み禁止と割込み禁止解除命令の仕様が示さ
れている。
また、「オペレーティング・システム」 (マサチュー
セッツ工科大学マドニック/トノパン著筑波大学教授池
田克夫訳9日本コンピュータ協会)のP、99に割込み
禁止と割込み禁止解除命令の実際の使用例が示されてい
る。
第6図は従来の割込み制御方式を用いた情報処理装置に
おける割込み制御部の回路構成図である。
図中8は演算装置4内の割込みマスクレジスタ、9は割
込み判定回路、IOは主記憶装置2内に格納された割込
み制御を行う計算機プログラムである。また、11は計
算機プログラム10が割込みマスクレジスタ8にデータ
を書き込む動作を示し、12は割込みマスクレジスタ8
が保持しているデータの割込み判定回路9への流れを示
し、13は割込み判定回路9への割込み要求信号を示す
通常、情報処理装置では、プログラムはタスクと称され
る単位で実行されるが、動作の論理的な整合性を保つた
めに、そのタスクのある部分を実行中には割込みを禁止
して、割込みによるタスク切換えが生じないようにした
い場合がある。そのために通常用意されている機械命令
が割込み禁止(inhibit−interrupt)
命令であり、本命令が呼び出された後には割込み禁止状
態となり、割込みによるタスク切換えは起こらない。ま
た、割込み禁止状態を解除する機械命令が割込み禁止解
除(allow−interrupt)命令である。
第7図は、従来の割込み制御方式における割込み禁止命
令の実現手順を示したフローチャートである。図におけ
るステップ14では演算装置4内の割込みマスクレジス
タ8に割込みを禁止する値を書き込む。従って、これ以
降に割込みが発生しても、割込み判定回路9によって割
込みが受けつけられず、割込み禁止状態となる。
第8図は、従来の割込み制御方式における割込み禁止解
除命令の実現手順を示したフローチャトである。図にお
けるステップ15では割込みマスクレジスタ8の割込み
禁止のマスクをリセットする。従って、これ以後に割込
みが発生すると割込みが受けつけられ、タスク切換えが
行われる。
第9図は割込み禁止命令(inhibit−inter
rupt)と割込み禁止解除命令(alloin−in
terrupt)を用いた計算機プログラムの一例であ
る。本プログラムは、18の処理1と19の処理2とを
割込み禁止状態で実行するProgram 1というプ
ログラムを記述した例である。
図中16は、このプログラムの名前を示し、このプログ
ラムが実行されるとまず1nhtbit−4nterr
upt命令17が呼ばれて割込み禁止状態となり、次に
18の処理lと19の処理2とが実行され、それらが終
了するとallow−interrupt命令20が呼
ばれて割込み可能な状態となる。また、21はこのプロ
グラムの終了を示す。
〔発明が解決しようとする課題〕
しかしながら、上記のような従来の割込み制御方式では
、割込み禁止状態のタスクを実行中にトラップが生じた
場合、以下に述べるような問題点があった。
なお、ここでいうトラップとは、計算機プログラムの実
行に同期してマイクロプログラムからソフトウェアに知
らされるものであり、一般に情報処理装置にとって重要
な事象がマイクロプログラムによって検出されたときに
発生するものである。
例えば、タスクごとにそのタスクで消費できるメモリ量
の上限が定められている場合、タスクがこの上限を越え
てメモリを消費しようとしたときには、マイクロプログ
ラムがこの事象を検出し、トラップを発生させる。また
、トラップに対する処理は即座に行われる必要があるた
め、実行中のタスクがたとえ割込み禁止状態であったと
してもトラップは受けつけられる。
このような事象は、計算機プログラムの実行に応じて動
的にメモリを消費してゆく論理型プログラミング言語の
処理系等において、比較的顕著に見受けられる。なお、
トラップは割出しとも呼ばれることがある。
第10図は、割込み禁止区間を含んだ22で示すPro
gram 2という名前の計算機プログラムであり、こ
のプログラムの意図するところは、5w1tch24と
いう変数の値が「0」の状態でこのプログラムを実行し
たときには27の処理1を、そうでなければ29の処理
2をいずれも割込み禁止状態で実行した後、32の処理
3を割込み許可状態で実行し、さらに34の処理4を割
込み禁止状態で実行することである。
まず、5w1tch 24という変数の値がrOJの状
態でこのプログラムが呼び出されると、tnhibit
−interrupt命令23によって割込みマスクレ
ジスタ8に割込みマスク値が書き込まれ、割込み禁止状
態となる。次に加算命令25によって変数5w1tch
24の値に「1」が加えられ、変数5w1tch24の
値は「1」となる。次に分岐命令26により変数5w1
tch24の値が調べられ、この値が「1」のため、2
7の処理1を実行する。27の処理1の終了後減算命令
30によって変数5w1tch24の値から「1コが減
ぜられ、変数5w1tch24の値は「0」となる。次
にallow−interrupt命令31が呼び出さ
れ、割込みマスクレジスタ8の割込みマスク値がリセッ
トされ、割込み許可状態で32の処理3が実行される。
次に、再び1nhibit−interrupt命令3
3により割込み禁止状態となって34の処理4が実行さ
れた後、a l low−in terrup を命令
35によって割込み禁止状態が解除される。
しかし、上記のように計算機プログラムとじての22の
Program 2を実行しているタスク(これをタス
クAと呼ぶ)が27の処理1を実行中に、例えばタスク
Aが消費できるメモリ量の上限を越えてメモリを消費し
ようとした場合は、消費メモリオーバーのトラップが発
生し、このトラップを処理する別タスク(これをタスク
Bと呼ぶ)にタスクが切換えられる。
このとき、タスクBがタスクAの続行をあきらめ、タス
クAを強制的に終結させたとすると、タスクAが実行す
るはずであった22のProgram 2の残りの部分
は実行されなくなる。従って変数5w1tch24に対
する減算命令30も実行されなくなり、変数5w1tc
h24の値は「1」のままになっている。
この状態で第3のタスク(これをタスクCと呼ぶ)がこ
の22のProgram 2を実行すると、変数5w1
tch24の値は「1」のままとなっているため、加算
命令25によって変数5w1tch24の値に「1」が
加えられ、変数5w1tch24の値は「2」となる。
このため、タスクCは分岐命令26により29の処理2
を実行することになり、タスクCの動作はトラップが発
生しなかった場合と異なってしまう。
また、同じようにタスクAが27の処理1を実行中に消
費メモリオーバーのトラップを発生させた場合、このト
ラップを処理するタスクBがタスクAを強制的に終結さ
せずに、タスクAの消費メモリ上限値を一時的に拡大し
てタスクAを続行させたとしても、再びタスクAの消費
メモリオーバのトラップが発生した時点でタスクAが割
込み可能状態である保証はなく、例えば34の処理4を
実行中で再び割込み禁止状態となっている可能性があり
、タスクAを強制的に終結させることはできない。
以上のように、従来の割込み制御方式では、割込み禁止
状態のタスクがトラップを発生させた場合、このタスク
を他のタスクに影響を与えずに強制的に終結させること
ができないという問題点があった。
この発明は上記のような問題点を解消するためになされ
たものであり、割込み禁止状態のタスクが割込み禁止状
態を解除した時点を知ることを可能とすることにより、
割込み禁止状態のタスクがトラップを発生させた場合、
このタスクを他のタスクに影響を与えずに強制的に終結
させることができる割込み制御方式を提供することを目
的とする。
〔課題を解決するための手段〕
この発明に係る割込み制御方式は、トラップを発生させ
るか否かを示すトラップ・フラグ50を演算装置4内に
設け、タスクが割込み禁止解除命令を実行した時点でそ
のトラップ・フラグ50を調べ、トラップ・フラグ50
がオン状態である場合はトラップを発生させ、割込み禁
止状態の解除をソフトウェアに通知することを特徴とす
るものである。
〔作用〕
この割込み制御方式においては、タスクが割込み禁止解
除命令を実行した時点でトラップ・フラグ50がオン状
態であれば、トラップが発生し、ソフトウェアに割込み
禁止状態の解除が通知される。したがって、確実に割込
み禁止が解除された状態でタスクが操作可能となり、他
のタスクに影響を与えるような副作用が残らない。
〔発明の実施例〕
第1図は本発明の一実施例に係る割込み制御方式を用い
た情報処理装置における割込み制御部の回路構成図であ
る。図中、8は演算装置4内に設けられ割込み禁止マス
ク情報を格納する割込みマスクレジスタ、9は割込みで
あるかどうかを判定する割込み判定回路、10は主記憶
装置2内に格納された割込み制御を行うための計算機プ
ログラムであり、また、11は計算機プログラム10が
割込みマスクレジスタ8にデータを書き込む動作を示し
、12は割込みマスクレジスタ8が保持しているデータ
の割込み判定回路9への流れを示し、13は割り込み要
求信号を示しており、以上は前記従来例の同一符号部分
に相当する。50は本実施例において新たに備えられた
もので、割込み禁止解除命令を実行する際に、このこと
をソフトウェアに通知する割込み禁止解除時点通知トラ
ップを発生させるか否かを示すトラップ・フラグであり
、演算装置4内の各タスクに固有のデータ領域(以後タ
スク・コントロール・ブロックと呼ぶ)に設けられてい
る。また、51は計算機プログラム10が上記フラグに
値を書き込んだり、読み込んだりする動作を示している
第2図は、第1図で示した割込み制御部を用いた割込み
禁止解除命令の実現手順を示したフローチャートである
。図中、ステップ52で割込みマスクレジスタ8の割込
み禁止マスクをリセットし、ステップ53では現在実行
中であるタスクのタスク・コントロール・ブロック内の
トラップ・フラグ50がオン状態であるか否かを判定し
、トラップ・フラグ50がオン状態であればステップ5
4でハードウェアが割込み禁止解除時点通知トラップを
発生させ、トラップ・フラグ50がオフ状態であればな
にもしないで処理を終了する。
第3図は、割込み禁止状態のタスクが発生させる可能性
のあるトラップの一つである消費メモリオーバーのトラ
ップを処理するタスクの動作手順を示したフローチャー
トである。このタスクは図中のステップ55で消費メモ
リオーバーのトラップが発生するのを待っており、この
トラップが発生するとタスク切換えによって起動され、
ステップ56で消費メモリオーバーのトラップを発生さ
せたタスクが割込み禁止状態であるか否かを判定し、も
し割込み禁止状態でなければステップ57で消費メモリ
オーバーのトラップを発生させたタスクを強制的に終結
する。また、割込み禁止状態であればステップ58で消
費メモリオーバーのトラップを発生させたタスクの消費
メモリ上限を一時的に拡大し、ステップ59でこのタス
クのタスク・コントロール・ブロック中のトラップ・フ
ラグ50をオン状態とする。そして、再びステップ55
に戻って消費メモリオーバーのトラップが発生するのを
待つ。
第4図は、割込み禁止解除時点通知トラップを処理する
タスクの動作手順を示したフローチャートである。この
タスクは図中のステップ60で割込み禁止解除時点通知
トラップが発生するのを待っており、このトラップが発
生するとタスク切換えによって起動され、ステップ61
でこのトラップを発生させたタスク、すなわち割込み禁
止状態を解除したタスクを強制的に終結させる。
次に、この実施例の動作を詳細に説明する。
第10図は、割込み禁止区間を含む計算機プログラムの
一例であり、従来技術の説明で用いたものと同一のもの
である。この計算機プログラムは、前述したようにこの
計算機プログラムが27の処理1を実行中に消費メモリ
オーバーのトラップを発生させた場合に、従来の割込み
制御方式では対応できなかったものである。
本例において、変数5w1tch24が「0」の状態で
、あるタスク(これをタスクAと呼ぶ)がこの計算機プ
ログラムを実行したとすると、まず1nhibit−i
nterrupt命令23により割込みマスクレジスタ
8に割込み禁止マスクが書き込まれ、次に加算命令25
によって変数5w1tch24の値に「1」が加えられ
、変数5w1tch 24の値は「1」となる。
次に、分岐命令26により変数5w1tch24の値が
「1」であるため、タスクAは27の処理1を実行する
。タスクAが27の処理1を実行中に、タスクAが消費
することのできるメモリの上限を越えてメモリを消費し
ようとすると、消費メモリオバーのトラップが発生し、
タスク切換えによって消費メモリオーバーのトラップを
処理する別タスク(これをタスクBと呼ぶ)が起動され
る。このタスクBの動作は第3図のフローチャートに示
されており、タスクBはステップ56で消費メモリオー
バーのトラップを発生させたタスク、すなわちタスクA
の状態を調べ、タスクAが割込み禁止状態であることか
ら次にステップ58を実行し、タスクへの消費メモリの
上限を一時的に拡大する。
次にステップ59でタスクBはタスクAのタスク・コン
トロール・ブロック中のトラップ・フラグ50をオン状
態とした後、ステップ55で次の消費メモリオーバーの
トラップを待つと同時にタスクAにタスクを切換える。
タスクAは消費メモリの上限が拡大されたため再び実行
を継続し、27の処理1の残りの部分の実行が終了した
後、減算命令30によって変数swi tch 24の
値から「1」を減じ、変数5w1tch24の値は「0
」に戻される。
次にタスクAはa 11ow−i n terrup 
を命令31を実行するが、このときの割込み禁止解除手
順は第2図に示される。タスクAがallow−int
errupt命令31を実行するとステップ52におい
て割込みマスクレジスタ8の割込み禁止マスクがリセッ
トされる。次にステップ53において、タスクAのタス
ク・コントロール・ブロック内のトラップ・フラグ50
を調べ、これがオン状態であるためステップ54でハー
ドウェアが割込み禁止解除時点通知トラップを発生させ
、割込み禁止状態の解除をソフトウェアに通知する。
この割込み禁止解除時点通知トラップにより、今度はこ
のトラップを処理するタスク(これをタスクCと呼ぶ)
にタスクが切換えられる。このタスクCの動作は第4図
のフローチャートに示されており、タスクCはステップ
61においてこの割込み禁止解除時点通知トラップを発
生させたタスク、すなわちタスクAを強制的に終結した
後、ステップ60に戻って次の割込み禁止解除時点通知
トラップの発生を待つ。
このとき、変数5w1tch 24の値はタスクAによ
ってすでにタスクAが第10図の計算機プログラムを実
行する前の状態、つまり「0」に戻されているため、他
のタスクがこの計算機プログラムを実行しても、正常に
動作することができる。
なお、上記実施例では割込み禁止状態で発生した消費メ
モリオーバーのトラップの場合について説明したが、割
込み禁止状態で発生するトラップは、トラップ発生後ト
ラップを発生させたタスクを続行させることのできる性
質のものであれば何でもよく、上記実施例と同様の効果
を奏する。
〔発明の効果〕
以上のように本発明によれば、トラップを発生させるか
否かを示すトラップ・フラグを演算装置内に設け、タス
クが割込み禁止解除命令を実行した時点でそのトラップ
・フラグを調べ、トラップ・フラグがオン状態である場
合はトラップを発生させ、割込み禁止状態の解除をソフ
トウェアに通知するようにしたので、割込み禁止状態の
タスクが割込み禁止状態を解除した時点を知ることがで
き、割込み禁止状態のタスクがトラップを発生させた場
合、このタスクは他のタスクに影響を与えずに強制的に
終結させることができ、したがって確実に割込み禁止が
解除された状態でタスクを操作でき、他のタスクに影響
を与えるような副作用を残さず、精度良い割込み制御を
実施できるという効果が得られる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る割込み制御方式を採
用した情報処理装置における割込み制御部の回路構成図
、第2図はこの実施例に係る割込み制御方式における割
込み禁止解除命令の実現手順を示すフローチャート、第
3図はこの実施例に係る割込み制御方式において割込み
禁止状態で発生したトラップを処理するタスクの動作例
を示すフローチャート、第4図はこの実施例に係る割込
み制御方式において割込み禁止解除時点通知トラップを
処理するタスクの動作例を示すフローチャト、第5図は
情報処理装置の構成図、第6図は従来の割込み制御方式
を採用した情報処理装置における割込み制御部の回路構
成図、第7図は従来の割込み制御方式における割込み禁
止命令の実現手順を示すフローチャート、第8図は割込
み禁止解除命令の実現手順を示すフローチャート、第9
図及び第10図はいずれも割込み禁止命令と割込み禁止
解除命令とを用いた計算機プログラムの一例を示すもの
である。 2・・・主記憶装置(記憶装置)、4・・・演算装置、
8・・・割込みマスクレジスタ、10・・計算機プログ
ラム、50・・・トラップ・フラグ。 特許出願人 工業技術院長  飯 塚 幸 三第2図 躬3図 第9図 矧○口 8.。qrarn I〜16 ρrogrom 2 、22 処理2〜・1つ allow−1ntJerrupt。 艶de−21 、−20 九工¥1627 else α28 処理2 e−29 5w1t、ch = 5w1TJc11− H+30a
llow −:nt、erruptJe−31処理5〜
32 inhibitJ−rncerrupt 〜33路理4
〜ヌ QIIOW−imyerrupt/e−35t6rId
 b−36

Claims (1)

    【特許請求の範囲】
  1. 記憶装置に格納されたプログラムを実行する演算装置内
    に割込みマスクレジスタを備え、呼び出された割込み禁
    止命令又は割込み禁止解除命令に基づき、上記割込みマ
    スクレジスタの割込み禁止マスクをセット又はリセット
    するようにした情報処理装置の割込み制御方式において
    、トラップを発生させるか否かを示すトラップ・フラグ
    を上記演算装置内に設け、タスクが割込み禁止解除命令
    を実行した時点でそのトラップ・フラグを調べ、トラッ
    プ・フラグがオン状態である場合はトラップを発生させ
    、割込み禁止状態の解除をソフトウェアに通知すること
    を特徴とする割込み制御方式。
JP21626988A 1988-09-01 1988-09-01 割込み制御方式 Pending JPH0266632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21626988A JPH0266632A (ja) 1988-09-01 1988-09-01 割込み制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21626988A JPH0266632A (ja) 1988-09-01 1988-09-01 割込み制御方式

Publications (1)

Publication Number Publication Date
JPH0266632A true JPH0266632A (ja) 1990-03-06

Family

ID=16685900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21626988A Pending JPH0266632A (ja) 1988-09-01 1988-09-01 割込み制御方式

Country Status (1)

Country Link
JP (1) JPH0266632A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520097A (ja) * 1991-07-09 1993-01-29 Fujitsu Ltd 情報処理装置
JP2006183215A (ja) * 2004-12-28 2006-07-13 Aderans Co Ltd かつら及びその製造方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56135249A (en) * 1980-03-25 1981-10-22 Fujitsu Ltd Interruption control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56135249A (en) * 1980-03-25 1981-10-22 Fujitsu Ltd Interruption control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520097A (ja) * 1991-07-09 1993-01-29 Fujitsu Ltd 情報処理装置
JP2006183215A (ja) * 2004-12-28 2006-07-13 Aderans Co Ltd かつら及びその製造方法
US7836899B2 (en) 2004-12-28 2010-11-23 Aderans Holdings Co., Ltd. Wig and method of manufacturing the same

Similar Documents

Publication Publication Date Title
JP2005050208A (ja) マルチタスクシステムにおけるメモリ管理方式およびタスク制御装置
JPH0266632A (ja) 割込み制御方式
JP2677458B2 (ja) システムコール実行装置
JP7444610B2 (ja) コンテキスト・データ管理
JP2023151592A (ja) 情報処理装置、及び情報処理装置の動作制御方法
JP2653412B2 (ja) ブレークポイント設定方法
JP2007102399A (ja) データ処理装置
JPS60142744A (ja) 多重言語処理システム
JPS62233844A (ja) 割込み制御方式
JPS623345A (ja) 割込方式
JPH05224894A (ja) オペレーティングシステムの切替え方式
KR20010047483A (ko) 컴퓨터에서의 터치 패드 기능 제어 방법
JPS61180344A (ja) 高級言語のステツプ実行システム
JPS61241843A (ja) 情報処理装置
JPH0340143A (ja) パイプライン方式計算機におけるデバッグ方式
JP2013190929A (ja) マイクロコンピュータ
JPS60246443A (ja) プロシジヤデバツグ支援方式
JPH03292527A (ja) 演算装置
JPS6316336A (ja) タスク切り替え制御機構を備える情報処理装置
JP2002196938A (ja) 例外処理フロー用の装置及びその処理実行方法
JPH06332720A (ja) シグナル制御方法
JPH0150936B2 (ja)
JPH03273349A (ja) アクセス制御方式
JPS62269239A (ja) ジヨブのキヤンセル/中断抑制制御方式
JPH0242538A (ja) マイクロプロセッサ