Pentiumはインテルの5番目のCPU

1993年5月リリース
Pentium 60
Pentium 60
PentiumInteli486 の後継製品として開発したCPUである。80586やi586という名称では商標として認められないため、ギリシア語で5を意味するPentaとラテン語を組み合わせた Pentium という名称になった。RISCプロセッサの特徴であるスーパースカラーをサポートした画期的なプロセッサである。

目次

スーパースカラー

Pentium ブロック・ダイアグラム
Pentium ブロック・ダイアグラム
80486 ではパイプラインは5段だったが、Pentium では内部にUパイプとVパイプという2本の命令パイプラインがあり、簡単な命令であれば同時に2つを処理することができる。これをスーパースカラーと呼ぶ。
また、内蔵1次キャッシュをデータ用と命令用で独立させ、それぞれ8Kバイトのライト・バック・キャッシュにした。
プログラム内蔵型コンピュータの代表例としてはフォン・ノイマン型アーキテクチャがあるが、これは、プログラム(命令)とデータを同じメモリ上には位置する。一方、ハーバード型アーキテクチャは、命令とデータを分離してメモリ上には位置する。ハーバード型アーキテクチャは、命令フェッチとデータ読み書きを同時にできることによる高速化が可能であり、データ領域から直接命令を実行できないため、セキュリティ対策にもなる。一方で、命令用バスとデータ用バスを独立して用意しなければならないため、フォン・ノイマン型アーキテクチャより回路が複雑になり、また、動的に命令を書き換えるようなプログラムには適さない。
RISCプロセッサでは、命令とデータを別々のキャッシュメモリに配置し、メインメモリ上では命令とデータは共存させるという修正ハーバード型アーキテクチャを実装した。
Pentium が採用したのは、この修正ハーバード型アーキテクチャである。

外部バス 64ビット化

Pentium ダイ拡大写真
Pentium ダイ拡大写真
データ長は32ビットだが、外部データ・バス幅を従来の32ビットから64ビットに拡張することで、メモリへのアクセス速度を高速化した。ところが、当時主流だったメモリは32ビット幅の72ピンSIMMであったため、Pentiumでメモリを増設するには、2枚ずつ増設しなければならなかった。
72ピンSIMM
72ピンSIMM
会社でCOMPAQ製パソコンと増設メモリを購入したのだが、このことを知らず、あとで追加の増設メモリを発注した。どういうわけか、最初のメモリと違う国で製造されたもので、スロットに入らなかった。メモリの型番は同じなので、ヤスリで基板を削ることで無事にスロットに収まった。

FDIVバグ

Socket 5
Socket 5
整数演算ユニットに加え浮動小数点演算ユニットもパイプライン化され、RISCプロセッサにはかなわなかったが、x86プロセッサの中で抜きん出た浮動小数点演算性能を発揮する。

1994年(平成6年)11月、普及し始めたインターネット上に、Pentium の浮動小数点除算命令にバグがあると投稿された(FDIVバグ)。当初、インテルは影響範囲は小さいと説明したが、12月19日、ニューヨークタイムズ紙が報道されたことを受け、公式に謝罪し、全数の無償交換に応じることになった。その費用は、インテルの純利益の2割近くに達した。
Pentium では、それまでビットシフトと減算によって行っていた除算処理を、SRT法と呼ばれる、参照テーブルを使ったものに変更することで、回路規模は大きくなるものの、処理速度を大幅に短縮した。ところが、この参照テーブルの複数箇所にバグがあり、除算結果が期待したものと異なることになった。当時はCPUのバグをファームウェアで修正するという概念がなく、CPU本体を交換するしかなかった。

だが、FDIVバグ を出した P54Cコアは、最初 90MHzと 100MHzの2つが登場し、最終的に 200MHzまで高速化し、「Pentiumは遅い」という噂を覆し、人気を博した。

Pentium Pro

Pentium Pro
Pentium Pro
1995年(平成7年)11月には Pentium Pro が登場する。P6マイクロアーキテクチャの最初のCPUである。
RISC の設計思想を取り込み、x86命令を複数の単純化した命令(マイクロオペ)に分割して実行する。また、命令発行ポートを5つ持つスーパースカラ構造、多段パイプラインを効率よく動作させるための分岐予測といった先進技術を採用し、32ビット命令では同クロックのPentium を大きく凌駕する演算処理速度を実現した。
Pentium Pro ダイ
Pentium Pro ダイ
その一方、CPUコアだけで5.5万トランジスタ、ダイ面積は当初の 0.6μm BiCMOSプロセスで 306mm2に達した。そのため、2次キャッシュはダイの外に取り付けざるを得なかった。つまり、製造コストが極端に高価なものとなり、加えて市場に多く残っている16ビット命令の最適化がなされておらず、コンシューマ向けのCPUとしては普及せず、サーバに搭載されるにとどまった。
とはいえ、現在に続く x86命令の基本は P6マイクロアーキテクチャの命令群である。また、Core i を生み出す Pentium Mの直系の祖先が P6マイクロアーキテクチャであることを忘れてはならない。

