jeudi 17 mars 2011

ARM - qui fait quoi




1/ ARM : la théorie


La semaine prochaine, nous allons vous proposer une série d'actualité sur les processeurs ARM. En effet, les puces ARM sont de plus en plus populaires et si elles sont pour le moment cantonnées dans des appareils où la consommation est une contrainte, elles pourraient tout à fait se retrouver dans de l'informatique « de bureau » dans les prochaines années.

L'idée de la série d'actualité est de présenter les puces qui sont intéressantes pour le public de Tom's Hardware, constructeur par constructeur. C'est forcément réducteur, les puces ARM étant utilisées dans énormément d'appareils, mais nous allons nous concentrer sur les modèles qui ont une « visibilité » actuellement, c'est-à-dire les modèles utilisés dans les smartphones, les consoles de jeux et les tablettes. Il existe bien d'autres domaines où les puces ARM sont utilisées, nous le savons, mais l'intérêt reste moindre pour notre ligne éditoriale.

ARM, c'est quoi ?

ARM (Advanced RISC Machine) est une société anglaise à l'origine de l'architecture du même nom. La société a été fondée en 1990, c'est une coentreprise entre Acorn Computers, Apple Inc. et VLSI Technology. À l'origine, les processeurs ont été conçus pour les ordinateurs Acorn, mais la société a décidé de licencier sa technologie, ce qui a permis l'utilisation des processeurs ARM dans énormément de domaines. ARM ne produit pas de processeurs, la société ne fait que de la conception et vend ensuite des licences à d'autres compagnies, qui intègrent les processeurs dans des puces, généralement des SoC.

Qui ? Quoi ? Comment ?

Pour chaque constructeur, nous allons détailler les puces vedettes et prendre trois points en compte pour notre présentation. Les puces ARM étant généralement intégrée dans des SoC (System on a Chip), nous allons détailler le type de CPU utilisé et le type de GPU utilisé. Ce sont deux points importants pour définir les performances d'un SoC à base d'ARM. Ensuite, nous allons aussi détailler qui grave et produit le SoC, ce qui n'est pas trivial. Expliquons.

Le CPU

ARM est parfois comparé à Intel, mais le fonctionnement de la société n'est pas le même. Là où Intel conçoit, produit et vend ses processeurs en architecture x86, ARM ne fait réellement que de la conception. Et si Intel a de la concurrence (AMD, Via, etc.), cette concurrence conçoit elle-même ses processeurs, avec une licence sur le jeu d'instructions x86 mais pas sur les CPU. Intel proposait — à une époque — de licencier totalement un processeur, mais ça fait très longtemps que la société ne le propose plus. ARM, a contrario, vend des licences sur son jeu d'instructions, mais aussi sur des processeurs. Typiquement, les constructeurs ont le choix entre intégrer un core de type ARM11, Cortex A8 ou Cortex A9 (dans ce qui nous intéresse) ou concevoir un CPU compatible ARMv6 ou ARMv7. Le choix dépend du constructeur et de ses besoins, mais la majorité des puces ARM haut de gamme utilisent un core d'origine ARM.

Le GPU

Lapartie graphique est de plus en plus importante dans les SoC ARM. Android, QNX ou iOS utilisent de plus en plus les fonctions des GPU intégrés dans les SoC et comme le jeu semble devenir un marché (très) important sur les smartphones et les tablettes, la puissance de calcul en 3D et les fonctions supportées prennent une importance énorme. Si ARM propose un GPU, avec sa gamme Mali, les différents constructeurs de SoC préfèrent généralement utiliser des puces provenant de « grands » noms de la 3D. Certains — comme NVIDIA — utilisent les compétences internes, mais la majorité utilise soit des puces d'origine ATi soit des puces d'origine Imagination (PowerVR). Et chaque constructeur propose différentes implémentations — comme dans les cartes graphiques de PC — de ses GPU.

Qui produit ?

Pour la production, c'est encore un autre problème. Certaines sociétés font des puces ARM sans qu'elles aient la possibilité de produire les puces directement, alors que d'autres ont les usines nécessaires. Et si les « grands » fondeurs comme TSMC sont mis à contribution, ils ne sont pas les seuls, Samsung est par exemple le fondeur d'Apple pour le processeur A4. Dans la pratique, le choix du fondeur est important, certains maîtrisant mieux les technologies de gravure que d'autres.


2/ ARM : NVIDIA


Pour notre série sur les SoC ARM, nous allons commencer par un petit nouveau qui est bien connu de nos lecteurs : NVIDIA.

Pour notre série sur les SoC ARM, nous allons commencer par un petit nouveau qui est bien connu de nos lecteurs : NVIDIA. La société est à la base spécialisée dans les cartes graphiques, mais elle a aussi proposé pendant un temps de chipsets. Avec l'avènement des smartphones et autres appareils mobiles, NVIDIA a préféré investir pour proposer son propre SoC que licencier sa technologie, comme l'avait fait ATi à l'époque.

Une puce Tegra en demi-teinte

Le premier SoC ARM NVIDIA, c'est Tegra, avec l'APX 2x00 et les puces Tegra 6xx. Passons rapidement sur cette puce qui n'a pas été un succès. Elle est basée sur un core d'origine ARM, en architecture ARMv6, un core ARM11 MPCore avec une fréquence comprise entre 600 et 800 MHz. C'est un peu le défaut de cette puce, qui utilisait un ARM11 au moment où les concurrents passaient en Cortex A8. La partie graphique est une « GeForce ULV », compatible OpenGL ES 2.0 et les E/S du SoC proviennent directement de l'expertise de NVIDIA dans les chipsets. On retrouve notamment un contrôleur mémoire LP-DDR sur 32 bits. Cette puce a été un coup d'essai et a été très peu utilisée.

Tegra 2 : le CPU

Avec Tegra 2, NVIDIA a plus de succès, la puce étant devenue une référence pour les tablettes Android et les prochaines générations de smartphones. Pour le CPU, NVIDIA utilise toujours un core ARM classique, de type Cortex A9 MPCore. Dans Tegra 250, NVIDIA a intégré deux cores, chacun dotés de 2 x 32 ko de cache de niveau 1 et de 1 Mo de cache de niveau 2. C'est le core ARM le plus rapide actuellement sur le marché et Tegra 2 est une des rares puces disponibles qui utilise ce core. Le Cortex A9 est basé sur le jeu d'instructions ARMv7 et offre un pipeline court (8 étages) et une gestion des instructions OoO (Out of Order), ce qui le rend plus performant que le Cortex A8. NVIDIA n'a implémenté que la FPU dans son Cortex A9, les instructions SIMD NEON n'étant pas de la partie. Au final, la partie CPU du SoC est performante, même s'il est possible de faire mieux.

Tegra 2 : le GPU

Pour le GPU, NVIDIA n'a évidemment pas utilisé une puce externe, c'est un GPU conçu par la société, sous le nom GeForce ULV. Compatible OpenGL ES 2.0, la puce est composée de « 8 cores ». La technologie n'est pas unifiée, comme dans les GPU destinés aux ordinateurs de bureau, et une séparation existe entre les unités de Pixel Shader et celles de Vertex Shader. En pratique, on trouve quatre unités pour chacun des usages. La GeForce ULV offre — selon NVIDIA — le double de la puissance de Tegra.

I/O et production

NVIDIA a évidemment utilisé son expertise pour la gestion de la vidéo et des E/S. Tegra 2 décode le 1080p dans les principaux formats et la mémoire utilisée est de la LP-DDR2, qui offre une bande passante doublée par rapport à la LP-DDR de Tegra. Sur les versions destinées aux appareils fixes, la puce peut travailler avec de la mémoire DDR2-667 sur un bus 32 bits. NVIDIA n'a pas d'usines et utilise donc les services d'un fondeur externe et c'est ici TSMC, comme pour les GPU classiques, qui produit Tegra 2, en technologie 40 nm.

Le futur

Dans le futur, on sait que NVIDIA va proposer une déclinaison 3D de Tegra 2, dotée d'un CPU plus rapide (1,2 GHz) et que Tegra 3 devrait garder le même CPU qu'actuellement (le Cortex A9) avec quatre cores au lieu de deux. Tegra 3 devrait aussi améliorer le GPU et passer en 28 nm. Plus tard, NVIDIA devrait utiliser le Cortex A15 dans ses SoC et la société travaille aussi sur un CPU maison, compatible avec le jeu d'instructions d'ARM.


3/ ARM : Apple


Après NVIDIA, intéressons-nous à un autre petit nouveau dans les SoC ARM, Apple.En effet, si Apple vend des appareils équipés de puces ARM depuis des années — la société a cofondé ARM en 1990 pour avoir un CPU pour le Newton —, les processeurs ne sont vendus sous la marque Apple que depuis un an.

Apple ne propose actuellement qu'un seul SoC ARM, l'Apple A4. Il existe plusieurs variantes, en fonction de la fréquence : l'iPad a un modèle à 1 GHz et l'iPod touch 4G, l'iPhone 4 et l'Apple TV se limitent à 800 MHz. De plus, Apple utilise de la mémoire empilée sur le processeur (stack) et si l'iPhone 4 est doté de 512 Mo de RAM, les autres modèles se limitent à 256 Mo. On compare généralement l'A4 au Hummingbird de Samsung, mais ils sont différents : le SoC de Samsung intègre notamment un GPU plus rapide.

Apple A4 : le CPU

Pour le CPU, on n'a pas un core d'origine Apple, contrairement à ce que certains pouvaient penser. L'A4 utilise un core assez classique chez ARM, le Cortex A8. C'est le même core que celui utilisé dans l'iPhone 3GS (doté d'un SoC Samsung) et dans beaucoup de smartphones. C'est un core en architecture ARMv7, doté d'un pipeline de 13 étages et qui gère les instructions de façon séquentielle (In Order). La FPU est assez moyenne (celle du Cortex A9 est plus efficace) mais la majorité des implémentations — dont celle d'Apple — intègrent le jeu d'instructions SIMD Neon.

Apple A4 : le GPU

Le GPU de l'Apple A4 ne vient pas non plus de chez Apple, c'est une puce Imagination, un PowerVR SGX535. Cette puce compatible OpenGL ES 2.0 est utilisée dans bien d'autres SoC (OMAP3 notamment) mais aussi par Intel dans ses chipsets Atom (le GMA500 est un SGX535). Un SGX 535 dispose de deux unités « USSE » (Universal Scalable Shader Engine) et deux unités de texturing. La puissance est correcte, avec 14 millions de triangles/s et un fillrate de 1 gigapixel, même si d'autres puces sont plus efficaces, comme le SGX540 et Tegra 2.

I/O et production

C'est au niveau des E/S et de la production qu'Apple fournit un produit efficace. La mémoire est directement placée sur le die du SoC et elle est connectée via un bus 64 bits, ce qui est deux fois la largeur habituelle. Au niveau de la production, ce n'est — encore une fois — pas un produit Apple, qui n'a pas de fonderie, mais une puce gravée par Samsung, en 45 nm. Sans que ce soit totalement officiel, on sait qu'Apple a acheté Intrinsity et que les ingénieurs de la société auraient travaillé avec Samsung pour améliorer l'implémentation du Cortex A8 et atteindre des fréquences élevées pour ce type de puce.

Le futur

Pour sa prochaine génération de puce, Apple devrait proposer un « A5 ». On attend un SoC intégrant un CPU de type Cortex A9 avec deux cores et une puce PowerVR SGX543MP2, plus rapide que le SGX535 actuel.


4/ ARM : Qualcomm


Après NVIDIA et Apple, intéressons-nous à Qualcomm. Le cas de cette société américaine est intéressant : c'est une des seules à proposer des SoC conçus en interne. En effet, le Snapdragon — puce vedette de la marque — propose un CPU maison et un GPU maison.

Plusieurs variantes existent, en fonction de la finesse de gravure, du GPU, du nombre de cores et surtout des fonctions annexes. Toutes les puces intègrent, en plus des fonctions habituelles, un récepteur GPS et des fonctions de téléphonie qui diffèrent en fonction du pays (DCMA, GSM, 3G, etc.). Qualcomm propose aussi des SoC basés sur le jeu d'instructions ARMv6 et avec un core ARM11, les MSM7xxx.

Snpadragon : le CPU

Le CPU de Snapdragon, c'est le core « Scorpion ». Souvent comparé au Cortex A8, il est pourtant assez différent. Le core Scorpion est une implémentation du jeu d'instructions ARMv7, comme le Cortex A8 et le A9, faites par Qualcomm en interne. Les performances ne sont donc pas identiques et la puce a été pensée pour la fréquence : là où les concurrents atteignent 1 GHz en 4x nm, Qualcomm a proposé des Snapdragon à 1 GHz en 65 nm. Dans les autres différences, si Scorpion est proche du Cortex A8 sur l'architecture de base (dual issue, 13 étages pour le pipeline), il est meilleur sur les calculs flottants : la FPU travaille avec le pipeline (pas le Cortex A8) et l'implémentation de NEON est plus efficace. Pour adapter le tout au monde du x86, on pourrait comparer le Cortex A8 à un Pentium chez Intel et le Snapdragon à un K7 chez AMD. En pratique, le Scorpion peut atteindre 1,5 GHz en 45 nm et des versions dotées de deux cores existent.

Snapdragon : le GPU

Le GPU de Snapdragon porte le nom d'Adreno mais il s'agit en fait d'une puce ATi. Il y a quelques années, ATi proposait une gamme de GPU pour les SoC, sous le nom d'Imageon. ATi vendait des licences et Qualcomm en possédait une. En 2008, Qualcomm a racheté la division mobile d'ATi et renommé les puces pour les intégrer dans Snapdragon. Deux versions existent : Adreno 200 et Adreno 205. La première puce est une ATI Imageon Z460 renommée, la seconde une amélioration de celle-ci avec une prise en charge des shaders améliorée et une accélération matérielle de la 2D et du format SVG. Les deux versions sont compatibles OpenGL ES 2.0 et Direct3D Mobile. Même si Qualcomm a racheté ATi, il existe encore des puces qui utilisent l'Imageon Z460, car ATi licenciait la puce à une époque, et certains SoC concurrents chez Freescale utilisent dans la pratique un Adreno 200. Enfin, les SoC d'entrée de gamme MSM7xxx sont aussi équipés d'un Adreno 200.

I/O et production

Qualcomm produit directement ses puces, en 65 nm pour le Snapdragon classique et en 45 nm pour les générations récentes. Les puces de Qualcomm sont généralement pensées pour monter en fréquence et la différence par rapport à un Cortex A8 ou A9 est assez grande : là où les versions ARM plafonnent vers 1 GHz en 40 nm, Qualcomm atteint cette fréquence et 65 nm et 1,5 GHz au moins en 45 nm. Pour les E/S, c'est assez classique : on retrouve la connectique classique, la possibilité de prendre en charge une sortie vidéo et un bus mémoire sur 32 bits.

Le futur

Snapdragon 2 devrait proposer deux cores Scorpion et un nouveau GPU Adreno 220, plus rapide. La société promet la qualité graphique de la PlayStation 3 dans un smartphone, en 2012.


5/ ARM : Rockchip


Continuons avec les puces ARM destinées aux smartphones avec une société peu connue du grand public, mais très présente dans les appareils d'entrée de gamme : RockChip. Les SoC ARM de la société ont en effet deux « avantages » : ils sont peu onéreux et ont des fréquences attractives.

Dans la pratique, on trouve essentiellement les SoC ARM de RockChip dans des appareils d'entrée de gamme, comme l'Archos 7 Home Tablet, ou dans de (mauvaises) copies d'iPad, vendues sous les noms iPed ou ePad sur eBay. Les CPU sont très lents et les fonctions peu nombreuses, mais le prix très faible et la fréquence qui peut atteindre 1 GHz sont de bons arguments de vente.

RockChip : le CPU

On trouve deux SOC RockChip assez fréquemment : le RK2808(A) et le RK2818. Dans les deux cas, ce sont des cores de type ARM9 qui sont utilisés, en architecture ARMv5. Le premier peut atteindre environ 600 MHz, le second est poussé dans certains cas à 1 GHz. Même à cette fréquence, les performances sont assez faibles : un ARM9 est capable d'atteindre 1,1 DMIPS par %Hz là où un Cortex A8 atteint pratiquement le double (2 DMIPS par MHz). En pratique, Android est utilisable sur ce type de processeurs, mais les prochaines versions du système devraient supprimer le support de l'ARMv5 et certains programmes, comme Flash, demandent un CPU de type ARMv7.

RockChip : le GPU

En dehors d'une puce de décodage pour la vidéo, qui prend en charge le H.264 en 720p, le RK2808 n'a pas de fonctions vidéo avancées. Il ne dispose que d'une puce vidéo capable de travailler en 2D et l'OpenGL ES n'est donc pas de la partie. Le RK2818, quant à lui, a bien un GPU, un Mali-55. Cette puce d'origine ARM est très lente : elle ne gère que l'OpenGL ES 1.1 et calcule seulement 1 million de triangles/s, avec un fillrate de seulement 100 mégapixels/s. Dans la pratique, les performances sont environ 10 fois moins élevées que sur une puce PowerVR SGX535, assez courante.

I/O et production

Les RockChip sont des puces d'entrée de gamme et les fonctions sont donc limitées. Le RK2808 prend en charge le HDMI (en 720p), lit les cartes SDHC, est compatible USB 2.0 (en host) et peut gérer 1 Go de Mobile SDRAM. Le bus n'est pas indiqué, mais c'est a priori un classique 32 bits. Le RK2818 a les mêmes fonctions mais prend en charge au maximum 4 Go de LP-DDR2. On a peu d'information sur le fondeur de RockChip, mais c'est a priori TSMC.

Le futur

Le futur, chez RockChip, c'est le RK2918. Présenté au CES, ce SoC marie un core de type Cortex A8 avec une fréquence élevée (1,2 GHz), un GPU performant — 60 millions de triangles/s — et des fonctions 1080p avancées, comme le décodage du WebM de Google. Reste à voir quand il sera réellement disponible : s'il sort trop tard, il sera dépassé par les SoC de la concurrence en Cortex A9.


6/ ARM : TI / OMAP3



Aujourd'hui, un constructeur de puces ARM qui a une (très) grosse gamme. Commençons par la plus utilisée, que l'on retrouve dans énormément de smartphones, la gamme OMAP3 de Texas Instrument.

La gamme OMAP3 est très utilisée et surtout très large. Des versions sans GPU, des modèles très rapides, des puces en 65 nm et des puces en 45 nm cohabitent sous le même nom. Texas Instrument utilise en fait une segmentation sur la fréquence, mais aussi sur la présence d'un DSP et du décodeur vidéo IVA2, ainsi que sa variante IVA2+, plus rapide.

