0
\$\begingroup\$

x86-64 CPU core consists of many parts, including instruction decoder, branch predictor and ALU/FPU blocks. Which of these parts consumes the most energy? Are there any rough number for each of these components? Like "workload type 1, decoder 20%, fpu 65%, others 15% of power consumption, workload type 2 may give different results".

I'm sure that FPU is energy-hungry, but I also have read that decoder is a big limitation too. However I didn't found neither confirmation nor defutation of the latter.

\$\endgroup\$
2
  • \$\begingroup\$ Whose x86-64 core? There’s many different implementations out there with widely varying performance. I doubt there is the one magic number you hope to find. \$\endgroup\$
    – Kartman
    Commented May 17, 2023 at 14:01
  • \$\begingroup\$ I understand that numbers will be rough. I would be happy with any modern desktop/server x86-64 Intel/AMD CPU regarless of particular microarchitecture. Skylake, Zen, whichever. \$\endgroup\$
    – Vladislav
    Commented May 18, 2023 at 15:16

1 Answer 1

1
\$\begingroup\$

Since the FPU in SIMD mode can increase total processor power dramatically over scalar mode while decoding the same number of instructions, the FPU is capable of using a lot more power than decode on at least some processors. But probably not all. Intel has its efficiency cores with greatly reduced SIMD performance, and not all processors support all SIMD instructions, so some processors relatively speaking probably spend more on decode.

Beyond that, this is something that would have to be measured for the specific processor you have in mind. I suppose with enough instrumentation and microbenchmarking you could probably back it out for your device by putting in variable amounts of backend uops vs front end instructions.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.