1731925386
2024-11-18 09:18:00
前の 2 つの記事 (リンクは最後にあります) では、Apple の最新 M4 チップのパフォーマンス (P) コアの機能と特性のいくつかを調べました。この記事では、効率 (E) コアを比較して説明します。
M4ファミリー
現在の 3 つの M4 設計には、E コアに関して 2 つのバリエーションしかありません。
- ベース M4、アクティブな E コアが 4 つだけの安価なバージョンを除いて、6 つの E コアを備えています。
- M4プロ そして マックス、「ビン化された」バリアントを含む 4 つの E コアを備えています。
Apple は、2 つの M4 Max チップをタンデムに搭載し、合計 8 つの E コアを提供する Ultra バージョンを 2025 年にリリースすると予想されています。コアの数を除けば、すべての E コアは同じであり、P コアとは異なります。
Eコアアーキテクチャ
すべての E コアは 4 つまたは 6 つの単一クラスターに配置され、共通の L2 キャッシュを共有し、同じ周波数 (クロック速度) で実行されます。 M1 コアの分析によると、各 E コアには処理ユニットの数がおよそ半分あり、P コアにはそのような処理ユニットが複数あり、M1 E コアのコンピューティング能力は P コアのおよそ半分になります。後続の M ファミリのコアに関する比較可能な分析は見たことがありませんが、消費電力の違いは、処理ユニットと計算能力に大きな違いが残っていることを示唆しています。
頻度
P コアと同様に、E コアは最小 1,020 MHz から最大 2,592 MHz (1.0 ~ 2.6 GHz) までの 5 つの値のいずれかで動作するように設定できます。 macOS を実行している場合、クラスター頻度は macOS によってカーネル レベルで設定されます。他のオペレーティング システムでは、より直接的な制御が可能になる場合があります。この周波数範囲は、744 ~ 2,748 MHz の範囲である M3 の E コアの周波数範囲よりも大幅に狭いです。
E コアは 1,020 MHz でアイドル状態になり、完全にシャットダウンすることもできますが、その上で macOS バックグラウンド スレッドを実行する安定した需要を考慮すると、これは例外的です。それにもかかわらず、 powermetrics は依然として、「ダウン」居住をアイドル居住とは別に報告しています。
命令セット
これは、M4 P コアでサポートされるスケーラブル ベクター エクステンション (SVE) のない ARMv9.2-A と同一であると考えられており、どちらのコア タイプでも同じスレッドを実行できます。
シングルスレッドの比較
コア タイプ間のコントラストを理解する 1 つの方法は、それぞれのタイプで実行される単一の集中的なコア内スレッドを比較することです。この目的のために、macOS 15.1 で 2 つの異なるサービス品質 (QoS) 設定で実行される浮動小数点計算のタイトなループを使用しました。
P コアでの高 QoS のシングル スレッド
このスレッドは最初に 2 番目 (P1) クラスターの P13 (赤) にロードされ、3.7 秒後に最初の (P0) クラスターの P5 (青) に移動されました。さらに 4.6 秒間実行した後、2 番目 (P1) クラスターに戻され、P11 (紫色) で実行されました。この実行中、2 つの P クラスターでは他のアクティビティがほとんどなかったため、このスレッドがもう一方のクラスターで実行されている間、非アクティブなクラスターがシャットダウンされました。

アクティブ クラスターは、全体を通じて最大周波数 4,511 MHz で実行されました。スレッドが別のクラスターに移動される直前に、スレッドが起動され、スレッドを実行できる最大周波数まで実行されます。

合計 CPU 電力は、スレッドが実行されている期間を通じてほぼ同じでしたが、どのクラスターがアクティブであったかに応じて、小さく一貫した差があります。最初の (P0) の消費電力は約 2,520 mW で、2 番目の (P1) よりも 50 mW 高くなりました。 )約2,470mW。これは以前に報告された違いと一致しており、これが一般的な機能であるかどうかを判断するには、他の M4 Pro チップでの評価に値します。
E コアでの高 QoS のシングル スレッド
ここで使用されているコア内浮動小数点ループ テストなどのコードを E コアで実行する方法があります。それらは低い QoS (バックグラウンド) で実行できるため、macOS はコードを E コアのみで実行するように割り当てます。利用可能な P コアよりも多くのスレッドがある場合、高 QoS スレッドからこぼれ出る可能性があります。 M4 Pro チップでは、11 個のスレッドが必要となり、次に説明するように、そのうちの 1 つが E クラスターに割り当てられます。

