. , , ,

,,,

. . . — ,


-



:

. . . . ”


: 637 1

637001 Cruel Angel


: .


:      



. - , 1998 .

.

:


...............................................................................................3

  1. 16- .........................................................7

1.1. i8086/88...........................................................................8

1.1.1. 8086/88............................................................8

1.1.2. -...................................................................9

1.1.3 ..................................................................................9

1.2. 80186/80188.....................................................................10

1.2.1. 8087.................................................10

1.3. 80286..................................................................................10

1.3.1. 80286...............................................................11

1.3.2. -........................................................................................12

1.3.3. .........................12

1.3.4. .................................................................................................13

2. 32- .............................14

2.1.1. ............................................................................15

2.1.2. ..................................................................18

2.1.3. ................................................19

2.1.4. -...........................................................................................19

2.1.5. SMM..................................................19

2.1.6. ................................................................................21

2.1.7. ..................................................................................22

2.2. 80386......................................................................................24

2.3. 80486......................................................................................25

2.4. Pentium...................................................................................25

2.5. Celeron....................................................................................29

2.6. PENTIUM II XEON.........................................................30

................................................................................................32

................................................................................34



1979 , Intel i4004. 4 , 640 , 108 0.06 MIPS. . 2300 10 . 8- “” i8008, 16 .

1974 8- i8080, . 2 64 . 6000 6- . (+5, +12 5) . , Altair. 8086 58080 58080, 80- “ ” .

i8085 (5 , 0.37 MIPS, 6500 , 3- ). 8080 , , ( ) . +5.

8080 8085 Z80 Zilog. 8080, , . Sinclair, Z80, , PC 16 286.

16 8086 Intel 1978 . 5 , 0.33 MIPS, 16- ( 8 10 ). 3 , 29 . . 1 . 8080, . 8088 , 8- . IBM PC, Intel. PC , , -. ( ) , PC , , . , . PC “”, , . Intel 32 “ ”, “” BIOS PC. , PC.

80286, , 1982 . 134 . ( 1.5 ) 16 . 1 , 8088.

32- 1985 80386 (275 . , 1,5 ). ( ) 23 , - 4 . , 32- , , V86, . PC, “ ” MS Windows . “ ”: , . , “” . . “” , , , , (, , ) , . Sinclair ZX-Spectrum, 8- 64 (128) . PC , Pentium 200 32 .

386 8086: 32 ( 386DX) 386 SX 16 . PC AT, 286.

Intel486DX 1989 . 1,2 ., 1. 386- ( x87 ). , CISC- ( ) RISC-. , , , . ( SMM), 386 ( Intel386SL).

19993 Pentium 60 66 32 64- . 3,1 , 0,8 , 5 . 486- (, , ). PC . , . Intel ( ), - .

Pentium 75, 90 100, 1994 , Pentium. 0,6 , . , . (75 ) ( ). Pentium PC. 1995 120 133 , 0,35 ( 120 0,6 ). 1996- Pentium 150, 166 200 , Pentium PC .

Pentium Pentium Pro, “ ”. , , 256 . 16- , Windows 95 . 5,5 , 15,5 256 . 150 1995 ( 0,6 ), 166, 180, 200 ( 0,35 ), 512 .

1997 Pentium MMX. . , . , -. MPEG-2, 80- . , Pentium, , , Pentium Pr, Pentium . Pentium 4,5 -,35 . 1997 . 166, 200 233 .

Pentium Pro 1997 Pentium II. Pentium Pro , . , , -. . 233, 266 300 .

, . , 86. (DEC? Motorola, Texas Instruments ) , ; Intel. , RISC, CISC . Pentium , .

, 86, Intel. AMD , , Intel. Cyrix .

, RISC CISC.

RISC Reduced (Restricted) Instruction Set Computer () . , . ( 1) .

CISC Complete Instruction Set Computer () , 86. , , . .

, 486-, CISC- RISC-.

8086 Intel 16- 8086. , 32- (386-, 486-, Pentium, Pentium Pro) 64- , , .


1

16-


16- . “” , .


1.1. i8086/8088

