Politecnico di Milano
Systèmes informatiques FPGA : Connaissances de base et matériel d'introduction

Offrez à votre carrière le cadeau de Coursera Plus avec $160 de réduction, facturé annuellement. Économisez aujourd’hui.

Politecnico di Milano

Systèmes informatiques FPGA : Connaissances de base et matériel d'introduction

16 356 déjà inscrits

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
4.6

(238 avis)

niveau Débutant
Aucune connaissance prérequise
45 heures pour terminer
3 semaines à 15 heures par semaine
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
4.6

(238 avis)

niveau Débutant
Aucune connaissance prérequise
45 heures pour terminer
3 semaines à 15 heures par semaine
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Comment un composant matériel peut être adapté en cours d'exécution pour mieux répondre aux besoins des utilisateurs/de l'environnement à l'aide de FPGA

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Évaluations

19 devoirs

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Emplacement réservé
Emplacement réservé

Obtenez un certificat professionnel

Ajoutez cette qualification à votre profil LinkedIn ou à votre CV

Partagez-le sur les réseaux sociaux et dans votre évaluation de performance

Emplacement réservé

Il y a 8 modules dans ce cours

De nos jours, la complexité des systèmes informatiques monte en flèche. Les programmeurs doivent faire face à des systèmes informatiques extrêmement puissants qui nécessitent du temps et des compétences considérables pour être configurés de manière à fonctionner au mieux. Il est clair qu'il n'est pas possible de compter sur l'intervention humaine pour régler un système : les conditions changent fréquemment, rapidement et de manière imprévisible. Il serait souhaitable que le système s'adapte automatiquement à l'environnement en mutation. Ce module analyse le problème énoncé, adopte une approche radicalement nouvelle et présente la manière dont les systèmes logiciels et matériels peuvent être ajustés pendant l'exécution. Pour ce faire, nous allons présenter les technologies FPGA (Field Programmable Gate Arrays) et la manière dont elles peuvent être (re)configurées.

Inclus

7 vidéos5 lectures5 devoirs

Traditionnellement, l'informatique a été classée en deux catégories : l'informatique à usage général, réalisée par un processeur à usage général (GPP), et l'informatique spécifique à une application, réalisée par un circuit intégré spécifique à une application (ASIC). En tant que compromis entre les deux caractéristiques extrêmes du GPP et de l'ASIC, l'informatique reconfigurable a combiné les avantages des deux. D'une part, l'informatique reconfigurable peut être plus performante qu'une implémentation logicielle, mais cela se paie en termes de temps de mise en œuvre. D'autre part, un dispositif reconfigurable peut être utilisé pour concevoir un système sans nécessiter le même temps de conception et la même complexité qu'une solution entièrement personnalisée, mais en étant moins performant. Le principal avantage d'un système reconfigurable est sa grande flexibilité, tandis que son principal inconvénient est l'absence d'un modèle informatique standard. Dans ce module, nous présentons une première définition de l'informatique reconfigurable, nous décrivons la logique qui la sous-tend et nous introduisons la manière dont ce domaine a été influencé par l'introduction des FPGA.

Inclus

5 vidéos4 lectures2 devoirs

Depuis le milieu des années 1980, l'informatique reconfigurable est devenue un domaine populaire grâce aux progrès de la technologie FPGA. Un FPGA est un dispositif semi-conducteur contenant des composants logiques programmables et des interconnexions programmables, mais pas de récupération d'instructions au moment de l'exécution, c'est-à-dire que les FPGA n'ont pas de compteur de programme. Dans la plupart des FPGA, les composants logiques peuvent être programmés pour reproduire la fonctionnalité des portes logiques de base ou des propriétés intellectuelles (IP) fonctionnelles. Les FPGA comprennent également des éléments de mémoire composés de simples bascules ou de blocs de mémoire plus complexes. Ainsi, les FPGA ont rendu possible l'exécution et la configuration dynamiques du matériel et du logiciel sur une seule puce. Ce module fournit une description détaillée des technologies FPGA, depuis une description générale jusqu'à la discussion sur les détails de configuration de bas niveau de ces dispositifs, en passant par la composition du flux binaire et la description des registres de configuration.

