• Aucun résultat trouvé

3.5 Comparaison du modèle mppSoC avec d’autres modèles SIMD

4.1.2 Méthodologies de conception des processeurs

Les processeurs dans mppSoC présentent l’ACU et les PEs. Ils sont conçus en utilisant le même IP processeur. Ils ont alors la même architecture, ce qui a l’avantage de minimiser les développements matériel et logiciel. La caractéristique principale des organisations SIMD est l’homogénéité. Cette propriété nous semble nécessaire pour parvenir à une solution ai-sément programmable. En utilisant le même IP, le haut coût de conception lié aux machines SIMD est considérablement réduit.

Parmi les limites des architectures SIMD existantes telle que montrée dans le chapitre 2 de l’état de l’art, l’utilisation de PEs 1-bit assez simples ne permet pas de répondre aux per-formances exigées par les applications modernes de TSS. Pour cela, l’architecture de mpp-SoC se base sur l’utilisation de processeurs standard 32-bits. En effet, avec la croissance de la technologie d’intégration, il est possible de mettre sur une seule puce des processeurs as-sez performants. MppSoC se caractérise par son réseau homogène de PEs où le parallélisme est supporté par la duplication des IPs PEs de même type. Nous retiendrons prioritaire-ment des processeurs à architecture RISC éléprioritaire-mentaires libres d’utilisation (open source) ou du moins pour les quels il existe des outils de simulation et synthèse. Donc les solutions, pour lesquelles un environnement de développement ouvert est disponible, sont privilégiées. Vu la simplicité de ses instructions, un processeur RISC permet un gain en rapidité d’exécution, à part sa surface réduite qui est un critère très important à prendre en compte pour une im-plémentation massivement parallèle sur puce. Citons à titre d’exemple les processeurs MIPS qui sont de petits processeurs très utilisés dans le domaine des systèmes embarqués, Leon, ou encore les processeurs soft-cores tels que NIOS, MicroBlaze, etc.

Nous proposons deux méthodologies de conception de processeurs, réduction et réplica-tion, pour le système mppSoC. Chacune présente différentes caractéristiques et l’utilisateur pourra choisir l’une ou l’autre selon ses besoins et contraintes. Les paragraphes suivants présentent ces deux méthodologies.

Étages de recherche Et décodage d’instructions Étages d’exécution Étages de recherche Et décodage d’instructions Étages d’exécution µ -i n str u cti o n s IP Processeur Initial ACU PE Étages d’exécution Étages d’exécution PE

FIGURE4.2 – Principe de la méthodologie de réduction de processeur

4.1.2.1 Réduction de processeur

Comme son nom l’indique, la méthodologie de réduction de processeur consiste à ré-duire un processeur initial afin d’obtenir un processeur simple et réduit jouant le rôle du PE. L’architecture du processeur élémentaire constitue un critère intéressant. On trouve dans les architectures SIMD existantes divers styles de processeurs : du processeur bit-série organisé autour d’une UAL et de quelques registres 1-bit aux processeurs disposant de plusieurs uni-tés fonctionnelles 16 voire 32-bits travaillant en parallèle. La simplicité de conception du PE est un point fondamental afin de réaliser une architecture massivement parallèle. Pour cela, nous avons proposé la méthodologie de réduction. Plus le PE est petit, plus l’efficacité performance/surface est plus grande. Cette méthodologie nécessite l’utilisation d’un pro-cesseur dont les sources sont disponibles (open source) pour pouvoir le modifier. De cette manière, le temps requis pour implémenter et tester un processeur propriétaire est réduit.

Notre méthodologie s’applique particulièrement aux processeurs pipelinés avec cinq étages. Dans cette méthodologie, l’ACU est conçu par le même IP processeur alors que le PE est un processeur réduit qui dérive de ce même IP. En effet, la majeure différence entre les deux composants est que les PEs n’ont pas de partie pour décoder les instructions : ils ne font que les exécuter. Ils contiennent en fait seulement les étages d’exécution. Dans l’optique d’une évaluation de l’espace silicium pris par le mppSoC, nous trouvons qu’un PE compte 20 à 30 % moins de transistors que l’ACU grâce au tronquage de la partie décodage des instructions. Toutes les instructions dédiées aux PEs sont envoyées par l’ACU sous forme de micro-instructions. Plus spécifiquement, l’ACU est conçu comme un processeur modifié qui produit des instructions à la sortie de son étage de décodage. Ces micro-instructions sont en effet des micro-instructions décodées et prêtes à être directement exécutées. Elles présentent alors les entrées des étages d’exécution du PE [7]. Pour un processeur RISC pipeliné, l’ACU contiendra tous les étages du pipeline avec modification au niveau de son étage de décodage. Alors que le PE est implémenté avec les étages d’exécution seulement telle qu’illustrée par la figure 4.2. La modification du pipeline du processeur requiert une grande attention pour ne pas perturber le fonctionnement. Cette méthodologie est suivie d’une modification du jeu d’instructions du processeur pour pouvoir diffuser les micro-instructions aux PEs. De nouvelles instructions parallèles sont alors ajoutées. Un décodage différent est développé pour permettre au processeur de distinguer entre une instruction séquentielle de celle parallèle. Les signaux de Or Tree et des bits d’activité et d’identité des PEs sont ajoutés. Une manière appropriée est de modifier certains registres

4.1 Présentation de la méthode de conception de mppSoC 65

internes du processeur pour supporter ces différentes fonctionnalités.

En général, la méthodologie de réduction se résume principalement dans les étapes sui-vantes :

– Pour l’ACU :

1. choisir un processeur open source ; 2. tester le fonctionnement du processeur ;

3. étudier l’interface entre l’étage de décodage et l’étage d’exécution ; 4. dupliquer les signaux (sorties de décodage/ entrée à l’exécution) ;

5. ajouter un test au niveau de décodage afin de distinguer entre instruction séquen-tielle ou parallèle ;

6. ajouter tous les signaux nécessaires provenant des PEs pour les dispositifs avan-cés tel que le module de prédiction de branchement ou de renvoie.

– Pour le PE :

1. éliminer les étages de recherche et décodage ; 2. garder le banc de registres ;

3. connecter les signaux dupliqués sorties de l’étage de décodage de l’ACU à l’étage d’exécution.

– simuler la connexion ACU-PE pour tester son bon fonctionnement.

La conception de quelques exemples de processeurs en suivant cette méthodologie sera décrite dans la section 4.2. En appliquant cette méthodologie, nous pouvons avoir un PE simple avec une surface minimale tout en se basant sur la réutilisation d’IP. Ce gain nous permet d’introduire un grand nombre de PEs sur une même puce. Cependant, l’inconvénient majeur de cette méthodologie est sa difficulté et son long temps de développement ; ce qui nous a poussé à proposer une deuxième méthodologie présentée dans le paragraphe suivant. 4.1.2.2 Réplication de processeur

Comme son nom l’indique, la méthodologie de réplication de processeur consiste à concevoir le PE par un même processeur initial choisi et de le répliquer afin d’obtenir le réseau de PEs. Cette méthodologie facilite et accélère ainsi la conception. La connexion entre l’ACU et les PEs dans ce cas est un bus d’instructions parallèles (voir figure 4.3). Pour gérer les bits d’activité et d’identité des PEs, deux registres externes sont ajoutés. Le mécanisme du Or Tree est aussi assuré par l’implémentation d’un OU logique entre les bits d’activité des PEs.

En général, la méthodologie de réplication se résume dans les étapes suivantes : 1. étudier l’interface entre l’étage de décodage et l’étage de recherche d’instruction ; 2. ajouter un test au niveau de décodage de l’ACU afin de distinguer entre instruction

séquentielle ou parallèle ;

3. ajouter la sortie d’instruction à communiquer de l’étage de décodage de l’ACU à l’étage de décodage du PE (désactiver alors son entrée initiale provenant de son étage de recherche d’instruction) ;

Étages de recherche Et décodage d’instructions Étages d’exécution Étages de recherche Et décodage d’instructions Étages d’exécution In str u cti o n s p a ra ll è le s IP Processeur Initial ACU PE Étages d’exécution Instr u cti o n s p a ra ll è le s Étages de recherche Et décodage d’instructions Étages d’exécution PE

FIGURE4.3 – Principe de la méthodologie de réplication de processeur 4. simuler la connexion ACU-PE pour tester son bon fonctionnement.

La méthodologie de réplication est facile à reproduire sur différents processeurs avec un temps de développement réduit. Cependant, son inconvénient est la difficulté d’introduire un grand nombre de PEs sur la même puce. Le critère d’utiliser cette méthodologie est de choisir de très simples processeurs qui consomment une petite surface sur l’FPGA.

Une des limites des architectures SIMD existantes est la spécialisation du PE intégré. Ces processeurs sont habituellement conçus pour un unique usage et ne peuvent donc pas répondre aux exigences évolutives des applications de TSS. De plus, la conception de tels PEs est propriétaire et nécessite un temps de développement assez long. Dans notre travail, nous proposons une diminution du coût de ce design dédié en utilisant un seul et préexistant IP processeur comme une base de conception de l’ACU et des PEs. Utiliser un IP processeur existant facilite la conception d’une part et réduit considéra-blement le temps de développement d’autre part. Réutiliser le même IP réduit encore le coût de conception et facilite la programmation de l’architecture. Nous avons proposé deux méthodologies d’assemblage des processeurs dans mppSoC : réduction et réplica-tion. Alors que la réduction consiste à réduire un processeur et supprimer ses étages de décodage non nécessaires pour un PE, la réplication vient pour simplifier la construc-tion de l’architecture massivement parallèle et consiste à répliquer directement les PEs. De cette manière, nous avons proposé une méthode de conception rapide et simple pour construire le réseau de PEs.

La méthodologie de réduction réponds alors à la problématique de construction d’un PE réduit à base d’IP. La méthodologie de réplication est une deuxième alternative de conception du PE permettant d’être le moins intrusif possible et accélérer ainsi le temps de conception (réponse à la question Q2posée à la fin du chapitre 2).

Nous voyons que chacune des deux méthodologies de conception des processeurs offre un compromis temps de développement/intégration de PEs. L’utilisateur peut choisir celle qui le convient en fonction de ses besoins.

4.1 Présentation de la méthode de conception de mppSoC 67