OMAP3 : le CPU

Toutes les puces de la famille OMAP3 ont le même core CPU, un Cortex A8 de chez ARM. Le jeu d'instruction est l'ARMv7 et la fréquence de la puce varie de 600 MHz (en 65 nm) à 1,2 GHz en 45 nm. Le cache est assez faible, avec généralement 256 ko de cache L2, et les performances sont correctes, sans plus. Le Cortex A8 est l'implémentation ARM la plus habituelle et ce core dual issue et in order n'est pas le plus performant de la gamme. Ses performances en calcul flottant sont faibles, à cause d'une FPU assez moyenne, mais il intègre les instructions SIMD Neon. Une partie de la gamme — à l'exception de l'OMAP3410 et 3610 — intègre un coprocesseur de type DSP cadencé à 430 MHz. Il peut notamment être utilisé comme décodeur vidéo.

OMAP3 : le GPU

Le GPU utilisé dans les puces OMAP3 — sauf les 3410 et 3610 — est d'origine Imagination Tech, un PowerVR SGX530. Cette puce dispose de deux unités USSE (pour les shaders) et d'un pipeline de rendu. Elle offre la même puissance géométrique que le SGX535 (14 millions de triangles/s) mais seulement la moitié de son fillrate (500 mégapixels/s). Pour la vidéo, Texas Instrument utilise ses puces IVA2 et IVA2+ pour prendre en charge le décodage matériel. La première, dans les puces OMAP3410/3610 et 3420/3620, décode les codecs classiques jusqu'au VGA (640 x 480), la seconde que l'on retrouve dans les 3430/3630 et 3440/3640 est capable de travailler en 720p.

I/O et production

Au niveau E/S, c'est assez classique, et la puce utilise un bus mémoire 32 bits et de la mémoire Mobile DDR. Elle prend aussi en charge l'USB 2.0 dans les deux sens : un appareil sous OMAP3 peut être vu comme un périphérique USB 2.0 et les appareils OMAP3 prennent en charge les périphériques USB 2.0 directement. Pour la production, trois versions existent : les OMAP34xx gravées en 65 nm et destinées aux smartphones, les OMAP35xx qui visent l'embarqué et les OMAP36xx qui sont gravées en 45 nm et visent les smartphones.

Le futur

Étant donné la large gamme de SoC ARM chez Texas Instrument, nous allons dédier une seconde actualité aux puces OMAP4, qui succèdent aux puces OMAP3.


7/ ARM : TI / OMAP4


Après l'OMAP3, passons à l'OMAP4. Cette nouvelle génération de SoC provient aussi de chez Texas Instrument et commence à être intégrée dans des appareils, comme la PlayBook de RIM.

L'OMAP4 est une évolution de l'OMAP3, avec un nouveau core pour le CPU, un nouveau GPU, un nouveau décodeur vidéo et le même DSP que dans l'OMAP3. On a donc un Cortex A9, un PowerVR SGX540 et un IVA3.

OMAP4 : le CPU

L'OMAP4 passe du Cortex A8 au Cortex A9, avec deux cores, mais une fréquence proche : entre 720 MHz et 1 GHz. Le Cortex A9 est basé sur le jeu d'instructions ARMv7 et offre un pipeline court (8 étages) et une gestion des instructions OoO (Out of Order), ce qui le rend plus performant que le Cortex A8 utilisé dans l'OMAP3. Texas Instrument, contrairement à NVIDIA, a intégré une FPU (plus performante que dans le Cortex A8) et le jeu d'instructions SIMD, utilisé notamment pour le décodage de certaines vidéos. Le core est donc physiquement un peu plus gros, mais aussi plus rapide dans certains cas. Texas Instrument a doté son OMAP4 de 1 Mo de cache de niveau 2, la norme avec un Cortex A9. Le DSP C64x de la société est toujours là pour aider les CPU sur certaines tâches.

OMAP4 : le GPU

Pour le GPU, c'est encore une puce Imagination Tech qui est utilisée. En OMAP3, c'était un PowerVR SGX530. En OMAP4, c'est un PowerVR SGX540. les deux puces sont basées sur la même architecture, mais la SGX540 est plus rapide : on passe de deux à quatre unités USSE et d’un à deux pipelines de rendu. La puissance évolue en conséquence : 20 millions de triangles/s et 1 gigapixels/s en fillrate, contre 14 millions de triangles/s et 500 mégapixels en OMAP3. La puce IVA3 prend en charge le décodage des formats HD en vidéo et peut décoder du H.264 en 1080p.

I/O et production

Pour les E/S, une grosse différence : le bus mémoire qui prend en charge la LPDDR2 et qui passe à 2x32 bits, ce qui permet un gain en bande passante assez conséquent. Autre nouveauté, le support du HDMI (1.3) alors que l'OMAP3 se limite à des sorties analogiques. Pour le reste, c'est un SoC classique et complet. L'OMAP4 est gravé en 45 nm et deux versions existent : le 4430 et le 4440. La seule différence est la fréquence, plus élevée sur la version OMAP4440.

Le futur

Le futur, c'est l'OMAP5. Gravé en 28 nm, ce SoC passera au Cortex A15, avec deux cores à 2 GHz, intégrera deux cores Cortex M4 pour les tâches annexes et un GPU PowerVR SGX544 MPx. Sortie prévue en 2012.


8/ ARM : Samsung


Samsung est un spécialiste des SoC ARM. La société équipe en effet une partie de ses téléphones avec ses propres puces (le Hummingbird est assez réputé) mais elle équipe aussi les téléphones d'Apple depuis le début.

Les SoC Samsung habituels sont le S5L8900, le APL0298C05 et le S5PC111, même si l'Apple A4 est aussi considéré par certains comme un produit Samsung, étant donné que la firme coréenne a travaillé avec Apple pour sa conception. Le premier a été utilisé dans les premières générations d'iPhone, le second dans l'iPhone 3GS? le dernier dans la tablette Galaxy Tab et les smartphones Nexus et Galaxy S.

Le S5L8900 : CPU et GPU

Le S5L8900 est le SoC qui équipe les premières générations d'iPhone et d'iPod touch. Gravé en 90 nm dans l'iPhone, l'iPhone 3G et l'iPod touch 1G, il est cadencé à 412 MHz. Dans l'iPod touch 2G, il est gravé en 65 nm et atteint 533 MHz. Cette puce est dotée d'un CPU ARM11 assez classique (d'origine ARM, un ARM1176), d'un GPU PowerVR MBX Lite capable de calculer 3,4 millions de traînages/s et doté d'un fillrate de 270 Mégapixels/s et d'une puce de décodage basique pour la vidéo.

APL0298C05 et S5PC111 « Hummingbird » : le CPU

Pour le CPU, les deux SoC partagent la même puce : un Cortex A8. C'est un core en architecture ARMv7, doté d'un pipeline de 13 étages et qui gère les instructions de façon séquentielle (In Order). La FPU est assez moyenne (celle du Cortex A9 est plus efficace) mais la majorité des implémentations — dont celles de Samsung — intègrent le jeu d'instructions SIMD Neon. Le premier SoC utilise un Cortex A8 à 600 MHz, le second atteint 1 GHz.

APL0298C05 et S5PC111 « Hummingbird » : le GPU

Samsung utilise la même partie graphique dans ses deux puces : un GPU PowerVR SGX. L'APL0298C05 est basé sur un SGX535, l'Hummingbird sur un SGX540, plus rapide. Les deux puces sont basées sur la même architecture, mais la SGX540 est plus rapide : on passe de deux à quatre unités USSE mais on garde deux pipelines de rendu. La puissance évolue en conséquence : 20 millions de triangles/s et 1 gigapixels/s en fillrate, contre 14 millions de triangles/s et (toujours) 1 gigapixels/s en SGX535. la puce est aidée par un VXD37x de chez Imagination Technologie pour le décodage de la vidéo, une puce capable de décoder du 1080p en H.264.

I/O et production

Samsung a ses propres usines et est capable de graver avec les technologies actuelles. Si l'APL0298C05 est gravé en 65 nm — ce qui explique la fréquence de seulement 600 MHz —, l'Hummingbird est gravé en 45 nm. Les E/Ssont assez classiques, avec gestion de l'USB, de la mémoire flash, etc. Pour la bande passante mémoire, le premier SoC travaille en 32 bits sur un seul canal, l'Hummingbird travaille sur deux canaux, soit un équivalent 64 bits, ce qui améliore un peu les performances.

Le futur

Le futur chez Samsung, c'est OrionExynos, un SoC doté de deux cores à 1 GHz, a priori du Cortex A9. Il n'y a pas beaucoup d'informations sur cette puce.


9/ ARM : Freescale


Freescale est un acteur peu connu dans les SoC ARM, car la société équipe rarement des appareils grand public. Pourtant, les puces i.MX se retrouvent dans quelques tablettes, mais surtout dans énormément de liseuses à base de eINK, la société ayant intégré un contrôleur capable de prendre en charge ce type d'écran directement dans un de ses SoC.

Une des particularités des puces Freescale — outre le fait qu'elles équipent généralement des appareils industriels et des voitures — est qu'elles intègrent une puce vidéo... ATi. En effet, la société avait acheté une licence à ATi en 2007, un peu avant le rachat de la division mobile du constructeur canadien par Qualcomm. Le GPU de certaines puces Freescale est donc le même que l'Adreno 200 des puces Snapdragon.

i.MX 5xx : le CPU

Après des i.MX 3xx intégrant un core ARM11, les i.MX 5xx intègrent un core devenu un classique, le Cortex A8. C'est un core en architecture ARMv7, doté d'un pipeline de 13 étages et qui gère les instructions de façon séquentielle (In Order). La FPU est assez moyenne (celle du Cortex A9 est plus efficace) mais la majorité des implémentations intègrent le jeu d'instructions SIMD Neon. La fréquence varie de 600 MHz à 1 GHz, en fonction des puces.

i.MX 5xx : les GPU

La gamme i.MX est très large, et certains modèles intègrent un GPU ATi, l'Imageon Z430 ou l'Imageon Z460. Cette puce est équivalente à l'Adreno 200 de chez Qualcomm. Selon la cible de la puce, on trouve aussi parfois une puce Imageon Z180 qui est dédiée à l'affichage de données vectorielles (comme les animations Flash) et permet d'accélérer entre 20 et 40x les traitements. Une puce (i.MX 508) intègre un contrôleur eINK directement et certains modèles sont aussi équipés d'une puce dédiée au décodage des formats vidéo HDn soit en 720p sur les i.MX 51x soit en 1080p sur les i.MX 53x.

I/O et production

Vu la cible industrielle, les fonctions sont les mêmes que les SoC concurrents, mais Freescale intègre généralement l'Ethernet dans ses puces. On retrouve aussi du SATA et des sorties vidéo moins classiques que le HDMI, comme le LVDS et le VGA. Les puces de dernière génération sont gravées en 45 nm par Freescale et l'interface mémoire permet d'utiliser (au choix) de la DDR2 ou de la DRR3 sur un bus 32 bits.

Le futur

Le futur chez Freescale, c'est le i.MX 6xx. Les i.MX 6xx seront basés sur le Cortex A9, avec un ou deux cores à 1,2 GHz et nouvelle puce 3D, de chez Vivante. Le 1080p sera évidemment de la partie, tout comme le HDMI 1.4 et l'Ethernet à 1 gigabit/s.


10/ ARM : Zii


Zii est un nouvel arrivant dans les SoC ARM, et la société — qui est issue de Creative Labs — propose des solutions intéressantes. Les puces de Zii utilisent en effet une solution proche de celle de Sony avec le Cell : un CPU central aidé par des « cores » capables de faire différentes tâches. Les puces Zii sont essentiellement utilisées dans les produits de Creative Labs.

Deux puces existent : la ZMS-05 et la ZMS-08. La première, anecdotique, est basée sur deux cores ARM9 et 24 « PEA », alias Processing Elemens Array. La puissance limitée et l'absence de fonctions 3D convaincantes n'ont pas permis à la puce de se vendre en masse. La ZMS-08 est nettement plus intéressante et est notamment utilisée dans la tablette de Creative, la ZiiO 7.

ZMS-08 : le CPU

Rien que du classique pour le CPU, un Cortex A8. C'est un core en architecture ARMv7, doté d'un pipeline de 13 étages et qui gère les instructions de façon séquentielle (In Order). La FPU est assez moyenne (celle du Cortex A9 est plus efficace) mais la majorité des implémentations intègrent le jeu d'instructions SIMD Neon. Le core est ici cadencé à 1 GHz, une fréquence habituelle dans les SoC gravés en 4x nm.

ZMS-08 : le « GPU »

Le GPU de la puce Zii n'en est pas réellement un. Il s'agit plus d'un ensemble de 64 unités de calcul (par groupe de 8) capable d'effectuer des opérations simples. On s'approche un peu du concept du Cell : un CPU central et des unités de calcul séparées. Dans un cas idéal, la puissance de calcul est très élevée. En pratique, les PEA (Processing Elemens Array) sont capables de fonctionner comme un GPU OpenGL ES 2.0 et Zii donne une valeur de fillrate de 1 gigapixel/s, ce que les GPU PowerVR SGX 535 ou 540 atteignent. Ils peuvent aussi être programmés pour du décodage vidéo (1080p en H.264) ou des calculs généralistes.

I/O et production

On ne sait pas qui produit le Zii mais la fréquence indique une finesse de gravure de l'ordre de 45 nm. Les E/S sont classiques, avec de l'USB, la prise en charge des cartes SD, etc. Petit plus, la partie audio est signée Crative Labs et porte le nom X-Fi, comme les puces que l'on retrouve dans les cartes son. Vu la complexité de la puce, on est loin d'une vraie X-Fi, mais l'ensemble a le mérite d'avoir été pensé par des spécialistes de l'audio.

Pas d'informations sur le futur des puces Zii actuellement.


11/ ARM : Telechips


