JPS6316335A - ソフトウエアタイマの処理方法 - Google Patents

ソフトウエアタイマの処理方法

Info

Publication number
JPS6316335A
JPS6316335A JP61159660A JP15966086A JPS6316335A JP S6316335 A JPS6316335 A JP S6316335A JP 61159660 A JP61159660 A JP 61159660A JP 15966086 A JP15966086 A JP 15966086A JP S6316335 A JPS6316335 A JP S6316335A
Authority
JP
Japan
Prior art keywords
timer
value
timers
counter
processing
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
JP61159660A
Other languages
English (en)
Inventor
Ryoji Ono
良二 大野
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.)
Hitachi Ltd
Hitachi KE Systems Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering 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 Hitachi Ltd, Hitachi Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP61159660A priority Critical patent/JPS6316335A/ja
Publication of JPS6316335A publication Critical patent/JPS6316335A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent

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

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパーソナルコンピュータ等のソフトウェアによ
るタイマの処理方法に係り、特に通信等の時間的な束縛
要因のあるソフトウェアに好適なリフトウエアタイマの
処理方法に関する。
〔従来の技術〕
従来のソフトウェアによるタイ′マの処理方法として、
通常にはタイマR8時にタイムアウト値をカウンタにセ
ットし、一定時間ごとにこのカウンタを一定値ずつ減算
して、カウンタが特定の値になった時にタイムアウトを
報告する方法が用いられる。しかしこの方法はタイマの
数に比例して処理時間が長くなる点について考慮されて
いない。
従来から通常に用いられてきたと考えられる一般的なリ
フトウエアタイマの処理方法の一例を第4図ないし第6
図により説明する。
まず第4図は従来のリフトウエアタイマの処理方法のワ
ークエリアの説明図である。第4図において、41はタ
イマ動作状態設定テーブル、42はカウンタである。い
まタイマの個数の最大値Nとすると、第4図のようにN
個のタイマT1〜Tnのタイマ動作状態設定テーブルT
1〜TnおよびカウンタCNTl〜CNTNのワークエ
リアを持っている。タイマ動作状態設定テーブル41は
該当タイマT1〜TNが動作中であるか否かを記憶する
のに用いられ、カウンタ42は一定時間ごとに加マまた
は減算されである特定の値と比較することによりタイム
アウトの判定をするのに用いられる。
第5図は従来のリフトウエアタイマの処理方法のタイマ
登録フローチャートである。第5図において、いま最大
値N個のタイマT1〜TNのうちのn番目のタイマTn
を起動するものとすると、第5図のフローのようにカウ
ンタ値を第4図のカウンタ42の該当カウンタCN T
 nにセットしくステップ51)、さらに第4図のタイ