マイクロオペに変換したことで、命令を処理する 5つのステージを、さらに細分化することができる。Pentium Pro はパイプラインを約12段に増やすことで高速化を狙った。
しかし、命令の中に分岐処理が入っていると、せっかくフェッチした後続命令を廃棄しなければならない。そこで、CPU内で命令の順序を変えたり(アウトオブオーダー)、分岐予測を行うことで、パイプライン処理が無駄にならないように工夫しました。

2次キャッシュを初めて搭載したのも Pentium Pro である。
486DXでキャッシュの説明はしたが、キャッシュを運用するには、メモリのどこがキャッシュされているかを示す情報(タグ)が必要である。CPU はタグを検索してキャッシュにアクセスするか、メモリにアクセスするかを判断する。したがって、キャッシュを極端に大きくすると、タグ検索速度が足枷になる。
そこで、CPUと等速で動作するキャッシュは 1次キャッシュとして必要最小限の容量に抑え、2段目を 2次キャッシュとして用意したのが Pentium Pro である。 Pentium Pro2次キャッシュBSB(Back Side Bus)というキャッシュ専用バスで接続される。

MMX Pentium

MMX Pentium
MMX Pentium
1997年(平成9年)1月に登場した P55CコアMMX Pentium と呼ばれ、x86命令に 56個の MMX命令を拡張した。MMXは、x87 FPUのレジスタを転用し、1つの命令で同時に複数の整数演算を扱うSIMD型命令拡張だ。
MMXのおかげで 486 との性能差は決定的なものになり、デスクトップPCの CPUにおいて Pentiumが主流となった。こうしてインテルは 486互換チップを退け、市場を独占してゆく。

Pentium II

Pentium II
Pentium II
P6マイクロアーキテクチャMMXユニット をセットにしたのが、1997年(平成9年)5月に発表した Pentium II である。P6コアも0.35μmプロセスなら 203mm2と常識的なサイズに納まり、MMXユニットの追加と16ビット命令の処理速度の高速化により、Pentium より明らかに性能が向上した。
Pentium II
Pentium II
コアと同じくロックで動く 2次キャッシュを搭載にするにはコストがかかりすぎるため、1/2倍速のSRAMチップをCPUと一緒に搭載するカートリッジ方式となった。あたらしい Slot 1 により、互換チップメーカーが相乗りしていた Socket 7を廃止しようという目論見もあったようだ。
Pentium II 発表直前の1997年(平成9年)4月に、AMD は NexGen の Nx686 を改良した K6 を発表する。翌1998年(平成10年)には 0.25μmに微細化し、300MHzを達成した K6-2 を発表する。いずれも Socket 7で動作し、整数演算だけなら Pentium II と互角のスピードを出せ、なおかつ安価だった。
K6/K6-2 の登場に慌てたインテルは、1998年(平成10年)4月に、Pentium IIから 2次キャッシュを除いた Celeronを発売する。オーバークロック耐性が高く、300MHz定格のところを400MHzに挙げることができたため、一部のマニアには受け入れられたが、2次キャッシュがなくなったことで、総合性能で K6/K6-2に対抗できるレベルではなかった。なお、Celeron は、この後、インテルの廉価CPUのブランドとして定着することになる。

Pentium III

Pentium III Coppermine
Pentium III Coppermine
1999年(平成11年)2月に発表された Pentium III は、SSE処理ユニットを追加し、2次キャッシュのレイテンシを改善することで、性能が若干向上した。
1999年(平成11年)10月には、0.18µmプロセスで製造される Coppermineが発表され、2次キャッシュの容量は半減したものの、オンダイになり、CPUと等速で動作するようになり、Slot 1 から Socket 370 に変更することで、製造コストを抑えることができた。
しかし、クロック1GHzの壁を先に突破したのは Athron で、インテルは AMD の後塵を拝することになる。Coppermineは1GHzを越えたところで動作不安定になることが指摘され、製品回収となってしまう。インテルが安定して 1GHzを超えるには、2001年(平成13年)6月の Tualatinコア まで待たなければならなかった。

Pentium 4

