Gravé en 45nm, et comportant 1,3 milliard de transistors, pour une surface de 576mm², le processeur est donc doté de 48 coeurs IA, autrement dit des coeurs x86, regroupés sur le même die. Les coeurs sont agencés de la façon suivante : 24 unités comprenant chacune deux coeurs. Sur chaque unité, on retrouve de la mémoire cache de second niveau ainsi qu'une partie dite de routage et une zone intitulée Message Buffer pour un échange d'informations direct entre les deux coeurs. Pourquoi évoquons nous un routeur ?
Le TCP-IP au sein d'un micro-processeur
Intel a en effet choisit une approche inédite dans la conception de cette puce qui reproduit en quelque sorte le fonctionnement des serveurs dans un centre de données. Chacun des coeurs est en fait connecté aux autres coeurs par un réseau ultra rapide utilisant le protocole TCP/IP : un réseau en topologie mesh. Au lieu de déplacer les données d'un serveur à l'autre, les données sont ici véhiculées d'un coeur à l'autre de la puce. D'où le nom quelque peu conceptuel donné à ce prototype : Intel Single-chip Cloud Computer.L'avantage de ce schéma de fonctionnement est de réduire le recours à la mémoire externe, forcément plus lente. Les applications peuvent gérer dynamiquement les coeurs à utiliser, et une grappe de coeurs peut travailler de concert sur une tâche alors qu'une autre grappe de coeurs effectue autre chose. Intel annonce une bande passante de 256 Go/s pour le réseau reliant ses coeurs.
Schéma de la puce
La puce dispose au passage de quatre contrôleur mémoire embarqués, des contrôleurs de classe DDR3 et peut gérer un maximum de 32 Go de mémoire vive. Il est à noter que l'architecture de cette puce fait un trait sur le contrôle matériel de la cohérence des caches. Intel élimine ici une complexité matérielle certaine préférant explorer d'autres alternatives comme de nouvelles méthodes de partage des données ou bien le recours à une cohérence des caches adaptative contrôlée par logiciel.
Niveau consommation électrique, Intel annonce une consommation en idle de 25 Watts contre 125 Watts pour la puce en pleine charge.
Plate-forme prototype de l'Intel Single-chip Cloud Computer
Un design entièrement simulé en laboratoire
Cette puce est l'une des premières conçues par Intel a avoir bénéficié d'une simulation en laboratoire avant le premier tape-out. Concrètement avant de graver le premier Wafer et donc de fabriquer les premiers exemplaires de la puce, les ingénieurs d'Intel ont simulé cette dernière en utilisant des racks de processeurs programmables FPGA. Complexe, le procédé permet de voir le comportement de la puce en condition réelle avant même d'enclencher le coûteux processus de fabrication : cela permet de réduire le nombre de bugs et d'apporter un maximum de correction avant de produire une première série.La différence avec Polaris
En 2006, Intel exhibait déjà un prototype de processeur multi-coeurs sous le nom de code Polaris. Le SCC d'aujourd'hui n'a rien à voir avec ce dernier. En effet, les coeurs de Polaris étaient excessivement limités : il s'agissait d'unités de calcul en virgule flottante. Tous n'étaient pas fonctionnels... et surtout ils ne pouvaient pas exécuter de code x86. Contrairement à Polaris, le SCC d'Intel est donc exploitable pour servir de plate-forme de développement. La preuve en image avec les démos ci-dessous :Intel SCC à l'oeuvre !
Performances non communiquées et limitations
On aurait pu s'attendre à ce qu'Intel communique quelques chiffres indicatifs en matière de performance de cette puce. Puissance brute, etc. Il n'en est rien, le mot d'ordre étant de ne pas parler de performance mais d'initier une réflexion sur les architectures processeur du futur. Intel espère en effet que les développeurs se pencheront attentivement sur son prototype SCC afin de développer des systèmes d'exploitation pouvant en tirer parti au mieux, et qui ne seraient pas impactés négativement par le trop grand nombre de coeurs.Quant aux coeurs de cette puce, il s'agit de coeurs IA x86, hérités du P54C (comparables à des coeurs Atom sans HyperThreading). Relativement simples, ces coeurs ont pour principale limitation de ne pas prendre en charge les instructions x64. Ennuyeux pour un circuit destiné au monde de la recherche et du high performance computing ! Gageons toutefois que les chercheurs d'Intel planchent déjà sur la suite.