パフォーマンス研究室

■パフォーマンスについて
 PCのパフォーマンスの指標はいくつかありますが,一般にベンチマークソフトを使用して計測し, その指標とします.しかし,当然ながらユーザーによってPCの利用形態は異なるため,どのようなユーザーにとっても体感速度と完璧に合致するという指標は存在し得ません.

 一般的によく使用されるベンチマークソフトは,CPUやディスクのピークスピードを検証するソフトで, 短時間でそれら速度を計測することが可能です.比較的容易に使用可能なため,このようなベンチ マークソフトのユーザーは多く,様々なスペックのマシン間でその指標をお互いに比較し,定量的に 差を比較することが可能です.しかし,このようなソフトにおいては,様々な負荷をかけた際のトータル パフォーマンスを計測することは困難です.そのため,指標を体感速度に近づけるべく,ユーザーが 使用する状態をシミュレーションし,その負荷を加えた環境下でのベンチマークを行うソフトがいくつか 存在します.当然ながらこのようなソフトは速度の計測に長い時間を費やし,簡単に,かつ瞬間的にそ のベンチマークを行うというわけには行きません.

 今回 BKi810 がどの程度のパフォーマンスを持つかを計測するに際し,どのようなソフトを使用する かはこの点も考慮し,UNIX系で比較的定評のある,BYTE Benchを使用することにしました.また, Windows上でのベンチマークとしては,多くの人が使用している『HDBench』を使用することにしました. 前者は負荷をかけてのシステムのトータルパフォーマンスのチェック,後者はピーク性能のチェック に有効です.Windows上での負荷をかけてのベンチマークは,個人的にあまり乗り気でないという理由 で(笑),今回は見送りました.

■BYTE Bench
■ベンチマークの環境について
['01/05/14] 構成(8)〜(11)のデータを追加
['01/11/05] 構成(12),(13)のデータを追加

 ベンチマークの環境は, BKi810 のv1.6およびv3.3を使用し,ByteBenchで 以下のような環境でテストを行いました.

System CPU Clock [MHz] Memory [MB]
(CL-2 PC100 SDRAM)
Hard Disk 構成番号
v1.6 Intel Celeron 400 400 (66x6) 256 Maxtor 96147U8 (1)
Maxtor 91531U3 (2)
450 (75x6) 256 Maxtor 96147U8 (3)
Maxtor 91531U3 (4)
V3.3 Intel Celeron 533A 533(66x8) 256 Maxtor 91531U3 (5)
Intel PentiumIII 650 650(100x6.5) 256 Maxtor 91531U3 (6)
Intel PentiumIII 750 750(100x7.5) 256 Maxtor 91531U3 (7)
V1.6 Intel Celeron 533A 533(66x8) 256 Maxtor 91531U3 (8)
Intel Celeron 533A 600(75x8) 256 Maxtor 91531U3 (9)
Intel Celeron 766
(下駄使用)
766(66x11.5) 256 Maxtor 91531U3 (10)
Intel Celeron 766
(下駄使用)
863(75x11.5) 256 Maxtor 91531U3 (11)
V3.3 Intel Celeron 1000 1000(100x10) 256 Maxtor 91531U3 (12)
Intel PentiumIII 1100 1100(100x11) 256 Maxtor 91531U3 (13)

※['01/05/14]構成番号 (8)〜(11)のデータ は, 『BKi810 v1.6 で FC-PGA 版 Celeron を使う』および 『BKi810 v1.6 で FC-PGA 版 Celeron を使う[2]』 のデータを反映させて追加.CPUは,FC-PGA版を使用しており,(10),(11)は下駄を 使用している.そのため,メーカー保証外の動作環境である.

※['01/11/05]構成番号 (12),(13)のデータ は, 『BKi810 v3.3 で 1GHz Celeron を使う』および 『BKi810 v3.6 で 1.1GHz PentiumIII を使う』 のデータを反映させて追加.メーカー保証外の動作環境である.

 v3.3上でCeleron400を計測していなかったり,v3.3でMaxtor 96147U8を付けて計測 していなかったり,多少データ的に扱い辛いものがあるかもしれません.このような構成ででしか 計測しなかった理由は,他のマシンとの比較ではなく,このマシンでどのような構成がベターか を計測するのを目的としているからです.

■BYTE Benchの結果
['01/05/14] 構成(8)〜(11)のデータを追加
['01/11/05] 構成(12),(13)のデータを追加

 ByteBenchは『BYTE UNIX Benchmarks (Version 3.11)』を使用し,Linux の Vine 2.0 をインストールした直後の素の状態で計測しました.なお,FreeBSD系のページでは,Linux系の ページと比較して, Execl Throughput Test が異様に高い値が出ているページがあります. これは OS によるパフォーマンスの差ではなく,コンパイル時のパラメータによる差です.どうも FreeBSD の Port に入っている版では,static link してコンパイルしているようです.( K6-300 で試した場合, 同じ構成でも static link しているかそうでないかによって,107 対 14 という結果になってしまい, とても比較できたものではありません :-<)

 今回は,static link しない状態でコンパイルし,計測しました.なお,BIOSの設定は,メモリ関係を チューニング済みの状態で行っています.

ByteBench の結果表
構成 Ari Dhr Exe File Pipe Shell Ave
(1) 41.7 34.8 27.3 71.0 97.7 15.5 48.0
(2) 41.7 34.8 27.0 138.5 97.8 15.5 59.2
(3) 46.8 39.1 30.8 72.2 110.3 17.5 52.8
(4) 46.9 39.1 30.9 138.8 109.9 17.5 63.8
(5) 55.7 47.0 31.9 139.5 129.7 19.8 70.6
(6) 67.9 57.3 54.8 140.4 158.4 25.8 84.1
(7) 78.3 65.7 59.8 139.9 181.0 28.5 92.2
(8) 55.7 47.0 31.2 136.5 130.3 19.8 70.1
(9) 62.5 52.7 36.1 136.9 146.2 22.2 76.1
(10) 80.0 67.5 36.8 139.0 186.9 25.5 89.3
(11) 89.9 75.8 42.3 138.3 208.4 28.9 97.3
(12) 104.4 88.2 45.4 140.5 242.1 32.2 108.8
(13) 114.9 97.0 80.0 140.1 269.9 37.5 123.2

(略語の意味:
 Ari :Arithmetic Test (type = double)
 Dhr :Dhrystone 2 without register variables
 Exe :Execl Throughput Test
 File :File Copy (30 seconds)
 Pipe :Pipe-based Context Switching Test
 Shell:Shell scripts (8 concurrent))

 上記の値をグラフ化すると,以下のようになります.

ByteBench 結果グラフ

 CPUのスピードに直結するAri,Dhrの所に注目すると,当然ながらCPUクロックが上がっていくに 従ってパフォーマンスが上がっていくのが分かります.また,ディスクアクセスのパフォーマンスは, クロックに関わらず,Celeron400の時点で既に頭打ちになっているのも分かります.なお,ディスク としてMaxtor 96147U8,Maxtor 91531U3 の2種類を使用したわけですが,パフォーマンスに 著しい差が見られました.これに関しては,後述します.

['01/05/14]追記
  v1.6 でFC-PGA版 Celeron を使用した場合,同一クロックの場合は v3.3 と のパフォーマンスの差は無いことがわかります(差は誤差の範囲内).また,ここで計測している PentiumIII と高クロックで動作する Celeron のパフォーマンスの差を見た場合,上記した Ari,Dhr のようなCPU 単体の性能としては,純粋により高いクロックで動作しているの Celeron の方が優れていることが分かります.

■BYTE Bench の結果を読む
['01/05/14] 構成(8)〜(11)のデータを追加
['01/11/05] 構成(12),(13)のデータを追加

 それではこの BYTE Bench の結果データを加工し,File以外の値をクロック比で見てみましょう. Celeron400 を 1.0 として見たデータをグラフ化したものを,以下に示します.

ByteBench 結果のクロック比グラフ
("C","P3"はそれぞれ "Celeron","PentiumIII"を意味する.)

 ここでは Maxtor 91531U3 を使用した構成のみをグラフ化しています.このグラフを見て 分かることは, Exe および Shell 以外のデータはほぼ 1.0 に近くなっており, CPU クロックが 上がるとそれに比例してパフォーマンスが上がっていることです.しかし, Exe と Shell は クロック比に比例して上がるという感じではなく,またこれら2つは同じような変化を示しています. Exe , Shell の値は通常のプログラム実行時のパフォーマンスを表しているため,これ はかなり気になる結果です.

 このデータだけで結論を出すのは危険ですが,そこをあえて考察すると,

  • Celeronのように,ベースクロックが低く(66MHz),内部倍率が高い CPU の場合, もう既にバススピードがネックになっており,クロックの上昇に比べて思うようにトータル パフォーマンスが上がっていないのではないだろうか

  • PentiumIIIの場合,ベースクロックが100MHz化していることと,コアと等速で動作する 2次キャッシュ(Celeronの2倍の256KB)の恩恵で,Celeronよりも劇的にパフォーマンスが上 がっているようだ

  • PentiumIIIの場合でも,650MHz->750MHzの時点で,既にクロック比と比較して 思ったようにトータルパフォーマンスが上がらなくなってくる傾向が見られる

 のような感じのことが言えているのではないかなと思います.

 本当にこの傾向は正しいのか,PPGA版のCeleron 533MHzや,CPU クロックの同一な 100MHz,133MHzそれぞれのバスクロックで動作するPentiumIII,より高速な PentiumIII で 確認してみたいところです.

['01/05/14] 追記
 高クロック版 Celeron のパフォーマンスに関しても調査したところ,上記の考察を裏付けする ような結果が出ました.さすがに11.5倍という高倍率になると,バススピードがかなり足を引っ張る ようです.

['01/11/05] 追記
 ベースクロック 100[MHz]の Celeron(12)の結果を見ると,CPUクロック比でのパフォーマンスの 落ち方は鈍化しているように見えます.また,高クロックなPentiumIII(13)の結果からは,ベース クロック 100[MHz] のものも含めたCeleronよりもパフォーマンスは良好で,かつ,(6),(7)の PentiumIIIよりもクロック比でのパフォーマンスの落ち方は鈍化しています.この結果から,D-step に移行した際に,CPUのパフォーマンスが若干上がっているのではないかと思います.

■ディスクの謎
 前述のByte bench の結果において,Maxtor 96147U8 と 91531U3 の間で凄まじく パフォーマンスに差が出る件についてです.

 これらのテストは,全て UltraDMA 33 モードで行っています.スペック上は 96147U8 の方が 良いため,96147U8 の方が良いパフォーマンスを出すはずです.しかし,結果は逆でした.

 確認の意味も込めて,それぞれのディスクのスペックを,データシートから比較してみました. この2種類のディスクで異なる点は,容量,ヘッド数,ディスク枚数,スタート時間,内部転送 スピード,キャッシュ容量のみです.アクセス速度に影響のありそうな内部転送スピードとキャッシュ 容量を見てみますと,それぞれ 40.8MB/sec vs 36.9MB/sec,2MB vs 512KB というように なっており,どう見ても 96147U8 の方がワンランク上です.

 それではということで,Linux 上で hdparm コマンドを使用し,ベタでの転送スピードを調べて みました.

内容 96147U8 91531U3
Timing buffered disk reads (64 MB in) 18.18 MB/sec 15.92 MB/sec
Timing buffer-cache reads ( 128 MB in) 109.40 MB/sec 92.75 MB/sec

 予想通り,96147U8 の方がパフォーマンスが良いという結果になりました.

 結論として,96147U8 の方がパフォーマンスが低くなる原因は掴めませんでした.想像 するに,データが置かれているディスク上の場所が,内周か外周かによる差や,ディスクの OSによる使われ方による差ではないかなと思います…やや歯切れの悪い結論ですが…

■Byte Bench 総括
 以上のような結果を踏まえると,次のようなことが言えそうです.
  • 低クロックの CPU でも,ディスクのパフォーマンスは最大限に引き出せそうだ(裏を返すと, 低クロックのCPUでも,ディスクは早いものの方が良い)

  • 高倍率のCeleronの場合,CPUクロックを上げても思ったようにトータルパフォーマンスが上がらない

  • Celeronの高クロック版を使うのであれば,PentiumIIIを使用する方がトータルパフォーマンス もアップするため,お勧めである
■追記[00/12/10]
 PentiumIII/800EB MHz(133MHz*6)で ByteBench を走らせる機会がありましたので, その結果と BKi810 での結果と比較してみます.なお,この CPU を試したマシンは BKi810 ではなく,また,チップセットも VIA製 ですので,値は参考程度に見てください.

PentiumIII/800EB を試したPCの構成
CPU Intel PentiumIII/800EB (133MHz*6)
M/BAsus CUV4X-M
MemoryPC133 SDRAM 512MB
HDDMaxtor96147U8*2 を DupliDisk 使用して ミラー(RAID1)

ByteBench 結果のクロック比グラフ2

 グラフ中の(**)が今回チェックしたPCです.BKi180とはチップセットの違いがあるため,そのまま 比較するのはやや危険ですが,クロック比で Exe,Shell の項目のパフォーマンスが再び急激に 伸びています.これまでに確認したデータと付き合わせると,ベースクロックを 133MHz にする ことにより,かなりのトータルパフォーマンスアップが望めそうだということが言えそうです.

 BKi810 の V3.3A に i810E を使用したタイプが発売され,そしてこのタイプではベースクロック 133MHz が正式にサポートされたようです.このタイプでも同様の結果が出るのか.また,より高クロック の CPU を試し,ベースクロック 133MHz化 の恩恵がどの程度の CPU クロックまで効果があるのかを 試したいところです.

■HDBench
■ベンチマークの環境について
 HDBenchでは,v3.3のみを計測対象として行い,Celeron 533A,Pentium III 650MHz, 750MHZの各CPUでどの程度差が出るか,およびBIOS上でのメモリパラメータチューニングがどの 程度パフォーマンスに影響を与えるかを計測しました.システムの環境は,前記したByte Benchを 計測した際のv3.3と同じです.

■HDBenchの結果
['01/11/05] 構成(7)〜(10)のデータを追加

 HDBenchは2.610を使用してベンチマークを行いました.マシン側の環境は,Windows98の素の状態 に添付されているCD-ROMに入っていたドライバをインストールした状態で行った結果は以下の通りです. (ビデオのドライバは,『 Intel(R) 810 Chipset Graphics Driver 4.11.01.2555』を使用しています)

 なお,HDBenchは 2.610 よりも新しいバージョンが出ておりますが,過去に計測したデータと比較した いがため,あえてこのバージョンで計測しています.

環境 CPU 解像度 色数 ALL Text Scroll DD Read Write Memory
(1) Celeron 533A 800x600 16bit 20170 43272 34332 23053 2797 8277 282 30 24497 24853 26996
(2) Celeron 533A 800x600 24bit 18996 43267 34330 14463 2689 7505 0 7 24555 25159 26922
(3) PentiumIII/650 800x600 16bit 22576 52774 41872 22433 3486 10156 282 30 24322 25283 32864
(4) PentiumIII/650 800x600 24bit 21571 52774 41871 16074 3157 8907 0 10 24380 25409 32690
(5) PentiumIII/750 800x600 16bit 24625 60908 48328 22237 3876 11599 282 30 24555 25220 37569
(6) PentiumIII/750 800x600 24bit 23564 60910 48321 16075 3645 9848 0 10 24497 25220 37606
(7) Celeron/1000 800x600 16bit 30360 81236 64454 23509 5209 15110 302 30 24380 28682 49375
(8) Celeron/1000 800x600 24bit 28967 81219 64449 16782 4833 11199 0 14 24497 28763 49280
(9) PentiumIII/1100 800x600 16bit 32414 89380 70911 23545 5557 16371 301 30 24322 28925 53550
(10) PentiumIII/1100 800x600 24bit 30864 89374 70909 16831 5046 11492 0 14 24497 28763 53105

HDBench の結果グラフ

■BIOSチューニングの結果
 BKi810は,メモリアクセスのタイミングを BIOS 上からチューニングすることが可能です.BIOS 上の設定を変更し,メモリアクセスを最適化した結果のパフォーマンスアップの度合いを計測した 結果を以下に示します.なお,前記の環境とは異なり,解像度として800x600の24bitの他に, 1024x768での16bit,24bitでの結果を測定しました.

 具体的なチューニング方法に関しては, v1.6におけるBIOSチューンおよび, v3.3におけるBIOSチューンを参照してください.

環境 CPU 解像度 色数 ALL Text Scroll DD Read Write Memory
(A1) Celeron 533A 800x600 24bit 19311 43270 34329 16846 2698 7571 0 7 24555 25220 27136
(A2) Celeron 533A 1024x768 16bit 19968 43272 34330 21479 2796 8263 0 26 24322 25283 26708
(A3) Celeron 533A 1024x768 24bit 18862 43268 34334 13827 2442 7183 0 7 24438 25409 26684
(B1) PentiumIII/650 800x600 24bit 21614 52767 41871 16926 3335 9075 0 10 24264 24673 32933
(A1) PentiumIII/650 1024x768 16bit 22443 52763 41866 21596 3489 10109 0 29 24380 25345 32183
(A1) PentiumIII/650 1024x768 24bit 21106 52772 41870 15019 3226 8341 0 9 22705 24914 32292
(A1) PentiumIII/750 800x600 24bit 23583 60904 48316 16843 3681 10141 0 10 23869 24914 37804
(A1) PentiumIII/750 1024x768 16bit 24453 60904 48321 21634 3880 11535 0 29 24497 24853 37295
(A1) PentiumIII/750 1024x768 24bit 23147 60906 48323 13825 3550 8854 0 10 24497 25220 37249

HDBench の結果グラフ(BIOSチューニング後)

■BIOSチューニングの効果
 BIOS チューニングの効果を見るために,同一条件で計測した,(2)と(A1),(4)と(B2),(6)と(B3)を 比較してみます.以下の図は,それぞれのベンチマークの値から,どの程度パフォーマンスが上昇し たかをパーセント表示でグラフ化したものです.

BIOS チューニングによるパフォーマンスの向上

 予想に反して,メモリの転送スピードはあまり向上していません.しかし,グラフィックに関する 部分はかなり向上しているのが分かります.グラフィック部分のパフォーマンスが向上した理由は, i810のグラフィック機能は,メインメモリの一部を Video RAM として使用しているからかもしれません.

 その反面,PentiumIII を使用した場合,ディスクアクセスに関してはパフォーマンスが 低下しています.そのようなわけで,トータルとしてみた場合,BIOS 上でメモリ関係のパラメータ をチューニングするか否かはかなり悩ましい結果になっています.

 ここで重要なのは,グラフの縦軸は[%]表示だということです.Celeron 533A の矩形表示の パフォーマンスは劇的に向上していますが,それ以外の項目は,数%の変動を見せているのみ です.ある意味,BIOS チューニングによるパフォーマンスアップの度合いは,誤差の範囲内では ないかとも取れる程度だという結果になりました.

(ただし,BIOS上で一つ一つのパラメータをチューニングすることにより,本ページの結果とは異なった 結果が出る可能性もあります)

■HDBench総括
 以上のような結果から,次のようなことが言えそうです.

    1) i810 の内蔵ビデオ機能は,表示色数を増やすとパフォーマンスをかなり落とす
    2) i810 の内蔵ビデオ機能は,高解像度化に対しては,それほどパフォーマンスを落とさない
    3) BIOS上でのメモリタイミングチューニングは,気休め程度の (^^; パフォーマンスアップを望める
    4) BKi810 は,Celeron533A 使用時でも,440BX を用いた PentiumIII/450
       クラスのマシンの置き換えには十分現実的なパフォーマンスを持つ
    5) ただし,上記の事柄は,ビデオの性能は除く

 ちなみに,4,5 の根拠としたのは,以前私が使用していた以下のような構成のマシンとの比較を 行った結果です.以下のような構成は,'99年の標準的なパフォーマンスを持ったマシンだと言えると 思います.

グラフ中(AA2)の構成
CPUIntel PentiumIII/450 (100MHz*4.5 Katmai コア)
M/BAsus P3B-F
MemoryPC100 SDRAM 128MB
HDDFastTrack33+DHEA 8GB*2 でストライピング (RAID0)
VideoATI Rage Fury 32MB (ATI Rage 128GL)

 以下のグラフにおいて,(A3)が Celeron 533A を 1024x768/24bit で使用した際の BKi810 のデータ,(AA2)が上記のマシンを 1024x768/32bit で使用した際のものです.

PentiumIII/450+440BX マシンとのパフォーマンス比較

 結論として,ゲームのような 3D グラフィックをバリバリ使用するようなソフトや,多色高解像度を 必須とするグラフィックソフトを多用するような場合を除いて,BKi810 は必要かつ十分なパフォー マンスを持っているといえそうです.


『BKi810 活用メモ』 へ戻る