jeudi 27 octobre 2011

PROCESSEURS : Les secrets de l'architecture ARM

La puce qui anime votre téléphone ou qui pilote nombre de nos nouveaux compagnons électroniques s'inspire en fait du processeur de nos PC. Un morceau de silicium fascinant, qui n'a pas fini de bouleverser notre quotidien.

Vous les utilisez peut-être sans le savoir. Vous en avez très certainement un - voire plusieurs -dans votre téléphone, votre tablette, votre console portable, votre baladeur, votre appareil photo numérique, vos disques durs... et vous en trouverez aussi dans certains Nas, dans des équipements réseaux et même dans de nombreux produits du quotidien pas forcément high-tech. Ces petits bouts de silicium, ce sont les processeurs de la famille ARM. Des composants discrets, moins connus du grand public que les puces d'Intel ou d'AMD, mais dont les qualités, en premier lieu la faible consommation d'énergie, en font des alliés de choix pour le secteur gigantesque de la mobilité.

Et pourtant, l'origine de ces puces ne se trouve pas dans un quelconque appareil à garder en permanence sur soi, mais bien... dans un ordinateur de bureau, l'Acorn Risc Machine, conçue par le constructeur britannique Acorn au milieu des années 80. Ce dernier était et quête d'un processeur puissant, capable de consentir la compatibilité avec la plate-forme populaire BBC Micro et suffisamment solide pour gérer une interface graphique (Apple venait de lancer le Lisa, puis le Macintosh). Problème : les processeurs du moment étaient soit insuffisamment puissants (comme le MOS 6502 ou le 68000 de Motorola), soit indisponibles (Intel aurait refusé à Acorn la licence de son 80286, qui souhaitait l'adapter à ses besoins). Acorn a alors décidé de concevoir son propre processeur, en s'appuyant sur une architecture de type Risc (Reduced instruction set computing), différente de l'architecture Cisc des processeurs Intel ou Motorola (le C signifiant Complex). C'est VLSI qui s'est chargé de la production de cette puce au jeu d'instructions simplifié et ne contenant qu'un nombre limité de transistors (environ 30000, soit quatre fois moins qu'un 80286 d'Intel. Ce schéma de fonctionnement est aujourd'hui toujours en vigueur: ARM se charge de la conception des cœurs de processeurs et en attribue la licence à des partenaires (Samsung, STMicro, Nvidia, Texas Instruments, etc.) qui se chargent, d'une part, de les intégrer à leurs propres composants et, d'autre part, de les fabriquer.

La transition du bureau à l'embarqué, c'est à Apple qu'on la doit. Au tout début des années 90, lors de l'élaboration de son assistant personnel Newton, la société américaine a retenu le processeur conçu par le Britannique. Acorn, Apple et VLSI ont très rapidement formé une société commune pour améliorer le composant. Son nom: Advanced Risc Machines, autrement dit ARM. Une vingtaine d'années et sept évolutions d'architecture plus tard, ARM a signé près de 750 accords de licence et ses partenaires ont produit, pour la seule année 2010, pas moins de 6,1 milliards de puces s'appuyant sur ses technologies. À en Juger par la place croissante prise par les équipements mobiles, cette expansion n'est pas près de s'arrêter.

ARM face aux processeurs x86

Que valent les puces ARM face aux composants d'Intel ou d'AMD ? Alors que les tablettes concurrencent les PC traditionnels, la question est d'actualité.

Longtemps, les puces x86 de nos ordinateurs et les processeurs ARM jouaient dans deux catégories bien distinctes. Mais la donne change petit à petit : les tablettes, s'appuyant en grande majorité sur l'architecture ARM, commencent à concurrencer fortement les PC portables traditionnels ; Intel, de son côté, cherche à se frayer un chemin dans les téléphones mobiles (des prototypes de l 'Atom « Medfield » existent déjà); et le futur Windows 8 tournera à la fois au x86 et sur ARM. Pour l'heure, les différences restent marquées. Les principales sont très liées : elles ont trait à la consommation électrique et aux performances. Jusqu'à présent, Intel et AMD ont optimisé leurs processeurs pour portables afin d'obtenir le maximum de performances tout en conservant une consommation électrique acceptable pour des ordinateurs nomades. Les architectures conçues par ARM, elles, sont clairement pensées pour être le moins énergivore possible, avec des fréquences de fonctionnement plus faibles et un échauffement minimal (Il n'y a pas de radiateur ni de ventilateur dans un smartphone ou une tablette !): ces contraintes impactent donc le niveau de performances.

Objectif sobriété

L'auteur et analyste américain Van Smith l'a d'ailleurs confirmé l'an passé en mettant face à face une puce à cœur Cortex-A8(LMX515 de Freescale à 800 MHz) et un Atom N450 (fonctionnant en temps normal à 1,6 GHz mais dont la fréquences à été abaissée à 1 GHz pour le test). Résultat: la puce ARM s'est révélée le plus souvent en deçà de sa rivale x86, se faisant même largement distance sur de nombreux calculs en virgule flottante. En revanche, côté consommation, elle n'a pas dépassé 1,2 W et s'est avérée particulièrement stable, passant occasionnellement sous la berre des 0,5 W. L'Atom, lui, se situait dans le même temps entre 2 et 4 W, diminuant parfois à 1 W mais montant aussi à 7 W durant un test plus exigeant. Mené à nouveau aujourd'hui avec des processeurs actuels, ce test ne produirait pas exactement les mêmes résultats. Certes, ARM garderait l'avantage en matière de consommation et le x86 serait supérieur en termes de performances, mais, sur ce dernier point, l'écart se réduirait: avec l'arrivée de puces multicœurs, leur montée en fréquences et l'évolution rapide de l'architecture, les puces ARM commencent à présenter des arguments sérieux face aux Atom. Sans être encore au niveau d'un Athlon, d'un Phenom ou d'un Core actuels...

LE FUTUR : Plus de cœurs, plus rapides

La généralisation des smartphones et la montée en puissance des tablettes ont donné un coup d’accélérateur aux processeurs ARM. Il y a un an le double cœur commençait juste apparaître; aujourd'hui, les annonces de putes à 4, voire 8 cœurs se multiplient! Ainsi Qualcomm promet une puce Snapdragon à quatre cœurs. cadencés chacun à 2,5 GHz, avec une gestion des réseaux 4G (LTE), pour la fin de l'année et des téléphones équipés présentés lors du prochain Mobile World Congress en février2012. Dans le même ordre d'idées, Nvidia a plusieurs projets sur le feu: « Kal-13 » (qui devrait être lancé sous la dénomination commerciale Tegra 3 d'ici la fin de l'année), processeur quadricœur Corbet-A9 1,5 GHz prévu pour être 5 fois plus performant que le Tegra 2, annoncé pour 2012. Puis « Wayne» :4 cœurs Corte-A15, 10 fois plus puissant qu'un Tegra2. pour 2013. Mais Nvidia travaille aussi à un processeur pour ordinateurs basé lui aussi sur l'architecture ARM: des premiers prototypes devraient être produits en fin d'année et pourraient incorporer 8 cœurs et un processeur graphique GeForce de dernière génération. De l'ARM dans des PC. et pourquoi pas - puisque une rumeur se fait particulièrement insistante - dans les Mac? Ce serait un retour am sources.

UNE NOMENCLATURE COMPLEXE

Avec les puces ARM, pas facile de s'y retrouver. Leur architecture a connu plusieurs révisions depuis leur création: on parle ainsi d' architecture ARMv1 à v7. Ensuite les composants se classent par familles. Et c'est là que ça se corse ! Par exemple, la famille ARM7 comporte des modèles en architecture v3 ,v4 et v5... mais pas, comme son nom pourrait le laisser penser, en architecture ARMv7 ! Niveau supplémentaire de complexité, les cœurs de processeur possèdent eux aussi leurs dénominations (par exemple ARM9TDMI, Cortex-A9, etc.). Et les fabricants de puce, à leur tour, baptisent leurs composants: Omap (Texas Instruments), Snapdragon (Qualcomm), Hummingbird (Semsung), A4 et A5 (Apple), Tegra (Nvidia)... De quoi y perdre la tête!

Advanced Risc Machines (ARM) : L'ARM1 conçu en 1985, est resté à l'état de prototype. Mi-1987, son successeur, l'ARM2, équipe les ordinateurs Acorn Archimedes.

Une conception et un fonctionnement particuliers
Les processeurs ARM sont le fruit d'un développement et d'une philosophie très différents des choix d'lntel et d'AMD. Tour d'horizon en 5 ponts.

1-UN TRONC COMMUN POUR TOUS LES FABRICANTS
ARM ne fabrique pas des processeurs, mais il en conçoit l'architecture, proposée sous licence à ses partenaires. Pour autant, ces derniers ne sont pas tenus de produire des composants strictement définis par ARM. En effet à condition de respecter certaines caractéristiques. Ils peuvent les adapter à leurs besoins et élaborer des puces personnalisées autour des cœurs ARM. C'est ce qui permet aux puces Tegra de Nvidia de se distinguer en matières d'affichage 3D et de décodage vidéo HD, ou aux composants de Qualcomm ou Texas Instrument d’être en pointe coté communications et multimédia...


2-UNE BASE SIMPLIFIÉE
Dès les origines, les processeurs ARM sont conçus selon des principes de modération: moins de transistors que la concurrence, des instructions plus simple (Risc ne signifie pas que le jeu d'instructions est réduit mais qu'elles sont moins complexes et donc plus faciles à décoder et à traiter). Au fil des années les puces ARM ont gagné en complexité, elles peuvent exploiter les des instructions complémentaires pour les traitements multimédias ou la gestion de code Java à même le processeur, et sont désormais multicœurs. Mais elles restent, en termes de fonctionnement, plus simples que des puces x86. Et moins rapides aussi... pour le moment.

3-UNE CONSOMMATION MAITRISÉE
Sur un ordinateur portable, la consommation électrique d'un processeur peut se chiffrer en dizaines de watts: 35W. par exemple, pour un Intel Core i3-2310M actuel, mais seulement 5,5W sir un Atom N450 et 6W sur un AMD Fusion C-50. Avec les processeurs de type ARM se destinant aux appareils mobiles, ce chiffre se situe fréquamment sous la barre du watt, voire moins: chaque puce dispose de dispositifs avancés de mise hors tension de certains circuits(par exemple ceux dédiés aux entrées / sorties, à la vidéo...), en fonction des usages en cours, pour réduire encore la consommation générale.

4-DES PROCESSEURS CENTRAUX... MAIS PAS SEULEMENT
Les puces de type ARM ne se limitent pas au rôle de processeur central à tout faire,elles servent très souvent de controleur pour des taches précises, installé au sein de Périphériques d'appareils domestiques en tout genre, ou de processeur pour des systèmes temps réel (qui requièrent l’exécution d’instructions dans des temps déterminés). Avec la famille de puces Cortex, ARM a officialisé trois catégories de processeurs: les composants dits applicatifs (série Cortex-A) intégrés aux smartphones, tablettes et téléviseurs connectées par exemple; les puces temps réel (Cortex-R pour reel-time), développées pour électronique automobile, les équipements réseau et les disques dures: et enfin les microcontrôleurs (Cortex-M), conçu 4 conçus pour l'électroménager mais aussi les consoles de jeu portables ou la gestion du Bluetooth.

5-TOUT-EN-UN
Les puces ARM sont des «system on a chip» (SoC). Autrement dit un seul composant se charge d'assurer les taches habituellement dévolues à plusieurs dans un ordinateur classique. Par exemple une puce Tegra 2 de Nvidia incorpora, sur ure seule tranche de silicium, deux cœurs Cortex-A9. un autre cœur ARM 7 — moins énergivore et exploite pour la lecture audio et vidéo—, deux unités pour le vidéo HD (une pour le décodage, l'autre pour l’enregistrement), une unité pour l'audio, une autre pour les images... et une unité GeForce pour pour la gestion des graphisme. Le tout sur une surface de moins de 50 mm2.

Source : L'OI-SVM du Mois de Novembre 2011

Aucun commentaire:

Enregistrer un commentaire