自作BIOSベンチマーク


なんでまた今頃

世の中にはベンチマーク命という人がいます。私はむしろ静かか、とか、壊れないかとか(ATA-HDDは往々にして「速い」と「壊れない」は両立しませんが(^^;。 )の方が気になるので、ベンチマークなんてよほど良し悪しのはっきりしているとき以外は見る気がしません。しかし、自作BIOSとなればやらざるを得ないもんです。5月の川根OFFでまりもさんに「速度はかってよ」といわれて翌日測ってみて愕然とし、DMA転送を盛り込む決意をしたわけです。計測はリアルモードDOSプロンプト下でまりもさんのお作りになったHDB98を使用して行いました。

SiI680 非公式 PC-9821BIOSのベンチマーク

まずはPIO転送でREAD / WRITE SECTORS (EXT)コマンドのみサポートのBIOSのベンチです。

Machine name[65]: PC-9821V200/S7C3青札(YVZ) 
Disk interface  : CHANPON2'TURBO-PCI (Chache line 0Ch=08h書き換え済み)
Disk drive name : Maxtor 6Y160P0
[ IDE 接続ディスク  内蔵1 80h  総容量 156307(MB)] 
Grain size:  32768   16384    8192    4096    2048    1024     512 (B)
------------------------------------------------------------------------
Speed(top):   1960    1950    1940    1910    1850    1750    1580 (KB/sec)
Speed(end):   1960    1960    1940    1920    1860    1750    1570 (KB/sec)
Seek time : 1509 points.

内蔵IDEでも4MB/sは出るので、それ以下ということになります(滝汗)。原因はREAD MULTIPLEなどの連続読み/書きをしていないため、1セクタ(512バイト)読み書きの後に毎度割りこみコントローラの処理をしないと行けないためかと思い、とりあえずREAD MULTIPLEなどの連続読み/書きを行わせてみました。ところが、あまり高速化されませんでした。なぜか内蔵IDE-BIOSにすら負けてしまうと。何がおかしいのかはいまだに不明ですが、PIO-mode4の動作の面影すらありません。しかしそれじゃあんまりだろーということでUDMA転送およびWDMA転送を盛り込んでみました。ところが私はバスマスタDMA転送を盛り込むにあたり、延々とイバラの道を歩くことになります。Windows2000がブートできるようになってからWindows98がインストール出来るようになるまで5ヶ月近く悩みまして(^^;。詳細はソースファイルを見れば察することが出来るのでは無いかと思いますが、とにかく測ったのが次の通りです。

Machine name[65]: PC-9821 V200/S,166/S**2青札(YVZ) 
Disk interface  : CHANPON2'TURBO-PCI (Chache line 0Ch=08h書き換え済み)
Disk drive name : Maxtor 6Y160P0
[ IDE 接続ディスク  内蔵1 80h  総容量 156307(MB)] 
Grain size:  32768   16384    8192    4096    2048    1024     512 (B)
------------------------------------------------------------------------
Speed(top):  65500   60500   56500   37000   23600   11800    5910 (KB/sec)
Speed(end):  31500   32700   31500   34000   23600   11800    5910 (KB/sec)
Seek time : 248 points.

32768バイト転送時のtopの値はWindowsでのHDBENCH3.30のREADを上回る値であり、HDD本来の転送速度が十分出ていると思います。しかし、物事には比較対象が必要なので次のも。(UDMA-mode4と比べるのは酷ですが)

Machine name[65]: PC-9821V200/S7C3青札(YVZ) 
Disk interface  : 他者(笑)製ATA133ボード
Disk drive name : Maxtor 6Y160P0
[ IDE 接続ディスク  内蔵1 80h  総容量 156307(MB)] 
Grain size:  32768   16384    8192    4096    2048    1024     512 (B)
------------------------------------------------------------------------
Speed(top):  40500   35400   31500   24300   15700    9680    5870 (KB/sec)
Speed(end):  31500   32700   31500   23600   15700    9680    5870 (KB/sec)
Seek time : 282 points.

うーん、Silicon ImageのSiI680はかなり優秀ですね。山猫でも遅いながら動作しますし、名チップの予感(はぁと)。ここには掲載していませんが、UDMA転送未対応の旧型HDDでも、WDMA対応により、確実にPIO転送よりはパフォーマンスが向上します。最後に、私はSiI680という石の仕様はそれほど良く知りません。ですので、石の潜在能力はさらに上にある可能性があります。ですので、くれぐれも「なんだ、石(あるいはHDD)の能力はこの程度か」と思いませんように。

ちなみに以下はWindowsの起動の速さを多少左右するV86モードでの速度です。これはMMX-Pentiumですが、PentiumIIだとV86モードがやたら遅くなります。

Machine name[65]: PC-9821 V200/S,166/S**2青札(YVZ) 
Disk interface  : CHANPON2'TURBO-PCI
Disk drive name : Maxtor 6Y160P0
[ IDE 接続ディスク  内蔵1 80h  総容量 156307(MB)] 
Grain size:  32768   16384    8192    4096    2048    1024     512 (B)
------------------------------------------------------------------------
Speed(top):  65500   60500   44800   31500   17000    8350    5350 (KB/sec)
Speed(end):  31500   32700   32700   31500   17700    9790    5320 (KB/sec)
Seek time : 261 points.
Machine name[65]: PC-9821 V200/S,166/S**2青札(YVZ) 
Disk interface  : 他者製ATA133ボード
Disk drive name : Maxtor 6Y160P0
[ IDE 接続ディスク  内蔵1 80h  総容量 156307(MB)] 
Grain size:  32768   16384    8192    4096    2048    1024     512 (B)
------------------------------------------------------------------------
Speed(top):  40500   37000   31500   23600   15700    9790    5910 (KB/sec)
Speed(end):  30400   32700   31500   23600   15700    9680    5910 (KB/sec)
Seek time : 298 points.

SiI3114 非公式 PC-9821BIOSのベンチマーク

DMA転送版だけ掲載します。WD-Raptorならどのくらい出るんでしょうかね。金が出来たら試してみたいものではありますが。

Machine name[69]: PC-9821 RaII23/W,Ra266/W 
Disk interface  : SATARAID4P-PCI
Disk drive name : Maxtor 6Y200M0
[ IDE 接続ディスク  内蔵1 80h  総容量 194471(MB)] 
Grain size:  32768   16384    8192    4096    2048    1024     512 (B)
------------------------------------------------------------------------
Speed(top):  60500   60500   50000   31500   20200   11800    5910 (KB/sec)
Speed(end):  30400   31500   34000   30400   20200   11600    5870 (KB/sec)
Seek time : 270 points.