コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

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

出典: フリー百科事典『ウィキペディア(Wikipedia)』

ヘテロジニアス・マルチコア (: heterogeneous multi-core) は、異種の命令セットアーキテクチャ(instruction set architecture: ISA)を持つマイクロプロセッサが統合されたCPU、すなわち異種混在のマルチコアを表す用語[1]ヘテロジニアス・コンピューティングのために利用される。

対して、同種のコアを複数実装するプロセッサをホモジニアス・マルチコア (: homogeneous multi-core) と言う。

ARMアーキテクチャbig.LITTLEのように、ISAは同じであるものの、異なる動作クロック周波数を持つCPUコアからなる構成を、異種CPUトポロジー (heterogeneous CPU topologies) と呼ぶ[2]。これは主に電力効率の向上を目的としている。異種CPUトポロジーは技術的には非対称型マルチプロセッシング英語版 (asymmetric multi-processing: AMP) の特徴も含んでいるが、完全なメモリ共有型であり、どちらかというと対称型マルチプロセッシング (symmetric multi-processing: SMP) に近い。異種CPUトポロジーの場合、基本的に各プロセッサコアへのタスクの割り当て(スケジューリング)はオペレーティングシステムが管理し、アプリケーションソフトウェアからは個々のコアの違いを意識することはなく、透過的である[3]

概要

[編集]

初期のヘテロジニアス・マルチコアの製品として、PlayStation 3等に搭載されたCell Broadband Engineがあり、後のAMDによるCPUとGPUの統合製品(後にAPUと呼ばれる)とともに、マルチコア・アーキテクチャの方向性を決定付けたとされている[4]

例として、Cellプロセッサは、オペレーティングシステム (OS) によるシステム全体の制御等の汎用処理に特化した1個のコントロールポイントプロセッサ「Power Processor Element (PPE)」と、グラフィックスや音声のストリーム等のデータ処理に特化した複数のデータポイントプロセッサ「Synergistic Processor Element (SPE)」で構成される[5][6]。これらのシンプルな異種コアを組み合わせることで、シングルスレッド性能とマルチスレッド性能を両立するアプローチをとっている[6]

モバイルデバイス環境ではCPUとGPUを統合したSoCが使われており、ヘテロジニアス・マルチコア環境とも言えるシステムが一般的となっているが、CPUとGPUのメモリ空間が統合されているわけではない。

ヘテロジニアス・マルチコア環境では、プロセッサごとのメモリ空間が異なっていたり、各プロセッサのISAやメモリアクセス特性に応じた固有のプログラミングが必要であったりと、利用上の難しさが問題視されており、そのような問題を解決するための方法も模索されている[7]

ヘテロジニアス・マルチコアの目的

[編集]

ヘテロジニアス・マルチコアCPUは、それまで主流だった同じアーキテクチャのCPUコアを1チップに複数搭載するホモジニアス・マルチコアCPUとは大きく異なり、1つのチップに異なる種類のアーキテクチャのCPUコアを搭載したCPUをいう。

その目的は、2つの方向性があると考えられている。

  1. ヘテロジニアス・マルチコアならば、シングルスレッド性能を維持しつつ、マルチスレッド性能を大幅に高めることができる。
  2. それぞれのCPUコアを最適化することによって、ホモジニアス・マルチコアCPUでは実現できない高効率処理を実現できる。

1の手法はソフトウェア指向型の設計であり、2の手法はハードウェア指向型の設計でもある。なお、この2つを組み合わせたヘテロジニアス・マルチコアという方法も十分に考えられる。

ヘテロジニアス・マルチコア出現の背景

[編集]

CPU単体性能の限界

[編集]

ヘテロジニアス・マルチコアが浮上して来た背景には、CPU単体での性能向上が行き詰まってきたという事情がある。

2000年頃までのCPU設計は、シングルコアで性能を引き上げるために、次の2点に注力してきた。

  1. 動作周波数の向上
  2. IPCInstructions Per Cycle: 1サイクルで実行できる命令数)の向上

この2つの目標を達成するために、動作周波数の向上にはパイプラインを細分化する事で対応し、IPCの向上には動的に命令レベルの並列性 (Instruction-Level Parallelism, ILP) を高めるアウト・オブ・オーダー実行とそれに付随するさまざまな高速化技術を導入することで対応してきた[8]

しかし、この2点を追求することによってシングルコアCPUは複雑化と高コスト化を招いた。2000年頃からCPUでは、ダイサイズ(半導体本体の面積)を2倍の大きさに増やしても、増やした面積の平方根分(約1.4倍)しか性能が向上しなくなり、「性能/消費電力」と「性能/ダイサイズ」が悪化した非効率なものとなった[8]

