Hirdetés

2024. április 16., kedd

Gyorskeresés

Hozzászólások

(#2) P.H.


P.H.
senior tag

A Write-Combining pufferekből privát cache-be csak a rendszermemórián kereszül kerülhet adat, oda és vissza egyaránt, közvetlen kapcsolat nincs ~ olvasott cache-line felülírása non-termporal módon tilos.

@SSE2rewriteALPHA:
add ebp,ebx
jns @retirePERFORM
cmp [esi+ebp],eax
jz @SSE2rewriteALPHA
movd xmm2,[esi+ebp]
movd xmm3,[edi+ebp]
punpcklbw xmm2,xmm7
punpcklbw xmm3,xmm7
punpcklwd xmm2,xmm7
punpcklwd xmm3,xmm7
cvtdq2ps xmm2,xmm2
mov [esi+ebp],eax <<<----
cvtdq2ps xmm3,xmm3
mulps xmm2,xmm0
mulps xmm3,xmm1
addps xmm2,xmm3
cvtps2dq xmm2,xmm2
packssdw xmm2,xmm2
packuswb xmm2,xmm2
movd [edi+ebp],xmm2
jmp @SSE2rewriteALPHA

K8 lefutás ~2 megapixeles képen 5% layer-kitöltöttség mellett 9M órajel, mov [esi+ebp],eax utasítás helyett movnti [esi+ebp],eax írva 11M órajel.

Vajon
- ez igaz a hardware prefetch-elt cache-vonalakra is?
- az L3-mak jelenléte változtat a dolgon K10 és főleg Nehalem (inclusive) esetén?
- ez csak az DL1-re igaz, vagy a VIA-féle prefetch cache tartalmára is?

Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙

Copyright © 2000-2024 PROHARDVER Informatikai Kft.