JPS63104145A - タイマ割込処理方法 - Google Patents
タイマ割込処理方法Info
- Publication number
- JPS63104145A JPS63104145A JP25035986A JP25035986A JPS63104145A JP S63104145 A JPS63104145 A JP S63104145A JP 25035986 A JP25035986 A JP 25035986A JP 25035986 A JP25035986 A JP 25035986A JP S63104145 A JPS63104145 A JP S63104145A
- Authority
- JP
- Japan
- Prior art keywords
- interruption
- processing
- timer
- task switching
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 8
- 238000000034 method Methods 0.000 abstract description 14
- 241000238876 Acari Species 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000004043 responsiveness Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009545 invasion Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明はコンピユークシステムにおけろタイマ割込処理
方法にかかり、とくにマルチタスクのタスク切替を行う
タイマ割込で行うタイマ割込処理方法に関する。
方法にかかり、とくにマルチタスクのタスク切替を行う
タイマ割込で行うタイマ割込処理方法に関する。
〈従来の技術〉
マルチタスク処理におけるタスクの切替がタイマ割込で
行われる場合、タイマで設定した一定時間経過する毎に
タイマ割込が発生し、予め定められたタイマ割込処理ル
ーチンが実行されて、プロセッサの実施するタスクが成
るタスクから別のタスクへと切替えられる。
行われる場合、タイマで設定した一定時間経過する毎に
タイマ割込が発生し、予め定められたタイマ割込処理ル
ーチンが実行されて、プロセッサの実施するタスクが成
るタスクから別のタスクへと切替えられる。
このタイマ割込処理ルーチンの中で実行されろ処理とし
ては通例、(1)システムタイムの更新処理、(2)ポ
ーリングが必要なIloに対する処理、(3)旧タスク
情報の退避処理、(4)タスクのタイムアウト処理、(
5)タスクのタイムアツプ処理、(6)ディスパッチ処
理などがある。
ては通例、(1)システムタイムの更新処理、(2)ポ
ーリングが必要なIloに対する処理、(3)旧タスク
情報の退避処理、(4)タスクのタイムアウト処理、(
5)タスクのタイムアツプ処理、(6)ディスパッチ処
理などがある。
〈発明が解決しようとする問題点〉
しかして、上述したような一連の処理を行うタイマ割込
処理ルーチン自体はかなりの処理時間を要するので、割
込間隔が短いと実際のジョブの処理時間が短くなり実処
理に対するオーバーヘッドが大きくなってしまう。逆に
、オーバーヘッドを小さくするため割込間隔を長くする
と入力に対する出力制御の応答性が悪化するなどの影響
が出る。
処理ルーチン自体はかなりの処理時間を要するので、割
込間隔が短いと実際のジョブの処理時間が短くなり実処
理に対するオーバーヘッドが大きくなってしまう。逆に
、オーバーヘッドを小さくするため割込間隔を長くする
と入力に対する出力制御の応答性が悪化するなどの影響
が出る。
本発明は、かかる従来技術の欠点に鑑みなされたもので
、タスク切替の割込の間隔を短くして良好な応答性を確
保しながら実処理のオーバーヘッドを小さくできろタス
ク切替のタイマ割込処理方法re提供することを、その
目的とする。
、タスク切替の割込の間隔を短くして良好な応答性を確
保しながら実処理のオーバーヘッドを小さくできろタス
ク切替のタイマ割込処理方法re提供することを、その
目的とする。
〈問題点を解決するための手段〉
第1図は本発明に係るタスク切替の割込処理方法を具現
したコンピュータシステムを示す構成図でアリ、図中、
10はシステムバス、12〜16はIlo、18はプロ
セッサ、20はシステムメモリ、22はタイマである。
したコンピュータシステムを示す構成図でアリ、図中、
10はシステムバス、12〜16はIlo、18はプロ
セッサ、20はシステムメモリ、22はタイマである。
く作用〉
タスク切替時に必要とされる複数の割込処理内容のそれ
ぞれに割込回数を対応させておき、タイマ割込の発生回
数が所定の割込処理内容に応じた割込回数になった時、
該割込処理内容を実行することを特徴とするタイマ割込
処理方法。
ぞれに割込回数を対応させておき、タイマ割込の発生回
数が所定の割込処理内容に応じた割込回数になった時、
該割込処理内容を実行することを特徴とするタイマ割込
処理方法。
〈実施例〉
以下、本発明の一実施例に従って説明する。
第1図はタイマ割込によりタスク切替を行ってマルチタ
スク処理を行うコンピュータシステムの概略構成図であ
り、システムバス10に3つのIlo 12.14,
16と、プロセッサ18、システムメモリ20.タイマ
22などが接続されている。
スク処理を行うコンピュータシステムの概略構成図であ
り、システムバス10に3つのIlo 12.14,
16と、プロセッサ18、システムメモリ20.タイマ
22などが接続されている。
各T10 12,14,16にはそれぞれ種々の入出力
対象が接続されており、プロセッサ18により、入力対
象からデータが取込まれ、所定の演算や判断などの処理
が行われて各出力対象に処理結果が出力されるようにな
っている。
対象が接続されており、プロセッサ18により、入力対
象からデータが取込まれ、所定の演算や判断などの処理
が行われて各出力対象に処理結果が出力されるようにな
っている。
プロセッサ18はシステムメモリ20に格納されたシス
テムプログラムに従い、各タスクを実行すると共に、タ
イマ割込によりタスク切替を行い、かつ所定の割込処理
内容を実行するようになっている。
テムプログラムに従い、各タスクを実行すると共に、タ
イマ割込によりタスク切替を行い、かつ所定の割込処理
内容を実行するようになっている。
プロセッサ18にはタイマ22が接続されており、タイ
マ22で設定された一定時間間隔毎に71−ド的な割込
が掛けられろようになっている。
マ22で設定された一定時間間隔毎に71−ド的な割込
が掛けられろようになっている。
そして、予め複数の割込処理内容のそれぞれに割込回数
を対応させておき、所定の割込処理内容に応じた割込回
数の八−ド割込が掛かったところで該割込処理内容が実
行されるようになっている。
を対応させておき、所定の割込処理内容に応じた割込回
数の八−ド割込が掛かったところで該割込処理内容が実
行されるようになっている。
このタスク切替のタイマ割込処理内容としては、(1)
システムタイムの更新処理 (2)ポーリングが必要なIloに対するポーリング処
理 (3)旧タスク情報の退避処理 (4)タスクのタイムアウト処理(旧タスクの休眠)(
5)タスクのタイムアツプ処理(新タスクの起動)(6
)実行層先度により新タスクの選択を行うディスバッチ
処理などがある。すなわち、タイマ割込処理は複数の割
込処理内容(フェーズ)として単位別に分割されており
、個別の処理ルーチンが形成されている。
システムタイムの更新処理 (2)ポーリングが必要なIloに対するポーリング処
理 (3)旧タスク情報の退避処理 (4)タスクのタイムアウト処理(旧タスクの休眠)(
5)タスクのタイムアツプ処理(新タスクの起動)(6
)実行層先度により新タスクの選択を行うディスバッチ
処理などがある。すなわち、タイマ割込処理は複数の割
込処理内容(フェーズ)として単位別に分割されており
、個別の処理ルーチンが形成されている。
そして、各フェーズの処理は必ずしもタスク切替時に全
て実行する必要がないことに鑑み、各フェーズの処理の
必要度に従い各フェーズに対応させて何回のタイマ割込
があったとき1口実行すればよいのかの実行周期(割込
回数)が予め登録されている。
て実行する必要がないことに鑑み、各フェーズの処理の
必要度に従い各フェーズに対応させて何回のタイマ割込
があったとき1口実行すればよいのかの実行周期(割込
回数)が予め登録されている。
具体的には第2図に示す割込制御テーブルがシステムメ
モリ20に格納されている。この制御テーブルには、ハ
ードタイマが何回割込を掛けたとき1回のタスク切替の
割込処理を行うかの1テイツク(tick)のハード割
込数P1ハードタイマの割込回数をカウントダウンする
Nカウンタ、タスク切替のタイマ割込処理内容であるフ
ェーズの数Q1侵先度順に並べたフェーズ1〜Qまで順
に、フェーズ毎に割込回数m(Q ) p tickの
数をカウントダウンするM (Q)カウンタ、缶フェー
ズの処理ルーチンアドレスが格納されている。
モリ20に格納されている。この制御テーブルには、ハ
ードタイマが何回割込を掛けたとき1回のタスク切替の
割込処理を行うかの1テイツク(tick)のハード割
込数P1ハードタイマの割込回数をカウントダウンする
Nカウンタ、タスク切替のタイマ割込処理内容であるフ
ェーズの数Q1侵先度順に並べたフェーズ1〜Qまで順
に、フェーズ毎に割込回数m(Q ) p tickの
数をカウントダウンするM (Q)カウンタ、缶フェー
ズの処理ルーチンアドレスが格納されている。
次に上記実施例の作用につき説明する。
予め、制御テーブルには、P、Q、m(1)〜m (Q
)がイニシャライズ時に所定の値に設定されており、ま
た、Nカウンタ、 M (1)カウンタ〜M (Q)カ
ウンタには計数値N’、M’(1)〜M’ (Q)と
してP、m (1) 〜m (Q)がセットされている
ものとする。
)がイニシャライズ時に所定の値に設定されており、ま
た、Nカウンタ、 M (1)カウンタ〜M (Q)カ
ウンタには計数値N’、M’(1)〜M’ (Q)と
してP、m (1) 〜m (Q)がセットされている
ものとする。
今プロセッサ18が所定のタスクの処理をスタート後、
タイマ22からハードタイマ割込が掛かったとき、第3
図(a)のフローに従い、まず、予めPの値がセットさ
れたNカウンタをデクリメントする(ステップ100)
。
タイマ22からハードタイマ割込が掛かったとき、第3
図(a)のフローに従い、まず、予めPの値がセットさ
れたNカウンタをデクリメントする(ステップ100)
。
次に、Nカウンタの計数値Nが零か判定し、NOのとき
はタイマ割込処理を行うことなく現タスクの処理を継続
する(ステップ102)。
はタイマ割込処理を行うことなく現タスクの処理を継続
する(ステップ102)。
タイマ22からP回の割込があったところでステップ1
02の判断がYESとな堕、プロセッサ18はソフト上
の割込を生じタスク切替を行うためのフロー(第3図(
b))へ移る。
02の判断がYESとな堕、プロセッサ18はソフト上
の割込を生じタスク切替を行うためのフロー(第3図(
b))へ移る。
はじめに、プロセッサ18はNカウンタの計数値をN=
Pとしたあと、K=1とし、予めm (K)の値がセッ
トされたM (K)カウンタの計数値M’ (K)を
デクリメントしM’ (K)が零か判定する(ステッ
プ104〜110)。
Pとしたあと、K=1とし、予めm (K)の値がセッ
トされたM (K)カウンタの計数値M’ (K)を
デクリメントしM’ (K)が零か判定する(ステッ
プ104〜110)。
ここでフェーズ1に、例えばシステムタイムの更新処理
ルーチンが当てられており、予めソフト割込回数がm(
1)=8となっているとき、ステップ110の判定では
Noとなり、ステップ112へ移る。
ルーチンが当てられており、予めソフト割込回数がm(
1)=8となっているとき、ステップ110の判定では
Noとなり、ステップ112へ移る。
モしてKがインクリメントされ、Q+1と同じか判定さ
れたのち(ステップ114)、例えば予めセットされた
Qの値が6のときKf=Q+1なのでステップ108へ
戻り、予めm(2)の値がセットされたフェーズ2に係
るM(2)カウンタの計数値M’ (2)をデクリメ
ントしM’ (2)が零か判定する(ステップ110
)。
れたのち(ステップ114)、例えば予めセットされた
Qの値が6のときKf=Q+1なのでステップ108へ
戻り、予めm(2)の値がセットされたフェーズ2に係
るM(2)カウンタの計数値M’ (2)をデクリメ
ントしM’ (2)が零か判定する(ステップ110
)。
ここでフェーズ2に、例えばポーリングが必要なIlo
に対する処理ルーチンが当てられており、予め割込回数
m(2)=4となっているとき、ステップ110の判定
ではNOとなり、また、ステップ112へ移る。
に対する処理ルーチンが当てられており、予め割込回数
m(2)=4となっているとき、ステップ110の判定
ではNOとなり、また、ステップ112へ移る。
そして、Kが更にインクリメントされ、Q+1と同じか
判定されたのち、再びステップ108へ戻り、予めm(
3)の値がセットされたフェーズ3に係るM(3)カウ
ンタの計数値M’ (3)をデクリメントしM’
(3)が零か判定する。
判定されたのち、再びステップ108へ戻り、予めm(
3)の値がセットされたフェーズ3に係るM(3)カウ
ンタの計数値M’ (3)をデクリメントしM’
(3)が零か判定する。
フェーズ3が、例えば各タスクの切替毎に必要な旧タス
ク情報の退避を行う処理ルーチンのとき、予めm (3
)=1となっているのでM’(3)=0でありステップ
110の判定ではYESとなる。
ク情報の退避を行う処理ルーチンのとき、予めm (3
)=1となっているのでM’(3)=0でありステップ
110の判定ではYESとなる。
この際、M (3)カウンタにm(3)=1がセットし
直されたあと、フェーズ3に係る処理ルーチンアドレス
を参考にしてタスクの切替毎に必要な旧タスク情報の退
避処理を行う(ステップ116゜118)。
直されたあと、フェーズ3に係る処理ルーチンアドレス
を参考にしてタスクの切替毎に必要な旧タスク情報の退
避処理を行う(ステップ116゜118)。
ステップ118の処理が終了したあとKがインクリメン
トされ、次のフェーズ4に関してM(4)カウンタの計
数値N’ (4)をデクリメントしM’ (4)が
零か判定される(ステップ112゜114.108,1
10)。フェーズ4も例えば各タスクの切替毎に必要な
タスクのタイムアウト処理ルーチンのとき予めm(4)
−1となっているのでM’(4)=Oであり、M’(4
)にm(4)=1がセットし直されたあと、フェーズ4
に係る処理ルーチンアドレスを参考にしてタスクのタイ
ムアウト処理を行い現タスクを休眠させる(ステップ1
16,118)。
トされ、次のフェーズ4に関してM(4)カウンタの計
数値N’ (4)をデクリメントしM’ (4)が
零か判定される(ステップ112゜114.108,1
10)。フェーズ4も例えば各タスクの切替毎に必要な
タスクのタイムアウト処理ルーチンのとき予めm(4)
−1となっているのでM’(4)=Oであり、M’(4
)にm(4)=1がセットし直されたあと、フェーズ4
に係る処理ルーチンアドレスを参考にしてタスクのタイ
ムアウト処理を行い現タスクを休眠させる(ステップ1
16,118)。
Ju下、riIf1様にしてフェーズ5.フェーズ6に
ついても同様の処理を実行し、タスク切替の割込処理を
終える。
ついても同様の処理を実行し、タスク切替の割込処理を
終える。
フェーズ6の処理が終わるとKがインクリメントされて
に=Q+1=7となりタイマ割込処理が終了する(ステ
ップ112,114)。
に=Q+1=7となりタイマ割込処理が終了する(ステ
ップ112,114)。
以上のタスク切替割込処理により、その後プロセッサ1
8は次のタスクを実行することになる。
8は次のタスクを実行することになる。
そして、タイマ22が再びP回割込をしたところで、タ
スク切替の割込処理(第3図(b))が実行される。
スク切替の割込処理(第3図(b))が実行される。
このようにして、タスク切替の割込処理に際し、各切替
毎に必ず処理しなければならないフェーズについてだけ
所定の順序で実行されるので、タスク切替の割込処理に
要する時間を短くでき、入出力の応答性を良好に保ちな
がら実処理に対するオーバーヘッドを小さくできる(第
4図参照)。
毎に必ず処理しなければならないフェーズについてだけ
所定の順序で実行されるので、タスク切替の割込処理に
要する時間を短くでき、入出力の応答性を良好に保ちな
がら実処理に対するオーバーヘッドを小さくできる(第
4図参照)。
〈発明の効果〉
以上説明した如く、本発明に係るタスク切替のタイマ割
込処理方法によれば、タスク切替に必要とされる割込処
理が複数処理単位に分割され、タスク切替の割込が発生
したとき必要に応じてだ択された1又は複数の処理単位
だけが所定順序で実行されろようにしたので、タスク切
替に要する処理時間を短縮でき、従って、タスク切替間
隔を短くしてコンビニ−クシステムのオーバーヘッドを
小さくできろ。
込処理方法によれば、タスク切替に必要とされる割込処
理が複数処理単位に分割され、タスク切替の割込が発生
したとき必要に応じてだ択された1又は複数の処理単位
だけが所定順序で実行されろようにしたので、タスク切
替に要する処理時間を短縮でき、従って、タスク切替間
隔を短くしてコンビニ−クシステムのオーバーヘッドを
小さくできろ。
第1図は本発明に係るコンピュータシステムを示す概略
図、 第2図は第1図中のシステムメモリに格納されたタスク
切替の割込処理に用いる制御テーブル、第3図は割込処
理フローを示す説明図、第4図はプロセッサの実行する
処理順序の概略説明図である。 100.システムバス 12、 14. 16.、 l10 180.プロセッサ 209.システムメモリ 220.タイマ 特許出願人 ファナック株式会社代理人
弁理士 ms千幹第1図 第2図 第3図 (b) (a)
図、 第2図は第1図中のシステムメモリに格納されたタスク
切替の割込処理に用いる制御テーブル、第3図は割込処
理フローを示す説明図、第4図はプロセッサの実行する
処理順序の概略説明図である。 100.システムバス 12、 14. 16.、 l10 180.プロセッサ 209.システムメモリ 220.タイマ 特許出願人 ファナック株式会社代理人
弁理士 ms千幹第1図 第2図 第3図 (b) (a)
Claims (1)
- タイマ割込処理によりタスクの切替えを行いながらマル
チタスク処理を実行するコンピュータシステムにおける
タイマ割込処理方法において、タスク切替時に必要とさ
れる複数の割込処理内容のそれぞれに割込回数を対応さ
せておき、タイマ割込の発生回数が所定の割込処理内容
に応じた割込回数になった時、該割込処理内容を実行す
ることを特徴とするタイマ割込処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25035986A JPS63104145A (ja) | 1986-10-21 | 1986-10-21 | タイマ割込処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25035986A JPS63104145A (ja) | 1986-10-21 | 1986-10-21 | タイマ割込処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63104145A true JPS63104145A (ja) | 1988-05-09 |
Family
ID=17206743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25035986A Pending JPS63104145A (ja) | 1986-10-21 | 1986-10-21 | タイマ割込処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63104145A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305351A (ja) * | 2007-06-11 | 2008-12-18 | Renesas Technology Corp | ディスパッチ装置 |
-
1986
- 1986-10-21 JP JP25035986A patent/JPS63104145A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305351A (ja) * | 2007-06-11 | 2008-12-18 | Renesas Technology Corp | ディスパッチ装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6430594B1 (en) | Real-time operating system and a task management system therefor | |
US6167425A (en) | System for implementing a real time control program in a non-real time operating system using interrupts and enabling a deterministic time charing between the control program and the operating system | |
JPS62236006A (ja) | Nc装置の処理方法 | |
JPS63104145A (ja) | タイマ割込処理方法 | |
JPS62145435A (ja) | コンカレント処理命令を有するマイクロプロセツサ | |
WO1990007739A1 (en) | Control method for robot | |
JPH05158710A (ja) | タイマ管理方式 | |
JPS616704A (ja) | プログラマブル・コントロ−ラ | |
JP2000029719A (ja) | 割込制御装置 | |
JPH0683652A (ja) | マイクロコンピュ−タシステム | |
JPH03288906A (ja) | Pcの命令実行方式 | |
JPS63636A (ja) | タスク制御方式 | |
JPS6337433A (ja) | デ−タ処理方式 | |
JPS61226839A (ja) | イベント処理方式 | |
JPH0380304A (ja) | シーケンス処理におけるタイマ,カウンタの処理方法 | |
JPS60241104A (ja) | デイジタル制御装置の演算方法 | |
JP2876629B2 (ja) | データ処理装置 | |
JPH02163834A (ja) | マルチ・タスク処理方式 | |
JPS63170703A (ja) | ロ−ダコマンド処理装置 | |
JP2844624B2 (ja) | データ処理装置 | |
JPS6349941A (ja) | 演算処理装置 | |
JPH0544689B2 (ja) | ||
JPH03137729A (ja) | 先行制御方式 | |
JPS61156307A (ja) | シ−ケンス制御装置 | |
JPH02284206A (ja) | プログラマブル・コントローラ |