Pourquoi les cœurs ARM consomment relativement moins d’énergie que x86 [fermé]

Sandun standard

Pourquoi les cœurs ARM consomment relativement moins d’énergie que x86 [fermé]


Pourquoi les cœurs ARM consomment peu d’énergie par rapport aux implémentations CISC x86?

Quelles sont les raisons valables?

  • à cause de sa technologie de fabrication?

Serait-ce vrai? Les cœurs ARM ont été fabriqués à partir de diverses technologies de fabrication dans le monde, même certaines technologies de fabrication ne sont pas avancées comme les fabs d’Intel.

  • En raison des instructions et des pipelines RISC simples.

Est-ce parce que le jeu d’instructions simple nécessite très peu de zone de silicium et que cette zone pourrait économiser beaucoup d’énergie.

  • En raison du magasin de charge

En raison de la simplicité de l’architecture du magasin de charge, aucune conversion de macrocode en microcode n’est donc requise. Encore une fois, une faible zone de silicium ainsi qu’un algorithme de prédiction de branche pourraient facilement prédire des emplacements de mémoire qui seraient utilisés à l’avenir, donc un cache faible est nécessaire en raison de moins de ratés de cache. Encore une fois petite zone de silicium qui conduit à une faible consommation d’énergie.

  • En raison du bus AMBA et du SoC

Étant donné que la RAM et la ROM et les périphériques du système ont été conçus en étroite collaboration avec le Core, un cache très faible est requis et cela permettrait d’économiser de l’énergie.

  • Comparabilité non rétrograde

Contrairement à Intel, il n’a pas besoin de prendre en charge la comparabilité en amont.En ce qui concerne ARMv7, presque toutes les instructions obsolètes énergivores ont disparu et de nouvelles instructions sont là pour leur place.

  • En raison des modes d’économie d’énergie.

Cependant, ces modes sont également disponibles dans le processeur x86.

  • En raison de décisions historiques.

ARM est de garder tout nouveau et mis à jour. Contrairement à x86, aucune erreur historique n’affecte continuellement. Ils ont été revus et corrigés dans le prochain ISA. Et ARM est plus récent que le x86, donc historiquement, les décisions sont prises concernant son mur de puissance. Contrairement à Intel.

  • En raison du système d’exploitation et du noyau, prise en charge de l’économiseur d’énergie du micrologiciel.

Est-ce dû à la prise en charge du système d’exploitation et du noyau lui-même. Par exemple, Linux embarqué a des correctifs pour le mode d’économie d’énergie avancé. Pour réduire automatiquement la vitesse lorsque la batterie est détectée faible. Mais ce fait n’avait rien à voir avec le mur du pouvoir, mais pouvait-on quand même considérer cela comme un fait? Dans quelle mesure? Gestion de l’alimentation Android

Quelles sont les autres raisons valables?

Keelan

« C’est une question trop générale. » – alors pourquoi ne pas le rendre plus précis? -1 pour savoir que votre question ne convient pas et que vous postez toujours.

Olin Lathrop

« Je suis si important que les règles ne s’appliquent pas à moi » Faux.

Nick Alexeev ♦

Ce n’est pas trop une mauvaise question, en fait. L’effort est allé dans la recherche préliminaire.

Sandun standard

@OlinLathrop, @ Nick Sir, En fait, j’ai fait plus de recherches, j’ai besoin de votre aide pour rendre cela plus précis.

Le photon

Il est tout à fait permis de répondre à votre question. Cette question serait bien meilleure si vous la réduisiez à une question, puis présentiez vos réponses dans une réponse.

Réponses


 supercat

L’architecture ARM d’origine est conçue de sorte que même un décodeur d’instructions relativement simple puisse fonctionner à la vitesse maximale autorisée par l’architecture. Les versions ultérieures d’ARM ont une logique de décodage des instructions légèrement plus complexe, mais chaque instruction comporte un ou deux mots. Sur l’architecture x86, les instructions peuvent aller d’un octet à quelque chose comme quatorze octets (par exemple, dans un segment 16 bits,LOCK ADD DWORD ESI:[EBX+4*EAX+12345678h],87654321h]. Lors de la conception de l’architecture x86 d’origine, les instructions étaient exécutées de manière séquentielle et il était attendu que chaque instruction prenne plusieurs cycles à exécuter. S’il fallait trois cycles pour exécuter une instruction, cela n’aurait pas d’importance si trouver le début de l’instruction suivante prenait également trois cycles. D’un autre côté, personne ne veut de nos jours que le code x86 s’exécute aussi lentement.

Il est possible de concevoir du matériel capable d’exécuter des instructions x86 à une vitesse fulgurante; Il y a 20 ans, j’aurais pensé que le décodage d’instructions compliqué aurait limité la vitesse x86, mais ce n’est vraiment pas le cas. Ce qu’il a fait, cependant, est d’exiger d’Intel et d’autres fabricants de puces d’inclure une logique de traduction et de mise en cache plutôt compliquée afin que la première fois qu’un morceau de code soit exécuté, il soit converti en une forme plus facile à décoder et mis en cache; si le code est exécuté à nouveau, la traduction peut être ignorée. Toute cette logique crée des puces très rapides, mais elle consomme également de l’énergie. La plupart des puces ARM de faible puissance ont beaucoup moins de logique frontale; ils n’atteignent pas les mêmes performances qu’un x86 qui inclut une telle logique, mais ils obtiennent des performances bien meilleures qu’un x86 pourrait s’en passer.

Sandun standard

donc en gros trois points à droite? Instruction ISA soigneusement conçue. La microarchitecture serait donc plus efficace pour les pipelines à des vitesses encore plus faibles. Et vous décidez intel d’avoir un cache de microcode au lieu d’un cache de macrocode non? C’est pourquoi ARM pourrait archiver une bonne vitesse dans les bas flops. Ai-je raison monsieur?

Sandun standard

Cela n’a donc rien à voir avec la fabrication ou les matériaux à haute valeur ajoutée. ?

supercat

@sandundhammika: J’ai peut-être besoin d’exprimer mieux les choses: un contrôleur basé sur le processeur ARM peut utiliser des circuits simples fabriqués de manière relativement simple pour atteindre ce qui est dans de nombreux cas un niveau de performance utile. Un x86 de complexité comparable serait beaucoup plus lent. On peut faire une variété de choses pour rendre les processeurs x86 rapides (ajouter de la cachine de pré-décodage plus sophistiquée n’est qu’une des nombreuses), mais au détriment de la consommation d’énergie.

Sandun standard

La réponse finale est donc la taille du silicium. Comme ARM le fait en temps de compilation, les compilateurs se compliqueraient au lieu d’une tranche de silicium gourmande en énergie.

user6972

@sandundhammika Fondamentalement, la taille compte. Toute la consommation d’énergie du CI dépend du nombre de transitions de transistor nécessaires par opération. Donc, si vous pouvez faire le même travail avec moins de transistors, alors moins d’énergie est utilisée. supercat essaie d’expliquer pourquoi moins de circuité est nécessaire.

 

[fermé], #coeurs, ARM, consomment, d’énergie, Les, moins, Pourquoi, que, relativement, X86

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *