まずは初期値のベンチ。
値:B5h[10110101b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 114.049 114.118 112.182| 2394.139
2250.976 955.785
8K | 116.687 115.902 113.249| 2391.799
2299.634 954.108
16K | 117.390 117.004 114.177| 2390.631
2331.406 954.108
32K | 117.776 117.664 114.650| 2283.005
2268.191 937.027
64K | 118.079 117.898 114.824| 1573.195
1304.487 791.272
128K | 118.238 118.214 114.944| 1583.024
1311.369 793.743
256K | 118.208 118.171 114.951| 1571.333
1297.688 790.561
512K | 118.276 66.834
66.295| 353.585 188.586 177.252
1024K | 118.299 54.898
54.716| 118.273 54.896 54.718
2048K | 118.297 50.397
50.321| 118.307 50.396 50.322
4096K | 118.322 48.412
48.378| 118.317 48.413 48.378
8192K | 118.314 47.478
47.461| 118.329 47.478 47.461
次に、全くビットを立てないで実験してみる。
値:80h[10000000b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 115.710 113.842 112.621|
2398.827 2234.524 956.530
8K | 117.246 116.748 113.372|
2394.133 2310.485 953.176
16K | 117.812 117.448 114.637|
2391.792 2353.827 954.943
32K | 118.206 118.068 114.791|
2283.531 2268.710 937.428
64K | 118.401 118.376 114.900|
1573.317 1304.571 791.302
128K | 118.515 118.422 115.058| 1583.083
1311.410 793.756
256K | 118.509 118.502 115.014| 1572.070
1298.965 790.746
512K | 118.564 76.444
75.706| 353.621 188.855 177.449
1024K | 118.570 64.926
64.658| 118.580 64.923 64.654
2048K | 118.590 60.376
60.255| 118.590 60.373 60.258
4096K | 118.601 58.332
58.276| 118.574 58.328 58.278
8192K | 118.592 57.360
57.332| 118.601 57.358 57.332
リード性能には全く影響を及ぼしておらず、ライト性能に2割程度の上昇が見られる。結論から先に言ってしまうと、設定としてはこれが最速である。しかし、筆者の環境では、この設定では安定しなかった。Superπは通っても52万桁、それどころかしばしばレジストリ破壊を引き起こしてブルースクリーンを見る羽目になった。
では、各ビットを1本づつ立てて検証してみよう。
ビット0:値=81h[10000001b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 115.356 113.784 112.517|
2394.135 2250.971 955.783
8K | 117.342 116.768 113.367|
2391.794 2308.307 952.806
16K | 117.631 117.484 114.453|
2390.626 2352.698 954.758
32K | 118.192 118.009 114.692|
2240.664 2268.186 937.339
64K | 118.390 118.350 114.911|
1573.192 1304.485 791.270
128K | 118.506 118.496 114.971| 1581.582
1311.367 792.431
256K | 118.512 118.494 115.091| 1572.039
1298.751 790.703
512K | 118.544 74.998
74.300| 353.621 188.714 177.233
1024K | 118.575 63.397
63.107| 118.587 63.394 63.151
2048K | 118.585 58.830
58.691| 118.587 58.808 58.696
4096K | 118.583 56.777
56.710| 118.600 56.763 56.714
8192K | 118.598 55.795
55.791| 118.593 55.795 55.775
ビット1:値=82h[10000010b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 115.705 114.604 111.416|
2396.478 2253.043 956.157
8K | 117.344 116.321 113.583|
2392.963 2309.395 952.991
16K | 117.747 117.434 114.563|
2391.209 2353.262 954.851
32K | 118.128 118.022 114.687|
2283.266 2268.448 930.123
64K | 118.371 118.360 114.905|
1573.255 1304.528 791.286
128K | 118.505 118.468 115.003| 1583.052
1311.388 793.387
256K | 118.512 118.478 115.009| 1567.805
1298.761 790.778
512K | 118.555 73.658
72.966| 353.621 188.445 177.041
1024K | 118.569 61.934
61.685| 118.592 61.931 61.688
2048K | 118.594 57.367
57.261| 118.588 57.366 57.263
4096K | 118.602 55.328
55.278| 118.575 55.328 55.279
8192K | 118.595 54.361
54.338| 118.581 54.362 54.338
ビット2:値=84h[10000100b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 114.529 114.214 112.146|
2394.135 2250.971 955.783
8K | 116.963 116.368 113.557|
2391.794 2306.132 952.806
16K | 117.351 117.243 114.189|
2390.626 2352.698 954.758
32K | 117.852 117.785 114.662|
2283.000 2268.186 937.339
64K | 118.108 118.090 114.851|
1573.192 1304.485 791.270
128K | 118.287 118.217 114.957| 1583.021
1311.367 793.741
256K | 118.279 118.237 114.991| 1571.755
1298.654 790.667
512K | 118.305 74.987
74.306| 353.610 188.878 177.448
1024K | 118.333 63.410
63.173| 118.342 63.397 63.168
2048K | 118.352 58.841
58.736| 118.344 58.840 58.726
4096K | 118.346 56.802
56.745| 118.357 56.793 56.748
8192K | 118.356 55.836
55.828| 118.355 55.828 55.818
ビット3:値=88h[10001000b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 114.723 113.784 111.457|
2394.135 2250.971 955.783
8K | 116.537 115.576 113.486|
2391.794 2303.960 952.806
16K | 117.263 117.054 114.069|
2390.626 2352.698 954.758
32K | 117.553 117.575 114.547|
2283.000 2268.186 937.339
64K | 117.880 117.767 114.838|
1573.192 1304.485 791.270
128K | 117.920 117.937 114.898| 1583.021
1311.367 793.741
256K | 117.969 118.034 114.911| 1571.471
1298.363 790.595
512K | 118.043 73.564
72.961| 353.599 188.867 177.415
1024K | 118.044 61.898
61.684| 118.082 61.900 61.687
2048K | 118.073 57.353
57.261| 118.068 57.355 57.260
4096K | 118.095 55.321
55.279| 118.073 55.322 55.279
8192K | 118.085 54.358
54.338| 118.088 54.358 54.338
ビット4:値=90h[10010000b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 115.366 114.658 112.203|
2398.827 2255.118 956.530
8K | 117.195 116.298 113.514|
2394.133 2308.305 953.176
16K | 117.697 117.385 114.311|
2391.792 2353.827 954.943
32K | 118.090 117.997 114.694|
2283.531 2268.710 935.412
64K | 118.352 118.257 114.939|
1573.317 1304.571 791.302
128K | 118.494 118.506 114.951| 1583.083
1311.410 793.756
256K | 118.516 118.475 114.995| 1571.928
1298.190 790.674
512K | 118.539 73.713
73.027| 353.614 188.903 177.469
1024K | 118.571 61.983
61.748| 118.566 61.992 61.771
2048K | 118.574 57.420
57.314| 118.564 57.425 57.318
4096K | 118.576 55.402
55.335| 118.586 55.383 55.331
8192K | 118.591 54.418
54.400| 118.584 54.418 54.400
ビット5:値=A0h[10100000b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 115.258 113.546 111.457|
2394.135 2250.971 955.783
8K | 117.114 116.492 113.296|
2391.794 2303.960 952.806
16K | 117.733 117.522 114.297|
2390.626 2352.698 954.758
32K | 118.083 118.009 114.644|
2283.000 2268.186 937.339
64K | 118.297 118.270 114.893|
1573.192 1304.485 791.270
128K | 118.459 118.438 114.968| 1583.021
1311.367 793.741
256K | 118.483 118.488 115.061| 1571.755
1298.460 790.703
512K | 118.509 71.274
70.646| 353.606 188.855 177.440
1024K | 118.552 59.441
59.209| 118.545 59.457 59.213
2048K | 118.569 54.874
54.777| 118.564 54.880 54.792
4096K | 118.578 52.850
52.810| 118.576 52.853 52.815
8192K | 118.564 51.895
51.866| 118.583 51.894 51.882
ビット6:値=C0h[11000000b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 114.685 114.129 111.787|
2398.827 2255.118 956.530
8K | 117.120 116.698 113.776|
2394.133 2310.485 953.176
16K | 117.621 117.639 114.287|
2391.792 2348.180 954.943
32K | 118.174 118.087 114.585|
2283.531 2268.710 937.428
64K | 118.388 118.277 114.951|
1573.317 1304.571 791.302
128K | 118.479 118.467 114.997| 1583.083
1311.410 793.756
256K | 118.493 118.494 115.004| 1572.070
1298.965 790.746
512K | 118.566 76.451
75.704| 353.621 188.894 177.456
1024K | 118.581 64.922
64.654| 118.589 64.923 64.655
2048K | 118.596 60.378
60.256| 118.578 60.378 60.256
4096K | 118.594 58.331
58.276| 118.594 58.330 58.275
8192K | 118.593 57.359
57.332| 118.595 57.357 57.332
この結果から、ビット6は意味を持たないことがわかる。初期値でこのビットが0であることを考えると、このビットは立てずにおくべきだろう。その他のビットは、立てることでライト速度の低下をもたらしている。恐らく、あるビットが立つと、その立ったビットに応じて、決まったリカバリタイムが付加されるのだと思われる。
その負荷は、多少の誤差はあるものの、おおむね、ビット0,2を立てたときのものを2とすると、ビット4が3、ビット1,3が4、ビット5が7であると言える。
すると、定説の「最速は80h、それがダメならC4h」は間違ってはいない。今回の検証でも、80hに次ぐものは84h=C4hであったからだ。だが、「C4hもダメなら95h」は正しいとは言えない。
値=95h[10010101b]
Access| Unbuffered Access[MB/sec] | Buffered Access[MB/sec]
Size | Read Write
RD/M/WR| Read Write
RD/M/WR
------+-----------------------------+-----------------------------
4K | 115.214 113.837 111.188|
2396.483 2253.047 956.158
8K | 116.490 116.302 113.916|
2392.968 2305.049 954.294
16K | 117.467 117.156 114.274|
2391.214 2353.267 954.201
32K | 117.847 117.741 114.645|
2283.270 2268.452 937.385
64K | 118.076 118.020 114.866|
1573.258 1304.530 791.288
128K | 118.250 118.232 114.973| 1583.055
1311.391 793.750
256K | 118.252 118.257 114.986| 1571.679
1298.742 790.804
512K | 118.310 71.220
70.625| 353.604 188.694 177.218
1024K | 118.315 59.407
59.193| 118.334 59.400 59.190
2048K | 118.351 54.855
54.769| 118.328 54.860 54.771
4096K | 118.352 52.830
52.793| 118.340 52.834 52.791
8192K | 118.351 51.877
51.859| 118.356 51.877 51.856
数値的にもA0hとほぼ同じ、負荷7の設定であることがわかるだろう。従って、負荷2のC4hが通らなくとも、負荷3の90h、負荷4の82h、負荷5の91h、負荷6の8Chなど、試すべき設定はいろいろ存在する。
かえすがえすも、80hと84hの中間になる負荷1の設定値が存在しないことは非常に残念である。