web-dev-qa-db-ja.com

ベンチマークを介してARMとx86のパフォーマンスを比較できますか?

最新のニュースから判断すると、新しいAppleプロセッサーA11 Bionicは、GeekbenchベンチマークでモバイルインテルCore i7よりも多くのポイントを獲得しています。

私が理解しているように、このベンチマークにはさまざまなテストがたくさんあります。これらのテストは、日常の使用で発生する可能性がある負荷を含む、異なる負荷をシミュレートします。

一部の人々は、これらの結果はx86の結果と比較できないと述べています。彼らは、x86は「より複雑なタスク」を実行できると言っています。一例として、彼らはPhotoshop、ビデオ変換、科学計算をリードしています。 ARM=のソフトウェアは、多くの場合、デスクトップ用のソフトウェアの「軽量」バージョンにすぎないことに同意します。しかし、この制限はモバイルオペレーティングシステムのフォーマット(外出先での作業、マウスなしなど)、およびARMのパフォーマンスによるものではありません。

反対の例として、Safariを見てみましょう。ブラウザは複雑なプログラムです。そしてiPadでは、SafariはMacと同じように機能します。さらに、Sunspider(JSベンチマーク)の結果を見ると、iPadのSafariがより多くのポイントを獲得していることがわかります。

日常のタスク(Web、Office、音楽/映画)でARM(A10X、A11)とx86(デュアルコアモバイルインテルi7)のパフォーマンスは同等で同等だと思います。

ARMがx86よりも大幅に遅れているタスクはありますか?その場合、その理由は何ですか?Appleがラップトップをリリースしないようにしているのは何ですか? ARM?彼らはすでにPOWERからx86への移行で同じことをしていますが、これは技術的な制限なのか、それとも単なるマーケティングなのでしょうか?

(この質問はトピックから外れているため、コメントとして意図されていましたが、長くなりました。)もちろん比較することはできますが、ほとんどの人はそうではないので、十分注意する必要があります。企業が結果を公開する(または「漏らす」)傾向が偏っているという事実も、あまり役に立ちません。

一般的な誤解は、2つのシステム間でベンチマークを比較して、それぞれについて単一のスコアを取得できるということです。これは、さまざまなシステムがさまざまな最適化ポイントを持っているという事実を無視します。ほとんどの場合、電力(または「TDP」)に関してです。注目する必要があるのは、電力/パフォーマンス曲線です。このグラフは、システムがより多くの電力にどのように反応するか(周波数を上げ、より多くのパフォーマンス機能を有効にするなど)と、それがパフォーマンスにどの程度貢献しているかを示しています。 1つのシステムは低電力範囲で勝つことができますが、十分にスケーリングしないため(または、ある時点でスケーリングを停止するため)、利用可能な電力が増加すると失われます。これらのCPUのほとんどは低電力用に調整されているため、これは通常Armの場合に当てはまりますが、x86はより大きなドメインをカバーし、より適切にスケーリングします。

グラフに沿って1つのポイントを観察する必要がある場合(これは、低電力デバイス用のCPUを探している場合などの正当なシナリオです)、少なくとも比較が公平であり、同じ電力を使用していることを確認してください封筒。もちろん、調整する必要のある他の要因があります(そして、過失やチートの意図が原因ではない場合もあります)-ワークロードは同じである必要があります(異なるバージョンを比較したことがあります)。コンパイラーも同じようにする必要があります。可能な限り(ただし、armとx86コードの生成はすでに異なりますが、コンパイラの中間最適化は類似しています。intelとAMDのように2つのx86を比較する場合は、マシン固有の最適化も許可しない限り、同じバイナリを使用する必要があります)。最後に、システムも同様である必要がありますが、スマートフォンをpc/macbookと比較する場合はそうではありません。メモリ、コア数などが異なる場合があります。これは正当な違いである可能性がありますが、実際には1つのアーキテクチャが他のアーキテクチャよりも優れていることとは関係ありません。

2
Leeor

ISAからアプリケーションまたはソースコードに至るまで、多くの抽象化レベルがあり、私たちが持っている唯一のメトリック(実行時間、またはスループット)は、1つを有利にする可能性のある多くの要因に依存しますまたはその他:アルゴリズムの選択、ソースコードで記述された最適化、コンパイラー/インタープリターの実装/最適化、オペレーティングシステムの動作。したがって、それらは正確に/数学的には比較できません。ただし、数値と管理エンジニアとして話すことによって記述されたモバイルアプリケーションのユーティリティ、ARM=チップは非常に良好に実行できるようです。唯一の理由は、標準的な広がりの慣性です(MicrosoftがARMプロセッサで実行しているウィンドウのバリアントを提案している場合、debian ARMバリアントは準備ができています https://www.debian.org/distrib/netinst )生の数値を見ると、ARMv8コアはx86/64コアに近いようです

電力消費のトピックは再び複雑です。www上のすべての周波数/テンションルール(使用および乱用)に基づく基本ルールは、トランジスタの発生時間です。 https://en.wikipedia.org/wiki/Rise_time

トランジスタのスイッチングには一定の時間遅延があります。これにより、トランジスタがスイッチングできる最大周波数が決まります。カスケード接続されたそれらの多くは、この時間を非線形に合計します(これを示すには、いくつかの積分が必要です)。その結果、10年前にGHzを増やすために、企業はより多くの段階で操作の実行を分割して、論理パイプラインステージ内でもパイプライン方式でそれら(操作)を実行しようとしました。 https://en.wikipedia.org/wiki/Instruction_pipelining

上昇時間は物理的特性(トランジスタの材料と形状)に依存します。スイッチングはトランジスターチャネルの開閉をトリガーするコンデンサーの充電/放電に関連付けられているので(期間を短縮してください)、電圧を上げるとトランジスタスイッチングが速くなり、トランジスタスイッチングが速くなります。

これらのARMチップは低消費電力アプリケーション向けに設計されており、設計を変更することで簡単にMHzを獲得できますが、多くの電力を使用しますか?再度、内部で作業しないと比較できません。鋳造所と番号があります。

ARMプロセッサのサーバーアプリケーションの例は、消費電力がCaviumまたはqualcomm Falkor CPUであるため、デスクトップ/ワークステーションCPUに近い可能性があり、いくつかのベンチマークレポートはそれらが不良ではないことを示しています。

0
Alb_Sim