Pentiumはインテルの第5世代CPU

1993年3月リリース
Pentium 60
Pentium 60
AI生成コンテンツ / AI-generated contents
PentiumIntel80486(i486DX/i486SX) の後継製品として開発した、第5世代の x86 CPUである。数字だけの名称は商標として保護しにくいため、ギリシア語で5を意味する「pente」をもとに Pentium と名付けられた。1クロックに複数の命令を実行できるスーパースカラーを採用した画期的なプロセッサである。

目次

スーパースカラー

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製パソコンと増設メモリを購入したのだが、このことを知らず、あとで追加の増設メモリを発注した。どういうわけか、最初のメモリと違う国で製造されたもので、スロットに入らなかった。メモリの型番は同じなので、ヤスリで基板を削ることで無事にスロットに収まった。

浮動小数演算処理

Pentium は、整数演算ユニットに加え、浮動小数点演算ユニット(FPU)をCPU内部に標準搭載している。80386用の80387のような外付け数値演算コプロセッサは必要ない。FPUの内蔵自体は先代のi486DXですでに実現していたが、Pentiumでは加算と乗算の処理をパイプライン化し、前の計算がすべて終わる前に次の計算を始められるようにした。

表は、同一クロックにおいてFPUレジスタ上の通常の値を1回計算するときの、おおよその実行クロック数を比較したものである。メモリの読み書き、キャッシュミス、特殊な値の処理などにかかる時間は含まない。Pentiumの除算時間は、FPUに設定した精度によって異なる。
独立した加算や乗算を連続して行う場合、Pentiumは最短1クロックごとに次の命令を開始できる。このため最大処理量では、486DXに対して加算が約8~20倍、乗算が最大約16倍になる。ただし、直前の答えを次の計算で使う場合は待ち時間が生じるため、表の高速化率に近づく。
浮動小数点演算 命令 486DX Pentium 高速化率
加算・減算 FADD/FSUB 8~20クロック 3クロック 約2.7~6.7倍
乗算 FMUL 16クロック 3クロック 約5.3倍
単精度除算 FDIV 73クロック 19クロック 約3.8倍
倍精度除算 33クロック 約2.2倍
拡張倍精度除算 39クロック 約1.9倍
平方根 FSQRT 83~87クロック 約70クロック 約1.2倍

FDIVバグ

Socket 5
Socket 5
1994年(平成6年)10月、米国の数学者トーマス・ナイスリーが、Pentium の浮動小数点除算命令に誤りがあることをインターネット上で報告した(FDIVバグ)。当初、インテルは影響が生じる例はまれだと説明していたが、12月20日、用途を問わず欠陥のある製品を無償交換すると発表した。インテルは、この対応に伴い4億7500万ドルを計上した。
Pentium では、それまでビットシフトと減算によって行っていた除算処理を、SRT法と呼ばれる、参照テーブルを使ったものに変更することで、回路規模は大きくなるものの、処理速度を大幅に短縮した。ところが、この参照テーブルの複数箇所にバグがあり、除算結果が期待したものと異なることになった。当時はCPUのバグをファームウェアで修正するという概念がなく、CPU本体を交換するしかなかった。

FDIVバグ が見つかった P54Cコアは、当初90MHzと100MHzで登場し、その後200MHzまで高速化した。初代の60MHz・66MHz版より消費電力や性能が改善され、Pentiumの普及を後押しした。

Pentium Pro

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

マイクロオペに変換したことで、命令を処理する 5つのステージを、さらに細分化することができる。Pentium Pro はパイプラインを約12段に増やすことで高速化を狙った。
しかし、分岐予測が外れると、先読みした後続命令を破棄しなければならない。そこで、分岐先を予測し、依存関係を守りながら命令の実行順序を入れ替えるアウトオブオーダー実行によって、パイプラインの無駄を減らした。