Telechips est une compagnie assez récente, fondée dans les années 2000 et qui était spécialisée dans les puces destinées au monde de l'audio.

La société propose des SoC ARM et ils équipent des tablettes d'entrée de gamme et des boîtiers Media Center à bas coût, provenant de Chine. On trouve essentiellement des modèles basés sur les SoC TCC8900 et TCC8902.

TCC890x : le CPU

Le core CPU est assez ancien, c'est un ARM1176 de chez ARM. Ce core simple issue et in order utilise le jeu d'instructions ARMv6 et se retrouve essentiellement dans les produits bas de gamme ou un peu ancien (comme les smartphones de 2007). Dans les SoC de TCC890x, il fonctionne à 500 MHz ou à 720 MHz, en fonction de la tension (1,2 V et 1,5 V) et évidemment de l'autonomie attendue.

TCC890x : le GPU

Pour le GPU, c'est une puce Mali 200 de chez ARM qui est intégrée. Compatible OpenGL ES 2.0 et OpenVG 1.1. La puissance n'est pas annoncée, mais la puce vidéo est capable de décoder le 1080p en H.264 et d'encoder en 720p. Elle est notamment utilisée dans des « Google TV » bas de gamme, basée sur un système Android classique.

I/O et production

Le SoC est classique et est orienté vers la vidéo : support du HDMI (1.3), prise en charge directe des récepteurs DVB-x, du SATA, etc. Les TCC890x sont gravés en 65 nm, a priori par TSMC, la société étant fabless.

Le futur

Dans le futur, la société va proposer le TCC8800, une puce basée sur un core Cortex A8, significativement plus rapide que le ARM11.


12/ ARM : Apple A5


Petit retour de la rubrique « ARM : qui fait quoi » avec l'Apple A5. Ce nouveau SoC succède à l'A4 utilisé dans l'iPad, l'iPhone 4 et l'iPod touch 4G.

Le A5 est un SoC de la nouvelle génération, qui se situe entre l'OMAP4 et l'OMAP5 ou entre Tegra 2 et Tegra 3. C'est une puce intermédiaire, car le CPU est un modèle classique, déjà utilisé, mais la puce graphique est nettement plus rapide que la concurrence. Seul petit défaut actuel, la puce reste gravée en 45 nm et est donc nettement plus imposante que l'Apple A4.

Apple A5 : le CPU

Pour le processeur, c'est du classique : deux cores de type Cortex A9, avec SIMD (NEON) et FPU et 512 ko de cache par core. C'est un core environ 25 % plus rapide que le Cortex A8 de l'A4 en temps normal et vraiment beaucoup plus rapide sur les calculs flottants. Notons que l'A4 avait un peu plus de cache de niveau pour son unique core, 640 ko. Pour la fréquence, Apple indique 1 GHz, mais les tests montrent que la fréquence varie en fonction de la charge, alors que la fréquence de l'A4 était fixe.

Apple A5 : le GPU

Apple, pour le GPU, sort l'artillerie lourde : une puce PowerVR SGX543MP2. Expliquons. Le SGX543 est une puce de la famille 5XT, un peu plus rapide que les modèles classiques et proposant notamment une architecture USSE2 et le support de l'OpenCL. Un core SGX535 — utilisé dans l'Apple A4 — c'est deux unités de calcul, deux unités de texturing (fillrate de 1 gigapixel/s) et 14 millions de triangles/s. Un core SGX543, c'est quatre unités de calcul, 35 millions de triangles/s et deux unités de texturing (fillrate de 1 gigapixel/s). Dans la version MP2, il y a deux puces qui travaillent en parallèle, avec un rendement proche de 100 % au niveau de la parallélisation, grâce à la technologie de PowerVR, le « tile rendering ». Dans la pratique, la puissance géométrique est multipliée par cinq, le fillrate par deux et la puissance de calcul par quatre. Enfin, la puce supporte un écran externe en 1080p.

I/O et production

Pour la production, c'est toujours la même chose : 45 nm chez Samsung. La puce est donc évidemment nettement plus grosse, avec 10,1 x 12,1 mm contre 7,3 x 7,3 mm. Au niveau des E/S, c'est du classique, avec l'USB, l'audio, etc. La mémoire reste sur 64 bits — contre 32 bits chez beaucoup de concurrents — et on passe de la LPDDR à 200 MHz (équivalent 400 MHz) à de la LPDDR2 à 200 MHz (équivalent 800 MHz).

Le futur

L'Apple A5 devrait évoluer, avec une intégration dans l'iPhone 5 et dans l'iPod touch 5G. On peut parier qu'Apple suivra sa logique habituelle : proposer une version gravée plus finement dans l'iPod touch 5G (en 28 nm a priori) et que la partie graphique sera limitée à un seul core de type SGX543.


Source : tom's hardware au 16/03/2011

Aucun commentaire: