macOSがM1シリーズ搭載端末で計算処理性能と省電力性能を両立している仕組みとは?

GIGAZINE



Appleが開発したSoC「M1シリーズ」はMacBookシリーズやiMac、iPadなどのApple製デバイスに搭載されており、計算処理性能と省電力性能を両立していることから高く評価されています。そんなM1シリーズの処理割り当ての仕組みについて、Apple関連の情報を多く取り扱うサイトであるThe Eclectic Light Companyが解説しています。

How macOS manages M1 CPU cores – The Eclectic Light Company
https://eclecticlight.co/2022/04/25/how-macos-manages-m1-cpu-cores/

以下の図は、Intel製CPU「Intel Xeon W」を搭載したマシンで計算処理を実行した際のCPU使用率を示したもので、縦軸がCPU使用率、横軸が時間を示しています。図を見ると、仮想コアを含む16個のコア全てが同程度使われていることが分かります。


一方で、M1チップを搭載したマシンで処理を実行した場合、コアごとにCPU使用率が異なります。M1シリーズには計算性能を重視したCPUコア「Firestorm」と省電力性能を重視したCPUコア「Icestorm」という2種類のCPUコアが搭載されており、処理内容に合わせて各コアに計算処理が割り当てられているわけです。


計算処理の割り当てはmacOSによって管理されており、ソフトウェアの開発者が使用するコアを指定することはできません。macOSはソフトウェアの各処理に設定されたQoSを参照し「QoSが低い処理はIcestormコアに割り当てる」「QoSが高いコアをFirestormコアとIcestormコア両方に割り当てる」といった割り当て処理を行っています。

macOSのバックアップ機能「Time Machine」や検索機能「Spotlight」の最適化処理といったバックグラウンドプロセスには低いQoSが設定されています。このため、バックグラウンドプロセスの多くはIcestormコアで実行されており、省電力な動作が実現されています。一方で、IcestormコアはFirestormコアと比べて計算処理性能が低いため、動作の遅さが気になる場合もあるとのこと。

macOSの処理の中にはFirestormコアを重点的に使用するものもあります。macOSが「OSアップデートを準備するプロセス」を実行している際のCPU使用率が以下。1つのFirestormコア(Core 3)が100%近く使用され続けていることが分かります。


The Eclectic Light Companyがまとめた「macOSがQoSに基づいて計算処理を各コアに割り当てるまでのフローチャート」はこんな感じ。フローチャートには2022年に発表された「M1 Ultra」の情報が欠けており、今後情報が入り次第フローチャートを更新予定とのことです。


この記事のタイトルとURLをコピーする

Source