• Aucun résultat trouvé

Le meilleur rapport complexit´ e-performance

4.7 D’autres choix sont possibles

4.7.3 Le meilleur rapport complexit´ e-performance

Le principal probl`eme de l’architecture pr´ec´edente est la longueur du chemin critique due `a la mise `a jour de ces r´ecursions en un seul cycle. Pour casser ce chemin critique et augmenter la fr´equence du processeur, il faudrait pouvoir intercaler plusieurs instructions entre deux instructions pour un calcul r´ecursif, de sorte que les registres de r´ecursions puissent ˆetre mis `

a jour. En se basant sur cette id´ee, le pr´esent processeur utilise 3 ´etages d’ex´ecution pour r´ealiser l’op´erateur ACSCS d’une r´ecursion double binaire (plus un quatri`eme pour les calculs d’information) et s´equentialise dans une instruction sur trois cycles les trois calculs BCJR (figure 4.8). L’instruction multi-cycle r´ealise dans l’ordre : la r´ecursion retour, la recursion aller, puis la g´en´eration de l’information extrins`eque. Ainsi, les registres de la r´ecursion retour seront `a jour `a l’issue de l’instruction pour recommencer une nouvelle instruction et les registres de la r´ecursions aller seront `a jour `a l’issue du premier cycle de l’instruction suivante Notons qu’un retour des registres de pipeline (bypass en anglais) est utilis´e `a la sortie du premier ´etage d’ex´ecution pour permettre durant le troisi`eme cycle (celui de la g´en´eration d’information extrins`eque) de r´eutiliser les m´etriques obtenues lors du deuxi`eme cycle (i.e. les sommes α + γ de chaque transition).

4.8. CONCLUSION 93

A

CS

CS

CS

EX1

EX2

EX3

EX4

A

CS

CS

CS

EX1

EX2

EX3

EX4

Figure 4.8 — Pipeline de l’ASIP sans parall´elisme de calcul BCJR

de la g´en´eration des m´etriques de branches. C’est pourquoi il faut ´egalement casser l’´etage BM en 3 ´etages BM1, BM2 et BM3 o`u les deux premiers ´etages g´en`erent la partie des m´etriques de branches provenant du canal tandis que le dernier ´etage y ajoute l’information extrins`eque a priori. De cette mani`ere le param`etre cpipe ext, permettant d’´evaluer l’architecture pour

un d´ecodage combin´e efficace, vaut 9 puisqu’une information extrins`eque traverse alors les ´

etages OPF, BM1, BM2, BM3, EX1, EX2, EX3, EX4 et ST. Avec 3 cycles n´ecessaires pour g´en´erer une information extrins`eque (#cycle ext), ce processeur inflige au d´ecodage combin´e un temps de propagation sup´erieur `a 3,67 (c.f. ´equation 4.4). En revanche, ces avantages sont nombreux puisqu’on peut raisonnablement atteindre un fr´equence de 600 MHz, soit un d´ebit de 400Mbps, avec une r´eduction de complexit´e de l’ordre de 25% grˆace `a l’utilisation d’une unique unit´e de calcul BCJR.

4.8

Conclusion

Ce chapitre pr´esente la conception d’un processeur d´edi´e `a l’algorithme BCJR tel qu’il est utilis´e dans les turbocodes. La premi`ere ´etape de conception consiste `a analyser les besoins en flexibilit´e et en performance, notamment grˆace `a l’´etude du parall´elisme du chapitre 3. Cette ´

etape se conclue par des d´ecisions de conception donnant une id´ee globale de l’architecture. Dans le cas pr´esent´e, l’architecture de l’ASIP met en oeuvre le parall´elisme du premier niveau de la classification en tant que parall´elisme d’instruction tandis que le parall´elisme des deux autres niveaux est consid´er´e comme du parall´elisme de tˆache. Ainsi l’ASIP int`egre deux unit´es de r´ecusions pouvant traiter chacune jusqu’`a 32 transitions de mani`ere pipelin´ee. Il int`egre ´egalement des interfaces sp´ecifiques pour g´erer les ´echanges d’information entre les tˆaches, c’est-`a-dire les valeurs d’initialisation par passage de message pour l’exploitation du parall´elisme de sous-bloc et les informations extrins`eques pour l’exploitation du parall´elisme de d´ecodeur composant. Pour ce dernier, l’influence de la longueur du pipeline du processeur a ´et´e mise en exergue, impliquant le choix d’un pipeline court de 6 ´etages. Le pipeline ainsi que la strat´egie de contrˆole sont ´egalement pr´esent´es et compl´et´es par une description du jeu d’instruction de l’ASIP.

Outre l’architecture de l’ASIP, le chapitre s’attache aussi `a ´evaluer les performances et la complexit´e du processeur et montre, par comparaison avec des implantations existantes, la pertinence de la solution propos´ee, puisque le processeur pr´esente des performances proches des solutions compl`etement d´edi´ees, tout en pr´eservant une flexibilit´e lui assurant le sup- port de l’ensemble des standards existants. En guise de perspectives et en cherchant d’autres compromis performance-architecture, le chapitre pr´esente d’autres solutions architecturales lib´er´ees de la contrainte de pipeline court impos´ee pour maximiser les performances du d´ecodage combin´e.

La prise en compte de contraintes sur la conception des interfaces de communication entre tˆaches font de l’ASIP d´ecrit dans ce chapitre un candidat id´eal pour son int´egration dans une plate-forme multiprocesseur flexible et performante. C’est pourquoi ce processeur sera la base constituante de la plate-forme multiprocesseur pr´esent´e dans le prochain chapitre.

CHAPITRE

5

Plate-forme multiprocesseur

pour turbo-d´ecodage

haut-d´ebit

P

OUR atteindre des tr`es haut-d´ebits tout en conservant la flexibilit´e, le recours `a une archi- tecture multiprocesseur est imp´eratif. Seul, un processeur, mˆeme extrˆemement sp´ecialis´e `

a une application comme celui pr´esent´e au chapitre pr´ec´edent, voit son d´ebit limit´e car il n’exploite que le parall´elisme d’une tˆache `a la fois. L’´etude sur le parall´elisme des turbocodes convolutifs d´evelopp´ee au chapitre 3 a r´ev´el´ee un fort int´erˆet pour le parall´elisme de tˆaches lorsque les tˆaches sont des d´ecodeurs SISO BCJR. Ainsi l’utilisation de ce parall´elisme de tˆache s’impose naturellement pour constituer une plate-forme multiprocesseur.

Ce chapitre pr´esente une plate-forme multi-ASIP de sa description jusqu’`a son prototy- page sur une carte d’´emulation. Dans un premier temps, la plate-forme multiprocesseur est d´ecrite au travers des choix de composants, d’organisation de ces composants, en insistant plus particuli`erement sur les r´eseaux de communication et la gestion des m´emoires. Les per- formances de cette plate-forme sont ensuite discut´ees autour des m´etriques d´ebit et surface et compar´ees aux architectures existantes. Finalement, le chapitre se termine sur la pr´esentation du flot de prototypage qui a permis de mettre en oeuvre cette plate-forme sur une carte `a base de circuits FPGA et d’en valider le fonctionnement.

5.1

Organisation de la plate-forme multiprocesseurs

Selon la classification ´etablie dans le chapitre 3, pour parall´eliser un turbocode convolutif, il est possible d’exploiter le parall´elisme des m´etriques BCJR, le parall´elisme de d´ecodeur BCJR-SISO et le parall´elisme de turbo d´ecodeur. Au vue de l’´etude d’efficacit´e men´ee au chapitre 3, le parall´elisme de turbo-d´ecodeur n’a pas ´et´e retenu. Pour exploiter au mieux le parall´elisme des m´etriques BCJR, nous proposons d’utiliser l’ASIP pr´esent´e dans le chapitre 4. Les travaux pr´esent´es dans ce cinqui`eme chapitre exploitent uniquement le parall´elisme de d´ecodeur BCJR-SISO, c’est-`a-dire le parall´elisme de sous-bloc et le parall´elisme de d´ecodeur composant, par la proposition d’une plate-forme multi-ASIP. Dans ce contexte, il convient maintenant de s’interroger sur la gestion des ressources au sein de la plate-forme, notamment sur comment r´epartir les tˆaches (i.e. les d´ecodeurs BCJR-SISO) sur les ASIPs, comment les faire communiquer entre elles et comment organiser les plans m´emoires.