Hirdetés

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

  • S_x96x_S

    őstag

    válasz Pingüino #16 üzenetére

    > Az a baj, hogy hiába energiahatékonyabb az ARM, bizonyos utasításkészleteket pontosan
    > azért, mert az energiahatékonyság érdekében hiányoznak belőle, emuláva kell megoldania,
    > nyers erőből. Az olyan feladatokban, amik ezeket az utasításkészleteket használják,
    > nem hogy jobb, de sokkal rosszabb az ARM az x86-nál.

    Az ARM utasításkészlet és az ARM implementációk( többfajta) két különböző dolog.

    Eddig főleg az energiahatékony és gyenge ARM -es magok(implementációk) domináltak - főleg a mobiltelefonokban és a tabletekben,
    de újabban az ARM agresszíven próbál betörni az erős magok piacára is.
    - a Cortex-X1 még csak egy korai példány a high-performance cores - közül.
    - Az Apple M1 -ről szinte mindenki hallott .. ami már pariban van a ZEN3-al és veri az Inteles implementációkat. ( persze ez inkább az Intelt minősíti )
    - A Nuvia -t meg felvásárolta a Qualcomm .. és papiron ezzel feljöttek az Apple mögé.

    És az X86-A64 implementációk között- is van takarékos "emulációs" megoldás.

    pl. ZEN1 -nél 128biten emulálták az AVX256 -ot.
    "The FP has a single pipe for 128-bit load operations. In fact, the entire FP side is optimized for 128-bit operations. Zen supports all the latest instructions such as SSE and AVX1/2. The way 256-bit AVX was designed was so that they can be carried out as two independent 128-bit operations. Zen takes advantage of that by operating on those instructions as two operations; i.e., Zen splits up 256-bit operations into two µOPs so they are effectively half the throughput of their 128-bit operations counterparts. Likewise, stores are also done on 128-bit chunks, making 256-bit loads have an effective throughput of one store every two cycles. The pipes are fairly well balanced, therefore most operations will have at least two pipes to be scheduled on retaining the throughput of at least one such instruction each cycle. As implies, 256-bit operations will use up twice the resources to complete (i.e., 2x register, scheduler, and ports). This is a compromise AMD has taken which helps conserve die space and power"
    https://en.wikichip.org/wiki/amd/microarchitectures/zen

    vagya ZEN-nél a PDEP/PEXT ( Parallel Bits Deposit/Extreact ) utasítások - amit csak a ZEN3-nál fixáltak meg rendesen ..

    Az emulációnak vannak jó oldalai is.
    pl. az ARM-os SVE/SVE2 (Scalable Vector Extension) például 2048 bit -ig skálázódik
    és ugyanarra a bináris utasításkészletre lehet gyenge és erős magot tervezni.
    "Silicon partners can choose a suitable vector length design implementation for hardware that varies between 128 bits and 2048 bits, at 128-bit increments. The advantage of SVE and SVE2 is that only one vector instruction set uses the scalable variables.
    The SVE design concept enables developers to write and build software once, then run the same binaries on different AArch64 hardware with various SVE vector length implementations. The portability of the binaries means that developers do not have to know the vector length implementation for their system. Removing the requirement to rebuild binaries allows software to be ported more easily."

    Ezzel ellentétben az AVX512 kevésbé átgondolt - és nehezebben skálázható megoldás.

    Az X86-A64 - egyetlen előnye manapság a bináris kompatibilitás és a nagy szoftveres ökoszisztéma .. de lassan ez is lesz a hátránya mert az őskori 8/16 bites utasításokat is támogatnia kell.

    szóvel komplex a helyzet és se az Intel se az AMD nem ülhet ölbetett kézzel, arra hivatkozva, hogy az X86-A64 - nek nagyobb a szoftveres ökoszisztémája ..

    Mottó: "A verseny jó!"

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