Comme je travaille pas mal sur les processeurs ARM dans mon boulot — ce qu’utilise Apple dans les appareils iOS —, je commence à saisir pas mal de trucs. Une des choses intéressantes à analyser, c’est l’A5 d’Apple. On va passer sur l’A4, qui est une simple adaptation d’un SoC (puce tout-en-un) d’origine Samsung et (très) proche des produits de Samsung, justement.
L’A5, donc. C’est ce qu’on appelle un SoC , une puce tout-en-un. Dans un ordinateur classique, on a une carte mère avec — généralement — un processeur, une puce graphique, un chipset et des puces annexes (Wi-Fi, Ethernet, etc.). Dans un SoC, on met tout dans la même puce. Chez Apple, on a donc le chipset, le processeur et le GPU dans la même puce, Wi-Fi, 3G ou GPS étant séparé. Certains mettent 3G et GPS aussi dans la puce, comme Qualcomm.
Dans l’A5, on trouve donc deux coeurs de type Cortex A9, deux coeurs GPU de type PowerVR SGX543 et ce qu’il faut pour faire fonctionner un iPhone. En gros, de l’USB, un contrôleur mémoire sur deux canaux, et c’est à peu près tout.
Soyons clair : Apple s’occupe de l’assemblage. Le processeur vient de chez ARM — on le trouve dans l’OMAP4, l’i.MX6, le Tegra 3, l’Exynos — et le GPU de chez PowerVR. Apple ne fait que licencier, pour le moment, des technologies existantes. Pour la fabrication même, c’est Samsung qui est de la partie. Ce que fait Apple, c’est donc trouver les meilleurs composants et les assembler en fonction de ses besoins.
C’est là qu’Apple a un énorme avantage. Parce que l’A5, Apple ne doit pas le vendre. Si Apple a besoin de deux coeurs GPU pour écraser la concurrence, Apple peut techniquement le faire, c’est généralement uniquement une question de coûts, peu d’autres paramètres entrent en compte. De plus, Apple peut se faire une puce pour chaque appareil sans problèmes : les volumes de ventes permettent d’amortir les coûts. Un SoC chez Apple, c’est des millions d’appareils.
Pour des gens comme Texas Instrument, nVidia et dans une moindre mesure Samsung, les puces sont destinées à êtres vendues, et pas nécessairement en masse. Il faut donc prendre en compte des paramètres comme le prix final, en assurant la marge du concepteur et celle du vendeur, qui sont différents, ce qui implique de ne pas proposer une puce trop grosse. Typiquement, plus la puce est grosse, plus son coût est élevé. Avec ce genre de contraintes, on arrive à des choses comme l’absence de SIMD dans Tegra 2. Le SIMD est très utilisé, même sous Android, et des logiciels comme Flash en sont friands. Mais dans Tegra 2, nVidia a fait l’impasse sur cette fonction, essentiellement parce que la surface du coeur augmente de 30 % quand on intègre le SIMD. Et qui dit 30 % en plus dit augmentation des coûts.
Autre contrainte, l’intégration elle-même. Quand on regarde ce que l’on trouve dans une puce OMAP4 ou i.MX, et dans une moindre mesure Tegra, on trouve des contrôleurs mémoire pour la DDR2 et la DDR3, des contrôleurs Ethernet, SD, MMC, audio, etc. De multiples interfaces qui sont utiles pour certains clients, mais inutiles pour beaucoup. Toutes les interfaces prennent de la place, ce qui augmente les coûts et empêche éventuellement de mettre plus de mémoire cache ou plus de coeurs. La présence de ces interfaces est pourtant logique : les SoC sont destinés à beaucoup de clients et ils doivent donc être polyvalents. Produire un SoC dédié à chaque client n’est pas viable, pour des raisons de volume de vente. Des gens comme nVidia qui visent des marchés précis ont moins le problème, mais Freescale ou Texas Instrument n’ont pas le choix.
Au final, Apple peut se permettre de faire une puce épurée, très grosse et très performante simplement parce que la puce en question est destinée à un type d’appareils précis et qu’il y a peu d’intermédiaires. Et les marges élevées d’Apple compensent le prix en R&D.
Ce qu’Apple doit craindre
Pour le moment, c’est viable et efficace. Et ça devrait le rester tant que des sociétés proposent des coeurs CPU et GPU performants sous licences. Il faudra s’en faire si Intel arrive et impose ses puces, étant donné qu’elles ne sont pas modifiables à souhait, ou si les gens qui font des CPU et des GPU maisons proposent des produits beaucoup plus performants que les produits sous licence.
Actuellement, ce n’est pas le cas : en CPU, on trouve typiquement trois types de coeurs et aucun ne se démarque vraiment des autres. ARM propose ses coeurs sous licence (Cortex A8, A9), Qualcomm a le sien et Marvell aussi, même si la société n’est pas sur le marché des tablettes smartphones. Mais si nVidia, par exemple, propose un jour un core ARM beaucoup plus performant que ce que propose ARM directement, Apple risque de le regretter.
En GPU, même chose. Si nVidia et Qualcommm ont leurs propres puces, elles ne sont pas plus performantes que les solutions d’ARM (Mali) Vivante (GC2000) ou Imagination (PowerVR SGX). Et — heureusement pour Apple — la solution la plus performante est même celle d’Imagination, qui peut d’ailleurs évoluer encore plus en multipliant les coeurs.
Reste la solution la plus évident, en tout cas pour le CPU : un core d’origine Apple. On sait que la société a racheté des firmes spécialisées dans les CPU et que tout ce qu’ils font (bien) c’est de l’intégration. Un coeur ARM Apple n’est pas irréaliste, même si je pense que ce ne serra pas disponible tout de suite. Apple devrait encore utiliser le Cortex A9 avec l’A6 en 2012 et sûrement le Cortex A15 dans l’A7. Ensuite, on verra…
C’est un peu brouillon et sûrement un peu (trop) technique, donc si vous voulez des informations sur certains des points que j’aborde, commentez.
Article très intéressant et que je ne trouve pas si brouillon que cela !
Cependant, la menace Intel évoquée ne me semble pas immédiate car la fin de l’article précise qu’Apple part pour se lancer dans la fabrication maison. Et, quitte à rêver, pourquoi Intel ne réitèrerait pas la conception d’une puce « pour Apple » avant de la diffuser aux autres comme cela a déjà été le cas par le passé ?!
Je ne crois juste pas avoir vraiment saisi la menace de ceux qui feraient des « CPU / GPU maison » ? Le fait qu’ils ne produisent plus rien sous licence et que le marché ne diffuse que des vieux processeurs au rabais à intégrer ?
Pour Intel, ils n’ont pas fait des puces pour Apple, juste — au mieux — leur proposer en avance. Mais les autres ont eu les mêmes plus tard. Pour le moment, l’A5, y a qu’Apple qui l’a et personne ne vend un truc équivalent ou même qui s’en approche en 3D.
Pour le second point, oui. Si un Qualcomm/NVIDIA sort un truc genre 2x plus rapide que le core ARM pour la même consommation, ce sera embêtant pour les intégrateurs.
Intel a déjà sorti des puces clairement destinées à Apple. Les E8x35 :
http://en.wikipedia.org/wiki/Penryn_(microprocessor)#Penryn
Elles n’ont d’ailleurs jamais été reprises par d’autres fabriquants car surement trop spécifiques à l’iMac (enveloppe thermique élevée malgré un socket de portable).
Oui, c’est « spécifique », mais c’est pas un truc vraiment dédié, c’est juste un core classique avec un TDP inhabituel.
Par puce spécifique, j’entend plus une puce avec un core différent, un GPU dédié ou un truc dans le genre. Mais t’as raison, c’est assez particulier comme puce.