Intel の i386 は x86 に 32 ビット レジスタを導入し、Windows 3.0 と Linux への道を開きました。
インテルの80386は今週、40周年を迎えました。1985年10月に発表された第3世代x86プロセッサ(通称i386)は、インテルのPCシリーズ初の32ビットチップであり、IA-32命令セットの起源であり、パーソナルコンピューティングを変革したアーキテクチャの転換点となりました。
i386は27万5000個のトランジスタを搭載し、発売時には最大16MHzで動作しました。内部的には、32ビット汎用レジスタ、フラットメモリモデル、最大4GBのアドレス空間のサポートを実現しましたが、より大きな変化はシステムアーキテクチャでした。
保護モード、仮想8086モード、そしてハードウェアページングは、x86における真のマルチタスクと仮想メモリの基盤を築きました。
マイクロソフトの初期のi386開発キットには、それぞれがページングされたVM内で複数のDOSセッションを並列実行するデモが含まれていました。
これは 1990 年に「386 拡張モード」という名前で Windows 3.0 の中核機能になりました。
コンパックは、IBMに断られた後、インテルの新しいCPUを搭載したマシンを初めて出荷した企業でした。
1986年9月に発売されたDeskpro i386は、IBMより約1年早く市場に投入されました。これは計画的なことでした。
コンパックはインテルと直接協力し、チップに早期にアクセスできたのです。
価格は6,499ドルからで、このシステムはPC業界のターニングポイントとなりました。インテルがチップを製造し、コンパックが市場をリードすることになったのです。
Linuxもi386をベースに構築されました。Linus Torvalds氏による最初のカーネルリリースは、386-ATハードウェアを明確にターゲットとしており、初期の開発ノートにはそれ以前のバージョンに関する記述は一切ありません。386のプロテクトモードとページング機能により、複雑な回避策を書かずに真のUnixライクなシステムを構築することが可能になりました。
Torvalds氏は、リリースから20年以上経った2012年に、Linuxカーネルから386のサポートを廃止しました。
Intelは1989年にi386に続きi486をリリースしましたが、このアーキテクチャは組み込みシステムで数十年にわたって使用され続けました。
同社は2007年までこのチップの生産を終了しませんでした。
i386の命令セットであるIA-32は、2010年代に入ってもWindowsやほとんどのLinuxディストリビューションの基盤として機能し続けました。
結局のところ、i386は単なる286の高速化にとどまりませんでした。x86を、それまで存在しなかった保護されたマルチタスク・ソフトウェア・プラットフォームとして実現可能にしたのです。
40年経った今でも、そのコア設計はエミュレーター、VM、そしてレガシーブート環境に今も残っています。
オリジナルのチップは既に消滅してしまったかもしれませんが、それが定義したアーキテクチャは消えることはありません。
解説:
Intel386誕生から40周年
懐かしいですね。
i386だとFPUが内臓されていなかったのでFLOPS(Floating-point Operations Per Second)という単位で性能が測定できなかった時代です。
当時はMIPS(Million Instructions Per Second)で性能を表していました。
386DXは数MIPSだったと思います。
※ 参考までにSandraのDrystnoeでCore i7-4790Kが144,555MIPSだったと思います。最近のCPUは整数演算性能など比較しないのでわかりません。今とどのくらい隔絶された低性能だったのかうかがい知ることができると思います。
しかし、残念ながらプロセッサによっても1命令当たりの効率や実行する規模などが変わってきますのでCPUの性能を正確に表すことができたかどうかは疑問が残り徐々に使われなくなっていきました。
例えば386DXと386SXは処理性能は大幅に違いますが、MIPSとしては同じです。
FPUが内臓されるのは次の80486からです。
この辺りを知ると当時の状況がうかがい知れるのではないかと思います。
日本ではコンシュマー向けではPC-98シリーズやFM-TOWNSシリーズに搭載されました。
386からは他社のFabで製造を行うセカンドソースという仕組みをやめたので、独自の互換チップを販売する会社が増えました。
AMDの互換チップもこのあたりから出てきたものだと思います。
IBM、Cyrix、AMDなどから様々なCPUが発売されました。
しかし、intelはこの対策としてバスライセンスに切り替えましたので、バスライセンスを締結したメーカー以外はピン互換のx86製品から締め出されてしまいます。
そういった時代背景があることを知っていると感慨深いものがあります。