JP3457416B2 - コンピュータシステムのタイマ補正装置 - Google Patents
コンピュータシステムのタイマ補正装置Info
- Publication number
- JP3457416B2 JP3457416B2 JP08100195A JP8100195A JP3457416B2 JP 3457416 B2 JP3457416 B2 JP 3457416B2 JP 08100195 A JP08100195 A JP 08100195A JP 8100195 A JP8100195 A JP 8100195A JP 3457416 B2 JP3457416 B2 JP 3457416B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- correction
- timer
- time
- cycle
- 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.)
- Expired - Fee Related
Links
Landscapes
- Electric Clocks (AREA)
Description
に、TODタイマ(time-of-day timer)やリアルタイ
ムクロック等の、コンピュータシステムで使用される時
計装置に関するものである。
は、各回路及び周辺装置との同期を図るため、時計装置
に対し非常に高度の精度が要求される。
コンピュータシステムに採用した例を、図13に示す。
コンピュータシステムに対し時刻データを送出するタイ
マ部100において、時刻データは、タイマ102によ
って水晶発振器101(OSC)からのクロックパルス
を基に生成されるが、水晶発振器固有の精度や温度等の
環境変化により時刻の誤差が生じる。
けている。比較回路104は一定周期毎に、標準電波や
電話回線による時報サービスなど、外部の時刻源103
からの時刻データとタイマ102の発する秒パルスを比
較し、その誤差ΔTを算出する。
られてくる誤差ΔTが、進みの誤差であればΔTの間タ
イマ102のカウントを停止させ、一方、遅れの誤差で
あればΔTの間タイマ102をカウントを倍速にする。
例ではタイマの補正を行っていた。尚、タイマ同期精度
は、以下の式で求められる(タイマの同期精度をAt、
水晶発振器の精度をAc、補正サイクルをCjとする。
1ppmは、1秒あたりの最大誤差±1μsを意味)。
パルスを削るあるいは追加する、という手段により行わ
れている。実際には、基本クロックと動作クロックの間
にクロック制御回路を介在させて補正を行っている。こ
れを以下に図を基に説明する。
の従来例による補正を、タイムチャートを用いて説明し
たものである。動作クロックは補正前の時点で実際の時
刻よりも3単位進んでいる。そこで基本クロックを補正
回路106からの補正シグナルでゲートしこれを動作ク
ロックに出力すれば、結果的に動作クロックは補正シグ
ナル分(図では3単位)減算されたことになり、タイマ
はその後実際の時刻に同期するようになる。
る場合の従来例による補正を、同様にタイムチャートを
用いて説明したものである。動作クロックは補正前の時
点で、実際の時刻よりも3単位遅れている。そこで基本
クロックと動作クロック間に介在する倍周期クロック
を、補正回路106からの補正シグナルがオンの間中動
作クロックに出力させれば、動作クロックは補正シグナ
ル分(図では3単位)加算されたことになり、タイマ
は、その後実際の時刻に同期するようになる。
は、できるだけ短い間隔で行うことが、精度の向上につ
ながり、特にこのような外部の時刻源を元とする補正
は、高い頻度で行われることが好ましい。
ータの中央処理装置(Central Processing Unit,以下C
PU)が、本来の機能の合間にそのような補正を実行す
るため、数百秒から数千秒に1度という比較的長い間隔
を置いて行われているのが実情である。
線で結んだ高度なネットワーク環境下でこのような誤差
が発生すると、新たな問題も引き起こす。すなわち、各
クラスタ内の各装置が誤差を伴う時刻データに同期して
いる分には問題は小さいが、別々のクラスタ同志で異な
る基準時刻が混在するようになるとシステムの運用に重
大な支障を来たすという問題である。このためにも一層
正確なシステムの基準時刻データの供給が要請されてい
る。
ロック制御回路及び倍周期クロックを付加しなければな
らず、タイマ自体の構造の複雑化等の問題も存在してい
た。本発明はこのような従来の技術の問題点に鑑みてな
されたものであり、CPUに新たな負担を掛けずに、従
来よりも短い間隔でタイマの誤差の補正を行う、高精度
なタイマ補正装置を提供することを目的とする。
クに手を加えたり倍周期クロックを付加したりせずに、
タイマ自身に誤差補正実行の論理回路をタイマ自身に内
蔵させることをも目的としている。
するために、以下の手段を採用した。 <本発明の必須構成要件>図1に示すように、一定周波
数のクロックパルスを基に時刻データを生成するタイマ
2の精度を、外部の基準時刻を参照することにより補完
するコンピュータシステムのタイマ補正装置において、
一定のサイクル毎に前記タイマ2の時刻と前記基準時刻
とを比較して時刻の誤差を算出する比較手段4と、前記
比較手段4が算出した誤差を、前記サイクルで分割して
分割周期あたりの誤差を算出する誤差分割手段5と、前
記比較手段4が算出したサイクル誤差を前記サイクルに
つき1回補正し、前記誤差分割手段5が算出した前記分
割周期の誤差を前記サイクルの期間中前記分割周期毎に
補正する補正手段6と、を有するコンピュータシステム
のタイマ補正装置とした(請求項1に対応)。
成の意義は以下の通りである。 〔タイマ〕タイマ2は、水晶発振器等の発振器が発する
一定周波数のクロックパルスを基に時刻データを生成す
るカウンタであり、コンピュータシステムにおいては各
回路及び周辺装置との同期を図る目的で用いられる。ま
た、発振器及びタイマは共に精度に限界があり、外部の
より正確な基準時刻の定期的な参照が必須である。基準
時刻は、前記タイマ2に正確な時刻とパルスを供給する
ようにハードウェア的に接続されている。
ル毎に前記タイマ2の時刻と前記基準時刻とを比較して
時刻の誤差を算出する比較回路であり、デジタル比較器
及びアナログ比較器のどちらも利用可能である。
比較手段4が算出した誤差を、前記サイクルで分割して
分割周期あたりの誤差を算出するもので、本発明では、
シフトレジスタによる2進数除算回路51を用いる。
4が算出したサイクル誤差を前記サイクルにつき1回補
正し、前記誤差分割手段5が算出した前記分割周期の誤
差を前記サイクルの期間中前記分割周期毎に補正し、誤
差をカウントし補正シグナルに変換する補正カウンタ6
1、分割周期あたりの誤差を保持する補正バッファ等か
らなり、タイマ2に補正シグナルを送出する。 <付加的構成要素>また、このタイマ補正装置の付加的
構成要素を、以下に挙げる。
して、まず、前記タイマ補正装置は、前記誤差分割手段
5は2進数除算回路51であり、前記分割周期あたりの
誤差算出の際に前記2進数除算回路51により切り捨て
られる小数以下成分である端数誤差を保持するための端
数誤差補正バッファ63を有する。
上の自然数であるとき前記端数誤差の最上位桁から最下
位桁へ向かってn番目の桁の成分を、前記分割周期の2
n倍を周期として累算して、前記分割周期あたりの誤差
に加算する誤差加算手段65を有するような構成であっ
てもよい(請求項2に対応)。
成要素として、前記タイマ2は、自身が前記基準時刻よ
り進んでいるときには進んでいる時刻分カウントを停止
し、自身が前記基準時刻より遅れているときには遅れて
いる時刻分倍速でカウントする論理回路を備えることを
特徴とする前記タイマ補正装置である(請求項3に対
応)。
が経過済みであるかどうかの判定と、タイマ2の時刻の
サンプリング、サイクル誤差の算出、及び進みの誤差か
遅れの誤差かの判定とを比較手段4に対して指示するこ
と、サイクル誤差の分割を誤差分割手段5に対して指示
すること、さらに、分割周期あたりの誤差算出の履歴の
判定及びその結果に従って分割周期あたりの誤差の量の
調整をした上で、前記サイクル誤差と分割周期あたりの
誤差を補正手段6内にセットする処理を行うこと、の各
処理が整えば本発明のタイマ補正が完了する。
手段が2進数除算回路51であるときに、前記2進数除
算回路51が分轄周期あたりの誤差を算出する際生じる
端数誤差を端数誤差補正バッファにセットする行程が、
上記必須構成要素に加わることで前記端数誤差がタイマ
補正に反映される。
0"とし、結果的にクロック停止補正となる。 タイマ2が遅れている場合 タイマカウンタの最下位の1つ上の桁において"1"を加
算し、すなわち、全段では10進法の"2"に相当する加
算をして、倍速の補正となる。
ピュータシステムの動作の基準となる時刻データを生成
するタイマにおいて、本発明を実施した例を、図2から
図5に基いて説明する。
行っているタイマ部の構成を示すブロック図である。水
晶発振器1は非常に短い周期(数MHz〜数十MHz、
精度50ppm)でクロックパルスを発しており、前記
水晶発振器1に接続のタイマ2は、水晶発振器1からの
クロックパルスを基に時刻データ生成し、コンピュータ
システム内にあって各回路及び周辺装置との同期を図る
ための基準時刻を送出している。
であり、タイマ部において利用可能にハードウェア的に
接続されている。前記時刻源3からは時刻データと秒パ
ルスがタイマ2、比較回路4、補正回路6aへ送出され
る。ここでいう時刻データは年月日時分秒のそれぞれが
BCD形式(Binary Coded Decimal:2進化10進数)
のものである。
比較回路4に接続され、比較回路4の出力は誤差分割回
路5及び前記補正回路6aに接続され、前記誤差分割回
路5の出力は前記補正回路6aに接続され、さらに補正
回路6aの出力は前記タイマ2に接続されている。
アルタイムクロックと呼ばれる一種のカウンタである。
水晶発振器等の発振器が発する一定周波数のクロックパ
ルスを計数して、予め設定入力された時刻から現在の時
刻を換算し、時刻情報の出力を継続的に行うものであ
る。コンピュータシステムにおいては、各回路及び周辺
装置との同期を図る目的で用いられる。本発明実施の対
象となるタイマとしては、TODタイマ等の他のもので
あってもよい。
一定サイクル(補正サイクル)毎に、前記タイマ2の発
する時刻データと前記時刻源3からの時刻データを比較
して誤差ΔTを算出しかつそれが進みであるか遅れであ
るか判断するものである。本実施例における補正サイク
ルは2048秒に1回の周期である。
比較回路4が算出した前記補正サイクル分の誤差を補正
サイクルの値2048で除算し、1秒あたりの誤差Δt
に分割するためもので、シフトレジスタによる2進数除
算回路51を利用している。
が算出した補正サイクルあたりの誤差ΔTを基に、タイ
マ2に補正シグナルを送出する。タイマ2では前記比較
回路4からの進み又は遅れであるかの情報により補正シ
グナル分の補正が行われる。
る。まず、システム起動時又はタイマリセット時から起
算した最初の2048秒間の誤差ΔTが補正カウンタ6
1にセットされる。補正カウンタ61がΔTを「値が0
になるまで」デクリメントした際の時間を前記2048
秒間の誤差分の補正シグナルとし、進みか遅れかの情報
と共にタイマ2に送られる。
秒あたりの誤差Δtは、補正回路内の毎秒補正バッファ
62で保持される。そして、前記時刻源3からの秒パル
スの入力がある毎に前記Δtは前記補正カウンタ61に
セットされ、補正カウンタ61がΔtを「値が0になる
まで」デクリメントした際の時間を1秒あたりの誤差の
補正シグナルとし、タイマ2に毎秒送られる。これによ
り本実施例は、毎秒補正とも呼べるものである。
上の2つの処理が併せ行われる(請求項1、3に対
応)。 〔毎秒補正のCPUの処理内容〕ここで、上記毎秒補正
の実行時のCPU(図示せず)の処理内容を図4のフロ
ーチャートに基づいて説明する。
マのリセット(初期化)により開始する。まずCPU
は、この補正サイクルが経過済みであるかどうかの判定
を行う(ステップ(S101)。補正サイクルの途中で
あると判断するとステップS101の前に戻る。
ば、前記比較回路4により、タイマ2の時刻をサンプリ
ングを行い(ステップS102)、前記時刻源3からの
時刻データとを比較して誤差ΔTの算出を行う(ステッ
プS103)。同時に、それが進みの誤差+ΔTである
か遅れの誤差−ΔTであるかを判定させ(S104)、
比較回路4は、+ΔTならフラグを1に(ステップS1
05)、−ΔTならばフラグを0に(ステップS10
6)する。
ΔTを前記補正回路6a内の補正カウンタ61にセット
する(ステップS107)。その間に、前記誤差分割回
路5により1秒あたりの誤差Δtが算出を行う(ステッ
プS108)。
秒あたりの誤差Δtの算出がされているか否かを判定
し、もし無ければそのままの誤差Δtを前記毎秒補正バ
ッファ62にセットし(ステップS111)、また毎秒
補正バッファ62内に過去の誤差Δtが既に保持されて
いれば、その過去の誤差Δtに新たな誤差Δtを加算
し、改めて毎秒補正バッファ62セットする(ステップ
S110)。
正回路6a内で生成された補正シグナルがタイマ2に送
られて、実際に誤差が補正される方式を説明しておく。
は、本実施例が採用するタイマ2の論理回路を示してお
り、最下位桁(the Least Significant Bit;LSB)
から最上位桁(the Most Significant Bit;MSB)へ
の各段は、EXCLUSIVE OR回路(XOR)と
AND回路からなる半加算器とフリップフロップ(F
F)とで構成されている。
通常の加算回路に対する本実施例での追加部分である。
補正回路からの補正シグナルの送出がない通常状態では
インバータ21の入力は"0"なのでLSBへの入力は"
1"である。
イマ2が遅れている場合とに分けて、補正の実行方式を
説明する。尚、この際、クロック単位の長さは1する。 タイマ2が進んでいる場合 前記補正回路6aから減速の補正の指示、すなわち、減
速の(=進み誤差の)フラグと倍速の補正シグナルとが
送出されたこととすると、インバータ21とAND回路
22の一方の端子22aとには"1"が入力され、同時に
AND回路22の他方の端子22bには減速のフラグ"
0"が入力される。
出力され、OR回路23の出力はLSBからの繰り上が
りのみが反映されLSB+1への影響はない。一方、L
SBへはインバータ22からの"0"が入力される。よっ
て、本来"1"であるタイマのインクリメント動作が"0"
となり、クロック単位1の間タイマを停止させる。 タイマ2が遅れている場合 前記補正回路6aから加速の補正の指示、すなわち、加
速の(=遅れ誤差の)フラグと倍速の補正シグナルとが
送出されたこととすると、インバータ21とAND回路
22の一方の端子22aとには"1"が入力され、同時に
AND回路22の他方の端子22bには加速のフラグ"
1"が入力される。
力され、の減速の補正時と同様にLSBへの入力は"
0"である。一方、LSB+1ではAND回路22から"
1"が出力され、OR回路23でLSBからの繰り上が
り分加算されることになる。LSB+1における加算1
は全段では10進法の加算2に相当し、本来"1"である
タイマのインクリメント動作が"2"となり、クロック単
位1の間タイマを倍速で動作させ、倍速の補正が実行さ
れることとなる。
は、以下の式の通りである(タイマの同期精度をAt
1、水晶発振器の精度をAc、補正サイクルをCjとす
る。)。
路の制約上誤差が生じるので上式のようになる。
2回目以降のサイクルの1秒から2秒の1秒間の最大誤
差は、50ppm+2(50ppm−Δt)であり、以
後増加を続け、結局本実施例で得られる同期精度は、5
0ppm+2048(50ppm−Δt)となる(式
2、図6)。従来例での誤差は、このグラフでいえば初
めのサイクルのΔTに相当し、本実施例で精度が、各段
に向上しているのが分かる。
12に基づいて説明する。本実施例は、実施例1に対
し、誤差分割回路及び補正回路の一部に変更を加えたも
のなので変更部分を中心に説明する。
差分割回路と補正回路と端数誤差補正バッファ63、秒
パルスカウンタ64、誤差加算回路65の追加が施され
ている(図7、図10)。また、設定された補正サイク
ルも2048秒に1回の周期である。
1の誤差分割回路5は、シフトレジスタによる2進数除
算回路51を用いて誤差ΔTを2048で除算して1秒
あたりの誤差Δtを求めるものであると述べた。
進法に変換したその数値を小数点に対してn桁分右にず
らすことで求められる。これを応用したのが、2進数除
算回路であり、nビット右にシフトすることにより除算
が達成される。その際小数点より右にシフトした成分は
レジスタの回路では消失してしまい、通常は利用できな
いという問題がある。
は、右側に11ビット(2の11乗=2048)ずらさ
れることで、総桁数(図では長方形ΔTの長さに相当)
は変化しないものの小数点(破線)を境にΔt1とΔt
2の2つに分かれてしまっている。右側にはみ出た11
ビット分(図の長方形Δt2の長さ)が消失分である。
と、ΔTは2048秒間の誤差であり、Δt1は誤差分
割回路が算出(ΔT/2048)した1秒あたりの誤差
であり、Δt2は2進数除算回路が除算することで生じ
てしまった小数以下の端数成分(以下、端数誤差)であ
る。
ΔT−Δt1に相当)をできる限り補正に反映させるこ
とで、タイマの精度をさらに高めるものである。 <端数誤差の補正>図7は、本実施例のタイマ部の構成
を示すブロック図である。
b内で、2進数除算回路51がΔTを2048で除算し
てΔt1を算出した際に発生する端数誤差Δt2は、補
正回路6b内の端数誤差補正バッファ63に送られ1サ
イクル中保持される。尚、端数誤差補正バッファ63
は、本実施例では補正回路6b内に配置したが、補正回
路6b外でも構わない。
1秒あたりの誤差Δt1に加算する回路である。前記Δ
t2は小数以下の端数のため1秒間ではΔt1に加算で
きないが、もし、ある期間経過してΔt2の累算がΔt
1で処理可能な"1"になれば、その期間分のΔt1と合
算させて、それはその期間の真の誤差であると類推され
る。
る。すなわち、端数誤差Δt2の最上位桁(小数以下第
1位)から最下位桁(小数以下第11位:11ビットシ
フト時)へ向かってn番目の桁の成分を(nが1以上の
自然数)、2n秒分累算して初めて前記Δt1で処理可
能な値である"1"にすることができ、それをこの2n秒
を周期として前記1秒あたりの誤差Δt1に加算すれ
ば、より正確な誤差データが得られるということであ
る。
ば、2nを乗じても"0"のままでΔt1には影響を与え
ないので、この手段は、Δt2の内容に拘わらず用いる
ことが可能なことが理解されよう。
る。
伴って説明する。
クル誤差ΔTが+100000μsとすると、1秒あた
りの誤差の理論値は図中式の左辺(ΔT/補正サイク
ル)である。これを2進数除算回路で11ビット右シフ
トすると、図中式の右辺となる。図中表のA段と、B段
とで上記表1に相当し補正サイクルが一定な限り既定値
である。図中表のC段「1秒あたりn桁成分」は、図中
式の右辺の少数以下11ビット分"110101000
00"の各桁がそれぞれ対応しており(図中矢印)、さ
らに、図中表のD段は、理解の助けにC段「1秒あたり
n桁成分」を10進数に換算したものである。
のB段周期を乗じた結果が、それぞれE段の「各桁2n
秒間の累算」である。例えば、nが2の場合を考えると
(図中表のA段が2;少数以下第2位)、端数を累算す
べき周期は4秒(B段)であり、したがって、端数の累
算値はE段の値"1(D段*B段=0.25*4)"をみ
ればよい。
に表示される値は完全に一致しており、端数誤差Δt2
のn番目の桁の成分("0"または"1")をそのまま2n
秒毎にΔt1の最下位桁に加算しても端数誤差Δt2が
反映される。
作用を、実施例1との相違部分を中心に図10を用いて
説明する。
ルと進みか遅れかの情報とが共にタイマ2に送られる。
やはり、1秒あたりの誤差Δt1も前記誤差分割回路5
bで算出された後、補正回路内の毎秒補正バッファ62
で保持される。
2n秒の周期を記録しており、前記時刻源3からの秒パ
ルスをカウントし前記2n秒の周期が来たら信号を誤差
加算回路65に送る。誤差加算回路65はこの周期信号
を基に、前記端数誤差補正バッファ63に保持されてい
る端数誤差Δt2のn番目の桁の値を2n倍して、前記
毎秒補正バッファ62内のΔt1に加算する。
力がある毎にこのΔt1+Δt2が前記補正カウンタ6
1にセットされ、実施例1のΔtと同様に、補正カウン
タ61がΔt1+Δt2を「値が0になるまで」デクリ
メントした際の時間を1秒あたりの補正シグナルとし、
タイマ2に毎秒送出する(端数誤差補正、請求項2、3
に対応)。
による補正の実行時のCPU(図示せず)の処理内容を
図11のフローチャートに基づいて、やはり、実施例と
の相違部分を中心に説明する。
正回路6b内の補正カウンタ61にセットするまでは実
施例と同様であるので省略し、ステップS108から説
明する。
回路5bはΔTと補正サイクル2048秒から1秒あた
りの誤差Δt1を算出する。このとき、同時に端数誤差
Δt2も算出されていることになる。
における1秒あたりの誤差Δt1についての判定し、そ
れぞれの結果により前記毎秒補正バッファ62にセット
する(ステップS110、S111)。
ップS108で算出された端数誤差Δt2が端数誤差補
正バッファ63にセットされ、これにより本ルーチンを
終了する。
なタイマ同期精度の試算を行う。図12は、2回目以降
の任意の補正サイクル開始から16秒後までのタイマの
誤差の推移を示すグラフである。補正サイクルは204
8秒、サイクル誤差ΔTは+104320μs、とす
る。ΔTを補正サイクル2048で除して毎秒補正の量
Δt1=50が得られ、その際端数として0.9375
(0.11110000000)が発生する。また、理
論上、Δt1と端数の和50.9375μsは、水晶発
振器の精度Acに一致している。
る少数以下n桁に由来する端数誤差補正分として、少数
以下n桁に対応する端数誤差累算周期が、当該期間に到
来する毎に"1"が積算されることが分かるが、図12の
グラフに示された16秒間では、例えば、補正サイクル
開始後、少数以下1桁(n=1)に由来する補正分とし
て、その周期が到来する2,4,6,8,10,12,
14,16の各秒で"1"がΔt2に加算されてゆく。ま
た、逆にある時点でΔt2に加算される端数誤差補正量
は、その時に累算周期が到来し、かつ、少数以下の各桁
に表示されている値の和に相当する。例えば、本例のよ
うに端数が0.11110000000ならば、32秒
時点で周期が到来するのは、表1より少数以下1、2、
3、4、5の各桁であるが、少数以下5桁以降は"0"な
ので端数誤差補正量は"4"である。各秒の端数誤差補正
量はグラフの下部に示してある。
大値Ac分進もうとし(グラフで上向きの矢印)、その
都度Δt1の分だけ遅らせるための毎秒補正が行われる
が(下向きの破線矢印)、さらに、表1に示されたよう
に、端数誤差Δt2の少数以下n桁の成分が、前記端数
誤差累算周期に基づき、端数誤差Δt2として積算され
タイマの進み誤差から減算される(下向きの実線矢
印)。
の合計はΔt1算出の際の端数に補正サイクルを乗じた
値、0.9375*2048=1920である。同様
に、前記16秒間に行われる端数誤差補正量の合計は、
0.9375*16=15である。これらの関係を式に
表すと以下のようになる。
000の少数以下5桁目以降はすべて"0"なので、上位
の少数以下4桁目の端数累算周期"16秒(表1より求
められる)"が到来する度に誤差は"0"になることが分
かる(グラフの16秒時点)。この関係は、「2r秒毎
に誤差は"0"になる(rは前記端数で、値に"1"を持つ
桁のうち、最も右側の桁までの数:以下「端数の有効桁
数」とする)。」と表現できる。
での"−4"であり、その補正が行われる直前に、16秒
間中での最大の誤差0+4+50=54が発生してい
る。16秒時点で誤差は一旦"0"になっており、以下同
様のことが補正サイクル中繰り返されるので、補正サイ
クル全体での最大誤差も"54"である。
期精度At2は、式3を基に以下のように表すことが可
能である(Nは、端数Δt2の少数以下の各桁に表示さ
れている値の和であって、2r秒時の端数誤差補正量に
等しい)。
生じない場合にΔt1は、水晶発振器1の精度Acに理
論的に一致し、毎秒補正後に誤差は"0"になる(Ac=
Δt1=At2:一致しない原因としては、前記比較回
路4及び前記補正回路6bの精度や、前記ΔT自体に少
数部分があること、などが考えられる)。
ように「2r秒毎に誤差は"0"になる(rは前記端数の
有効桁数)。」ので、rが10以下ならば補正サイクル
の半分以下の期間(2r秒)でタイマを初期状態と同等
に戻すことができる。この点は、誤差の純粋な最大値で
測られるタイマの精度とは別に、本実施例のタイマ補正
装置を採用することの利点として特に挙げられる。
n秒毎に累算してΔt1に加算する手段を採用したが、
他にもΔt2の上位の1部のビットのみをある周期でま
とめて加算する手法も本実施例の応用として考えられ
る。このような手法の例として、16MHz(Ac=4
0ppm)の発振器を使用し、Δt2の上位4ビットを
16秒毎にまとめて加算する(下位7ビットは切り捨
て)ことで、48μsの同期精度を得ている例を挙げて
おく。
度の精度の計時が要求されるコンピュータシステムのタ
イマ補正装置において、ハードウェア的に処理すること
でCPUに新たな負担を掛けずにより短い間隔のタイマ
の誤差の補正が可能になり、よって精度の向上が実現さ
れる。
本クロックに手を加えたり倍周期クロックを付加したり
せずにタイマ自身に誤差補正実行のロジックをタイマ自
身に内蔵させる本発明の方式を採用することで、クロッ
ク制御回路及び倍周期クロック等の付加が必要なくな
る。
ロック図
を示すフローチャート
図
るグラフ
ロック図
明する図
を示すフローチャート
るグラフ
用例を示す図
ト
ト
Claims (2)
- 【請求項1】 一定周波数のクロックパルスを基に時刻
データを生成するタイマの精度を、外部の基準時刻を参
照することにより補完するコンピュータシステムのタイ
マ補正装置において、一定のサイクル毎に前記タイマの
時刻と前記基準時刻とを比較して時刻の誤差を算出する
比較手段と、前記比較手段が算出した誤差を、前記サイ
クルで分割した分割周期あたりの誤差を算出する誤差分
割手段と、前記比較手段が算出したサイクル誤差を前記
サイクルにつき1回補正し、かつ、前記誤差分割手段が
算出した前記分割周期あたりの誤差を前記サイクルの期
間中前記分割周期毎に補正する補正手段と、を有するこ
とを特徴とするコンピュータシステムのタイマ補正装置
であって、 前記誤差分割手段は2進数除算回路であり、前記分割周
期あたりの誤差算出の際に前記2進数除算回路により切
り捨てられる小数以下成分である端数誤差を保持するた
めの端数誤差補正バッファを有し、nが1以上の自然数
であるとき、前記端数誤差の最上位桁から最下位桁へ向
かってn番目の桁の成分を、前記分割周期の2n倍を周
期として累算して、前記分割周期あたりの誤差に加算す
る誤差加算手段を有する、ことを特徴とするコンピュー
タシステムのタイマ補正装置 。 - 【請求項2】 前記タイマは、自身が前記基準時刻より
進んでいるときには進んでいる時刻分カウントを停止
し、自身が前記基準時刻より遅れているときには遅れて
いる時刻分倍速でカウントする論理回路を備えることを
特徴とする請求項1記載のタイマ補正装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08100195A JP3457416B2 (ja) | 1995-04-06 | 1995-04-06 | コンピュータシステムのタイマ補正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08100195A JP3457416B2 (ja) | 1995-04-06 | 1995-04-06 | コンピュータシステムのタイマ補正装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08278828A JPH08278828A (ja) | 1996-10-22 |
JP3457416B2 true JP3457416B2 (ja) | 2003-10-20 |
Family
ID=13734281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08100195A Expired - Fee Related JP3457416B2 (ja) | 1995-04-06 | 1995-04-06 | コンピュータシステムのタイマ補正装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3457416B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4051840B2 (ja) * | 1999-05-28 | 2008-02-27 | 富士電機システムズ株式会社 | 分散されているシステム機器の同期装置 |
GB2400962B (en) * | 2001-05-02 | 2004-12-29 | Virtual Access Ltd | Secure payment method and system |
JP5965223B2 (ja) * | 2012-06-29 | 2016-08-03 | ルネサスエレクトロニクス株式会社 | クロック補正回路及びクロック補正方法 |
JP7328064B2 (ja) * | 2019-08-07 | 2023-08-16 | ファナック株式会社 | 同期方法、及び制御装置 |
-
1995
- 1995-04-06 JP JP08100195A patent/JP3457416B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08278828A (ja) | 1996-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5826066A (en) | Method for keeping accurate time in a computer system | |
US4564918A (en) | Method and apparatus for measuring the time difference between two sampling times | |
CN1909375A (zh) | 实时时钟装置及其当前时刻补偿方法 | |
JP2009181576A (ja) | 計算機又はプログラム可能機械において時間値を処理するための方法 | |
US9979991B2 (en) | Method and apparatus for deterministic date and time alignment of media signals and generation of time-related labels | |
US20070038690A1 (en) | Adjustable time accumulator | |
JP3457416B2 (ja) | コンピュータシステムのタイマ補正装置 | |
EP1041469A2 (en) | Method and apparatus for extending a resolution of a clock | |
KR100414864B1 (ko) | 디지탈카운터및디지탈pll회로 | |
US20070262822A1 (en) | Digitally controlled oscillator with jitter shaping capability | |
EP1357460B1 (en) | A numerically controlled oscillator (NCO) for generating rational frequencies | |
EP1612942A1 (en) | A fractional divider system and method | |
JP7397686B2 (ja) | 時刻生成装置 | |
CN110061735B (zh) | 小数分频电路及采用该电路的接口时钟分频电路 | |
US7489754B2 (en) | Frequency-lock detector | |
EP0459039A1 (en) | Apparatus and method for generating time data for computer networks | |
EP0922332B1 (en) | Frequency dividing circuit | |
US6882697B1 (en) | Digital counter | |
Plotnikov et al. | Peculiarities of NTP protocol realization for microprocessor systems with limited computing resources | |
JPH07301685A (ja) | クロック回路 | |
US11886534B2 (en) | Filtering method and system of parallel computing results | |
JP3123998B2 (ja) | A/d変換機能を内蔵したシングルチップマイクロコンピュータ | |
JP2003194974A (ja) | 時刻補正方法及び時刻補正装置 | |
KR100282478B1 (ko) | 디지털 프로세서 위상 고정루프 위상검출 제어방법 및 그 장치 | |
JP2651300B2 (ja) | タイマ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030708 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080801 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100801 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130801 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |