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

[OSASK 1599] Re: オープンソースまつり.



  こんばんは、川合です。


nabe さんは 2001/01/31 02:19:31 の「[OSASK 1422] Re: オープンソ
ースまつり .」で書きました:

>>  CPUに数えさせないで、簡単なカウンターをハードでくっつけて、そ
>>いつに数えさせられるようにすればいいのに・・・。
>回路図拾うと(あそこには落ちてない)分かりますが、
>ハード的には電圧を分圧する仕様になってます。
>どうやらアナログな値を入れている模様です。

  そうであろうことは、僕も想像していました。だからこそ、ADコンバ
ータか、その代わりのカウンターがほしいところです。

>>  こう立て続けにいいかげんな設計を見ていると、
>わるくも悪くも、PC/AT 互換ということでしょう。

  ごもっともです(笑)。

>よく考えると、ハードウェアINT にしたって、
>CPU は 64 まで許容するはずだし……。

  ちなみに、僕はIRQが増えるのは好きじゃないです。これは純粋に好
みの問題ですが。カスケードは面倒なのでPICを1つにして、IRQを8本に
するのがいいです。もちろん、レベルトリガーにするという前提付きで
すが。そうすれば割り込み番号を共有できるのでIRQの本数は本質的な
問題ではありません。

>>そんでどの割り込みもレベルトリガーにして(今はエッジトリガー)、
>8259A で変更できませんでしたっけ。
>まぁ、変更しても(ハード的に)通らないか……

  変更できます。でも、変更すると割り込みが拾えない可能性が出てき
ます。一部のデバイスはエッジトリガーでPICにつながれることを前提
にしていて、割り込み処理ルーチンに分岐するまでIRQ信号をHighにキ
ープしてくれません。もっとひどいデバイスになると、割り込み処理を
終了してもIRQ信号をLowにしてくれないものもあります。こうなると、
割り込みルーチンから抜ける方法が無くなってしまいます(その割り込
みをマスクすれば抜けられますが、今度は二度と割り込みを拾えなくな
ってしまいます)。

  ちなみに、PCIバスをサポートしているチップセットでは、IRQごとに
レベルトリガーにするかエッジトリガーにするかを選択することはでき
ます。・・・これは、PCIからの割り込み共有をレベルトリガーにしな
ければ実現できないためでしょう(PCIでは割り込みは全てレベルトリ
ガーです)。


  それでは。

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