IPCの引き上げは難しい
シンプルな解決策がCPU数の増加
今回のテーマはマルチコアである。もともとコンピューターの世界では、CPUのコアをいっぱい並べるという技法は、非常に一般的であった。66回でも書いたが、CPUの処理性能は以下の式で表わされる。
- P=F×IPC
PがPerformance(処理性能)で、FがFrequency(動作周波数)、IPCは「Instructions Per Cycle」(1サイクルあたりの処理命令数)となる。Pを引き上げるためには、Fを上げるかIPCを上げるかになるが、Fを上げると同時に消費電力も増えることになり、ある程度以上の動作周波数以上に引き上げるのが放熱の観点から困難、という制約があった。
一方IPCを引き上げるのはもっと難しい、というのはここまでの連載で紹介したとおり。いろいろな策を講じてIPCを引き上げようとしているが、それでもなかなか上がらない。例えばインテルの場合、1989年に「Intel 486DX」がリリースされた頃は、最大33MHz駆動でIPCはほぼ1命令/サイクルであった。
一方2006年に「Core 2 Duo」がリリースされた際には、Extreme Edition向けは最大2.93GHzまで動作周波数は上がったものの、IPCはやっと3命令/サイクルが実現できた程度である。17年をかけて動作周波数は約90倍になったのに、IPCはたったの3倍でしかないということからもIPCを引き上げることの難しさがわかるだろう。
そこで次なるアイデアとして出てきたのが「CPUの数を増やす」である。前回のSMT(同期マルチスレッディング)と発想は似ているが、先に登場したのは当然こちらである。複数のCPUがあれば、その性能は以下の式となる。
- P=n×F×IPC
ここでのnは「Number of CPUs」、つまりCPUの数である。33MHzのCPUであっても、3つ並べれば見かけ上は100MHzのCPU1個と同じ処理性能になるという、これまた単純なアイディアである。
そんなわけで、x86の場合、P54C世代の「Pentium」で、初めてCPUの数を増やした構成がサポートされた。図1の左が通常のシングルCPU構成とすると、最初のデュアルCPUは図1右のようになる。FSBを共有する、という形で2つのCPUが同時に動作するようになったわけだ。

図1 Pentium世代での基本的なシングルCPU構成(左)とデュアルCPU構成
この構成、「Pentium Pro」では図2のように、最大4CPUまでを標準サポートするようになった。「標準サポート」という微妙な言い方をしたのは、4つという制限はあくまでインテルの提供するチップセットを使った場合で、サードパーティの中には6~8CPUまでの構成をサポートする製品もあった。

図2 Pentium Pro世代の4CPUのシステム構成
ちなみに、8個までのCPUをサポートするチップセットに「Profusion」という製品があった。Corollary社というチップベンダーが開発したのだが、インテルは1997年に同社を買収。その後インテルでも発売したにも関わらず(関連リンク)、今では黒歴史扱いされているという、ちょっと可哀想な運命をたどっている。

この連載の記事
- 第679回 Tachyumが開発しているVLIW方式のProdigy AIプロセッサーの昨今
- 第678回 Sapphire Rapidsの量産は2023年に延期、Optaneが終焉 インテル CPUロードマップ
- 第677回 アナログ回路でデジタルより優れた結果を出せるAspinityのAnalogML AIプロセッサーの昨今
- 第676回 かつては夢物語だった光コンピューターを実現したLightmatter AIプロセッサーの昨今
- 第675回 インテル初のEUV露光を採用したIntel 4プロセスの詳細 インテル CPUロードマップ
- 第674回 Zen 5に搭載するAIエンジンのベースとなったXilinxの「Everest」 AIプロセッサーの昨今
- 第673回 インテルがAIプロセッサーに関する論文でIntel 4の開発が順調であることを強調 AIプロセッサーの昨今
- 第672回 Navi 3を2022年末、Instinct MI300を2023年に投入 AMD GPUロードマップ
- 第671回 Zen 4は5nmと4nmを投入、Zen 5では3nmプロセスに AMD CPUロードマップ
- 第670回 スーパーコンピューターの系譜 TOP500で富岳を退けて首位に躍り出たFrontierの勝因
- 第669回 ダイが巨大なRyzen 7000シリーズは最大230Wで爆熱の可能性あり AMD CPUロードマップ
- この連載の一覧へ