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
Application number
JP25035986A
Other languages
English (en)
Inventor
Kunio Tanaka
久仁夫 田中
Kazuhiko Morizaki
和彦 森嵜
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP25035986A priority Critical patent/JPS63104145A/ja
Publication of JPS63104145A publication Critical patent/JPS63104145A/ja
Pending 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task 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)ディスパッチ処
理などがある。
〈発明が解決しようとする問題点〉 しかして、上述したような一連の処理を行うタイマ割込
処理ルーチン自体はかなりの処理時間を要するので、割
込間隔が短いと実際のジョブの処理時間が短くなり実処
理に対するオーバーヘッドが大きくなってしまう。逆に
、オーバーヘッドを小さくするため割込間隔を長くする
と入力に対する出力制御の応答性が悪化するなどの影響
が出る。
本発明は、かかる従来技術の欠点に鑑みなされたもので
、タスク切替の割込の間隔を短くして良好な応答性を確
保しながら実処理のオーバーヘッドを小さくできろタス
ク切替のタイマ割込処理方法re提供することを、その
目的とする。
〈問題点を解決するための手段〉 第1図は本発明に係るタスク切替の割込処理方法を具現
したコンピュータシステムを示す構成図でアリ、図中、
10はシステムバス、12〜16はIlo、18はプロ
セッサ、20はシステムメモリ、22はタイマである。
く作用〉 タスク切替時に必要とされる複数の割込処理内容のそれ
ぞれに割込回数を対応させておき、タイマ割込の発生回
数が所定の割込処理内容に応じた割込回数になった時、
該割込処理内容を実行することを特徴とするタイマ割込
処理方法。
〈実施例〉 以下、本発明の一実施例に従って説明する。
第1図はタイマ割込によりタスク切替を行ってマルチタ
スク処理を行うコンピュータシステムの概略構成図であ
り、システムバス10に3つのIlo  12.14,
16と、プロセッサ18、システムメモリ20.タイマ
22などが接続されている。
各T10 12,14,16にはそれぞれ種々の入出力
対象が接続されており、プロセッサ18により、入力対
象からデータが取込まれ、所定の演算や判断などの処理
が行われて各出力対象に処理結果が出力されるようにな
っている。
プロセッサ18はシステムメモリ20に格納されたシス
テムプログラムに従い、各タスクを実行すると共に、タ
イマ割込によりタスク切替を行い、かつ所定の割込処理
内容を実行するようになっている。
プロセッサ18にはタイマ22が接続されており、タイ
マ22で設定された一定時間間隔毎に71−ド的な割込
が掛けられろようになっている。
そして、予め複数の割込処理内容のそれぞれに割込回数
を対応させておき、所定の割込処理内容に応じた割込回
数の八−ド割込が掛かったところで該割込処理内容が実
行されるようになっている。
このタスク切替のタイマ割込処理内容としては、(1)
システムタイムの更新処理 (2)ポーリングが必要なIloに対するポーリング処
理 (3)旧タスク情報の退避処理 (4)タスクのタイムアウト処理(旧タスクの休眠)(
5)タスクのタイムアツプ処理(新タスクの起動)(6
)実行層先度により新タスクの選択を行うディスバッチ
処理などがある。すなわち、タイマ割込処理は複数の割
込処理内容(フェーズ)として単位別に分割されており
、個別の処理ルーチンが形成されている。
そして、各フェーズの処理は必ずしもタスク切替時に全
て実行する必要がないことに鑑み、各フェーズの処理の
必要度に従い各フェーズに対応させて何回のタイマ割込
があったとき1口実行すればよいのかの実行周期(割込
回数)が予め登録されている。
具体的には第2図に示す割込制御テーブルがシステムメ
モリ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)がセットされている
ものとする。
今プロセッサ18が所定のタスクの処理をスタート後、
タイマ22からハードタイマ割込が掛かったとき、第3
図(a)のフローに従い、まず、予めPの値がセットさ
れたNカウンタをデクリメントする(ステップ100)
次に、Nカウンタの計数値Nが零か判定し、NOのとき
はタイマ割込処理を行うことなく現タスクの処理を継続
する(ステップ102)。
タイマ22からP回の割込があったところでステップ1
02の判断がYESとな堕、プロセッサ18はソフト上
の割込を生じタスク切替を行うためのフロー(第3図(
b))へ移る。
はじめに、プロセッサ18はNカウンタの計数値をN=
Pとしたあと、K=1とし、予めm (K)の値がセッ
トされたM (K)カウンタの計数値M’  (K)を
デクリメントしM’  (K)が零か判定する(ステッ
プ104〜110)。
ここでフェーズ1に、例えばシステムタイムの更新処理
ルーチンが当てられており、予めソフト割込回数が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
)。
ここでフェーズ2に、例えばポーリングが必要なIlo
に対する処理ルーチンが当てられており、予め割込回数
m(2)=4となっているとき、ステップ110の判定
ではNOとなり、また、ステップ112へ移る。
そして、Kが更にインクリメントされ、Q+1と同じか
判定されたのち、再びステップ108へ戻り、予めm(
3)の値がセットされたフェーズ3に係るM(3)カウ
ンタの計数値M’  (3)をデクリメントしM’  
(3)が零か判定する。
フェーズ3が、例えば各タスクの切替毎に必要な旧タス
ク情報の退避を行う処理ルーチンのとき、予めm (3
)=1となっているのでM’(3)=0でありステップ
110の判定ではYESとなる。
この際、M (3)カウンタにm(3)=1がセットし
直されたあと、フェーズ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)。
Ju下、riIf1様にしてフェーズ5.フェーズ6に
ついても同様の処理を実行し、タスク切替の割込処理を
終える。
フェーズ6の処理が終わるとKがインクリメントされて
に=Q+1=7となりタイマ割込処理が終了する(ステ
ップ112,114)。
以上のタスク切替割込処理により、その後プロセッサ1
8は次のタスクを実行することになる。
そして、タイマ22が再びP回割込をしたところで、タ
スク切替の割込処理(第3図(b))が実行される。
このようにして、タスク切替の割込処理に際し、各切替
毎に必ず処理しなければならないフェーズについてだけ
所定の順序で実行されるので、タスク切替の割込処理に
要する時間を短くでき、入出力の応答性を良好に保ちな
がら実処理に対するオーバーヘッドを小さくできる(第
4図参照)。
〈発明の効果〉 以上説明した如く、本発明に係るタスク切替のタイマ割
込処理方法によれば、タスク切替に必要とされる割込処
理が複数処理単位に分割され、タスク切替の割込が発生
したとき必要に応じてだ択された1又は複数の処理単位
だけが所定順序で実行されろようにしたので、タスク切
替に要する処理時間を短縮でき、従って、タスク切替間
隔を短くしてコンビニ−クシステムのオーバーヘッドを
小さくできろ。
【図面の簡単な説明】
第1図は本発明に係るコンピュータシステムを示す概略
図、 第2図は第1図中のシステムメモリに格納されたタスク
切替の割込処理に用いる制御テーブル、第3図は割込処
理フローを示す説明図、第4図はプロセッサの実行する
処理順序の概略説明図である。 100.システムバス 12、 14. 16.、  l10 180.プロセッサ 209.システムメモリ 220.タイマ 特許出願人        ファナック株式会社代理人
          弁理士  ms千幹第1図 第2図 第3図 (b) (a)

Claims (1)

    【特許請求の範囲】
  1. タイマ割込処理によりタスクの切替えを行いながらマル
    チタスク処理を実行するコンピュータシステムにおける
    タイマ割込処理方法において、タスク切替時に必要とさ
    れる複数の割込処理内容のそれぞれに割込回数を対応さ
    せておき、タイマ割込の発生回数が所定の割込処理内容
    に応じた割込回数になった時、該割込処理内容を実行す
    ることを特徴とするタイマ割込処理方法。
JP25035986A 1986-10-21 1986-10-21 タイマ割込処理方法 Pending JPS63104145A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305351A (ja) * 2007-06-11 2008-12-18 Renesas Technology Corp ディスパッチ装置

Cited By (1)

* Cited by examiner, † Cited by third party
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) プログラマブル・コントローラ