[40031]  山猫とメモリとセカンドキャッシュ
投稿者:Abs さん   2002-03-22 23:54:08
メモリにまつわる通説に反する現象を確認しました。テスト環境・データを含めて詳細に書くと
やたら長くなりそうなのでなるべく簡単に書いてみます。

テスト環境は G8XJN(BIOS 0.06) + PK-K6H400、EDO60ns 32MB*2/*4, FPM70ns 4M*2/8M*2 の各種
組み合わせ、といったところです。K6.SYS、INTELSAT 等はテスト時は使用していません。
テストには物理アドレスを指定できるDOS版メモリベンチマーク、Softhouse333 さんの
CMB/MABを使用しました。

http://www.vector.co.jp/soft/dos/hardware/se090418.html
http://www.vector.co.jp/soft/dos/hardware/se090418.html

まず、過去ログによると「山猫機ではメモリの全域でセカンドキャッシュが有効」と
されているようですが、実際には64MB以上の領域に対して効いていないようです。
セカンドキャッシュは256K(PC-9821XA7-B01)、EDO 32M*4 でMABにてテストしました。
問題の部分だけ結果を記します。

Memory Access Benchmark ver1.10 Copyright (C) 1998-1999 Softhouse333
Base Address : 00100000h #1MB〜
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write RD/M/WR| Read Write RD/M/WR
------+-----------------------------+-----------------------------
64K | 117.903 65.771 65.312| 353.089 184.234 180.367

Base Address : 04000000h #64MB〜
64K | 117.890 65.858 65.386| 118.118 65.915 65.366

Buffered Access つまりキャッシュヒット条件下での測定値が、64MBエリアの方は
Unbufferd と同じであることがわかります。

MP3エンコードベンチ「午後Winベンチ」がメモリを増やしたら遅くなったというのが
検証に到ったきっかけです。CXTなK6−2で満足してましたが、2+以上が欲しくなりました。

もうひとつ、「遅いメモリと速いメモリを混在させると遅いほうに合わせる」という
広く流布している通説ですが、EDO60ns*2 + FPM70ns*2 のケースで当てはまりませんでした。

実際には、私自身信じがたい結果が出ています。EDO60ns*2 と FPM70ns*2 の組み合わせで
FPM を先(Cバス側スロット)にするとそれぞれの速度で動き、EDO を先にすると
なんと FPM も EDO と同じ速度で動いているようです(実際にはエラーが発生しているかも
しれませんが)。

MABは実行に32MB必要なのですが FPM が8M*2 までしか手元にないため、CMBを
使用しました。

[FPM->EDO の FPM 部]
Cache Memory Benchmark ver4.11 Copyright Softhouse333
Running on physical address : 00100000h
[Data Cache]
L2 Miss RD: 39.635ns/32bit, 100.921MB/sec, 15.785clk

[FPM->EDO の EDO 部]
Running on physical address : 00800000h
L2 Miss RD: 33.804ns/32bit, 118.329MB/sec, 13.463clk

[EDO->FPM の FPM 部]
Running on physical address : 04000000h
L2 Miss RD: 33.824ns/32bit, 118.261MB/sec, 13.471clk

なんともオドロキです。これでは組み合わせ次第でトラブりそうです。パリなしだし。

こちらのきっかけは某Savage4なGAなのですが、メモリの組み合わせが安定性に
影響すると思われるフシがありました。しかし、諸般の事情でここでは詳しく書けません。
加えて、プレーンなDOS上でのベンチ結果の問題なのでその辺りは書かないでおきます。

しかし不思議に思うのは、これまで実際に検証した人はいたのか、いなかったのか。
以前はSIMMも高かったし何種類も試す人がいなかったまま、いつのまにか通説となって
誰も試す人がいなかった、という事でしょうか。セカンドキャッシュの件は私もたまたま
増設後に午後ベンチしてみなければ気づかなかったでしょう。

ということで、検証可能な方は是非お願いします。
特にセカンドキャッシュの件は、別のマザー・違った環境で再現しないとなると
私の環境に改善の余地があるということになりますし、
混在の件は私にメリットがあるわけではないですが、「どるこむ」の権威と名誉にかけて(^^;、
検証が必要ではないかと。
  1. KO1 さん   2002-03-23 03:03:30
    山猫機と言ってもG8XJNはV**やXc13初代などのGD5440搭載の物ですからXa**/C/K/RなG8TTY〜G8VWV辺りとは別物じゃないかと、、
    搭載出来る2ndキャッシュも256kbと512kbと違いますし・・・Xt13ではメイン256MB搭載出来るけれどL2が512kbが上限なのでこれもどうなのか・・・・山猫機として括って同一視出来る問題なのかな?
  2. KO1 さん   2002-03-23 03:05:50
    ちょっと訂正
    >搭載出来る2ndキャッシュも256kbと512kbと違いますし
    は正式対応しているかどうか、です。
  3. CD-R さん   2002-03-23 13:42:59
    Xt13/16の場合は、どうなのでしょうか?256MBに増設したときに、64M分しかキャッシュの効果が無かったとしたら、悲しいっす。
  4. Anpan さん   2002-03-23 19:07:38
     Xt13のは、256MB分有効だと思いますが。ついているTAG-RAMが多かったはずです。Xa9のは空きランドだったので。
  5. Abs さん   2002-03-23 23:20:50
    さすがに1日では追試してくれる人はいないですね。(^^;
    たしかに全ての山猫機がそうかどうかはわかりませんし、載せてるキャッシュは
    元々G8TTYに刺さっていた物。基本的にはやはりチップセットの仕様なのではないかと
    思うのですが、XA7-B01なのは少々引っかかるところです。