Hirdetés

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

  • Fire/SOUL/CD

    félisten

    válasz Doky586 #22119 üzenetére

    Igen, és egyúttal -ahogy a cikkben linkelve van- a régi CPU-k támogatása is megszűnik, amelyek nem támogatják az SSE4.2 és a POPCNT-t.
    Előbbi hiányában nem fog boot-olni az OS...

    Ez meg csak azoknak, akiket érdekel: POPCNT semmi mást nem csinál, mint egy adott adategységben (8/16/32/64 bites stb) megszámolja a magas bitek számát (1 bit, 0 vagy 1 lehet, magas, ha 1). Látszólag nem tűnik annyira fontosnak, pedig az, ugyanis ezt szoftveresen (leprogramozni) megoldva ún. bitwise/bitshift műveletekkel lehet. Minden Assembly (gépi kódú) utasításnak pontosan meg van adva, hogy mennyi idejébe tellik (Cycles) a CPU-nak azt végrehajtani(természetesen itt nem másodperc a mértékegység).
    Noha az említett bitműveletek Cycle ideje alacsony, de kell köré írni egy ciklust is, pl. egy BYTE (8 bit->7-legfelső bit, 0-legalsó bit) esetén 8x kell lefuttatni egy ciklust (64 bites adategység estén meg 64x) amiben betöltjük az BYTE-t az ún. accumulator register-be, osztjuk 2-vel, 0. bit megy az ún. carry flag-be, carry-t megvizsgálni, hogy magas-e, ha igen egy számlálót növelni és kezdeni előröl...
    Nyilván egy ilyen ciklus nem fogja "túlterhelni" a CPU-t, de ha folyamatosan kell nézni a magas biteket (pl. hálózati kommunikáció (paritás), Copilot és úgy általában AI), ott már pozitív hatása lesz a beépített POPCNT utasításnak...

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