この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Intel486"
486Intel486 DX-33
生産時期1989年4月から2007年9月28日まで
生産者Intel, IBM, AMD, テキサス・インスツルメンツ, Harris_Semiconductor, UMC, SGSトムソン
CPU周波数16 MHz から 100 MHz
FSB周波数16 Mhz から 50 Mhz
プロセスルール1μm から 0.6μm
命令セットx86 (IA-32) including x87 (except for "SX" models)
ソケットSocket 1, Socket 2, Socket 3
パッケージ
PGA196ピン PQFP208ピン SQFP
前世代プロセッサIntel 80386
次世代プロセッサIntel Pentium (1993年)
コプロセッサIntel 80487SX
テンプレートを表示
Intel486(インテルよんはちろく)は、インテルのx86系マイクロプロセッサで、386の後継製品である。
当初の名称は「80486」で、後に廉価版の「486SX」をラインナップに追加した際に、従来の80486を「486DX」と改名し、同時にそれらの総称として「i486」の商標を使うようになった。"i" を付けたのは、米国では番号だけの名前は商標権を取れない(登録できない)ためである。インテルが現在使用している名称はIntel486プロセッサ (Intel486 Processor) である。
概要486DX2 チップ本体のクローズアップ
486は386の上位ないし後継のx86マイクロプロセッサである。基本的な命令セットは386と同様にIA-32と後に呼ばれることになったもので、BSWAPなどいくつかの命令の追加がある。
実装としては、性能向上を重視した全くの新設計である。他に、新アーキテクチャの最初の実装のため386で発覚したいくつかの問題点の修正、NDP(数値演算コプロセッサ)の標準での内蔵、x86系としては初のオンダイキャッシュ、などが主な特徴に挙げられる。なお、NDPを内蔵しない廉価版もある。
比較的複雑なx86およびIA-32命令セットを実装するため、8086以降386までは機能のほぼ全てをマイクロプログラム方式で実装していた。しかし、RISCブームなどもあり、インテルとしても性能向上は至上命題だったことから、ほとんどの命令をワイヤードロジックによる実行とし、5段パイプラインも動作周波数の向上を狙ったものである。周波数の向上と同時に、多くの命令のサイクル数も386と比べ大幅に削減され、基本的な命令は1サイクルとなった。またあまり本質的ではないが、当時の利用者にとって影響が大きかったものとしては仮想86モード中での入出力命令の高速化などもある。なお、乗算だけは42サイクルとなり386より1クロック遅くなった。ただし、複雑な動作を行う一部の命令についてはマイクロプログラムを併用している。浮動小数点モジュールは、統合によるオーバヘッドの削減による高速化のみで、パイプライン化はしていない。 486系のプロセッサではロットによってCPUID命令を搭載しているものとそうでないものが混在しており、インテルはフラグレジスタを用いた判別法を示している[1]。 CPUID命令の有無は32ビットフラグレジスタ (EFLAGS) の第21ビットで確認できるようになっており、このビットが変更可能であれば、CPUID命令でプロセッサの種類を判別できる。ただしEFLAGSの上位ビットは80386以上のプロセッサにしか存在しないため、事前に80386以上のプロセッサであることを確認してからアクセスする必要がある(詳細はIntel 80386を参照)。 CPUID命令が使用できない場合でも80486で追加されたEFLAGS第18ビットのAC (Alignment check) フラグで80386と80486は区別でき、このビットがセット可能であれば80486以上のプロセッサであると判断できる。また80386と同様に、286方式でリセットしたときのDXレジスタの内容からCPUIDにおけるEAX=1相当のプロセッサ・シグニチャの情報を得られる場合がある(詳細はIntel 80286およびIntel 80386を参照)。 80486では公式には6個の一般命令が追加されており、うち3つがCPUキャッシュ関連である[注 1]。そのほか、前述のCPUIDのように非公開命令やロットによって搭載された命令も存在する。またシステム関連ではテストレジスタにTR3,TR4,TR5が追加されているため、これらを読み書きするMOV命令にもそれらに対応した新たなコードが有効になっている。 当初80486で32ビットのフラグレジスタ (EFLAGS) に追加されたフラグは上述のAC (Alignment check) だけだったが、上述のように後にCPUID命令の判別フラグも追加されている。 なおACビットはアラインメント(整列)チェックに使われるフラグである。80486では新たに例外17 (0x11) のフォールトとしてアラインメントチェック割り込みが新設されている。例えばワードデータなのに奇数アドレスといった非整列なオペランドを検知するなどした場合にこの割り込みが発生する。この機能を有効にするには現在の特権レベル (CPL) が3である必要があり、さらにフラグレジスタのACフラグのほかに、CR0レジスタに追加されたAM (Alignment mask) ビットを適切にセットしておく必要がある。
80486の判別
80486の追加命令
一般命令BSWAP (Byte swap)CMPXCHG (Compare and exchange)INVD (Invalidate cache)INVLPG (Invalidate TLB entry)WBINVD (Write back and invalidate cache)XADD (Exchange and add)
システム関連レジスタ
Size:34 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef