Keresés

Hirdetés

Új hozzászólás Aktív témák

  • gbors

    nagyúr

    válasz Abu85 #2048 üzenetére

    most őszintén, amilyen megoldásokat látunk egyes játékokban, szerinted hány cégnél vannak olyan kódolók, aki ezt képesek konzisztensen kezelni? és akkor még mindig kérdés, hogy ki akarja, vagy ki mutat be?

    Pedro... amigo mio... ma is konzervvért iszunk! Kár lenne ezért a tehetséges gyerekért...

  • P.H.

    senior tag

    válasz Abu85 #2048 üzenetére

    Nekem nem tűnik akkora problémának a koherencia hiánya, ahogyan ti beállítjátok: az SSE utasításkészlet beköltözésével ez nagyjából lezajlott a processzoroknál is, csak ugye ott non-temporal store-nak hívják: a processzor végrehajt valamilyen adatműveletet a bemenő adatok mondjuk 2 MB-os tömbjén és az így létrejött kimenő adatokat egy másik 2 MB-os tömbbe írja bizonyos utasítások felhasználásával (amik ezáltal nem cache-be kerülnek, hanem egy dedikált hardware 16 byte-os utasításokból összerakja a 64 byte-os memóriaterületet, majd azokat kiírja a memóriába); eddig teljesen hardware-függő és kezelhetetlen, hogy mit lát ebből egy másik feldolgozási egység. Majd kiad egy SFENCE (Store Fence) utasítást a szál, ami után biztosított, hogy az összes kimeneti adat láthatóvá válik mások számára, melyek ezt bemeneti adatként kezelhetik, immár biztonságosan.
    Kb. így működik (remélhetőleg) az összes x86 memóriamásolás manapság. :)

    A szinkronizációt pedig egy atomi flag jelzi (ami az SFENCE után beállítható 0-ról 1-re a program által, ezt csinálhatja a program (egy változóval) vagy kérésre az OS (Windows-ban pl. az Event.ek) - itt nyilván a driver teszi -), azaz onnantól mindenki olvashatja a kimenetet kockázat nélkül. (SFENCE után bevezették a későbbi SSE-kben az LFENCE - Load Fence - és az MFENCE - Memory Fence - utasításokat is, melyek tovább könnyítik az életet.)

    Amit mondani akartam, hogy ez a "félkoherencia" már a PIII óta ismert a CPU-programozók körében (azoknál meg főleg, akik többmagos területen mozognak), nem hiszem, hogy oly nagy fejtörést okozna a más területen programozóknál.

    [ Szerkesztve ]

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

Új hozzászólás Aktív témák