Ecole: UNIVERSITE BLAISE-PASCAL, CLERMONT-FERRAND II Entreprise: aucune Niveau: BAC + 5 Nous avons pu concevoir, simuler et valider une architecture simple avec deux processeurs communiquant par une liaison point à point simple. Cette architecture a ensuite pu être étendue à quatre puis huit processeurs. Le système à quatre processeurs a pu être intégré sur un circuit. De plus, les simulations de programme montrent que ces architectures sont efficaces sur des algorithmes parallèlisés. La méthodologie de conception de system-onchip par une approche multiprocesseur homogène est donc viable. A partir d'une architecture multiprocesseur extensible totalement définie et des outils de prototypage rapide de logiciels adaptés, cette méthode de conception peut permettre de profiter des avancés, d'intégration et de vitesse, dans le domaine des composants électroniques sans coûts de conception supplémentaires. De plus, les derniers tests avec un protocole de communication par DMA permettent de percevoir la capacité d'une telle approche pour des algorithmes parallélisables.
Conclusion Liste des figures . . Liste des tableaux
Bibliographie
. .
. .
. .
. .
. .
. .
. .
. .
. .
4
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
53
54 55 56
57
Glossaire
CPU (Computer Processing Unit) :Sigle utilisé pour désigner le proces-seur. Il est souvent utilisé pour rendre compte du temps de calcul nécessaire (ou temps CPU). Chip :Circuit intégré de type mémoire, microprocesseur ou autre. DMA (Direct Memory Acces) :Accès direct à une mémoire sans passer par son processeur ce qui permet d’accélérer les transferts et de libérer le processeur. DSP (Digital Signal Processor) :Processeur de signal numérique. Il est spécialisé dans certains calculs numériques (multiplication, MAC, transfor-mées de Fourier...). FPGA (Field Programmable Gate Arrey) :Composant électronique numérique programmable. Grâce, par exemple, au langage VHDL, des cir-cuits sont conçus puis implantés au coeur des FPGA. Ils deviennent alors des composants personnalisés reprogrammables. Interblocage (deadlock) :Blocage du système du fait de deux processus qui s’attendent mutuellement, ou d’un processus qui ne peut se terminer car il attend des ressources qui ne lui seront jamais attribuées . IP (Intellectual property) :code source d’un composant qui peut êtreLe implanté sur un système intégré. LUT (Look Up Table) :Table de correspondance, il s’agit d’une table permettant la conversion rapide de données. MAC (Multiply and ACcumulate) :Instruction de multiplication puis addition en un seul cycle soity=ax+b. MIMD (Multiple Instruction Multiple Data) :Plusieurs données trai-tées en même temps par plusieurs instructions. Utilisé dans certains ordina-teurs parallèles. MISD (Multiple Instruction Single Data) :Une donnée traitée en même temps par plusieurs instructions et qui fournissent un seul résultat. Ce modèle peut englober certains types de flots de données, comme les pro-cesseurs utilisant un pipeline d’instruction. Pipeline :pour les exécuter à la chaîne. ParDécoupage des instructions exemple lorsque le processeur exécute la première partie d’une instruction, il exécute simultanément la seconde partie de l’instruction précédente. . PC (Personal Computer) :Ordinateur personnel, ordinateur standard vendu actuellement en grand nombre. RAM (Random Access Memory) :La mémoire vive de la machine où les variables sont stockées pour les calculs. Elle peut être de plusieurs types, comme statique ou dynamique. RISC (Reduced Instruction Set Computer) :Ordinateur à jeu d’ins-truction réduit.
5
ROM (Read Only Memory) :Mémoire seulement lisible. Elle est le plus souvent utilisé pour stocker le tout premier programme à exécuter sur la machine au démarrage. SDRAM (Synchronous Dynamic RAM) :Mémoire dynamique syn-chrone. SIMD (Single Instruction Multiple Data) :Encore appelées machines vectorielles ou matricielles suivant leurs topologies, une instruction est ap-pliquée simultanément surndonnées. SISD (Single Instruction Single Data) :C’est la machine séquentielle conventionnelle, un CPU et un résultat. SoC (System-on-a-Chip) :Ensemble de processeurs, DSP, périphériques et mémoire implantés sur un système intégré. SoPC (System on Programmable Chip) :Soc sur un chip reprogram-mable. UC (Unité de calcul) ou UAL (Unité arithmétique et logique) : Elle est inclue dans les processeurs, DSP et microcontrôleur. Donc chaque UC indique la présence d’un de ces composants. USB (Universal Serial Bus) :Type de connecteur pour brancher les pé-riphériques. Il a pour ambition de remplacer les ports séries et parallèles. VHDL (Very high scale integrated circuit Hardware Description Langage) :Langage de description de circuits intégrés. Ce circuit peut en-suite être synthétisé sous forme de circuits logiques. Le VHDL permet une description comportementale d’un composant numérique. Afin de simuler le fonctionnement d’une carte, on peut non-seulement inclure le code des FPGA mais aussi celui d’autres composants se trouvant sur la carte.
6
Introduction Depuis 1970 l’industrie des semi-conducteurs suit la loi de Moore selon la-quelle le nombre de transistors intégrés double tous les 18 mois. Actuellement les circuits peuvent intégrer jusqu’à 60 Millions de transistors et des firmes comme Intel affirment qu’elles franchiront le cap du milliard de transistors d’ici 2007, au lieu des 380 Millions prévus. Des études montrent que ces fu-turs ordinateurs pourraient théoriquement avoir de grandes performances[1] de capacité de traitement des données. Mais encore faudra t’il utiliser plei-nement les capacités de ces circuits. Ces rapides avancées technologiques ont rendu possible l’insertion de système complet dans un seul circuit : un SOC (System-on-chip). Ce circuit peut intégrer des processeurs, des DSP(Digital Signal Processor), des mémoires ainsi que des fonctions logiques complexes modélisées en VHDL, dont des IP (Intelectual Property), spécifiques à l’ap-plication. Les systèmes utilisant plusieurs processeurs sont de plus en plus plébiscités actuellement[2]. Cependant, l’ensemble de ces circuits sont particulièrement complexes à concevoir. Une application sur un SOC est un ensemble de fonctions de traitement de données qui sont implantées sur une structure électronique en prenant en compte des contraintes de la cible et de l’application. Ces fonc-tions de traitement se séparent en deux catégories. Les premières sont en électronique câblée, un ensemble de portes logiques reliées entre elles pour exécuter un traitement défini et invariable. Les secondes sont des fonctions de traitement programmées. Elles comprennent une partie en électronique câblée, micro-processeur, DSP, qui peuvent réaliser des fonctions de traite-ment variables indiquées par un programme. Ce ou ces programmes sont la partie logicielle du système. Les concepteurs doivent donc à partir de l’application et du cahier des charges, choisir le partitionnement entre le logiciel et l’électronique cablée. Les parties en logiciel seront modifiables et donc facilement adaptables. De plus, elles pourront être modifiées plus facilement en cas d’erreurs. Pour un algorithme complexe, elles seront compactes car découpées en une série d’ins-tructions standards qui prennent peu de place. Les parties en électronique cablée ne pourront exécuter que la fonction de traitement pour laquelle elles ont été conçues, et elles seront optimisées pour cela : cette fonction sera donc exécutée très rapidement. Ce choix est le problème essentiel de la conception des system-on-chip, et on le nommecodesign. La taille croissante des circuits va rendre cette tâche encore plus lourde. De plus en plus de fonctions de trai-tement pourront être intégrées et il faudra les agencer entre elles, permettre les communications et trouver des erreurs dans des parties spécifiques et donc moins utilisées. Et comme à chaque augmentation du nombre de transistors les contraintes de conception changent, lecodesigndu system-on-chip doit être repris.