この記事には複数の問題があります。改善
やノートページでの議論にご協力ください。ヘテロジニアス・マルチコア (英: heterogeneous multi-core) は、異種の命令セットアーキテクチャ(instruction set architecture: ISA)を持つマイクロプロセッサが統合されたCPU、すなわち異種混在のマルチコアを表す用語。ヘテロジニアス・コンピューティングのために利用される。
対して、同種のコアを複数実装するプロセッサをホモジニアス・マルチコア (英: homogeneous multi-core) と言う。
ARMアーキテクチャのbig.LITTLEのように、ISAは同じであるものの、異なる動作クロック周波数を持つCPUコアからなる構成を、異種CPUトポロジー (heterogeneous CPU topologies) と呼ぶ[1]。これは主に電力効率の向上を目的としている。異種CPUトポロジーは技術的には非対称型マルチプロセッシング(英語版) (asymmetric multi-processing: AMP) の特徴も含んでいるが、完全なメモリ共有型であり、どちらかというと対称型マルチプロセッシング (symmetric multi-processing: SMP) に近い。異種CPUトポロジーの場合、基本的に各プロセッサコアへのタスクの割り当て(スケジューリング)はオペレーティングシステムが管理し、アプリケーションソフトウェアからは個々のコアの違いを意識することはなく、透過的である[2]。 初期のヘテロジニアス・マルチコアの製品として、PlayStation 3等に搭載されたCell Broadband Engineがあり、後のAMDによるCPUとGPUの統合製品(後にAPUと呼ばれる)とともに、マルチコア・アーキテクチャの方向性を決定付けたとされている[3]。 例として、Cellプロセッサは、オペレーティングシステム (OS) によるシステム全体の制御等の汎用処理に特化した1個のコントロールポイントプロセッサ「Power Processor Element (PPE)」と、グラフィックスや音声のストリーム等のデータ処理に特化した複数のデータポイントプロセッサ「Synergistic Processor Element (SPE)」で構成される[4][5]。これらのシンプルな異種コアを組み合わせることで、シングルスレッド性能とマルチスレッド性能を両立するアプローチをとっている[5]。 モバイルデバイス環境ではCPUとGPUを統合したSoCが使われており、ヘテロジニアス・マルチコア環境とも言えるシステムが一般的となっているが、CPUとGPUのメモリ空間が統合されているわけではない。 ヘテロジニアス・マルチコア環境では、プロセッサごとのメモリ空間が異なっていたり、各プロセッサのISAやメモリアクセス特性に応じた固有のプログラミングが必要であったりと、利用上の難しさが問題視されており、そのような問題を解決するための方法も模索されている[6]。 ヘテロジニアス・マルチコアCPUは、それまで主流だった同じアーキテクチャのCPUコアを1チップに複数搭載するホモジニアス・マルチコアCPUとは大きく異なり、1つのチップに異なる種類のアーキテクチャのCPUコアを搭載したCPUをいう。 その目的は、2つの方向性があると考えられている。 1の手法はソフトウェア指向型の設計であり、2の手法はハードウェア指向型の設計でもある。
概要
ヘテロジニアス・マルチコアの目的
ヘテロジニアス・マルチコアならば、シングルスレッド性能を維持しつつ、マルチスレッド性能を大幅に高めることができる。
それぞれのCPUコアを最適化することによって、ホモジニアス・マルチコアCPUでは実現できない高効率処理を実現できる。