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が同時に動作するようになったわけだ。
この構成、「Pentium Pro」では図2のように、最大4CPUまでを標準サポートするようになった。「標準サポート」という微妙な言い方をしたのは、4つという制限はあくまでインテルの提供するチップセットを使った場合で、サードパーティの中には6~8CPUまでの構成をサポートする製品もあった。
ちなみに、8個までのCPUをサポートするチップセットに「Profusion」という製品があった。Corollary社というチップベンダーが開発したのだが、インテルは1997年に同社を買収。その後インテルでも発売したにも関わらず(関連リンク)、今では黒歴史扱いされているという、ちょっと可哀想な運命をたどっている。
この連載の記事
-
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 - この連載の一覧へ