Pentium 60
AI生成コンテンツ / AI-generated contents
AI生成コンテンツ / AI-generated contents
Pentium はIntel が 80486(i486DX/i486SX) の後継製品として開発した、第5世代の x86 CPUである。数字だけの名称は商標として保護しにくいため、ギリシア語で5を意味する「pente」をもとに Pentium と名付けられた。1クロックに複数の命令を実行できるスーパースカラーを採用した画期的なプロセッサである。
目次
スーパースカラー
Pentium ブロック・ダイアグラム
80486 ではパイプラインは5段だったが、Pentium では内部にUパイプとVパイプという2本の命令パイプラインがあり、簡単な命令であれば同時に2つを処理することができる。これをスーパースカラーと呼ぶ。
また、内蔵1次キャッシュをデータ用と命令用で独立させ、それぞれ8Kバイトのライト・バック・キャッシュにした。
また、内蔵1次キャッシュをデータ用と命令用で独立させ、それぞれ8Kバイトのライト・バック・キャッシュにした。
プログラム内蔵型コンピュータの代表例であるフォン・ノイマン型アーキテクチャは、プログラム(命令)とデータを同じメモリに置く。一方、ハーバード型アーキテクチャは、命令用とデータ用のメモリを分離する。命令の読み出しとデータの読み書きを同時に行えるため高速化しやすいが、回路は複雑になる。
RISCプロセッサでは、命令とデータを別々のキャッシュメモリに配置し、メインメモリ上では命令とデータは共存させるという修正ハーバード型アーキテクチャを実装した。
Pentium が採用したのは、この修正ハーバード型アーキテクチャである。
RISCプロセッサでは、命令とデータを別々のキャッシュメモリに配置し、メインメモリ上では命令とデータは共存させるという修正ハーバード型アーキテクチャを実装した。
Pentium が採用したのは、この修正ハーバード型アーキテクチャである。
外部バス 64ビット化
Pentium ダイ拡大写真
データ長は32ビットだが、外部データ・バス幅を従来の32ビットから64ビットに拡張することで、メモリへのアクセス速度を高速化した。ところが、当時主流だったメモリは32ビット幅の72ピンSIMMであったため、Pentiumでメモリを増設するには、2枚ずつ増設しなければならなかった。
72ピンSIMM
会社でCOMPAQ製パソコンと増設メモリを購入したのだが、このことを知らず、あとで追加の増設メモリを発注した。どういうわけか、最初のメモリと違う国で製造されたもので、スロットに入らなかった。メモリの型番は同じなので、ヤスリで基板を削ることで無事にスロットに収まった。
浮動小数演算処理
Pentium は、整数演算ユニットに加え、浮動小数点演算ユニット(FPU)をCPU内部に標準搭載している。80386用の80387のような外付け数値演算コプロセッサは必要ない。FPUの内蔵自体は先代のi486DXですでに実現していたが、Pentiumでは加算と乗算の処理をパイプライン化し、前の計算がすべて終わる前に次の計算を始められるようにした。

表は、同一クロックにおいてFPUレジスタ上の通常の値を1回計算するときの、おおよその実行クロック数を比較したものである。メモリの読み書き、キャッシュミス、特殊な値の処理などにかかる時間は含まない。Pentiumの除算時間は、FPUに設定した精度によって異なる。
独立した加算や乗算を連続して行う場合、Pentiumは最短1クロックごとに次の命令を開始できる。このため最大処理量では、486DXに対して加算が約8~20倍、乗算が最大約16倍になる。ただし、直前の答えを次の計算で使う場合は待ち時間が生じるため、表の高速化率に近づく。
表は、同一クロックにおいて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
1994年(平成6年)10月、米国の数学者トーマス・ナイスリーが、Pentium の浮動小数点除算命令に誤りがあることをインターネット上で報告した(FDIVバグ)。当初、インテルは影響が生じる例はまれだと説明していたが、12月20日、用途を問わず欠陥のある製品を無償交換すると発表した。インテルは、この対応に伴い4億7500万ドルを計上した。
Pentium では、それまでビットシフトと減算によって行っていた除算処理を、SRT法と呼ばれる、参照テーブルを使ったものに変更することで、回路規模は大きくなるものの、処理速度を大幅に短縮した。ところが、この参照テーブルの複数箇所にバグがあり、除算結果が期待したものと異なることになった。当時はCPUのバグをファームウェアで修正するという概念がなく、CPU本体を交換するしかなかった。