Pentium 4
Pentium 4
2000年(平成12年)11月に発表された Pentium 4 は、AMDに対抗するため、命令解釈を行うフロントエンドと命令処理を行うバックエンドとを完全に分離し、CPUの機能拡張や高クロック化に容易に対応できる NetBurstアーキテクチャで設計し直された。Pentium III で1.0~1.4GHzどまりだったクロック数は、一気に 2~3.4GHzに到達する。パイプラインは、Pentium III の 12段から、一気に 20段に引き上げた。
Pentium 4 コア 90nm
Pentium 4 コア 90nm
一方、AMDは 2002年(平成14年)10月に K8(Hammerアーキテクチャ)の試作品性能が Pentium 4 を軽く凌駕したことを発表した。
慌てたインテルは、11月に Northwoodコアを改良し、Hyper Threading を有効にし、FSBを800MHzまで引き上げた。そして2004年(平成16年)2月に 90nmプロセスで製造される第三世代の Prescottコア を発表する。パイプラインは31段にまで増え、L1データキャッシュとL2キャッシュメモリを増量した。
さらに、SSE3AMD64 互換の64ビット拡張 EM64T を搭載したものの、想定外のリーク電流に悩まされ、消費電力が急上昇し、発熱も大きかった。
パイプラインを増やすと、ステージの同期を取るためのラッチも増える。そして、1つ1つのステージが単純になる分、ラッチを高速に動かすことが可能になり、クロック数を上げることができるというのが NetBurstアーキテクチャの狙いだった。
しかし、ラッチに使うトランジスタが増えた分、その発熱が無視できなくなったのだ。当然、ラッチを動かすために消費電力も増大する。
当初、Prescottコアでは独自の 64ビット命令を搭載する計画だったが、AMD64 互換にしなければならなくなったあたりに、インテルの焦りが見える。
一方、AMD も K8 に使う予定の 0.13μm SOIプロセスの立ち上げでつまづいていた。2003年(平成15年)4月に 1.4~1.8GHzの Opteron を発表するが、性能面で Pentium 4 にまったく及ばなかった。9月には、ようやく2GHz駆動の Athlon 64 3200+ がリリースされる。Prescottコアが迷走する中、Opteron や Athron 64 は、それなりの市場を獲得することになる。

2005年(平成17年)5月、インテルは Prescottコアを2つ搭載したデュアルコア・プロセッサ Pentium Dを発表する。だが、AMDもデュアルコアの Athlon 64 X2 を上梓し、インテルは巻き返しに失敗。6GHzを目指した Tejas はキャンセルされ、NetBurstアーキテクチャは終焉を迎え、P6コア の流れを汲む Pentium MCore Duo へとシフトしていく。パイプライン段数も20段以上に増やすことはなくなった。

主要スペック

項目 仕様
メーカー Intel
生産時期 1993年5月~2000年2月
開発コード名 P5
トランジスタ数 310万~450万
データ長 32ビット
外部データバス 64ビット
CPUクロック 60MHz~300MHz
プロセスルール 0.8μm~0.25μm
マイクロアーキテクチャ P5
ソケット Socket 4, Socket 5, Socket 7
TDP 7.1~14.6W

CPUの歴史

発表年 メーカー CPU名 ビット数 最大クロック
1970年Garrett
AiResearch
MP944 (軍用)20bit375KHz
1971年インテル40044bit750KHz
1974年インテル80808bit3.125MHz
1975年モステクノロジーMOS 65028bit3MHz
1976年ザイログZ808bit20MHz
1978年インテル808616bit10MHz
1979年モトローラMC68098bit2MHz
1979年ザイログZ800016bit10MHz
1980年モトローラMC6800016bit20MHz
1983年NECV3016bit16MHz
1984年インテル8028616bit12MHz
1985年インテル8038632bit40MHz
1985年インテルi96032bit100MHz
1985年サン・マイクロシステムズSPARC32bit150MHz
1986年MIPSR200032bit15MHz
1987年ザイログZ28016bit12MHz
1987年モトローラMC6803032bit50MHz
1989年インテル8048632bit100MHz
1989年インテルi86032bit50MHz
1991年MIPSR400064bit200MHz
1990年モトローラMC6804032bit40MHz
1993年インテルPentium32bit300MHz
1994年IBM, モトローラPowerPC 60332bit300MHz
1995年サイリックスCyrix Cx5x8632bit133MHz
1995年AMDAm5x8632bit160MHz
1995年サン・マイクロシステムズUltraSPARC64bit200MHz
1999年IBM, モトローラPowerPC G432bit1.67GHz
1999年AMDAthlon32bit2.33GHz
2000年インテルPentium 432bit3.8GHz
2001年インテルItanium64bit800MHz
2003年AMDOpteron64bit3.5GHz
2003年インテルPentium M32bit2.26GHz
2006年SCE,ソニー,IBM,東芝Cell64bit3.2GHz
2006年インテルCore Duo32bit2.33GHz
2006年インテルCore 2 Duo64bit3.33GHz
2008年インテルCore i9/i7/i5/i364bit5.8GHz
2017年AMDRyzen64bit5.7GHz
2020年AppleM1/M2/M3/M464bit3.49GHz
2023年インテルCore Ultra 9 / 7 / 564bit5.1GHz

参考サイト

(この項おわり)
header