このグラフは、4 つの E コア上でのアクティブな常駐と、それらに 1 つの高 QoS スレッドが注がれていることを示しています。コア E1、E2、および E3 はこの 6 秒以上の期間にわたって他のスレッドを処理しているように見えますが、コア E0 は 90 ~ 100% のアクティブな常駐状態で実行され、スピルされたスレッドを実行しているように見えます。このスレッドは 6 秒以上の期間にわたってコア間で移動されなかったことに注意してください。
E クラスター周波数は、最大値 2,592 MHz で全体を通じて一定のままでした。 CPU 電力使用量は必然的に 100% のアクティブ常駐と最大周波数で動作する 10 個の P コアによって支配され、14,000 mW 弱にとどまりました。残念ながら、使用すると、 powermetrics E クラスターの電力使用量を直接推定することはできません。
E コア上の低 QoS でのシングル スレッド
これは、高 QoS でのスレッドの流出とは大きく異なります。

E クラスター内の単一コアが 100% アクティブ常駐でスレッドを実行したという証拠はありません。その代わりに、コア間で高速かつ自由に移動したようであり、その期間中に複数のコアでの実行にまたがる 0.1 秒のサンプリング間隔が多数ありました。

クラスター周波数は 1,050 ~ 1,060 MHz の安定した最小値であり、一時的に最大値 2,592 MHz まで上昇したときにスパイクが重畳されました。これは、追加のスレッドが実行されなかった場合、単一スレッドがコアの最小周波数に近い周波数で実行された可能性が高いことを示唆しています。

同様の状況が電力使用でも見られ、シングル スレッドだけで必要な約 40 ~ 45 mW という低いバックグラウンドからのスパイクが見られます。
シングルスレッドの動作
これらは次のように要約できます。
- P コア (高 QoS) は、単一の P コア上で 100% のアクティブ常駐で最大周波数で実行され、クラスター間で不定期に (約 3.7 ~ 4.6 秒ごとに) 切り替えられます。総消費電力は約2,500mWです。
- E コアに波及する高 QoS は、最大周波数で単一の E コア上で 90 ~ 100% のアクティブ常駐で実行され、コア間でまったく切り替えられないか、またはまれにしか切り替えられません。
- E コア (低 QoS) は約 100% で実行され、クラスタ内のすべての E コア間で最小に近い頻度で頻繁に移動されます。総消費電力は約 40 ~ 45 mW です。
パフォーマンス、パワー、効率
P コアと E コア間のパフォーマンスと消費電力のより詳細な比較に戻ることになりますが、ここでは、上で使用したコア内浮動小数点タスクについて 1 つの図を示します。
各スレッドで 2 x 10^9 ループを実行すると、P コアは最大周波数でスレッドあたり 9.2 ~ 9.7 秒かかり、スレッドあたり約 2,500 mW を使用します。最低周波数に近い周波数で低 QoS スレッドを実行する E コアは、約 4 倍の 38.5 秒かかりますが、スレッドあたりの消費電力は 45 mW 未満です。したがって、1 つのスレッドを完了するために使用される総エネルギーは、P コアで実行すると 23 J を超え、E コアで実行すると 1.7 J 未満になります。したがって、E コアは、P コアが同じタスクを実行するときに使用するエネルギーの 7% のみを使用します。
重要な情報
- 現在の M4 チップは 4 ~ 6 個の CPU E コアを備えています。
- M4 E コアは 4 つまたは 6 つの単一クラスターに配置され、L2 キャッシュを共有し、共通の周波数で実行されます。
- E コア クラスターは、macOS の制御に従って、(例外的に) シャットダウンし、最小周波数 1,020 MHz、または最大 2,592 MHz までの 6 つの設定周波数の 1 つでアイドリングすることができます。
- これらの命令セットは、M4 P コア、ARMv9.2-A (Scalable Vector Extension (SVE) を除く) と同じです。
- 低周波数では 40 ~ 45 mW を消費しますが、高周波数での最大電力使用を直接測定することは現時点では不可能です。
- macOS は、QoS が 9 (バックグラウンド) の場合、およびより高い QoS を持つスレッドがすべてビジーであるために P コアに割り当てられない場合、スレッドを E コアに割り当てます。これら 2 つのケースでは、周波数の管理とコアの割り当てが異なります。
- E コア上の高 QoS スレッドは最大周波数で実行され、コア間を移動しないように見えます。
- E コア上の低 QoS スレッドは、最小周波数に近い周波数で実行され、コア間の移動性が高くなります。
- E コアで実行される低 QoS スレッドは、P コアで実行される高 QoS スレッドよりも低速に実行されますが、E コアの電力使用量ははるかに低く、その結果、同じ計算タスクの総エネルギー使用量が大幅に節約されます。
前の記事
内部 M4 チップ: P コア
M4 チップ内: VM をホストする P コア
説明者
居住地 コアが特定の状態にある時間の割合です。 アイドルレジデンス つまり、コアがアイドル状態で命令を処理していない時間の割合になります。 アクティブレジデンシー アイドル状態ではなく、アクティブに命令を処理している時間の割合です。 ダウンレジデンス コアがシャットダウンされる時間の割合です。これらはすべて、コアの周波数やクロック速度とは無関係です。
#コアと #コア #Eclectic #Light #Company