IPCの引き上げに限界が見えて来たことで、性能を引き上げるため動作周波数の向上をめざしたが、ここにも限界があった。消費電力の増大である。それでも、製造プロセスが微細化されることで相殺されると考えられていた。しかしプロセスの微細化はリーク電流という問題を生み出し、消費電力と発熱が増大したことで動作周波数の引き上げは困難となった[9]

先端CPUの性能向上がこのように非効率になった背景には、シングルスレッドのスカラ演算性能を引き上げなければならないという呪縛が開発者にあったからである。x86アーキテクチャのCPUでは多数のソフトウェア資産を抱えている。そして、市場に流通しているものを初めとして、既存のアプリケーションの性能を引き上げるためには、シングルスレッドで、かつ、スカラー演算の性能を向上させる必要に迫られていた。

シングルコアからマルチコアへ

[編集]

そこで、CPU業界はマルチスレッド性能の向上へと向かい始めた[10]。「CPUチップのマルチコア化によって「スレッドレベル並列性 (Thread-Level Parallelism, TLP)」を向上させれば、これまでより効率よくCPU性能を上げることができるようになるのではないだろうか?」と考えた。

しかし、ここにも問題があった。インテルやAMDはシングルスレッド性能も維持するために、従来のシングルコアCPUのコアを再利用してマルチコアを実現した。そのために、消費電力やダイエリア当たりの性能は依然としてそれほど向上しなかった。対称型デュアルコアCPUが登場した当時の半導体製造プロセスである90nmでは、2way以上のマルチコア化が難しく、対称型クアッドコアCPUが主流になるのは45nmプロセスに移行してからのことになった[11]。その後もプロセスの微細化は進み、AMDのZenなどがマルチコアに適した設計とすることで1ダイあたり8コアを実現し、ダイを複数搭載することでマルチコア化を推し進めたが[12][13]、コンシューマー向けには10コア程度で停滞した。

この問題の解決策は単純な発想で、CPUコアをシンプルにすれば回避できる。複雑な制御機構を省けば、ずっと小さなCPUコアでそこそこの性能を維持することが可能である。つまり、「ポラックの法則」を逆に考えるなら、CPUコアのダイエリアを1/4にしても性能は1/2にしか落ちないことになる。シンプルなCPUコアなら多数搭載できるから、マルチスレッド性能はずっと高くなるだろう。簡単に「ダイエリア消費量ならびに電力効率のいいマルチコアCPUを作ることができるのではないか?」ということだった。

マルチコアからヘテロジニアス・マルチコアへ

[編集]

しかし、この手法ですらトレードオフがある。

そこで出てきたアイディアが、ヘテロジニアス型のマルチコアである。

例としては、

  • シングルスレッド性能を追求した大型CPUコアと、シンプルな構造にして効率を追求した小型CPUコアを組み合わせれば、シングルスレッド性能を維持しつつ、高並列のマルチスレッド処理が実現可能。
  • CPUコアを、コントロール系CPUコアとデータ系CPUコアに切り分ける。コントロール系のCPUコアはOSを走らせることと制御のみを担当し、データ処理系のCPUコアはストリーム・データなどのリアルタイムデータ処理を担当する。

それぞれのアプローチに違いはあるが、異なるアーキテクチャを組み合わせることで、これまでの限界を乗り越えようとしている。

ヘテロジニアス・マルチコアの実例

[編集]

big.LITTLE

[編集]

スマートフォンなど電力効率を求められる場面において、ヘテロジニアス・マルチコアにより電力効率を向上させたのがarmのbig.LITTLEである[14]。負荷が小さいときにはLITTLEコアで処理を行うことで消費電力を削減し、負荷が大きいときにはbigコアで処理を行い、最大性能を引き上げている。LITTLEコアは絶対性能を追い求めなくてよいため、ダイの面積が小さくなり、電力効率・面積効率共に向上する[15]

負荷が小さいときにはLITTLEコアのみを、負荷が大きいときにはbigコアのみを動作させ、これを切り替える手法が取られていた。2014年頃からはOS側でコアにタスクの割り当てを行い、bigコアとLITTLEコアを同時に動作させることが可能となった[16]

intel Hybrid Technology

[編集]

Windows on Arm発表以来、armはその効率の良さからノートパソコン市場において存在感を増していた。これに対抗してインテルは効率のよいx86プロセッサを開発した。Lakefiledである。元々intelには絶対性能重視のCore系列のコアと電力効率重視のAtom系列のコアがあった。これを組み合わせることで特にスタンバイ時の電力を大きく削減することができた[17]

