Qu'est-ce que l'informatique reconfigurable?
L'informatique reconfigurable est un terme appliqué à plusieurs options informatiques. Un ordinateur reconfigurable est un ordinateur sur lequel les composants et les puces d'architecture d'ordinateur peuvent être échangés pour d'autres sur demande. En variante, les puces et les composants peuvent être réarrangés et câblés ensemble différemment afin d’exécuter différentes fonctions et de suivre différents agencements de flux de données. Un ordinateur reconfigurable peut ou non contenir une unité de traitement informatique (UC) à usage général, avoir plusieurs CPU, ou seulement être exécuté par des circuits intégrés dédiés et des réseaux de portes programmables par l'utilisateur. Certaines personnes se réfèrent à l'informatique reconfigurable en tant qu'informatique hybride, informatique parallèle, informatique par pipeline ou informatique hautes performances.
Les ordinateurs de réseau de portes programmables sur site (FPGA) peuvent avoir une CPU pour exécuter des fonctions de plate-forme et de réseau, ou peuvent exécuter toutes les fonctions de la CPU indépendamment, dans un ordinateur reconfigurable. Ces FPGA sont des composants de logique informatique qui peuvent être regroupés dans une variété de configurations de câblage, produisant différents flux de fonctions et de données, et peuvent être réorganisés à tout moment en de nouvelles dispositions. Cette flexibilité donne une puissance de calcul brute maximale pour les tâches informatiques spécialisées et des capacités de vitesse accrues par rapport aux ordinateurs à usage général. Dans les options alternatives, les FPGA peuvent être reprogrammés de manière répétée par des langages spécifiques au matériel, utilisés en parallèle, pour produire des chemins de flux de données différents et des opérations de données de pipeline simultanées.
L'informatique hybride est considérée comme une informatique reconfigurable car elle implique un cœur de processeur à usage général associé à des cœurs spécifiques à une application pour des utilisations spécifiques, augmentant ainsi les capacités et la vitesse de certaines fonctions de calcul. Ces cœurs spécifiques à l’application peuvent être des FPGA reconfigurés par un consommateur ou des matrices de traitement de données reconfigurables (rDPA). De plus, une carte d'extension informatique PCI Express® peut être ajoutée en interne à la carte mère, ou en externe dans son propre boîtier, pour accroître les capacités graphiques ou de signalisation. L'informatique reconfigurable consiste à offrir des options hautes performances pour des tâches spécialisées.
La raison pour laquelle les systèmes informatiques reconfigurables sont préférés aux systèmes informatiques à usage général est que les systèmes reconfigurables offrent une telle flexibilité de performances. Un système reconfigurable peut être modifié à la volée avant l'exécution, entre les ensembles de fonctions ou à presque n'importe quel moment de l'exécution au moyen de trains de bits d'instructions. Ces reconfigurations peuvent avoir lieu pendant qu'une autre partie du système logique calcule d'autres tâches. Il existe une grande différence de vitesse entre l'utilisation de tâches exécutant des logiciels et l'utilisation de la flexibilité d'un calcul reconfigurable pour effectuer les mêmes tâches, tout en consommant moins d'énergie.
Dans les milieux scientifiques, universitaires, militaires et des affaires, de nombreux domaines de recherche sont en cours pour faire progresser les pratiques informatiques reconfigurables. Une grande partie de cette recherche vise à produire une meilleure gestion des frais généraux dans les systèmes d'exploitation. Parallèlement, des recherches sont en cours sur les choix en matière de délégation de tâches pour héberger des CPU et des FPGA logiques. En outre, l'accent est mis sur les stratégies d'optimisation des FPGA dans le traitement de la vidéo, du signal et du réseau pour les communautés scientifiques et militaires et dans la bioinformatique pour les communautés médicales.