• Aucun résultat trouvé

Application et résultats

6.5 Application et résultats

6.5.1 Contexte de l’application

Nous considérons une application de télécommunication de 4`eme génération. Il s’agit d’un codeur/décodeur intégrant une technique de communication CDMA et MC-SS-MA en bande de base. La contrainte de l’application est une cadence de 665,6µs pour traiter une frame composée de 32 symboles.

Le codeur MC-SS-MA requière 18 Ports d’IP et le décodeur MC-CD-MA nécessite lui 32 ports d’IP. Les ports d’IP sont regroupés en 22 clusters. Chacun de ces clusters est connecté à une NI du réseau.

Cette application requière 29 transactions sous forme de communications unidirec-tionnelles entre les éléments matériels. Nous utilisons un contrôle de flux de bout-en-bout, le retour des crédits d’émission rend donc les communications bidirectionnelles. Les bandes passantes requises sont très hétérogènes. En effet, les communications proches de l’antenne dans le graphe de l’application, qui sont donc les données enco-dées, nécessitent une bande passante très supérieure à la bande passante requise pour les données décodées ou pas encore codées.

Cette application est architecturée sur une topologie composée de deux parties que nous appellerons zone 1 et zone 2. Cette division est faite de telle sorte que les communications nécessitant une faible bande passante sont regroupées dans la zone 1 alors que celles nécessitant une plus grande bande passante sont regroupées dans la zone 2. Trois communications sont échangées entre les zones 1 et 2, elles seront appelées communications inter-zones. Celles-ci représentent donc 10% des communi-cations totales. Cette proportion semble représentative des communicommuni-cations que nous pouvons espérer dans les futures systèmes sur puce dans la mesure où nous devrions avoir une grosse proportion de communications locales, si le placement des ports des IPs est bien réalisé.

Sur la figure 6.10, nous pouvons voir la topologie de notre exemple. Les zones 1 et 2 seront considérées comme formant un NoC unique ou bien comme deux sub-NoC selon les cas d’études présentés ci-après. Pour des raisons de clarté, seules les communications inter-zones sont représentées.

104 noc avec trafic garanti dans une approche de type gals Les caractéristiques générales du NoC sont ici : un lien ou phit a un largeur de 32 bits, la taille d’un flit est de un phit, et la taille d’un slot est de deux phits, enfin, l’entête du paquet a une largeur d’un phit.

6.5.2 Description des cas d’études

Nous allons étudier plusieurs cas reflétant différentes contraintes.

Cas 1 : l’implantation est celle d’un NoC unique classique, sans aucun problème de lien long, ni de décalage d’horloge. Ce cas correspond à un NoC classique, il nous servira de référence pour nos comparaisons.

Dans les cas suivants (de 2 à 5), nous supposons avoir un délai maximum de 50ns entre les deux zones.

Cas 2 : un NoC unique utilisant une interface de type routage temporel pour faire face au problème du lien long entre les deux zones.

Pour les 3 cas qui suivent, les zones 1 et 2 ont des domaines d’horloge différents (9 et 100 MHz respectivement). Ils sont intégrés en tant que sub-NoC1 et sub-NoC2. La taille de la table de TDMA du sub-NoC1 n’est plus de 6 slots mais de 4 slots ; les autres paramètres restent inchangés. Deux synchroniseurs sont introduits sur le lien entre les deux sub-NoCs. Ces trois cas correspondent aux différentes solutions d’implémentation présentées précédemment :

Cas 3 : deux sub-NoCs avec des horloges hétérogènes ; On utilise le contrôle de flux de bout-en-bout global. De plus, les TDMAs sont cohérents.

Cas 4 : deux sub-NoCs avec des horloges hétérogènes ; On utilise le contrôle de flux de bout-en-bout global. Les TDMAs ne sont pas cohérents.

Cas 5 : deux sub-NoCs avec des horloges hétérogènes ; On utilise le contrôle de flux de bout-en-bout local.

Les cas considérés sont résumés dans la table 6.2.

Zone 1 Zone 2

Cas F MHz |S| F MHz |S| Commentaires Solutions 1 100 6 100 6 Les tailles des tables TDMAs sont identiques. Classique

Le délai sur le lien est de moins d’un cycle.

2 100 6 100 6 Les tailles des tables TDMAs sont identiques. Interfaces de routage Le délai sur le lien est de 5 cycles. temporel

3 9 4 100 6 Les tailles des tables TDMAs sont différentes. Synchroniseurs avec contrôle Le délai sur le lien est de 5 cycles. de flux global et TDMAs

cohérents

4 9 4 100 6 Les tailles des tables TDMAs sont différentes. Synchroniseurs avec contrôle Le délai sur le lien est de 5 cycles. de flux global

5 9 4 100 6 Les tailles des tables TDMAs sont différentes. Synchroniseurs avec contrôle Le délai sur le lien est de 5 cycles. de flux local

Tab. 6.2 – Les cas d’étude

6.5.3 Analyse des résultats

Le tableau 6.3 montre les coûts relatifs aux différents cas étudiés.

Dans le cas 1, la somme des profondeurs des FIFOs est due à la somme des FIFO de découplage et de round trip buffer dans les NIs. La latence pour la communication C de la figure 6.10 est de 200ns.

Le délai introduit sur le lien dans le cas 2 augmente la latence de 2 slots. En effet la durée normale aurait été de 1 slot, seulement ici comme il faut 5 cycles au lieu d’un

6.6 conclusion 105

cas 1 cas 2 cas 3 cas 4 cas 5 Nombre de FIFOs dans les interfaces 0 2 2 3 3 Somme des profondeurs des FIFOs 323 335 348 348 348 Augmentation de la taille des FIFOs 0 12 18 18 18 pour les 3 communications inter-zones

Latence pour la communication notée C 200 240 1938 1938 1938 (ns)

Tab.6.3 – Résultats de latence et coût en taille de FIFO

pour traverser le lien, 3 slots sont alors nécessaires. L’augmentation de la taille des FIFOs a deux raisons :

– La FIFO dans les TRs (12 mots) : deux routeurs temporels sont ajoutés (un dans chaque sens). Chacun d’entre eux possède une FIFO. Et la profondeur de cette FIFO est constante (6 mots) et ne dépend pas des communications inter-zones. Remarque : le coût en FIFO entre deux routeurs était déjà de 2 mots pour chaque sens.

– La profondeur des FIFOs de round trip buffer dans les NIs dépend de la longueur des chemins des communications inter-zones (2 mots).

Dans les cas 3 à 5, la réduction de fréquence dans le sub-NoC1 implique une aug-mentation de latence des communications qui le traversent (+1578ns). L’augaug-mentation de la latence est aussi due à la traversée des synchroniseurs pour les communications inter-zones.

Le cas 3 bénéficie de TDMAs cohérents entre les deux sub-NoCs, ainsi le synchro-niseur utilise une FIFO unique.

Le cas 4 met en œuvre des TDMAs non cohérents, avec un contrôle de flux au niveau global. Il nécessite plus de FIFO (une FIFO par destination), cependant, la somme des profondeurs des FIFOs reste inchangée.

Le cas 5 est similaire au précédant si ce n’est qu’il utilise un contrôle de flux au niveau local.

Pour conclure, nous observons que la mise en œuvre de ces solutions a un coût acceptable dans ces quatre cas, comparé au cas de référence.

De plus, nous observons que la réduction de fréquence implique une augmentation de la surface du fait de l’augmentation des tailles des FIFOs pour s’adapter à l’aug-mentation de la latence des communications. Une étude précise est donc nécessaire pour voir si la diminution de la consommation dynamique est vraiment intéressante comparée à l’augmentation de la consommation statique due à l’augmentation de la surface.

6.6 Conclusion

Nous avons présenté des solutions originales pour garantir la QoS dans le contexte d’un NoCs constitué d’horloges avec des déphasages, ou des horloges de fréquence dif-férentes (ou TDMA différents). Nous avons proposé une solution pour chacun de ces deux problèmes (le routage temporel et le synchroniseur de TDMA), incluant dans le dernier cas le concept de composition de sub-NoCs. Cette approche va dans le sens de la productivité pour la conception puisqu’elle est compatible avec la méthodologie

106 noc avec trafic garanti dans une approche de type gals des NoCs synchrones classiques et peut être facilement intégrée dans le flot de concep-tion. L’expérimentation nous montre que le coût de ces solutions est acceptable. De plus, nous avons présenté une technique pour traiter les instructions de routage au travers de plusieurs sous réseaux. Cette solution favorise la reconfiguration et permet l’extensibilité. Enfin, l’utilisation de sub-NoCs , avec des TDMA disjoints et indépen-dants, rend l’intégration du contrôleur de NoC plus facile pour introduire un contrôle dynamique des tensions et fréquences dans le but de réduire la consommation ainsi que pour gérer des aspects sécurité.

Chapitre 7

Expérimentations et résultats

7.1 Introduction

Ce chapitre présente premièrement une mise en œuvre réelle du NoC sur une plate-forme FPGA pour connecter 3 microprocesseurs MicroBlazes et leurs RAMs.

Ensuite, nous exposons les résultats obtenus pour plusieurs applications. Le choix des applications a été guidé par l’expérience des équipes des différents projets auquels nous avons participé et permet de valider nos méthodes dans les domaines variés que sont les domaines du traitement du signal, de l’image et des télécommunications. Nous verrons que les contraintes en terme de communication ne sont pas les mêmes pour ces différentes applications.

Enfin, nous avons réalisé des intégrations comportant des combinaisons de ces applications afin de montrer l’intérêt de traiter les exclusions mutuelles.

7.2 Intégration sur FPGA