8086, Intel 1978 , 16- . 1088. 8/86- , , -. 20- , 1 . 8086 16-, 8088 8 . , , : 8086 20-60% , 8088 . , , 8- 16- . , - . - 8086 : 86. ( , DMA) . 8087, .

, . . 8086 6- . 2 , . 8088 4 , . . , . -, .

14 16 , 8 16 - . 24 . 12 , 2 ( ). 8088, , 4,77 , 8 10 ( Turbo XT).


1. 1. 1. 8086/88

8086/8088 . ( ) MEMWR# (Memory Write) MEMRD# (Memory Read) . 1 20- . 65 . ( 20 ) 16- Seg (executive address), 4 ( 2.1).


0000














. 2.1. 8086/8088


, , . , , (Low), (High). (Even), (Odd) . , ( L, H), ( ). L, H Intel.

16 , . , ( ).


1.1.2. -

- IN OUT, IORD# (Input/ Output Write) . AL AX . - 16 ( ), 64 -. ( , ), DX ( 16- ).


1.1.3.

8086/88 :

  • ;

  • ;

  • ;

  • ;

, 1, 2 4 . CS;, DS;, ES;, SS;, , REP, , LOCK, . , 16- 8086/88 32- 8086.


    1. . 80186/80188

i80186/80188 80186/80188 : 8085/8088, 16- 8086 - 20 , 80186 16 , 80188 8 . , , . , . 80186/80188 , . , IBM - . , 100% IBM ( MS DOS).


1.2.1. 8087

8087, ( Intel) NPX (Numeric Processor eXtension), (CPU) 8086/8088, 80186/80188. 8086 68 , , , .


    1. 80286

80286, 1982 , 16- . . 8086/88 , . (Task switching). , 8086 . :

8086 Real Address Mode ( - Real Mode), 8086. 1 ( , “” , 64 ).

Protect Virtual Address Mode ( - Protect Mode). 16 , 1 . 8086, . ( ) . .

80286 8086/88. 8086, 80286 16- 6 . : 20286 12,5 6 8086 5 . 80287, 8087.

MSDOS 80286 . XENIX, UNIX, OS/2, NetWare286 MS Windows. ( 8086), “” .


1.3.1. 80286

8086/8088, ( ) MEMWR# (Memory Write) MEMRD# (Memory Read) . 24 16 , 1 , . , .

8086, 16- 1 . , 80286 , “” . , 20- . , Seg=FFFFh EA=FFFF, , PA=16*Seg+EA=10FFEF, 8086 0FFEF , . 20 80286 , . 8086 Gate A20, 20 . , - 8042. , “” , (64-16 ) , (Gate A20 Fast Control).

8086 80286 , . , FFFh ( ), , , 13 (0Dh) Segment Overrun Exception. ES-CAPE , , 9 Processor Extension Segment Interrupt.

, 8086 80286. :

  • CS, DS, SS ES , , , , ;

  • , (1-64 ) ;

  • 24 , 16 .

, 16- , :

RPL ( 0, 1), TI ( 2) INDEX ( 3-15):

RPL (Requested Privilege Level) ;

TI (Table Indicator) GDT (TI=0) LDT (TI=1) ;

INDEX .

(8 ). ( ) . -. , .


1.3.2. -

