M1 が私たちに提供されてから 1 年が経ちました。最初の購入者やプレスがMacBook Pro、Mac mini、MacBook Air ユニットを受け取り始めたとき、多くの人が最初にしたことは、そのパフォーマンスをチェックし、Apple がプレゼンテーションで提示した数値がすべて X 倍かどうかを自分で調べようとしたことでした。 (同じ機器の前世代よりも)高速であるかどうかは、本当かどうか。
SSD ディスクやGPU の最初のテストは、 Cinebench や GeekBench などのソフトウェアを介して行われたほか、同ブランドの他の大型機器と比較してはるかに高価な特定のタスクの実証テストも行われました。間違いなく、その結果は素晴らしいものであり、信じられないほどの機能を備えたチップ、システム オン チップ (SoC、システム オン チップ) を私たちに提供します。特に、 M1 Pro および M1 Maxチップがすでに市場にある場合にはなおさらです。
しかし、このすべての証拠をどのように解釈すればよいでしょうか? M1 がシングルコア プロセスで、インテルがこれまでに発表したどの Mac コンピューターよりも高速なプロセッサーであるというのは本当ですか?
答えは簡単です。「いいえ」です。そうではない。 Apple M1 は消費者向けのチップであり、プロセッサではありません。 Apple のソフトウェア エンジニアリング担当副社長、クレイグ フェデリギ氏の言葉を借りれば、市場のエントリーレベルの範囲であり、エネルギー効率を高め、従来のユーザーや消費者部門にソリューションを提供することがその目的です。それで?なぜテストとテストは違うことを言うのでしょうか?なぜ彼らは、M1 がそれ以上であると言うのでしょうか?さて、Apple M1 の長所がどこにあるのか、そしてデバイスのパフォーマンスを測定する従来の方法がなぜ機能しなくなったのかを理解するために説明しましょう。 M1 がコンピューティングと今日までのコンピューティングの考え方を再定義した理由。
RISC と CISC、Intel と Apple の命令セット
IntelはCPUを作っています。プロセッサ。あらゆる機能を 1 つにまとめたチップの一種。そのアーキテクチャは CISC または複雑な命令セットです。これは、その能力と多用途性が、基本的なタスクの実行を可能にするだけでなく、プロセッサーにさまざまな種類の命令セットを提供することに基づいていることを意味します。二次タスク用のヘルプ セットもあります。システム仮想化のための一連の命令として、ビデオのエンコードとデコード、数学的計算、メモリ使用の最適化を支援します…つまり、すべてを実行する単一のチップであり、多くの複雑な命令を使用してさまざまな処理を実行できます。一本の電話。ただし、すべては CPU によって行われます。
Apple は SoC を製造しています。チップ上のシステム。それは単なる CPU ではなく、コンポーネントのセットです。その CPU は RISC または縮小命令セット アーキテクチャです。これらはエネルギー節約を優先し、プロセッサー内により基本的な命令セットを備えています。汎用性がそれほど高くなく、1 つの命令でそれほど多くのことを実行することもできません。
Intel CPU が膨大な数の命令とさまざまなセットを考慮して 1 つまたはいくつかの命令で実行できることを、Apple CPU ではさらに多くの命令が必要になります。最終的には、どちらも同じタスクを 99.9% で実行できますが、 Intel の方が必要なステップ数が少ない一方で (ただし、複雑な命令により CPU のプロセスがより高価になるため、より多くの熱とエネルギー消費が発生します)、M1 や A14 のような SoC では、手順が簡単なので、手順が増えます。ただし、各命令の消費量は少なくなり、全体的にはエネルギー効率が高くなります。
CISC CPU は、より複雑な命令を短時間で実行するため、プロセス内でより多くの熱を発生しますが、RISC は同じ操作に時間がかかる場合でも、必要なエネルギーが少ないため、それほど多くの熱を発生しません。
この違いは、各チップの機能と、RISC デバイスと別のCISCデバイスは同時に同じステップ数を実行できるにもかかわらず、処理能力の比較が重要な情報を提供しないことを理解するために不可欠です。同じタスクに到達するために必要な手順が常に少なくなります。それは、歩幅を考慮せずに、2 人の人の歩数を時間の経過とともに比較するようなものです。身長が 2 メートルの人は、身長が 1 メートル半の人よりも、同じ歩数で同じ時間により多くの距離を移動します。
ヘテロジニアス コンピューティング、RISC の利点
Intel CPUはまさにそれです。そして、すでに述べたように、一連の指示を使用して特定のタスクを支援するようにしてください。さらに、Intel CPU では、同じチップ上に異なるタイプのコアを搭載することはできません。それらはすべてまったく同じである必要があります。しかし、Apple のチップはそうではなく、ヘテロジニアス コンピューティングの概念を使用しています。これは 2 つの異なることを意味します。
1 つ目は、同じ CPU 内に異なる速度と構成を持つ異なるタイプのコアを搭載できることです。このように、Apple M1 は 8 つのコアを提供し、そのうちの 4 つは高性能でクロック速度が高く (消費エネルギーはより多くなります)、残りの 4 つは低速で軽いタスク向けです。
Apple M1 のエネルギー効率の高いコアは、高性能コアに比べて消費エネルギーを最大 10 分の 1 に抑えることができます。
ヘテロジニアス コンピューティングの 2 番目の特性は最も重要であり、Apple M1 のパフォーマンスを測定する方法を理解する上で重要な違いを生みます。私たちは、特定の日常業務を支援する特定のコンポーネントを SoC 内に組み込むことについて話しています。これは、Intel のようにすべてが同じ CPU 上で実行される一連の命令ではありません。これらは完全に別個の独立したコンポーネントであり、特定のタスクを持ち、CPU は調整するだけです。これらのタイプのコンポーネントは、Intel 製などの汎用 CPU 内のどのタイプの命令よりもはるかに効率的です。
したがって、4K ビデオを作成または操作する場合、非常に高いパフォーマンスでこれを実行する特定のチップがあるため、Apple M1 CPU はいかなるタスクからも解放されます。 XIP ファイル (暗号化されデジタル署名された ZIP) の解凍などの暗号化作業を行う場合、そのタスクも実行する暗号計算アクセラレータという別のコンポーネントがあります。
Intel CPU 上のタスクは、命令セットのヘルプはありますが、汎用プロセッサーで実行すると、ヘテロジニアス コンピューティングによって提供される特定のコンポーネントよりもパフォーマンスの効率が低くなります。
これらのコンポーネントには、従来の方法では測定できない Apple M1 のパフォーマンスの違いの多くが存在します。それは、Apple M1 のようなエントリーレベルまたはコンシューマー向けのチップで非常に高いパフォーマンスを実現できる「秘訣」だからです。
心に留めておかなければならないのは、16 インチ MacBook Pro や 27 インチ 5K iMac などのコンピューターに搭載されている Intel CPU はApple M1 よりもはるかに強力であるということです。私たちは非常に異なる範囲について話しています。しかし、そのパフォーマンスを測定しようとすると、これまで説明した違いや、特定のタスク用のコンポーネントが含まれているかどうかが違いを生むことになります。それが Apple が私たちに提示する新しいコンピューティングの概念です。
Apple M1 のコンポーネントとその用途
Apple は、性能は劣りますがエネルギー効率の高い CPU を提供しています。ただし、SoC には、その低消費電力を補って日常の特定のタスクを支援する重要なコンポーネントが多数搭載されています。これを追加すると、コンシューマー コンピューティングの世界を再発明し、革命を起こす結果が得られます。これは、Intel のような総当たり的な単一の要素ではなく、さまざまな要素のチームに重点を置いた別の概念であるためです。
参考までに、Apple M1 には次のヘルプ コンポーネントがシステムに組み込まれています。
- 高度なエネルギー マネージャー: 機器の消費量を測定し、各プロセスやタスクに必要なエネルギーを常に提供できます。
- ブロードバンド キャッシュ: 最新の結果や作業されたデータを高速メモリに保存します。プロセスが、結果がすでに保存されている別のプロセスと同じ操作の繰り返しを要求すると、プロセスを再度実行する代わりに、その操作が返されます。
- 暗号化アクセラレータ: AES または Chacha 標準を使用して暗号化計算操作を高速化できます。
- 機械学習アクセラレーター– このコンポーネントを使用すると、モデル トレーニングの計算操作を高速化できます。モデルを実行 (推論) するニューラル エンジンについて話しているのではありません。これらのモデルのトレーニングを可能にする計算について説明します。
- 高度なディスプレイ エンジン: ディスプレイに送信されるデータと、60 Hz で最大 6K のディスプレイをサポートできるリフレッシュ レートの制御は、特定のコンポーネントによって異なります。ただし、注意してください。Apple M1 は 3 つを超える画面の接続をサポートしていません。 Mac mini 用に 2 つ、ラップトップの 1 つとは別にさらに 1 つあります。これらのデバイスを評価するときは、このことに留意してください。
- HDR ビデオ プロセッサ: 10 ビット カラー ビデオの処理と、Dolby Vision または HDR10 標準からの HDR メタデータの処理は、このコンポーネントに依存するため、CPU がこのタスクから解放されます。
- 常時オンのプロセッサ: この常時オンのコンポーネントは、iPad や iPhone が動作するのと同じ方法で、スリープ状態を管理します。クレイグ・フェデリギが官能的なムードとバリー・ホワイトの音楽で見せてくれたもの。
- 高品質画像信号プロセッサ: A14 と同じ画像処理チップが Apple M1 に搭載されています。原則として、この要素はチームの 720p カメラの品質を向上させるために使用されますが (ベールを描きましょう)、この要素はレタッチ ソフトウェアで写真の重いタスクを改善したり実行したりするためにも使用できます。
- Secure Enclave : デバイスのセキュア ブート、Touch ID、システム セキュリティ層全体の管理、およびソフトウェア コンポーネントのデジタル署名の検証を担当するセキュリティ チップ。
- NVMe ストレージ マネージャー: Apple M1 には、最大 3.4GB/秒の読み取りおよび書き込み速度を備えた高速 NVMe ドライブが搭載されています。それを管理するために、このストレージの制御を担当するコンポーネントがあります。
- 低電力ビデオ再生: Apple が MacBook Pro で宣伝している 20 時間のバッテリー寿命の重要なコンポーネント。このチップは、H264 および H265 (HEVC) 規格だけでなく、CPU に負担をかけずにデコードする機能を備えています。また、VC-1、AV1 (新しいオープン スタンダードとなる予定の新しいコーデック)、または YouTube で使用される VP9 もサポートします。
- 高性能ビデオ編集: 編集プログラムでビデオ トラックを操作できるようにするアクセラレータで、CPU によるデコードの管理やタイムライン内の移動の管理から解放されます。これにより、ファンレス MacBook Air で複数の 4K ビデオ ストリームを同時に編集できるようになります。
- Thunderbolt/USB 4 コントローラー: 接続ポート管理は、SoC 内で別のコンポーネントによって独立して管理されます。 Apple M1 は、同じ USB-C ポートで Thunderbolt 3 および USB 4 規格をサポートしており、どちらも 40GB/S の制限があります。
- 高効率オーディオプロセッサ:これを管理するためのサウンドチップを機器内に搭載しています。 48Khzで24ビットの容量を備えたチップと、サウンド処理、録音、再生用のアクセラレータ。 Core Audio API 命令のネイティブ サポートを備えています。
- ニューラル エンジン: 16 コアを備えたコンポーネントで、すでにトレーニングされた機械学習モデルの実行を可能にし、どの CPU よりもはるかに優れたパフォーマンスを実現します。このタイプの機器のレジスタは、従来の CPU のようなスカラー (1 次元) データではなく、テンソル、つまり 4 次元レジスタを使用します。
- HDR 画像プロセッサ: ビデオの HDR を管理するコンポーネントと同様に、画像用のコンポーネントも備えており、このタイプの写真の処理を高速化します。
- PCI Express 4.0 コントローラー: SoC データ バスは PCIe 4.0 であり、さまざまなコンポーネント間の通信が向上します。
- パフォーマンス コントローラー– このコンポーネントは、各タスクがどのタイプのコアに送信するか (高パフォーマンスまたはエネルギー効率)、また特定のヘルパー コンポーネントに送信するかどうかを決定します。これは、機械学習モデル、ML アクセラレーター、ニューラル エンジンによってサポートされており、各タスクにどのコンポーネントが最適であるかをより効果的に改善および学習します。
これらすべてに、ユニファイド RAM メモリを追加する必要があります。機器の従来の RAM は、通常のように外部ではなく、SoC の内部にあります。さらに、 Apple M1 では、GDDR GPU メモリを使用するため高速であり、GPU (SoC にも統合されている) が必要な速度で動作し、ボトルネックを生じません。これにより、メモリが高速化され、システム全体にメリットがもたらされます。
M1 のようなハイエンドまたは低パフォーマンスのチップでは、統合メモリを搭載することが重要な利点となります。これにより、各コンポーネントで実行される各プロセスから送信または取得されるデータをバス経由でコピーする必要がなくなるからです。データの。
CPU がデータをメモリに置き、機械学習アクセラレータがそこからデータを直接読み取り、完了するとニューラル エンジンがデータを収集して同じ結果を処理します。最終的に、異なるコンポーネント間でデータを往復コピーする必要がなくなるため、処理速度が向上します。それ自体は測定可能ではありませんが、機器の使用を改善し、ベンチマークを高くするものです。
GeekBench でチームのパフォーマンスを測定する方法
有名な Geekbench は、機器の実際の使用状況として分類される一連の操作の結果に基づいて機器のパフォーマンスを測定します。それは、暗号化、整数値、および浮動小数点値の負荷に分割されます。
暗号化では、スコアに対して 5% の重みを付けて AES-XTS で計算を実行します。整数ロード(結果の 65% の重み) では、テキスト圧縮 (LZMA アルゴリズムによる)、画像 (JPG から PNG へ)、ナビゲーション (200,000 ノードを超えるノードを使用して 2 つの地理的ポイント間のルートを計算) のパフォーマンスを評価します。 HTML5 と Javascript の実行、SQLite 3 (データベース) の使用、PDF とテキスト ファイルのレンダリング、CLang とカメラワークによるコンパイル。
浮動小数点 (30% ウェイト) では、N-Body 物理学による 3D 重力シミュレーション ロードを実行し、2D では剛体を使用して、24 メガピクセルの画像にガウスぼかしを適用し、サンプル写真で顔を検出し、写真で地平線を検出して補正します。 Photoshop のようにコンテンツを削除して写真を修正し、 HDR で画像を処理し、レイ トレーシングが適用される 3,500 以上のテクスチャ付き三角形のシーンを生成します。 (より現実的な方法でシーンを照らすことを可能にする光線)、拡張現実使用シミュレーションを実行し、音声認識負荷をシミュレートし、224×224 の画像上で畳み込みニューラル ネットワーク (MobileNet v1) を実行します。
これらすべてのタスクのうち、 Apple M1 に固有のヘルプが必要なタスクがいくつかあり、ほぼ半分と言えます。したがって、チームのパフォーマンスを測定する方法がどのように変化したかを理解できます。 Intel では、これらすべてが CPU 自体によって実行され、タスクの実行が良くも悪くもなりますが、 Apple M1 では、これらのタスクの多くに、それらのタスクを実行する特定のコンポーネントが含まれているためです。だからこそ高い点数がつけられているのですが、実際には歪んでいるのがわかります。基本的に、パワーだけを重視する場合は、この測定方法は役に立ちません。
クロックサイクル (ギガヘルツ) で機器を測定することはずっと前に行われており、現在では、 CPU の総当りによってコンピューターのパフォーマンスを測定することはできません。M1 の場合、日常で役に立つコンポーネントがたくさんあるからです。今日。
結論
これは、Apple が適用した素晴らしいアイデアです。エントリーレベルの CPU の本来の能力の不足を、従来のタスクを支援する一連の支援によって補い、CPU の範囲を超える平均パフォーマンスを提供できるようにするというものです。それがどこにあるのか。私たちが可能性を見出し始めたばかりなのに、私たちの将来に何が待ち受けているのか想像できますか?
さらに詳しく知りたい場合は、 「M1 チップの Apple コーディング」で私の分析を聞いてください。そこではすべてをより詳細に説明しています。この記事が気に入っていただけた場合は、別の日に Apple についてお話します。 M1 GPU とそれがどのように機能し、市場にある他のものと比較します。