FDIVバグ が見つかった P54Cコアは、当初90MHzと100MHzで登場し、その後200MHzまで高速化した。初代の60MHz・66MHz版より消費電力や性能が改善され、Pentiumの普及を後押しした。
FDIVバグ が見つかった P54Cコアは、当初90MHzと100MHzで登場し、その後200MHzまで高速化した。初代の60MHz・66MHz版より消費電力や性能が改善され、Pentiumの普及を後押しした。
Pentium Pro
Pentium Pro
1995年(平成7年)11月には Pentium Pro が登場する。P6マイクロアーキテクチャの最初のCPUである。
RISC の設計思想を取り込み、x86命令を複数の単純化した命令(マイクロオペ)に分割して実行する。また、命令発行ポートを5つ持つスーパースカラ構造、多段パイプラインを効率よく動作させるための分岐予測といった先進技術を採用し、32ビット命令では同クロックのPentium を大きく凌駕する演算処理速度を実現した。
RISC の設計思想を取り込み、x86命令を複数の単純化した命令(マイクロオペ)に分割して実行する。また、命令発行ポートを5つ持つスーパースカラ構造、多段パイプラインを効率よく動作させるための分岐予測といった先進技術を採用し、32ビット命令では同クロックのPentium を大きく凌駕する演算処理速度を実現した。
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 Pro の 2次キャッシュは BSB(Back Side Bus)というキャッシュ専用バスで接続される。
マイクロオペに変換したことで、命令を処理する 5つのステージを、さらに細分化することができる。Pentium Pro はパイプラインを約12段に増やすことで高速化を狙った。
しかし、分岐予測が外れると、先読みした後続命令を破棄しなければならない。そこで、分岐先を予測し、依存関係を守りながら命令の実行順序を入れ替えるアウトオブオーダー実行によって、パイプラインの無駄を減らした。
2次キャッシュをCPUと同じパッケージに収め、CPUと同じ速度で動かしたことも Pentium Pro の特徴である。
486DXでキャッシュの説明はしたが、キャッシュを運用するには、メモリのどこがキャッシュされているかを示す情報(タグ)が必要である。CPU はタグを検索してキャッシュにアクセスするか、メモリにアクセスするかを判断する。したがって、キャッシュを極端に大きくすると、タグ検索速度が足枷になる。
そこで、CPUと等速で動作するキャッシュは 1次キャッシュとして必要最小限の容量に抑え、2段目を 2次キャッシュとして用意したのが Pentium Pro である。 Pentium Pro の 2次キャッシュは BSB(Back Side Bus)というキャッシュ専用バスで接続される。
MMX Pentium
MMX Pentium
1997年(平成9年)1月に登場した P55Cコア は MMX Pentium と呼ばれ、x86命令に57個の MMX命令を追加した。MMXは、x87 FPUのレジスタを転用し、1つの命令で複数の整数データを同時に処理するSIMD型命令拡張である。
MMXのおかげで 486 との性能差は決定的なものになり、デスクトップPCの CPUにおいて Pentiumが主流となった。こうしてインテルは 486互換チップを退け、市場を独占してゆく。
MMXのおかげで 486 との性能差は決定的なものになり、デスクトップPCの CPUにおいて Pentiumが主流となった。こうしてインテルは 486互換チップを退け、市場を独占してゆく。
Pentium II
Pentium II
P6マイクロアーキテクチャと MMXユニット をセットにしたのが、1997年(平成9年)5月に発表した Pentium II である。P6コアも0.35μmプロセスなら 203mm2と常識的なサイズに納まり、MMXユニットの追加と16ビット命令の処理速度の高速化により、Pentium より明らかに性能が向上した。
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ブランドとして定着した。
K6/K6-2に対抗し、インテルは1998年(平成10年)4月、Pentium IIをもとに2次キャッシュを省いた最初の Celeronを発売した。同年8月には、128Kバイトの2次キャッシュを内蔵するCeleron 300Aが登場した。安価で高速化の余地が大きかったため自作PC利用者にも人気を博し、Celeronはインテルの廉価CPUブランドとして定着した。
Pentium III
Pentium III Coppermine
1999年(平成11年)2月に発表された Pentium III は、SSE処理ユニットを追加し、2次キャッシュのレイテンシを改善することで、性能が若干向上した。
1999年(平成11年)10月には、0.18µmプロセスで製造される Coppermineが発表され、2次キャッシュの容量は半減したものの、オンダイになり、CPUと等速で動作するようになり、Slot 1 から Socket 370 に変更することで、製造コストを抑えることができた。
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
2000年(平成12年)11月に発表された Pentium 4 は、高クロック化を重視した NetBurstマイクロアーキテクチャで設計された。最初の製品は1.4GHzと1.5GHzで、後の製品では最高3.8GHzに達した。命令処理のパイプラインは、Pentium III の10段から20段に増えた。
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段に増え、キャッシュも拡大した。
インテルは2002年(平成14年)11月、NorthwoodコアのPentium 4でハイパースレッディング・テクノロジーを有効にした。2003年(平成15年)にはシステムバスを800MHzへ高速化し、2004年(平成16年)2月には90nmプロセスの Prescottコア を発表した。パイプラインは31段に増え、キャッシュも拡大した。
さらに、SSE3 や AMD64 互換の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 M、Core Duo の系統へ軸足を移していった。
パイプラインを増やすと、ステージの同期を取るためのラッチも増える。そして、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 M、Core 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 (軍用) | 20bit | 375KHz |
| 1971年 | インテル | 4004 | 4bit | 750KHz |
| 1974年 | インテル | 8080 | 8bit | 3.125MHz |
| 1975年 | モステクノロジー | MOS 6502 | 8bit | 3MHz |
| 1976年 | ザイログ | Z80 | 8bit | 20MHz |
| 1978年 | インテル | 8086 | 16bit | 10MHz |
| 1979年 | モトローラ | MC6809 | 8bit | 2MHz |
| 1979年 | ザイログ | Z8000 | 16bit | 10MHz |
| 1980年 | モトローラ | MC68000 | 16bit | 20MHz |
| 1983年 | NEC | V30 | 16bit | 16MHz |
| 1984年 | インテル | 80286 | 16bit | 12MHz |
| 1985年 | インテル | 80386 | 32bit | 40MHz |
| 1985年 | インテル | i960 | 32bit | 100MHz |
| 1985年 | サン・マイクロシステムズ | SPARC | 32bit | 150MHz |
| 1985年 | エイコーン | ARM1 | 32bit | 6MHz |
| 1986年 | MIPS | R2000 | 32bit | 15MHz |
| 1987年 | ザイログ | Z280 | 16bit | 12MHz |
| 1987年 | モトローラ | MC68030 | 32bit | 50MHz |
| 1988年 | MIPS | R3000 | 32bit | 40MHz |
| 1989年 | インテル | 80486 | 32bit | 100MHz |
| 1989年 | インテル | i860 | 32bit | 50MHz |
| 1990年 | モトローラ | MC68040 | 32bit | 40MHz |
| 1991年 | MIPS | R4000 | 64bit | 200MHz |
| 1992年 | DEC | Alpha 21064 | 64bit | 200MHz |
| 1993年 | IBM, モトローラ, Apple | PowerPC 601 | 32bit | 120MHz |
| 1993年 | インテル | Pentium | 32bit | 300MHz |
| 1994年 | IBM, モトローラ, Apple | PowerPC 603 | 32bit | 300MHz |
| 1995年 | サイリックス | Cyrix Cx5x86 | 32bit | 133MHz |
| 1995年 | AMD | Am5x86 | 32bit | 160MHz |
| 1995年 | サン・マイクロシステムズ | UltraSPARC | 64bit | 200MHz |
| 1999年 | IBM, モトローラ | PowerPC G4 | 32bit | 1.67GHz |
| 1999年 | AMD | Athlon | 32bit | 2.33GHz |
| 2000年 | インテル | Pentium 4 | 32bit | 3.8GHz |
| 2001年 | インテル | Itanium | 64bit | 800MHz |
| 2003年 | AMD | Opteron | 64bit | 3.5GHz |
| 2003年 | インテル | Pentium M | 32bit | 2.26GHz |
| 2006年 | SCE,ソニー,IBM,東芝 | Cell | 64bit | 3.2GHz |
| 2006年 | インテル | Core Duo | 32bit | 2.33GHz |
| 2006年 | インテル | Core 2 Duo | 64bit | 3.33GHz |
| 2008年 | インテル | Core i9/i7/i5/i3 | 64bit | 5.8GHz |
| 2017年 | AMD | Ryzen | 64bit | 5.7GHz |
| 2020年 | Apple | M1/M2/M3/M4/M5 | 64bit | 3.49GHz |
| 2023年 | インテル | Core Ultra 9 / 7 / 5 | 64bit | 5.1GHz |
参考サイト
- i486 Microprocessor Hardware Reference Manual:Intel
- Pentium Processor User's Manual Volume 3:Intel
- Optimizations for Intel's 32-Bit Processors:Intel
- Intel Microprocessor Quick Reference Guide:Intel
- Intel Introduces The Pentium 4 Processor:Intel
- AMD 2003年(平成15年)第2四半期発表資料:AMD
- CPU黒歴史 大損失と貴重な教訓を生んだPentiumのバグ:ASCII.jp
(この項おわり)