Inclus

8 vidéos3 lectures2 devoirs

Les outils de conception FPGA doivent fournir un environnement de conception basé sur des concepts et des composants numériques (portes, bascules, MUX, etc.). Ils doivent cacher à l'utilisateur les complexités du placement, du routage et de la génération de flux binaires. Ce module n'aborde pas ces étapes en détail, un cours entier sera nécessaire pour cela, mais il est important d'avoir au moins une idée de ce qui se passe derrière la scène pour mieux comprendre la complexité des processus réalisés par les outils que vous allez utiliser. Dans ce contexte, ce module vous guide à travers un exemple simple, qui abstrait la complexité du FPGA sous-jacent, en commençant par la description du circuit que vous souhaitez implémenter jusqu'au flux binaire utilisé pour configurer le FPGA.

Inclus

6 vidéos2 devoirs

Avant de poursuivre ce formidable voyage dans le domaine de l'informatique reconfigurable, il peut être utile de définir un langage commun. De toute évidence, certains de ces termes ont déjà été utilisés, mais il est temps de mieux les comprendre et d'y mettre un peu d'ordre avant d'aborder des concepts plus avancés. En outre, comme nous le savons, les capacités de configuration des FPGA permettent une grande flexibilité dans la conception du matériel et, par conséquent, elles rendent possible la création d'un grand nombre de systèmes reconfigurables différents. Il peut s'agir de systèmes composés de cartes personnalisées avec FPGA, souvent connectées à un PC ou à une station de travail standard, de systèmes autonomes comprenant une logique reconfigurable et des processeurs généraux, ou encore de systèmes sur puce, entièrement mis en œuvre dans un seul FPGA monté sur une carte, avec seulement quelques composants physiques pour l'interface E/S. Il existe différents modèles de reconfiguration, qui peuvent être mis en œuvre dans des environnements différents. Il existe différents modèles de reconfiguration, et un schéma de classification est présenté dans ce module. Nous pouvons considérer ce module comme un module de transition. Nous avons été exposés à une certaine terminologie et à certains concepts et nous sommes maintenant prêts à aller de l'avant. Pour ce faire, nous devons combiner toutes les pièces du puzzle et nous investir un peu dans l'examen de l'image globale, et c'est exactement ce pour quoi ce module a été conçu.

Inclus

5 vidéos2 lectures2 devoirs

Les capacités de reconfiguration des FPGA offrent aux concepteurs une grande souplesse en termes de maintenabilité du matériel. Les FPGA peuvent modifier les fonctionnalités matérielles qui leur sont attribuées en mettant l'application hors ligne, en téléchargeant une nouvelle configuration sur le FPGA (et éventuellement un nouveau logiciel pour le processeur, le cas échéant) et en redémarrant le système. Dans ce cas, la reconfiguration est un processus indépendant de l'exécution de l'application. Une approche différente est celle qui considère la reconfiguration du FPGA comme faisant partie de l'application elle-même, lui donnant la capacité d'adapter le matériel configuré sur les ressources de la puce en fonction des besoins d'une situation particulière pendant le temps d'exécution. Dans ce cas, nous parlons de reconfiguration dynamique et le processus de reconfiguration est considéré comme faisant partie de l'exécution de l'application, et non comme une étape préalable. Ce module illustre une technique particulière, qui prolonge les deux précédentes et qui est viable pour la plupart des dispositifs FPGA récents, la reconfiguration dynamique partielle. Pour bien comprendre cette technique, il faut analyser les concepts de l'informatique reconfigurable, de la reconfiguration statique et dynamique, ainsi que la taxonomie de la reconfiguration dynamique elle-même. De cette manière, la reconfiguration dynamique partielle peut être correctement placée dans l'ensemble des techniques de développement de systèmes qu'il est possible de mettre en œuvre sur une puce FPGA moderne.

Inclus

8 vidéos4 lectures2 devoirs

Après avoir présenté les différentes solutions proposées pour concevoir et mettre en œuvre des systèmes reconfigurables dynamiques, ce module décrira une méthodologie de conception générale et complète qui peut être suivie comme ligne directrice pour la conception de systèmes informatiques reconfigurables. Pour concevoir et mettre en œuvre un système informatique reconfigurable, les concepteurs ont besoin d'outils de conception assistée par ordinateur (CAO) pour la conception et la mise en œuvre du système, tels qu'un outil d'analyse de la conception pour la conception de l'architecture, un outil de synthèse pour la construction du matériel, un simulateur pour la simulation du comportement du matériel et un outil de placement et de routage pour la disposition des circuits. Nous pouvons construire ces outils nous-mêmes ou utiliser des outils et des plateformes commerciales pour la conception de systèmes reconfigurables. Le premier choix implique un investissement considérable en termes de temps et d'efforts pour construire une solution spécifique et optimisée pour le problème donné, tandis que le second permet de réutiliser les connaissances, les noyaux et les logiciels pour parvenir plus rapidement à une bonne solution au même problème. Ce module guide les étudiants à travers une vue historique de la façon dont les cadres de CAO ont évolué au fil des ans. Ceci est fait pour montrer la rapidité avec laquelle la technologie évolue et le raisonnement derrière le choix fait pour améliorer l'expérience de l'utilisateur lorsqu'il travaille avec un système basé sur un FPGA. Ce ne sont pas seulement les outils commerciaux qui sont décrits, mais aussi le parcours personnel de l'instructeur du cours et de son équipe de recherche, depuis ses débuts en tant que doctorant jusqu'aux défis de recherche sur lesquels ils travaillent aujourd'hui.

Inclus

9 vidéos7 lectures3 devoirs

Nous travaillons à la pointe de la recherche dans le domaine de l'informatique reconfigurable. Les technologies FPGA ne sont pas seulement utilisées comme des solutions/plateformes autonomes, mais sont désormais incluses dans les infrastructures en nuage. Elles sont désormais utilisées à la fois pour accélérer les calculs de l'infrastructure/du backend et exposées en tant que service pouvant être utilisé par n'importe qui. Dans ce contexte, nous sommes confrontés à la définition de nouvelles opportunités de recherche et d'amélioration des technologies, et le moment ne peut être mieux choisi dans cette perspective. Ce dont nous avons besoin aujourd'hui, c'est de nouveaux outils de création de plateformes, d'infrastructures de surveillance et de profilage, de meilleurs systèmes de gestion de l'exécution, de partitionnement statique et dynamique de la charge de travail, pour ne citer que quelques domaines de recherche possibles. Ce module conclut ce cours mais pose des questions intéressantes vers des directions de recherche futures possibles qui peuvent également orienter les étudiants vers d'autres cours Coursera sur les FPGA.

Inclus

1 vidéo3 lectures1 devoir

Instructeur

Évaluations de l’enseignant
4.5 (62 évaluations)
Marco Domenico Santambrogio
Politecnico di Milano
5 Cours22 045 apprenants

Offert par

Politecnico di Milano

Recommandé si vous êtes intéressé(e) par Conception et produit

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Avis des étudiants

Affichage de 3 sur 238

4.6

238 avis

  • 5 stars

    72,26 %

  • 4 stars

    21,84 %

  • 3 stars

    2,52 %

  • 2 stars

    1,26 %

  • 1 star

    2,10 %

AG
4

Révisé le 26 mars 2020

HC
4

Révisé le 1 août 2019

IK
5

Révisé le 11 oct. 2020

Emplacement réservé

Ouvrez de nouvelles portes avec Coursera Plus

Accès illimité à plus de 7 000 cours de renommée internationale, à des projets pratiques et à des programmes de certificats reconnus sur le marché du travail, tous inclus dans votre abonnement

Faites progresser votre carrière avec un diplôme en ligne

Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne

Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires

Améliorez les compétences de vos employés pour exceller dans l’économie numérique

Foire Aux Questions