Pour les processeurs récents Intel à un document très complet:
https://www.intel.com/content/www/us...on-manual.html
On en revient à une optimisation qui est principalement, aligner la mémoire et limiter le cache-miss. Pour ce qui est du couts des instructions ils discutent aussi des SIMD.
Heureusement que aujourd'hui on ne s’occupe plus des mêmes choses que au temps de la PS2 Mais certains choses reste toujours présente comme le calcule d'une division qui "internement" parlant sera plus long qu'une multiplication, pipeliné ou pas.
D'ailleurs dans le document d'Intel je t'invite a jeter un rapide coup d'oeil à 11.12 DIVIDE AND SQUARE ROOT OPERATIONS
puisIn Intel microarchitectures prior to Skylake, the SSE divide and square root instructions DIVPS and SQRTPS have a latency of 14 cycles (or the neighborhood) and they are not pipelined. This means that the throughput of these instructions is one in every 14 cyclese
In microarchitectures that provide DIVPS/SQRTPS with high latency and low throughput, it is possible to speed up single-precision divide and square root calculations using the (V)RSQRTPS and (V)RCPPS instructions. For example, with 128-bit RCPPS/RSQRTPS at 5-cycle latency and 1-cycle throughput or with 256-bit implementation of these instructions at 7-cycle latency and 2-cycle throughput, a single Newton-Raphson iteration or Taylor approximation can achieve almost the same precision as the (V)DIVPS and (V)SQRTPS instructions.
Partager