Systèmes d’interconnexion dans un SoC

Systèmes d’interconnexion dans un SoC

Les performances d’une architecture implémentée dans un SoC dépendent fortement du système d’interconnexion et du protocole de communication entre les unités de calcul. Avec la technologie d’intégration croissante, la conception d’un système d’interconnexion efficace est critique pour exploiter pleinement le nombre et la puissance de traitement des unités de calcul dans un mˆeme circuit.

En particulier, l’augmentation permanente des densités de système `a base de logique reconfigurable `a grain fin de type FPGA, offre de très grandes possibilité de paralléli sation et d’intégration d’unités de calcul, pour réaliser des solutions d’interconnexion complexes entre les éléments.

Les systèmes d’interconnexion sur puce sont généralement des adaptations architectu rales `a échelle réduite de solutions existantes `a plus grande ´ echelle, comme par exemple des clusters de processeurs sur des cartes électroniques communiquant sur un bus partagé ou encore un réseau de processeurs sur une mˆeme carte. Dans ce chapitre, nous effectuons une description succinte de diff´ erents systèmes d’inter connexion utilisés dans un SoC.

Nous évoquons en particulier l’émergence des systèmes d’interconnexion de type réseau sur puce (NoC) depuis une dizaine d’années. Enfin, nous 70 Chapitre 3. Systèmes d’interconnexion dans un SoC 71 discutons de l’adéquation de ces solutions d’interconnexion par rapport au contexte de vision embarquée et `a notre problématique exposée au chapitre précédent. 

Variété des systèmes d’interconnexion

Il existe différents types de systèmes d’interconnexion utilisables dans un SoC dont le point-`a-point, le bus partagé ou hiérarchique, le crossbar et le réseau sur puce [106]. Figure 3.1: Syst` emes d’interconnexion point-`a-point L’approche point-`a-point (figure 3.1) est la solution la plus directe et la plus simple. Il s’agit de celle qui est utilisée pour concevoir les architectures cˆablées évoqués au chapitre précédent.

Elle consiste `a connecter les différents unités de calcul d’un système avec des f ils dédiés et exclusifs pour les échanges de données. Par conséquent, cette approche est efficace pour des systèmes `a bande passante élevée ce qui est le cas dans le domaine de la vision. Elle offre une très grande possibilité de parallélisation mais implique une faible réutilisation des unités de calcul du fait de la rigidité des connexions.

Il en résulte une très faible flexibilité de communication entre les unités de calcul. Cette solution reste cependant convenable pour des systèmes `a faible nombre d’unités. Ainsi, faire évoluer un système avec cette approche, nécessite de complexifier les connexions, en rajoutant de fa¸con croissante des liaisons entre les unités.

Cette méthode devient, de manière évidente, difficilement gérable avec une démarche d’intégration croissante des unités de calcul pour des raisons de dépendances physiques entre les liaisons et de synchronisation entre les signaux. L’approche par bus partagé (figure 3.2(a)) est une technique très utilisée pour inter connecter des unités de calcul. Cette approche convient également pour des systèmes `a faible nombre d’unités de calcul. Par exemple, nous pouvons citer le bus standard ARM AMBA[107] qui est très répandu dans les SoCs. Différents bus sont généralement connec tés sous forme hiérarchique (figure 3.2(b)) en regroupant des unités selon les contrainte.

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *