Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilRadomír Holub
1
Kontakty Webpage přednášky: –http://ulita.ms.mff.cuni.cz/mff/sylaby/PRG017.HTML Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické informace (manuály ap.): –ftp://ulita.ms.mff.cuni.cz/techdoc/index.html Mail: –Jakub.Yaghob@mff.cuni.cz
2
Trocha historie a faktů Zvláštní obvod mimo hlavní procesor = koprocesor 8087, 80287, 80387 80486+ má koprocesor integrovaný (výjímka 80486SX) MMX rozšíření od Pentia MMX/Pentia II – 64-bitové SIMD s celými čísly AMD odpovědělo 3DNow! – 64-bitové SIMD s floaty Pentium III přineslo SSE – 128-bitové SIMD s floaty Pentium IV má SSE2 – 128-bitové SIMD s doubly Datové typy a režim práce odpovídá normám IEEE 754 a IEEE 854
3
Prostředí x87
4
Datové typy x87
5
Stavový registr x87
6
Řídící a tag registry x87 PřesnostPC Single (24-bitů)00 Rezervováno01 Double (53-bitů)10 Extended double (64-bitů)11 ZaokrouhleníRC K nejbližšímu sudému00 Dolů k - ∞ 01 Nahoru k + ∞ 10 Směrem k 011
7
Rozhodování podle výsledku porovnání
8
Instrukční soubor x87 – přesuny dat, konstanty Floating point fld, fst, fstp, fxch, fcmovcc Celá čísla fild, fist, fistp BCD fbld, fbstp Konstanty fldz, fld1, fldpi, fldl2t (log 2 10), fldl2e (log 2 e), fldlg2 (log 10 2), fldln2 (log e 2)
9
Instrukční soubor x87 – aritmetika Floating point fadd, faddp, fsub, fsubp, fsubr, fsubrp fmul, fmulp, fdiv, fdivp, fdivr, fdivrp Celá čísla fiadd, fisub, fisubr fimul, fidiv, fidivr Jiné aritmetické operace fabs, fchs, fsqrt, fprem, fprem1, frndint, fxtract
10
Instrukční soubor x87 – porovnání Floating point fcom, fcomp, fcompp fucom, fucomp, fucompp Celá čísla ficom, ficomp Porovnání a nastavení EFLAGS fcomi, fcomip fucomi, fucomip Testy ftst, fxam
11
Instrukční soubor x87 – ostatní Trigonometrické fsin, fcos, fsincos, fptan, fpatan Logaritmické a exponenciální fyl2x (y*log 2 x) // log b x = (1/log 2 b) log 2 x fyl2xp1 (y*log 2 (x+1))// blízko 0 f2xm1 (2 x -1)// (-1, 1) fscale Řízení finit, fninit fldcw, fstcw, fnstcw, fstsw, fnstsw fclex, fnclex fldenv, fstenv, fnstenv, frstor, fsave, fnsave fincstp, fdecstp, ffree, fnop wait, fwait
12
Prostředí a datové typy MMX jenže tohle je v x87 registrech! datové typy
13
SIMD model Model výpočtu Saturation/Wraparound Datový typDolní mezHorní mez Signed Byte80h7Fh Signed Word8000h7FFFh Unsigned Byte00hFFh Unsigned Word0000hFFFFh
14
Instrukční soubor MMX - aritmetika Aritmetika paddb, paddw, paddd, paddsb, paddsw, paddusb, paddusw psubb, psubw, psubd, psubsb, psubsw, psubusb, psubusw pmull, pmulh, pmadd Porovnání pcmpeqb, pcmpeqw, pcmpeqd pcmpgtpb, pcmpgtpw, pcmpgtpd Pack packsswb, packssdw, packuswb Unpack punpckhbw, punpckhwd, punpckhdq punpcklbw, punpcklwd, punpckldq
15
Instrukční soubor MMX - logika, přesuny Logika (na celých 64 bitech) pand, pandn, por, pxor Posuny psllw, pslld, psllq psrlw, psrld, psrlq psraw, psrad Přesuny (reg-reg, reg-mem, mem-reg) movd, movq Vyčištění (nastaví všechny tagy na EMPTY) emms
16
Prostředí SSE a SSE2
17
MXCSR registr SSE a SSE2
18
Datové typy SSE a SSE2 SSE SSE2
19
Typy operací SSE a SSE2 Paralelní (packed) Skalární
20
Instrukční soubor SSE Pakované a skalární float instrukce –Přesuny dat –Aritmetika –Logika –Porovnání –Přehazování –Konverze 64-bitové SIMD celočíselné instrukce Práce s MXCSR, ukládání/načítání stavu ldmxcsr, stmxcsr fxsave, fxrstor Řízení cacheování, prefetch, určení paměťového pořadí –temporální/netemporální data –prefetch prefetchn –určení paměťového pořadí sfence
21
Instrukční soubor SSE2 Pakované a skalární double instrukce –Přesuny dat –Aritmetika –Logika –Porovnání –Přehazování –Konverze 64-bitové a 128-bitové SIMD celočíselné instrukce 128-bitové rozšíření SIMD celočíselných instrukcí z MMX a SSE Řízení cacheování a určení paměťového pořadí –temporální/netemporální data –vyhození a zneplatnění cache-line clflush –určení paměťového pořadí lfence, mfence –zlepšení spin-locků na Pentiu IV pause –nápověda pro skoky - prefixy 2Eh (not taken), 3Eh (taken), pouze před Jcc
22
Konverze SSE a SSE2
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.