4 Instruction tables - Agner Fog
4 Instruction tables - Agner Fog
4 Instruction tables - Agner Fog
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Instruction</strong> Operands<br />
μops<br />
Microcode<br />
Pentium 4<br />
Latency<br />
Page 134<br />
Additional latency<br />
Reciprocal throughput<br />
Move instructions<br />
MOV r,r 1 0 0.5 0.5-1 0.25 0/1 alu0/1 86 c<br />
MOV r,i 1 0 0.5 0.5-1 0.25 0/1 alu0/1 86<br />
MOV r32,m 1 0 2 0 1 2 load 86<br />
MOV r8/16,m 2 0 3 0 1 2 load 86<br />
MOV m,r 1 0 1 2 0 store 86 b, c<br />
MOV m,i 3 0 2 0,3 store 86<br />
MOV r,sr 4 2 6 86<br />
MOV sr,r/m 4 4 12 0 14 86 a, q<br />
MOVNTI m,r32 2 0 ≈33 sse2<br />
MOVZX r,r 1 0 0.5 0.5-1 0.25 0/1 alu0/1 386 c<br />
MOVZX r,m 1 0 2 0 1 2 load 386<br />
MOVSX r,r 1 0 0.5 0.5-1 0.5 0 alu0 386 c<br />
MOVSX r,m 2 0 3 0.5-1 1 2,0 386<br />
CMOVcc r,r/m 3 0 6 0 3 ppro a, e<br />
XCHG r,r 3 0 1.5 0.5-1 1 0/1 alu0/1 86<br />
XCHG r,m 4 8 >100 86<br />
XLAT 4 0 3 86<br />
PUSH r 2 0 1 2 86<br />
PUSH i 2 0 1 2 186<br />
PUSH m 3 0 2 86<br />
PUSH sr 4 4 7 86<br />
PUSHF(D) 4 4 10 86<br />
PUSHA(D) 4 10 19 186<br />
POP r 2 0 1 0 1 86<br />
POP m 4 8 14 86<br />
POP sr 4 5 13 86<br />
POPF(D) 4 8 52 86<br />
POPA(D) 4 16 14 186<br />
LEA r,[r+r/i] 1 0 0.5 0.5-1 0.25 0/1 alu0/1 86<br />
LEA r,[r+r+i] 2 0 1 0.5-1 0.5 0/1 alu0/1 86<br />
LEA r,[r*i] 3 0 4 0.5-1 1 1 int,alu 386<br />
LEA r,[r+r*i] 2 0 4 0.5-1 1 1 int,alu 386<br />
LEA r,[r+r*i+i] 3 0 4 0.5-1 1 1 int,alu 386<br />
LAHF 1 0 4 0 4 1 int 86<br />
SAHF 1 0 0.5 0.5-1 0.5 0/1 alu0/1 86 d<br />
SALC 3 0 5 0 1 1 int 86<br />
LDS, LES, ... r,m 4 7 15 86<br />
BSWAP r 3 0 7 0 2 int,alu 486<br />
IN, OUT r,r/i 8 64 >1000 86<br />
PREFETCHNTA m 4 2 6 sse<br />
PREFETCHT0/1/2 m 4 2 6 sse<br />
Port<br />
Execution unit<br />
Subunit<br />
<strong>Instruction</strong> set<br />
Notes