Tout sur l'architecture des processeurs mobiles ARM Cortex A53. Processeur ARM Cortex A7 : caractéristiques et avis

Plus récemment (il y a seulement 10 ans), il existait trois architectures sur le marché des processeurs grand public, et toutes étaient plus ou moins bien séparées : les processeurs ARM étaient installés dans les appareils mobiles, où le temps était important vie de la batterie, des processeurs x86 ont été installés sur des appareils sous Contrôle Windows, eh bien, au mépris d'Intel, Apple a utilisé des processeurs basés sur l'architecture PowerPC dans ses appareils (même si nous savons qu'il a néanmoins « rampé » vers x86). Mais pour le moment, il ne reste que deux architectures sur le marché des processeurs personnalisés - PowerPC a abandonné la course, et tout récemment : le dernier appareil sur cette architecture, la PlayStation 3, n'était plus produit il y a quelques semaines à peine. De plus, il y a de plus en plus de fuites qu'il sera possible d'exécuter un Windows à part entière sur les processeurs ARM, et d'autre part, le même Android fonctionne bien avec les processeurs x86 à partir de la version 4.0. Autrement dit, comme nous le voyons, la différence entre ces architectures est de plus en plus floue aux yeux des utilisateurs, et dans cet article, nous découvrirons pourquoi cela se produit.

Architecture x86

Tout d'abord, définissons ce qu'est l'architecture. parlant langage clair, du point de vue du programmeur, l'architecture du processeur est sa compatibilité avec un certain ensemble d'instructions pouvant être utilisées lors de l'écriture de programmes et implémentées au niveau matériel à l'aide diverses combinaisons transistors du processeur.


Les processeurs x86 sont construits sur l'architecture CISC (Complex Instruction Set Computing, processeurs avec ensemble complet instructions) - cela signifie que le nombre maximum d'instructions est implémenté dans le processeur, ce qui, d'une part, simplifie l'écriture des programmes et réduit leur poids, et d'autre part, il est presque impossible de charger le processeur à 100%.

Le premier processeur x86 était l'Intel 8086, le premier processeur 16 bits d'Intel fonctionnant jusqu'à 10 MHz et sorti en 1978. Le processeur s'est avéré extrêmement populaire et a été produit jusqu'en 1990, et tous les processeurs suivants ont commencé à être rendus compatibles avec lui. Au début, cette compatibilité était indiquée par la fin du nom du processeur avec 86, mais plus tard, avec la sortie du Pentium, ils ont décidé d'appeler l'architecture x86.

En 1985, le processeur i386 est sorti, qui est devenu le premier processeur 32 bits d'Intel, et en 1989, Intel a lancé le premier processeur scalaire i486 - ce processeur pouvait effectuer une opération par horloge. Plus tard, avec la sortie du Pentium en 1993, les processeurs d'Intel sont devenus superscalaires, c'est-à-dire qu'ils ont appris à effectuer plusieurs opérations en un seul cycle d'horloge, et superpipelinés, c'est-à-dire qu'ils avaient deux pipelines de calcul. Mais ce n'est pas tout - en fait, tous les processeurs Intel, à commencer par le i486DX, sont des processeurs CISC avec un cœur RISC (Reduced Instruction Set Computer, processeurs avec un jeu d'instructions réduit) : un traducteur matériel est intégré au microprocesseur, qui est converti par CISC immédiatement avant l'exécution - instructions des processeurs x86 en un ensemble plus simple d'instructions RISC internes, tandis qu'une instruction x86 peut générer plusieurs instructions RISC.

Depuis lors, rien n'a beaucoup changé - oui, le nombre de pipelines a augmenté, le nombre d'opérations par horloge a augmenté, les processeurs sont devenus multicœurs et 64 bits, mais jusqu'à présent, toutes les solutions d'Intel et d'AMD sont microprocesseurs superscalaires superpipelinés basés sur l'architecture CISC avec un cœur RISC.

Architecture ARM

L'architecture ARM est apparue plus tard que x86, en 1986 avec la sortie du processeur ARM2. Le but de son développement était optimisation maximale et en réduisant le nombre de transistors - par exemple, sous charge, le processeur x86 utilisait alors à peine 30% du nombre de tous les transistors, tous les autres étaient simplement inactifs. Par conséquent, ARM a développé sa propre puce sur l'architecture RISC, qu'ils ont appelée ARM2 - elle n'avait que 30 000 transistors (contre 275 000 transistors dans l'i386 alors actuel), et n'avait pas de cache (qui, en général, était alors le standard pour les processeurs - un cache peut être acheté et installé séparément), mais aussi le firmware en tant que tel - le microcode a été exécuté comme n'importe quel autre langage machine, en convertissant en instructions simples:


En conséquence, du fait que le nombre de transistors dans les processeurs ARM est nettement inférieur à celui des processeurs x86, nous obtenons que leur dissipation thermique est également nettement inférieure. Mais, d'autre part, en raison de l'architecture simplifiée, les performances d'ARM sont également nettement inférieures à celles de x86.

À l'avenir, la prise en charge du superscalarisme et de la superconvoyance a également été vissée à ARM, les processeurs sont devenus multicœurs et sont devenus 64 bits il y a quelques années. En conséquence, les solutions modernes d'ARM sont microprocesseurs superscalaires superpipelinés basés sur l'architecture RISC.

Résultats

En conséquence, nous voyons deux extrêmes : x86 sont solutions puissantes, accroché avec des instructions qui peuvent effectuer absolument n'importe quelle tâche avec une bonne vitesse. Mais vous devez payer pour cela avec une dissipation thermique accrue. BRAS ou - processeurs simples, qui ont un ensemble d'instructions beaucoup plus petit, de sorte que l'exécution de nombreuses tâches sérieuses sur eux n'a pas beaucoup de sens en raison de la lenteur du processus. Mais en même temps, la dissipation thermique est faible. Cependant, la chose la plus importante est que les deux architectures prennent en charge les instructions RISC, ce qui signifie que vous pouvez exécuter le même système d'exploitation sur les deux architectures, ce que nous voyons dans le cas d'Android, Linux et Windows, et cela signifie qu'à l'avenir, la différence entre x86 et ARM brouilleront tout.

La réponse est pour les applications avec une sécurité fonctionnelle accrue. Au moins de base Cortex BRAS-R dans les microcontrôleurs "temps réel" hautes performances de Texas Instruments est utilisé pour cela.


Bien que les processeurs Cortex-R soient presque entièrement compatibles avec les processeurs Cortex-A et Cortex-M en termes de jeux d'instructions, il existe encore des différences significatives entre eux. En particulier, le cœur Cortex-R a des performances plus élevées que Cortex-M, tout en pouvant effectuer des opérations déterministes, ce qui est difficile à réaliser sur les processeurs d'application Cortex-A. Ainsi, en termes de performances, Cortex-R se situe entre Cortex-M et Cortex-A, mais en même temps, il peut être utilisé à la fois dans les microcontrôleurs et les processeurs.


Le cœur Cortex-R est construit sur l'architecture Harvard et fournit une vitesse d'horloge élevée grâce à un pipeline à 8 étages et une exécution d'instructions superscalaires. Les instructions matérielles SIMD permettent des performances élevées traitement numérique signaux et travailler avec des données multimédias. De plus, le Cortex-M présente des fonctionnalités d'amélioration des performances telles qu'un préchargeur d'instructions, un prédicteur de branche et un diviseur matériel. Ces composants architecturaux aident les processeurs Cortex-R4 et Cortex-R5 à atteindre des performances DMIPS/MHz élevées. Une autre caractéristique intéressante du cœur Cortex-R est que le pipeline à virgule flottante conforme à la norme IEEE-754 prend en charge les formats simple précision (32 bits) et double précision (64 bits) et fonctionne en parallèle avec le pipeline d'opérations sur nombres à virgule fixe.



La mémoire à faible latence étroitement couplée garantit que les réponses aux événements en temps réel sont aussi rapides que possible et que les interruptions sont traitées aussi rapidement que possible. Ces capacités, ainsi que les hautes performances et le déterminisme du cœur Cortex-R, le rendent adapté aux applications en temps réel qui nécessitent également une sécurité fonctionnelle.


Si vous êtes dans l'industrie de la sécurité et de la fiabilité, vous avez probablement entendu parler de la sécurité fonctionnelle des composants électroniques programmables, et la première norme qui vous vient à l'esprit est peut-être la CEI 61508. Il s'agit de la principale norme de sécurité internationale qui existe depuis environ 20 ans et est observé dans de nombreuses industries. La sécurité fonctionnelle est envisagée dans les transports (industries aérospatiale, ferroviaire et automobile), dans l'industrie, la médecine, les énergies renouvelables et d'autres domaines. Ces industries ont soit développé leurs propres normes de sécurité, soit adapté des normes internationales telles que la CEI 61508. Il convient de noter en particulier qu'en 2012, l'industrie automobile a approuvé sa propre norme de sécurité fonctionnelle ISO 26262.


Alors, qu'est-ce qui est bien avec Cortex-R en termes de sécurité fonctionnelle ? Tout d'abord, des fonctionnalités de configuration uniques qui permettent de corriger les erreurs. Ces fonctionnalités sont des options qu'ARM a intégrées directement dans le noyau, qui incluent des fonctionnalités de détection et de correction d'erreurs qui protègent les bus et les systèmes de mémoire L1, les modes de fonctionnement utilisateur et privilégié. Logiciel avec une unité de protection de la mémoire (MPU) et une prise en charge de la configuration de l'étape de verrouillage double cœur (DCLS).


Qu'est-ce que le DCLS et pourquoi est-il nécessaire ? Si vous êtes un ingénieur logiciel travaillant sur un projet qui nécessite un appareil pour fonctionner de manière fiable et sûre, alors DCLS vous facilitera la vie. Ceci est particulièrement utile si vous utilisez deux microcontrôleurs ou deux cœurs indépendants pour diagnostiquer les erreurs sur le même cœur.


Il y a quelques problèmes spécifiques lorsque l'on travaille avec un noyau indépendant. Tout d'abord, vous devez écrire du code "supplémentaire" pour chaque microcontrôleur qu'un autre microcontrôleur surveillera. Deuxièmement, vous devez maintenant faire de ce code la partie principale du module de sécurité de votre système, ce qui signifie que vous devez assurer la fiabilité et la sécurité des travaux ultérieurs dans chaque ligne de ce code. Grâce à DCLS, ce code "supplémentaire", ainsi que la nécessité de le sécuriser, appartiennent au passé. Bien sûr, le développeur doit encore écrire de nombreuses lignes de code liées à la sécurité, mais ce mécanisme lui facilite tout de même la vie.


Pour faciliter la compréhension, le mécanisme DCLS peut être représenté comme une combinaison du processeur principal et du module de contrôle. Du point de vue du programmeur, la programmation d'un tel système ne sera pas différente de la programmation d'un microcontrôleur monocœur classique. Le deuxième noyau, c'est-à-dire le module de vérification, ainsi que la logique de comparaison, effectue le travail du code "supplémentaire" décrit ci-dessus, ainsi que bien plus encore. La logique de comparaison peut détecter une erreur en quelques cycles de processeur, tandis qu'un cœur discret peut y consacrer des centaines, voire des milliers de cycles. Par conséquent, DCLS est beaucoup plus rapide dans la détection des bogues et peut faire gagner un temps précieux lors du développement de code fiable.

Les premières puces ARM sont apparues il y a trois décennies grâce aux efforts de la société britannique Acorn Computers (aujourd'hui ARM Limited), mais longue durée sont restés dans l'ombre de leurs homologues les plus éminents - les processeurs d'architecture x86. Tout a basculé avec le passage de l'industrie informatique à l'ère post-informatique, lorsque ce n'était plus le PC qui dominait la balle, mais gadgets mobiles.

Caractéristiques de l'architecture ARM

Cela vaut peut-être la peine de commencer par le fait que dans l'architecture de processeur x86, qui est maintenant utilisée par Intel et AMD, le jeu d'instructions CISC (Complex Instruction Set Computer) est utilisé, mais pas dans sa forme pure. Donc, un grand nombre de les instructions de structure complexe, qui ont longtemps été la marque de fabrique de l'ICCA, sont d'abord décodées en instructions simples, puis traitées. Il est clair que toute cette chaîne d'actions demande beaucoup d'énergie.

Les puces d'architecture ARM avec le jeu d'instructions RISC (Reduced Instruction Set Computer) agissent comme une alternative économe en énergie. Son avantage réside dans le petit ensemble initial de commandes simples qui sont traitées à un coût minimal. De ce fait, deux architectures de processeurs, x86 et ARM, coexistent pacifiquement (en fait, pas très pacifiquement) sur le marché de l'électronique grand public, chacune ayant ses avantages et ses inconvénients.


L'architecture x86 se positionne comme plus polyvalente en termes de tâches qu'elle peut effectuer, y compris même celles gourmandes en ressources telles que l'édition de photos, de musique et de vidéos, ainsi que le cryptage et la compression des données. À son tour, l'architecture ARM «part» en raison d'une consommation d'énergie extrêmement faible et, en général, de performances suffisantes pour les objectifs les plus importants aujourd'hui: dessiner des pages Web et lire du contenu multimédia.


Modèle commercial d'ARM Limited

Désormais, ARM Limited ne s'occupe que du développement d'architectures de processeurs de référence et de leur licence. La création de modèles de puces spécifiques et leur production en série ultérieure est déjà l'affaire des licenciés ARM, qui sont très nombreux. Parmi eux se trouvent des entreprises connues uniquement dans des cercles étroits comme STMicroelectronics, HiSilicon et Atmel, ainsi que des géants de l'informatique, dont les noms sont sur toutes les lèvres - Samsung, NVIDIA et Qualcomm. La liste complète des sociétés licenciées se trouve sur la page correspondante du site officiel d'ARM Limited.


Un si grand nombre de licenciés est principalement dû à l'abondance d'applications pour les processeurs ARM, et les gadgets mobiles ne sont que la pointe de l'iceberg. Puces peu coûteuses et économes en énergie utilisées dans les systèmes embarqués, équipement réseau et instruments de mesure. Terminaux de paiement, modems 3G externes et moniteurs de fréquence cardiaque sportifs Tous ces appareils sont basés sur l'architecture du processeur ARM.


Selon les analystes, ARM Limited lui-même gagne 0,067 $ en royalties sur chaque puce produite. Mais c'est un montant très moyen, car le coût des derniers processeurs multicœurs est nettement supérieur aux puces monocœur d'architecture obsolète.

Système à puce unique

À PARTIR DE point technique Il n'est pas tout à fait correct d'appeler des processeurs de puces d'architecture ARM, car en plus d'un ou plusieurs cœurs de calcul, ils comprennent un certain nombre de composants connexes. Les termes système à puce unique et système sur puce (de l'anglais system on a chip) sont plus appropriés dans ce cas.

Ainsi, les derniers systèmes à puce unique pour smartphones et ordinateurs tablettes inclure le contrôleur mémoire vive, accélérateur graphique, décodeur vidéo, codec audio et modules optionnels Communication sans fil. Les puces hautement spécialisées peuvent inclure des contrôleurs supplémentaires pour interagir avec périphériques comme les capteurs.


Les composants individuels d'un système monopuce peuvent être développés directement par ARM Limited ou sociétés tierces. Un exemple frappant de cela sont les accélérateurs graphiques, qui, en plus d'ARM Limited (graphiques Mali), sont développés par Qualcomm (graphiques Adreno) et NVIDIA (graphiques GeForce ULP).

N'oubliez pas la société Imagination Technologies, qui ne fait que concevoir des accélérateurs graphiques PowerVR. Mais c'est elle qui détient près de la moitié du marché mondial des graphismes mobiles : Gadgets Apple et Amazon, tablettes Samsung Galaxy L'onglet 2 aussi smartphone pas cher basé sur les processeurs MTK.

Générations de puces héritées

Les architectures de processeur obsolètes, mais toujours répandues, sont ARM9 et ARM11, qui appartiennent respectivement aux familles ARMv5 et ARMv6.

ARM9. Les puces ARM9 peuvent atteindre fréquence d'horloge 400 MHz et très probablement installés à l'intérieur de votre routeur sans fil et d'un ancien mais toujours fiable téléphone mobile aimer Sony Ericsson K750i et Nokia 6300. Le jeu d'instructions Jazelle est essentiel pour les puces ARM9, qui vous permet de travailler confortablement avec les applications Java (Opera Mini, Jimm, Foliant, etc.).

ARM11. Les processeurs ARM11 disposent d'un ensemble d'instructions étendu par rapport à ARM9 et d'une vitesse d'horloge beaucoup plus élevée (jusqu'à 1 GHz), bien que leur puissance ne soit pas non plus suffisante pour les tâches modernes. Cependant, en raison d'une faible consommation électrique et, non moins important, d'un coût, les puces ARM11 sont toujours utilisées dans les smartphones d'entrée de gamme : Samsung Galaxy Pocket et Nokia 500.

Générations modernes de puces

Toutes les puces d'architecture ARM plus ou moins nouvelles appartiennent à la famille ARMv7, dont les représentants phares ont déjà atteint la barre des huit cœurs et une fréquence d'horloge supérieure à 2 GHz. Les cœurs de processeur développés directement par ARM Limited appartiennent à la gamme Cortex et la plupart des fabricants de systèmes à puce unique les utilisent sans modifications significatives. Seuls Qualcomm et Apple ont créé leurs propres modifications basées sur ARMv7 - la première a appelé leurs créations Scorpion et Krait, et la seconde - Swift.


ARM Cortex-A8. Historiquement, le premier cœur de processeur de la famille ARMv7 était Cortex-A8, qui constituait la base de SoC bien connus de son époque comme Apple A4 (iPhone 4 et iPad) et Samsung Hummingbird (Samsung Galaxy S et Galaxy Tab). Il démontre environ deux fois les performances par rapport au prédécesseur ARM11. De plus, le cœur Cortex-A8 a reçu un coprocesseur NEON pour le traitement de la vidéo haute définition et le support Plug-in Adobeéclair.

Certes, tout cela a eu un impact négatif sur la consommation d'énergie de Cortex-A8, qui est nettement supérieure à celle d'ARM11. Malgré le fait que les puces ARM Cortex-A8 sont toujours utilisées dans les tablettes économiques (système monopuce Allwiner Boxchip A10), leurs jours sur le marché sont apparemment comptés.

ARM Cortex-A9. Après Cortex-A8, ARM Limited a introduit une nouvelle génération de puces - Cortex-A9, qui est désormais la plus courante et occupe une niche de prix moyen. Les performances des cœurs Cortex-A9 ont été multipliées par environ par rapport au Cortex-A8, et il est également possible d'en combiner deux voire quatre sur une seule puce.

Le coprocesseur NEON est déjà devenu optionnel : NVIDIA l'a éliminé dans son système monopuce Tegra 2, décidant de le sortir plus d'espace pour l'accélérateur graphique. Certes, rien de bon n'en est sorti, car la plupart des applications de lecteur vidéo se concentraient toujours sur le NEON éprouvé.


C'est sous le "règne" de Cortex-A9 que sont apparues les premières implémentations du concept big.LITTLE proposé par ARM Limited, selon lequel les systèmes à puce unique devraient avoir des cœurs de processeur à la fois puissants et faibles, mais économes en énergie. La première implémentation du concept big.LITTLE était un système sur puce NVIDIA Tegra 3 avec quatre cœurs Cortex-A9 (jusqu'à 1,7 GHz) et un cinquième cœur compagnon économe en énergie (500 MHz) pour les tâches d'arrière-plan simples.

ARM Cortex-A5 et Cortex-A7. Lors de la conception des cœurs de processeur Cortex-A5 et Cortex-A7, ARM Limited a poursuivi le même objectif - parvenir à un compromis entre la consommation électrique minimale d'ARM11 et la vitesse acceptable du Cortex-A8. Nous n'avons pas oublié la possibilité de combiner deux ou quatre cœurs - les puces multicœurs Cortex-A5 et Cortex-A7 apparaissent progressivement en vente (Qualcomm MSM8625 et MTK 6589).


BRAS Cortex-A15. Les cœurs de processeur Cortex-A15 sont devenus une suite logique du Cortex-A9 - en conséquence, pour la première fois de l'histoire, les puces d'architecture ARM ont réussi à égaler à peu près les performances d'Intel Atom, et c'est déjà un grand succès. Pas en vain, après tout, la configuration système requise de Canonical pour la version du système d'exploitation Ubuntu tactile avec un multitâche complet indiqué un processeur ARM Cortex-A15 double cœur ou Intel Atom équivalent.


De nombreux gadgets basés sur NVIDIA Tegra 4 avec quatre cœurs ARM Cortex-A15 et un cinquième cœur compagnon Cortex-A7 seront mis en vente très prochainement. Après NVIDIA, le concept big.LITTLE a été repris par Samsung: Le "cœur" du smartphone Galaxy S4 est la puce Exynos 5 Octa avec quatre cœurs Cortex-A15 et le même nombre de cœurs Cortex-A7 économes en énergie.


Perspectives futures

Les gadgets mobiles basés sur les puces Cortex-A15 ne sont pas encore vraiment apparus en vente, et les principales tendances la poursuite du développement Les architectures ARM sont déjà connues. ARM Limited a déjà officiellement dévoilé la prochaine famille de processeurs ARMv8, qui sera obligatoirement en 64 bits. Les cœurs Cortex-A53 et Cortex-A57 ouvrent une nouvelle ère de processeurs RISC : le premier est économe en énergie et le second est performant, mais les deux sont capables de fonctionner avec de grandes quantités de RAM.

Les fabricants d'électronique grand public ne se sont pas encore particulièrement intéressés à la famille de processeurs ARMv8, mais de nouveaux licenciés se profilent à l'horizon, prévoyant d'amener les puces ARM sur le marché des serveurs : AMD et Calxeda. L'idée est innovante, mais elle a le droit à la vie : les mêmes accélérateurs graphiques NVIDIA Tesla, composés d'un grand nombre noyaux simples, ont prouvé en pratique leur efficacité en tant que solutions serveur.

Il existe aujourd'hui deux architectures de processeur les plus populaires. Il s'agit de x86, qui a été développé dans les années 80 et est utilisé dans Ordinateur personnel et ARM - plus moderne, qui vous permet de rendre les processeurs plus petits et plus économiques. Il est utilisé dans la plupart des appareils mobiles ou des tablettes.

Les deux architectures ont leurs avantages et leurs inconvénients, ainsi que leurs domaines d'application, mais il existe également des caractéristiques communes. De nombreux experts disent qu'ARM est l'avenir, mais il a encore des inconvénients que x86 n'a pas. Dans notre article d'aujourd'hui, nous verrons en quoi l'architecture du bras diffère de x86. Considérer différences fondamentales ARM ou x86, et essayez également de déterminer lequel est le meilleur.

Le processeur est le composant principal de tout appareil informatique, que ce soit un smartphone ou un ordinateur. Ses performances déterminent la vitesse à laquelle l'appareil fonctionnera et combien il peut fonctionner sur batterie. En termes simples, l'architecture du processeur est un ensemble d'instructions qui peuvent être utilisées dans la programmation et sont implémentées au niveau matériel à l'aide de certaines combinaisons transistors du processeur. Ce sont eux qui permettent aux programmes d'interagir avec le matériel et de déterminer comment les données seront transférées et lues à partir de la mémoire.

Il existe actuellement deux types d'architectures : CISC (Complex Instruction Set Computing) et RISC (Reduced Instruction Set Computing). Le premier suppose que des instructions pour toutes les occasions seront implémentées dans le processeur, le second, RISC, confie aux développeurs la tâche de créer un processeur avec un ensemble de commandes minimalement nécessaires au fonctionnement. Les instructions RISC ont taille plus petite et plus simple.

architecture x86

L'architecture de processeur x86 a été développée en 1978 et est apparue pour la première fois dans les processeurs Intel et appartient au type CISC. Son nom est tiré du modèle du premier processeur avec cette architecture - Intel 8086. Au fil du temps, faute de la meilleure alternative d'autres fabricants de processeurs, comme AMD, ont commencé à prendre en charge cette architecture. C'est maintenant la norme pour ordinateurs de bureau, ordinateurs portables, netbooks, serveurs et autres appareils similaires. Mais parfois, les processeurs x86 sont également utilisés dans les tablettes, c'est une pratique assez courante.

Le premier processeur Intel 8086 avait une profondeur de bits de 16 bits, puis en 2000, un processeur d'architecture 32 bits a été lancé, et même plus tard, une architecture 64 bits est apparue. Nous en avons discuté en détail dans un article séparé. Pendant ce temps, l'architecture a beaucoup évolué, de nouveaux jeux d'instructions et extensions ont été ajoutés, ce qui peut augmenter considérablement les performances du processeur.

x86 présente plusieurs inconvénients importants. C'est d'abord la complexité des équipes, leur confusion, qui est née d'une longue histoire de développement. Deuxièmement, ces processeurs consomment trop d'énergie et génèrent beaucoup de chaleur à cause de cela. Les ingénieurs x86 ont d'abord cherché à obtenir performance maximum, et la vitesse nécessite des ressources. Avant d'examiner les différences entre arm x86, parlons de l'architecture ARM.

Architecture ARM

Cette architecture a été introduite un peu plus tard pour x86 - en 1985. Il a été développé par Acorn, une société bien connue en Grande-Bretagne, puis cette architecture s'appelait Arcon Risk Machine et appartenait au type RISC, mais sa version améliorée, Advanced RISC Machine, est sortie, qui est maintenant connue sous le nom d'ARM.

Lors du développement de cette architecture, les ingénieurs se sont fixé pour objectif d'éliminer toutes les lacunes de x86 et de créer une architecture complètement nouvelle et plus efficace. Les puces ARM ont reçu une consommation d'énergie minimale et bas prix, mais avaient de faibles performances par rapport à x86, ils n'ont donc pas gagné en popularité sur les ordinateurs personnels.

Contrairement à x86, les développeurs ont d'abord essayé d'obtenir coûts minimaux sur les ressources, ils ont moins d'instructions de processeur, moins de transistors, mais, par conséquent, moins caractéristiques supplémentaires. Mais ces dernières années, les performances des processeurs ARM se sont améliorées. Compte tenu de cela et d'une faible consommation d'énergie, ils ont commencé à être très largement utilisés dans appareils mobiles comme les tablettes et les smartphones.

Différences entre ARM et x86

Et maintenant que nous avons considéré l'histoire du développement de ces architectures et leurs différences fondamentales, faisons comparaison détaillée ARM et x86, selon leurs différentes caractéristiques, afin de déterminer lequel est le meilleur et de comprendre plus précisément quelle est leur différence.

Production

La production x86 vs bras est différente. Les processeurs x86 ne sont produits que par deux sociétés, Intel et AMD. Au départ, il s'agissait d'une seule entreprise, mais c'est une toute autre histoire. Seules ces entreprises ont le droit de libérer de tels processeurs, ce qui signifie qu'elles seules géreront la direction du développement de l'infrastructure.

ARM fonctionne très différemment. La société qui développe ARM ne publie rien. Ils délivrent simplement l'autorisation de développer des processeurs de cette architecture, et déjà les fabricants peuvent faire tout ce dont ils ont besoin, par exemple, publier des puces spécifiques avec les modules dont ils ont besoin.

Nombre d'instructions

Ce sont les principales différences entre les architectures arm et x86. Les processeurs x86 ont évolué rapidement pour devenir plus puissants et plus productifs. Les développeurs ont ajouté un grand nombre d'instructions de processeur, et ici il n'y a pas seulement un ensemble de base, mais beaucoup de commandes dont on pourrait se passer. Initialement, cela a été fait pour réduire la quantité de mémoire occupée par les programmes sur le disque. De plus, de nombreuses options de protection et de virtualisation, des optimisations et bien plus encore ont été développées. Tout cela nécessite des transistors et de l'énergie supplémentaires.

ARM est plus simple. Il y a beaucoup moins d'instructions de processeur ici, seulement celles qui sont nécessaires système opérateur et sont effectivement utilisés. Si nous comparons x86, alors seulement 30 % de tous consignes éventuelles. Ils sont plus faciles à apprendre si vous décidez d'écrire des programmes à la main, et ils nécessitent moins de transistors à mettre en œuvre.

Consommation d'énergie

Une autre conclusion ressort du paragraphe précédent. Plus il y a de transistors sur la carte, plus sa surface et sa consommation électrique sont importantes, et vice versa.

Les processeurs x86 consomment beaucoup plus d'énergie que l'ARM. Mais la consommation d'énergie est également affectée par la taille du transistor lui-même. Par exemple, un processeur Intel i7 consomme 47 watts et tout processeur ARM pour smartphone ne consomme pas plus de 3 watts. Auparavant, des cartes avec une taille d'élément unique de 80 nm étaient produites, puis Intel l'a réduite à 22 nm, et cette année, les scientifiques ont pu créer une carte avec une taille d'élément de 1 nanomètre. Cela réduira considérablement la consommation d'énergie sans sacrifier les performances.

Ces dernières années, la consommation d'énergie des processeurs x86 a été considérablement réduite, par exemple, les nouveaux processeurs Intel Haswell peuvent durer plus longtemps sur batterie. Maintenant, la différence arm vs x86 s'efface progressivement.

Dissipation de la chaleur

Le nombre de transistors affecte un autre paramètre - c'est la génération de chaleur. Appareils modernes ne peut pas convertir toute l'énergie en action efficace, une partie est dissipée sous forme de chaleur. L'efficacité des cartes est la même, ce qui signifie que moins il y a de transistors et plus leur taille est petite, moins le processeur générera de chaleur. Il n'est plus question d'ARM ou le x86 générera moins de chaleur.

Performances du processeur

ARM n'a pas été conçu pour des performances maximales, c'est là que x86 prospère. Cela est dû en partie au nombre réduit de transistors. Mais récemment, les performances des processeurs ARM ont augmenté et ils peuvent déjà être pleinement utilisés dans les ordinateurs portables ou sur les serveurs.

résultats

Dans cet article, nous avons examiné en quoi ARM diffère de x86. Les différences sont assez sérieuses. Mais dernièrement, la frontière entre les deux architectures s'est estompée. Les processeurs ARM deviennent plus productifs et plus rapides, et x86, en raison de la réduction de la taille de l'élément structurel de la carte, commencent à consommer moins d'énergie et à générer moins de chaleur. Vous pouvez déjà trouver des processeurs ARM sur des serveurs et des ordinateurs portables, et des processeurs x86 sur des tablettes et des smartphones.

Et que pensez-vous de ces x86 et ARM ? Quelle est la technologie du futur selon vous ? Écrivez dans les commentaires! D'ailleurs, .

A la fin de la vidéo sur le développement de l'architecture ARM :

Processeurs ARM - ce qu'ils sont et "avec quoi ils mangent". Entrée sur le marché de processeurs mobilesà bien des égards a été une véritable percée révolutionnaire. On peut dire que pour la première fois l'architecture x86 a un concurrent important, qui, bien qu'au début il n'occupait qu'un créneau voisin, commence déjà aujourd'hui à serrer sérieusement les positions de l'industrie informatique de longue date.

Mais quelle est la différence? Qu'est-ce que l'architecture ARM et en quoi est-elle différente de x86 ? Dans ce dernier, utilisé dans Processeurs Intel et AMD, le jeu de commandes CISC est utilisé. Le traitement basé sur eux est très fonctionnel, ouvre de l'espace pour les programmeurs et les développeurs de matériel, mais nécessite une quantité d'énergie considérable. L'essence du CISC, en gros, est que chaque commande entrante est décodée dans l'élément le plus simple et ensuite seulement traitée.

Dans ARM, les choses sont différentes. Il fonctionne sur la base de commandes RISC, qui contiennent déjà un ensemble prêt à l'emploi d'éléments simples. Cela réduit la flexibilité du processeur, mais la vitesse de traitement des données augmente plusieurs fois et, par conséquent, réduit la consommation d'énergie d'un tel processeur.

Il s'avère donc que x86 est une architecture universelle adaptée à la résolution de nombreux problèmes, alors qu'ARM nécessite un affûtage plus fin du fer et que les possibilités d'une telle architecture sont un peu plus limitées. Cependant, les capacités d'ARM deviennent de plus en plus grandes. Même maintenant, de tels processeurs conviennent à la norme Bureau de travail, lecture de contenu multimédia, travail sur Internet.

ARM se développe rapidement, aidé par le fait que des dizaines de marques concurrentes travaillent sur cette technologie via la franchise, alors que seules deux sociétés travaillent sur l'architecture x86, dont les représentants disent presque directement que le segment stagne ... et Vous pouvez 't dire la même chose sur ARM.

En parlant de ce que sont les puces ARM, il convient de noter un moment tel que la complexité du système moderne proposé systèmes mobiles. ARM n'est pas qu'un seul processeur. En règle générale, il comprend : un contrôleur RAM, un accélérateur graphique, un décodeur vidéo, un codec audio et des modules de communication sans fil en option. Un tel système est appelé monopuce. En d'autres termes, ARM est une puce sur puce.

A ce jour, ARM dispose de plusieurs générations de processeurs :

ARM9. Les puces ARM9 peuvent atteindre des vitesses d'horloge de 400 MHz. Ces puces sont obsolètes, mais toujours en demande. Par exemple, dans routeurs sans fil et terminaux de paiement. L'ensemble de commandes simples d'une telle puce facilite l'exécution de nombreuses applications Java.

ARM11. Les processeurs ARM11 disposent d'un ensemble plus complet de commandes simples qui étendent leurs fonctionnalités et leurs vitesses d'horloge élevées (jusqu'à 1 GHz). En raison de leur faible consommation d'énergie et de leur faible coût, les puces ARM11 sont toujours utilisées dans les smartphones d'entrée de gamme.

ARMv7. Les puces d'architecture ARM modernes appartiennent à la famille ARMv7, dont les représentants phares ont déjà atteint la marque de huit cœurs et une vitesse d'horloge de plus de 2 GHz. Les cœurs de processeur développés directement par ARM Limited appartiennent à la gamme Cortex et la plupart des fabricants de systèmes à puce unique les utilisent sans modifications significatives.

ARM Cortex-A8. Historiquement, le premier cœur de processeur de la famille ARMv7 était Cortex-A8, qui constituait la base de SoC bien connus de son époque comme Apple A4 (iPhone 4 et iPad) et Samsung Hummingbird (Samsung Galaxy S et Galaxy Tab). Il démontre environ deux fois les performances par rapport au précédent ARM11, et hélas, une consommation d'énergie plus élevée, ce qui rend cette puce désormais extrêmement impopulaire.

ARM Cortex-A9. Après Cortex-A8, ARM Limited a introduit une nouvelle génération de puces - Cortex-A9, qui est désormais la plus courante et occupe une niche de prix moyen. Les performances des cœurs Cortex-A9 ont été multipliées par environ par rapport au Cortex-A8, et il est également possible d'en combiner deux voire quatre sur une seule puce.

ARM Cortex-A5 et Cortex-A7. Lors de la conception des cœurs de processeur Cortex-A5 et Cortex-A7, ARM Limited a poursuivi le même objectif - parvenir à un compromis entre la consommation électrique minimale d'ARM11 et la vitesse acceptable du Cortex-A8. Nous n'avons pas oublié la possibilité de combiner deux ou quatre cœurs - les puces multicœurs Cortex-A5 et Cortex-A7 apparaissent progressivement en vente (Qualcomm MSM8625 et MTK 6589).

BRAS Cortex-A15. Les cœurs de processeur Cortex-A15 sont devenus une suite logique du Cortex-A9 - en conséquence, pour la première fois de l'histoire, les puces d'architecture ARM ont réussi à égaler à peu près les performances d'Intel Atom, et c'est déjà un grand succès. Ce n'est pas pour rien que Canonical a spécifié un processeur ARM Cortex-A15 à double cœur ou un Intel Atom similaire dans la configuration système requise pour la version du système d'exploitation Ubuntu Touch avec multitâche complet.

frites BRAS un grand avenir vous attend. Le nombre de commandes, la fréquence de fonctionnement, le nombre de cœurs augmentent activement et la consommation électrique reste faible. À l'avenir, les puces ARM conviendront au multitâche plein format, que l'on ne trouve désormais que sur les systèmes x86. Cependant, même avec les conditions du vecteur de développement actuel, il est trop tôt pour dire que le segment de l'électronique grand public passera complètement aux puces ARM. Et le point ici, tout d'abord, c'est le prix. Prix puces mobiles croît de façon exponentielle, tandis que x86 continue de devenir moins cher. C'est le facteur prix, ainsi que la différence de fonctionnalité, qui sera quelque peu surmonté, et il est tout à fait compréhensible que les systèmes ARM développés ne remportent pas bientôt une victoire inconditionnelle dans la course pour leur consommateur ...