86Boxプロジェクトによって提供されるようなハードウェアレベルのエミュレーションは、ホストシステムのシングルコア性能に対して非常に高い要求を課します。86BoxはCPUのタイミング、チップセットの動作、そしてISAおよびPCIバスの複雑な挙動を正確に再現する必要があるため、計算負荷の大部分は単一のホストスレッドに集中します。レトロコンピューティングの愛好家にとって、これはホストの総コア数よりも、最も高速な個々のコアの純粋な速度と安定性が重要であることを意味します。最適化されたシングルコア性能を備えたMac Mini M6は、このような時代に忠実なシミュレーションのための高性能なホストとして機能します。

Windows 98用のCPU設定を表示する86Boxソフトウェアインターフェースのスクリーンショット。
Pentium IIプロセッサのための86Boxエミュレータ内の構成設定。nyaa.sh

この記事では、Pentium IIおよびVoodoo 3ハードウェアをエミュレートするために使用された特定の86Box 6.0ビルドと構成について述べています。

カスタムの86Box 6.0ビルドを使用した一連のテストにおいて、Mac Mini M6にはWindows 98 SEを実行するPentium II(Deschutes)プロセッサとVoodoo 3グラフィックスカードの組み合わせをエミュレートするタスクが与えられました。テスト手法では、ホストが「フラットな100%」のエミュレーション速度を維持すること、つまりホストがエミュレータの内部タイミングモデルに遅延なく追従し続けることが求められました。ベースのM4 Mac Miniが500MHzで性能の限界に達したのに対し、M6は安定した600MHzのクロック速度を維持することに成功しました。この600MHzの結果は、Cinebench 2000やWinampを介したリアルタイムオーディオなどの重いワークロードを実行している間も安定して維持されました。これは、エミュレーション速度の瞬間的な低下が聴覚的なノイズ(アーティファクト)を引き起こすため、特に困難な課題です。

Cinebench 2000とWinampを開いた状態でWindows 98 SEを実行するPentium IIエミュレーションのスクリーンショット。
高負荷なワークロードを並行して実行しながら、高速でPentium IIエミュレーションを動作させるMac Mini M6。nyaa.sh

この画像は、Cinebench 2000やWinampのような要求の厳しいソフトウェアを実行しながら、安定したエミュレーション速度を維持するM6の能力を示しています。

ホストのテレメトリによると、86Boxはエミュレーション作業を2つの「スーパー」コア(cpu6およびcpu7として識別)に割り当てており、600MHzの実行中、これらは平均約4,710MHzで動作していました。高負荷にもかかわらず、M6は大きな余裕を維持しており、稼働中のコアの利用率は約45%から49%でした。しかし、これらのエミュレートされたベンチマークと歴史的な物理ハードウェアの間には顕著な乖離があります。エミュレートされた600MHz Pentium IIのスコアは、1990年代後半の当時の正確な結果よりも大幅に高くなりました。この差は、P6のアウトオブオーダー実行やL2キャッシュの挙動をエミュレートすることの固有の複雑さに起因する可能性があり、86Boxも、完全な正確性を実現することは技術的にコストがかかり、完璧に達成することが困難な領域であることを認めています。