JP2002351675A - 時間情報処理装置および時間情報処理方法 - Google Patents

時間情報処理装置および時間情報処理方法

Info

Publication number
JP2002351675A
JP2002351675A JP2001161014A JP2001161014A JP2002351675A JP 2002351675 A JP2002351675 A JP 2002351675A JP 2001161014 A JP2001161014 A JP 2001161014A JP 2001161014 A JP2001161014 A JP 2001161014A JP 2002351675 A JP2002351675 A JP 2002351675A
Authority
JP
Japan
Prior art keywords
timer
time
system time
processing
time information
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
JP2001161014A
Other languages
English (en)
Inventor
Michiyuki Suzuka
倫之 鈴鹿
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001161014A priority Critical patent/JP2002351675A/ja
Publication of JP2002351675A publication Critical patent/JP2002351675A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 システムタイムおよびタイマ計時処理のオー
バーヘッドを低減することができる時間情報処理装置お
よび時間情報処理方法を提供する。 【解決手段】 時間情報処理装置は、プログラムが起動
してからプログラム上の任意のシステムタイムを計時す
るための処理を行うシステムタイム計時部1と、プログ
ラムの内部の処理に対して設定時間経過時のイベント発
生により特定の処理を行うタイマ計時部1とを備え、タ
イマ計時部1によるタイマ処理の有無に応じて、システ
ムタイム計時部1により任意のシステムタイムを得るよ
うにしたので、ハードウエアタイマ2の機能を拡張し
て、システムタイムおよびタイマの計時をすることがで
き、これにより、システムタイムおよびタイマ計時処理
のオーバーヘッドを低減することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、オペレー
ティングシステム(OS)のシステムタイムおよびタイ
マ計時処理を行う時間情報処理装置および時間情報処理
方法に関するものである。
【0002】
【従来の技術】従来、オペレーティングシステム(O
S)における一般的なシステムタイムおよびタイマ計時
処理は、計算機が備えるハードウエアタイマを利用して
実現されている。ハードウエアタイマを適当な周期で動
作させて、一定間隔で割り込みが発生するようにセット
し、この割り込みによってシステム内のカウンタを加算
する。このカウンタでシステムタイムを表し、カウンタ
を加算する際に予め設定されたイベントを発生すること
で、タイマを実現している。このタイマの機構は一般的
にクロックティックと呼ばれている。このようなシステ
ムタイムおよびタイマの精度は、ハードウエアタイマで
発生する割り込みの周期で決まるものであった。
【0003】
【発明が解決しようとする課題】しかし、上述した従来
のシステムタイムおよびタイマ計時処理では、オペレー
ティングシステム(OS)は、ハードウエアタイマの割
り込みが発生するたびに上述したクロックティックの処
理を行わなければならず、ハードウエアの性能に制限の
ある組み込みシステムなどではクロックティックの処理
のオーバーヘッドが大きくなるという不都合があった。
【0004】本発明は、オペレーティングシステム(O
S)において、クロックティックの機構を用いずに、ハ
ードウエアタイマ1チャンネルを使って以下のようなシ
ステムタイムとタイマ計時処理を同時に実現することを
目的とする。
【0005】本発明は、かかる点に鑑みてなされたもの
であり、システムタイムおよびタイマ計時処理のオーバ
ーヘッドを低減することができる時間情報処理装置およ
び時間情報処理方法を提供することを課題とする。
【0006】
【課題を解決するための手段】本発明の時間情報処理装
置は、所定のプログラムに関する時間情報の処理を行う
時間情報処理装置において、プログラムが起動してから
プログラム上の任意のシステムタイムを計時するための
処理を行うシステムタイム処理手段と、プログラムの内
部の処理に対して設定時間経過時のイベント発生により
特定の処理を行うタイマ手段とを備え、タイマ手段によ
るタイマ処理の有無に応じて、システムタイム処理手段
により任意のシステムタイムを得るようにしたものであ
る。
【0007】また、本発明の時間情報処理方法は、所定
のプログラムに関する時間情報の処理を行う時間情報処
理方法において、プログラムが起動してからプログラム
上の任意のシステムタイムを計時するための処理を行う
システムタイム処理ステップと、プログラムの内部の処
理に対して設定時間経過時のイベント発生により特定の
処理を行うタイマステップとを備え、タイマステップに
よるタイマ処理の有無に応じて、システムタイム処理ス
テップにより任意のシステムタイムを得るようにしたも
のである。
【0008】従って本発明によれば、以下の作用をす
る。本発明では、ハードウエアタイマを用いてシステム
タイムとタイマを同時に実現する。まず、システムタイ
ムとタイマの計時について説明する。システムタイム処
理手段およびタイマ手段は、ハードウエアタイマおよび
適当なビット数を有する変数とを有し、変数はシステム
タイムおよびタイマ計時におけるカウント値の上位ビッ
トを保持し、ハードウエアタイマはシステムタイムおよ
びタイマ計時におけるカウント値の下位ビットを保持す
る。
【0009】変数とハードウエアタイマとで拡張ビット
のシステムタイムおよびタイマ計時部を構成することに
より、ハードウエアタイマの機能を拡張して、システム
タイムおよびタイマの計時をすることができる。
【0010】ここで、このハードウエアタイマで割り込
みが発生したら、ハードウエアタイマのカウンタを初期
化すると同時に上位ビットを保持する変数を加減するよ
うに処理することにより、割り込み発生時にハードウエ
アタイマの擬似的なビット数をさらに拡張して、任意の
周期のシステムタイムおよびタイマの計時をすることが
できる。
【0011】次に、タイマセットおよびシステムタイム
の読み出しについて説明する。まず、タイマ手段による
タイマセットについて説明する。タイマセットをすると
き、第1に、現在の時刻を所定の現在の時刻記憶部に保
存し、タイマ作動時刻を所定のタイマ記憶部に設定す
る。
【0012】第2に、タイマ作動時刻と現在の時刻との
差分時間を算出する。第3に、差分時間の上位ビットを
変数へ設定し、差分の下位ビットをハードウエアタイマ
に設定する。
【0013】このタイマが作動したら、所定のタイマ記
憶部に保存してあったタイマ作動時刻を変数およびハー
ドウエアタイマに設定し、システムタイムの計時を再開
する。また、セットされているタイマを解除するには、
単に現在の時刻を算出して、現在の時刻を変数およびハ
ードウエアタイマに設定する。
【0014】次に、システムタイム処理手段によるシス
テムタイムの読み出しについて説明する。システムタイ
ムの読み出しは、タイマがセットされているときとセッ
トされていないときとで動作が異なる。
【0015】第1に、タイマがセットされていないとき
のシステムタイムの読み出しについて説明する。まず、
非タイマセット時のシステムタイムの読み出しを開始す
ると、ハードウエアタイマからカウンタの値を読み、次
に、変数の値と連結した後に、この値を現在の時刻とし
て所定の読み出し部に返す。
【0016】第2に、タイマがセットされているときの
システムタイムの読み出しについて説明する。まず、タ
イマセット時のシステムタイムの読み出しを開始する
と、ハードウエアタイマからカウンタの値を読み、次
に、変数の値と連結した後に、この値を仮の値とする。
【0017】仮の値から所定のタイマ記憶部に保存して
あったタイマ作動時刻までの残り時間を求める。タイマ
作動時刻から仮の値を引いて、この値を現在の時刻とし
て所定の読み出し部に返す。これにより、タイマがセッ
トされているときまたはタイマがセットされていないと
きのシステムタイムの読み出しを行うことができる。
【0018】
【発明の実施の形態】以下に、本発明の実施の形態を説
明する。本実施の形態の時間情報処理装置は、オペレー
ティングシステム(OS)において、従来のクロックテ
ィックの機構を用いずに、ハードウエアタイマ1チャン
ネルを使ってシステムタイムとタイマを同時に実現する
ことにより、無駄にハードウエアタイマのチャンネルを
使うことなく、また、割り込みの発生回数を抑えること
ができ、精度の高いシステムタイムとタイマを実現する
ことができるものである。
【0019】[本実施の形態の概要]まず、システムタ
イムについて説明する。システムタイムは、オペレーテ
ィングシステム(OS)の起動時を0として任意の周期
で単調増加するカウンタである。このシステムタイム
は、オペレーティングシステム(OS)内の時刻を一元
管理するが、実世界の時刻と同期している必要はないも
のである。このオペレーティングシステム(OS)内の
他のプログラムは、このオペレーティングシステム(O
S)内のインターフェースを利用して現在の時刻を得る
ことができる。
【0020】次に、タイマについて説明する。本実施の
形態におけるタイマとは、オペレーティングシステム
(OS)内において提供される抽象化されたタイマを示
すものである。このタイマにセットされた時間が経過す
ると、イベントが発生して特定の処理を行わせることが
できるというものである。
【0021】ここで、このようなシステムタイムおよび
タイマを実現するために用いるハードウエアタイマにつ
いて説明する。本実施の形態では、ハードウエアタイマ
を用いてシステムタイムとタイマを同時に実現する。本
実施の形態を実現するために必要なハードウエアタイマ
の仮定を以下に示す。
【0022】このハードウエアタイマは、オペレーティ
ングシステム(OS)が動作するハードウエア上に備え
られたタイマである。このハードウエアタイマは、動作
周期を任意に設定できるカウンタであり、特定のカウン
タ値になった時点で割り込みを発生させることができる
ものである。このハードウエアタイマにおいて、オーバ
ーフロー時あるいはアンダーフロー時に割り込みを発生
するように構成されている。
【0023】このハードウエアタイマの動作周期は、シ
ステムタイムおよびタイマに要求される精度を満たすよ
うに、オペレーティングシステム(OS)の起動時に予
め初期設定する。また、このハードウエアタイマにおい
て、オーバーフロー時またはアンダーフロー時に割り込
みを処理できるように予め初期設定しておく。例えば、
32ビットのハードウエアタイマの場合、0Xffff
ffffからカウントを開始し、アンダーフロー時の0
になると割り込みが発生するように設定する。本実施の
形態では、ハードウエアタイマよりもビット数の多いシ
ステムタイムを擬似的に実現するため、ハードウエアタ
イマのビット数はシステムタイムのビット数と一致して
いる必要はない。
【0024】[システムタイムおよびタイマの構成]図
1は、本実施の形態が適用されるシステムタイムおよび
タイマの構成を示す図である。図1において、本実施の
形態では、ハードウエアタイマのカウンタ値を直接シス
テムタイムおよびタイマの値として用いる。そのため、
一般的な32ビットのハードウエアタイマなどではシス
テムタイムおよびタイマを計時できる時間が短くなって
しまう。そこで、図1に示すように、システムタイムお
よびタイマ計時部1を、ハードウエアタイマ2および適
当なビット数を有する変数3とを有するように構成す
る。
【0025】変数3はシステムタイムおよびタイマ計時
におけるカウント値の上位ビットを保持し、ハードウエ
アタイマ2はシステムタイムおよびタイマ計時における
カウント値の下位ビットを保持する。
【0026】例えば、32ビットの変数Vupper1
と32ビットのハードウエアタイマ2とで64ビットの
システムタイムおよびタイマ計時部を構成することがで
きる。これにより、ハードウエアタイマ2の機能を拡張
して、システムタイムTsおよびタイマTtの計時をす
ることができる。
【0027】システムタイムおよびタイマ計時部を分割
して構成する場合、システムタイムおよびタイマ計時に
おけるカウント値の上位ビットを保持する変数の数はい
くつであっても構わない。例えば、図1に示すように、
32ビットの変数Vupper1、32ビットの変数V
upper2、32ビットの変数Vupper3の変数
3と、32ビットのハードウエアタイマ2とを用いて、
擬似的に128ビットのシステムタイムおよびタイマ計
時部を構成することができる。これにより、ハードウエ
アタイマ2の機能をさらに拡張して、任意の周期のシス
テムタイムTsおよびタイマTtの計時をすることがで
きる。
【0028】ここで、このハードウエアタイマ2で割り
込みが発生したら、ハードウエアタイマ2のカウンタを
初期化すると同時に上位ビットを保持する変数3を加減
するように処理する。具体的には、図1に示すように、
カウントダウンするハードウエアタイマ2を用いる場合
には、アンダーフロー割り込みが発生したTi−時点
で、上位ビットの変数3から1を引くように処理する。
また、カウントアップするハードウエアタイマ2を用い
る場合には、オーバーフロー割り込みが発生したTi+
時点で、上位ビットの変数3に1を足すように処理す
る。これにより、ハードウエアタイマ2の擬似的なビッ
ト数をさらに拡張して、任意の周期のシステムタイムT
sおよびタイマTtの計時をすることができる。
【0029】[タイマセットおよびシステムタイムの読
み出し]図2は、タイマセットおよびシステムタイムの
読み出しを示す図である。まず、タイマセットについて
説明する。タイマは、上述した図1に示したように、シ
ステムタイムと同様に、変数3(Vupper1〜3)
とハードウエアタイマ2とを用いて実現する。以下に、
タイマをセットするときの処理を説明する。
【0030】図2において、横軸はシステムタイムTs
を示している。ステップS1で、システムタイムTsは
0から単調増加している。ここで、ステップS11で、
タイマセットをするとき、第1に、現在の時刻Tcur
rentを所定の現在の時刻記憶部に保存し、ステップ
S12で、タイマ作動時刻Vetを所定のタイマ記憶部
に設定する。
【0031】第2に、ステップS13で、タイマ作動時
刻Vetと現在の時刻Tcurrentとの差分時間T
diffを算出する。第3に、ステップS14で、差分
時間Tdiffの上位ビットを変数3(Vupper1
〜3)へ設定し、差分Tdiffの下位ビットをハード
ウエアタイマ2に設定する。
【0032】例えば、ダウンカウントするハードウエア
タイマ2を用いた場合、差分の時間Tdiffが経過す
ると、変数3(Vupper1〜3)およびハードウエ
アタイマ2のカウント値がすべて0となるので、図1に
示したアンダーフロー割り込みが発生したTi−時点を
検出してイベントを発生させることができる。
【0033】このタイマが作動したら、所定のタイマ記
憶部に保存してあったタイマ作動時刻Vetを変数3
(Vupper1〜3)およびハードウエアタイマ2に
設定し、システムタイムの計時を再開する。また、セッ
トされているタイマを解除するには、単に現在の時刻T
currentを算出して、現在の時刻Tcurren
tを変数3(Vupper1〜3)およびハードウエア
タイマ2に設定する。
【0034】次に、システムタイムの読み出しについて
説明する。システムタイムの読み出しは、タイマがセッ
トされているときとセットされていないときとで動作が
異なる。
【0035】第1に、タイマがセットされていないとき
のシステムタイムの読み出しについて説明する。まず、
ステップS2で、非タイマセット時のシステムタイムの
読み出し(1)を開始すると、ステップS3で、ハード
ウエアタイマ2からカウンタの値を読み、次に、変数3
(Vupper1〜3)の値と連結した後に、この値を
現在の時刻Tcurrent=Ttmp(1)として所
定の読み出し部に返す。
【0036】第2に、タイマがセットされているときの
システムタイムの読み出しについて説明する。まず、ス
テップS21で、タイマセット時のシステムタイムの読
み出し(2)を開始すると、ステップS3と同様に、ハ
ードウエアタイマ2からカウンタの値を読み、次に、変
数3(Vupper1〜3)の値と連結した後に、この
値をTtmp(2)とする。
【0037】ステップS22で、Ttmp(2)から所
定のタイマ記憶部に保存してあったタイマ作動時刻Ve
tまでの残り時間を求める。ステップS23で、タイマ
作動時刻VetからTtmp(2)を引いて、この値を
現在の時刻Tcurrent=Vet−Ttmp(2)
として所定の読み出し部に返す。
【0038】現在の時刻として所定の読み出し部に返さ
れる値は、0から単調増加する値となるが、オペレーテ
ィングシステム(OS)内部で保持するシステムタイム
は必ずしも増加する値である必要はない。
【0039】例えば、カウントダウン動作するハードウ
エアタイマを用いて64ビットのシステムタイムを実現
する場合には、システムタイムは0xffffffff
ffffffffから始まって単調減少するように実装
して構わない。この場合は、現在の時刻として所定の読
み出し部に返す際に、システムタイムをビット反転して
単調増加する値に変換すればよい。
【0040】[動作の詳細]以下に、動作例として、3
2ビットのカウントダウンを行うハードウエアタイマを
用いて64ビットのシステムタイムとタイマを実現する
場合の各機能の動作の詳細を説明する。
【0041】まず、初期化の動作について説明する。こ
のオペレーティングシステム(OS)は、起動時に初期
化を行う。システムタイムの上位ビットを保持する変数
3(Vupper1)を初期化し、ハードウエアタイマ
2の動作周期および割り込みを設定してカウント動作を
開始する。ここでは、カウントダウンを行うハードウエ
アタイマ2を用いるため、システムタイムの初期化は変
数3(Vupper1)のカウント値が0xfffff
fff、ハードウエアタイマ2のカウンタHWTCのカ
ウント値が0xffffffffとなる。また、タイマ
作動時刻を保持する変数Vetを0で初期化する。
【0042】このオペレーティングシステム(OS)の
設計者は、システムタイムをカウントする周期とシステ
ムの動作時間を考慮してシステムタイムを表現するのに
必要なビット数を決める。この例のように64ビットで
システムタイムを扱うとして、1マイクロ秒毎にハード
ウエアタイマをカウントした場合では、約5×109
間(約58万年間)システムタイムを計時することがで
きる。
【0043】次に、タイマのセットの動作の詳細を説明
する。図3は、タイマのセットの手順を示すフローチャ
ートである。タイマをセットするときは、まず現在の時
刻Tcurrentを計算し、新しくタイマにセットさ
れるタイマ作動時刻Texpとの差分を計算する。この
差分を変数3(Vupper1)とハードウエアタイマ
2のカウンタHWTCにセットする。以下に、タイマを
セットする手順を示す。
【0044】ステップF1−1で、変数3(Vuppe
r1)のカウント値とハードウエアタイマ2のカウンタ
HWTCのカウント値とを連結して仮の時刻Ttmpと
する。
【0045】ステップF1−2で、タイマがセットされ
ているかどうかを調べる。もし、タイマが作動する時刻
を示す変数Vetが0でなければタイマがセットされて
いる。この場合は、ステップF1−3へ進み、変数Ve
tが0であってタイマがセットされていなければ、ステ
ップF1−4へ進む。
【0046】ステップF1−3で、タイマがセットされ
ていた場合、仮の時刻Ttmpはタイマが動作するまで
の残り時間を示している。従って、変数Vetから仮の
時刻Ttmpを引いた時刻を現在の時刻Tcurren
tとする。そして、ステップF1−5へ進む。
【0047】ステップF1−4で、タイマがセットされ
ていない場合、仮の時刻Ttmpは現在の時刻Tcur
rentを示している。この例では、ハードウエアタイ
マはカウントダウンしているので、値をビット反転して
現在の時刻Tcurrentとする。
【0048】ステップF1−5で、タイマ作動時刻Ve
xpと現在の時刻Tcurrentとの差分時間Tdi
ffを求める。
【0049】ステップF1−6で、タイマをセットする
タイミングによっては差分時間Tdiffが負の値にな
ることがあるので、この場合には差分時間Tdiffを
0とする。これにより、直後にタイマが作動することに
なる。
【0050】ステップF1−7で、タイマ作動時刻Ve
xpを変数Vetに保存する。
【0051】ステップF1−8で、差分時間Tdiff
の上位ビット(33〜64)を変数3(Vupper
1)に格納する。差分時間Tdiffの下位ビット(0
〜32)をハードウエアタイマ2のカウンタHWTCに
設定する。
【0052】次に、ハードウエアタイマの割り込み処理
の動作の詳細を説明する。図4は、ハードウエアタイマ
の割り込み処理の手順を示すフローチャートである。ダ
ウンカウントするハードウエアタイマはカウンタ値が0
になるとアンダーフロー割り込みを発生する。割り込み
が発生したら、割り込み処理ルーチン内で次のように処
理する。
【0053】ステップF2−1で、必要に応じて、ハー
ドウエアタイマのステータスレジスタを調べ、アンダー
フローフラグを下げるなどの処理を行う。
【0054】ステップF2−2で、変数3(Vuppe
r1)が0でなければ、ステップF2−2’へ進み、ス
テップF2−2’で変数3(Vupper1)から1を
引いて割り込み処理を終了する。
【0055】ステップF2−2で、変数3(Vuppe
r1)が0であれば、タイマが作動したことを示してい
る。このとき、ステップF2−3へ進み、ステップF2
−3で変数Vetに保存しておいたタイマ作動時刻Ve
xpは現在の時刻Tcurrentを示している。そこ
で、変数Vetの上位ビット(33〜64)を変数3
(Vupper1)に格納する。変数Vetの下位ビッ
ト(0〜32)をハードウエアタイマ2のカウンタHW
TCにセットする。
【0056】ステップF2−4で、タイマ作動時刻Ve
tを0にする。ステップF2−5で、上述した図3に示
したオペレーティングシステム(OS)のタイマ処理ル
ーチンを呼び出す。
【0057】次に、システムタイムの読み出しの動作を
説明する。図5は、システムタイムの読み出しの手順を
示すフローチャートである。現在の時刻の読み出しは、
タイマがセットされているかどうかで動作が異なる。以
下に現在の時刻を読み出す手順を示す。
【0058】図5において、ステップF3−1で、変数
3(Vupper1)のカウント値とハードウエアタイ
マ2のカウンタHWTCのカウント値とを連結して仮の
時刻Ttmpとする。
【0059】ステップF3−2で、タイマがセットされ
ているかどうかを調べる。もし、タイマが作動する時刻
を示す変数Vetが0でなければタイマがセットされて
いる。この場合は、ステップF3−3へ進み、変数Ve
tが0であってタイマがセットされていなければ、ステ
ップF3−4へ進む。
【0060】ステップF3−3で、タイマがセットされ
ていた場合、仮の時刻Ttmpはタイマが作動するまで
の残り時間を示している。従って、変数Vetから仮の
時刻Ttmpを引いた時刻を現在の時刻Tcurren
tとする。そして、ステップF3−5へ進む。
【0061】ステップF3−4で、タイマがセットされ
ていない場合、仮の時刻Ttmpは現在の時刻Tcur
rentを示している。この例では、ハードウエアタイ
マはカウントダウンしているので、値をビット反転して
現在の時刻Tcurrentとする。
【0062】ステップF3−5で、Tcurrentを
現在の時刻として所定の読み出し部に返す。
【0063】最後に、タイマの停止の動作について説明
する。図6は、タイマの停止の手順を示すフローチャー
トである。タイマを停止するには、現在の時刻をハード
ウエアタイマに再設定するだけでよい。現在の時刻はタ
イマが作動する時刻とタイマの残り時間で計算すること
ができる。以下に、タイマを停止するための手順を示
す。
【0064】ステップF4−1で、タイマがセットされ
ているかどうかを調べる。もし、タイマが作動する時刻
を示す変数Vetが0でなければタイマがセットされて
いる。この場合は、ステップF4−2へ進み、変数Ve
tが0であってタイマがセットされていなければ、終了
する。
【0065】ステップF4−2で、タイマがセットされ
ていた場合、タイマが作動するまでの残り時間Vrem
ainを算出する。ここで、変数3(Vupper1)
のカウント値とハードウエアタイマ2のカウンタHWT
Cのカウント値とを連結したものがタイマが作動するま
での残り時間Vremainである。
【0066】ステップF4−3で、タイマ作動時刻Ve
tからタイマが作動するまでの残り時間Vremain
を引いて現在の時刻Tcurrentとする。
【0067】ステップF4−4で、現在の時刻Tcur
rentの上位ビット(33〜64)を変数3(Vup
per1)に格納する。現在の時刻Tcurrentの
下位ビット(0〜32)をハードウエアタイマ2のカウ
ンタHWTCにセットする。これにより、引き続きシス
テムタイムの計時が継続される。ステップF4−5で、
タイマ作動時刻Vetを0にする。
【0068】上述した本実施の形態によれば、システム
タイムやタイマのカウント周期がハードウエアタイマの
カウント周期となるため、精度の高いシステムタイムお
よびタイマを実現することができる。また、システムタ
イムおよびタイマをビット数を拡張して保持するため、
長時間の計時が可能となる。
【0069】また、従来のクロックティックを実装する
必要がないため、不要な割り込みの発生を削減して、従
来の10msec周期の割り込みを本実施の形態では1
2.8μsec周期の割り込みを行うことにより精度を
約1000倍向上させることができると共に、システム
の潜在時間を示すレイテンシー(latency)を下
げてシステムの負荷を削減することができる。
【0070】また、システムタイムおよびタイマを、ハ
ードウエアタイマ1チャンネルで実現するため、余計な
チャンネルを使うことがない。このため、ハードウエア
タイマの他の2チャンネル目を別の目的に利用すること
ができる。
【0071】なお、上述した本実施の形態に適用される
オペレーティングシステム(OS)は、特定のオペレー
ティングシステム(OS)に限るものではなく、一般的
なオペレーティングシステム(OS)またはプログラム
であっても良い。
【0072】
【発明の効果】この発明の時間情報処理装置は、所定の
プログラムに関する時間情報の処理を行う時間情報処理
装置において、プログラムが起動してからプログラム上
の任意のシステムタイムを計時するための処理を行うシ
ステムタイム処理手段と、プログラムの内部の処理に対
して設定時間経過時のイベント発生により特定の処理を
行うタイマ手段とを備え、タイマ手段によるタイマ処理
の有無に応じて、システムタイム処理手段により任意の
システムタイムを得るようにしたので、ハードウエアタ
イマの機能を拡張して、システムタイムおよびタイマの
計時をすることができ、これにより、システムタイムお
よびタイマ計時処理のオーバーヘッドを低減することが
できるという効果を奏する。
【0073】また、この発明の時間情報処理装置は、上
述において、システムタイム処理手段およびタイマ手段
は、ハードウエアタイマ部と変数部とを有し、ハードウ
エアタイマ部は下位ビットを保持し、変数部は上位ビッ
トを保持するので、下位ビットのハードウエアタイマの
機能をさらに上位ビットに拡張して、システムタイムお
よびタイマの計時をすることができるという効果を奏す
る。
【0074】また、この発明の時間情報処理装置は、上
述において、ハードウエアタイマ部における割り込み発
生時に変数部に対して所定の処理を施すようにしたの
で、割り込み発生時におけるハードウエアタイマの擬似
的なビット数をさらに拡張して、任意の周期のシステム
タイムおよびタイマの計時をすることができるという効
果を奏する。
【0075】また、この発明の時間情報処理方法は、所
定のプログラムに関する時間情報の処理を行う時間情報
処理方法において、プログラムが起動してからプログラ
ム上の任意のシステムタイムを計時するための処理を行
うシステムタイム処理ステップと、プログラムの内部の
処理に対して設定時間経過時のイベント発生により特定
の処理を行うタイマステップとを備え、タイマステップ
によるタイマ処理の有無に応じて、システムタイム処理
ステップにより任意のシステムタイムを得るようにした
ので、ハードウエアタイマの機能を拡張して、システム
タイムおよびタイマの計時をすることができ、これによ
り、システムタイムおよびタイマ計時処理のオーバーヘ
ッドを低減する処理を行うことができるという効果を奏
する。
【0076】また、この発明の時間情報処理方法は、上
述において、システムタイム処理ステップおよびタイマ
ステップは、下位ビットを保持するハードウエアタイマ
部における割り込み発生時に上位ビットを保持する変数
部に対して所定の処理を施すので、割り込み発生時にお
けるハードウエアタイマの擬似的なビット数をさらに拡
張して、任意の周期のシステムタイムおよびタイマの計
時をする処理を行うことができるという効果を奏する。
【図面の簡単な説明】
【図1】本実施の形態が適用されるシステムタイムおよ
びタイマの構成を示す図である。
【図2】タイマセットおよびシステムタイムの読み出し
を示す図である。
【図3】タイマのセットの手順を示すフローチャートで
ある。
【図4】ハードウエアタイマの割り込み処理の手順を示
すフローチャートである。
【図5】システムタイムの読み出しの手順を示すフロー
チャートである。
【図6】タイマの停止の手順を示すフローチャートであ
る。
【符号の説明】
1……システムタイムおよびタイマ計時部、2……ハー
ドウエアタイマ、3……変数(Vupper1〜3)、
Ti−……アンダーフロー割り込み発生時点、Ti+…
…オーバーフロー割り込み発生時点、Ts……システム
タイム、Tt……タイマ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 所定のプログラムに関する時間情報の処
    理を行う時間情報処理装置において、 上記プログラムが起動してから上記プログラム上の任意
    のシステムタイムを計時するための処理を行うシステム
    タイム処理手段と、 上記プログラムの内部の処理に対して設定時間経過時の
    イベント発生により特定の処理を行うタイマ手段と を備え、上記タイマ手段によるタイマ処理の有無に応じ
    て、上記システムタイム処理手段により任意のシステム
    タイムを得るようにしたことを特徴とする時間情報処理
    装置。
  2. 【請求項2】 請求項1記載の時間情報処理装置におい
    て、 上記システムタイム処理手段および上記タイマ手段は、
    ハードウエアタイマ部と変数部とを有し、上記ハードウ
    エアタイマ部はシステムタイムおよびタイマの下位ビッ
    トを保持し、上記変数部はシステムタイムおよびタイマ
    の上位ビットを保持することを特徴とする時間情報処理
    装置。
  3. 【請求項3】 請求項2記載の時間情報処理装置におい
    て、 上記ハードウエアタイマ部における割り込み発生時に上
    記変数部に対して所定の処理を施すようにしたことを特
    徴とする時間情報処理装置。
  4. 【請求項4】 所定のプログラムに関する時間情報の処
    理を行う時間情報処理方法において、 上記プログラムが起動してから上記プログラム上の任意
    のシステムタイムを計時するための処理を行うシステム
    タイム処理ステップと、 上記プログラムの内部の処理に対して設定時間経過時の
    イベント発生により特定の処理を行うタイマステップと
    を備え、上記タイマステップによるタイマ処理の有無に
    応じて、上記システムタイム処理ステップにより任意の
    システムタイムを得るようにしたことを特徴とする時間
    情報処理方法。
  5. 【請求項5】 請求項4記載の時間情報処理方法におい
    て、 上記システムタイム処理ステップおよび上記タイマステ
    ップは、システムタイムおよびタイマの下位ビットを保
    持するハードウエアタイマ部における割り込み発生時に
    システムタイムおよびタイマの上位ビットを保持する変
    数部に対して所定の処理を施すことを特徴とする時間情
    報処理方法。
