Intel 80486
AI生成コンテンツ / AI-generated contents
AI生成コンテンツ / AI-generated contents
Intel 80486
AI生成コンテンツ / AI-generated contents
AI生成コンテンツ / AI-generated contents
80386 はIntel初の32ビットx86 CPUで、複雑な命令の一部を内部のマイクロコードで処理していた。80486 は互換性を保ちつつ、よく使う命令をワイヤードロジック化した実行部と5段パイプラインを採用し、多くの整数命令を1クロックで処理できるようにした。また、80386 では別売の 80387 が担った数値演算機能と、8KBのキャッシュも同じチップに統合した。
このため、トランジスタ数は80386 の約27万5千個から約120万個へ増えたが、同じクロック周波数なら整数処理性能はおおむね2倍に高まった。
このため、トランジスタ数は80386 の約27万5千個から約120万個へ増えたが、同じクロック周波数なら整数処理性能はおおむね2倍に高まった。
パイプライン処理
80486では、Intelのx86 CPUとして初めて本格的なパイプライン処理を導入した。
この時代のCPUは、命令を読み込んで実行するまで、次の5段階(ステージ)の処理を行う。
この時代のCPUは、命令を読み込んで実行するまで、次の5段階(ステージ)の処理を行う。
- 1) Fetch
- 次に処理すべき命令を、メモリーやキャッシュから取得する。
- 2) Decode
- 取得した命令を解釈し、どんな処理を実行すべきかを決定する。
- 3) Data Fetch
- 必要なら、処理に必要なデータを取り込む。
- 4) Execute
- 処理する。
- 5) Writeback
- 処理結果を出力する。
CPUの処理
これまでは、この5つのステージを一まとまりにして、順次実行していたと考える。仮に1ステージに1サイクルかかるなら、1命令は5サイクル、3命令では5×3=15サイクルかかる計算になる。
パイプライン処理
80486では、5つのステージを並行して動かせるようにした。これをパイプライン処理と呼ぶ。各ステージの間には処理結果を保持する回路があり、クロックに合わせて次の段へ渡す。
その結果、従来なら15サイクルかかっていたところを、半分以下の7サイクルにすることができる。

ただ、7サイクルというのは理想値で、実際には、「3) Data Fetch」でメインメモリからデータを読み込むときに「待ち」が発生し、後続の処理も「待ち」に入ってしまう。
そこで、80486では、後述するキャッシュを導入することで、この「待ち」を極力減らせるようにした。
その結果、従来なら15サイクルかかっていたところを、半分以下の7サイクルにすることができる。
ただ、7サイクルというのは理想値で、実際には、「3) Data Fetch」でメインメモリからデータを読み込むときに「待ち」が発生し、後続の処理も「待ち」に入ってしまう。
そこで、80486では、後述するキャッシュを導入することで、この「待ち」を極力減らせるようにした。
486DXと486SX
486SX
初代80486は、Intelのx86 CPUとして初めて数値演算コプロセッサ(FPU)をCPU本体と同じチップに内蔵した。従来の80386では、浮動小数点演算を高速化するには別売の80387と専用ソケットが必要だった。1チップ化すればCPUとFPUの通信をチップ内部で行えるため高速になり、基板も単純になる。CAD、表計算、科学技術計算など、実数計算を多用するソフトの性能を標準構成で高められることも、内蔵する理由であった。
| 浮動小数点ベンチマーク | 487SX使用 (486DX-25相当) |
486SX-25のソフトウェア エミュレータ |
|---|---|---|
| 16ビット Whetstone | 16.76 | 1.00 |
| 32ビット SPECfp92 | 15.00 | 1.00(推定値) |
表はIntelが1992年(平成4年)に公表したiCOMP用データを基に、25MHzの486SXによるソフトウェア処理を1.00として比較した相対性能である。487SXは486DX相当のCPUなので、486DX-25の値を用いた。16ビットのWhetstoneでは約16.8倍である。32ビットのSPECfp92は、当時利用できるエミュレーション環境が限られたため、IntelがFPU使用時の値を15で割って見積もった推定値であり、実測値ではない。

一方、当時のワープロや多くの業務ソフトは整数演算が中心で、FPUをほとんど使わなかった。そこでIntelは1991年(平成3年)、FPUを使えなくした低価格版486SXを投入し、従来品を486DXと呼び分けた。初期の486SXは486DXと同じダイでFPUを無効化した製品であり、のちにはFPU部分を持たない小さなダイも作られた。これにより、FPUが不要なパソコンの価格を下げ、80386搭載機や安価な互換CPUに対抗できた。

FPUが必要になった利用者向けには487SXが用意された。名称はコプロセッサだが、実体は完全な486 CPUであり、装着すると元の486SXを停止させ、システム全体の処理を引き継いだ。
一方、当時のワープロや多くの業務ソフトは整数演算が中心で、FPUをほとんど使わなかった。そこでIntelは1991年(平成3年)、FPUを使えなくした低価格版486SXを投入し、従来品を486DXと呼び分けた。初期の486SXは486DXと同じダイでFPUを無効化した製品であり、のちにはFPU部分を持たない小さなダイも作られた。これにより、FPUが不要なパソコンの価格を下げ、80386搭載機や安価な互換CPUに対抗できた。
FPUが必要になった利用者向けには487SXが用意された。名称はコプロセッサだが、実体は完全な486 CPUであり、装着すると元の486SXを停止させ、システム全体の処理を引き継いだ。
クロックダブラ
486DX2
1992年(平成4年)3月、486DX にクロックダブラを内蔵し、システムクロック周波数はそのままで、CPU内部クロックを2倍にした 486DX2 を発売する。最初の 486DX のクロック周波数は25MHzであったが、これを内部50MHzにした。
つまり、CPUとメモリなどを結ぶ外部バスのクロックは変えずに、CPU内部だけを高速化したのである。
つまり、CPUとメモリなどを結ぶ外部バスのクロックは変えずに、CPU内部だけを高速化したのである。
キャッシュの必要性
ところが、このことが逆に足枷となり、システム全体の処理速度を上げにくくなってしまった。
それまでは、CPUは速くても 30MHz程度。対するメモリーチップは 10~15MHz程度。x86命令はマイクロコードに展開されていたため、1命令を実行するのに2~4サイクルかかるため、メモリアクセスはCPUクロックの 2~4分の1程度あれば十分だった。
ところが 80486のワイヤードロジックにより1命令の実行時間が縮まり、さらに 486DX2ではCPU速度が FSB に対して純粋に 2倍になったため、メモリ・アクセス待ちが目立ってきた。

そこで、80486はCPUとメモリの間に、CPU内部で高速に動作するSRAM製の8KBキャッシュを内蔵した。一度読み込んだ命令やデータがキャッシュに残っていれば、低速なメインメモリを再び読む必要がない。初代80486の内蔵キャッシュは、書き込みをキャッシュとメインメモリの両方へ反映するライトスルー方式である。ライトバック方式は後の486世代で採用された。
当然、プログラムの動作によってはキャッシュが不足することもあるだろう。すべてのメモリを SRAM にすればよさそうなものだが、SRAM は1ビットにつきトランジスタが6~8個必要になる。これに対して DRAM は1個で済む。486DX には 1ビットあたり6個のトランジスタから成る 8KBのキャッシュが搭載されたが、486DX のトランジスタ数は約120万個で、そのうち 6×8(bit)×8KB=38.4万個と、全体の3割以上のトランジスタがキャッシュに相当する。このようにキャッシュはコストが高くつくのである。
それまでは、CPUは速くても 30MHz程度。対するメモリーチップは 10~15MHz程度。x86命令はマイクロコードに展開されていたため、1命令を実行するのに2~4サイクルかかるため、メモリアクセスはCPUクロックの 2~4分の1程度あれば十分だった。
ところが 80486のワイヤードロジックにより1命令の実行時間が縮まり、さらに 486DX2ではCPU速度が FSB に対して純粋に 2倍になったため、メモリ・アクセス待ちが目立ってきた。
そこで、80486はCPUとメモリの間に、CPU内部で高速に動作するSRAM製の8KBキャッシュを内蔵した。一度読み込んだ命令やデータがキャッシュに残っていれば、低速なメインメモリを再び読む必要がない。初代80486の内蔵キャッシュは、書き込みをキャッシュとメインメモリの両方へ反映するライトスルー方式である。ライトバック方式は後の486世代で採用された。
当然、プログラムの動作によってはキャッシュが不足することもあるだろう。すべてのメモリを SRAM にすればよさそうなものだが、SRAM は1ビットにつきトランジスタが6~8個必要になる。これに対して DRAM は1個で済む。486DX には 1ビットあたり6個のトランジスタから成る 8KBのキャッシュが搭載されたが、486DX のトランジスタ数は約120万個で、そのうち 6×8(bit)×8KB=38.4万個と、全体の3割以上のトランジスタがキャッシュに相当する。このようにキャッシュはコストが高くつくのである。
DX4ODP
その後、内部クロックを外部の3倍にした 486DX4、486SXの内部を2倍速にした 486SX2、省電力機能を強化した 486SL といった派生CPUが販売された。
一方、AMDやCyrixは486互換CPUを開発・販売し、Intelの市場を脅かしていた。
そこでIntelは、既存の 486DX や 486SX と交換するだけで 486DX2 や 486DX4 相当の性能を提供するオーバードライブプロセッサの販売を始めた。
一方、AMDやCyrixは486互換CPUを開発・販売し、Intelの市場を脅かしていた。
そこでIntelは、既存の 486DX や 486SX と交換するだけで 486DX2 や 486DX4 相当の性能を提供するオーバードライブプロセッサの販売を始めた。
互換プロセッサたち
i486 の時代、互換CPUが次々と登場した。それほどパソコンが急速に普及した時代だった。

