[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1266] Re: countup2の不思議



  こんにちは、川合です。


KUR さんは 2000/11/24 21:54:21 の「[OSASK 1264] countup2の不思議
」で書きました:

>不具合というわけではないのですが、ietta3で不思議な現象が発生したので報告いた
>します。

  ありがとうございます。

>私のマシンのCPUはK-6-2 400なので、countup2.binを起動すると
>397xxxKc/sと表示されます。
>で、この状態でmsg01.binを起動したら
>401xxxKc/sとなって、理論値を超えてしまいました。
>微量とはいえ、負荷は増えているはずなのに、
>むしろクロックのカウント数は増えているんです。

  なるほど。

>この状況って、私のマシン以外でも起きるのでしょうか?
>クロックの数字が増えるだけなので、特に問題などは起きていませんが、
>不思議な現象と言うことでご報告いたしました。

  同様の現象を確認しました。当方が試した環境は、Duron 600MHzです
。画面解像度を現在テスト中のドライバで1280x1024にしています。

  さらに実験をしたところ、以下のようなことが分かりました。

・起動するmsg01の数が多ければ多いほど、見かけのカウントスピード
  は増える。とはいっても、最高でも3%ほどしか増えないが。

・msg01とcountup2の起動順序によらず同様の現象が起こる。

  KURさんが不思議がっておられるとおり、msg01を起動すれば明らかに
負荷は増えるはずです。ですから、カウントスピードは落ちるはずです
。それが増えているのは、確かにおかしいです。これについて考えてみ
ました。以下のいずれか(もしくはいくつか)が該当しているのではな
いかと思っています。

1.TAPIのバグ
2.タイマードライバのバグ
3.CPUの仕様

  書いた順序は、ありそうな順序です。1と2は、要するに、本来1秒
間隔で表示が行われるはずなのに、その周期が微妙にずれているのでは
ないかということです。ずれる原因がTAPIにあるのか、タイマードライ
バにあるのか、それは現時点では断言できません。なんとなく、TAPIの
方が怪しいですが。

  3のCPUの仕様というのは、あちこちのルーチンが都合よく定期的に
呼ばれることで、いつもとは実行の流れが変わり結果的に速く実行して
いるという意味です・・・が、そんなことって無いですよねえ(笑)。

  この原因究明やチェックはbucstualかそれ以降で対応しようと考えて
います。・・・というのは、こういう微妙な問題はデバッグが難しいか
らです。ですから、今後もっとはっきりした障害が出たら、この予定を
繰り上げることは十分にありえます。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/