PokuG stdio.h

ポクジィと読みます

PC-9821Ra43は本当に速いのか?Celeron 433MHzとPentium 133MHzのキャッシュOFF対決


Celeron 433MHzという25年前の高クロックのCPUを搭載した、PC-98シリーズ最終機種のPC-9821Ra43。
一方、PC-9821V13はPentium 133MHzと、クロックではRa43の約3分の1しかありません。

ところが最近、両機種でCPUキャッシュをOFFにして古いDOSゲームを動かしていたところ、
「Ra43の方が遅い?」と感じる場面がありました。

クロックでこれだけ差があるのに、なぜ「Ra43の方が遅い」と感じるのか?

そういう訳でキャッシュOFFという特殊条件で、Celeron 433MHzとPentium 133MHzのベンチマークを比較してみます。

※この記事は、測定結果に管理人の想像と趣味がスパイスとして加わっています。
 本気の実験というより、レトロPC趣味のタワゴトとしてお楽しみください。
 「レトロPC好きオッサンの夏の自由研究」です。

比較対象マシン紹介

今回比較する2台はいずれもPC-9821シリーズのデスクトップモデルです。

比較対象マシンのスペック

項目 PC-9821Ra43 PC-9821V13
発売時期 2000年ごろ 1996年ごろ
CPU Celeron 433MHz(P6アーキテクチャ) Pentium 133MHz(P5アーキテクチャ)
CPUキャッシュ L1: 32KB
L2: 128KB(どちらもCPU内蔵)
L1: 8KB
L2: 256KB(マザーボード実装)←取り外しました
チップセット Intel 440FX Intel 430FX(Triton)
メモリ構成 64MB(EDO DRAM パリティー有り) 64MB(EDO DRAM パリティー無し)
外観

※ちなみにPC-9821V13のセカンドキャッシュは抜いて測定しています


ベンチマーク測定環境・条件

今回の検証では、両機種とも以下のような条件をそろえてベンチマークを実施しました。

OS・基本構成

項目 設定内容
使用OS MS-DOS 6.2(NEC版)
メモリ構成 64MB
起動方式 HDD内のDOSから起動
実行ドライブ HDD
キャッシュOFF HSB.EXE(フリーソフト)使用

CONFIG.SYSの設定

CONFIG.SYSは両方とも以下を使用します。

DEVICE=C:\TOOLS\HSB.EXE VC Y-
FILES=30
BUFFERS=10
SHELL=\COMMAND.COM /P
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE /UMB /T=A:\DOS\EXTDSWAP.SYS
DEVICE=C:\TOOLS\HSB.EXE VU2 T2 I26 Y2 X- Q
DOS=HIGH,UMB

キャッシュOFFの設定方法

使用ツール: HSB.EXE(フリーソフト)

OS起動後に以下のコマンドを実行して、CPUキャッシュをOFFに設定します。

HSB WI IC-

使用ベンチマークソフト一覧

使用ベンチマークソフトは以下になります。

ソフト名 作者・出典
力持ちCPU速度計 フリーソフト
CPUBENCHI Ver 0.98 フリーソフト
CPUBENCHI Ver 0.99C フリーソフト
CPUCHK I-O DATA
Inspact I-O DATA
森ベンチ MASL(フリーソフト)
ちゃちゃベンチ MASL(フリーソフト)

ベンチマーク結果

各ベンチマークの実測値(表)

各ベンチマークの実測値を以下表にまとめました。
また、実測値以外に「倍率」と「勝敗」という項目を付け足しています。

  • 倍率:V13のスコア ÷ Ra43のスコア
  • 勝敗:Ra43とV13どちらの方がスコアが高いか
ベンチマーク Ra43
(Celeron 433MHz)
V13
(Pentium 133MHz)
倍率
(V13 / Ra43)
勝敗
力持ちCPU速度計
CXLOOP/sec
39 30 0.77 Ra43
力持ちCPU速度計
INT21h/sec
543 740 1.36 V13
CPUBENCHI Ver0.98
(PC9801比)
6.04 19.63 3.25 V13
CPUBENCHI Ver9.9C
(PC9801比)
6.09 19.83 3.26 V13
CPUCHK 速度
(80286-10MHz比)
1.09 2.27 2.08 V13
CPUCHK 数値演算
(80287-10MHz比)
11.65 7.59 0.65 Ra43
Inspact
(プロセッサ)
1330 2920 2.20 V13
森ベンチ
(枚/秒)
7.7 34.9 4.53 V13
ちゃちゃベンチ
(往復/10秒)
42 194 4.62 V13

※実際の結果スクショは "参考資料:全ベンチマーク詳細結果" に記載します

全体の傾向(倍率グラフ)

下のグラフは上の表の倍率(V13のスコア ÷ Ra43のスコア)をグラフにしたものです。
数字が 1.00 なら「ほぼ同等」、1より小さければRa43が速く、1より大きければV13が速いという意味です。
なおグラフでは、

  • 青:Ra43の方が速い(1未満)
  • 赤:V13の方が速い(1以上)

という色分けをしています。

今回の結果を見ると、ほとんどのベンチマークでV13(Pentium 133MHz)がRa43(Celeron 433MHz)を上回る傾向がありました。
一方、Ra43が優位なのは数値演算(浮動小数点)など一部のCPUコア性能依存と思われるベンチだと思われます。


考察

なぜキャッシュOFF時にPentium 133MHzの方が優勢になるのか

おそらく、Pentium 133MHz(V13)からCeleron 433MHz(Ra43)の間に組み込まれたCPUの新機能がキャッシュをOFFにするとにより、ほぼ全てが空振りに終わり、Pentium 133MHz(V13)の方がよいスコア結果になるんだろうなとは思いましたが、詳細は分からなかったので、ChatGPT先生(ver5課金済み)に聞いてみました。

