見出し画像

Apple M2プロセッサーはなぜ高性能なの?

目的

近年CPUの設計トレンドを追ってなく、知識不足を痛感したので
現在のプロセッサーの技術トレンドを素人なりに調査してみる。

M2プロセッサーとは

最近のMacやiPadに搭載されているCPU(SoC)です。

結論

なぜM2プロセッサーは高性能なのか?
結論は「分からない」(笑)

M2プロセッサーのベンチマーク

サイトのベンチマーク結果によると、
M2 は8Core、クロックは3.5GHz
シングルコア性能では、Intel Core i7-12700:クロック周波数 4.9GHz
マルチコア性能では、Intel Core i7-10700F:Core数 8、クロック周波数 4.8GHz
と同等らしい

なぜ高性能なの?

仮説を立ててみる

L2キャッシュのサイズが大きいから高性能なのでは

M2のL2キャッシュは16MByte
だから性能が高い?
別ソースによるとPassMarkはぼほCPUコアをフルに動かせるテストらしい。
→つまり、キャッシュの速度制約ではない
違うらしい

ARM(RISC)ではコード(機械語)が短いからか?

→そんなことはないそうです。むしろレジスタに移動させる命令が入るので長くなる。(だよね、、)

CPIが高いからか?

CPIとは:Clock cycles Per Instruction
1クロックで実行可能な命令(プログラムコード)です。
神様が作ったロジック回路は存在しないので、機械語1命令を実行するには最小でも1クロック必要なはずです。(おっと、スーパースカラという技術も採用されてましたね。)

CPIを高くするには投機的実行という技術を用います。

CPIを高めるには以下の技術を使います。

  • ローカル分岐予測

  • グローバル分岐予測

  • 複合分岐予測

  • 同意予測子

  • ループ予測子

  • 間接分岐予測器

  • 関数の戻り値の予測

  • 分岐予測の無効化

  • ニューラル分岐予測

M2 チップが採用している技術の詳細情報はありませんでした。上に書いたように、神様が作ったロジック回路は存在しないので、機械語1命令を実行するには最小でも1クロック必要なはずです。
M2チップの160億トランジスタとも言われる回路規模はこの辺に使われているのではないでしょうか?

消費電力あたりの性能が高いから?

M2は消費電力の高いコアが4個、消費電力が低い、消費電力1/10のコアが4個らしい。
Webブラウザのような高い性能の必要のない場合は消費電力の低いコアで動かしているそうです。
iPad ProなどでM2の性能が高い(それでもバッテリーが減らない)理由はこの可能性が高そうです。
iPad OSがこの辺を制御してるのだろうな。プロセッサーからはわからんし。

まとめ

今では日本語で最新のCPU設計技術の情報はほぼないようです。富士通あたりには設計技術者がまだいるのかな?


この記事が気に入ったらサポートをしてみませんか?