Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日: 更新日:

MacやiPhoneの動作が超サクサクなのはなぜ? 「Accelerator」と「コプロセッサ」の役割 

著者: 今井隆

MacやiPhoneの動作が超サクサクなのはなぜ? 「Accelerator」と「コプロセッサ」の役割 

画像:Apple

※本記事は『Mac Fan』2022年8月号に掲載されたものです。

読む前に覚えておきたい用語

Appleデバイス内のさまざまなAccelerator

MacやiPhoneなどに搭載されるAppleシリコンには、中核となるCPUのほかにも数多くのハードウェアが統合されている。その中で特定の用途に最適化することで、その処理をCPUよりも高速かつ高効率で実行するハードウェアを「Accelerator」と呼ぶ。

Acceleratorの歴史は古く、1987年にリリースされたMacintosh IIシリーズ向けにグラフィック処理を高速化する「QuickDraw Accelerator」が登場している。当時のCPUにとってグラフィック処理は負担が大きく、特にフルカラー(32ビット)グラフィックスの処理は極めて高負荷だった。QuickDraw Acceleratorは当時のMac OSのグラフィックAPIである32ビット・QuickDrawの描画処理に特化したハードウェアで、CPUの数倍から10数倍の速度でフルカラーグラフィックを処理すると同時に、CPUをグラフィック処理から解放することでシステム全体の性能を底上げした。

CPUにとってグラフィック処理が厄介なのは、高い処理能力を求められることだけではない。グラフィック処理は一定時間内にその処理を完了させることが求められることが多く、デバイス内のさまざまな処理の中でも優先度が高い。たとえば、動画データの再生では処理が間に合わなければコマ落ちが発生し、スクロール(BitBlt)処理の遅延が発生すれば滑らかに動かない。このため、グラフィックAcceleratorにその処理を任せることで、ユーザエクスペリエンス(UX)を大幅に改善するのみならず、重くて優先度の高いグラフィック処理からCPUを解放(オフロード)できるメリットは非常に大きかった。

その後、macOSのグラフィックAPIはOpen GLやMetalへと更新され、その処理内容もグラフィックのみならず、並列コンピューティングへと拡大された。グラフィックAcceleratorは、より柔軟なプログラミングに対応したGPU(Graphic Processing Unit)へと進化し、現在に至っている。GPUはCPUに代わって、グラフィック処理を中心とした並列コンピューティングを高速かつ高効率に実行するAcceleratorと言える。

カメラやビデオなど処理ごとに最適化

Acceleratorとしては、ほかにも内蔵カメラが捉えた画像や映像をリアルタイムで処理する画像処理プロセッサ(ISP=Image Signal Processor)、露出を変えて高速撮影した複数枚の画像から高いダイナミックレンジを持ったイメージを生成するHDRビデオプロセッサ、ビデオ信号を各種コーデック(H・264/H・265/プロレズなど)で高速に圧縮伸張するメディアエンジンなどが搭載されており、iPhoneの優れたカメラ機能やビデオ処理などで利用されている。

Appleシリコンに搭載された画像処理プロセッサ(Image Signal Proce ssor)による高速かつ多彩な画像処理と、Neural Engineによる顔認識および被写体と背景との機械学習による分離処理を駆使することで、より繊細で広いダイナミックレンジの写真撮影を実現する。

また高効率なオーディオプロセッサ(DSP=Digital Signal Processor)も搭載されており、空間オーディオにおける音場再生や、トリプルマイクを使ったノイズキャンセルなどに活用されている。オーディオ処理もグラフィック同様、途切れたり遅延することが許されないことから、DSPへのオフロードは非常に重要だ。

A11 Bionicではじめて採用され、現在のM1/M2シリーズにも統合されているNeural Engineは、機械学習(Machine Learning)処理専用のAcceleratorだ。Face IDにおける顔認証をはじめ、ポートレートモードにおける被写体と背景の分離などに使用され、主に画像や音声などから特徴を抽出して対象を識別するのに利用される。このような処理はCPUやGPUによるソフトウェア処理でも可能だが、この処理に最適化したハードウェアとして搭載することで、より高速かつ省電力での処理を実現している。

M1は高性能CPUコアと高効率CPUコアのほか、GPUコア、ISP、DSP、メディアエンジン、Neural Engine、暗号化エンジンなどのAcceleratorと、SEP、AOP、パフォーマンスコントローラなどのコプロセッサで構成されている。
M1 Maxのシリコンを見るともっとも大きなブロックを占めているのはGPUで、その総面積はCPUの3倍近くに及び、キャッシュやファブリックの近くに配置されている。メディアエンジンやNeural Engineも比較的大きなスペースを占めている。
画像:Apple

Appleシリコンにおけるコプロセッサの役割

Appleシリコンを支えているのは、CPUとAcceleratorだけではない。その優れた処理能力と省電力性能を支えているのは、小規模ながらも重要な機能を持ったコプロセッサだ。すべてのAppleシリコンには、「常時稼働プロセッサ(AOP=Always-On Processor)」と呼ばれるマイコンが搭載されている。AOPはデバイスの電源が切れているときも内蔵バッテリのわずかな電力で稼働し、デバイスが備える各種センサ(加速度、角速度、コンパス、気圧など)の状態監視を担っている。

その目的はユーザによるデバイスの利用状態を常に把握し、必要に応じてAppleシリコンの各ブロックの稼働と停止を制御することで、バッテリ消費を抑制して稼働時間を延ばすことにある。AOPはモーションコプロセッサとも呼ばれ、iPhone 5sではM7として別チップで搭載されていたが、A10 Fusion以降ではAppleシリコンに統合されている。

Appleシリコン内の各コアをコントロールするのは、Perfomance Controllerと呼ばれるコプロセッサの役割だ。Perfomance ControllerはOSやアプリの要求に応じて、CPUコアやGPUコア、各種Acceleratorやコプロセッサにその処理を配分する。同コントローラはiOSやmacOSと連係し、必要最小限のエネルギーで最大の結果が得られるようリソース配分を決定するという非常に重要な役割を担っている。

ほかにも個人情報を扱うセキュリティコプロセッサ「SEP(Secure Enclave Processor)」は、Touch IDの指紋データ、フェイスIDの顔認証データなどの生体認証情報、FileVaultの暗号キーなどが保管され、アプリやインターネットなどからの不正アクセスから個人情報を守っている。

このようにAppleシリコンはCPUやGPUだけでなく、処理を支えるさまざまなAcceleratorやコプロセッサを1チップに統合している。これらの機能を有効活用してエネルギー効率を極限まで高めることができるのは、AppleがシリコンのみならずデバイスやOSまでを自社で開発できるメーカーだからだ。ハードウェアやソフトウェアを熟知し、それに合わせたシリコンを開発することは他社には難しい。Acceleratorやコプロセッサの活用は、今後もAppleシリコンの強力なアドバンテージとなるだろう。

Intel MacBook Proのロジックボード。右上の大きなチップがCPU、左上がGPUで、それ以外にもメモリなど数多くのチップが搭載されていた。Appleシリコンでは、これらのほとんどのチップを1チップに統合している。
画像:iFixit

著者プロフィール

今井隆

今井隆

IT機器の設計歴30年を越えるハードウェアエンジニア。1983年にリリースされたLisaの虜になり、ハードウェア解析にのめり込む。

この著者の記事一覧

おすすめの記事