AMD(アドバンスト・マイクロ・デバイセズ)は、1993年(平成5年)4月、486DX 互換の Am486 DX-40(40MHz)を発売した。その後、486DX2、486DX4、486SX2 互換のCPUを発売する。同クロックの i486 とほぼ互角の性能で、回路的にもほぼ互換を保っており、安価というメリットがあった。
互換CPUといっても、AMD はIntelから正式にライセンスを受けているわけではなく、Intelは 80386 の時代にAMDを著作権侵害で訴えた。そこでAMD は 80386 を力業でリバース・エンジニアリングしたうえで、独自のマイクロコードを実装した Am486 を世に送り出した。さらに、マイクロコード著作権についての裁判も、AMD が逆転勝訴した。

Intelにとって AMD 以上に厄介なのが Cyrix であった。他のシリコンバレー企業と異なり、テキサスでTI(テキサス・インスツルメンツ)の支援を得ており、1993年(平成5年)5月、自力で i486 互換CPUとなる Cyrix Cx486 を発売した。その後、486DX2、486DX4、486SX 互換のCPUを発売し、1997年(平成9年)にはグラフィックやオーディオコアを搭載した MediaGX を発売してIntelを超えたが、時代はすでに Pentium へ移行しており、ナショナル・セミコンダクターへ吸収された。

IBMはIntelとクロスライセンス契約を結んでおり、80386SX 以降、合法的な互換CPUとして、1993年(平成5年)、IBM486BLX を発売した。

台湾UMCは、1994年(平成6年)、i486 のマイクロコードをそのままコピーした UMC U5S を発売するが、すぐさまIntelに訴えられ、アメリカでの販売ができなくなった。その後、和解が成立するが、このシリーズは生産中止となった。
AMD(アドバンスト・マイクロ・デバイセズ)は、1993年(平成5年)4月、486DX 互換の Am486 DX-40(40MHz)を発売した。その後、486DX2、486DX4、486SX2 互換のCPUを発売する。同クロックの i486 とほぼ互角の性能で、回路的にもほぼ互換を保っており、安価というメリットがあった。
互換CPUといっても、AMD はIntelから正式にライセンスを受けているわけではなく、Intelは 80386 の時代にAMDを著作権侵害で訴えた。そこでAMD は 80386 を力業でリバース・エンジニアリングしたうえで、独自のマイクロコードを実装した Am486 を世に送り出した。さらに、マイクロコード著作権についての裁判も、AMD が逆転勝訴した。
Intelにとって AMD 以上に厄介なのが Cyrix であった。他のシリコンバレー企業と異なり、テキサスでTI(テキサス・インスツルメンツ)の支援を得ており、1993年(平成5年)5月、自力で i486 互換CPUとなる Cyrix Cx486 を発売した。その後、486DX2、486DX4、486SX 互換のCPUを発売し、1997年(平成9年)にはグラフィックやオーディオコアを搭載した MediaGX を発売してIntelを超えたが、時代はすでに Pentium へ移行しており、ナショナル・セミコンダクターへ吸収された。
IBMはIntelとクロスライセンス契約を結んでおり、80386SX 以降、合法的な互換CPUとして、1993年(平成5年)、IBM486BLX を発売した。
台湾UMCは、1994年(平成6年)、i486 のマイクロコードをそのままコピーした UMC U5S を発売するが、すぐさまIntelに訴えられ、アメリカでの販売ができなくなった。その後、和解が成立するが、このシリーズは生産中止となった。
主要スペック
| 項目 | 仕様 |
|---|---|
| メーカー | Intel |
| 発売開始 | 1989年4月 |
| トランジスタ数 | 120万 |
| データバス | 32ビット |
| アドレスバス | 32ビット |
| 物理メモリ | 4GB |
| CPUクロック | 25~100MHz |
| プロセスルール | 1.0μm~0.6μm |
| ソケット | Socket1, Socket2, Socket3 |
| 最大消費電力 | 3.68W |
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 |
参考サイト
- インテルのあゆみ:インテル
- Intel Microprocessor Quick Reference Guide:Intel
- i486 Microprocessor Hardware Reference Manual:Intel
- Intel Unveils “iCOMP” Performance Index:Microprocessor Report
- Intel 80386は32ビット・マイクロプロセッサ:ぱふぅ家のホームページ
- PHPで対数グラフ(ムーアの法則)を描く:ぱふぅ家のホームページ
(この項おわり)

当初 80486 と呼ばれていたが、その後 486DX と呼ばれるようになる。