NOC
Initiales de network on a chip.
NOC : tout le réseau sur une seule puce de silicium
Un réseau sur puce (NOC) est une architecture de processeur multicœur où des unités de traitement indépendantes, des blocs de mémoire et des contrôleurs d'entrée/sortie sont interconnectés par un tissu de communication sur puce au lieu de bus partagés. Plutôt que tous les cœurs se disputent l'accès à une seule autoroute, chaque unité se connecte à un maillage, un anneau ou une autre topologie qui achemine les paquets de données entre eux. Cela s'adapte mieux que les conceptions traditionnelles à bus partagés, car la bande passante augmente avec le nombre de nœuds plutôt que de rester fixe.
Le tissu de communication lui-même est l'innovation. Sur les puces multicœurs conventionnelles, l'ajout d'un dixième cœur n'ajoute pas un dixième de la capacité de communication, car tous les cœurs passent toujours par le même goulot d'étranglement. Sur un NOC, vous ajoutez des segments de maillage ou d'anneau à côté de chaque nouveau cœur, de sorte que la bande passante d'interconnexion totale s'adapte. Les messages entre les cœurs voyagent sous forme de petits paquets avec des adresses source et de destination, un peu comme le trafic sur un vrai réseau.
Où le NOC est important en pratique
Les NOC apparaissent dans les processeurs haut de gamme où des dizaines ou des centaines de cœurs doivent communiquer entre eux sans se sérialiser autour d'un seul bus. Ils sont courants dans les conceptions à plusieurs cœurs pour les centres de données, les nœuds de supercalcul et les accélérateurs spécialisés. Les conceptions de puces basées sur des tuiles ou modulaires, où vous pouvez répéter le même bloc cœur-plus-tissu plusieurs fois, bénéficient également de l'organisation NOC, car les connexions locales de chaque tuile restent simples même si la puce s'agrandit.
Le compromis est la complexité. La logique de routage, la mise en mémoire tampon des paquets et la prévention des interblocages ajoutent des frais généraux et des efforts de conception. Pour un petit nombre de cœurs (généralement moins de huit), un NOC est souvent moins performant qu'un bus à mémoire partagée plus simple. Le seuil de rentabilité dépend des modèles de trafic et de la sensibilité à la latence ; le traitement multimédia et le calcul scientifique, avec une communication régulière de proche en proche, favorisent davantage les NOC que les charges de travail à accès aléatoire.
La conception du NOC affecte également la façon dont les logiciels sont écrits. Les programmeurs doivent penser à la localité spatiale et au mouvement des données à travers le tissu, et pas seulement à la complexité temporelle. Le support du compilateur pour le mappage des tâches à des cœurs spécifiques et la prédiction de la latence inter-cœurs reste un domaine de recherche actif, c'est pourquoi de nombreuses puces NOC sont livrées avec des outils de développement spécialisés plutôt que de s'appuyer sur des ordonnanceurs de système d'exploitation standard.
Sources
- Source de la définitionWiktionary