あっているかどうかは自分ではわかりませんが、それらしい回答をいただきました。

メモリアクセスの律速効果

キャッシュをOFFにすると、CPUはすべてのデータをメインメモリから読み書きする必要があります。
Pentium 133MHz(V13)もCeleron 433MHz(Ra43)もメモリクロックはほぼ同じ66MHzですが、古いP5アーキテクチャのPentiumは単純構造のため、待ち時間中の無駄が少なく、結果的にメモリアクセス主体の処理では有利になります。

アーキテクチャの違い(P5とP6)

V13のPentium 133MHzは「P5」世代、Ra43のCeleron 433MHzは「P6」世代です。
P6はパイプラインが深く、投機実行など高度な機能を持ちますが、キャッシュOFFではその性能が活かせず、むしろメモリ待ちが多くなる分だけ効率が落ちます。

Ra43(Celeron 433MHz)のキャッシュOFF傾向

今回の結果では、多くのベンチマークでV13がRa43を上回りました。
Ra43が勝てるのは数値演算(浮動小数点)など「CPUコア性能だけ」で勝負できるテストに限られ、メモリアクセス主体の処理ではP5アーキテクチャのV13が有利という傾向がはっきりしました。
つまり、キャッシュOFF状態では、P6世代の利点が消え、むしろ古いP5世代の方が効率よく動く場合がある、という意外な結果になりました。

以上ChatGPT先生のコメントでした。
正しいかどうかは...わかりません...

キャッシュOFF時のCPUはどの世代相当なのか?

CPUBENCHI Ver0.98/力持ちCPU速度計/ちゃちゃベンチの3つはドキュメントに数例のベンチ結果が記載されていたので、Ra43とV13キャッシュOFFはどの世代相当なのかをむりやり突き合わせてみました。

各ベンチマークに記載されている結果を確認したい人はアプリをダウンロードしドキュメントを読んでください。
※あくまでも管理人がデータを付き合わせた結果なのでデータが正確性に欠ける前提でみてください

詳細は省きますが以下だと妄想します。

  • Ra43:286 高速~386SX 12〜16MHz 相当、ものによっては486SX 16〜25MHz相当

    (=ベンチの性格で振れ幅が大きいが、総じて“かなり遅い“)

  • V13:概ね486SX 16〜25MHz 相当、測定内容によっては33MHz相当まで寄る場面あり

    (=こちらもベンチの性格で振れ幅が大きいが、総じて“遅い“)

DOSゲームの実用性

PC-98実機では、古いDOSゲームを快適に遊ぶためにあえてキャッシュをOFFにする手法があります。
これは、キャッシュONのままだと動作が速すぎてゲームバランスが崩れたり、タイミング依存の処理が正しく動かなくなることがあるためです。

今回の結果を見ると、Ra43(Celeron 433MHz)のキャッシュOFF時はV13(Pentium 133MHz)よりも全体的に遅く、より古いCPU相当の速度まで落とせる可能性があります。

つまりRa43は90年代のDOSゲームからWindows95/98時代のゲームまで幅広い世代のソフトを1台で楽しめるポテンシャルを持っていると考えられます。
単に「遅い」ではなく、「遅くできる」がポイントだと思います。

それでもV30、286時代のゲームは動作は難しいと思ったりしています。
またキャッシュオフにすることは開発側では想定されていない動作なので、ゲームの途中で不具合がでたりPC-98事態が不安定になる可能性はかなり高いと思います。


おわり

今回の検証では、Ra43(Celeron 433MHz)とV13(Pentium 133MHz)をキャッシュOFFで比較しました。

結果は、クロック差3倍以上にもかかわらず、多くのベンチマークでV13が優勢という意外な展開でした。

原因は、キャッシュOFF時に顕著になるメモリアクセス速度の律速やアーキテクチャの世代差だと思われます。

今回の比較は、「速いCPU=常に速い」という常識を覆すものでした。
キャッシュOFFの世界では、PentiumやCeleronなどのCPUブランドやクロックだけでは語れない奥深さがあるような気がしました。


謝辞

本記事で使用したベンチマークソフト及びキャッシュを無効にするソフトは、いずれも当時のソフトウェア開発者の皆さまによって作成されたものです。
貴重なツールを公開・配布してくださった作者の方々に、心より感謝申し上げます。


参考資料:全ベンチマーク詳細結果

各ベンチマークの結果とスクショです。

力持ちCPU速度計

  • CXLOOP/sec
    • Ra43:39
    • V13:30
  • INT21h/sec
    • Ra43:543
    • V13:740
Ra43 V13

CPUBENCHI Ver 0.98

  • Ratio to the first PC9801
    • Ra43:6.04
    • V13:19.63
Ra43 V13

CPUBENCHI Ver 0.99C

  • Ratio to the first PC9801
    • Ra43:6.09
    • V13:19.83
Ra43 V13

CPUCHK

  • 速度(80286-10MHz換算)
    • Ra43:1.09倍
    • V13:2.27倍
  • 数値演算(80287-10MHz換算)
    • Ra43:11.65倍
    • V13:7.59倍
Ra43 V13

Inspact

  • プロセッサスコア
    • Ra43:1330
    • V13:2920
Ra43 V13

森ベンチ

  • スコア
    • Ra43:7.7枚/秒
    • V13:34.9枚/秒
Ra43 V13

ちゃちゃベンチ

  • スコア
    • Ra43:42往復/10秒
    • V13:194往復/10秒
Ra43 V13