ヘテロジニアスマルチコア

ヘテロジニアス・マルチコアとは



ヘテロジニアス・マルチコアとは、異なる命令セットアーキテクチャ(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、光電子工学や光量子技術を利用したヘテロジニアス・マルチコアCPUも将来的に実現する可能性があります。異なる技術を組み合わせることで、既存の限界を超えるというアプローチは、システム工学における重要な手法です。

脚注




関連項目



マルチコア#ホモジニアスとヘテロジニアス
big.LITTLE
ヘテロジニアス・コンピューティング
OpenCL'>OpenCL

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。