マTnが動作中であることを示すタイマ動作状態設定テ
ーブル41の該当テーブルTnのタイマ動作中フラグを
セットする(ステップ52)。このようにタイマ登録を
してぢいて、一定時間ごと起動されるタイマ処理のメイ
ンルーチンによりタイマ処理を実行する。
第6図は従来のリフトウエアタイマの処理方法のタイマ
処理フローチャートである。第6図において、最大値N
個の1番目〜N番目のタイマT1〜TNのすべてをチェ
ックするためにn番目のnを変数としてn=1〜Nまで
の処理を実行している。まず第6図のフローようにn=
1としくステップ60)、第4図のタイマ動作状態設定
テーブル41によりタイマTnが動作中か否かを判定し
くステップ6])、動作中でなければ直ちに次のタイマ
Tn+1のチェックに移る。また動作中であれば第4図
のカウンタ42のカウンタCNTnを一定値だけカウン
トダウンしくステップ62)、ある特定の値たとえばO
と比較してアイムアウトが発生したか否かを判断しくス
テップ63)、カウンタCNTnの値が特定の値と一致
しない場合には直ちに次のタイマTn+1のチェックに
移る。
またカウンタCNTnの値が特定の値と一致した場合に
はタイムアウトが発生したものと判断して外部のルーチ
ンにタイマのTnのタイムアウト検出報告を行い(ステ
ップ64)、次のタイマT:′1−1−1のチェックに
移る(ステップ65)。
これらの処理をN回繰り返して行いn==Nととなれば
終了する。(ステップ66)。
この従来方法によると、1個のタイマτnに要する処理
は2回の比較および1回の減算となり。
N個のタイマT 1 = T Nにvする処理は2N回
の比較およびN回の減算となる。このようにタイマの個
数の最大値Nに比例して処理時間が長くなり、多くのタ
イマを必要とするプログラムではタイマ処理のために性
能が損なれることになる。
〔発明が解決しようとする問題点〕
上記従来技術は一般的なリフトウエアタイマの処理方法
によって複数個のタイマを実現するさいのタイマの個数
を多く必要とする場合を考慮しておらず、タイマの個数
が多いほどタイマ処理時間を多く必要とするためソフト
ウェア全体の性能を低下させる問題点があった。
本発明の目的は複数個のタイマを実現するさいのタイマ
処理を高速化して全体としてより高性能なソフトウェア
を実現できるリフトウエアタイマの処理方法を提供する
にある。
〔問題点を解決するための手段〕
上記目的は、タイマの数に関係なくカウンタを1個とし
、タイマg9時にカウンタの値がいくつになった時にタ
イムアウトにするかという値を記憶し、一定時間ごとに
カウントアツプまたはカウントダウンされるカウンタの
値と比較することにより、一致した時にのみ該当タイマ
が起動されている状態か否かを判定し、起動中の時には
タイムアウトとするというアルゴリズムによるリフトウ
エアタイマの処理方法により達成される。
〔作用〕
上記アルゴリズムによるリフトウエアタイマの処理方法
によると、必要な処理はアイムアウトが発生していない
場合の1個のタイマにつき1回の比較またはタイムアウ
トが発生している場合の1個のタイマにつき2回の比較
に加えて1回のカウンタの加算または減算となるので、
従来のアルゴリズムによるリフトウエアタイマの処理方
法により必要な処理がタイムアウトが発生している場合
および発生していない場合にかかわりなく1個のタイマ
につき2回の比較および1回の加算または減算であった
のに比較して、タイマ処理の高速化が実現できるととも
にタイマの数が多い場合はどその効果が顕著となる。
〔実施例〕
以下に本発明の一実施例を第1図ないし第3図により説
明する。
第1図は本発明によるリフトウエアタイマの処理方法の
一実施例を示すワークエリアの説明図である。第1図に
おいて、11はタイマ動作状態設定テーブル、12はタ
イムアウト値記憶エリア、13はメインカウンタである
。いまタイマの個数の最大値Nとすると、第1図のよう
にN個のタイマT1〜TNのタイマ動作状態設定テーブ
ルT1〜TNおよびタイムアウト値記憶エリアCNT1
〜CNTNおよび1個のメインカウンタMCNTのワー
クエリアを持っている。タイマ動作状態設定テーブル1
1は該当タイマT1〜TNが動作中であるか否かを記憶
するのに用いられ、タイムアウト値記憶エリア12には
メインカウンタ13の値と比較して一致した時にタイム
アウトとなるべき値がセットされる。メインカウンタ1
3は一定時間ごと加算(または減算)する1個のカウン
タである。
第2図は本発明によるリフトウエアタイマの処理方法の
一実施例を示すタイマ登録フローチャートである。第2
図において、いま最大値N個のタイマT1〜TNのうち
のn番目のタイマTnを起動するものとすると、第2図
のフローのように第1図のメインカウンタ13の値を読
み出しくステップ21)、メインカウンタ13の値とカ
ウントすべきカウント値を加算してカウントアウト値を
算出して、カウントアウト値をカウントアウト値記憶二
リア12の該当エリアCNTnにセットしくステップ2
2)、さらにタイマ動作状態設定テーブル11の該当テ
ーブルTnのタイマ動作中フラグをセットする。このよ
うにタイマ登録をしておき、一定時間ごとに起動される
タイマ処理のメインルーチンによりタイマ処理を実行す
る。
第3図は本発明によるリフトウエアタイマの処理方法の
一実施例を示すタイマ処理フローチャートである。第3
図において、まずメインカウンタ13を一定値だけカウ
ントアツプしくステップ31)、つぎに最大値N個の1
@目〜N番目のタイマT1〜TNのすべてをチェックす
るためにn番目のnを変数としてn=1〜Nまでの処理
を実行している。まず第3図のフローのようにn=1と
しくステップ32)、第1図のメインカウンタ13の値
とタイムアウト値記憶エリア12のエリアCNTnのタ
イムアウト値を比較しくステップ33)、一致していな
ければ直ちに次のタイマTn+1のチェックに移る。ま
た一致していればタイムアウト発生の可能性があるので
、タイマ動作状態設定テーブル11のテーブルTnによ
りタイマTnが動作中か否かを判定しくステップ34)
タイマ動作中でなければ直ちに次のタイマT n J−
1のチェックに移る。またタイマ動作中であれば外部の
ルーチンにタイマTnのタイムアウト検畠報告を行い(
ステップ35)、次のタイマT n +L、、1のチェ
ックに移る(ステップ36)。これらの処理をN回繰り
返して行いn=Nとなれば終了する(ステップ37)。
本方法によると、メインカウンタ13の加算のほかに1
個のタイマT nに要する処理はユないし2回の比較と
なる。したがってN個のタイマTl〜TNに要する処理
はNないし2N回の比較および1回の加算となる。しか
も1個のタイマTnの処理での比較のさいにメインカウ
ンタ13の値とタイムアウト値が一致するのはごくまれ
であるためほとんどの場合には1回の比較ですむことに
なり、したがってN個のタイマT1〜TNに要する処理
はほぼN回の比較および1回の加算となる。
これは従来方法と比べると、N回の比較およびN−1回
の加減算の分だけ処理量が減少していることになり、し
たがって処理時間もこの処理量の差による時間だけ短縮
することができ、タイマの数が多くなるほどその差が大
きくなってその効果が大きくなる。
〔発明の効果〕
本発明によれば、ソフトウェアによるタイマ処理のアル
ゴリズムを改善することによってタイマ処理の高速化が
実現できるので、これを用いたプログラム全体の性能向
上を図れる効果がある。
【図面の簡単な説明】
第1図は本発明によるリフトウエアタイマの処理方法の
一実施例を示すワークエリア説明図、第2図は同じくタ
イマ登録フローチャート、第3図は同じくタイマ処理フ
ローチャート、第4図は従来のリフトウエアタイマの処
理方法を例示するワークエリア説明図、第5図は同じく
タイマ登録フローチャート、第6図は同じくタイマ処理
フローチャートである。 11・・・タイマ動作状態設定テーブル、12・・・タ
イムアウト値記憶エリア、13・・・メインカウンタ 、7” 、、’、’S。

Claims (1)

    【特許請求の範囲】
  1. 1、タイマ機能を実現するソフトウェアにおいて、タイ
    マの数に関係なく1個のカウンタを設け、タイマ登録時
    にカウンタの値がいくつになった時にタイムアウトにす
    るかという値を記憶し、この値とカウンター定時間ごと
    にカウントアップまたはカウントダウンされる値と比較
    し、一致している時にのみ該当タイマが起動されている
    状態か否かを判定し、起動されている状態であればタイ
    ムアウトとするアルゴリズムによるリフトウエアタイマ
    の処理方法。
JP61159660A 1986-07-09 1986-07-09 ソフトウエアタイマの処理方法 Pending JPS6316335A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61159660A JPS6316335A (ja) 1986-07-09 1986-07-09 ソフトウエアタイマの処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61159660A JPS6316335A (ja) 1986-07-09 1986-07-09 ソフトウエアタイマの処理方法

Publications (1)

Publication Number Publication Date
JPS6316335A true JPS6316335A (ja) 1988-01-23

Family

ID=15698557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61159660A Pending JPS6316335A (ja) 1986-07-09 1986-07-09 ソフトウエアタイマの処理方法

Country Status (1)

Country Link
JP (1) JPS6316335A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01270146A (ja) * 1988-04-21 1989-10-27 Toshiba Corp プログラム進行制御方式
US7050940B2 (en) 2004-03-17 2006-05-23 International Business Machines Corporation Method and system for maintaining and examining timers for network connections

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01270146A (ja) * 1988-04-21 1989-10-27 Toshiba Corp プログラム進行制御方式
US7050940B2 (en) 2004-03-17 2006-05-23 International Business Machines Corporation Method and system for maintaining and examining timers for network connections

Similar Documents

Publication Publication Date Title
GB1214085A (en) Data processing systems
GB1265006A (ja)
JPS646568B2 (ja)
JPH0782429B2 (ja) 複数ファイルのマージ方法
US3088095A (en) Ring checking circuit
JPS622330A (ja) 演算例外命令アドレス割出装置
JPH0199132A (ja) マルチタスク実行装置
JPH06188872A (ja) 同期保護回路
JPH04364561A (ja) マルチプロセッサシステムの入出力制御方式
JP2792261B2 (ja) 警報開始遅延回路
JPS6051141B2 (ja) プログラム暴走検出方式
JPH0460745A (ja) マルチcpuシステムの負荷分散方式
JPH04308925A (ja) データ比較装置
JPS5932929B2 (ja) パルス計数方式
JPS6027050A (ja) マイクロプログラム制御回路
JPH04192037A (ja) 半導体集積回路
JPS6315352A (ja) シリアル入出力回路
JPS5943782B2 (ja) 最大値検出回路装置
JPH04240590A (ja) 時刻データ比較処理装置
JPH06230980A (ja) 割込み回路
JPH02148913A (ja) デジタル分周装置
JPH0216615A (ja) 最適エラーメッセージの自動選択方式
JPH0232452A (ja) マルチプロセッサシステム
JP2004172823A (ja) タイマ管理システム
JPS5930303B2 (ja) 数値nの逓倍演算回路