Puissance et performance Les processeurs mobiles doivent économiser de l'énergie (beaucoup d'énergie) et générer beaucoup moins de chaleur que les processeurs de bureau. Pour répondre à cette exigence, les processeurs mobiles utilisent TOUJOURS une architecture beaucoup plus simple (ARM) que les processeurs de bureau (x86/AMD64/x86_64) de la même génération. En effet, la mesure la plus utile pour comparer les processeurs est l'architecture sous-jacente. Tous les MHz, la taille des fonctionnalités et le nombre de cœurs ne sont utiles que si vous comparez des processeurs avec des architectures similaires ou apparentées.
L'architecture/micro-architecture du CPU L'architecture d'un processeur détermine la manière dont il exécute les programmes et les algorithmes qu'il utilise pour effectuer les calculs, ainsi que la manière dont il accède au cache et à la mémoire vive. L'architecture comprend également le "langage" (instructions) que l'unité centrale comprend. Le langage compris par un processeur de bureau est beaucoup plus complexe que celui compris par un processeur mobile. Les processeurs de bureau comprennent le langage complexe x86/x86_64, tandis que les processeurs mobiles comprennent le langage ARM32/64/Thumb2, qui est beaucoup plus simple et nécessite donc plus de "mots" pour décrire un algorithme et est de taille inefficace par rapport au x86. La raison pour laquelle les puces mobiles comprennent un langage simple est qu'il existe une contrainte de surface et de puissance sur le nombre de transistors qui peuvent y être intégrés.
Un processeur de bureau typique peut exécuter plus de 8 instructions CISC (complexes) en parallèle et dans le désordre pour offrir des performances élevées au prix d'une dissipation d'énergie accrue, tandis qu'un processeur mobile peut n'exécuter que 2 instructions RISC (simples) dans le désordre pour économiser l'énergie. Les processeurs de bureau ont beaucoup plus de cache (6 Mo et plus) que les appareils mobiles (1 Mo), ce qui permet d'augmenter considérablement les performances. En outre, les architectures CISC (Intel x86_64 utilisées dans les ordinateurs de bureau et les ordinateurs portables) offrent une densité de code élevée permettant de condenser une grande quantité d'informations dans un espace réduit, tandis que les architectures RISC (ARM64 utilisées dans les appareils mobiles) utilisent des instructions non comprimées qui ont tendance à exercer une pression plus forte sur la bande passante de la mémoire, car il faut plus d'espace pour transmettre le même sens. Ce que je veux dire, c'est qu'un programme CISC de 1 Mo transmet plus d'informations qu'un programme RISC de 1 Mo, ce qui oblige le programme RISC de fonction similaire à effectuer plus de transferts de mémoire, ce qui entraîne une perte de performances.
En règle générale, les architectures de bureau sont axées sur les performances. Par exemple, une opération SIMD sur un processeur Intel moderne (ordinateur de bureau) ne prend que 25 % du temps que prend un processeur ARM typique (mobile), car les ordinateurs de bureau peuvent intégrer davantage de transistors dans le processeur, puisque la surface et la puissance ne sont pas limitées.
Effet de la taille de l'élément En règle générale, si un processeur d'architecture A est porté à une technologie inférieure (par exemple, de 22 nm à 12 nm), ses performances s'améliorent tandis que sa consommation d'énergie diminue en raison de l'amélioration des performances et de l'efficacité des transistors. Ainsi, par exemple, un ARM Cortex A-5 typique fabriqué en 12nm offrira des performances plus élevées et fonctionnera plus froidement qu'un ARM Cortex A-5 fabriqué en 28nm. Toutefois, un ARM Cortex A-15 (une meilleure micro-architecture que l'A-5) fabriqué en 32 nm fonctionnera beaucoup plus rapidement que l'A-5 en 12 nm (mais il consommera plus d'énergie). Ainsi, bien que la taille des fonctionnalités soit une mesure importante, elle perd un peu de sa valeur lorsqu'il s'agit de comparer différentes micro-architectures/architectures, surtout lorsque l'une est bien meilleure que l'autre.
Effet des noyaux Ne vous laissez pas tromper par le nombre de noyaux. Ce sont de très mauvais indicateurs des performances des CPU. Comparer des processeurs sur la base du nombre de cœurs n'est utile que s'ils sont de la même micro-architecture. Bien sûr, une micro-architecture plus rapide avec plus de cœurs est plus performante qu'une micro-architecture plus lente avec moins de cœurs. Cependant, un quadruple cœur lent offrira très probablement de moins bonnes performances qu'un processeur double cœur très performant. Un quadri-cœur faible peut être bon pour traiter 4 tâches simples en un temps T alors qu'un double cœur fort (4x plus rapide par cœur) peut être capable de traiter 4 tâches simples en la moitié du temps (T/2) puisqu'il devrait être capable d'en traiter 2 en T/4 et les 2 autres en T/4 (T/4 + T/4 = T/2). Méfiez-vous également des cœurs quasi-octa (la plupart des mobiles sont quasi dans le sens où seuls 4 cœurs peuvent être actifs à tout moment pour économiser de l'énergie). Les ordinateurs de bureau offrent généralement des cœurs complets avec un faible partage des ressources pour permettre des performances plus élevées au prix d'une consommation d'énergie élevée.
Effet de la fréquence d'horloge Cela dépend fortement de la micro-architecture du processeur.
Pour illustrer cela, considérons le problème suivant, 3 * 3.
Disons que le processeur A convertit le problème en 3+3+3 et prend 3 cycles d'horloge pour exécuter le problème alors que le processeur B exécute directement 3*3 en utilisant une table de consultation et donne le résultat en 1 cycle d'horloge. Si le fabricant A déclare que la fréquence du processeur (cycle d'horloge) est de 1 GHz alors que B déclare qu'elle est de 500 MHz, B est plus rapide que A puisque A met 3ns pour effectuer 3*3 alors que B ne met que 2ns (B est 33% plus rapide que A même si B tourne à une fréquence 50% plus lente). Ainsi, les vitesses d'horloge ne sont de bonnes comparaisons que pour comparer des micro-architectures similaires. Un meilleur uarch avec une vitesse d'horloge inférieure peut battre un uarch plus ancien avec une vitesse d'horloge beaucoup plus élevée. De plus, les vitesses d'horloge basses permettent d'économiser de l'énergie. Un processeur haute performance avec une vitesse d'horloge plus élevée battra sûrement un processeur moins performant avec une vitesse d'horloge similaire ou inférieure (parfois plus élevée aussi). La vitesse d'horloge n'est donc pas du tout une bonne mesure des performances du CPU, tout comme le nombre de cœurs. Notez que les processeurs mobiles mettent en œuvre des algorithmes de calcul plus simples et plus lents que les processeurs de bureau afin d'économiser de l'énergie et de la surface. Les processeurs de bureau comportent souvent des algorithmes qui sont presque deux à quatre fois (ou plus) plus rapides que leurs homologues mobiles, ce qui leur donne un net avantage en termes de performances par rapport aux processeurs mobiles.
** Effet du cache ** Le cache joue un rôle plus important dans les performances du processeur que la vitesse du cœur lui-même. Le cache est une mémoire vive à haute vitesse à l'intérieur du processeur pour réduire les demandes à la mémoire vive. Les caches des ordinateurs de bureau sont plus grands et plus rapides (il n'y a aucune restriction de taille ou de puissance pour les ordinateurs de bureau) que les caches mobiles, ce qui donne aux ordinateurs de bureau un avantage sur les CPU mobiles. Si l'on ajoute l'efficacité des CISC, les caches de bureau ont un avantage sur les caches mobiles. Un cache de bureau de 2 Mo est supérieur à un cache mobile de 2 Mo simplement par la densité des instructions (plus d'informations dans le même espace). Les caches sont très importants pour déterminer les performances des CPU. Un processeur doté d'un grand cache rapide sera plus performant qu'un processeur doté d'un petit cache lent. Cependant, il existe un compromis entre la vitesse et la taille du cache, c'est pourquoi les systèmes ont des niveaux de cache. Au fur et à mesure que la technologie se réduit, les caches deviennent beaucoup plus rapides et plus efficaces. Bien entendu, l'architecture du cache joue également un rôle très important à cet égard. Il n'est pas si simple de comparer les caches, mais les comparaisons de caches sont beaucoup moins perverses que les comparaisons impliquant des cœurs ou des vitesses d'horloge.
Ainsi, en supposant une génération constante, les processeurs de bureau dépasseront presque toujours les processeurs mobiles en termes de performances brutes, tandis que les processeurs mobiles consomment presque toujours moins d'énergie pour compenser leurs performances relativement faibles.