Aktív témák

  • P.H.

    senior tag

    válasz P.H. #3 üzenetére

    Update:

    K8:
    - előkészített REP STOSD: 153M órajel
    - @unpackSSE2 (movnti [edi],eax): 68M órajel
    - @unpack (mov [edi],eax): 62M órajel
    Netburst (Prescott):
    - előkészített REP STOSD: 410M órajel
    - @unpackSSE2 (movnti [edi],eax): 110M órajel
    - @unpack (mov [edi],eax): 150M órajel

    Ez némi gondolkodnivalót ad a VectorPath, illetve úgy általában a microcode alapú utasításokról. A REP STOSD legrosszabb esetben is egyenértékű a

    @stosd:
    jcxz @done
    dec ecx
    mov [edi],eax
    lea edi,[edi+04h]
    jmp @stosd
    @done:

    sorozattal akár micro-op szinten is: a "service pending interrupts (if any);" lépést és (a debugger-ek tanulsága szerint) ESP-t befolyásoló ugrást mindkettő tartalmaz. A microcode-on alapuló utasítások micro-opjai a microarchitecture szélességére optimalizáltak, de mennyi az az ismétlésmennyiség, aminél a REP STOSD gyorsabb, mint a klasszikus legalapvetőbb egyszerű ciklus? Van egyáltalán ilyen eset?

    [ Szerkesztve ]

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

Aktív témák