当初は単に電力効率の向上を掲げて登場したHybrid Technologyだが、絶対性能を求めるデスクトップ市場においても応用された。Alder Lakeはこの革新的な構造を採用して投入された。電力効率の向上だけでなく、Intel Thread Directorと呼ばれる仕組みにより、バックグラウンド処理などは小さいコア、インテルがEコアと呼ぶコアに割り当てられ、IPCを要求されるタスクでは大きいコア、インテルがPコアと呼ぶコアに割り当てることで性能を最大限引き出せるような設計となっている[18]

将来のCPU

[編集]

既存のCPUアーキテクチャーの限界を超えようとする試みは続けられている。それぞれの用途目的に特化したCPUであるとか、特化したCPUを組み合わせて新しいコアを作り出そうとする試みは続けられると推測される。 それだけでなく、「非同期設計CPU」、「再構成可能 (Reconfigurable) CPU」、さらには「光電子工学」や「光量子技術」を生かしたヘテロジニアス型のマルチコアCPUも将来実現するかも知れない。組み合わせにより既存の限界を超えるという手法は、システム工学における重要な手法でもある。

脚注

[編集]
  1. ^ マルチコアCPUとは - IT用語辞典”. IT用語辞典 e-Words. 2024年12月21日閲覧。
  2. ^ Energy Aware Scheduling — The Linux Kernel documentation
  3. ^ Apple Siliconに求められるもの Apple Silicon Macのチップはどのような構成になるか:Apple Siliconがやってくる(2/4 ページ) - ITmedia NEWS
  4. ^ 後藤 弘茂 (2006年8月18日). “■後藤弘茂のWeekly海外ニュース■ 決定的となったヘテロジニアスマルチコアへの潮流”. PC Watch / Impress Watch Corporation. 2013年12月7日閲覧。
  5. ^ Sony Japan | 技術情報|高性能プロセッサ “Cell(セル)” の半導体技術”. Sony Corporation. 2013年12月7日閲覧。
  6. ^ a b 後藤 弘茂 (2005年2月18日). “■後藤弘茂のWeekly海外ニュース■ CPUの新しいトレンド「ヘテロジニアスマルチコア」”. PC Watch / Impress Watch Corporation. 2013年12月7日閲覧。
  7. ^ 見えてきたAMDの次世代GPUアーキテクチャ。なぜAMDはVLIWを捨てるのか
  8. ^ a b 株式会社インプレス (2024年1月30日). “【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史”. PC Watch. 2024年12月15日閲覧。
  9. ^ ASCII. “AMDのプレッシャーに苦しんだNetburst世代のインテル (3/5)”. ASCII.jp. 2024年12月15日閲覧。
  10. ^ ASCII. “CPU性能向上のトレンド マルチコアの理論と限界 (4/4)”. ASCII.jp. 2024年12月15日閲覧。
  11. ^ クアッドコアCPUの魅力に迫る | 最新・クアッドコア自作の極意 | DOS/V POWER REPORT
  12. ^ 株式会社インプレス (2017年3月3日). “【後藤弘茂のWeekly海外ニュース】 AMD「Ryzen 7」の半導体チップの姿”. PC Watch. 2024年12月19日閲覧。
  13. ^ 株式会社インプレス (2018年2月27日). “【後藤弘茂のWeekly海外ニュース】 AMDが目指すマルチダイ統合最初の一歩“ZENのMCMアプローチ””. PC Watch. 2024年12月19日閲覧。
  14. ^ 株式会社インプレス (2011年11月28日). “【後藤弘茂のWeekly海外ニュース】 バッテリ駆動時間を延ばすARMの「big.LITTLE」技術”. PC Watch. 2024年12月19日閲覧。
  15. ^ 株式会社インプレス (2013年12月18日). “【後藤弘茂のWeekly海外ニュース】 2014年にはメジャーになるARMの省電力技術「big.LITTLE」”. PC Watch. 2024年12月19日閲覧。
  16. ^ 株式会社インプレス (2013年12月20日). “【後藤弘茂のWeekly海外ニュース】 2014年のARMのSoCの中核技術となる「big.LITTLE MP」”. PC Watch. 2024年12月19日閲覧。
  17. ^ 株式会社インプレス (2020年6月11日). “【笠原一輝のユビキタス情報局】 CoreとAtomを両搭載するIntelの新CPU「Lakefield」正式発表”. PC Watch. 2024年12月19日閲覧。
  18. ^ 株式会社インプレス (2021年10月28日). “【笠原一輝のユビキタス情報局】 第12世代Core、PコアとEコアという2種類のCPUの組み合わせなのになぜRyzenより速い?”. PC Watch. 2024年12月19日閲覧。

関連項目

[編集]