2次キャッシュをCPUと同じパッケージに収め、CPUと同じ速度で動かしたことも 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命令に57個の 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次キャッシュはコストが高いため、Pentium IIではコアの半分の速度で動くSRAMチップをCPUと同じカートリッジに搭載した。接続には新しい Slot 1 を採用した。
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を発売した。同年8月には、128Kバイトの2次キャッシュを内蔵するCeleron 300Aが登場した。安価で高速化の余地が大きかったため自作PC利用者にも人気を博し、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の製品を先に発表したのは Athlon で、インテルはAMDの後塵を拝した。インテルも間もなく1GHz版を投入したが、2000年(平成12年)7月に発表した1.13GHz版は動作上の問題により出荷を停止した。2001年(平成13年)には0.13μmプロセスの Tualatinコア が登場し、最大1.4GHzに達した。

Pentium 4

Pentium 4
Pentium 4
2000年(平成12年)11月に発表された Pentium 4 は、高クロック化を重視した NetBurstマイクロアーキテクチャで設計された。最初の製品は1.4GHzと1.5GHzで、後の製品では最高3.8GHzに達した。命令処理のパイプラインは、Pentium III の10段から20段に増えた。
Pentium 4 コア 90nm
Pentium 4 コア 90nm
AMDは、64ビット拡張とメモリコントローラーを内蔵する K8(Hammerアーキテクチャ)を開発し、2003年(平成15年)4月にサーバー向けOpteron、同年9月にデスクトップ向けAthlon 64を発売した。
インテルは2002年(平成14年)11月、NorthwoodコアのPentium 4でハイパースレッディング・テクノロジーを有効にした。2003年(平成15年)にはシステムバスを800MHzへ高速化し、2004年(平成16年)2月には90nmプロセスの Prescottコア を発表した。パイプラインは31段に増え、キャッシュも拡大した。
さらに、SSE3AMD64 互換の64ビット拡張 EM64T を搭載したものの、想定外のリーク電流に悩まされ、消費電力が急上昇し、発熱も大きかった。
パイプラインを増やすと、ステージの同期を取るためのラッチも増える。そして、1つ1つのステージが単純になる分、ラッチを高速に動かすことが可能になり、クロック数を上げることができるというのが NetBurstアーキテクチャの狙いだった。
しかし、ラッチに使うトランジスタが増えた分、その発熱が無視できなくなったのだ。当然、ラッチを動かすために消費電力も増大する。
当初、Prescottコアでは独自の 64ビット命令を搭載する計画だったが、AMD64 互換にしなければならなくなったあたりに、インテルの焦りが見える。
AMDは0.13μm SOIプロセスの立ち上げに時間を要したが、2003年(平成15年)4月に1.4~1.8GHzの Opteron を、9月には2GHzの Athlon 64 3200+ を発売した。クロック周波数だけではPentium 4より低かったものの、1クロック当たりの処理性能や64ビット対応、メモリアクセス性能を強みに市場を広げた。

2005年(平成17年)5月、インテルはPrescott系のCPUコアを2基備えるデュアルコア・プロセッサ Pentium Dを発表した。AMDも同月、デュアルコアの Athlon 64 X2 を発表した。後継として計画された Tejas は開発中止となり、NetBurst路線は終焉を迎えた。インテルは、P6コア の流れを汲む Pentium MCore Duo の系統へ軸足を移していった。

主要スペック

項目 仕様
メーカー Intel
生産時期 1993年3月~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
1985年エイコーンARM132bit6MHz
1986年MIPSR200032bit15MHz
1987年ザイログZ28016bit12MHz
1987年モトローラMC6803032bit50MHz
1988年MIPSR300032bit40MHz
1989年インテル8048632bit100MHz
1989年インテルi86032bit50MHz
1990年モトローラMC6804032bit40MHz
1991年MIPSR400064bit200MHz
1992年DECAlpha 2106464bit200MHz
1993年IBM, モトローラ, ApplePowerPC 60132bit120MHz
1993年インテルPentium32bit300MHz
1994年IBM, モトローラ, ApplePowerPC 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/M4/M564bit3.49GHz
2023年インテルCore Ultra 9 / 7 / 564bit5.1GHz

参考サイト

(この項おわり)
header