[6227]  TriLevelキャッシュのアーキテクチャ
投稿者:USER さん   2000-09-28 12:53:55
ここに質問してよいかどうか悩んだのですが、TriLevelキャッシュのアーキテクチャ
について教えて欲しいのです。
以下に記述する内容に間違い、意識違いがあるでしょうか?

:外付けL3が512KBと仮定し、その中身をA+B+Cとすると

1.L2キャッシュの中身は「A+B」である(L3にないものはL2にもない)
2.L1キャッシュの中身は「A」である(L2・L3にないものはL1にもない)
3.ということはメインメモリへのアクセス頻度はL3のヒット率だけで決まる
4.ということはメインメモリアクセスの低減という点ではK6-IIIはK6-2に対して
 アドバンテージはない(L2はなくても同じ)
5.ということは同クロックのK6-2に対するK6-IIIの効果はL3へのアクセス低減と
 いう点のみである

以上です。コーナーの趣旨から離れているような気がしますが、指摘あれば削除
します。

よろしくお願い致します。

  1. まりも さん   2000-09-28 14:45:44
    TriLevelという意味からするとおそらく4.と5.の考え方で正しいと思います。L3はL2に対してかなり遅く、ライトバックもされませんから、L3をアクセスしないに越したことはないのでK6-IIIが意味あるわけです。ところでL2とL3の容量がともに256KBの場合は、
    「L2にないデータはL3にもない確率が大」
    ですが、L2とL3とはキャッシュの方式が違うため、同一のデータを保持しているとは言えませんから、
    「L2にないがL3にはあったのでメインメモリ(またはPCIバス上のメモリ領域)は読まないで済ませた」
    ということで高速化されることもあり得ます。これがどういう場合でどの程度の物なのかは分かりませんが、ビデオ系ベンチマークの結果の一部では、L3をつけておいた方が効果があるようですから、特に、メインメモリより遙かに遅いPCIバス上のメモリに対しては、
    「L2でもL3でもとにかくキャッシュされる可能性が少しでも高ければよい」
    ということなのでしょう。対メインメモリの性能を見る Super-πのようなベンチマークでは、L3を取り払って少しでもメインメモリアクセスを速い設定にした方が、よい結果をもたらす可能性が大です。

    余談ですが、 PC-9821 Mate-Rの場合にも似たようなことが言えていて、高いクロックのCeleronよりも低クロックだが512KキャッシュのPentium-IIのほうが多くの場合ベンチマークの結果がよかったりします。メインメモリアクセス(とくに書き込みが遅い機種)ほど、L2キャッシュは「質より量」が意味あるようです(Pentium-IIの場合、「質」の点でもライトバックなので勝っていますが)。
  2. USER さん   2000-09-28 16:48:24
    回答ありがとうございます。

    共に256KBである場合

    >ビデオ系ベンチマークの結果の一部では、L3をつけておいた
    >方が効果があるようですから

    というのは本当なのでしょうか?
    L3があるがためにメインメモリアクセスは手間がかかって遅く
    なっているような気がします。キャッシュ方式が違うと言っても
    ヒット率でいくらも違わないと思うのですが。(友人から256KB
    と512KBでも5%くらいしか違わないと聞かされたことがある)

    ・・・・すいません、せっかくの回答にケチをつけるような記述にな
    ってしまいました。すいません。が、とても不思議です・・・。

    とにかく詳しい回答、大変ありがとうございました。感謝します。
  3. まりも さん   2000-09-28 17:37:33
    L3キャッシュを残して置いた方がベンチマーク結果がよいと述べられているのを読んだことがあるだけで、私自身は確認していません(^^;。どちらかというとL3不要派です。それから、上の説明は少々怪しい点があります。たとえば、ビデオメモリ領域というのは普通はCPUからはキャッシュしない領域にしているはずですし、ビデオメモリに対しては書き込みがほとんどですから、リードキャッシュのみのL3キャッシュが効果があるというのはヘンです(^^;。
  4. Noggy さん   2000-09-28 23:54:31
    わたしもキャッシュについてあまり詳しくないのですが、K6-IIIを付けた場合のL3はキャッシュというよりメインメモリへの書き込みの際の一種のパイプライン的役目が大きいのではないでしょうか? 当然データ量が多いとすぐにオーバーフローして意味がなくなってしまいますが・・・
  5. pleiades さん   2000-09-29 00:01:28
    私はMS466N4をXv13/Wで使用していますが、L3推奨派です。
    例え5%と言えど、クロックを考えれば解ります。
    仮に450のK6-3を475で駆動するとなれば、そこそこの工夫とリスクが伴います。
    しかし、L3で5%速くなるならほぼ同じ速度を期待できることになるからです。

    もちろん体感できる程で無い事は解っていますが、ならばOCするのも無意味です。
    MS466/500の場合、既にOCしてありますから、なおさらリスクは高いです。
    しかし、これにL3を付けて490相当になるのであれば、MS500を使っているのと
    大差ないことになり、MS500にL3を付ければ525相当になると言うことです。

    まぁ、あくまで少しでもスピードを求める場合にしか意味を持たない理論ですが、
    実際、CPUとベースクロックの差が開くほどメモリーに足を引っ張られて
    パフォーマンスは上がりにくくなるので、L3の意味はそれなりにあると思います。
    特に非SD-RAM系のマシンで。

    あくまで私なりの考えなので、参考までに。
  6. USER さん   2000-09-29 00:50:36
    回答ありがとうございます。

    >メインメモリへの書き込みの際の一種のパイプライン的役目

    正確に理解できませんが、バッファという意味なら
    ライトバック方式のL2がまさにバッファになっているし(L1もか?)、
    そもそもL3がライトスルー方式ならバッファにはなり得ない
    (ライトスルーって書き込みはメインメモリへダダ漏れという意味だったと・・・。間違ってた
    らすいません)
    と思うのですが。
  7. USER さん   2000-09-29 01:09:44
    >例え5%と言えど

    この5%は
    「5%速くなる」
    という意味でなく
    「ヒット率が5%高まる」
    という意味です。5%のヒット率上昇を得るために、かなり大きな犠牲を払っている
    と思います。L2がキャッシュミスするたびにL3へのアクセスが発生し、それが100回の
    うち5回しか命中しないなら、果たして100回分のモトは取れているのでしょうか。
    CORETEST/99で計測するとパイプラインバーストSRAMの速度はSDRAMの2倍程度でしかなく、
    私は512KBでも効果には疑問を持っています。

    すいません、最初の質問から離れてしまいました。また5%という数字には何の根拠もありま
    せん。もっともらしく書きましたがあくまで仮定の話とご理解下さい。
  8. FIAT124 さん   2000-09-29 02:15:22
    たまにこの話題は出てきますね。
    一応過去ログから
    http://www.cham-reo.com/logsearch/archive/stage_3/mmx/sled00436.html
    HDBENCH Ver 2.610、Super_PI、CPUMARK99、FINAL REALITY、INCOMMINGベンチ(ゲーム)、クエイクIIベンチ、インテルメディアベンチ、3DMARK99での数値差など

    Xv13/WならL3の取り外しが簡単なのでがんばって一杯ベンチ取って下さい。

    #今ならHK6-MS500-N4下駄使用なのでもっと色々取れるな
    #K6-2+/500もあるし(ぉ