JP2001161014A 2001-05-29 2001-05-29 時間情報処理装置および時間情報処理方法 Pending JP2002351675A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001161014A JP2002351675A (ja) 2001-05-29 2001-05-29 時間情報処理装置および時間情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001161014A JP2002351675A (ja) 2001-05-29 2001-05-29 時間情報処理装置および時間情報処理方法

Publications (1)

Publication Number Publication Date
JP2002351675A true JP2002351675A (ja) 2002-12-06

Family

ID=19004352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001161014A Pending JP2002351675A (ja) 2001-05-29 2001-05-29 時間情報処理装置および時間情報処理方法

Country Status (1)

Country Link
JP (1) JP2002351675A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091479A (ja) * 2014-11-11 2016-05-23 株式会社明電舎 カウンタユニット

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091479A (ja) * 2014-11-11 2016-05-23 株式会社明電舎 カウンタユニット

Similar Documents

Publication Publication Date Title
JP2013117785A (ja) 時間測定装置、マイクロコントローラ、プログラム、及び時間測定方法
JP2002351675A (ja) 時間情報処理装置および時間情報処理方法
WO2006106917A1 (ja) タイマー回路、これを用いた携帯通信端末及び電子機器
JPWO2004092751A1 (ja) オートレンジ設定機能つきパルス幅測定装置
JPH0245816A (ja) コンピュータシステムの時刻校正方式
JPH08139575A (ja) パルス出力回路
JP2906254B2 (ja) プログラマブル・コントローラ
JP6102618B2 (ja) 周期ノイズ除去a/d変換器
JPH05233277A (ja) マイクロプロセッサ
JPH10255489A (ja) マイクロコンピュータ
JP2604562B2 (ja) パルス間隔計測装置
JP2002182929A (ja) 半導体装置
TW201342066A (zh) 時基週邊裝置
JPH08289459A (ja) 多機能保護リレーの過電流測定方法
JP2004272838A (ja) タイマ回路
JP4826433B2 (ja) タイマ起動回路
JP2598547Y2 (ja) 半導体試験装置用パターン発生器
JP2004171040A (ja) タイマ回路
JP2004334577A (ja) タイマ装置
JP6582394B2 (ja) カウンタユニット
JPH05107281A (ja) 周波数測定回路
JP2020201039A (ja) タイムスイッチ
JP2998660B2 (ja) タイマー装置
JPS63120320A (ja) マイクロプロセツサおよびマイクロコントロ−ラ
JPH0451332A (ja) プロセス/タスク実行時間測定回路