コンテンツにスキップ

Intel 80386

出典: フリー百科事典『ウィキペディア(Wikipedia)』
80386
i386DX 33MHz
生産時期 1985年10月から2007年9月28日まで
生産者 Intel, AMD, IBM
CPU周波数 12 MHz から 40 MHz
プロセスルール 1.5μm から 1μm
命令セット x86 (IA-32)
パッケージ 132ピンPGAPQFP
100ピン PQFP・BQFP
前世代プロセッサ Intel 80286
次世代プロセッサ Intel 80486
トランジスタ 275000
コプロセッサ

386DX: Intel 80387

386SX: Intel 80387SX
テンプレートを表示

Intel 80386i38632 (CPU) 198510x8632使Intel386TM (Intel386TM Processor) CPU386

IA-3232CPUCPUi386x86IA-32

概要

[編集]

1985Intel 8038680386803878028780287

198880386SXSXSingle-word eXternal16 8038632DXIntel 80386DXDXDouble-word eXternal32

80386Am386i386DX

3286MS-DOS802868086/V30[ 1]使32使PC-980032PC-98XL232CPU3280386

803863286 (OS) 使UnixOSBSD386BSDLinux80386

特徴

[編集]

機能

[編集]
80386DXの内部ブロック図

8028680386808686

3232EAXESI16E16161616/81616使

CSDSESSS4FSGS[ 2]16332bit[ 3]*1*2*4*8

32AXSIDIEAXEBXECXEDXEBPESPESIEDI8

CPU使323264KB[ 4]

3216 RF (Resume flag) 17 VM (Virtual 8086 mode)86

MSW (Machine status word)CR0 - CR3432CR016MSW386CR04ET (Extension type)31PG (Paging enable)80387CR1使CR2CR3使[ 5]CR2CR320使20

DR0DR7[ 6]

TLBTR6-TR7[ 7]

324GB324GB()使OS

アーキテクチャ

[編集]

x86CPUIntel386 6[1]80286803864[ 8]803864

80386の判別

[編集]

80386CPUIDCPUID使CPU[2]

803868048680486ACPUSHFDPOPFD32188048680386CPU3216CPU8028680386Intel 80286

EDXCPUIDEAX=1CPU[ 9]使CPUID8038680486CPUID803864使44ID416

追加命令一覧

[編集]

システム命令

[編集]

新たに追加されたコントロールレジスタ (CR0-3)・テストレジスタ (TR6-7)・デバッグレジスタ (DR0-7) のシステムレジスタはニーモニック上はMOV命令でデータ交換する書式ではあるが、当然ながら内部的には新規のシステム命令である。

既存命令の32ビット版に相当する一般命令

[編集]

既存命令と同様の機能で、32ビットのデータや32ビットレジスタを扱うものを挙げる。以下のほか、実質的な追加命令として条件ジャンプ命令が一新されており、16ビットや32ビットのアドレス属性を扱えるコードが新たに用意された。

CDQ (Convert doubleword to qwadword)
CMPSD (Compare string double word)
CWDE (Convert word to doubleword extended)
INSD (Input string double word)
IRETD (Interrupt return using EIP)
JECXZ (Jump if ECX is zero)
LODSD (Load string double word)
MOVSD (Move string double word)
OUTSD (Output string double word)
POPAD (Pop all general doubleword registers)
POPFD (Pop extended flags off stack)
PUSHAD (Push all general doubleword registers)
PUSHFD (Push extended flags onto stack)
SCASD (Scan string double word)
STOSD (Store string double word)

その他の一般命令

[編集]
  • ビットをテストする命令群が6個追加された。
  • アドレス(セグメント・オフセット)をロードする命令には、新たにSS・FS・GSのセグメントレジスタに対応したものが用意された。
  • データのビット長を拡張する命令および、シフト命令について、結果を別のレジスタに保存できる命令が新たに追加された。
  • 条件SET命令は各種の条件ジャンプ命令の冒頭の"J"の部分を"SET"にそれぞれ置き換えたニーモニック表記の命令群で、条件が合致した際にはジャンプする代わりに、判定結果を指定されたレジスタやメモリに保存するだけの動作となる。
BSF (Bit scan forward)
BSR (Bit scan reverse)
BT (Bit test)
BTC (Bit test and complement)
BTR (Bit test and reset)
BTS (Bit test and set)
LFS (Load pointer using FS)
LGS (Load pointer using GS)
LSS (Load pointer using SS)
MOVSX (Move with sign extend)
MOVZX (Move with zero extend)
SHLD (Double precision shift left)
SHRD (Double precision shift right)
条件SET (Byte set on condition)

非公開命令

[編集]

ICEBP

ICEICEICEINT 1[4]INT1F1

UMOV

ICE[4]

LOADALL

ICEICEBPICELOADALL使4G80386Unreal mode使LOADALL使4G

その他の80386シリーズ

[編集]

80386SX

[編集]
i386SX(外部から機能を停止できるC STEP)

P98038624 (16MB)1680286 (PC) CPUAMD80286Intel16MHzAm80286CPU [5]CPUPC8028632Microsoft Windows 3.1DOS1MBXMS86EMS使80286使

80386SL

[編集]
i386SL(PQFPパッケージ)

80386SXCPUCPUPC-9800CPU80386SL (98) 80386SL (98) i386SLPC-98PC9800 NECPC9800 NECISA



80376

[編集]

8037680386SX[6]

80386EX

[編集]

80386EX80386SX/DMADRAMJTAG[7]

RapidCAD

[編集]

80386ピン互換の486DX相当プロセッサだが、プロセッサ・シグネチャは386系を示すx3xx (0340) を返す[3]。FPU内蔵のため、数値演算コプロセッサのソケットにはダミーを挿して使う[8]

IBM製

[編集]

Intel製80386には存在しない独自のCPUキャッシュを搭載した。また、RDMSRWRMSR命令が実装されていた[9]

IBM 386SLC

[編集]

386SL (386SX) IBM32168KIBM PS/2 80386IBM80486CCache

IBM 486SLC

[編集]

IBM 386SLC16K321616K486SXThinkPad486SX486SXIBM386SL (386SX) 

IBM 486SLC2

[編集]

IBM 486SLC321616KPS/VThinkPadCPU使SusTeenWinMaster[10]

Blue Lightning

[編集]

IBM486SLCシリーズの32ビット版に相当する製品群の通称。いくつかの種類があり、最大で3倍速のものも登場した。製品によって386DXベースとも486SLベースとも言われる[11]

影響

[編集]

32CPUPCOSx86CPUMS-DOS使

8038632OSOS/2 2.0Windows NT804868038616386SX1632OSIntel 486Pentium

MS-DOS

[編集]

MS-DOSEMM386.EXE86EMSEMS80386使80386

86使I/O25MHz33MHz8038612MHz80286CPU

Microsoft Windowsなど

[編集]

80386用に改良されたOSとして以下が登場した。

  • Microsoft Windows (Windows)
    • Windows386 2.1 (リアルモード用16ビットアプリケーションを前提とした16ビットOSだが、OS自体は80386のプロテクトモードを活用するようになった)
    • Windows 3.0 (80286相当のプロテクトモードに対応した16ビットアプリケーションを前提とした16ビットOSであるが、OS自体はエンハンスドモード動作時に32ビットの仮想86モードを活用している)
    • Windows NT (OS自体を32ビット化)
  • OS/2
  • NetWare
    • NetWare386 (MS-DOSから起動し、80386のプロテクトモードを使用できる)
  • TownsOS
    • 富士通FM TOWNS用(MS-DOSにDOSエクステンダを組み合わせたもの。80386のプロテクトモードを使用。4GBリニアな論理アドレス空間を活かしたマルチメディアデータの取り扱いを可能にした)

UNIX

[編集]

80386PCRISCUNIX32OS803861988SPARCSUN-4SUN386iSUN OS 4.0386SPARCMS-DOSSUN OSRISC386BSDFreeBSDNetBSDLinuxPC-UNIX80386322000WindowsOSPC-UNIXUNIX80386IA-32IA-32SPARC

その後の状況

[編集]

8038632IA-3230CPUAMDVIAx86CPU80386ARM80386IA-32MMXSSESSE2SSE3SIMD

脚注

[編集]

注釈

[編集]


(一)^ 386286386MS-DOS使使16MHz286286286CPU16MHz25MHz286

(二)^ #x86

(三)^ ESP使

(四)^ 64KB

(五)^ 80486CR3

(六)^ 2

(七)^ 80486TR3-TR5

(八)^ en:Intel_80286

(九)^ 80286CPUOSDXPC-980000:0486[3]

出典

[編集]


(一)^ http://download.intel.com/design/intarch/manuals/24319001.PDF 

(二)^ (R) CPUID (PDF) ().  . 20171223

(三)^ abBIOS使 ().  . 201818

(四)^ abIn-Circuit Emulation:How the Microprocessor Evolved Over Time

(五)^ , , ed. (1 March 1990). "i 80386SX".  1990's ABC. . p. 309. ISBN 4-938659-00-X 20%

(六)^ 376TM HIGH PERFORMANCE 32-BIT EMBEDDED PROCESSOR (PDF) () (2002912). 200846

(七)^ Intel386 Processors () (2002912). 200846

(八)^ Intel 8087RapidCAD .  ASCII.jp (2013722). 2020329

(九)^ Frank van Gilluwe, "The Undocumented PC, second edition", 1997, ISBN 0-201-47950-8, page 55

(十)^ Susteen19938p33

(11)^  (2009316). x86.  XTECH. 20201227

関連項目

[編集]