8086, 80286 64 32 , ( - IORD#, IOWR#). - 00F8-00FF . - ( [16:20]) . ( , ), DX ( 16- ). REP INSB/INSW, REP OUTSB/OUTSW - , DMA.

- . , , IOPL . 13 ( “General Protection Error”).


1.3.3.

RESET . , FFFF0h. ( !) .

[20:23] . , RESET BIOS FFFFF0-FFFFFFh, 8086/88 ROM BIOS 0FFFFFh. BIOS “” , , BIOS, 0-0FFFFh (0-10FFEF Gate A20). , /AT 80286 ( ) ROM BIOS , .

MSW (Protect Enable). IDT GDT, IDT GDT (24-) . LMSW, , JMP , .

, , JMP TSS . , LDT, . TR TSS, .


1.3.4.

80286 HLT, , , . :


  • (, ); , GDT LDT;

  • ;

  • , CPL IOPL ( 13 14 ).


2

32-


32- Intel386. 16- 8086/88 80286 . 64 . 32- 4 , - “ “. 64 , (Paging). -, . , 8086, 80286. , :

Real Address Mode , 8086. 1 ( 64 ).

Protected Virtual Address Mode . 4 , 16 . Virtual 8086 Mode 8086. , 8086. . . , - .

8, 16 32- , , , .

, 32- : 386, 486, Pentium, Pentium Pro Pentium II.


2.1.1.

8086 (8 ), (16 ), (32 ). , . . .

. ( ). . , 4 (Paging), . . , . .

: , . 32- , .

, , ( ) . (base, index, disp) . 16 , , , 4 , 64 . ( ‘” ).

32- . . 16 ( 8086). , , , .

32- . ( ) . () 4 . .

8086/8088, ( ) MEMWR# (Memory Write) MEMRD (Memory Read) . 32 4 , 1 , .

8086, 16- 1. 80286 32- , , . , 20 . 10FFEF Seg=FFFFh EA=FFFFh. 8086 Gate A20, 20 . - 8042 (Gate A 20 Fast Control), .

8086, 64 (FFFFh). , , 32- 13. 16- 16 , “ ” ( 8086). “” . , FFFFh, FFFDh-FFFh ( ), , , 13 (0Dh) Segment Overrun Exception. ESCAPE , , 9 Processor Extension Segment Overrun Interrupt ( 386).

8 32- 11 . :

  • -, 8, 16 32- .;

  • (8, 16 32-), .

(. 3.1.) .

:

(Displacement Disp) 8-, 16- 32- , .

(Base) . .

(Index) . .

(Scale) (1, 2, 4 8), . . 32- .

EA=Base+Index*Scale+Disp.

. . 3.1.

3.1. 32-


EA=Disp

Register Index Mode EA=Base
Based Mode EA=Base+Disp
Index Mode EA=Index+Disp
Scaled Index Mode

EA=Scalex*Index+Disp*

- Based Index Mode EA=Base+Index*
- Based Scaled Index Mode EA=Base+Scale* Index
- Based Index Mode with Displacement EA=Base+Index+Disp
- Based Scaled Index with Displacement EA=Base+Scale*Index+Disp*

32- 16- . 16- 8086 80286, 16 . 32- 32- , . 16- 32- . 3.2.

16- , 6 (Address Length Prefix) 32- . (), 64- 13 General Protection Fault.

D : D=0 15 , D=1 32 . .

3.2.

16-

32-

BX BP 32-
SI DI 32- , ESP
( 1) 1, 2, 4 8
0, 8 16 0, 8 32

(. 3.3.). , (CS:; DS:; ES:; SS:; FS: GS) .

3.3.


CS
SS
- ES
, BP, EBP ESP DS

CS,ES,SS

FS,GS

, BP, EBP ESP SS

CS,DS,ES,

FS,GS


2.1.2.

.

( ), , , INT xx. .

. , .

INTR (Interrupt Request) (IF=1). , IF (back to back) , INTA# (Interrupt Acknowledge). INTR . , , . , . , IF, .

IF NMI (Non Mascable Interrupt). () 2, , . NMI IRET.

(Exceptions) , .

(fault) , , . ( ), . , , , , .

(trap) , , . , . .

(abort) , , . , .

. Intel 0-31 , BIOS DOS.


2.1.3.

RESET . , FFFFFFF0h. :

FLAGS = 0002h VM RF ;

CR0 PG, TS, EM, MP ;

CS = F000h ( FFFF0000h, 0FFFFh);

DS = ES = SS = FS = GS = 0000h

DH Component Id (03-386, 04-486, 05-Pentium, 06-Pentium Pro Pentium II), DL (Revision Id).

A[20:31] . , RESET BIOS FFFFFFF0-FFFFFFFFh, , 8086/88 16- (FFFFFFh). BIOS , , BIOS, 0-0FFFFFh (0-10FFEF) Gate A20).

RESET , BIST (Built-In Self-Test). 386- 486- 2 20- , . , , EAX . .


2.1.4. -

