Accueil » Actualité » ARM – qui fait quoi : NVIDIA (2)

ARM – qui fait quoi : NVIDIA (2)

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

Image 1 : ARM - qui fait quoi : NVIDIA (2)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 2×00 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.