私のワークステーションには、いつもかなり高速なCPUだと思っていたIntel i7-4790Tがあります。しかし、Geekbench 4によると、新しいiPad ProのApple A12Xプロセッサーは快適に打ち勝ちます。Geekbench4を実行すると、約4,000のシングルコア速度が得られますが、新しいiPad Proでは A12Xプロセッサは約5,000を返します つまり25%高速です。実際には A12およびA11でもi7-4790Tよりもスコアが高くなります 。マルチコアテストでは、CPUが11,000を超えるシェードをスコアしますA12Xのスコアは18,000で、これはなんと60%高速です。
予備的な質問は、Geekbenchが実際の速度の信頼できる指標であるかどうかです。たとえば、CPUに大きな負荷をかける唯一のことは、 Handbrake を使用したビデオのリサンプリングです。 HandbrakeはIOSでは利用できませんが、移植されたと想定すると、A12XでHandbrakeが実際にビデオを60%高速に処理しますか、それともGeekbenchスコアが実際のパフォーマンスを表していないのですか?
しかし、私の主な質問はこれです:A12Xと私のCPUを正確に比較する方法を別にして、Appleを管理してARMベースのRISCチップを高速ですか?そのアーキテクチャのどの側面が高速化の原因ですか?
RISCアーキテクチャについての私の理解は、クロックサイクルあたりの処理が少ないということですが、シンプルな設計により、より高速なクロックで実行できます。しかし、A12Xは2.5GHzで動作しますが、私のi7の基本速度は2.7GHzで、シングルコア負荷で3.9GHzにブーストします。したがって、私のi7はA12Xよりも50%速いクロック速度で動作することを考えると、Appleチップはどのようにしてそれを打ち負かすことができますか?
私がインターネットで見つけることができるものから、A12Xにははるかに多くのL2キャッシュがあり、私のi7では8MB対256KB(コアあたり)なので、それは大きな違いです。しかし、この追加のL2キャッシュは本当にパフォーマンスに大きな違いをもたらすのでしょうか?
Geekbench CPUテストは、CPUとCPUのメモリ速度にのみ負荷をかけます。 Geekbenchがこれを行う方法の詳細 これで説明されていますPDF(136KB) 。テストは、私たちが多くのことを使用するものとまったく同じように見えますCPU、そしてそれらは実際に私が例として提案したハンドブレーキのパフォーマンスを代表しているようです。
私のi7-4790TとA12XのGeekbench結果の詳細な内訳は次のとおりです。
Test i7-4790T A12X
Crypto 3870 3727
Integer 4412 5346
Floating Point 4140 4581
Memory Score 3279 5320
A12Xは最新のテクノロジーに基づいて構築された巨大なCPUであり、2014年の古いi7-4790Tをはるかに凌いでいます。
最初の違いは製造プロセスです。A12Xは7 nmチップですが、i7-4790T Haswell-DTは古い22 nmに基づいています。トランジスタが小さいほど、スペースが小さくなり、動作電力が小さくなり、チップパスが短いほど信号が速くなります。
A12Xには驚異的な100億個のトランジスターがありますが、i7-4790Tには14億個しかありません。
これにより、A12Xには6つの整数実行パイプラインがあり、そのうち2つは複雑なユニット、2つはロードおよびストアユニット、2つは分岐ポート、3つはFP /ベクトルパイプラインであり、合計で推定13の実行ポートを提供します。 Haswell-DTアーキテクチャの実行ポート。
キャッシュサイズについては、コアごとにA12にあります。各ビッグコアには、128kBのL1キャッシュと8MBのL2キャッシュがあります。各リトルコアには、32kBのL1と2MBのL2があります。さらに、8 MBのSoCワイド$(他にも使用されます)があります。
Haswellアーキテクチャには、コアあたり64KBのL1キャッシュ、コアあたり256KBのL2キャッシュ、および2〜40MBのL3キャッシュ(共有)があります。
A12Xがi7-4790Tをすべての点で、かつ大幅に上回っていることがわかります。
RISCとCISCのアーキテクチャについては、これは現在のプロセッサでは問題となっています。どちらのアーキテクチャも、弱点を緩和するために互いの機能をある程度エミュレートするように進化しました。
私はここで、RedditによってコンパイルされたXeon 8192、i7 6700k、およびAMD EPYC 7601 CPUとの比較のチャートを引用します(以下のリンク)。A12はデスクトッププロセッサでも比較できます。
出典:
A12XとHaswell(Intel i7-4790T)の間で非常に異なるアーキテクチャを比較していて、2つのプロセッサは直接比較できないため、ベンチマークの数値は直接比較できません。
特定のテストが何をテストしているのかを理解することは、数値の意味を理解するのに役立ちます。オタクベンチテストを行って、最後の行から始めましょう。
GeekBenchテストによると、A12Xとhaswellチップ間のメモリ帯域幅は大きく歪んでいます。 A12Xのメモリパフォーマンスは約2倍です。通常、メモリテストでは、待ち時間と帯域幅の2つの無関係な項目が統合されますが、ここではA12Xが最も優れています。
次の項目は、浮動小数点パフォーマンスです。このテストは、異なるアーキテクチャ間で手動で最適化されたコードを比較しようとしています。数値は最適化の品質によって歪められる可能性がありますが、これは全体的なFPUパフォーマンスに適したものであり、直接比較できます。ここで、2つのプロセッサの結果は同じです。
最も役に立たないテストは、整数パフォーマンスというラベルの付いたテストです。これは、算術的な意味での整数のパフォーマンスではなく、FPU以外の一般的なワークロードの集まりです。これらのテストは、プラットフォームでのアプリケーションパフォーマンスを示すという意味では意味がありますが、メモリパフォーマンスにある程度敏感であるため、プロセッサAがプロセッサBより優れていると言っても意味がありません。
最後は暗号の作業負荷です。これは抽象的に意味がありますが、特定のテストはおそらくそれほど役に立ちません。高性能暗号はAES-CTRではなくAES-GCMを使用する必要があります。後者はハードウェアアクセラレーションにも適していません。これは、ドメイン固有のベンチマークでもあります。
これらの特定の数字について賢いことを言ってみようと思ったら、これを試してみましょう。
これらの数値に基づいてより大きな結論を導き出すこと、またはそれらの数値に基づいてアーキテクチャ上の主張を行うことは、おそらく賢明ではありません。
一般的なアーキテクチャの比較については、RISCとCISCはどちらの命令セットもワークロードの分散方法を決定するマイクロオペレーションにデコードされるため、もはや意味がありません。純粋に実行ポートに基づいて比較することは、直接比較できない高レベルのビルディングブロックであるため、おそらく特に意味がありません。
キャッシュは、プロセッサーのパフォーマンスに直接影響する重要な量ですが、非常に複雑です。 IntelアーキテクチャとA12Xの間でキャッシュを共有する方法は、まったく異なります。一般に、キャッシュが多いほど良いですが、スレッド化されたアプリケーションがコア間でデータを共有する方法に影響を与えるキャッシュの一貫性も同様に重要です。
最後に、プロセッサーはワークロードに対して機能する必要があります。 A12Xは将来のいずれかの時点でデスクトップワークロードをサポートできる可能性がありますが、i7 v4は現在それをサポートしているため、A12Xよりも4〜5年古いにもかかわらず、デスクトッププロセッサに最適です。