Aktív témák
-
P.H.
senior tag
@@2ND_STEP újra módosítva, mostmár az Intel CPU-kon is hozza a 2.0 IPC-t, így a teljes algoritmus is (Intel esetében az ADC és SBB legalább Pentium Pro óta, a CMOVcc legalább Core2 óta 2 micro-op, egészen Nehalem-ig , AMD-nél K7 óta 1 micro-op, 1 órajel lefutási idővel; pedig ezek az ugrásmentesítés és az ILP-kihasználás alapkövei a SETcc mellett).
Mivel az utasításszám is csökkent és a belső ciklustörzsből is kiemelhető pár utasítás, így AMD-n is gyorsabb az előzőnél egy kicsivel.
Az első adandó alkalommal lemér(et)em Bobcat-on is. Ha ott is tudja hozni a 2 körüli IPC-t, akkor mivel nagyon hasonlóak felépítésben - a Bulldozer az emelt órajeleivel valóban speed racer lesz integer-ben - ha marad a legtöbb integer utasítás 1 órajeles lefutási értéke.
@@2ND_STEP:
xor ebx,ebx
xor ecx,ecx
mov esi,[esp+_SAVE+__MTX]
sub ebx,ebp
mov edx,00FFFFFFh
@free0:
bt dword ptr [edi+ebx],01h
setc ah
sub ecx,ebp
@zeroinrow:
mov al,[edi+ecx]
and al,01h
cmp edx,[esi]
adc al,ah
jnz @nx2col
xor edx,edx
add esp,20h
add edx,[esi]
pushad
jz @@DECIDE_NEXT_STEP
@nx2col:
add ecx,01h
lea esi,[esi+04h]
jnz @zeroinrow
add ebx,01h
jnz @free0[ Szerkesztve ]
Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