WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en oeuvre de l'auto-reconfiguration partielle et dynamique sur FPGA Xilinx Virtex-II pro

( Télécharger le fichier original )
par Guy WASSI
Université Pierre et Marie Curie (Paris VI Jussieu) - Master informatique industrielle et systèmes automatisés 2005
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.1 Implémentation logicielle vs implémentation matérielle d'une application

2.1.1 Implémentation logicielle (Figure 3.a)

Dans un modèle d'exécution logicielle, le traitement est séquentiel et exécuté par un processeur. En effet, un CPU (Central Processing Unit) exécute une tâche (ou une operation) à la fois. Toute application est découpée en tâches unitaires exécutées les unes à la suite de autres (Figure 3.a). Le passage d'une tâche à l'autre nécessite une sauvegarde de contexte (context switch) qui permet de conserver la cohérence globale de l'application, et donner une apparence d'exécution parallèle des tâches. Mais ce modèle nécessite des processeurs de plus en plus rapides pour répondre à la complexité algorithmique des applications. Or les fréquences de fonctionnement des processeurs ne sauraient être augmentées indéfiniment a cause d'une part des limites technologiques, et d'autre part d'une augmentation de la consommation qui n'est pas souhaitable dans les systèmes embarqués.

Figure 3 : Implémentation temporelle vs implémentation spatiale [13]

2.1.2 Implémentation matérielle (Figure 3.b)

Par contre dans un ASIC ou un FPGA, les applications (algorithmes, fonctions, etc...) décrites dans un langage de description de circuits (VHDL, Verilog, etc...) sont implémentées matériellement; ceci apporte un gain de performance supérieur à celui des processeurs grâce à l'implémentation spatiale (parallèlisme) des tâches [13]. En effet dans ce type d'implémentation matérielle, seul le temps de propagation des signaux de l'entrée à la sortie d'un système fixe sa limite supérieure en fréquence.

En outre, la reconfigurabilité dynamique de certains FPGAs permet de faire évoluer l'architecture pour s'adapter au traitement (Figure 3.c), contrairement aux ASICs. Il est aujourd'hui envisagéable d'implémenter et d'exécuter séquentiellement sur ce type de composants reconfigurables plusieurs algorithmes, et de profiter à la fois de leur reconfigurabilité (flexibilité) et de leur performance. Pour cela une architecture reconfigurable inclut généralement deux principales parties, une partie matérielle et une partie logicielle. La partie logicielle comprend généralement un processeur (à usage générique - GPP ou orienté traitement du signal - DSP) chargé du contrôle et de la gestion de la reconfiguration de la partie

matérielle, ainsi que de l'exécution des tâches encore dévolues au logiciel. Elle utilise la partie matérielle (un ou plusieurs FPGAs) comme accélérateur matériel, en y implémentant les parties les plus critiques des traitements.

Le tableau comparatif ci-dessous (Table 1) permet de situer les FPGAs parmi les principaux types d'architectures et leurs caractéristiques [6].

Table 1 : Comparatif des caractéristiques de différentes implémentations [6]

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy