Architecture ARM. Dans la lutte pour le marché des PC. Processeur ARM Cortex A7 : caractéristiques et avis

Monde de l'ordinateurévolue rapidement. Les ordinateurs de bureau ont perdu la première place du classement des ventes au profit des ordinateurs portables, et ils sont sur le point de céder le marché aux tablettes et autres appareils mobiles. Il y a 10 ans, nous valorisions le mégahertz pur, la véritable puissance et les performances. Désormais, pour conquérir le marché, le processeur doit être non seulement rapide, mais aussi économique. Beaucoup de gens pensent qu’ARM est l’architecture du 21e siècle. Est-ce ainsi ?

Nouveau - vieux bien oublié

Les journalistes, à la suite des responsables des relations publiques d'ARM, présentent souvent cette architecture comme quelque chose de complètement nouveau qui devrait enterrer le x86 aux cheveux gris.

En fait, ARM et x86, sur la base desquels sont construits les processeurs Intel, AMD et VIA installés dans les ordinateurs portables et de bureau, ont presque le même âge. La première puce x86 est sortie en 1978. Le projet ARM a officiellement démarré en 1983, mais s'appuyait sur des développements réalisés presque simultanément à la création du x86.


Les premiers ARM ont impressionné les spécialistes par leur élégance, mais avec leurs performances relativement faibles, ils n'ont pas pu conquérir un marché qui exigeait des vitesses élevées et ne prêtait pas attention à l'efficacité. Certaines conditions devaient être réunies pour que la popularité d'ARM monte en flèche.

Au tournant des années 80 et 90, avec leur huile relativement bon marché, les énormes SUV dotés de puissants moteurs de 6 litres étaient très demandés. Peu de gens s’intéressaient aux voitures électriques. Mais à notre époque, où le baril de pétrole coûte plus de 100 dollars, seuls les riches ont besoin de grosses voitures équipées de moteurs gourmands en énergie ; les autres sont pressés de passer à des voitures économiques. Une chose similaire s'est produite avec ARM. Lorsque la question de la mobilité et de l’efficacité s’est posée, l’architecture s’est révélée très demandée.

Processeur "Risque"

ARM est une architecture RISC. Il utilise un ensemble réduit de commandes - RISC (ordinateur à jeu d'instructions réduit). Ce type d'architecture est apparu à la fin des années 70, à peu près au moment où Intel proposait son x86.


En expérimentant divers compilateurs et processeurs de microcode, les ingénieurs ont remarqué que dans certains cas, des séquences de commandes simples étaient exécutées plus rapidement qu'une seule opération complexe. Il a été décidé de créer une architecture qui impliquerait de travailler avec un ensemble limité d'instructions simples, dont le décodage et l'exécution prendraient un minimum de temps.


L'un des premiers projets de processeurs RISC a été réalisé par un groupe d'étudiants et d'enseignants de l'Université de Berkeley en 1981. C’est précisément à cette époque que la société britannique Acorn relève le défi du temps. Elle a produit des ordinateurs éducatifs BBC Micro basés sur le processeur 6502, qui étaient très populaires à Foggy Albion. Mais ces ordinateurs personnels ont rapidement commencé à perdre face à des machines plus avancées. Acorn risquait de perdre le marché. Les ingénieurs de l'entreprise, après avoir pris connaissance des travaux des étudiants sur les processeurs RISC, ont décidé que créer leur propre puce serait assez simple. En 1983, le projet Acorn RISC Machine est lancé, qui deviendra plus tard ARM. Trois ans plus tard, le premier processeur sortait.

Premier BRAS

Il était extrêmement simple. Les premières puces ARM manquaient même d'instructions de multiplication et de division, qui étaient représentées par un ensemble d'instructions plus simples. Une autre caractéristique des puces était les principes de travail avec la mémoire : toutes les opérations avec les données ne pouvaient être effectuées que dans des registres. Dans le même temps, le processeur fonctionnait avec ce qu'on appelle la fenêtre de registre, c'est-à-dire qu'il ne pouvait accéder qu'à une partie de tous les registres disponibles, qui étaient pour la plupart universels, et leur fonctionnement dépendait du mode dans lequel se trouvait le processeur. Cela a permis d'abandonner le cache dans les toutes premières versions d'ARM.

De plus, en simplifiant les jeux d'instructions, les développeurs d'architecture ont pu se passer d'un certain nombre d'autres blocs. Par exemple, les premiers ARM manquaient complètement de microcode, ainsi que d'unité à virgule flottante (FPU). Le nombre total de transistors dans le premier ARM était de 30 000. Dans des x86 similaires, il y en avait plusieurs fois, voire un ordre de grandeur de plus. Des économies d'énergie supplémentaires sont obtenues grâce à l'exécution conditionnelle des commandes. C'est-à-dire que telle ou telle opération sera effectuée s'il existe un fait correspondant dans le registre. Cela aide le processeur à éviter les « mouvements inutiles ». Toutes les instructions sont exécutées séquentiellement. En conséquence, ARM a perdu en performances, mais pas de manière significative, tout en gagnant considérablement en consommation électrique.

Les principes de base de l'architecture restent les mêmes que dans le premier ARM : travailler avec des données uniquement dans des registres, un jeu d'instructions réduit, un minimum de modules supplémentaires. Tout cela confère à l’architecture une faible consommation d’énergie et des performances relativement élevées.

Afin d'augmenter ce chiffre, ARM a introduit plusieurs jeux d'instructions supplémentaires ces dernières années. Aux côtés de l'ARM classique, il existe Thumb, Thumb 2, Jazelle. Ce dernier est conçu pour accélérer l’exécution du code Java.

Cortex - l'ARM le plus avancé

Cortex architecture moderne Pour appareils mobiles, systèmes embarqués et microcontrôleurs. En conséquence, les processeurs sont désignés comme Cortex-A, intégrés – Cortex-R et les microcontrôleurs – Cortex-M. Tous sont construits sur l’architecture ARMv7.

L'architecture la plus avancée et la plus puissante de la gamme ARM est le Cortex-A15. On suppose que des modèles principalement à deux ou quatre cœurs seront produits sur cette base. Le Cortex-A15 de tous les ARM précédents est le plus proche du x86 en termes de nombre et de qualité de blocs.


Le Cortex-A15 est basé sur des cœurs de processeur équipés d'une unité FPU et d'un ensemble d'instructions NEON SIMD conçues pour accélérer le traitement des données multimédia. Les cœurs disposent d'un pipeline en 13 étapes, ils prennent en charge l'exécution d'instructions libres et la virtualisation basée sur ARM.

Cortex-A15 prend en charge le système d'adressage de mémoire avancé. ARM reste une architecture 32 bits, mais les ingénieurs de la société ont appris à convertir le 64 bits ou tout autre adressage avancé en 32 bits convivial pour le processeur. La technologie s’appelle Extensions d’adresses physiques longues. Grâce à lui, le Cortex-A15 peut théoriquement adresser jusqu'à 1 To de mémoire.

Chaque cœur est équipé d'un cache de premier niveau. De plus, il existe jusqu'à 4 Mo de cache L2 distribué à faible latence. Le processeur est équipé d'un bus cohérent de 128 bits, qui peut être utilisé pour communiquer avec d'autres unités et périphériques.

Les noyaux qui sous-tendent le Cortex-A15 sont un développement du Cortex-A9. Ils ont une structure similaire.


Le Cortex-A9, contrairement au Cortex-A15, peut être produit en versions multicœur et monocœur. La fréquence maximale est de 2,0 GHz, Cortex-A15 suggère la possibilité de créer des puces fonctionnant à une fréquence de 2,5 GHz. Les puces basées sur celui-ci seront fabriquées à l'aide de procédés techniques de 40 nm et moins. Le Cortex-A9 est produit selon des technologies de traitement de 65 et 40 nm.

Le Cortex-A9, comme le Cortex-A15, est destiné à être utilisé dans les smartphones et tablettes hautes performances, mais il ne convient pas aux applications plus sérieuses, par exemple dans les serveurs. Seul le Cortex-A15 dispose d'une virtualisation matérielle et d'un adressage mémoire avancé. De plus, le jeu d'instructions NEON Advanced SIMD et le FPU sont facultatifs dans le Cortex-A9, alors qu'ils sont requis dans le Cortex-A15.

Le Cortex-A8 disparaîtra progressivement de la scène à l'avenir, mais pour l'instant, cette variante monocœur trouvera une utilisation dans les smartphones économiques. La solution à faible coût, allant de 600 MHz à 1 GHz, offre une architecture équilibrée. Il dispose d'une unité FPU et prend en charge la première version de SIMD NEON. Cortex-A8 suppose un seul processus technologique - 65 nm.

ARM des générations précédentes


Les processeurs ARM11 sont assez courants sur le marché mobile. Ils sont construits sur la base de l'architecture ARMv6 et de ses modifications. Il se caractérise par des pipelines en 8 à 9 étapes, la prise en charge de Jazelle, qui permet d'accélérer le traitement du code Java, les instructions de flux SIMD, Thumb-2.

Les processeurs XScale, ARM10E, ARM9E sont basés sur l'architecture ARMv5 et ses modifications. Longueur maximale le pipeline est composé de 6 étapes, Thumb, Jazelle DBX, Enhanced DSP. Les puces Xscale ont un cache de deuxième niveau. Les processeurs étaient utilisés dans les smartphones du milieu des années 2000 ; on les trouve aujourd'hui dans certains téléphones portables bon marché.


ARM9TDMI, ARM8, StrongARM - représentants d'ARMv4, qui dispose d'un pipeline en 3 à 5 étapes et prend en charge Thumb. ARMv4, par exemple, se retrouvait dans les premiers iPod classiques.

ARM6 et ARM7 appartiennent à ARMv3. Dans cette architecture, l'unité FPU est apparue pour la première fois ; un adressage mémoire 32 bits a été implémenté, et non 26 bits, comme dans les premiers exemples d'architecture. ARMv2 et ARMv1 étaient techniquement des puces de 32 bits, mais en réalité ne fonctionnaient activement qu'avec un espace d'adressage de 26 bits. Le cache est apparu pour la première fois dans ARMv2.

Leur nom est légion

Acorn n’avait pas initialement l’intention de devenir un acteur sur le marché des processeurs. La tâche du projet ARM était de créer une puce de sa propre production pour la production d'ordinateurs - c'était la création de PC qu'Acorn considérait comme son activité principale.


ARM est passé d'un groupe de développement à une entreprise grâce à Apple. En 1990, Apple, en collaboration avec VLSI et Acorn, a commencé à développer un processeur à faible coût pour le premier ordinateur de poche, le Newton. À ces fins, une société distincte a été créée, qui a reçu le nom de projet interne Acorn - ARM.

Avec la participation d'Apple, un processeur ARM6 a été créé, le plus proche des puces modernes d'un développeur anglais. Dans le même temps, DEC a pu breveter l'architecture ARM6 et a commencé à produire des puces sous la marque StrongARM. Quelques années plus tard, la technologie a été transférée à Intel dans le cadre d'un autre litige en matière de brevet. Le géant des microprocesseurs a créé son propre processeur analogique, le processeur XScale, basé sur ARM. Mais au milieu de la décennie précédente, Intel s'est débarrassé de cet « actif non essentiel », en se concentrant exclusivement sur le x86. XScale est passé entre les mains de Marvell, qui détenait déjà une licence pour ARM.

Au début, ARM, qui était nouveau dans le monde, n'était pas en mesure de produire des processeurs. Sa direction a choisi une autre manière de gagner de l’argent. L'architecture ARM était simple et flexible. Au début, le noyau n'avait même pas de cache, donc par la suite les modules supplémentaires, y compris les contrôleurs FPU, n'étaient pas étroitement intégrés au processeur, mais étaient, pour ainsi dire, attachés à la base.

En conséquence, ARM a mis la main sur un concepteur intelligent qui a permis aux entreprises technologiquement avancées de créer des processeurs ou des microcontrôleurs adaptés à leurs besoins. Cela se fait à l'aide de coprocesseurs, qui peuvent étendre les fonctionnalités standard. Au total, l'architecture prend en charge jusqu'à 16 coprocesseurs (numéros de 0 à 15), mais le numéro 15 est réservé au coprocesseur qui exécute les fonctions de gestion du cache et de la mémoire.

Les périphériques se connectent à la puce ARM, mappant leurs registres sur l'espace mémoire du processeur ou du coprocesseur. Par exemple, une puce de traitement d'image peut être constituée de relativement noyau simple basé sur ARM7TDMI et à partir d'un coprocesseur qui assure le décodage du signal HDTV.


ARM a commencé à octroyer des licences pour son architecture. D'autres sociétés l'ont déjà implémenté dans le silicium, notamment Texas Instruments, Marvell, Qualcomm, Freescale, mais aussi des sociétés totalement non essentielles comme Samsung, Nokia, Nintendo ou Canon.

L'absence de ses propres usines, ainsi que des frais de licence impressionnants, ont permis à ARM d'être plus flexible dans le développement de nouvelles versions de l'architecture. L’entreprise les a cuits comme des petits pains chauds, pénétrant ainsi de nouveaux créneaux. Outre les smartphones et les tablettes, l'architecture est utilisée dans des processeurs spécialisés, par exemple dans les navigateurs GPS, les appareils photo numériques et les caméras vidéo. Des contrôleurs industriels et autres puces pour systèmes embarqués sont créés sur cette base.

Le système de licences ARM est un véritable hypermarché de la microélectronique. La société accorde des licences non seulement pour les nouvelles architectures, mais également pour les architectures existantes. Ces derniers peuvent être utilisés pour créer des microcontrôleurs ou des puces pour des appareils à faible coût. Bien entendu, le niveau des droits de licence dépend du degré de nouveauté et de complexité de la variante architecturale qui intéresse le constructeur. Traditionnellement, les processus techniques pour lesquels ARM développe des processeurs sont en retard de 1 à 2 étapes sur ceux considérés comme pertinents pour x86. La haute efficacité énergétique de l'architecture la rend moins dépendante de la transition vers de nouvelles normes technologiques. Intel et AMD s'efforcent de fabriquer des puces plus fines afin d'augmenter les fréquences et le nombre de cœurs tout en conservant la taille physique et la consommation électrique. ARM a intrinsèquement des besoins en énergie inférieurs et offre également des niveaux de performances par watt plus élevés.

Caractéristiques des processeurs NVIDIA, TI, Qualcomm, Marvell

En accordant des licences ARM à gauche et à droite, les développeurs ont renforcé la position de leur architecture au détriment des compétences de leurs partenaires. Un exemple classique dans ce cas est NVIDIA Tegra. Cette gamme de systèmes sur puce est basée sur l'architecture ARM, mais NVIDIA avait déjà ses propres développements très sérieux dans le domaine des graphiques 3D et de la logique système.


ARM donne à ses concédants de licence une grande latitude pour repenser l'architecture. Ainsi, les ingénieurs de NVIDIA ont pu combiner dans Tegra les atouts d'ARM (CPU computing) et de leurs propres produits - travailler avec des graphiques tridimensionnels, etc. En conséquence, Tegra offre les performances 3D les plus élevées de sa catégorie de processeurs. Ils sont 25 à 30 % plus rapides que PowerVR, utilisé par Samsung et Texas Instruments, et presque deux fois plus rapides qu'Adreno, développé par Qualcomm.

D'autres fabricants de processeurs basés sur l'architecture ARM renforcent certains blocs supplémentaires, améliorent les puces pour atteindre des fréquences et des performances plus élevées.


Par exemple, Qualcomm n'utilise pas la conception de référence ARM. Les ingénieurs de l'entreprise l'ont sérieusement retravaillé et l'ont appelé Scorpio - c'est la base des puces Snapdragon. La conception a été en partie repensée pour s'adapter à des processus techniques plus sophistiqués que ceux fournis par l'IP ARM standard. En conséquence, les premiers Snapdragons ont été produits à 45 nm, ce qui leur a fourni des fréquences plus élevées. Et la nouvelle génération de ces processeurs avec une fréquence déclarée de 2,5 GHz pourrait même devenir la plus rapide parmi les analogues basés sur ARM Cortex-A9. Qualcomm utilise également son propre cœur graphique Adreno, créé sur la base de développements achetés auprès d'AMD. D’une certaine manière, Snapdragon et Tegra sont des ennemis au niveau génétique.


Lors de la création de Hummingbird, Samsung a également pris la voie de l'optimisation de l'architecture. Les Coréens, en collaboration avec la société Intrinsity, ont modifié la logique, réduisant ainsi le nombre d'instructions nécessaires pour effectuer certaines opérations. Ainsi, nous avons réussi à gagner 5 à 10 % de productivité. De plus, un cache dynamique L2 et une extension multimédia ARM NEON ont été ajoutés. Les Coréens ont utilisé le PowerVR SGX540 comme module graphique.


Texas Instruments, dans sa nouvelle série OMAP basée sur l'architecture ARM Cortex-A, a ajouté un module IVA spécial chargé d'accélérer le traitement des images. Il vous permet de traiter rapidement les données provenant du capteur vers la caméra intégrée. De plus, il est connecté au FAI et contribue à l’accélération vidéo. OMAP utilise également des graphiques PowerVR.


L'Apple A4 dispose d'un grand cache de 512 Ko, utilise des graphiques PowerVR et le cœur ARM lui-même est construit sur une variante de l'architecture repensée par Samsung.


L'Apple A5 dual-core, qui a fait ses débuts sur l'iPad 2 début 2011, est basé sur l'architecture ARM Cortex-A9, tout comme celle précédemment optimisée par Samsung. Par rapport à l'A4, la nouvelle puce dispose du double de la quantité de mémoire cache de deuxième niveau : elle a été augmentée à 1 Mo. Le processeur contient un contrôleur RAM double canal et dispose d'une unité vidéo améliorée. En conséquence, il est deux fois plus performant que l'Apple A4 dans certaines tâches.

Marvell propose des puces basées sur sa propre architecture Sheeva, qui, après y avoir regardé de plus près, s'avère être un hybride de XScale, une fois acheté auprès d'Intel, et d'ARM. Ces puces ont une plus grande quantité de mémoire cache que leurs homologues et sont équipées d'un module multimédia spécial.

Actuellement, les titulaires de licence ARM produisent uniquement des puces basées sur l'architecture ARM Cortex-A9. Dans le même temps, bien qu'il permette de créer des variantes quadricœurs, NVIDIA, Apple, Texas Instruments et autres se limitent toujours aux modèles à un ou deux cœurs. De plus, les puces fonctionnent à des fréquences allant jusqu'à 1,5 GHz. Cortex-A9 vous permet de fabriquer des processeurs à deux GHz, mais encore une fois, les fabricants n'essaient pas d'augmenter rapidement les fréquences - après tout, pour l'instant, le marché disposera de suffisamment de processeurs dual-core à 1,5 GHz.

Les processeurs basés sur Cortex-A15 devraient devenir véritablement multicœurs, mais même s'ils sont annoncés, ils ne le sont que sur papier. Leur apparition dans le silicium devrait être attendue l’année prochaine.

Processeurs sous licence ARM modernes basés sur Cortex-A9 :


x86 est le principal concurrent

x86 est un représentant des architectures CISC. Ils utilisent l'ensemble complet des commandes. Dans ce cas, une instruction effectue plusieurs opérations de bas niveau. Le code du programme, contrairement à ARM, est plus compact, mais ne s'exécute pas aussi rapidement et nécessite plus de ressources. De plus, dès le début, x86 était équipé de tous les blocs nécessaires, ce qui impliquait à la fois leur polyvalence et leur gourmandise. Une énergie supplémentaire a été consacrée à l'exécution inconditionnelle et parallèle des commandes. Cela permet d'obtenir un avantage en termes de vitesse, mais certaines opérations sont effectuées en vain car elles ne satisfont pas aux conditions précédentes.

Il s'agissait des x86 classiques, mais à partir du 80486, Intel a de facto créé un cœur RISC interne qui exécutait les instructions CISC, auparavant décomposées en instructions plus simples. Les processeurs Intel et AMD modernes ont la même conception.

Windows 8 et ARM

ARM et x86 diffèrent aujourd'hui il y a moins de 30 ans, mais sont toujours basés sur des principes différents, ce qui les divise en différentes niches du marché des processeurs. Les architectures ne se seraient peut-être jamais croisées si l’ordinateur lui-même n’avait pas changé.

La mobilité et la rentabilité sont venues en premier, et une plus grande attention a été accordée aux smartphones et aux tablettes. Apple gagne beaucoup d’argent grâce aux gadgets mobiles et à l’infrastructure qui y est liée. Microsoft ne veut pas être en reste et tente depuis la deuxième année de s'implanter sur le marché des tablettes. Google a plutôt du succès.

Le PC de bureau devient avant tout un outil de travail ; le créneau de l'ordinateur domestique est occupé par les tablettes et les appareils spécialisés. Dans ces conditions, Microsoft va franchir une étape sans précédent. . On ne sait pas encore exactement à quoi cela va conduire. Nous obtiendrons deux versions du système d'exploitation, ou une qui fonctionnera avec les deux architectures. Le support ARM de Microsoft va-t-il tuer x86 ou non ?


Il y a encore peu d'informations. Microsoft a démontré Fonctionnement de Windows 8 sur un appareil doté d'un processeur ARM lors du CES 2011. Steve Ballmer a montré que sur la plate-forme ARM utilisant Windows, vous pouvez regarder des vidéos, travailler avec des images, surfer sur Internet - Internet Explorer fonctionnait même avec l'accélération matérielle - connecter des périphériques USB, imprimer des documents. La chose la plus importante dans cette démo était la présence de Microsoft Office fonctionnant sur ARM sans la participation d'une machine virtuelle. Lors de la présentation, trois gadgets basés sur des processeurs de Qualcomm, Texas Instruments et NVIDIA ont été présentés. Windows avait un shell standard « sept », mais les représentants de Microsoft ont annoncé un nouveau noyau système repensé.

Cependant, Windows n'est pas seulement un système d'exploitation créé par les ingénieurs de Microsoft, c'est aussi des millions de programmes. Certains logiciels sont essentiels pour de nombreuses professions. Par exemple, le package Adobe CS. L'entreprise prendra-t-elle en charge une version ARM-Windows du logiciel, ou le nouveau noyau permettra-t-il à Photoshop et autres applications populaires travailler sur des ordinateurs équipés de NVIDIA Tegra ou d'autres puces similaires sans modifications de code supplémentaires ?

De plus, la question se pose avec les cartes vidéo. De nos jours, les cartes vidéo pour ordinateurs portables sont fabriquées en optimisant la consommation électrique des puces graphiques des ordinateurs de bureau – leur architecture est la même. Dans le même temps, une carte vidéo est désormais quelque chose comme un "ordinateur dans un ordinateur" - elle possède sa propre RAM ultra-rapide et sa propre puce informatique, qui est nettement supérieure aux processeurs conventionnels dans des tâches spécifiques. Il va sans dire que les applications fonctionnant avec des graphiques 3D ont été optimisées de manière appropriée. Oui, et divers programmes de montage vidéo et éditeurs graphiques (notamment Photoshop à partir de la version CS4), et plus récemment également les navigateurs, utilisent l'accélération matérielle via les GPU.

Bien entendu, sous Android, MeeGo, BlackBerry OS, iOS et autres systèmes mobiles, l'optimisation nécessaire a été réalisée pour les différents accélérateurs mobiles (plus précisément ultra-mobiles) du marché. Cependant, ils ne sont pas pris en charge sous Windows. Les pilotes, bien sûr, seront écrits (et ont déjà été écrits - les processeurs Intel Atom de la série Z500 sont livrés avec un chipset qui intègre le cœur graphique « smartphone » PowerVR SGX 535), mais l'optimisation des applications pour eux peut être tardive, voire pas du tout. .

Évidemment, « ARM sur le bureau » ne fera pas vraiment son chemin. Peut-être dans des systèmes à faible consommation sur lesquels ils accéderont à Internet et regarderont des films. Sur les nettops en général. Jusqu'à présent, ARM essaie uniquement de viser le créneau occupé par Intel Atom et qu'AMD poursuit désormais activement avec sa plate-forme Brazos. Et apparemment, elle y parviendra en partie. À moins que les deux sociétés de transformation ne proposent quelque chose de très compétitif.

Dans certains endroits, Intel Atom et ARM sont déjà en concurrence. Ils sont utilisés pour créer un stockage de données en réseau et des serveurs basse consommation pouvant desservir un petit bureau ou un appartement. Il existe également plusieurs projets commerciaux de clusters basés sur des puces Intel économiques. Les caractéristiques des nouveaux processeurs basés sur ARM Cortex-A9 permettent de les utiliser pour prendre en charge l'infrastructure. Donc, dans quelques années, nous aurons peut-être des serveurs ARM ou ARM-NAS pour les petits réseaux locaux, l’émergence de serveurs web basse consommation ne peut être exclue.

Premier combat

Le principal concurrent d'ARM du côté x86 est Intel Atom, et nous pouvons maintenant ajouter le . Une comparaison entre x86 et ARM a été réalisée par Van Smith, qui a créé les packages de test OpenSourceMark, miniBench et l'un des co-auteurs de SiSoftware Sandra. Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050 ont participé à la « course ». Les fréquences des puces x86 ont été réduites, mais elles présentaient toujours un avantage grâce à une mémoire plus avancée.

Les résultats se sont révélés très intéressants. La puce ARM s'est avérée aussi rapide que ses concurrents dans les opérations entières, tout en consommant moins d'énergie. Il n’y a rien de surprenant ici. Au départ, l’architecture était à la fois assez rapide et économique. Dans les opérations en virgule flottante, ARM était inférieur à x86. L'unité FPU, traditionnellement puissante, présente dans les puces Intel et AMD a eu un impact ici. Rappelons qu'il est apparu dans ARM relativement récemment. Les tâches qui incombent au FPU occupent une place importante dans la vie d'un utilisateur moderne - il s'agit des jeux, de l'encodage vidéo et audio et d'autres opérations de streaming. Bien entendu, les tests menés par Van Smith ne sont plus aussi d’actualité aujourd’hui. ARM a considérablement renforcé les faiblesses de son architecture dans les versions Cortex-A9 et surtout Cortex-A15, qui, par exemple, peuvent déjà exécuter des instructions sans condition, parallélisant la résolution de problèmes.

Perspectives pour ARM

Alors quelle architecture choisir au final, ARM ou x86 ? Il serait plus correct de parier sur les deux. Aujourd'hui, nous vivons dans des conditions de reformatage du marché informatique. En 2008, les netbooks étaient promis à un brillant avenir. Les ordinateurs portables compacts bon marché étaient censés devenir l'ordinateur principal de la plupart des utilisateurs, surtout dans le contexte de la crise mondiale. Mais ensuite l’économie a commencé à se redresser et l’iPad est apparu. Les tablettes sont désormais déclarées reines du marché. Cependant, la tablette est une bonne console de divertissement, mais pas très pratique pour le travail, principalement en raison de la saisie tactile - écrire cet article sur un iPad serait très difficile et prendrait beaucoup de temps. Les tablettes résisteront-elles à l’épreuve du temps ? Peut-être que dans quelques années nous proposerons un nouveau jouet.

Néanmoins, dans le segment mobile, où des performances élevées ne sont pas requises et où l'activité des utilisateurs est principalement limitée au divertissement et non liée au travail, ARM semble préférable au x86. Ils offrent un niveau de performances acceptable, ainsi qu’une longue durée de vie de la batterie. Les tentatives d'Intel pour concrétiser Atom ont jusqu'à présent échoué. ARM établit une nouvelle référence en matière de performances par watt. Très probablement, ARM réussira dans les gadgets mobiles compacts. Ils peuvent également devenir leaders sur le marché des netbooks, mais ici tout ne dépend pas tant des développeurs de processeurs que de Microsoft et de Google. Si le premier implémente la prise en charge ARM normale dans Windows 8, le second concrétise Chrome OS. Jusqu’à présent, les smartbooks proposés par Qualcomm ne sont pas encore arrivés sur le marché. Les netbooks basés sur x86 ont survécu.

Selon ARM, une avancée dans ce sens devrait être réalisée par l'architecture Cortex-A15. La société recommande des processeurs dual et quad-core basés sur celui-ci avec une fréquence de 1,0 à 2,0 GHz pour les systèmes de divertissement à domicile qui combineront un lecteur multimédia, un téléviseur 3D et un terminal Internet. Les puces quadricœurs avec une fréquence de 1,5 à 2,5 GHz peuvent devenir la base des serveurs domestiques et Web. Enfin, le cas d’utilisation le plus ambitieux du Cortex-A15 concerne l’infrastructure réseau sans fil. Des puces avec quatre cœurs ou plus et une fréquence de 1,5 à 2,5 GHz peuvent être utilisées ici.

Mais pour l’instant, ce ne sont que des projets. Le Cortex-A15 a été introduit par ARM en septembre de l'année dernière. Cortex-A9 a été présenté par la société en octobre 2007. Deux ans plus tard, la société a présenté la variante A9 avec la capacité d'augmenter la fréquence des puces à 2,0 GHz. À titre de comparaison, NVIDIA Tegra 2 - l'une des solutions les plus populaires basées sur Cortex-A9 - n'est sortie qu'en janvier de l'année dernière. Eh bien, les utilisateurs ont pu toucher les premiers gadgets basés sur celui-ci après six mois supplémentaires.

Le segment des PC de travail et des solutions hautes performances restera avec le x86. Cela ne signifiera pas la mort de l'architecture, mais en termes monétaires, Intel et AMD devraient se préparer à la perte d'une partie des revenus qui reviendront aux fabricants de processeurs ARM.

Ils pensaient que puisqu'un groupe d'étudiants parvenait à créer un processeur totalement compétitif, cela ne serait pas difficile pour leurs ingénieurs. Un voyage au Western Design Center de Phoenix a montré aux ingénieurs Steve Ferber et Sophie Wilson qu'ils n'auraient pas besoin de ressources incroyables pour réaliser ce plan.

Wilson a commencé à développer le jeu d'instructions en créant un simulateur du nouveau processeur sur un ordinateur BBC Micro. Cela a convaincu les ingénieurs d’Acorn qu’ils étaient sur la bonne voie. Mais avant d’aller plus loin, il leur fallait davantage de ressources. Il était temps pour Wilson d'approcher Herman Hauser, PDG d'Acorn, et de lui expliquer ce qui se passait. Après avoir donné le feu vert, une petite équipe s'est réunie pour mettre en œuvre le modèle de Wilson dans le matériel.

Machine RISC de gland : ARM2

Le projet officiel Acorn RISC Machine a été lancé en octobre 1983. Technologie VLSI ( Anglais) a été sélectionné comme fournisseur de silicium car il fournissait déjà à Acorn des puces ROM et des circuits intégrés personnalisés. Wilson et Ferber ont dirigé le développement. Leur objectif principal était d'obtenir une faible latence d'interruption, similaire à celle de la technologie MOS 6502. L'architecture d'accès mémoire reprise du 6502 a permis aux développeurs d'obtenir de bonnes performances sans utiliser de module DMA coûteux à mettre en œuvre. Le premier processeur a été produit par VLSI le 26 avril 1985, lorsqu'il a commencé à fonctionner et s'appelait ARM1. Les premiers processeurs de production, appelés ARM2, sont devenus disponibles l'année suivante.

Sa première utilisation a été comme deuxième processeur chez BBC Micro, où il a été utilisé dans le développement d'un logiciel de simulation permettant de compléter les puces de support informatique, ainsi que d'accélérer le logiciel de CAO utilisé dans le développement de l'ARM2. Wilson a optimisé le jeu d'instructions ARM pour exécuter BBC BASIC. L'objectif initial d'un ordinateur entièrement ARM a été atteint en 1987 avec la sortie d'Acorn Archimedes.

L'atmosphère entourant le projet ARM était si secrète que lorsque Olivetti a négocié l'achat d'une participation majoritaire dans Acorn en 1985, ils n'ont parlé du développement du projet qu'à la fin des négociations. En 1992, Acorn remporte à nouveau le Queen's Award pour ARM.

ARM2 avait un bus de données de 32 bits, un espace d'adressage de 26 bits et 16 registres de 32 bits. Le code du programme devait se trouver dans les 64 premiers mégaoctets de mémoire et le compteur du programme était limité à 26 bits, puisque les 4 premiers et les 2 derniers bits du registre de 32 bits servaient d'indicateurs. ARM2 est peut-être devenu le processeur 32 bits le plus simple au monde, avec seulement 30 000 transistors (à titre de comparaison, le processeur Motorola 68000 fabriqué 6 ans plus tôt comptait environ 70 000 transistors). Une grande partie de cette simplicité est due à l'absence de microcode (qui, dans le processeur 68000, occupe entre un quart et un tiers de la surface du die) et à l'absence de cache, comme dans de nombreux processeurs de l'époque. Cette simplicité se traduisait par de faibles coûts d'énergie, tandis que l'ARM était bien plus efficace que l'Intel 80286. Son successeur, le processeur ARM3, disposait déjà d'un cache de 4 Ko, augmentant encore les performances.

Apple, DEC, Intel : ARM6, StrongARM, Xscale

Les smartphones, PDA et autres appareils portables modernes utilisent principalement la version ARMv5 du noyau. Les processeurs XScale et ARM926 (ARMv5TE) sont désormais plus courants dans les appareils haut de gamme que, par exemple, les processeurs StrongARM et les processeurs ARMv4 basés sur ARM9TDMI et ARM7TDMI, mais les appareils moins complexes peuvent utiliser des versions plus anciennes avec des coûts de licence inférieurs. Les processeurs ARMv6 sont de la tête et des épaules supérieurs aux processeurs ARMv5 standard. Cortex-A est conçu spécifiquement pour les smartphones qui utilisaient auparavant ARM9 et ARM11. Cortex-R est conçu pour les applications en temps réel, tandis que Cortex-M est conçu pour les microcontrôleurs.

Impact de la technologie ARM sur le marché

Fin 2012, les nouveaux modèles de processeurs ARM d'Apple et de Samsung ont atteint les performances des processeurs Intel économiques pour ordinateurs portables. En particulier, la tablette Samsung Nexus 10 a affiché une note de performances de 2 348 points, tandis que le processeur économique Intel Core Duo ordinateur portable Apple MacAir affiche une note de seulement 1982 points.

Certaines entreprises annoncent le développement de serveurs performants basés sur des clusters de processeurs ARM. Cependant, depuis 2012, les ventes de serveurs ARM sont extrêmement faibles (< 1% рынка серверов) .

Processeurs ARM

Famille de noyau Version architecturale Cœur Les fonctions Cache (I/D)/MMU MIPS typique à MHz Usage
BRAS1 ARMv1 (obsolète) BRAS1 Non Processeur du système d'évaluation ARM BBC Micro
BRAS2 ARMv2 (obsolète) BRAS2 Ajout de la commande MUL (multiplier) Non 4 MIPS à 8 MHz
0,33 DMIPS/MHz
Gland Archimède, machine d'échecs
ARMv2a (obsolète) ARM250 MEMC (MMU) intégré, GPU, commandes SWP et SWPB (swap) ajoutées Non, MEMC1a 7 MIPS à 12 MHz Gland Archimède
ARM3 ARMv2a (obsolète) ARM2a Cache utilisé pour la première fois 4 Ko partagés 12 MIPS à 25 MHz
0,50 DMIPS/MHz
Gland Archimède
ARM6 ARMv3 (obsolète) ARM60 Espace d'adressage mémoire de 32 bits (au lieu de 26 bits) introduit pour la première fois Non 10 MIPS à 12 MHz Multijoueur interactif 3DO, récepteur GPS Zarlink
ARM600 Comme ARM60, coprocesseur mathématique à virgule flottante FPA10 4 Ko partagés 28 MIPS à 33 MHz
ARM610 Comme ARM60, cache, pas de bus coprocesseur 4 Ko partagés 17 MIPS à 20 MHz
0,65 DMIPS/MHz
Acorn Risc PC 600, série Apple Newton 100
ARM7 ARMv3 (obsolète) ARM700 8 Ko au total 40 MHz
ARM710 Comme ARM700 8 Ko au total 40 MHz Gland Risc PC 700
ARM710a Comme ARM700 8 Ko au total 40 MHz
0,68 DMIPS/MHz
Acorn Risc PC 700, Apple eMate 300
ARM7100 Comme le SoC intégré ARM710a 8 Ko au total 18 MHz Psion Série 5
ARM7500 Comme le SoC intégré ARM710a. 4 Ko partagés 40 MHz Gland A7000
ARM7500FE Comme ARM7500, "FE" a ajouté des contrôleurs de mémoire FPA et EDO 4 Ko partagés 56 MHz
0,73 DMIPS/MHz
Ordinateur réseau Acorn A7000+
ARM7TDMI ARMv4T ARM7TDMI(-S) Convoyeur à 3 étages, mode Thumb Non 15 MIPS à 16,8 MHz
63 DMIPS à 70 MHz
Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 et LH754xx, CoreMP7 d'Actel
ARM710T Comme ARM7TDMI, cache 8 Ko partagés, MMU 36 MIPS à 40 MHz Série Psion 5mx, Psion Revo/Revo Plus/Diamond Mako
ARM720T Comme ARM7TDMI, cache 8 Ko partagés, MMU avec extension de changement de contexte rapide (anglais) Extension de changement de contexte rapide) 60 MIPS à 59,8 MHz Messagerie sans fil Zipit, NXP Semiconductors LH7952x
ARM740T Comme ARM7TDMI, cache Carte mère
ARMv5TEJ ARM7EJ-S Convoyeur à 5 étages, Thumb, Jazelle DBX, commandes DSP avancées aucun
Bras fort ARMv4 SA-110 16 Ko/16 Ko, MMU 203 MHz
1,0 DMIPS/MHz
Série Apple Newton 2x00, PC Acorn Risc, Rebel/Corel Netwinder, Chalice CATS
SA-1100 16 Ko/8 Ko, MMU 203 MHz NetBook Psion
SA-1110 Comme le SA-110, SoC intégré 16 Ko/8 Ko, MMU 206 MHz LART (ordinateur), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, série Jornada 560, Palm Zire 31
ARM8 ARMv4 ARM810 Pipeline en 5 étapes, prédiction de branchement statique, mémoire à double bande passante 8 Ko unifiés, MMU 84 MIPS à 72 MHz
1,16 DMIPS/MHz
Carte CPU prototype PC Acorn Risc
ARM9TDMI ARMv4T ARM9TDMI Convoyeur à 5 étages, Thumb aucun
ARM920T Comme ARM9TDMI, cache 16 Ko/16 Ko, MMU avec FCSE (Fast Context Switch Extension) 200 MIPS à 180 MHz Armadillo, Atmel AT91SAM9, GP32, GP2X (premier cœur), Tapwave Zodiac (Motorola i. MX1), calculatrices Hewlett Packard HP-49/50, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC TyTN, FIC Neo FreeRunner ), Samsung S3C2410 (appareils de navigation TomTom)
ARM922T Comme ARM9TDMI, cache 8 Ko/8 Ko, MMU NXP Semi-conducteurs LH7A40x
ARM940T Comme ARM9TDMI, cache 4 Ko/4 Ko, carte-mère GP2X (deuxième cœur), Meizu M6 Mini Player
ARM9E ARMv5TE ARM946E-S Thumb, instructions DSP améliorées, caches mémoires variables et étroitement couplées, MPU Nintendo DS, Nokia N-Gage, Canon PowerShot A470, Canon EOS 5D Mark II, puces Conexant 802.11, Samsung S5L2010
ARM966E-S Pouce, instructions DSP améliorées pas de cache, TCM STM STR91xF, inclut Ethernet
ARM968E-S Comme ARM966E-S pas de cache, TCM NXP Semi-conducteurs LPC2900
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, instructions DSP améliorées variable, TCM, MMU 220 MIPS à 200 MHz, Téléphones mobiles : Sony Ericsson (séries K, W) ; Siemens et Benq (séries x65 et plus récentes) ; LG Arena, LG Cookie frais ; TI OMAP1710... OMAP1612, OMAP-L137, OMAP-L138 ; Qualcomm MSM6100...MSM6800 ; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000, GPH Wiz, NEC C10046F5-211-PN2-A SoC - noyau non documenté dans la puce graphique ATi Hollywood utilisée dans la Wii, Samsung S3C2412 utilisé dans les Squeezebox Duet Contrôleur. Radio Squeezebox ; Famille NeoMagic MiMagic MM6, MM6+, MM8, MTV ; Buffalo TeraStation Live (NAS); Telechips TCC7801, TCC7901 ; Système ZiiLABS" ZMS-05 sur puce ; Western Digital MyBook I édition mondiale
ARMv5TE ARM996HS Processeur sans horloge comme ARM966E-S pas de caches, TCM, MPU
ARM10E ARMv5TE ARM1020E Pipeline en 6 étapes, Thumb, instructions DSP avancées, (VFP) 32 Ko/32 Ko, MMU
ARM1022E Comme ARM1020E 16 Ko/16 Ko, MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, instructions DSP améliorées, (VFP) variable, MMU ou MPU Western Digital MyBook II World Edition ; SoC ADSL Conexant so4610 et so4615
Échelle X ARMv5TE 80200/IOP310/IOP315 Processeur d'E/S, Thumb, instructions DSP améliorées
80219 400/600 MHz Thécus N2100
  • Le processeur Intel 80219 comprend un cœur XScale 32 bits haute vitesse à 400 ou 600 MHz avec une interface PCI-X 64 bits
  • Le bus PCI/PCI-X vous permet de connecter des contrôleurs Gigabit Ethernet
PIO321 600 BogoMips à 600 MHz Iyonix
PIO33x
PIO34x 1-2 cœurs, accélération RAID 32K/32K L1, 512K L2, MMU
PXA210/PXA250 Processeur d'applications, pipeline en 7 étapes PXA210 : 133 et 200 MHz, PXA250 : 200, 300 et 400 MHz Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
PXA255 32 Ko/32 Ko, MMU 400 BogoMips à 400 MHz ; 371-533 MIPS à 400 MHz Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
PXA263 200, 300 et 400 MHz Sony CLIÉ NX73V, NX80V
PXA26x par défaut 400 MHz, jusqu'à 624 MHz Palme tungstène T3
PXA27x Processeur d'applications 32 Ko/32 Ko, MMU 800 MIPS à 624 MHz Gumstix verdex, « Trizeps-Modules » PXA270 COM, HTC Universal, hx4700, Zaurus SL-C1000, 3000, 3100, 3200, séries Dell Axim x30, x50 et x51, Motorola Q, Balloon3, Trolltech Greenphone, Palm TX, Motorola Ezx Plateforme A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Toshiba Portégé G900, Trēo 650-755p, Zipit Z2, HP iPa q 614c Navigateur d'entreprise
PXA800(E)F
PXA3XX (nom de code "Monahans") Le PXA31x dispose d'un accélérateur graphique matériel 32 Ko/32 Ko L1, TCM, MMU 800 MIPS à 624 MHz Alex sur écran haut
PXA900 Mûre 8700, Mûre Perle (8100)
IXC1100 Processeur du plan de contrôle
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42x NSLU2IXP460/IXP465
BRAS11 ARMv6 ARM1136J(F)-S Pipeline à 8 étapes, SIMD, Thumb, Jazelle DBX, (VFP), instructions DSP améliorées variable, MMU 740 à 532-665 MHz (SoC i.MX31), 400-528 MHz TI OMAP2420 (Nokia E90, Nokia N93, Nokia N95, Nokia N82), Zune, BUGbase, Nokia N800, Nokia N810, Qualcomm MSM7200 (avec coprocesseur ARM926EJ-S intégré à 274 MHz, utilisé dans Eten Glofiish, HTC TyTN II, HTC Nike ), Freescale i.MX31 (utilisé dans le Zune 30 Go d'origine et le Toshiba Gigabeat S), Freescale MXC300-30 (Nokia E63, Nokia E71, Nokia E72, Nokia 5800, Nokia E51, Nokia 6700 Classic, Nokia 6120 Classic, Nokia 6210 Navigator , Nokia 6220 Classic, Nokia 6290, Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75, Nokia N97, Nokia N81), Qualcomm MSM7201A comme on le voit dans le HTC Dream, le HTC Magic, le Motorola ZN5, le Motorola E8, le Motorola VE66, le Motorola Z6, HTC Hero et Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 utilisé dans ZTE Link, HTC Legend, HTC Wildfire S, LG P500, LG GT540,
ARMv6T2 ARM1156T2(F)-S Pipeline en 9 étapes, SIMD, Thumb-2, (VFP), instructions DSP améliorées variable, carte-mère
ARMv6KZ ARM1176JZ(F)-S Comme ARM1136EJ(F)-S variable, MMU+TrustZone Apple iPhone (original et 3G), Apple iPod touch (1re et 2e génération), Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100 ; Médiatek MT6573 ; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (par exemple Samsung Moment), S3C6430
ARMv6K ARM11 MPCore Comme ARM1136EJ(F)-S, 1-4 cœurs SMP variable, MMU Nvidia APX2500
Famille de noyau Version architecturale Cœur Les fonctions Cache (I/D)/MMU MIPS typique à MHz Applications
Cortex ARMv7-A Cortex-A5 VFP, NEON, Jazelle RCT et DBX, Thumb-2, convoyeur à 8 étages, dans l'ordre, 1 à 4 cœurs SMP variable (L1), MMU+TrustZone jusqu'à 1 500 (1,5 DMIPS/MHz) "Moineau" (nom de code ARM)
Cortex-A8 VFP, NÉON, Jazelle RCT, Thumb-2 ; Convoyeur à 13 étages, En commande, 2 décodeurs variable (L1+L2), MMU+TrustZone jusqu'à 2000 (2,0 DMIPS/MHz en vitesse de 600 MHz à supérieure à 1 GHz) Série TI OMAP3xxx, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS, Apple iPod touch (3e génération), Apple iPad(processeur Apple A4), Apple iPhone 4 (processeur Apple A4), Archos 5, Archos 101, FreeScale i.MX51-SOC, BeagleBoard, Motorola Droid, Motorola Droid X, Palm Pre, Samsung Omnia HD, Samsung Wave S8500, Nexus S , Sony Ericsson Satio, Touch Book, Nokia N900, Meizu M9, système ZiiLABS ZMS-08 sur puce, Boxchip A13
Cortex-A9 Profil d'application, (VFP), (NEON), Jazelle RCT et DBX, Thumb-2, problème spéculatif hors service superscalaire (2 décodeurs) ; 9 à 12 étages de convoyeur MMU+TrustZone 2,5 DMIPS/MHz Apple iPhone 4S, Apple iPad 2 (Apple A5), MediaTek MT6575/6515M
Cortex-A9 MPCore Comme Cortex-A9, 1 à 4 cœurs SMP MMU+TrustZone 10 000 DMIPS à 2 GHz sur TSMC 40G à performances optimisées (quad core ?) (2,5 DMIPS/MHz par cœur) PlayStation®Vita, TI OMAP4430/4440, ST-Ericsson U8500, Nvidia Tegra2, Samsung Exynos 4210, MediaTekMT6577/6517
Cortex-A15 MPCore 1 à 32 cœurs SMP ; Superscalaire hors service (3 décodeurs) ; Plus de 15 étages de convoyeur ; VFPv4, NÉON MMU, LPAE 3,5 DMIPS/MHz/cœur ; 1,0 GHz - 2,5 GHz (@ 28 nm)
Cortex-A7 MPCore FPU, NÉON ; En commande (1 décodeur); 8 étages de convoyeur. MMU, LPAE 1,9 DMIPS/MHz/CPU ; 0,8-1,5 GHz (@28 nm) (Broadcom, Freescale, HiSilicon, LG, Samsung, STEricsson, TexasInstruments, MediaTek)
ARMv7-R Cortex-R4(F) Profil intégré, Thumb-2, (FPU) cache variable, MPU en option 600 DMIPS à 475 MHz Broadcom est un utilisateur, TI TMS570
ARMv7-ME Cortex-M4 (nom de code "Merlin") Profil de microcontrôleur, Thumb et Thumb-2, FPU. Matériel MAC, SIMD et instructions de division Carte mère en option 1,25 DMIPS/MHz Semi-conducteurs NXP
ARMv7-M Cortex-M3 Profil de microcontrôleur, Thumb-2 uniquement. Instructions de division du matériel pas de cache, MPU en option 125 DMIPS à 100 MHz Stellaris, STM STM32, NXP LPC1700, Toshiba TMPM330FDFG, série EM3xx d'Ember, Atmel AT91SAM3, Europe Technologies EasyBCU, EFM32 d'Energy Micro, SmartFusion d'Actel, Milander 1986BE91T
ARMv6-M Cortex-M0 (nom de code "Swift") Profil de microcontrôleur, sous-ensemble Thumb-2 (instructions Thumb 16 bits et BL, MRS, MSR, ISB, DSB et DMB) Pas de cache 0,9 DMIPS/MHz NXP Semiconductors NXP LPC1100, Triad Semiconductor, Melfas, Chungbuk Technopark, Nuvoton, austriamicrosystems, Milandr K1986BE2T
Cortex-M1 FPGA ciblé, profil de microcontrôleur, sous-ensemble Thumb-2 (instructions Thumb 16 bits et BL, MRS, MSR, ISB, DSB et DMB) Aucun, mémoire étroitement couplée en option Jusqu'à 136 DMIPS à 170 MHz (0,8 DMIPS/MHz, MHz réalisable en fonction du FPGA) Les appareils Actel ProASIC3, ProASIC3L, IGLOO et Fusion PSC, Altera Cyclone III, d'autres produits FPGA sont également pris en charge, par ex. Synplicité
Famille de noyau Version architecturale Cœur Les fonctions Cache (I/D)/MMU MIPS typique à MHz Applications

Architecture

Il existe depuis longtemps un manuel de référence sur l'architecture ARM qui décrit tous les types d'interfaces pris en charge par ARM, car les détails d'implémentation de chaque type de processeur peuvent différer. L'architecture a évolué au fil du temps, et à partir d'ARMv7, 3 profils ont été définis : « A » (application) - applications, « R » (temps réel) - temps réel, « M » (microcontrôleur) - microcontrôleur.

Les profils peuvent prendre en charge moins de commandes (commandes d'un type spécifique).

Modes

Le processeur peut être dans l'un des modes de fonctionnement suivants :

  • Mode utilisateur - mode d'exécution normal du programme. La plupart des programmes fonctionnent dans ce mode.
  • Fast Interrupt (FIQ) - mode d'interruption rapide (temps de réponse plus court)
  • Interruption (IRQ) - mode d'interruption principal.
  • Mode système - mode protégé destiné à être utilisé par le système d'exploitation.
  • Mode d'abandon - le mode dans lequel le processeur passe lorsqu'une erreur d'accès à la mémoire se produit (accès aux données ou aux instructions à l'étape de prélecture du pipeline).
  • Mode superviseur - mode utilisateur privilégié.
  • Le mode non défini est le mode dans lequel le processeur entre lorsqu'il tente d'exécuter une instruction qui lui est inconnue.

La commutation du mode processeur se produit lorsqu'une exception correspondante se produit ou en modifiant le registre d'état.

Ensemble de commandes

Pour garder la conception propre, simple et rapide, la fabrication ARM d'origine a été réalisée sans microcode, comme le processeur 6502 8 bits plus simple utilisé dans les micro-ordinateurs précédents d'Acorn Computers.

Jeu d'instructions ARM

Mode dans lequel le jeu d’instructions 32 bits est exécuté.

Ensemble de commandes du pouce

Pour améliorer la densité du code, les processeurs commençant par ARM7TDMI sont équipés d'un mode « pouce ». Dans ce mode, le processeur exécute un ensemble alternatif d'instructions de 16 bits. La plupart de ces instructions 16 bits sont traduites en instructions ARM normales. La réduction de la longueur des instructions est obtenue en masquant certains opérandes et en limitant les capacités d'adressage par rapport au mode de jeu d'instructions complet d'ARM.

En mode Thumb, les opcodes plus petits ont moins de fonctionnalités. Par exemple, seules les branches peuvent être conditionnelles et de nombreux opcodes sont limités à l'accès à seulement la moitié des registres principaux du processeur. Les opcodes plus courts entraînent généralement une plus grande densité de code, bien que certaines opérations nécessitent des instructions supplémentaires. Dans les situations où le port mémoire ou la largeur du bus est limité à 16 bits, les opcodes plus courts du mode Thumb deviennent beaucoup plus performants par rapport au code ARM 32 bits conventionnel, car moins de code de programme devra être chargé dans le processeur dans des conditions limitées. bande passante mémoire.

Un matériel tel que le Game Boy Advance dispose généralement d'une petite quantité de RAM disponible avec un chemin de données complet de 32 bits. Mais la plupart des opérations sont effectuées sur un canal de données de 16 bits ou moins. Dans ce cas, il est logique d'utiliser du code pouce et d'optimiser manuellement certaines des sections de code lourdes en passant aux instructions ARM 32 bits complètes.

Le premier processeur doté d'un décodeur pouce était ARM7TDMI. Tous les processeurs de la famille ARM9, ainsi que XScale, disposaient d'un décodeur de commandes au pouce intégré.

Jeu de commandes Thumb-2

Thumb-2 est une technologie issue du noyau ARM1156, annoncé en 2003. Il étend le jeu d'instructions Thumb limité de 16 bits avec des instructions supplémentaires de 32 bits pour donner au jeu d'instructions une largeur supplémentaire. L'objectif de Thumb-2 est d'atteindre une densité de code semblable à celle d'un Thumb et des performances de jeu d'instructions ARM 32 bits. On peut dire que dans ARMv7 cet objectif a été atteint.

Thumb-2 étend les instructions ARM et Thumb avec encore plus d'instructions, notamment le contrôle des champs de bits, le branchement de table et l'exécution conditionnelle. Nouveau langage Le « Unified Assembly Language » (UAL) prend en charge la génération de commandes pour ARM et Thumb à partir du même code source. Les versions ARMv7 de Thumb ressemblent au code ARM. Cela nécessite de la prudence et l'utilisation de la nouvelle commande if-then, qui prend en charge l'exécution de jusqu'à 4 commandes d'état de test consécutives. Il est ignoré lors de la compilation en code ARM, mais lors de la compilation en code Thumb-2, il génère des commandes. Par exemple:

; si (r0 == r1) CMP r0, r1 ITE EQ ; ARM : pas de code... Thumb : instruction informatique; alors r0 = r2 ; MOVEQ r0, r2 ; BRAS : conditionnel ; Thumb : condition via ITE "T" (puis); sinon r0 = r3 ; MOVNE r0, r3 ; BRAS : conditionnel ; Thumb : condition via ITE "E" (sinon) ; rappelons que l'instruction Thumb MOV n'a pas de bits pour coder "EQ" ou "NE"

Toutes les puces ARMv7 prennent en charge le jeu d'instructions Thumb-2, et certaines puces, comme le Cortex-m3, ne prennent en charge que Thumb-2. Les puces Cortex et ARM11 restantes prennent en charge les jeux d'instructions Thumb-2 et ARM.

Ensemble de commandes Jazelle

Extensions de sécurité

Les extensions de sécurité commercialisées sous le nom de TrustZone Technology se trouvent dans ARMv6KZ et d'autres architectures spécifiques aux applications ultérieures. Il offre une alternative peu coûteuse à l'ajout d'un noyau de sécurité dédié en fournissant 2 processeurs virtuels soutenus par un contrôle d'accès matériel. Cela permet au cœur de l'application de basculer entre deux états appelés « mondes » (pour éviter toute confusion avec les noms de domaines possibles) afin d'empêcher les informations de fuir d'un monde plus important vers un monde moins important. Ce changement de monde est généralement orthogonal à toutes les autres capacités du processeur. De cette façon, chaque monde peut fonctionner indépendamment des autres mondes en utilisant le même noyau. La mémoire et les périphériques sont respectivement conçus pour s'adapter au monde du noyau et peuvent l'utiliser pour contrôler l'accès aux secrets et aux codes du noyau. Les applications typiques de la technologie TrustZone doivent exécuter un système d'exploitation complet dans le monde le moins critique, et un code compact et spécifique à la sécurité dans le monde le plus critique, permettant à la gestion des droits numériques de contrôler de manière beaucoup plus précise l'utilisation des médias sur les appareils basés sur ARM et d'empêcher tout accès non autorisé. à l'appareil.

En pratique, étant donné que les détails spécifiques de mise en œuvre de TrustZone restent exclusifs et ne sont pas divulgués, il reste difficile de savoir quel niveau de sécurité est garanti pour un modèle de menace donné.

Débogage

Tous les processeurs ARM modernes incluent des outils de débogage matériel, car sans eux, les débogueurs logiciels ne seraient pas en mesure d'effectuer les opérations les plus élémentaires telles que l'arrêt, l'indentation et la définition de points d'arrêt après un redémarrage.

L'architecture ARMv7 définit les capacités de débogage de base au niveau architectural. Ceux-ci incluent des points d'arrêt, des points de surveillance et des commandes en cours d'exécution en mode débogage. De tels outils étaient également disponibles avec le module de débogage EmbeddedICE. Les deux modes sont pris en charge : arrêt et révision. Le mécanisme de transport réel utilisé pour accéder aux fonctionnalités de débogage n'est pas spécifié sur le plan architectural, mais l'implémentation inclut généralement la prise en charge de JTAG.

Il existe une architecture de débogage distincte « vue du noyau » qui n'est pas requise sur le plan architectural par les processeurs ARMv7.

Registres

ARM fournit 31 registres à usage général d'une largeur de 32 bits. Selon le mode et l'état du processeur, l'utilisateur n'a accès qu'à un ensemble de registres strictement défini. En état ARM, 17 registres sont constamment disponibles pour le développeur :

  • 13 registres à usage général (r0..r12).
  • Stack Pointer (r13) - contient le pointeur de pile du programme en cours d'exécution.
  • Registre de lien (r14) - contient l'adresse de retour dans les instructions de branchement.
  • Compteur de programme (r15) - les bits contiennent l'adresse de l'instruction en cours d'exécution.
  • Registre d'état actuel du programme (CPSR) - contient des indicateurs qui décrivent l'état actuel du processeur. Modifié lors de l'exécution de nombreuses instructions : logiques, arithmétiques, etc.

Dans tous les modes, à l'exception du mode utilisateur et du mode système, le registre d'état du programme enregistré (SPSR) est également disponible. Après qu'une exception se produit, le registre CPSR est stocké dans SPSR. Ceci corrige l'état du processeur (mode, état ; drapeaux arithmétiques, opérations logiques, autorisation d'interruption) juste avant l'interruption.

usr système svc environ et irq fiq
R0
R1
R2
R3
R4
R5
R6
R7
R8 R8_fiq
R9 R9_fiq
R10 R10_fiq
R11 R11_fiq
R12 R12_fiq
R13 R13_svc R13_abt R13_et R13_irq R13_fiq
R14 R14_svc R14_abt R14_et R14_irq R14_fiq
R15
CPSR
SPSR_svc SPSR_abt SPSR_et SPSR_irq SPSR_fiq

Travailler avec la mémoire

Systèmes d'E/S pris en charge

La plupart des modèles de microprocesseurs existants implémentent un bus PCI et la possibilité de fonctionner avec une mémoire vive dynamique (DRAM) externe. Les processeurs conçus pour les appareils grand public intègrent également généralement : des contrôleurs de bus USB, des contrôleurs de bus IIC, un périphérique audio compatible AC'97, un périphérique permettant de travailler avec des supports flash SD et MMC et un contrôleur de port série.

Tous les processeurs disposent de lignes d'entrée/sortie à usage général (GPIO). Dans les appareils grand public, ils peuvent être connectés à des boutons de « lancement rapide », des LED de signalisation, une molette de défilement (JogDial) et un clavier.

Le processus de lancement du système d'exploitation sur les machines ARM

Prise en charge des systèmes de type Unix

L'architecture ARM est prise en charge par les systèmes d'exploitation Unix et de type Unix GNU/Linux, BSD, QNX, Plan 9, Inferno, Solaris, Mac OS X, iOS, WebOS et Android.

Linux

Les distributions suivantes prennent en charge les processeurs ARM :

BSD

Les dérivés BSD suivants prennent en charge les processeurs ARM :

Solaris

Prise en charge d'autres systèmes d'exploitation

Systèmes d'exploitation fonctionnant sur ARM : ReactOS, FreeRTOS, Nucleus, Symbian OS, Windows CE, RISC OS, Windows RT.

Titulaires de licence ARM et coût approximatif de la licence

ARM ne produit ni ne vend de processeurs basés sur ses conceptions, mais accorde des licences de processeurs à des partenaires intéressés. ARM propose une large gamme de conditions de licence dont le coût et le détail varient. Pour tous les titulaires de licence, ARM fournit une description du matériel du noyau, ainsi qu'un ensemble complet d'outils de développement logiciel (compilateur, débogueur), ainsi que le droit de vendre des processeurs ARM fabriqués. Certains clients sont engagés dans la production de processeurs pour sociétés tierces.

Le rapport annuel 2006 d'ARM faisait état d'un chiffre d'affaires de 161 millions de dollars provenant de la licence de 2,5 milliards d'unités (processeurs). Cela équivaut à 0,067 $ par unité. Il s’agit cependant d’un chiffre très moyen – après tout, cela inclut à la fois les licences pour les nouveaux processeurs très coûteux et les anciens processeurs bon marché.

Remarques

  1. "ARMÉ pour le salon".
  2. "Une interview avec Steve Furber"
  3. Samsung Nexus 10 - Navigateur Geekbench
  4. MacBook Air - Navigateur Geekbench
  5. Benchmarks Apache pour le serveur Web 5 watts de Calxeda – Serveurs ARM, maintenant !
  6. http://www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf
  7. «ARM810 - Danser au rythme d'un tambour différent» Présentation d'ARM Holdings à Hot Chips le 07/08/1996.
  8. Registre 13, registre FCSE PID Manuel de référence technique ARM920T
  9. Neo1973 : comparaison entre GTA01Bv4 et GTA02. Archivé de l'original le 13 mars 2012. Récupéré le 15 novembre 2007.
  10. S3C2410. Archivé de l'original le 13 mars 2012. Récupéré le 13 janvier 2010.
  11. Rockbox Samsung série SA58xxx. Archivé
  12. Port Rockbox Meizu M6 – Informations sur le matériel. Archivé de l'original le 13 mars 2012. Récupéré le 22 février 2008.
  13. Fiches techniques - Wiki du micrologiciel de la Lanterne Magique
  14. STR9 – STR912 – Microcontrôleur STR912FW44 – page de téléchargement de documents et fichiers. mcu.st.com. (lien inaccessible - histoire) Récupéré le 18 avril 2009.
  15. Starlette
  16. Repères - Albatros. Albatross-uav.org (18 juin 2005). (lien inaccessible - histoire) Récupéré le 18 avril 2009.
  17. ARM1136J(F)-S – Processeur ARM. Arm.com. Archivé
  18. Noyau de puces Qualcomm ARM - des téléphones aux ordinateurs portables. xi0.info. Archivé
  19. Jeu de puces Qualcomm MSM7227 RISC. pdadb.net. Archivé de l'original le 13 mars 2012. Récupéré le 8 mai 2010.
  20. GoForce 6100. Nvidia.com. Archivé de l'original le 13 mars 2012. Récupéré le 18 avril 2009.
  21. Médiatek MT6573. http://www.mediatek.com. ; Archivé de l'original le 6 juin 2012. Récupéré le 18 avril 2009.
  22. Processeurs ARM Samsung séries S3C6410 et S3C6430. Samsung. Récupéré le 8 octobre 2009., et le Qualcomm MSM7627 comme on le voit dans le Palm Pixi et le Motorola Calgary/Devour
  23. Merritt, Rick"ARM s'étend avec le cœur A5, les graphiques et les FPGA". EE Times (21 octobre 2009). Archivé de l'original le 13 mars 2012. Récupéré le 28 octobre 2009.
  24. Clarke, Peter ARM propose des conseils pour les cœurs de processeur Swift et Sparrow. EE Times (3 février 2009). Archivé de l'original le 13 mars 2012. Récupéré le 18 avril 2009.
  25. Segan, Sacha"ARM's Multicore Chips Aim for Netbooks. PC Magazine, 9 avril 2009. Archivé de l'original le 13 mars 2012. Consulté le 18 avril 2009.
  26. http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
  27. Processeur Cortex-A15 - ARM
  28. Processeur Cortex-A7 - ARM
  29. Benz, Benjamin Cortex s'adapte à ARM. Heise.de (2 février 2010). Archivé de l'original le 13 mars 2012. Récupéré le 3 mai 2010.
  30. Clarke, Peter ARM prépare un petit noyau pour les microcontrôleurs de faible consommation. EE Times (23 février 2009). Archivé de l'original le 13 mars 2012. Récupéré le 30 novembre 2009.
  31. Walko, John NXP est le premier à faire une démonstration du silicium ARM Cortex-M0. EE Times (23 mars 2009). Archivé de l'original le 13 mars 2012. Récupéré le 29 juin 2009.
  32. VCA alimentés par ARM " Triad Semiconductor
  33. Cortex-M0 utilisé dans un contrôleur tactile basse consommation - 10/06/2009 - Electronics Weekly
  34. Chungbuk Technopark choisit le processeur ARM Cortex-M0
  35. Google Traduction
  36. Austriamicrosystems choisit le processeur ARM Cortex-M0 pour les applications à signaux mixtes
  37. « ARM étend la famille Cortex avec le premier processeur optimisé pour FPGA », communiqué de presse ARM, 19 mars 2007. Consulté le 11 avril 2007.

Processeurs ARM - qu'est-ce qu'ils sont et avec quoi ils sont utilisés. Apparition sur le marché des produits productifs processeurs mobiles est devenu à bien des égards une véritable avancé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'une niche voisine, commence déjà sérieusement à supplanter la position de leader de longue date de l'industrie informatique.

Mais quelle est la différence? Qu’est-ce que l’architecture ARM et en quoi est-elle différente de x86 ? Ce dernier, utilisé dans les processeurs Intel et AMD, utilise un ensemble d'instructions CISC. Le traitement basé sur ceux-ci est très fonctionnel, ouvre des opportunités aux programmeurs et aux développeurs de matériel, mais nécessite une quantité considérable de ressources énergétiques. L'essence de CISC, en gros, est que chaque commande entrante est décodée en l'élément le plus simple et ensuite traitée seulement.

C'est différent avec ARM. Il fonctionne sur la base de commandes RISC, qui contiennent déjà un ensemble d'éléments simples prêts à l'emploi. Cela réduit la flexibilité du processeur, mais la vitesse de traitement des données augmente considérablement 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, tandis qu'ARM nécessite un matériel plus fin et les capacités d'une telle architecture sont un peu plus limitées. Cependant, les capacités d'ARM deviennent de plus en plus étendues. Déjà maintenant, ces processeurs conviennent aux standards Bureau de travail, lire du contenu multimédia, surfer sur Internet.

ARM se développe rapidement, ce qui est facilité par le fait que des dizaines de marques concurrentes travaillent sur cette technologie par le biais de franchises, tandis que seules deux sociétés travaillent sur l'architecture x86, dont les représentants disent presque directement qu'il y a une stagnation dans le segment... et vous ne pouvez pas en dire autant d'ARM.

En ce qui concerne les puces ARM, il convient de noter la complexité des systèmes mobiles modernes proposés. 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 éventuellement des modules de communication sans fil. Un tel système est appelé monopuce. En d’autres termes, ARM est une puce sur une puce.

Aujourd'hui, ARM dispose de plusieurs générations de processeurs :

BRAS9. Les puces ARM9 peuvent atteindre des vitesses d'horloge de 400 MHz. Ces puces sont obsolètes, mais restent très demandées. Par exemple, dans les routeurs sans fil et les terminaux de paiement. L'ensemble de commandes simples d'une telle puce permet d'exécuter facilement de nombreuses applications Java.

BRAS11. Les processeurs ARM11 disposent d'un ensemble plus complet de commandes simples qui étendent leurs fonctionnalités et des 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 niveau d'entrée.

ARMv7. Les puces à architecture ARM moderne appartiennent à la famille ARMv7, dont les représentants phares ont déjà atteint huit cœurs et une vitesse 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 monopuce les utilisent sans modifications significatives.

BRAS Cortex-A8. Historiquement, le premier cœur de processeur de la famille ARMv7 était le Cortex-A8, qui a constitué la base de SoC aussi célèbres de l'époque que l'Apple A4 (iPhone 4 et iPad) et Samsung Hummingbird ( Samsung Galaxy S et Galaxy Tab). Il démontre environ deux fois plus de performances que le précédent ARM11 et, hélas, une consommation d'énergie plus élevée, ce qui rend cette puce désormais extrêmement impopulaire.

BRAS Cortex-A9. Après le Cortex-A8, ARM Limited a introduit une nouvelle génération de puces, le Cortex-A9, qui est désormais la plus courante et occupe une niche de prix moyenne. Les performances des cœurs Cortex-A9 ont été multipliées par trois par rapport à celles du 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 d'énergie minimale de l'ARM11 et les performances acceptables du Cortex-A8. Ils n'ont pas oublié la possibilité de combiner deux ou quatre cœurs : des puces multicœurs Cortex-A5 et Cortex-A7 apparaissent progressivement en vente (Qualcomm MSM8625 et MTK 6589).

BRAS Cortex-A15. Les cœurs du processeur Cortex-A15 sont devenus une suite logique du Cortex-A9 - en conséquence, pour la première fois dans l'histoire, les puces de l'architecture ARM ont réussi à avoir des performances à peu près comparables à celles 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 Ubuntu Touch OS avec multitâche complet.

Puces 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 deviendront adaptées au multitâche à grande échelle, actuellement caractéristique uniquement des systèmes x86. Cependant, même dans les conditions du vecteur de développement actuel, il est trop tôt pour affirmer 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. Le coût des puces mobiles augmente de façon exponentielle, tandis que le x86 continue de devenir moins cher. C'est le facteur prix, ainsi que la différence de fonctionnalité, qui seront quelque peu surmontés, et il existe une prévision tout à fait compréhensible selon laquelle les systèmes ARM développés ne remporteront pas de sitôt une victoire inconditionnelle dans la course pour leurs consommateurs...

Cet article discutera de l'architecture du processeur.. Les produits semi-conducteurs basés sur celui-ci se trouvent dans les smartphones, les routeurs, les tablettes PC et autres appareils mobiles, où il occupait jusqu'à récemment une position de leader sur ce segment de marché. Aujourd'hui, il est progressivement remplacé par des solutions de processeur plus récentes et plus récentes.

Brèves informations sur la société ARM

L'histoire d'ARM remonte à 1990, année de sa création par Robin Saxby. La base de sa création était une nouvelle architecture de microprocesseur. Si avant cela la position dominante sur le marché des processeurs était occupée par x86 ou CISC, alors après la création de cette société, une alternative intéressante est apparue sous la forme de RISC. Dans le premier cas, l'exécution du code du programme était réduite à 4 étapes :

    Réception des instructions machine.

    Effectuez la conversion du microcode.

    Réception de micro-instructions.

    Exécution étape par étape des micro-instructions.

À PROPOS l'idée de base de l'architectureRISC'est que le traitement du code du programme peut être réduit à 2 étapes :

    Reçu RISQUE- instructions.

    Traitement RISQUE- instructions.

À Dans le premier comme dans le deuxième cas, il y a à la fois des avantages et des lacunes importantes. x86 a conquis avec succès le marché informatique, etRISQUE ( y compris, introduit en 2011) - le marché des appareils mobiles.

L'histoire de l'architecture Cortex A7. Principales caractéristiques

La base du « Cortex A7 » était le « Cortex A8 ». L'idée principale des développeurs dans ce cas était d'augmenter les performances et d'améliorer considérablement l'efficacité énergétique de la solution processeur. C’est exactement ce que les ingénieurs d’ARM ont finalement réalisé. Une autre caractéristique importante dans ce cas était qu'il est devenu possible de créer des processeurs avec la technologie big.LITTLE. Autrement dit, le cristal semi-conducteur pourrait comprendre 2 modules informatiques. L'un d'eux visait à résoudre les problèmes les plus simples avec une consommation d'énergie minimale et, en règle générale, ce rôle était joué par les cœurs Cortex A7. Le second était destiné à exécuter les logiciels les plus complexes et reposait sur les unités de calcul Cortex A15 ou Cortex A17. Officiellement, le « Cortex A7 » a été présenté, comme indiqué précédemment, en 2011. Eh bien, le premier processeur ARM Cortex A7 est sorti un an plus tard, soit en 2012.

Technologie de production

Initialement, les produits semi-conducteurs basés sur A7 étaient fabriqués selon les normes technologiques de 65 nm. Aujourd’hui, cette technologie est désespérément dépassée. Par la suite, deux autres générations de processeurs A7 ont été lancées selon les normes de tolérance de 40 nm et 32 ​​nm. Mais ils sont désormais devenus inutiles. Les derniers modèles de CPU basés sur cette architecture sont déjà fabriqués selon les normes 28 nm, et ce sont ceux que l'on trouve encore en vente. Il est peu probable qu’une nouvelle transition vers des systèmes plus récents, dotés de nouvelles normes de tolérance et d’une architecture obsolète, soit à prévoir. Les puces basées sur l'A7 occupent désormais le segment le plus budgétaire du marché des appareils mobiles et sont progressivement remplacées par des gadgets basés sur l'A53, qui, avec presque les mêmes paramètres d'efficacité énergétique, ont un niveau de performances plus élevé.

Architecture de base du microprocesseur

1, 2, 4 ou 8 cœurs peuvent être inclus dans les processeurs basés sur ARM Cortex A7. Caractéristiques les processeurs dans ce dernier cas indiquent que la puce est constituée essentiellement de 2 clusters de 4 cœurs.Pendant 2-3 ans, les produits processeurs d'entrée de gamme étaient basés sur des puces dotées de 1 ou 2 modules de calcul. Le niveau intermédiaire était occupé par des solutions à 4 cœurs. Eh bien, le segment premium était destiné aux puces à 8 cœurs. Chaque cœur de microprocesseur basé sur cette architecture comprenait les modules suivants :

    B unité de traitement à virgule flottante (FPU).

    Cache niveau 1.

    Bloc NÉONpour optimiser les performances du processeur.

    Module informatiqueARMv7.

Il y avait également les composants communs suivants pour tous les cœurs du processeur :

    Espèces L2.

    Unité de contrôle centrale CoreSight.

    Contrôleur de bus de contrôle de données AMBA avec une capacité de 128 bits.

Fréquences possibles

Fréquence d'horloge maximale pour cela architecture du microprocesseur peut varier de 600 MHz à 3 GHz. Il convient également de noter que ce paramètre, qui indique l'impact maximum sur les performances du système informatique, change. De plus, la fréquence est influencée par trois facteurs à la fois :

    Le niveau de complexité du problème à résoudre.

    Le degré d'optimisation logicielle pour le multithreading.

    La valeur actuelle de la température du cristal semi-conducteur.

    A titre d'exemple, considérons l'algorithme de fonctionnement de la puce MT6582, basée sur l'A7 et comprenant 4 unités de calcul dont la fréquence varie de 600 MHz à 1,3 GHz. En mode veille, ce dispositif processeur ne peut disposer que d'une seule unité de calcul et fonctionne à la fréquence la plus basse possible de 600 MHz. Une situation similaire se produira lorsqu'une simple application sera lancée sur un gadget mobile. Mais lorsqu'un jouet gourmand en ressources et optimisé pour le multithreading apparaît dans la liste des tâches, les 4 blocs de traitement du code de programme à une fréquence de 1,3 GHz commenceront automatiquement à fonctionner. À mesure que le processeur chauffe, les cœurs les plus chauds réduiront leur vitesse d'horloge, voire s'arrêteront. D'une part, cette approche garantit l'efficacité énergétique et, d'autre part, un niveau acceptable de performances de la puce.

    Mémoire cache

    Seuls 2 niveaux de cache sont fournis dans l'ARM Cortex A7. Caractéristiques Le cristal semi-conducteur, à son tour, indique que le premier niveau est nécessairement divisé en 2 moitiés égales. L'un d'euxdevrait stocker des données, et les autres - des instructions. Taille totale cache au niveau 1selon les spécifications peut être égal 64 Ko. En conséquence, nous obtenons 32 Ko pour les données et 32 ​​Ko pour le code.Le cache de 2ème niveau sera bloqué dans ce cas e en fonction du modèle de processeur spécifique. Son plus petit volume peut être de 0 Mo (c'est-à-dire absent) et son plus grand peut être de 4 Mo.

    Contrôleur de RAM. Ses fonctionnalités

    Tout processeur ARM Cortex A7 est livré avec un contrôleur RAM intégré. Les caractéristiques du plan technique indiquent qu'il est conçu pour fonctionner en conjonction avec la RAM standard LPDDR3. Les fréquences de mémoire de fonctionnement recommandées dans ce cas sont 1066 MHz ou 1333 MHz. La taille maximale de RAM que l’on peut trouver en pratique pour ce modèle de puce est de 2 Go.

    Graphiques intégrés

    Comme prévu, ces dispositifs à microprocesseur disposent d'un sous-système graphique intégré. Le fabricant ARM recommande d'utiliser une carte graphique propriétaire Mali-400MP2 en combinaison avec ce processeur. Mais ses performances ne suffisent le plus souvent pas à libérer le potentiel d’un dispositif à microprocesseur. Par conséquent, les développeurs de puces utilisent des adaptateurs plus puissants en combinaison avec cette puce, par exemple Power VR6200.

    Fonctionnalités du logiciel

    Trois types de systèmes d'exploitation sont destinés aux processeurs ARM :

      Android du géant de la recherche Google.

      iOS par APPLE.

      Windows Mobile de Microsoft.

    Tous les autres logiciels système n'ont pas encore été largement diffusés. Comme vous pouvez le deviner, la plus grande part du marché de ces logiciels est occupée par Android. Ce système possède une interface simple et intuitive, et les appareils d'entrée de gamme basés sur celui-ci sont très, très abordables. Jusqu'à la version 4.4 incluse, il était 32 bits et avec la version 5.0, il a commencé à prendre en charge l'informatique 64 bits. Ce système d'exploitation fonctionne avec succès sur n'importe quelle famille de processeurs RISC, y compris ARM Cortex A7. Le menu d'ingénierie est une autre caractéristique importante de ce logiciel système. Avec son aide, vous pouvez reconfigurer considérablement les capacités du système d'exploitation. Ce menu est accessible à l'aide d'un code individuel pour chaque modèle de CPU.

    Une autre caractéristique importante de ce système d'exploitation est que toutes les mises à jour possibles sont installées automatiquement. Par conséquent, même de nouvelles fonctionnalités peuvent apparaître sur les puces de la famille ARM Cortex A7. Le firmware peut les ajouter. Le deuxième système est destiné aux gadgets mobiles d'APPLE. Ces appareils occupent principalement le segment premium et ont des niveaux de performances et de coût correspondants. Le dernier système d'exploitation, Windows Mobile, n'est pas encore largement répandu. Il existe des appareils basés sur celui-ci dans n'importe quel segment de gadgets mobiles, mais la petite quantité de logiciels d'application dans ce cas est un facteur limitant sa propagation.

    Modèles de processeurs

    Dans ce cas, les puces monocœur sont les plus abordables et les moins productives. Le plus utilisé d’entre eux est le MT6571 de MediaTek. Les processeurs ARM Cortex A7 Dual Core double cœur sont un cran plus haut. Un exemple est le MT6572 du même fabricant. Un niveau de performances encore plus élevé a été fourni par le Quad Core ARM Cortex A7. La puce la plus populaire de cette famille est la MT6582, que l'on retrouve désormais même dans les gadgets mobiles d'entrée de gamme. Eh bien, le plus haut niveau de performances a été fourni par 8 cœurs unités centrales de traitement, auquel appartenait MT6595.

    Perspectives de développement ultérieur

    Vous pouvez toujours trouver dans les rayons des magasins des appareils mobiles basés sur un processeur à semi-conducteur basé sur 4X ARM Cortex A7. Il s'agit du MT6580, du MT6582 et du Snapdragon 200. Toutes ces puces comprennent 4 unités de calcul et présentent un excellent niveau d'efficacité énergétique. De plus, le coût dans ce cas est très, très modeste. Mais les meilleurs moments de cette architecture de microprocesseur sont déjà derrière nous. Le pic des ventes de produits basés sur celui-ci est tombé en 2013-2014, alors qu'il n'existait pratiquement aucune alternative sur le marché des gadgets mobiles. De plus, dans ce cas, nous parlons à la fois d'appareils économiques dotés de 1 ou 2 modules informatiques et de gadgets phares dotés d'un processeur à 8 cœurs. À l'heure actuelle, il est progressivement remplacé du marché par le Cortex A53, qui est essentiellement une version 64 bits modifiée de l'A7. Dans le même temps, il conserve entièrement les principaux avantages de son prédécesseur et l’avenir lui appartient certainement.

    Avis d'experts et d'utilisateurs. De vraies critiques de puces basées sur cette architecture. Avantages et inconvénients

    Bien entendu, l’émergence de l’architecture du microprocesseur ARM Cortex A7 a été un événement important pour le monde des appareils mobiles. La meilleure preuve en est que les appareils basés sur celui-ci sont déjà vendus avec succès depuis plus de 5 ans. Bien sûr, les capacités d'un processeur basé sur A7 ne suffisent plus, même pour résoudre des problèmes de niveau intermédiaire, mais le code de programme le plus simple sur de telles puces fonctionne toujours avec succès à ce jour. La liste de ces logiciels comprend la lecture de vidéos, l'écoute d'enregistrements audio, la lecture de livres, la navigation sur le Web, et même les jouets les plus simples se lanceront dans ce cas sans aucun problème. C'est précisément ce sur quoi se concentrent les principaux spécialistes de ce type et les utilisateurs ordinaires sur les principaux portails thématiques dédiés aux gadgets et appareils mobiles. Le principal inconvénient de l’A7 est le manque de prise en charge de l’informatique 64 bits. Eh bien, ses principaux avantages incluent la combinaison idéale d’efficacité énergétique et de performances.

    Résultats

    Bien sûr, le Cortex A7 - C'est toute une époque dans le monde des appareils mobiles. C'est avec son avènement que les appareils mobiles sont devenus accessibles et très productifs. Et le fait qu'il soit vendu avec succès depuis plus de 5 ans en est une nouvelle confirmation. Mais si au début les gadgets basés sur celui-ci occupaient les segments moyen et haut de gamme du marché, seule la classe économique reste désormais derrière eux. Cette architecture est désuète et devient progressivement une chose du passé.

Écrasante majorité gadgets modernes utiliser des processeurs basés sur l'architecture ARM, développée par la société du même nom ARM Limited. Il est intéressant de noter que l’entreprise ne produit pas elle-même de processeurs, mais concède uniquement ses technologies sous licence à des fabricants de puces tiers. En outre, la société développe également des cœurs de processeur Cortex et des accélérateurs graphiques Mali, que nous aborderons certainement dans ce document.

BRAS Limité

La société ARM, en fait, est un monopole dans son domaine, et la grande majorité des smartphones et tablettes modernes sur divers systèmes d'exploitation mobiles utilisent des processeurs basés sur l'architecture ARM. Les fabricants de puces autorisent des cœurs individuels, des jeux d'instructions et des technologies associées auprès d'ARM, et le coût des licences varie considérablement en fonction du type de cœurs de processeur (cela peut aller de solutions à faible consommation d'énergie à des processeurs quadricœurs de pointe, voire à huit cœurs). puces) et des composants supplémentaires. Le rapport sur les résultats annuels d'ARM Limited pour 2006 a montré un chiffre d'affaires de 161 millions de dollars pour les licences d'environ 2,5 milliards de processeurs (contre 7,9 milliards en 2011), ce qui correspond à environ 0,067 dollars par puce. Cependant, pour la raison évoquée ci-dessus, il s’agit d’un chiffre très moyen en raison de la différence de prix entre les différentes licences, et depuis lors, les bénéfices de l’entreprise auraient dû être multipliés par plusieurs.

Actuellement, les processeurs ARM sont très répandus. Les puces basées sur cette architecture sont utilisées partout, y compris sur les serveurs, mais le plus souvent ARM se trouve dans les systèmes embarqués et mobiles, des contrôleurs de disques durs aux smartphones, tablettes et autres gadgets modernes.

Noyaux du cortex

ARM développe plusieurs familles de cœurs utilisés pour différentes tâches. Par exemple, les processeurs basés sur Cortex-Mx et Cortex-Rx (où « x » est un chiffre ou un nombre indiquant le numéro exact du cœur) sont utilisés dans les systèmes embarqués et même appareils ménagers, par exemple, des routeurs ou des imprimantes.

Nous ne nous y attarderons pas en détail, car nous nous intéressons principalement à la famille Cortex-Ax - des puces dotées de tels cœurs sont utilisées dans les appareils les plus productifs, notamment les smartphones, les tablettes et les consoles de jeux. ARM travaille constamment sur de nouveaux cœurs de la gamme Cortex-Ax, mais au moment de la rédaction de cet article, les éléments suivants sont utilisés dans les smartphones :

Plus le nombre est élevé, plus les performances du processeur sont élevées et, par conséquent, plus la classe d'appareils dans laquelle il est utilisé est chère. Cependant, il convient de noter que cette règle n'est pas toujours respectée : par exemple, les puces basées sur des cœurs Cortex-A7 ont des performances supérieures à celles basées sur Cortex-A8. Cependant, si les processeurs basés sur Cortex-A5 sont déjà considérés comme presque obsolètes et ne sont pratiquement pas utilisés dans les appareils modernes, alors les processeurs basés sur Cortex-A15 peuvent être trouvés dans les communicateurs et tablettes phares. Il n'y a pas si longtemps, ARM a officiellement annoncé le développement de nouveaux cœurs Cortex-A53 et Cortex-A57, plus puissants et, en même temps, économes en énergie, qui seront combinés sur une seule puce utilisant la technologie ARM big.LITTLE et prendront en charge ARMv8. jeu d’instructions (« version d’architecture »), mais ils ne sont actuellement pas utilisés dans les appareils grand public grand public. La plupart des puces Cortex-core peuvent être multicœurs et les processeurs quadricœurs sont courants dans les smartphones haut de gamme d'aujourd'hui.

Les grands fabricants de smartphones et de tablettes utilisent généralement des processeurs de fabricants de puces bien connus comme Qualcomm ou leurs propres solutions déjà devenues très populaires (par exemple, Samsung et sa famille de chipsets Exynos), mais parmi les caractéristiques techniques des gadgets de la plupart des petites entreprises vous pouvez souvent trouver une description comme « processeur basé sur Cortex-A7 cadencé à 1 GHz » ou « Cortex-A7 dual-core cadencé à 1 GHz », qui ne signifiera rien pour l'utilisateur moyen. Afin de comprendre quelles sont les différences entre ces noyaux, concentrons-nous sur les principales.

Le cœur Cortex-A5 est utilisé dans les processeurs à faible coût pour les appareils les plus économiques. De tels appareils sont uniquement destinés à effectuer une gamme limitée de tâches et à exécuter applications simples, mais ne sont pas du tout conçus pour les programmes gourmands en ressources et, surtout, les jeux. Un exemple de gadget doté d'un processeur Cortex-A5 est le Highscreen Blast, qui a reçu une puce Qualcomm Snapdragon S4 Play MSM8225 contenant deux cœurs Cortex-A5 cadencés à 1,2 GHz.

Les processeurs Cortex-A7 sont plus puissants que les puces Cortex-A5 et sont également plus courants. Ces puces sont fabriquées à l'aide d'une technologie de traitement de 28 nanomètres et disposent d'un grand cache de deuxième niveau pouvant atteindre 4 mégaoctets. Les cœurs Cortex-A7 se trouvent principalement dans les smartphones économiques et les appareils bon marché du segment intermédiaire comme l'iconBIT Mercury Quad, et aussi, à titre exceptionnel, dans le Samsung Galaxy S IV GT-i9500 avec un processeur Exynos 5 Octa - ce chipset utilise technologie d'économie d'énergie lors de l'exécution de tâches peu exigeantes.Processeur quad-core Cortex-A7.

Le cœur Cortex-A8 n'est pas aussi répandu que ses voisins, Cortex-A7 et Cortex-A9, mais il est toujours utilisé dans divers gadgets d'entrée de gamme. La vitesse d'horloge de fonctionnement des puces Cortex-A8 peut varier de 600 MHz à 1 GHz, mais les fabricants overclockent parfois les processeurs à des fréquences plus élevées. Une caractéristique du cœur Cortex-A8 est le manque de prise en charge des configurations multicœurs (c'est-à-dire que les processeurs sur ces cœurs ne peuvent être que monocœurs), et ils sont exécutés à l'aide d'une technologie de processus de 65 nanomètres, qui est déjà considérée obsolète.

Cortex-A9

Il y a quelques années à peine, les cœurs Cortex-A9 étaient considérés comme la meilleure solution et étaient utilisés à la fois dans les puces monocœur traditionnelles et dans les puces double cœur plus puissantes, telles que Nvidia Tegra 2 et Texas Instruments OMAP4. Actuellement, les processeurs Cortex-A9 fabriqués à l'aide de la technologie de traitement de 40 nanomètres ne perdent pas en popularité et sont utilisés dans de nombreux smartphones du segment intermédiaire. La fréquence de fonctionnement de ces processeurs peut aller de 1 à 2 gigahertz ou plus, mais elle est généralement limitée à 1,2-1,5 GHz.

En juin 2013, ARM a officiellement présenté le cœur Cortex-A12, fabriqué à l'aide d'une nouvelle technologie de traitement de 28 nanomètres et conçu pour remplacer les cœurs Cortex-A9 dans les smartphones du segment intermédiaire. Le développeur promet une augmentation de 40 % des performances par rapport au Cortex-A9, et de plus, les cœurs Cortex-A12 pourront participer à l'architecture ARM big.LITTLE en tant que cœurs productifs aux côtés du Cortex-A7 économe en énergie, ce qui permettra fabricants pour créer des puces à huit cœurs bon marché. Certes, au moment de la rédaction de cet article, tout cela n'est qu'un projet et la production de masse de puces Cortex-A12 n'a pas encore été établie, bien que RockChip ait déjà annoncé son intention de lancer un processeur quadricœur Cortex-A12 avec une fréquence de 1,8 GHz.

Depuis 2013, le cœur Cortex-A15 et ses dérivés constituent la meilleure solution et sont utilisés dans les puces de communication phares de divers fabricants. Parmi les nouveaux processeurs fabriqués à l'aide d'une technologie de traitement de 28 nm et basés sur le Cortex-A15 figurent le Samsung Exynos 5 Octa et le Nvidia Tegra 4, et ce cœur sert souvent de plate-forme pour les modifications d'autres fabricants. Par exemple, le dernier processeur A6X d'Apple utilise des cœurs Swift, qui sont une modification du Cortex-A15. Les puces basées sur Cortex-A15 sont capables de fonctionner à une fréquence de 1,5 à 2,5 GHz, et la prise en charge de nombreuses normes tierces et la capacité d'adresser jusqu'à 1 To de mémoire physique permettent d'utiliser de tels processeurs dans des ordinateurs (comment ne se souvient-on pas d'un mini-ordinateur de la taille de carte bancaire Tarte aux framboises).

Série Cortex-A50

Au premier semestre 2013, ARM a introduit une nouvelle gamme de puces appelée série Cortex-A50. Les cœurs de cette ligne seront réalisés selon une nouvelle version de l'architecture, ARMv8, et prendront en charge de nouveaux jeux d'instructions, et deviendront également 64 bits. La transition vers une nouvelle profondeur de bits nécessitera une optimisation des systèmes d'exploitation et des applications mobiles, mais, bien entendu, la prise en charge de dizaines de milliers d'applications 32 bits restera. Premier à passer à l'architecture 64 bits entreprise Apple. Les derniers appareils de la société, par exemple l'iPhone 5S, fonctionnent exactement sur ce processeur Apple A7 ARM. Notamment, il n'utilise pas de cœurs Cortex - ils sont remplacés par les cœurs du fabricant appelés Swift. L'une des raisons évidentes de la nécessité de passer aux processeurs 64 bits est la prise en charge de plus de 4 Go de RAM et, en outre, la possibilité de gérer des nombres beaucoup plus grands lors du calcul. Bien sûr, pour l'instant, cela concerne avant tout les serveurs et les PC, mais nous ne serions pas surpris si dans quelques années des smartphones et des tablettes dotés d'une telle quantité de RAM apparaissent sur le marché. À ce jour, on ne sait rien des projets de production de puces sur la nouvelle architecture et des smartphones qui les utilisent, mais il est probable que les produits phares recevront exactement ces processeurs en 2014, comme Samsung l'a déjà annoncé.

La série s'ouvre avec le cœur Cortex-A53, qui sera le « successeur » direct du Cortex-A9. Les processeurs basés sur Cortex-A53 sont nettement supérieurs aux puces basées sur Cortex-A9 en termes de performances, tout en conservant une faible consommation d'énergie. De tels processeurs peuvent être utilisés individuellement ou dans une configuration ARM big.LITTLE, en étant combinés sur le même chipset avec un processeur Cortex-A57.

Performances Cortex-A53, Cortex-A57

Les processeurs Cortex-A57, qui seront fabriqués à l'aide d'une technologie de traitement de 20 nanomètres, devraient devenir dans un avenir proche les processeurs ARM les plus puissants. Le nouveau cœur est nettement supérieur à son prédécesseur, Cortex-A15, dans divers paramètres de performances (vous pouvez voir la comparaison ci-dessus) et, selon ARM, qui cible sérieusement le marché des PC, ce sera une solution rentable pour les ordinateurs classiques. (y compris les ordinateurs portables), pas seulement les appareils mobiles.

BRAS gros.PETIT

Comme solution de haute technologie aux problèmes de consommation d'énergie processeurs modernes ARM propose la technologie big.LITTLE, dont l'essence est de combiner différents types de cœurs sur une seule puce, généralement le même nombre de cœurs économes en énergie et hautes performances.

Il existe trois schémas pour faire fonctionner différents types de cœurs sur une seule puce : big.LITTLE (migration entre clusters), big.LITTLE IKS (migration entre cœurs) et big.LITTLE MP (multitraitement hétérogène).

big.LITTLE (migration entre clusters)

Le premier chipset basé sur l'architecture ARM big.LITTLE était le processeur Samsung Exynos 5 Octa. Il utilise le schéma original big.LITTLE « 4+4 », ce qui signifie combiner en deux clusters (d'où le nom du schéma) sur une seule puce quatre cœurs Cortex-A15 hautes performances pour les applications et les jeux gourmands en ressources et quatre cœurs Cortex-A15 hautes performances pour les applications et les jeux gourmands en ressources et quatre cœurs Cortex-A15 hautes performances pour les applications et les jeux gourmands en ressources et quatre cœurs Cortex-A15 hautes performances pour les applications et les jeux gourmands en ressources. sauvegarder les cœurs Cortex-A7 pour le travail quotidien avec la plupart des programmes, et un seul type de noyau peut fonctionner à la fois. La commutation entre les groupes de cœurs se produit presque instantanément et inaperçue pour l'utilisateur en mode entièrement automatique.

big.LITTLE IKS (migration entre cœurs)

Une implémentation plus complexe de l'architecture big.LITTLE est la combinaison de plusieurs cœurs réels (généralement deux) en un seul virtuel, contrôlé par le noyau du système d'exploitation, qui décide quels cœurs utiliser - économes en énergie ou productifs. Bien entendu, il existe également plusieurs cœurs virtuels - l'illustration montre un exemple du schéma IKS, où chacun des quatre cœurs virtuels contient un cœur Cortex-A7 et Cortex-A15.

big.LITTLE MP (multitraitement hétérogène)

Le schéma big.LITTLE MP est le plus "avancé" - dans celui-ci, chaque cœur est indépendant et peut être activé par le noyau du système d'exploitation selon les besoins. Cela signifie que si quatre cœurs Cortex-A7 et le même nombre de cœurs Cortex-A15 sont utilisés, un chipset construit sur l'architecture ARM big.LITTLE MP sera capable d'exécuter les 8 cœurs simultanément, même s'ils sont de types différents. L'un des premiers processeurs de ce type était la puce à huit cœurs de Mediatek - MT6592, qui peut fonctionner à une fréquence d'horloge de 2 GHz, ainsi qu'enregistrer et lire des vidéos en résolution UltraHD.

Avenir

Selon disponible sur ce moment Selon des informations, ARM, en collaboration avec d'autres sociétés, prévoit de lancer prochainement la production de puces big.LITTLE de nouvelle génération, qui utiliseront les nouveaux cœurs Cortex-A53 et Cortex-A57. En plus, processeurs budgétaires Le fabricant chinois MediaTek va sortir big.LITTLE sur ARM, qui fonctionnera selon le schéma « 2+2 », c'est-à-dire utilisera deux groupes de deux cœurs.

Accélérateurs graphiques du Mali

Outre les processeurs, ARM développe également des accélérateurs graphiques de la famille Mali. Comme les processeurs, les accélérateurs graphiques se caractérisent par de nombreux paramètres, par exemple le niveau d'anti-aliasing, l'interface du bus, le cache (mémoire ultra-rapide utilisée pour augmenter la vitesse de fonctionnement) et le nombre de « cœurs graphiques » (bien que, comme nous l'avons écrit dans l'article précédent, cet indicateur, malgré la similitude avec le terme utilisé pour décrire le CPU, n'a quasiment aucun impact sur les performances lorsque l'on compare deux GPU).

Le premier accélérateur graphique ARM était le Mali 55, désormais inutilisé, utilisé dans le téléphone tactile LG Renoir (oui, le téléphone portable le plus courant). Le GPU n'était pas utilisé dans les jeux - uniquement pour le rendu de l'interface, et avait des caractéristiques primitives par rapport aux normes actuelles, mais il est devenu « l'ancêtre » de la série Mali.

Depuis lors, les progrès ont été considérables et les API et normes de jeu prises en charge revêtent désormais une importance considérable. Par exemple, la prise en charge d'OpenGL ES 3.0 n'est désormais annoncée que dans les versions les plus récentes. processeurs puissants comme Qualcomm Snapdragon 600 et 800, et, si nous parlons de produits ARM, la norme est prise en charge par des accélérateurs tels que Mali-T604 (c'était le premier GPU ARM réalisé sur la nouvelle microarchitecture Midgard), Mali-T624, Mali-T628, Mali -T678 et quelques autres puces aux caractéristiques similaires. En règle générale, tel ou tel GPU est étroitement lié au noyau, mais est néanmoins indiqué séparément, ce qui signifie que si la qualité des graphismes dans les jeux est importante pour vous, il est alors logique de regarder le nom du accélérateur dans les spécifications du smartphone ou de la tablette.

ARM propose également des accélérateurs graphiques pour les smartphones du segment intermédiaire, dont les plus courants sont le Mali-400 MP et le Mali-450 MP, qui diffèrent de leurs frères aînés par des performances relativement faibles et un ensemble limité d'API et de normes prises en charge. Malgré cela, ces GPU continuent d'être utilisés dans les nouveaux smartphones, par exemple le Zopo ZP998, qui a reçu l'accélérateur graphique Mali-450 MP4 (une modification améliorée du Mali-450 MP) en plus du processeur MTK6592 à huit cœurs.

Vraisemblablement, les smartphones dotés des derniers accélérateurs graphiques ARM devraient apparaître fin 2014 : Mali-T720, Mali-T760 et Mali-T760 MP, qui ont été introduits en octobre 2013. Le Mali-T720 devrait être le nouveau GPU pour smartphones à bas prix et le premier GPU de ce segment à prendre en charge Open GL ES 3.0. Le Mali-T760, à son tour, deviendra l'un des accélérateurs graphiques mobiles les plus puissants : selon les caractéristiques indiquées, le GPU possède 16 cœurs de calcul et dispose d'une puissance de calcul vraiment énorme, 326 Gflops, mais, en même temps, quatre fois moins de consommation d'énergie que le Mali-T604 mentionné ci-dessus.

Le rôle des CPU et GPU d'ARM sur le marché

Malgré le fait qu'ARM soit l'auteur et le développeur de l'architecture du même nom, qui, nous le répétons, est désormais utilisée dans la grande majorité des processeurs mobiles, ses solutions sous forme de cœurs et d'accélérateurs graphiques ne sont pas appréciées des grands smartphones. fabricants. Par exemple, on pense à juste titre que les communicateurs phares sous Android devraient avoir un processeur Snapdragon avec des cœurs Krait et un accélérateur graphique Adreno de Qualcomm ; les chipsets de la même société sont utilisés dans les smartphones sur Téléphone Windows, et certains fabricants de gadgets, par exemple Apple, développent leurs propres noyaux. Pourquoi cette situation existe-t-elle actuellement ?

Certaines des raisons peuvent peut-être être plus profondes, mais l'une d'entre elles est l'absence d'un positionnement clair des processeurs et des GPU d'ARM parmi les produits d'autres sociétés, de sorte que les développements de la société sont perçus comme des composants de base à utiliser dans B. -des appareils de marque, des smartphones bon marché et la création de solutions plus matures. Par exemple, Qualcomm répète à presque chaque présentation que l'un de ses principaux objectifs lors de la création de nouveaux processeurs est de réduire la consommation d'énergie, et ses cœurs Krait, étant des cœurs Cortex modifiés, affichent systématiquement des résultats de performances plus élevés. Une déclaration similaire est vraie pour les chipsets Nvidia, axés sur les jeux, mais quant aux processeurs Exynos de Samsung et à la série A d'Apple, ils ont leur propre marché en raison de leur installation dans les smartphones des mêmes sociétés.

Ce qui précède ne signifie pas du tout que les développements d'ARM sont bien pires que les processeurs et les cœurs de sociétés tierces, mais la concurrence sur le marché ne profite finalement qu'aux acheteurs de smartphones. On peut dire qu'ARM propose des vierges, en achetant une licence pour laquelle les fabricants peuvent les modifier indépendamment.

Conclusion

Les microprocesseurs basés sur l'architecture ARM ont conquis avec succès le marché des appareils mobiles en raison de leur faible consommation d'énergie et de leur puissance de calcul relativement élevée. Auparavant, d'autres architectures RISC rivalisaient avec ARM, par exemple MIPS, mais il ne lui reste désormais qu'un seul concurrent sérieux - Intel avec l'architecture x86, qui, d'ailleurs, bien qu'elle se bat activement pour sa part de marché, n'est pas encore perçue. sérieusement par les consommateurs ou par la plupart des fabricants, surtout compte tenu de la quasi-absence de produits phares (le Lenovo K900 ne peut plus rivaliser avec le dernier meilleurs smartphones sur les processeurs ARM).

Selon vous, est-ce que quelqu'un pourra supplanter ARM, et quel sera l'avenir de cette entreprise et de son architecture ?