本連載も前回までで、x86系に関しては一応、CPUからGPU、チップセットの各ジャンルについてロードマップを解説し終えた。「さて次に何をやりましょうか?」と編集氏と相談の結果、CPUの内部アーキテクチャーの進化について、これもロードマップ的に紹介することにした。
多彩なアーキテクチャーの進化は相互に関連している
さて、「CPUアーキテクチャーの進化」と一口に言っても、方法論が山ほどあったりする。PC向けのx86 CPUに限って大雑把に分類し、ざっと書き並べても、これくらいの技術が進化の中で採用されている。
- 命令セット自体の進化
- CISC命令の多様化、CISC→RISCの変遷とRISC→CISCへのゆり戻し、ベクトル命令とSIMD/MIMDの進化、VLIW(Very Long Instruction Word)の実用化、MicroOp、コードモーフィング
- CPU処理ユニットの進化
- パイプライン化、スーパーパイプライン化、スーパースケーラー、アウトオブオーダー発行、アウトオブオーダー完了、レジスターリネーミング、投機実行、デコード/実行段分離、分岐予測
- キャッシュの進化
- キャッシュの搭載、ハーバードアーキテクチャーの実装、多階層キャッシュ、トレースキャッシュ、共有キャッシュ、エクスクルーシブキャッシュ、キャッシュスタッシング
- マルチコアの進化
- マルチプロセッサー、マルチコア、SMT(同時マルチスレッディング)、ハイブリッド、ヘテロジニアス
- 回路構成の進化
- プロセス進化(NMOS→BiCMOS→CMOS)、プロセス微細化(数μm→2xnm)、銅配線、Low-k材料、High-kメタルゲート、ダイナミック回路、ドミノ回路、Dual Vt、Multi Vt、マルチパワープレイン、クロックゲーティング、パワーゲーティング
しかも、これらはしばしば相互に関係している。例えば昔の製造プロセスでは、多数のトランジスターを収めるとダイサイズが巨大になってしまい、リーズナブルな価格での製造が不可能だった。そのため、アウトオブオーダーが実装できるようになったのはかなり後のことだし、その際に大容量キャッシュまで統合するのは不可能だったから、2次キャッシュを別チップ化する、なんて形でバランスを取っていた。
ところがプロセスの微細化が進むと、今度は逆にトランジスター数が余るようになってくる。まずは大容量キャッシュの搭載が可能になり、ついで今までは(トランジスター数の制限が理由で)無理だった、さまざまな機能強化が簡単にできるようになった。
言うなれば、利用できるトランジスター数が少ない時期は、「どの機能を搭載するか」をよく吟味する必要があり、この結果として製品ごとのアーキテクチャーの違いが明確に現れた。ところが昨今は利用できるトランジスター数が増えたことにより、「使えそうな技術は全部盛り込む」といった力技が可能になる。そのため以前に比べると、逆に製品ごとのアーキテクチャーの違いが、それほど目立たなくなってきている。
この連載の記事
- 第71回 x86を高速化する切り札技術「命令変換」の仕組み
- 第70回 命令の実行順を変えて高速化するアウトオブオーダー
- 第69回 スーパースカラーによる高速化とx86の問題点とは
- 第68回 CPU高速化の常套手段 パイプライン処理の基本 【その2】
- 第67回 CPU高速化の常套手段 パイプライン処理の基本 【その1】
- 第65回 CyrixにIBMにRiSE、マイナー系x86ベンダー総ざらえ
- 第64回 価格性能比に優れたK7でシェアを伸ばしたAMD
- 第63回 x86初期からK5まで AMDの歩みを振り返る
- 第62回 モバイル専用からインテルの救世主になったPentium M
- 第61回 AMDのプレッシャーに苦しんだNetburst世代のインテル
- この連載の一覧へ














