Re: いえいえ…このあたりの話題は興味があるので



[ このメッセージへの返事 ] [ 返事を書く ] [ home.html ]



投稿者: M&M @ exchange.cqpub.co.jp on 98/2/18 01:05:05

In Reply to: Re: もう古いのは読んでいないと思いますが・・・。

posted by 蜂蜜檸檬 @ h136.p072.iij4u.or.jp on 98/2/18 00:15:03

> PCIから見てAGPは透過的に見えるはずなので関係無いのでは?。
う〜ん…いまAGPを装備しているチップセットの内部構造を知らないで、なんとも
断言できませんが(だったら首突っ込むなって?? すいません^^;)

たしかに、ソフト的にはPCIもAGPも区別無ありませんよね。メインメモリもISAもPCI
もAGPも、CPUからみた4Gバイトの物理アドレス空間のどこかにマッピングされている
わけですから。ドライバだって“AGPのアドレスE000-0000hへ書き込み”ではなくて、
単にE000-0000hへ書き込み…ですから、PCIだのAGPだのと意識しているわけではあり
ません。指定したアドレスへメモリ転送という動作でしかないので、その意味では
透過的ですよね。

ただ、電気的に見ると、PCIバスのデータ線がそのままAGPにつながっている
というわけではないですから…(いまのAGPを見ると、AGPはPCI-PCIブリッジを
介してバス番号1で管理されてるみたいですね)

PCIバス番号0の下にぶら下がっているPowerVRが、画像データを生成してビデオカードに
転送する…という場合、その転送先がAGPだった場合は、PCIとAGPをブリッジする者…
つまりはホストチップセットが、まずPowerVRからデータを受け取って、AGP側に
出力する…ということをしていると考えたのですが…

PCIとAGPではクロック周波数も違うわけですから、やはり間にバッファというか、
PCI側のデータを一端うけて、AGPのタイミングで再(?)出力するという機構が
あると思うんですが…どうでしょうか??

う〜ん、440LXとかのデータシートを見て勉強せねば…

> これは間違いでしょう。PCIは各種デバイスが共有するバスですから当然優先制御
>(バスアビトレーション)が必要です。この処理が遅ければPCItoPCIだろうが
>PCItoAGPだろうが遅くなるはずです。
 なるほど…アービトレーションの影響ですか…ふむふむ…

 いったんバスの制御権を受け取れば、あとはバスマスタデバイスとターゲットデバイス
の間だけで、データの受け渡しは行われるわけで… 1トランザクションだけについて
考えれば、ホストチップセットの性能はほとんど関係ないと考えています。これは問題
ないと思うのですが…

 で、蜂蜜檸檬さんがおっしゃりたいのは、システム全体のトータルな転送能力なわけ
ですね。
 瞬間瞬間のデータ転送はバースト転送で高速だとしても、他にもPCIバスを使いたい
デバイスがいる場合、そいつのためにバスを明け渡さなければならない…そいつが
バスを使い終えたら、またバスの制御権をもらって、ひたすらデータ転送…
 で、問題は、そのシステムの中に、えらい遅いデバイスがいた場合、そいつが
ちんたらデータ転送している間は、誰もバスが使えなくなる、と。

 だから、どのデバイスにどれだけバスを使わせて、バス制御権を与えていくかを
制御するバスアービターの性能が重要だってことですね。だからバスアービターに
どんなアルゴリズムが使われているかで、性能も変わってくる…つまりは、
チップセットによって性能が変わってくる…っことですか。ふむふむ。

 REQ#/GNT#によるバス制御権の操作はホストチップの責任なんでしょうが、一つの
バスマスタがバスを使える時間を制限するレイテンシタイマは、ソフト的に値を設定
するわけですから、BIOSのデキも関わってきますよね。まぁアワードBIOSなんかは、
その値までCMOSで設定できるみたいですが…

 このレイテンシタイマもくせ者ですよね(^^;) バースト長が長ければアドレス
フェーズを省ける分、転送レートが上がりますが、一つのデバイスに長時間バスを
使わせていると、他のデバイスが使いたいときに使えなくなるので、これも問題
ですよね。割り込みの応答速度が遅くなったり、データの取りこぼしが発生する
場合だってあるでしょう。


 まぁ何にせよ、遅いデバイスをなくすことが一番ですね…。ISAバスって、ほんと
遅いですよ…バスアナライザでPCIバスのタイミングを見てるとわりますが、データ1つ
転送するにも、えらい長いクロックを要する…
 中にはPCIデバイスでも、16〜32クロックくらいTRDY#をディアサートのまま
ひっぱってデータ転送する劇遅デバイスもありますが(^^; 16クロックを越えたら
一回ディスコネクトせぃっちゅうの! こんなデバイスを搭載したPCIカードは、
即刻破棄ですね!

 いや、ちょっとPCIバス…とくにハードウェア的な動作の議論には興味があるので…
いろいろ議論したいんですよ(^^;

 今後ともよろしくお願いいたします。