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

[OSASK 571] Re: About timer routine type-B for AT.



  こんにちは、川合です。


橋 さんは 2000/04/16 23:23:27 の「[OSASK 570] Re: About timer ro
utine type-B for AT.」で書きました:

>川合>は0.838マイクロ秒単位です。実際には、指定時刻より多少ずれて呼び
>川合>出されますが、その誤差も数十マイクロ秒です(測定できたら、報告し
>川合>ます)。この誤差は自動的に補正されるので累積されません。またタイ

  この割り込み間隔誤差ですが、デバッグ中の現バージョンでは10マイ
クロ秒未満です。負荷はまだ測定できていません。

>精度が高く、かつ自動補正、負荷が軽い、と。んー、よひよひ。
>んと、ユーザーレベル(プログラマ含む)での欠点のようなものはある?
>タイミングが現状のタイマより細かくなるってことなので、目立った
>欠点のようなものが見えづらいけど。互換性とかのあたりでみたら
>どうなのかな?

  精度の良いタイマーを使って精度の悪いタイマーをエミュレーション
するのはたやすいことなので、そういう意味での互換性の問題はありま
せん。だた、デバッグして分かったのですが、かなりタイミング的にシ
ビアです。CPUがある程度速くないと、自動補正が機能しなくなるかも
しれません(BEEPをつぶせばいいんだけど)。・・・200MHz以上のCPU
パワーがあれば問題はないと思いますが、より下のクラスのCPUではBEE
P音が出なくなるのを我慢するか、タイプAのルーチンで我慢するか、
メモリを規格以上に信頼してリフレッシュ間隔をいじるかの3択になり
ます。

>あと、割り込みのできる間隔が細かくなっているということは、
>その間隔でなにかしらの処理が割り込んでくることが考えられるよね。
>最悪0.838マイクロ秒ごとにプログラムからの割り込みがあるかも
>しれないわけで。まわりがそれ相応の処理能力をもってないと
>まずいわけかぁ・・・うーむ、Shellは大丈夫か(;^^)

  この問題は心配しなくていいです。0.838マイクロ秒といったら、300
MHzのマシンでさえ、251クロックしか処理できません。こんなに細かい
間隔で割り込み処理をしていたら、1つめの処理が終わる前に2つめが
来るようになってしまいます。ハードウェアの限界を超えています。ど
んなにひどくても100マイクロ秒くらいの間隔は開けて使うべきです。
つまり、最低100マイクロ秒でそれ以上は0.838マイクロ秒単位、と考え
てください。

>川合>ったのです。しょうがないので、タイマーが無いとサポートできない機
>川合>能はOSASK ver.0.0eではばっさりと削られています。
>そのバッサリ分とバグ修正分で1kb?

  違います。この機能削除は、ver.0.0aの頃から行われていて(ってい
うか、まだ一度も作ってない)、ver.0.0d → ver.0.0eでの実行ファイ
ル減少は、純粋にバグの修正によるものです。


  それでは。

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