ヘテロジニアス・
マルチコアとは、異なる命令セットアーキテクチャ(ISA)を持つ
マイクロプロセッサを統合した
CPU、つまり異種混在の
マルチコアを指す用語です。これは、ヘテロジニアス・コンピューティングを実現するために利用されます。
対照的に、同種のコアを複数実装するプロセッサは、ホモジニアス・
マルチコアと呼ばれます。また、
ARMアーキテクチャのbig.LITTLEのように、ISAは同じでも動作クロック
周波数の異なる
CPUコアで構成されるものは、異種
CPUトポロジーと呼ばれます。これは、主に電力効率の向上を目的としており、技術的には非
対称型マルチプロセッシング(AMP)の特徴も持ちますが、メモリ共有型であることから
対称型マルチプロセッシング(SMP)に近い性質を持っています。異種
CPUトポロジーでは、各プロセッサコアへのタスク割り当てはOSが管理し、アプリケーションからはコアの違いが意識されません。
概要
初期のヘテロジニアス・
マルチコア製品としては、
PlayStation 3に搭載された
Cell Broadband Engineが挙げられます。これは、後のAMDによる
CPUとGPUの統合製品(APU)と共に、
マルチコア・アーキテクチャの方向性を決定づけたとされています。Cellプロセッサは、OSによるシステム制御などを行う汎用処理に特化した「Power Processor Element (PPE)」と、グラフィックスや音声などのデータ処理に特化した複数の「Synergistic Processor Element (SPE)」で構成されています。このような異種コアの組み合わせにより、シングルスレッド性能とマルチスレッド性能の両立が図られています。
モバイルデバイス環境では、
CPUとGPUを統合したSoCが一般的ですが、これらのメモリ空間は統合されていません。ヘテロジニアス・
マルチコア環境では、プロセッサごとにメモリ空間が異なったり、ISAやメモリアクセス特性に応じたプログラミングが必要になったりする課題があり、その解決策が模索されています。
ヘテロジニアス・マルチコアの目的
ヘテロジニアス・
マルチコアCPUは、従来のホモジニアス・
マルチコアCPUとは異なり、一つのチップに異なるアーキテクチャの
CPUコアを搭載します。その主な目的は以下の2つです。
1.
シングルスレッド性能を維持しつつ、マルチスレッド性能を向上させる:異なる特性を持つコアを組み合わせることで、それぞれのタスクに最適なコアを割り当て、効率的な処理を実現します。
2.
高効率処理の実現:各
CPUコアを特定のタスクに最適化することで、従来のホモジニアス・
マルチコアCPUでは実現できない効率的な処理が可能になります。
これらの目的は、ソフトウェア指向とハードウェア指向の両面からアプローチされており、両者を組み合わせた設計も考えられます。
ヘテロジニアス・マルチコア出現の背景
CPU単体性能の限界
ヘテロジニアス・
マルチコアが注目されるようになった背景には、
CPU単体での性能向上が限界に達してきたという事情があります。2000年頃までの
CPU設計は、動作
周波数とIPC(Instructions Per Cycle)の向上に注力してきました。
動作
周波数の向上にはパイプラインの細分化、IPCの向上には
アウト・オブ・オーダー実行などの技術が導入されましたが、これにより
CPUは複雑化・高コスト化しました。ダイサイズ(半導体本体の面積)を2倍にしても性能は1.4倍程度しか向上せず、性能/消費電力や性能/ダイサイズが悪化しました。また、動作
周波数の向上も消費電力の増大により困難となりました。
CPU業界はマルチスレッド性能の向上に軸足を移し、
マルチコア化によってスレッドレベル並列性(TLP)の向上を目指しました。しかし、初期の
マルチコアCPUは、シングルスレッド性能を維持するために従来のシングルコア
CPUのコアを再利用したため、消費電力やダイエリア当たりの性能はそれほど向上しませんでした。
その後、プロセスの微細化が進み、AMDのZenのように
マルチコアに適した設計が登場しましたが、コンシューマー向けではコア数が10程度で停滞しました。そこで、
CPUコアをシンプルにすることでダイ面積を削減し、多数のコアを搭載してマルチスレッド性能を向上させるという発想が生まれました。
シンプルなコアはシングルスレッド性能が低下するほか、コントロール系タスクとデータ処理タスクの両方を効率的に処理することが難しいという問題がありました。この問題を解決するために登場したのがヘテロジニアス・
マルチコアです。例えば、以下のようなアプローチが考えられます。
シングルスレッド性能を追求した大型CPUコアと、効率を追求した小型CPUコアを組み合わせる。
コントロール系
CPUコアとデータ系
CPUコアに機能を切り分ける。
これらのアプローチにより、既存の限界を乗り越えることが目指されています。
ヘテロジニアス・マルチコアの実例
big.LITTLE
ARMのbig.LITTLEは、電力効率が求められる
スマートフォンなどで利用され、負荷に応じてbigコアとLITTLEコアを使い分けることで電力効率を向上させます。負荷が小さい時にはLITTLEコアで処理を行い、負荷が大きい時にはbigコアで処理を行うことで、消費電力を抑えつつ、最大の性能を引き出すことができます。
Intel Hybrid Technology
Intelは、ARMの台頭に対抗するために、効率の良いx86プロセッサであるLakefieldを開発しました。これは、絶対性能重視のCore系列と電力効率重視のAtom系列のコアを組み合わせたもので、特にスタンバイ時の消費電力を大幅に削減できます。
その後、この技術はデスクトップ市場にも応用され、Alder Lakeでは、バックグラウンド処理をEコア(効率コア)に、IPCを要求されるタスクをPコア(性能コア)に割り当てることで、性能を最大限に引き出す設計となっています。
既存の
CPUアーキテクチャの限界を打破する試みは続いており、特定の用途に特化した
CPUや、それらを組み合わせた新しいコアの創出が模索されています。さらに、非同期設計
CPU、再構成可能
CPU、光電子工学や光量子技術を利用したヘテロジニアス・
マルチコアCPUも将来的に実現する可能性があります。異なる技術を組み合わせることで、既存の限界を超えるというアプローチは、
システム工学における重要な手法です。
脚注
関連項目
マルチコア#ホモジニアスとヘテロジニアス
big.LITTLE
ヘテロジニアス・コンピューティング
OpenCL'>
OpenCL