Big.LITTLE

big.LITTLEとは、主にモバイル端末のCPUで採用されているCPUの電力利用効率を上げるための技術である。ARMが開発した。最近のスマートフォンの多くが採用しているだけでなく、パソコンやサーバーでも消費電力削減のために同様のアーキテクチャの採用が予定されている。ヘテロジニアスマルチコアの一種でもある。

高度な計算を伴う処理を高性能だが電力を大きく消費するコアで、簡単な計算で済む処理を低性能だが電力を消費しにくいコアで処理することで、電力消費を抑えつつ高性能なCPUを実現している。

実行状態の移行モデル 
big.LITTLEにおいて、異なったプロセッサを投入する方法としては、以下の3種類のモデルが存在する。

クラスタ スイッチ 

クラスタスイッチ(clustered switching)は最初に提案された最も単純な実装方式である。同一の個数のコアで構成された "big" または "LITTLE" のコア群を実行時に切り替えて使用するモデルである。

例えば、オクタコア(8コア)のプロセッサの場合では、4個の高性能なコアでクラスタを構成し "big" とし、残りの4個を低消費電力なコアでクラスタを構成し "LITTLE" とする。これらの二つのクラスタを状況に応じて切り替えて実行する。高性能で高消費電力な4個のコアを使用するか、低性能で低消費電力な4個のコアを使用するかの2つの選択肢しかなく、性能と電力消費のはざまで頻繁に切替が発生し、切替による性能低下や電力消費量増加が見逃せない状況に陥ることもある。

インカーネル スイッチ 

インカーネルスイッチ(in-kernel switcher)は高性能なコア("big"コア)と低消費電力なコア("LITTLE"コア)の2個のコアをペアとして、ペアの中でコアを切り替えて実行するというモデルである。

例えば、オクタコアのプロセッサの場合では、上記のペアを4ペアつくり、状況に応じてペア内でコアを切り替えて実行する。クラスタスイッチと異なり、選択肢は5通りに増加する。状況に応じてフレキシブルに実行することが可能である。

ヘテロジニアス マルチプロセシング 

ヘテロジニアスマルチプロセシング(heterogeneous multi-processing)は、big.LITTLEアーキテクチャの中で最も強力なモデルである。このモデルでは全てのコアを同時に使用することができる。スレッド毎に、高優先度や高計算量なスレッドは "big"コアに割り当て、低優先度や低計算量なスレッドは "LITTLE"コアに割り当てることでプロセッサの性能を最大限に引き出すことができる。

例えば、オクタコアのプロセッサの場合では、1個から8個のコアが状況に応じて実行され、上記の選択肢で言うと24通りに増加する。状況に応じて更にフレキシブルに実行することが可能である。

脚注

出典

外部リンク 
 big.LITTLE Processing
 big.LITTLE Processing with ARM CortexTM-A15 & Cortex-A7 (PDF) (full technical explanation)

関連項目 

 Appleシリコン
A10, A11, A12, A13, A14, A15
M1, M1 Pro, M1 Max
 Alder Lakeマイクロプロセッサ
Raptor Lakeマイクロプロセッサ

ARMアーキテクチャ
ヘテロジニアス・コンピューティング