8086, 32- 64 32 , . 32- . - A[16:31] . ( , ), DX ( 16- ). - IORD#, IOWR#. - , DMA. - 0F8-0FF ( 386 31 , ).

- . , , IOPL - (I/O Remission Bitmap), . 13 ( “General Protection Error ”).


2.1.5. SMM

32- ( 386- 486-), , V86, - SMM (System Management Mode). . , .

SMM SMI# (System Management Interrupt), SMM APIC. . ( ) SMI#, SMM, SMIACT#. SMM SMRAM. , ( ) SMIAKT#. SMI, SMRAM. , , . SMM ( ) , SMI. RSM, , SMRAM, .

SMM , ( SMM ). -, , , SMI. - , SMI HALT: , . -, , Pentium ( Enhanced 486 AMD), ( ) -, SMI#.

- SMM. , , ( ) - , “” . SMI# RDY#, -. SMI “” , - , ( ) “ ”, . , BIOS , “” ( ). SMM :

  • SMM,

  • SMM ,

  • SMRAM,

  • ,

  • SMM.

SMRAM 32 ( SMM) 4 . SMRAM , SMIBASE ( 30000h), SMIBASE :

  • FE00h-FFFFh (3FE00h-3FFFFh) (, ). SMI , CR1, CR2 CR4, CS, DS, ES, FS, GS SS. DR5-DR0, TR7-TR3 FPU;

  • 8000h (38000h) (SMI Handler);

  • 0-7FFFh (30000h-37fffh) .


2.1.6.

, 2D 3D- . MMX SIMD (single Instruction Multiple Data).

64- :

  • (Packed byte) ;

  • (Packed word) ;

  • (Packed doubleword) ;

  • (Quadword) .

0-7, 80- FPU. FPU, , FPU FPU .

(saturating arithmetic). (wraparound mode) , , . . ( ) . , , .

57 . 64- , 8 , 4 2 . :

  • (Arithmetic Instructions), , ;

  • (Comparison Instructions) ;

  • (Conversion Instructions);

  • (Logical Instructions) , -, , 64- ;

  • (Shift Instructions) ;

  • (Data Transfer Instructions) ;

  • (Empty MMX State) .

.

, FPU, TOS. , TOS FPU. “11”, . . [79:64] FPU , FPU .

. ( ). FPU , . .

. , FPU.

FPU FPU.


2.1.7.

, 486-. , .

486 Pentium , Pentium Pro Pentium II . , . . - .

- , 486 Write Through ( ) -. 486- Write Back ( ).

- 486, . 3.1.7. (Valid bit) , “ ”.

- : , , , .

. , , . - ( cache hit), -, . , ( ), ( ).

4 Ru



. . .

. . .

. . .

. . .

. . .




1


4



3.1.7. 486


(Cache Miss) , . , 16 (32 Pentium) , . , . 32- (64- Pentium ).

, . , , ( ), . , , . LRU (Least Recently Used) “-LRU”. ( ) (- ).

, - , . , . ; , -.

- ( ) FLUSH# (, , RESET). , INVD WBINVD. INVD , . WBINVD ( INVD). . , , , .

, , . - . ( ) , AHOLD. A[31:4], , EADS#. , ( ). .

. . KEN# . . PCD (Page Cache Disable) . WB- PWT (Page Write Through) . CR0:CD (Cache Disable) NW (No Write Through). :

  • CD=1, NW=1 , . , , “” ;

  • CD=1, CW=0 , . KEN# () . , ;

  • CD=0, NW=1 ( );

  • CD=0, NW=0 .

CD=1 NW=1, (Flush). .

486 PCD PWT, () ( ). , (, ), PCD PWT CR3, PCD PWT , PCD PWT . , CD NW CRO.

WB/WT#, .

, (, ) . , (, ) , . , , , , . .

( ), PCD PWT CR3, , , CD NW CR0.

