(57)【要約】【課題】時間と共に変動するＣＰＵ動作周波数の安定度を精密に評価する方法及びシステムを提供する。【解決手段】ネットワークにより接続された２台のプロセッサのうち，第１のプロセッサにおいて予め定められた送出間隔毎にプロセッササイクルカウンタ値（ＰＣＣ値）を読み取り，第１のプロセッサから第２のプロセッサへネットワークを介してＰＣＣ値を送出し，前記ＰＣＣ値の受信時に，第２のプロセッサが自己のＰＣＣ値を読み取り，前記受信した第１のプロセッサのＰＣＣ値と読み取った自己のＰＣＣ値とを蓄積し，前記蓄積したＰＣＣ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のＰＣＣ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価する。【選択図】　　　　図１
2004030511.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価方法であって，
ネットワークにより接続された２台のプロセッサのうち，第１のプロセッサにおいて予め定められた送出間隔毎にプロセッササイクルカウンタ値を読み取り，第１のプロセッサから第２のプロセッサへネットワークを介してプロセッササイクルカウンタ値を送出するステップと，
前記プロセッササイクルカウンタ値の受信時に，第２のプロセッサが自己のプロセッササイクルカウンタ値を読み取り，前記受信した第１のプロセッサのプロセッササイクルカウンタ値と読み取った自己のプロセッササイクルカウンタ値とを蓄積するステップと，
前記蓄積したプロセッサカウンタ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価するステップとを有する
ことを特徴とするネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価方法。
【請求項２】
前記蓄積したプロセッサカウンタ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価するステップは，
前記蓄積した第１のプロセッサのプロセッササイクルカウンタ値と第２のプロセッサのプロセッササイクルカウンタ値に基づいて回帰直線を求めるステップと，
前記第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値の前記回帰直線との残差の標準偏差を算出するステップと，
前記算出した標準偏差を第１のプロセッサ又は第２のプロセッサのうち，一方のＣＰＵ動作周波数期間安定度として出力するステップとを有する
ことを特徴とする請求項１記載のネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価方法。
【請求項３】
前記第１のプロセッサ又は第２のプロセッサのうち，いずれか一方のプロセッサは，セシウム基準信号発生器を用いて駆動する
ことを特徴とする請求項１記載のネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価方法。
【請求項４】
ネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価システムであって，
ネットワークにより接続された２台のプロセッサのうち，第１のプロセッサにおいて予め定められた送出間隔毎にプロセッササイクルカウンタ値を読み取り，第１のプロセッサから第２のプロセッサへネットワークを介してプロセッササイクルカウンタ値を送出する手段と，
前記プロセッササイクルカウンタ値の受信時に，第２のプロセッサが自己のプロセッササイクルカウンタ値を読み取り，前記受信した第１のプロセッサのプロセッササイクルカウンタ値と読み取った自己のプロセッササイクルカウンタ値とを蓄積する手段と，
前記蓄積したプロセッサカウンタ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価する手段とを備える
ことを特徴とするネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価システム。
【請求項５】
前記蓄積したプロセッサカウンタ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価する手段は，
前記蓄積した第１のプロセッサのプロセッササイクルカウンタ値と第２のプロセッサのプロセッササイクルカウンタ値に基づいて回帰直線を求める手段と，
前記第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値の前記回帰直線との残差の標準偏差を算出する手段と，
前記算出した標準偏差を第１のプロセッサ又は第２のプロセッサのうち，一方のＣＰＵ動作周波数期間安定度として出力する手段とを有する
ことを特徴とする請求項４記載のネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価システム。
【請求項６】
前記第１のプロセッサ又は第２のプロセッサのうち，いずれか一方のプロセッサは，セシウム基準信号発生器を用いて駆動する
ことを特徴とする請求項４記載のネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ＣＰＵ動作周波数の安定度を評価する技術に関し，特に，時間と共に変動する動作周波数の安定度を精密に評価する方法及びシステムに関する。
【０００２】
【従来の技術】
近年，パーソナルコンピュータ（ＰＣ）の利用が広がるにつれ，より高精度なＣＰＵの動作周波数の安定度が望まれている。例えば，電子商取引（参考文献［１］）やネットワーク計測（参考文献［２］）を始め，ＰＣで高精度な時刻情報を扱う要求が高まってきているが，時刻の元となる動作周波数の高い安定性は欠かせない。しかし，通常のＰＣは，温度保証されていない水晶振動子（ＳＰＸＯ：Ｓｉｍｐｌｅ　Ｐａｃｋａｇｅｄ　Ｃｒｙｓｔａｌ　Ｏｓｃｉｌｌａｔｏｒ）により駆動されているため，動作周波数は気温の影響を強く受け，毎秒１０−５程度変動することもあり，ＰＣで時刻情報を利用する上での障害となっている。
【０００３】
ＰＣの時刻情報を維持するには，ｎｔｐ（参考文献［３］）が用いられることが多いが，上記ＳＰＸＯの問題点により，高精度な時刻を維持するためには，頻繁に時刻合わせを行う必要がある。しかし，時刻は単調増加であるべきであるが，時刻合わせ時には，進みすぎている時計を逆方向に戻す場合もあり，時刻合わせは少ない方が良い。また，ｎｔｐはサーバおよびネットワークに負荷を与えるため，やはり，頻繁な時刻合わせは好ましくはない。
【０００４】
このようなＳＰＸＯの問題点を解決するため，ＳＰＸＯをより高精度な振動子に置き換える研究が進められている。例えば，温度補償型水晶（ＴＣＸＯ：Ｔｅｍｐｅｒａｔｕｒｅ　Ｃｏｍｐｅｎｓａｔｅｄ　Ｃｒｙｓｔａｌ　Ｏｓｃｉｌｌａｔｏｒ）を用いて，１日の累積時刻ずれを１ミリ秒程度まで削減する技術がある（参考文献［４］）。また，セシウム基準信号発生器を用いて，３２秒間での累積時刻ずれが１ナノ秒以下とする技術もある（参考文献［５］）。また，ＣＰＵの動作周波数の平均値を求めることにより，時刻合わせの頻度を大きく削減する技術もある（参考文献［６］）。
（参考文献）
［１］宇根正志，松浦幹太，田倉昭：”ディジタルタイムスタンプ技術の現状と課題”，金融研究，ｐｐ．１０５−１５３，Ａｐｒ．２０００＜ＵＲＬ＝ｈｔｔｐ：／／ｗｗｗ．ｉｍｅｓ．ｂｏｊ．ｏｒ．ｊｐ／ｊａｐａｎｅｓｅ／ｋｉｎｙｕ／２０００／ｋｋ１９−ｂ１−４．ｐｄｆ　＞．
［２］ＲＦＣ２３３０：”Ｆｒａｍｅｗｏｒｋ　ｆｏｒ　ＩＰ　Ｐｅｒｆｏｒｍａｎｃｅ　Ｍｅｔｒｉｃｓ”
［３］Ｄ．Ｌ．Ｍｉｌｌｓ，”Ｎｅｔｗｏｒｋ　Ｔｉｍｅ　Ｐｒｏｔｏｃｏｌ
（Ｖｅｒｓｉｏｎ３）”，ＲＦＣ１３０５，Ｍａｒｃｈ　１９９２．
［４］前野年紀：”時刻合わせにシステムタイマーを活用する，”＜ＵＲＬ＝ｈｔｔｐ：／／ｔｅｈａｎｕ．ｈｐｃｌ．ｔｉｔｅｃｈ．ａｃ．ｊｐ／ｔｉｍｅ／ｔｃｘｏ．ｈｔｍｌ＞．
［５］Ｈ．Ｏｋａｚａｗａ，Ｙ．Ｋｉｔａｇｕｃｈｉ，ｅｔ　ａｌ．：”Ａｄｖａｎｃｅｄ　ＮＴＰ　Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ　Ｄｅｖｉｃｅ　ｆｏｒＩｎｔｅｒｎｅｔ　Ｍｏｎｉｔｏｒｉｎｇ　Ｔｏｏｌｓ，”Ｐｒｏｃ．　ＩＮＥＴ２００１，Ｓｔｏｃｋｈｏｌｍ，Ｊｕｎｅ　２００１
［６］Ｄ．Ｊ　Ｂｅｒｎｓｔｅｉｎ　：”ｃｌｏｃｋｓｐｅｅｄ，”＜ＵＲＬ＝ｈｔｔｐ：／／ｃｒ．ｙｐ．ｔｏ／ｃｌｏｃｋｓｐｅｅｄ．ｈｔｍｌ　＞．
【０００５】
【発明が解決しようとする課題】
しかし，上記従来技術では，ＰＣの時刻精度は累積時間で評価されているため，正負のずれが打ち消し合ってしまい，動作周波数の安定度を正確に評価することができないという問題点があった。即ち，従来技術では，時間と共に変動する動作周波数を直接評価することができないという問題点があった。
【０００６】
本発明は，上記従来技術の問題点を解決し，時間と共に変動する動作周波数の安定度を精密に評価する方法及びシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するため，本発明では，ネットワークにより接続された２台のＰＣ等の端末のプロセッササイクルカウンタ（ＰＣＣ：Ｐｒｏｃｅｓｓｏｒ　Ｃｙｃｌｅ　Ｃｏｕｎｔｅｒ）を比較することにより，前記２台の端末のうち，いずれか１台の端末の動作周波数の安定度を評価する。
【０００８】
図２は，本発明によるＣＰＵの動作周波数期間安定度評価方法の原理を示す図である。本発明は，ＰＣ等の端末の動作周波数の安定度を評価するために，ネットワークにより接続された２台の端末のＰＣＣのカウントアップ間隔を比較する。ＰＣＣは，端末の起動時からのＣＰＵ動作サイクルをカウントしており（例えば，Ｉｎｔｅｌ　Ｐｅｎｔｉｕｍ（登録商標）系プロセッサでは，６４ビットのカウンタ値），ＲＤＴＳＣ命令によりカウンタ値を読み出すことができる。従って，端末の起動時の時刻をｔ０　［ｓｅｃ］とすれば，時刻ｔでのＰＣＣ値Ｃは，
Ｃ＝Ｒ（ｔ−ｔ０　）　　（１）
で表すことができる。ただしＲ［ｓｅｃ−１］は，ＣＰＵの動作周波数である。
【０００９】
次に，２台の端末の動作周波数を，それぞれＲ１　，Ｒ２　とし，起動時刻を，それぞれｔ１　，ｔ２　とすれば，２台の端末のＰＣＣカウンタ値Ｃ１　，Ｃ２　は，それぞれ
Ｃ１　＝Ｒ１　（ｔ−ｔ１　）　　（２）
Ｃ２　＝Ｒ２　（ｔ−ｔ２　）　　（３）
となる。式（２）および式（３）からｔを消去すると，
Ｃ２　＝（Ｒ２　／Ｒ１　）Ｃ１　＋Ｒ２　（ｔ１　−ｔ２　）　　（４）
であり，仮に，Ｒ１　およびＲ２　が一定であれば，Ｃ１　とＣ２　は，図２の実線で示すように，比例関係となる。
【００１０】
しかし，２台の端末の一方又は双方がＳＰＸＯ駆動端末の場合は，振動子の安定度が低いため，ＣＰＵの動作周波数を一定とは考えることができず，実際のＰＣＣの計測値は，図２の破線のように，曲線状となる。この時，実際のＰＣＣの計測値の直線からのずれが，ＣＰＵの動作周波数のずれを表している。実際に計測できるのは，破線のみで，実線は計測できないため，計測値から最小二乗法により回帰直線を求めると，回帰直線との残差の標準偏差が，両端末の動作周波数の一致度を評価する指標となる。ここで，一方の端末がセシウム基準信号発生器などを用いて駆動し，動作周波数が十分に安定していれば，この標準偏差は，他方の端末の動作周波数の安定度を表すことになる。また，曲線の傾きは，両端末のＣＰＵの動作周波数の比Ｒ２　／Ｒ１　を表している。
【００１１】
また，ＣＰＵの動作周波数は，短期間だけ見れば，回帰直線からの残差が小さくなるため，標準偏差は測定期間の関数となる。従って，本発明において上記端末の動作周波数の安定度を表す指標をＣＰＵ動作周波数期間安定度と呼ぶ。
【００１２】
即ち，本発明は，ネットワークを用いたＣＰＵ動作周波数期間安定度の精密評価方法又は精密評価システムであって，ネットワークにより接続された２台のプロセッサのうち，第１のプロセッサにおいて予め定められた送出間隔毎にプロセッササイクルカウンタ値を読み取り，第１のプロセッサから第２のプロセッサへネットワークを介してプロセッササイクルカウンタ値を送出し，前記プロセッササイクルカウンタ値の受信時に，第２のプロセッサが自己のプロセッササイクルカウンタ値を読み取り，前記受信した第１のプロセッサのプロセッササイクルカウンタ値と読み取った自己のプロセッササイクルカウンタ値とを蓄積し，前記蓄積したプロセッサカウンタ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価することを特徴とする。
【００１３】
また，本発明は，前記蓄積したプロセッサカウンタ値をもとに，第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値を基準として，他方のＣＰＵ動作周波数期間安定度を評価するにあたり，前記蓄積した第１のプロセッサのプロセッササイクルカウンタ値と第２のプロセッサのプロセッササイクルカウンタ値に基づいて回帰直線を求め，前記第１のプロセッサ又は第２のプロセッサのうち，一方のプロセッササイクルカウンタ値の前記回帰直線との残差の標準偏差を算出し，前記算出した標準偏差を第１のプロセッサ又は第２のプロセッサのうち，一方のＣＰＵ動作周波数期間安定度として出力することを特徴とする
また，本発明は，前記第１のプロセッサ又は第２のプロセッサのうち，いずれか一台のプロセッサは，セシウム基準信号発生器を用いて駆動することを特徴とする。
【００１４】
本発明を用いることにより，時間と共に変動する動作周波数の安定度を精密に評価することができるようになる。また，本発明を用いることにより，動作周波数の安定度と同時に動作周波数の平均値も計測することができるようになる。
【００１５】
【発明の実施の形態】
以下に，図を用いて本発明の実施の形態を説明する。図１は，本発明に係るＣＰＵ動作周波数期間安定度の評価システムの概要を示す図である。１は送信側ＰＣ，２は受信側ＰＣであり，３はネットワークである。１１は送信側ＰＣ１の振動子，１２はカウンタ，１３はパケット送信部，１４はＰＣＣ値読み出し部である。また，２１は受信側ＰＣ２のパケット受信部，２２はＰＣＣ値蓄積部，２３は振動子，２４はカウンタ，２５はＰＣＣ値読み出し部，２６はＰＣＣ値解析部，２７は出力部である。
【００１６】
本発明の実施の形態では，送信側ＰＣ１は，セシウム基準信号発生器等の高精度の振動子１１を用いており，その動作周波数Ｒ１　は十分に安定しているものとし，受信側ＰＣ２は，例えばＳＰＸＯを用いて駆動しており，その動作周波数Ｒ２　は，変動するものとする。
【００１７】
まず，送信側ＰＣ１において，ＰＣＣ値読み出し部１４が，カウンタ１２のＰＣＣ値を読み出し，パケット送信部１３が，読み出したＰＣＣ値をＵＤＰパケットに載せて，ネットワーク３を介して接続された受信側ＰＣ２へ送出する。受信側ＰＣ２では，パケット受信部２１が当該ＵＤＰパケットを受信したら，ＰＣＣ値読み出し部２５が，速やかにカウンタ２４から受信側ＰＣ２のＰＣＣ値を読み出す。そして，ＰＣＣ値蓄積部２２が，当該ＵＤＰパケット中の送信側ＰＣ１のＰＣＣ値と読み出した受信側ＰＣ２のＰＣＣ値を記録する。
【００１８】
ここで，送信側ＰＣ１のＰＣＣ値をＣ１　，受信側ＰＣ２のＰＣＣ値をＣ２　とし，送信側ＰＣ１が自己のＰＣＣ値Ｃ１　を読み出してから，受信側ＰＣ２が自己のＰＣＣ値Ｃ２　を読み出すまでの遅延をｄとすれば，時刻ｔに受信側ＰＣ１が自己のＰＣＣ値Ｃ１　を読み出して送出したＵＤＰパケットを受信側ＰＣ２が受信した後，自己のカウンタ２４から読み出したＰＣＣ値Ｃ２　は，次式で与えられる。
【００１９】
Ｃ２　＝Ｒ２　（ｔ−ｔ２　＋ｄ）　　（５）
この時，Ｃ１　は式（２）で表されることから，Ｃ１　とＣ２　は，
Ｃ２　＝（Ｒ２　／Ｒ１　）Ｃ１　＋Ｒ２　（ｔ１　−ｔ２　＋ｄ）　　（６）
の関係となる。ただし，遅延ｄは，ネットワークの変動やＰＣ内部でのスレッド切り替え，ＣＰＵのパイプライン処理の乱れ，ＤＭＡおよびネットワークインターフェースなどのバッファリングなどにより変動する。
【００２０】
式（６）において，Ｒ１　およびＲ２　が一定で，ｄに変動がないものとすれば，両ＰＣＣ値は，図２の実線のように直線となる。しかし，本発明の実施の形態においては，Ｒ２　が変動するため，Ｃ１　，Ｃ２　の実際の測定値をプロットすると，図２の点線部のような曲線となる。
【００２１】
そこで，本発明の実施の形態では，受信側ＰＣ２のＰＣＣ値解析部２６が，ＰＣＣ値蓄積部２２に記録された送信側ＰＣ１のＰＣＣ値と受信側ＰＣ２のＰＣＣ値を解析し，両ＰＣのＰＣＣ値に基づいた回帰直線を求めるとともに，ＰＣ２のＰＣＣ値Ｃ２　の実際の測定値の上記回帰直線との残差の標準偏差を求める。そして，出力部２７が，この標準偏差を受信側ＰＣ２のＣＰＵ動作周波数期間安定度として出力する。もちろん，本発明においては，受信側ＰＣ２の方にセシウム基準信号発生器等の高精度の振動子を用い，送信側ＰＣ１にＳＰＸＯ等の振動子を用いて，上記と同様の手法により，送信側ＰＣ１のＣＰＵ動作周波数期間安定度を求めることも可能である。
【００２２】
図３は，本発明のＣＰＵ動作周波数期間安定度評価処理フローの一例を示す図である。図３（ａ）は，送信側ＰＣ１の動作処理フロー，図３（ｂ）は，受信側ＰＣ２のＰＣＣ値測定処理フロー，図３（ｃ）は，受信側ＰＣ２のＰＣＣ値解析処理フローを示している。送信側ＰＣ１の動作周波数は十分に安定しているものとする。
【００２３】
図３（ａ）に示す送信側ＰＣ１の動作処理フローでは，まず，送信側ＰＣ１が，ＵＤＰパケットの送出周期かを判断し（ステップＳ１），ＵＤＰパケットの送出周期である場合は，カウンタ１２からＰＣＣ値を読み出し（ステップＳ２），受信側ＰＣ２に対してＵＤＰパケットを送出する（ステップＳ３）。ＵＤＰパケットの送出周期でない場合又はＵＤＰパケット送出後は，ステップＳ１に戻る。
【００２４】
図３（ｂ）に示す受信側ＰＣ２のＰＣＣ値測定処理フローでは，受信側ＰＣ２が，送信側ＰＣ２からＵＤＰパケットを受信したかを判断し（ステップＳ１１），ＵＤＰパケットを受信した場合は，自己のＰＣＣ値をカウンタ２４から読み出し（ステップＳ１２），ＵＤＰパケット中の送信側ＰＣ１のＰＣＣ値と受信側ＰＣ２のＰＣＣ値をＰＣＣ値蓄積部２２に記録する（ステップＳ１３）。なお，ＵＤＰパケットを受信していない場合は，ステップ１１に戻る。
【００２５】
図３（ｃ）に示す受信側ＰＣ２のＰＣＣ値解析処理フローでは，受信側ＰＣ２は，ＰＣＣ値蓄積部２２に記録されたＰＣ１とＰＣ２のＰＣＣ値から回帰直線を算出した上で（ステップＳ２１），ＰＣ２のＰＣＣ値の上記回帰直線との残差の標準偏差を算出し（ステップＳ２２），算出した標準偏差をＰＣ２のＣＰＵ動作周波数期間安定度として出力する（ステップＳ２３）。
【００２６】
図４および図５は，それぞれ，ＵＤＰパケット送出間隔によるジッタの変化とＵＤＰパケットサイズによるジッタの変化を示す図である。ネットワーク３を介してデータを送る際に，ＵＤＰパケットのサイズ及び送出間隔は，遅延ｄに影響を与え，ジッタを変化させる。ジッタが大きくなると，評価値の精度が低下するため，使用できるＵＤＰパケットのサイズ及び送出間隔を事前に決めておく必要がある。ここでは，実際にＰＣを用いて測定することにより，ＵＤＰパケットのサイズ及び送出間隔のジッタへの影響を調べた。
【００２７】
測定ではネットワークの変動を取り除くため，２台のＰＣをクロスケーブルにより直結し，ＰＣ内部の変動も極力抑えるため，不要なデーモン類は止めている。また，測定に用いたＰＣの仕様を図６に示す。
【００２８】
まず，ＵＤＰパケット送出間隔によるジッタの変化について図４を用いて説明する。図４は，ＵＤＰパケット送出間隔を５０マイクロ秒から１秒まで変化させた場合のジッタの分布を示している。なお，ＵＤＰパケットサイズは標準的なサイズである６００バイトを用いている。図４では，２ミリ秒以下と２０ミリ秒以上では標準偏差の特性が異なっており，２ミリ秒以下ではジッタが大きく，ＵＤＰパケット送出間隔が短くなると共にジッタは増加するが，２０ミリ秒以上では，安定してジッタは小さい。
【００２９】
次に，ＵＤＰパケットサイズによるジッタの変化について図５を用いて説明する。図５は，ＵＤＰパケットサイズを変化させた場合のジッタの分布を示している。ＵＤＰパケット送出間隔は，図４を用いた上記の結果より，ジッタが小さくなる２０ミリ秒とした。図５より，ＵＤＰパケットサイズが４００バイト以下と１４００バイト以上では，ＵＤＰパケットサイズ変化に伴うジッタの変化が大きい。また，４００バイトから１４００バイトの間では，ＵＤＰパケットサイズが大きくなるに従って，緩やかにジッタが増加する。
【００３０】
以上の結果より，送出間隔は２０ミリ秒以上，ＵＤＰパケットサイズは４００バイト〜１４００バイト程度でジッタが安定していることがわかる。また，ここで得られた，それぞれの送出間隔およびＵＤＰパケットサイズでのジッタが，本発明の実施の形態で用いたシステムでの測定限界と考えられるが，用いるＰＣのハードウェアおよびソフトウェア構成により変化すると考えられるので，本発明を適用する前に，用いるＰＣの特性を把握する必要がある。
【００３１】
図７乃至図１２は，送信側ＰＣ１をセシウム基準信号発生器により駆動させ，受信側ＰＣ２をＳＰＸＯ，ＯＣＸＯ，ＯＣＸＯ／ＧＰＳおよびセシウム基準信号発生器により駆動させてＰＣ２の安定度を測定した結果を示す図である。測定期間は１週間とし，３月から５月にかけて日中のみエアコンを運転した室内で運用した。室温は約１０℃から２５℃で変化した。ＵＤＰパケットサイズは図５に示した結果より，ジッタが安定する６００バイトとしている。また，送出間隔は，１００ミリ秒または１０秒とし，１時間以上長期に渡る場合には，データ量削減のため，１０秒間隔とした。
【００３２】
まず，受信側ＰＣ２がＳＰＸＯで駆動する場合の測定データを図７及び図８に示す。図７及び図８の横軸は，送信側ＰＣ１のＰＣＣ値を８．６４×１０１３で除した値を目盛としている。送信側ＰＣ１の動作周波数が約１ＧＨｚであるので，１目盛が約１日分の運転時間に相当する。
【００３３】
また，図７においては，送信側ＰＣ１と受信側ＰＣ２のＰＣＣ値を最小二乗法により直線近似し，ＰＣ２のＰＣＣ測定値の回帰直線との残差を縦軸に表している。これは，変動が小さいため，単純にグラフ化したのでは，図２のように視覚的に差を認識することが困難であるため，差分のみを表示することにしたものである。例えば，縦軸における目盛値４は，４×１０６　クロックの残差を表している。標準偏差は１．６×１０７　である。また，図７より，残差は日周期で変動していることが判るが，これは，１日の気温変化が影響していると思われる。
【００３４】
一方，図８は，移動平均を用いてＰＣ１とＰＣ２の動作周波数の比Ｒ２　／Ｒ１　の変動を計算した結果である。図８において，縦軸の目盛り値が例えば２×１０−７の場合，Ｒ２　／Ｒ１　が１．００００１３６＋２×１０−７であることを意味する。図８より，ＰＣ２のＣＰＵの動作周波数が１０−６程度変動していることが判る。
【００３５】
次に，受信側ＰＣ２がＯＣＸＯで駆動する場合の測定データを図９及び図１０に示す。ＯＣＸＯは加熱器により水晶を一定の高温に保っている。図９は，ＰＣ２のＰＣＣ測定値の回帰直線との残差を表し，標準偏差は１．１×１０４　とＳＰＸＯに比べると小さくなり，安定度が高いことが判るが，Ｒ２　／Ｒ１　の変動を示す図１０では，僅かに日変動が見られる。ＣＰＵの動作周波数は１０−９程度変動している。
【００３６】
更に，受信側ＰＣ２がＯＣＸＯ／ＧＰＳで駆動する場合の測定データを図１１に示す。本実施の形態におけるＯＣＸＯ／ＧＰＳには，Ｔｒｉｍｂｌｅ社のＴｈｕｎｄｅｒｂｏｌｔを用いた。ＯＣＸＯ／ＧＰＳは，ＯＣＸＯをＧＰＳの１ｐｐｓにより位相ロックするため，長期安定度が良いと期待される。
【００３７】
測定した結果，図１１は，最小二乗法による残差を表しているが，優位な変動は見られず，標準偏差は８４９であり，ほぼ，測定限界に達している。一方，ＣＰＵの動作周波数の変動もノイズに埋もれてしまい，１週間程度の測定では計算できないほどに小さい。これは，本発明の実施の形態で用いたＴｈｕｎｄｅｒｂｏｌｔでは１０ＭＨｚのＯＣＸＯが使われているが，ＯＣＸＯの周波数安定度が１０−９程度であるので，１秒間では１周期以上ずれることはなく，ＧＰＳによる１ｐｐｓ信号による位相ロックが極めて有効であるためと考えられる。
【００３８】
最後に，受信側ＰＣ１と送信側ＰＣ２が共にセシウム駆動の場合の残差を図１２に示す。図１２に示すように，ＯＣＸＯ／ＧＰＳと同様に優位な変動は見られず，標準偏差はＯＣＸＯ／ＧＰＳより更に小さく，６８２であった。この場合の残差は，主に，ＯＳのプロセス切り替え，ＤＭＡやネットワークインターフェースなどのバッファリングによると思われるが，Ｍａｒｔｉｎｓによれば，ＯＳ無しでパラレルポートからデータ入力を行う場合には，数十ナノ秒にジッタは集中しており（参考文献：Ｐｅｄｒｏ　Ｍａｒｔｉｎｓ　ａｎｄ　Ａｎｔｏｎｉｏ　Ｃａｓｉｍｉｒｏ　：”Ｅｖｅｎｔ　Ｔｉｍｅｓｔａｍｐｉｎｇ　Ｔｏｏｌ：　ａ　ｓｉｍｐｌｅ　ＰＣ　ｂａｓｅｄ　ｋｅｒｎｅｌ　ｔｏ　ｔｉｍｅｓｔａｍｐ　ｄｉｓｔｒｉｂｕｔｅｄ　ｅｖｅｎｔｓ，”　Ｔｅｃｈｎｉｃａｌ　ｒｅｐｏｒｔ　ｏｆ　Ｄｅｐａｒｔｍｅｎｔｏ　ｄｅ　Ｉｎｆｏｒｍａｔｉｃａ，Ｆａｃｕｌｄａｄｅ　ｄｅ　Ｃｉｅｎｃｉａｓ，Ｕｎｉｖ．Ｌｉｓｂｏａ，ＴＲ−００−４，Ｊｕｌ．２０００），図１２に見られるジッタはマルチタスクＯＳであるＬｉｎｕｘに起因していると考えられる。
【００３９】
図１３は，各振動子の動作周波数期間安定度を示す図である。図１３の横軸は期間を表し，縦軸は標準偏差を表している。図１３より，数分以内の短時間であれば，ＳＰＸＯの標準偏差は十分小さく，安定しているが，測定期間が１０００秒の手前から標準偏差が増加している。また，ＯＣＸＯは，１日程度までは十分安定しているが，測定期間が１０５　（秒）を越えたあたりから標準偏差が増加している。ＯＣＸＯ／ＧＰＳとセシウムでは，短期でも長期でも安定度には変化は見られない。図１３から，どの程度の測定期間であれば測定対象となるＰＣがどの程度の安定度を持っているかが判る。
【００４０】
本発明によれば，時間と共に変動する動作周波数を直接評価することができる。更に，本発明によれば，動作周波数の変動を長期間見ることによって，動作周波数の平均値も計測することも可能である。
【００４１】
また，本発明で用いた，セシウム駆動ＰＣまたはＰＣＸＯ／ＧＰＳ駆動ＰＣを動作周波数期間安定度評価サーバとして，インターネット上で公開すれば，一般のＰＣの期間安定度を測ることも可能である。例えば，図２で，回帰直線の傾きは，動作周波数の比Ｒ２　／Ｒ１　の平均を高い精度で示しているが，この高精度な平均値をｃｌｏｃｋｓｐｅｅｄに与えれば，ＳＰＸＯ駆動ＰＣでも長期間に渡り時刻合わせが不要となると思われる。もちろん，多段のルータを経由し，バックグラウンドトラフィックが変動する環境下でのジッタなどの影響を調べる必要がある。
【００４２】
【発明の効果】
本発明を用いることにより，時間と共に変動するＣＰＵ動作周波数の安定度を精密に評価する方法を提供することが可能となる。また，本発明を用いることにより，ＣＰＵ動作周波数の平均値も計測することができるようになる。
【図面の簡単な説明】
【図１】本発明に係るＣＰＵ動作周波数期間安定度の評価システムの概要を示す図である。
【図２】本発明によるＣＰＵの動作周波数期間安定度評価方法の原理を示す図である。
【図３】本発明のＣＰＵ動作周波数期間安定度評価処理フローの一例を示す図である。
【図４】ＵＤＰパケット送出間隔によるジッタの変化を示す図である。
【図５】ＵＤＰパケットサイズによるジッタの変化を示す図である。
【図６】ＰＣの仕様を示す図である。
【図７】ＰＣ２をＳＰＸＯにより駆動させた場合の回帰直線と測定値との残差を示す図である。
【図８】ＰＣ２をＳＰＸＯにより駆動させた場合のＰＣ１とＰＣ２の動作周波数の比Ｒ２　／Ｒ１　の変動を示す図である。
【図９】ＰＣ２をＯＣＸＯにより駆動させた場合の回帰直線と測定値との残差を示す図である。
【図１０】ＰＣ２をＯＣＸＯにより駆動させた場合のＰＣ１とＰＣ２の動作周波数の比Ｒ２　／Ｒ１　の変動を示す図である。
【図１１】ＰＣ２をＯＣＸＯ／ＧＰＳにより駆動させた場合の回帰直線と測定値との残差を示す図である。
【図１２】ＰＣ２をセシウム基準信号発生器により駆動させた場合の回帰直線と測定値との残差を示す図である。
【図１３】各振動子の動作周波数期間安定度を示す図である。
【符号の説明】
１　送信側ＰＣ
２　　受信側ＰＣ
３　ネットワーク
１１　振動子
１２　カウンタ
１３　パケット送信部
１４　ＰＣＣ値読み出し部
２１　パケット受信部
２２　ＰＣＣ値蓄積部
２３　振動子
２４　カウンタ
２５　ＰＣＣ値読み出し部
２６　ＰＣＣ値解析部
２７　出力部
【図１】
2004030511.tif 000003
【図２】
2004030511.tif 000004
【図３】
2004030511.tif 000005
【図４】
2004030511.tif 000006
【図５】
2004030511.tif 000007
【図６】
2004030511.tif 000008
【図７】
2004030511.tif 000009
【図８】
2004030511.tif 000010
【図９】
2004030511.tif 000011
【図１０】
2004030511.tif 000012
【図１１】
2004030511.tif 000013
【図１２】
2004030511.tif 000014
【図１３】
2004030511.tif 000015