JPH05113887A - コンピユータシステム - Google Patents

コンピユータシステム

Info

Publication number
JPH05113887A
JPH05113887A JP27428591A JP27428591A JPH05113887A JP H05113887 A JPH05113887 A JP H05113887A JP 27428591 A JP27428591 A JP 27428591A JP 27428591 A JP27428591 A JP 27428591A JP H05113887 A JPH05113887 A JP H05113887A
Authority
JP
Japan
Prior art keywords
interrupt
value
level
mask
task
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
JP27428591A
Other languages
English (en)
Inventor
Rika Okuda
利花 奥田
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
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 filed Critical NEC Corp
Priority to JP27428591A priority Critical patent/JPH05113887A/ja
Publication of JPH05113887A publication Critical patent/JPH05113887A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 リアルタイムオペレーティングシステムのシ
ステムコール処理中の割り込み禁止時間を短縮し割り込
み応答性の向上化を図る。 【構成】 任意の割り込みレベルのビットのみを立てた
指定のマスクデータをシステムテーブル31に登録して
おき、セーブ手段11によりマスクレジスタ21の現在
の割り込みレベル値をシステムテーブル31にセーブ
し、選択マスク手段12によりこのセーブされたマスク
レジスタ21の値と前記指定のマスクデータ値との論理
和をとり、前記指定のマスクデータ値を新しくマスクレ
ジスタ21の値に設定し前記任意の割り込みレベルをマ
スクする。そして、復帰手段13により資源アクセス終
了後にマスクレジスタ21の値をセーブしてある元の値
に戻す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リアルタイムに動作す
るコンピュータシステム(以下、オペレーティングシス
テムという。)に利用され、特に、割り込みの迅速な応
答性を要求されるリアルタイムオペレーティングシステ
ムの資源アクセス中の割り込み制御方式に関する。
【0002】
【従来の技術】従来の、この種の資源アクセス中の割り
込み制御処理方式を、タスクを強制終了するシステムコ
ール終了処理タスク〔外1〕を例にとり、図面を参照し
ながら説明する。
【0003】
【外1】 図6は従来例の要部を示すブロック構成図である。図6
において、10はCPU(中央処理装置)、20は割り
込みレベルを記憶するマスクレジスタ21を有する割り
込みコントローラ、30はメモリ、および40はバスで
ある。
【0004】次に、この従来例の動作について図7に示
すフローチャートを参照して説明する。
【0005】リアルタイムオペレーティングシステムの
タスク、割り込みハンドラのコードとデータはメモリ3
0上にある。システム上にAおよびBの二つのタスクが
登録されている。これらのタスクは、レディ(READ
Y、動作可能)状態、待ち(WAIT)状態、中断(S
USPEND)状態、および休止(DORMANT)状
態の四つの状態を取り得るが、現在の状態はレディ状態
でプライオリティはタスクBの方が高い。タスクBはタ
スクAを強制終了するシステムコール終了処理タスク
(図7のフローチャート)を発行する。割り込みコント
ローラ20のレベル1および2には割り込みハンドラが
割り付けられている。レベル1に対応する割り込みハン
ドラCはシステムコールは発行せず、レベル2に対応す
る割り込みハンドラDはタスクAの状態を中断状態にす
るシステムコール中断処理タスク〔外2〕を発行する。
CPU10は割り込み受け付け可能(EI)状態で、割
り込みコントローラ20のレベル1および2は割り込み
マスクがされていないで、プライオリティはレベル1の
方が高いと仮定する。
【0006】
【外2】 この状態で、プライオリティの高いタスクBが動き出
し、タスクAを強制終了するシステムコール終了処理タ
スクを発行する。図7のステップS21でCPU10に
対し、全てのマスカブル割り込みの受け付けを禁止する
DI命令を発行する。次に、ステップS22でタスクA
の状態を調べて分岐する。ここでレベル1および2の割
り込みが発生したと仮定すると、全てのマスカブル割り
込みは禁止されているため二つの割り込みとも受け付け
られない。従って、タスクAを強制終了させる処理が続
けられ、ステップS23でタスクAのコントロールテー
ブルをレディキューから外し、ステップS25でタスク
Aの状態を休止状態とする。そしてステップS26でC
PU10に対しEIを発行して、全てのマスカブル割り
込みを許可する。ここで、レベル1の割り込みが受け付
けられ、割り込みハンドラCが処理される。ハンドラC
の処理が終わると、レベル2の割り込みが受け付けられ
ハンドラDの処理に移り、システムコール中断処理は
「指定タスクの状態が休止状態である」というエラーを
返して終了する。割り込みハンドラDの処理が終了する
と、タスクAを強制終了させる処理の続きが再開し、ス
テップS27でコントロールテーブルの内容を初期化す
る。
【0007】このように資源をアクセスする間(ステッ
プS22の分岐処理が終わってからステップS26の処
理が終わるまで)、全てのマスカブル割り込みを禁止す
ることにより、同一資源へのアクセスの重複を防いでい
る。
【0008】
【発明が解決しようとする課題】前述した従来のリアル
タイムオペレーティングシステムにおける資源アクセス
中の割り込み制御方式は、ある資源に対するシステムコ
ール処理を発行する割り込みハンドラのみを禁止するこ
とを目的に、割り込みハンドラ全てを禁止している。こ
こで割り込みを禁止する必要があるのは割り込みハンド
ラの中でシステムコールを発行するものだけである。シ
ステムコールを発行しない割り込みレベルは割り込みを
禁止する必要がない。リアルタイムオペレーティングシ
ステムを使用するような分野では、割り込みの応答性
(割り込み信号が発生してからCPUに受け付けられる
までの時間)が最も重要な性能の一つである。にもかか
わらず、前述した従来の割り込み禁止処理方式はある種
の割り込みを禁止するために、その他全ての割り込みを
不必要に禁止しており、割り込みの応答性を著しく下げ
る欠点があった。
【0009】本発明の目的は、前記の欠点を除去するこ
とにより、システムコール中の割り込み禁止時間を短縮
し割り込みの応答性を向上させたリアルタイムオペレー
ティングシステムを提供することにある。
【0010】
【課題を解決するための手段】本発明は、割り込みレベ
ルを記憶するマスクレジスタを有する割り込みコントロ
ーラと、メモリと、中央処理装置とを備えたコンピュー
タシステムにおいて、前記メモリは、任意の割り込みレ
ベルのビットを立てたマスクデータが登録されたシステ
ムテーブルを含み、前記中央処理装置は、前記マスクレ
ジスタの割り込みレベルの現在の値を前記システムテー
ブル中にセーブするセーブ手段と、このセーブされた割
り込みレベル値と前記システムテーブルに登録されたマ
スクデータ値との論理和をとり前記マスクデータ値を前
記マスクレジスタの新しい割り込みレベル値として設定
し前記任意の割り込みレベルをマスクする選択マスク手
段と、資源アクセス終了後に前記マスクレジスタの値を
セーブしてある元の値に戻す復帰手段とを含むことを特
徴とする。
【0011】
【作用】本発明は、各手段により、システムコールを発
行する割り込みハンドラのレベルのビットのみ立てたマ
スクデータを持ち、従来、全ての割り込みを禁止してい
た資源アクセスの箇所で、前記のマスクデータを用いシ
ステムコールを発行する割り込みレベルのみマスクする
ように制御を行う。
【0012】従って、従来全ての割り込みを禁止してい
たのに比べ割り込み禁止時間を大幅に短縮することがで
き、割り込みの応答性を向上させることが可能となる。
【0013】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0014】図1は本発明の一実施例を示すブロック構
成図、および図2はそのシステムテーブルの一例を示す
説明図である。
【0015】本実施例は、CPU10aと、割り込みレ
ベルを記憶するマスクレジスタ21を有する割り込みコ
ントローラ20と、メモリ30aと、それらを接続する
バス40とを備えたリアルタイムオペレーティングシス
テムにおいて、本発明の特徴とするところの、メモリ3
0aは、任意の割り込みレベルのビットを立てたマスク
データ31aとマスクレジスタ値セーブ領域31bとを
含むシステムテーブル31を有し、CPU10aは、マ
スクレジスタ21の現在の値をシステムテーブル31の
マスクレジスタ値セーブ領域31bにセーブするセーブ
手段11と、このセーブされたマスクレジスタ21の現
在の値とシステムテーブル31に登録されたマスクデー
タ31aの値との論理和をとりマスクデータ31aの値
をマスクレジスタ21の新しい割り込みレベル値として
設定し前記任意の割り込みレベルをマスクする選択マス
ク手段12と、資源アクセス終了後にマスクレジスタ2
1の値をセーブしてある元の値に戻す復帰手段13とを
含んでいる。なお、図2において31bはマスクレジス
タ値セーブ領域である。
【0016】次に、本実施例の動作例(1)について図
3に示すフローチャートを参照して説明する。
【0017】リアルタイムオペレーティングシステムの
システムが立ち上がり、A、B二つのタスクが登録され
ており、それぞれレディ状態でプライオリティはタスク
Bの方が高いとする。タスクBはタスクAに対してシス
テムコール終了処理タスク(図3のフローチャート)を
発行する。割り込みコントローラ20のレベル1および
レベル2には割り込みハンドラが割り付けられている。
レベル1に対応する割り込みハンドラCはシステムコー
ルは発行せず、レベル2に対応する割り込みハンドラD
はタスクAに対して中断処理タスクを発行する。CPU
10aはEI状態で、割り込みコントローラ20のレベ
ル1およびレベル2は割り込みマスクがされていない
で、プライオリティはレベル1の方が高い。図3システ
ムテーブル31にあるマスクデータ31aは、システム
コールを発行するレベル2の割り込みだけをマスクする
値になっていると仮定する。
【0018】プライオリティの高いタスクBが動き出
し、タスクAに対してシステムコール終了処理タスクを
発行する。図3のステップS1で、割り込みコントロー
ラ20の現在のマスクレジスタ21の値をシステムテー
ブル31のマスクレジスタ値セーブ領域31bにセーブ
する。次に、ステップS2で現在のマスクレジスタ21
の値とマスクデータ31aの値の論理和をマスクレジス
タ21の新しい値とする。
【0019】ここで、レベル1およびレベル2の割り込
みが発生したと仮定すると、レベル1はマスクされてい
ないので割り込みが受け付けられ、処理を行う。ハンド
ラCの処理が終了しても、レベル2の割り込みはマスク
されているので、受け付けられない。タスクAを強制終
了させる処理の続きが再開し、ステップS3でタスクA
の状態はレディ状態なのでステップS4へ分岐し、ステ
ップS4でタスクAのコントロールテーブルをレディキ
ューから外し、ステップS6で状態を休止状態とする。
そして、ステップS7でマスクレジスタ21の値をセー
ブしておいた元の値に戻す。ここで、レベル2の割り込
みが受け付けられ、割り込みハンドラCはタスクAを中
断しようとするが、タスクAの状態は休止状態なので、
対象タスクが休止状態だったというエラーコードを持っ
て終了する。割り込み処理が終わると、タスクAを強制
終了させる処理の続きが再開し、ステップS8でコント
ロールテーブルの初期化を行う。
【0020】以上のようにして、システムコール処理お
よび割り込み処理が行われる。
【0021】次に、本実施例の動作例(2)について図
4および図5を参照して説明する。
【0022】この動作例(2)においては、システムテ
ーブルとして図4に示すシステムテーブル32を使用す
る。動作例(2)ではマスクデータが資源の種類別に分
かれており、図4に示すように、システムテーブル32
は、フラグをアクセスする割り込みのマスクデータ32
a、セマフォをアクセスする割り込みのマスクデータ3
2b、メールボックスをアクセスする割り込みのマスク
データ32c、タスクをアクセスする割り込みのマスク
データ32d、タイマーをアクセスする割り込みのマス
クデータ32e、およびマスクレジスタ値セーブ領域3
2fを含んでいる。
【0023】リアルタイムオペレーティングシステムの
システムが立ち上がり、A、B二つのタスクが登録され
ており、それぞれレディ状態でプライオリティはタスク
Bの方が高いとする。タスクBはシステムコール終了処
理タスク(図5のフローチャート)を発行する。割り込
みコントローラ20のレベル1、レベル2およびレベル
3には割り込みハンドラが割り付けられている。レベル
1に対応する割り込みハンドラCはシステムコールを発
行しない。レベル2に対応する割り込みハンドラDはシ
ステムコール中断処理タスクを発行する。レベル3に対
応する割り込みハンドラEはイベントフラグをセットす
るシステムコールセットフラグ(〔外3〕)を発行す
る。CPUはEI状態で、割り込みコントローラ20の
レベル1、レベル2およびレベル3は割り込みマスクが
されていないで、プライオリティはレベル1、レベル
2、レベル3の順に高い。フラグをアクセスする割り込
みレベルのマスクデータ32a(図4)の値はレベル3
のビットを立てた値で、タスクをアクセスする割り込み
レベルのマスクデータ32d(図4)はレベル2のビッ
トを立てた値になっていると仮定する。
【0024】
【外3】 プライオリティの高いタスクBが動き、タスクAに対し
てシステムコール終了処理タスクを発行する。図5のス
テップS11で現在のマスクレジスタ21の値をシステ
ムテーブル32中のマスクレジスタ値セーブ領域32f
にセーブする。次に、ステップS12でタスクをアクセ
スする割り込みのマスクデータ32dを選択する。そし
て、ステップS13で現在のマスクレジスタ21の値と
マスクデータ32dの値との論理和をとり、その結果を
新しくマスクデータ値とする。
【0025】ここでレベル1、レベル2およびレベル3
の割り込みが発生したと仮定すると、プライオリティの
一番高いレベル1はマスクされていないので割り込みが
受け付けられ、処理を終える。2番目のプライオリティ
の高いレベル2の割り込みはマスクされているため割り
込みが受け付けられない。レベル3はマスクされていな
いので割り込みが受け付けられ、システムコールセット
フラグを発行し、処理を終える。割り込み処理が終わる
と、タスクAを強制終了させる処理の続きが再開し、ス
テップS14でタスクAの状態がレディ状態なのでステ
ップS15へ飛び、ステップS15でタスクAのコント
ロールテーブルをレディキューから外し、ステップS1
7でタスクAの状態を休止状態にする。そして、ステッ
プS18でマスクレジスタ21の値をセーブしておいた
元の値に戻す。
【0026】ここで、ステップS16でレベル2の割り
込みが遅延して受け付けられ、割り込みハンドラCはタ
スクAを中断しようとするが、タスクAの状態は休止状
態なので、対象タスクが休止状態だったというエラーコ
ードを持って終了する。割り込み処理が終わると、タス
クAを強制終了させる処理の続きが再開し、ステップS
19でタスクのコントロールテーブルを初期化する。
【0027】
【発明の効果】以上説明したように本発明は、システム
コール処理で資源をアクセスする際に、システムコール
を発行する割り込みレベルのみを前述のマスクデータを
用いてマスクすることにより、システムコールを発行し
ない割り込みレベルに対して、割り込みの応答遅延時間
が0になり、リアルタイムオペレーティングシステムに
とって一番大切な性能である割り込みに対する応答性が
非常によくなる効果がある。
【0028】また、ハンドラ中で発行するシステムコー
ルのアクセスする資源別にマスクデータを細かく分けれ
ば、システムコールを発行する割り込みレベルの中で
も、その資源をアクセスするレベルのみをマスクするの
で、その他のレベルを不必要にマスクせず、割り込みの
応答性がさらによくなる効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例の要部を示すブロック構成
図。
【図2】そのシステムテーブルの一例を示す説明図。
【図3】その動作例(1)を示すフローチャート。
【図4】そのシステムテーブルの他の例を示す説明図。
【図5】その動作例(2)を示すフローチャート。
【図6】従来例を示すブロック構成図。
【図7】その動作を示すフローチャート。
【符号の説明】
10、10a CPU 11 セーブ手段 12 選択マスク手段 13 復帰手段 20 割り込みコントローラ 21 マスクレジスタ 30、30a メモリ 31、32 システムテーブル 31a、32a〜32e マスクデータ 31b、32f マスクレジスタ値セーブ領域 40 バス S1〜S8、S11〜S19、S21〜S27 ステ
ップ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 割り込みレベルを記憶するマスクレジス
    タを有する割り込みコントローラと、メモリと、中央処
    理装置とを備えたコンピュータシステムにおいて、 前記メモリは、任意の割り込みレベルのビットを立てた
    マスクデータが登録されたシステムテーブルを含み、 前記中央処理装置は、前記マスクレジスタの割り込みレ
    ベルの現在の値を前記システムテーブル中にセーブする
    セーブ手段と、このセーブされた割り込みレベル値と前
    記システムテーブルに登録されたマスクデータ値との論
    理和をとり前記マスクデータ値を前記マスクレジスタの
    新しい割り込みレベル値として設定し前記任意の割り込
    みレベルをマスクする選択マスク手段と、資源アクセス
    終了後に前記マスクレジスタの値をセーブしてある元の
    値に戻す復帰手段とを含むことを特徴とするコンピュー
    タシステム。
JP27428591A 1991-10-22 1991-10-22 コンピユータシステム Pending JPH05113887A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27428591A JPH05113887A (ja) 1991-10-22 1991-10-22 コンピユータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27428591A JPH05113887A (ja) 1991-10-22 1991-10-22 コンピユータシステム

Publications (1)

Publication Number Publication Date
JPH05113887A true JPH05113887A (ja) 1993-05-07

Family

ID=17539521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27428591A Pending JPH05113887A (ja) 1991-10-22 1991-10-22 コンピユータシステム

Country Status (1)

Country Link
JP (1) JPH05113887A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297581A (ja) * 1995-02-28 1996-11-12 Nec Corp リアルタイム・オペレーティングシステムにおける割り込み管理方式
WO2001042918A1 (fr) * 1999-12-07 2001-06-14 Matsushita Electric Industrial Co., Ltd. Procede et dispositif de gestion d'interruption
JP2008046697A (ja) * 2006-08-11 2008-02-28 Fujitsu Ltd データ処理ユニット、およびこれを使用したデータ処理装置
US7836291B2 (en) 2006-02-06 2010-11-16 Samsung Electronics Co., Ltd. Method, medium, and apparatus with interrupt handling in a reconfigurable array
JP2013190930A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ
JP2013190929A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297581A (ja) * 1995-02-28 1996-11-12 Nec Corp リアルタイム・オペレーティングシステムにおける割り込み管理方式
WO2001042918A1 (fr) * 1999-12-07 2001-06-14 Matsushita Electric Industrial Co., Ltd. Procede et dispositif de gestion d'interruption
US6820155B1 (en) 1999-12-07 2004-11-16 Matsushita Electric Industrial Co., Ltd. Interruption managing device and interruption managing method
US7836291B2 (en) 2006-02-06 2010-11-16 Samsung Electronics Co., Ltd. Method, medium, and apparatus with interrupt handling in a reconfigurable array
JP2008046697A (ja) * 2006-08-11 2008-02-28 Fujitsu Ltd データ処理ユニット、およびこれを使用したデータ処理装置
JP2013190930A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ
JP2013190929A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ

Similar Documents

Publication Publication Date Title
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
US7734881B2 (en) Adapting RCU for real-time operating system usage
US6553487B1 (en) Device and method for performing high-speed low overhead context switch
JP3699806B2 (ja) 割込みコントローラ及び制御システム
US7225446B2 (en) Context preservation
US6108744A (en) Software interrupt mechanism
JPH05113887A (ja) コンピユータシステム
JPH02300939A (ja) セマフォオペレーション方式
JPH11282815A (ja) マルチスレッド計算機システム及びマルチスレッド実行制御方法
TWI676935B (zh) 處理中斷優先級的電路系統
JPH08297581A (ja) リアルタイム・オペレーティングシステムにおける割り込み管理方式
EP1233340A2 (en) Context preservation
JPH05250188A (ja) プロセスのプライオリティ制御方式
JPH06119190A (ja) タスク切替処理方式
JPS6125249A (ja) 排他制御方式
JPH0612394A (ja) プロセススケジュール方式
JPS62243032A (ja) 情報処理装置
JPH0495137A (ja) オペレーティングシステムのコンテキスト切替方式
JP2822728B2 (ja) コンピュータシステム
JP2607595B2 (ja) キューイングテーブル検索方式
JPH02173828A (ja) 割込み処理方式
JPH03116335A (ja) 非特権cpuから特権cpuヘの乗り移り方式
JPH0391055A (ja) ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置
JPS62274446A (ja) 計算機システムにおける非常駐プログラムのロ−ド方式
JPH05241861A (ja) オペレーティングシステムの空きメモリ管理方式