( KEN#) ( ) .


2.2. 80386

80386 : , , . , 80386 8086, , , 32- . 80386 , 8086, 32- . , 8086 80386 . . 80386 () (CR) (MOV to CR). 80286 LMSW. , CR.

80386 . , 8086. 8086 (.. ). 80386 8086 - . 8086 , 80386.


2.3. 80486

1989 . Intel Intel-80486. 486 32- , - 8 ( DX4 -16 ). SX . DX2 (, 486DX2-66 33- ), , - 90 . DX4 - 486DX4-75 486DX4-100 25- 33- . DX2-66 Pentium-60/66, 486DX4-100 Pentium 60. 3,3 , . 486DX4-75 , , Notebook, 486DX4-100 - .


2.4. Pentium

1993 . Intel Pentium. Pentium . , -. 64- ( ), 16 - - 8 , . OverDrive. , SX. OverDrive Pentium ( P24T Pentium SX), . . , 486 24, , , , , Intel . Intel , , . Pentium , Intel - iCOMP (Intel COmparative Microprocessor Performance), , , ( Pentium , 486DX2-66, , ).


iCOMP

486SX2-50
180
486DX2-50 231
486DX2-66 297
486DX4-75 319
486DX4-100 435

Pentium 60

510
Pentium 66 567
Pentium 90 735
Pentium 100 815

, iCOMP Intel Pentium. , 735\90 815\100 90 100 . Intel, , 486 Pentium. AMD (Advanced Micro Devices) 486DX-40, 486DX2-50, 486DX2-66. 486DX2-80 486DX4-120 Intel , Intel ( ). , , 40 , Intel, 486DX-33, 20 . Cyrix 6 7 ( 486SX2 4860DX2) 33 40 , DX2-50 DX2-66. - 8 . , Intel, - . , . 486 Cyrix , Intel AMD. Intel, Pentium 70 , Cyrix 90, 1 "": 32 8 . 1 Intel. 486 - 486SX-33,486SX-40, 486SX-80, 486DX-40 UMC. Intel. - . Pentium - 586 - NexGen. 64- 60 66 , RISC86 8086. - 3,3 . , Pentium. Texas Instruments , 486DLC, , 80386 80486 ( 386 , 80486 80386. - 486SXL 8 - 486 . - Power PC 601 (IBM, Apple, Motorola), Intel ( - Power IBM - 32 ). , Power PC Pentium . Power PC 601 , Pentium, Pentium , . 601 6000 IBM PowerMac Apple. Power PC, , , , .

, , . , - . - . , . . . Intel-80386, .. 32 .

5 (Pentium Pentium MMX) :

  • CMPXCHG8B (compare and exchange 8 bytes)

  • CPUID (CPU identification)

  • RDTSC (read time-stamp counter)

  • RDMSR ( read model-specific register)

  • WRMSR (write model-specific register)

  • RSM (resume from SSM)

MOV, , 5 . MSR (Model Specific Register). CR4. EFLAGS :

  • VIF (virtual interrupt flag)

  • VIP (virtual interrupt pending)

  • ID (identification flag)


1. EFLAGS 5

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 ID VIP VIF AC VM RF 0 IIT IOPL IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF

:

#GP .

#PG .

#18 Machine Check Exception. . . MSR-.

Pentium , . . Pentium MMX . P5 (U V ). , . , U- , V . U V .

(PF pre fetch) . (F fetch). , . (F) (D1) FIFO . . FIFO , .. , . (F) FIFO . ( ) FIFO (D1). , FIFO . , FIFO , (PF) (F), , ( FIFO ) . , , , , . , , (EX), . V , - U . (EX), . U (EX), V , , .. . . P5.

PF .

F .

D1 .

D2 .

EX : INT , , .

MMX , Mex.

FPU , X1, , (FST).

WB .

Mex MMX . .

Wb/M2 . .

M3 .

Wmul .

X1 , .

X2 FPU .

WF .

, (EX), , . FPU , , FPU (X1), . , Fmul, Fmul. Mul, (EX), .

6 (Pentium Pro Pentium II) :

  • CMOVcc (Conditional Move)

  • FCMOVcc (Floating point Conditional Move) FPU- [ST(0)]

  • FCOMI (Floating point Compare and set EFLAGS) FPU EFLAGS .

  • RDPMC (Read Performance Monitoring Counters) .

  • UD2 (Undefined) ).

6 5. 6 . . , (out-of-order execution), . 6 :

  1. In-Order Issue Front End. .

  2. Out-of-Order Core. . .

  3. In-Order Retirement unit. .


, 5 :

  • Pentium , FDIV.

  • Pentium Pentium MMX F0, .. F0, 0F, C7, C8.


2.5. Celeron

7 1998 Intel Celeron 300 266 . , , , Celeron, .

Tom’s Hardware Guide , Celeron . . Celeron , 0.25 Deschutes. , Pentium II, 333, 350 400 ( Pentium II Klamath 0.35 ). , , , , Celeron Pentium II. , Celeron ( , , ). Celeron , , . Celeron Mendocino , , .

Celeron, BX, 100 , ... . -, Celeron EX, Pentium II. , , . , . BX, Intel, , 100 . Celeron, , , , 66 . , .. , , BX, . Celeron ?

Intel : Celeron 20 ( Pentium II 233 24 ). micro ATX, Celeron , , , , , . iXBT (ixbt.stack.net), PC: iXBT. Celeron, , 4*112=450 . 5 , , - Quake 2, Xwing Vs TieFighter, Die by Sword 3D 3-4 .

Intel Celeron? , , Pentium II 233 266 . , Celeron AMD K6-2.


2.6. PENTIUM II XEON

Pentium II Xeon 450

6 1998 . Intel Pentium II Xeon 450 , () . , Pentium II Xeon. () , Pentium II Xeon, , . Intel Pentium II Xeon 450 , , Compaq, Dell, Fijutsu, Gateway, HP, IBM, Intergraph, NEC, Siemens Nixdorf (SNI) UMAX, Pentium II Xeon 450 .

" , Intel, , - (Olivier Riviere), Intel , . - Pentium II Xeon Intel , Pentium II Xeon 450 ".

Pentium II Xeon, 450 - 2- (L2), , , 100 . Pentium II Xeon "/" , . 440GX AGPset , , 2 AGP.

Pentium II Xeon 450 - 2- 512 1.000 824 . Pentium II Xeon 450 1999 .


70-

80-

90-

1.
70-


4004

8008

8080

8086

8088


15/11/71 1/4/72 1/4/74 8/6/78 1/6/79


108 108 2 5 , 8 , 10 5 , 8


4 8 8 16 8


2 300
(10 )

3 500

6 000
(6 )

29 000
(3 )

29 000
(3 )


640 16 64 1 1


-- -- -- -- --


, 10- 8008 10- 8080 8086, 8-

.2. 80-


80286


Intel386
TM DX


Intel386
TM SX


Intel486
TM DX


1/2/82 17/10/85 16/6/88 10/4/89


6 , 8 , 10 , 12.5 16 , 20 , 25 , 33 16 , 20 , 25 , 33 25 , 33 , 50


16 32 16 32


134 000
(1,5 )

275 000
(1 )

275 000
(1 )

1,2
(1 )
(0,8 50 )

.2.


16 4 4

4



1 64 64 64


3-6 8086 X86, 32- 32- 16- - 1-



.3. 90-


Intel486TM SX

Pentium

Pentium Pro

Pentium II


22/4/91 22/3/93 01/11/95 07/5/97


16 , 20 ,
25 , 33

60 , 66 , 150 , 166 , 180 , 200 200 , 233 , 266 , 300
75 , 90 ,
100 , 120 ,
133 , 150 ,
166


32 32 64 64


1,185
(1 )

3,1
(0,8 )

5,5
(0,6 )

7,5


4 4 64 64


64 64 64 64


Intel486TM DX,

Intel486TM DX 33-

, , Intel MMXTM



  1. . . intel 8086 Pentium; - -“ ” 1997.

  2. .. ; MMX; Ȼ - 1998.

  3. .. IBM PC ; 5 ; -

  4. Computer World ;N 46(111); 9 1997

  5. Computer World ; N 47(112); 16 1997

  6. 1994.

  7. ; 1995.

  8. ; N 23 (251); 16 1998


* 32-


- : “. .

 

 

 

! , , , .
. , :