ARM vs X86 - Principales différences expliqué!

ARM vs X86 - Principales différences expliquées

Android prend en charge 3 différentes architectures de processeur: ARM, Intel et MIPS. Le plus populaire et omniprésente de ces trois est, sans aucun doute, ARM. Intel est bien connu principalement en raison de sa popularité dans les marchés de bureau et serveurs, mais le mobile, il a eu moins d'impact. MIPS a une longue tradition, et beaucoup de succès, à la fois pour 32 et solutions 64 bits dans une variété d'espaces intégrés, mais il est actuellement la moins populaire des trois modèles de CPU pour Android.

En bref, ARM est le gagnant de courant et Intel est sa grande marque concurrente. Alors, quelle est la différence entre un processeur ARM et un processeur Intel? Pourquoi est-ARM le choix le plus populaire? Et qu'importe ce CPU est dans votre smartphone ou tablette?

La CPU

L'unité centrale de traitement (CPU) est le "cerveau" de votre appareil. Son travail consiste à exécuter une séquence d'instructions pour contrôler le matériel sur votre appareil (l'affichage, l'écran tactile, le modem cellulaire, etc.) pour l'activer à partir d'un morceau de plastique et de métal dans un smartphone ou une tablette dynamique. Les appareils mobiles sont des choses complexes et ces processeurs ont besoin pour exécuter millions d'instructions pour les faire se comporter comme nous le prévoyons. L'efficacité de la vitesse et la puissance de ces processeurs est critique. La vitesse affecte l'expérience de l'utilisateur, tandis que l'efficacité affecte la vie de la batterie. Le dispositif mobile idéal est celui qui a la haute performance et à faible consommation d'énergie.

Intel est le leader de l'industrie dans les ordinateurs de bureau et serveurs.

Voilà pourquoi le choix du CPU est important. Une soif de pouvoir, de porc d'un CPU sera vider votre batterie rapide, mais un processeur élégant et efficace vous donnera à la fois la performance et vie de la batterie. Au plus haut niveau, la première différence entre un processeur ARM et un processeur Intel est que le premier est RISC (Instruction Set Computing réduit) et le dernier est CISC (Complex Instruction Set Computer). Dans simplifiée (et je souligne, «simplifié») termes simples, RISC instructions ensembles sont plus petits, plus atomique, tandis que les jeux d'instructions CISC sont plus grandes, plus complexe. Par atomique, je veux dire que chaque instruction se traduit à peu près à une seule opération que le CPU peut effectuer, par exemple, ajouter le contenu de deux registres ensemble. Instructions CISC expriment une seule idée, mais le CPU devront exécuter 3 ou 4 des instructions plus simplifiées pour l'exécuter. Par exemple, un CPU CISC peut être dit d'additionner deux nombres stockés dans la mémoire principale. Pour ce faire, la CPU a besoin pour aller chercher le numéro de l'adresse-1 (une opération), chercher le numéro de l'adresse-2 (seconde opération), ajouter les deux chiffres (troisième opération) et ainsi de suite.

Intel_CPU_Pentium_4_640_Prescott_bottom

Tous les processeurs modernes utilisent un concept connu sous le microcode, une instruction interne ensemble de la CPU qui décrit les opérations atomiques que le CPU peut effectuer. Ce sont ces (micro) opérations plus petites que la CPU exécute réellement. Sur les processeurs RISC, le jeu d'instructions opérations et les opérations de microcode sont très proches. Le SCRC, les instructions complexes doivent être traduits en petites coopératives de microcode (comme décrit ci-dessus avec le SCRC ajouter par exemple). Cela signifie que le décodeur d'instruction (le bit qui fonctionne en fait ce qui doit faire l'UC) est beaucoup plus simple sur un processeur RISC, et un moyen plus simple et moins d'énergie plus grande efficacité.

Fabs

La prochaine grande différence entre un processeur ARM et un processeur Intel est que ARM n'a jamais conçu puissance processeurs efficaces. Sa raison d'être est de concevoir des processeurs d'utilisation de faible puissance. Voilà son expertise. Cependant l'expertise d'Intel est de concevoir des processeurs de bureau super haute performance et de serveur. Et il a fait un bon travail. Intel est le leader de l'industrie dans les ordinateurs de bureau et serveurs. Chaque PC, ordinateur portable et le serveur je possède (à l'exception d'un seul) dans les 20 dernières années avaient un processeur Intel en elle. Toutefois, pour obtenir en mobile, Intel utilise le même jeu d'instructions CISC l'architecture (ISA) qu'il utilise sur le bureau, mais il essaie de caser en petits processeurs, appropriés pour les appareils mobiles.



Quand il vient à l'informatique 64 bits, il ya aussi des différences significatives entre ARM et Intel.

Le processeur Intel i7 moyenne produit environ 45W de chaleur. L'ARM basé Smartphone SoC moyenne (y compris le GPU) a une puissance de crête instantané maximal de l'ordre de 3W, environ 15 fois moins qu'un i7 Intel. Maintenant, Intel est une grande entreprise et ils ont beaucoup de gens intelligents qui y travaillent. Ses derniers processeurs Atom ont des conceptions thermiques identiques processeurs basés ARM, mais pour cela, il a eu à utiliser la dernière 22m processus de fabrication. En général, plus le nombre de nanomètre de fabrication, meilleure est l'efficacité énergétique. Processeurs ARM ont des propriétés thermiques similaires au processus de fabrication plus élevés nanométriques. Par exemple, le Qualcomm Snapdragon 805 utilise un processus de 28nm.

28nm-plaquette

64-bits

Quand il vient à l'informatique 64 bits, il ya aussi des différences significatives entre ARM et Intel. Saviez-vous que Intel n'a même pas inventé la version 64 bits de son jeu d'instructions x86. Connu comme x86-64 (ou parfois simplement x64), le jeu d'instructions a été effectivement conçu par AMD. L'histoire va comme cela, Intel a voulu passer à l'informatique 64 bits, mais il savait que de prendre son architecture actuelle x86 32 bits et faire une version 64 bits serait inefficace. Alors il a commencé un nouveau projet de processeur 64 bits appelé IA64. Cela a finalement produit la gamme de processeurs Itanium. En attendant AMD savait qu'il ne serait pas en mesure de produire des processeurs compatibles IA64, donc il est allé de l'avant et a prolongé la conception de x86 pour inclure l'adressage 64 bits et registres 64 bits. L'architecture résultante, appelée AMD64, est devenu la norme 64-bit de facto pour les processeurs x86.

OLYMPUS DIGITAL CAMERA

Le projet IA64 n'a jamais été un grand succès et est aujourd'hui effectivement mort. Intel a finalement adopté AMD64. Offres mobiles actuels d'Intel sont des processeurs 64 bits en utilisant le jeu d'instructions 64 bits conçus par AMD (avec quelques différences mineures).

Comme pour ARM, l'histoire est tout à fait différente. Voyant la nécessité de l'informatique 64 bits sur mobile, ARM a annoncé son ARMv8 architecture 64 bits en 2011. Il était l'aboutissement de plusieurs années de travail sur la prochaine génération ARM ISA. Pour créer une application 64 bits propre, mais l'un fondé sur les principes et les instructions existants ensemble, l'architecture ARMv8 utilise deux états d'exécution, AArch32 et AArch64.

Cortex A53 et A57 Graphique de performance

Comme leurs noms l'indiquent, on est pour exécuter du code 32 bits et un pour 64 bits. La beauté de la conception ARM est le processeur peut parfaitement échanger d'un mode à l'autre au cours de son exécution normale. Les moyens que le décodeur pour les instructions 64 bits est une nouvelle conception qui n'a pas besoin de maintenir la compatibilité avec l'ère 32 bits, mais le processeur dans son ensemble reste rétrocompatible.

Informatique hétérogène



L'architecture big.LITTLE d'ARM est une innovation qui Intel est loin réplication. Dans big.LITTLE les noyaux dans le CPU n'a pas besoin d'être du même type. Traditionnellement, un processeur dual-core ou quad-core avait 2 ou 4 cœurs du même type. Ainsi, un processeur Atom dual-core dispose de deux cœurs x86-64 identiques, les deux offrant la même performance et utilisant la même quantité d'énergie. Mais avec big.LITTLE ARM a introduit informatique hétérogène pour les appareils mobiles. Cela signifie que les noyaux peuvent être différents en termes de performances et de puissance. Lorsque le dispositif mobile est pas occupé, un noyau à faible énergie peut être utilisée, mais quand vous commencez un jeu complexe, les noyaux de haute performance sont utilisés.

Processeurs ARMv8-A - un seul architectue évolutive

Mais voici la magie. Quand on parle de CPU dessins il ya un tas de décision de conception technique qui modifie la performance et la consommation d'énergie du processeur. Quand une instruction est décodée et préparé pour l'exécution du processeur (Intel et ARM) utilise un pipeline. Cela signifie que chaque aspect de minutes du processus de décodage est parallélisé. Donc la partie pour aller chercher la prochaine instruction de la mémoire est l'étape 1, puis le type d'instruction doit être examiné et decoded- étape 2, puis l'instruction est réellement exécutée - étape 3, et ainsi de suite. La beauté de canalisations est que, si la première instruction est dans l'étape 2, l'instruction suivante est déjà à l'étape 1. Lorsque la première instruction dans l'étape d'exécution (étape 3), la deuxième instruction est actuellement en phase 2 et la troisième instruction est en phase 1, et ainsi de suite.

Ce principe de l'utilisation de la logique plus complexe dans le processeur pour une meilleure performance, et moins logique complexe pour une haute efficacité, ne concerne pas seulement à la conduite de l'instruction.

Pour rendre les choses encore plus vite ces pipelines peuvent être construits pour que les instructions peuvent effectivement être exécutées dans un ordre différent de celui dans le programme. Il ya une certaine logique intelligente de travailler si l'instruction suivante repose sur le résultat de l'instruction devant elle. Intel et ARM ont logique out-of-order-exécution. Mais comme vous pouvez l'imaginer qui est une technologie très complexe. Complexe signifie avide de pouvoir. Sur les processeurs Intel les concepteurs choisissent de mettre en œuvre des out-of-order-exécution ou non. Mais avec l'informatique hétérogène qui est pas un problème. L'ARM Cortex A53 utilise l'exécution dans l'ordre, ce qui signifie qu'il consomme moins d'énergie. Mais le Cortex-A57 utilise out-of-order-exécution, ce qui signifie qu'il est plus rapide, mais consomme plus d'énergie. Dans un processeur big.LITTLE il peut y avoir Cortex-A53 et Cortex-A57 noyaux, et les noyaux sont utilisés selon les demandes en cours. Vous ne devez pas super rapide exécution out-of-order au fond synchroniser vos e-mails, mais vous le faites lors de la lecture des jeux complexes. Donc, le droit de base est utilisée au bon moment.

penser big.LITTLE

Ce principe de l'utilisation de la logique plus complexe dans le processeur pour une meilleure performance, et moins logique complexe pour une haute efficacité, ne concerne pas seulement à la conduite de l'instruction. Il applique également à l'unité de virgule flottante, à la logique SIMD (c.-à-NEON sur ARM et SSE / MMX sur les processeurs Intel), et de la façon dont le caches L1 et L2 travail. Intel propose une solution unique par Atom SoC ARM, à travers ses partenaires de silicium, offre de multiples configurations dont beaucoup peuvent être mises en œuvre simultanément dans le même silicium.

Compatibilité

ARM est le leader actuel en termes de processeurs mobiles. Les partenaires de ARM ont livré 50 milliards de puces basées sur ses dessins, tous pour les marchés mobiles et embarqués. Pour Android, ARM est le standard de facto et cela conduit à un problème pour Intel et MIPS. Bien que Android utilise Java comme langage de programmation principe, il permet aussi aux programmeurs de prendre leur code existant (en C ou C ++, par exemple) et créer des applications. Ces applications «natives» sont généralement établies pour les processeurs ARM et pas toujours pour Intel ou MIPS. Pour contourner ce problème Intel et MIPS besoin d'utiliser un logiciel spécial de traduction qui convertit les instructions ARM dans le code pour leurs processeurs. Ce des impacts de cours performances. Au moment MIPS et Intel peuvent réclamer sur une compatibilité avec toutes les applications disponibles sur le Play Store de 90%. Ce chiffre est probablement plus proche de 100% lorsqu'ils traitent avec les 150 meilleures applications. D'une main qui est une bonne couverture, mais d'autre part il montre la domination d'ARM en ce que les autres concepteurs de processeurs doivent offrir une couche de compatibilité.

Conclure

Construire une CPU est une entreprise complexe. ARM, Intel et MIPS travaillent tous dur pour apporter la meilleure technologie disponible pour les appareils mobiles, mais ARM est clairement le leader. En mettant l'accent sur les processeurs électriques efficaces, la mise en œuvre de son propre 64-bit, son informatique hétérogène, et de son rôle comme la norme de facto pour l'informatique mobile, alors il ressemble ARM devrait rester au sommet.




» » » ARM vs X86 - Principales différences expliqué!