Politecnico di Milano
FPGA-Rechensysteme: Hintergrundwissen und Einführungsmaterialien
Politecnico di Milano

FPGA-Rechensysteme: Hintergrundwissen und Einführungsmaterialien

16.589 bereits angemeldet

Bei Coursera Plus enthalten

Verschaffen Sie sich einen Einblick in ein Thema und lernen Sie die Grundlagen.
4.6

(243 Bewertungen)

Stufe Anfänger
Keine Vorkenntnisse erforderlich
Es dauert 45 Stunden
3 Wochen bei 15 Stunden pro Woche
Flexibler Zeitplan
In Ihrem eigenen Lerntempo lernen
Verschaffen Sie sich einen Einblick in ein Thema und lernen Sie die Grundlagen.
4.6

(243 Bewertungen)

Stufe Anfänger
Keine Vorkenntnisse erforderlich
Es dauert 45 Stunden
3 Wochen bei 15 Stunden pro Woche
Flexibler Zeitplan
In Ihrem eigenen Lerntempo lernen

Was Sie lernen werden

  • Wie eine Hardwarekomponente zur Laufzeit angepasst werden kann, um mit FPGAs besser auf die Bedürfnisse der Benutzer/Umgebung zu reagieren

Wichtige Details

Zertifikat zur Vorlage

Zu Ihrem LinkedIn-Profil hinzufügen

Bewertungen

19 Aufgaben

Unterrichtet in Englisch

Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.

Platzhalter
Platzhalter

Erwerben Sie ein Karrierezertifikat.

Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.

Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.

Platzhalter

In diesem Kurs gibt es 8 Module

Heutzutage nimmt die Komplexität von Computersystemen rasant zu. Programmierer haben es mit extrem leistungsstarken Computersystemen zu tun, die nur mit viel Zeit und beträchtlichen Fähigkeiten zu Höchstleistungen gebracht werden können. Es liegt auf der Hand, dass es nicht möglich ist, sich bei der Einstellung eines Systems auf menschliche Eingriffe zu verlassen: Die Bedingungen ändern sich häufig, schnell und unvorhersehbar. Es wäre wünschenswert, dass sich das System automatisch an die sich verändernde Umgebung anpasst. Dieses Modul analysiert das genannte Problem, verfolgt einen radikal neuen Ansatz und stellt vor, wie Software- und Hardwaresysteme während der Ausführung angepasst werden können. Zu diesem Zweck werden wir die FPGA-Technologien (Field Programmable Gate Arrays) einführen und zeigen, wie sie (neu) konfiguriert werden können.

Das ist alles enthalten

7 Videos5 Lektüren5 Aufgaben

Traditionell wurde die Datenverarbeitung in eine allgemeine Datenverarbeitung durch einen allgemeinen Prozessor (GPP) und eine anwendungsspezifische Datenverarbeitung durch einen anwendungsspezifischen integrierten Schaltkreis (ASIC) unterteilt. Als Kompromiss zwischen den beiden extremen Eigenschaften von GPP und ASIC hat das rekonfigurierbare Computing die Vorteile beider Systeme kombiniert. Einerseits kann rekonfigurierbares Computing im Vergleich zu einer Software-Implementierung eine bessere Leistung aufweisen, was jedoch mit einem höheren Zeitaufwand für die Implementierung bezahlt wird. Andererseits kann ein rekonfigurierbares Gerät dazu verwendet werden, ein System zu entwerfen, ohne die gleiche Entwicklungszeit und Komplexität im Vergleich zu einer vollständig kundenspezifischen Lösung zu benötigen, aber in Bezug auf die Leistung unterlegen zu sein. Der Hauptvorteil eines rekonfigurierbaren Systems ist seine hohe Flexibilität, während sein Hauptnachteil das Fehlen eines Standard-Rechenmodells ist. In diesem Modul stellen wir eine erste Definition des rekonfigurierbaren Computings vor, beschreiben die Gründe dafür und zeigen, wie dieser Bereich durch die Einführung der FPGAs beeinflusst wurde.

Das ist alles enthalten

5 Videos4 Lektüren2 Aufgaben

Seit Mitte der 1980er Jahre hat sich das rekonfigurierbare Computing dank der Fortschritte in der FPGA-Technologie zu einem beliebten Bereich entwickelt. Ein FPGA ist ein Halbleiterbaustein, der programmierbare Logikkomponenten und programmierbare Verbindungen enthält, aber keine Befehle zur Laufzeit abruft, d.h. FPGAs haben keinen Programmzähler. In den meisten FPGAs können die Logikkomponenten so programmiert werden, dass sie die Funktionalität von grundlegenden Logikgattern oder funktionalen Intellectual Properties (IPs) duplizieren. FPGAs enthalten auch Speicherelemente, die aus einfachen Flip-Flops oder komplexeren Speicherblöcken bestehen. FPGAs ermöglichen also die dynamische Ausführung und Konfiguration von Hardware und Software auf einem einzigen Chip. Dieses Modul bietet eine detaillierte Beschreibung der FPGA-Technologien, angefangen von einer allgemeinen Beschreibung bis hin zur Diskussion der Low-Level-Konfigurationsdetails dieser Bausteine, der Bitstream-Zusammensetzung und der Beschreibung der Konfigurationsregister.

Das ist alles enthalten

8 Videos3 Lektüren2 Aufgaben

FPGA-Designtools müssen eine Designumgebung bieten, die auf digitalen Designkonzepten und Komponenten (Gatter, Flip-Flops, MUXs usw.) basiert. Sie müssen die Komplexität von Platzierung, Routing und Bitstream-Generierung vor dem Benutzer verbergen. Dieses Modul geht nicht im Detail auf diese Schritte ein, dafür wird ein ganzer Kurs benötigt, aber es ist wichtig, zumindest eine Vorstellung davon zu haben, was hinter den Kulissen geschieht, um die Komplexität der Prozesse, die von den Tools, die Sie verwenden werden, ausgeführt werden, besser zu verstehen. In diesem Zusammenhang führt Sie dieses Modul durch ein einfaches Beispiel, das die Komplexität des zugrundeliegenden FPGAs abstrahiert, angefangen bei der Beschreibung der Schaltung, die Sie vielleicht implementieren möchten, bis hin zum Bitstream, der zur Konfiguration des FPGAs verwendet wird.

Das ist alles enthalten

6 Videos2 Aufgaben

Bevor wir diese grandiose Reise im Bereich des rekonfigurierbaren Computings fortsetzen, kann es nützlich sein, eine gemeinsame Sprache zu definieren. Natürlich wurden einige dieser Begriffe bereits verwendet, aber es ist nun an der Zeit, sie besser zu verstehen und eine gewisse Ordnung herzustellen, bevor wir mit fortgeschritteneren Konzepten fortfahren. Wie wir wissen, ermöglichen die Konfigurationsmöglichkeiten von FPGAs eine große Flexibilität beim Hardwaredesign und damit die Schaffung einer großen Anzahl verschiedener rekonfigurierbarer Systeme. Diese können von Systemen, die aus kundenspezifischen Boards mit FPGAs bestehen und oft an einen Standard-PC oder eine Workstation angeschlossen sind, über eigenständige Systeme mit rekonfigurierbarer Logik und Allzweckprozessoren bis hin zu System-on-Chip-Systemen reichen, die vollständig in einem einzigen FPGA auf einer Platine implementiert sind und nur wenige physische Komponenten für die E/A-Schnittstellen aufweisen. Es gibt verschiedene Modelle der Rekonfiguration, und in diesem Modul wird ein Schema zur Klassifizierung dieser Modelle vorgestellt. Wir können dieses Modul als ein Übergangs-/Wendepunktmodul betrachten. Wir haben einige Terminologie und Konzepte kennengelernt und sind nun bereit, weiterzumachen. Dazu müssen wir alle Teile des Puzzles zusammenfügen und ein wenig in die Betrachtung des Gesamtbildes investieren, und genau dafür wurde dieses Modul konzipiert.

Das ist alles enthalten

5 Videos2 Lektüren2 Aufgaben

Die Rekonfigurationsfähigkeiten von FPGAs bieten den Entwicklern eine erweiterte Flexibilität in Bezug auf die Wartbarkeit der Hardware. FPGAs können die auf ihnen abgebildeten Hardwarefunktionen ändern, indem Sie die Anwendung offline nehmen, eine neue Konfiguration auf das FPGA herunterladen (und möglicherweise neue Software für den Prozessor, falls vorhanden) und das System neu booten. Die Rekonfiguration ist in diesem Fall ein von der Ausführung der Anwendung unabhängiger Prozess. Ein anderer Ansatz ist derjenige, der die Rekonfiguration des FPGA als Teil der Anwendung selbst betrachtet und ihr die Fähigkeit verleiht, die auf dem Chip konfigurierte Hardware während der Ausführungszeit an die Bedürfnisse einer bestimmten Situation anzupassen. In diesem Fall bezeichnen wir diese Rekonfiguration als dynamische Rekonfiguration und der Rekonfigurationsprozess wird als Teil der Anwendungsausführung betrachtet und nicht als eine Phase vor der Ausführung. Dieses Modul veranschaulicht eine besondere Technik, die die beiden vorangegangenen erweitert und die für die meisten neueren FPGA-Bausteine praktikabel ist: die partielle dynamische Rekonfiguration. Um zu verstehen, worum es sich bei dieser Technik handelt, müssen die Konzepte der rekonfigurierbaren Datenverarbeitung, der statischen und dynamischen Rekonfiguration sowie die Taxonomie der dynamischen Rekonfiguration selbst analysiert werden. Auf diese Weise kann die partielle dynamische Rekonfiguration korrekt in die Reihe der Systementwicklungstechniken eingeordnet werden, die auf einem modernen FPGA-Chip implementiert werden können.

Das ist alles enthalten

8 Videos4 Lektüren2 Aufgaben

Nach der Vorstellung verschiedener Lösungen, die für den Entwurf und die Implementierung dynamischer rekonfigurierbarer Systeme vorgeschlagen wurden, wird in diesem Modul eine allgemeine und vollständige Entwurfsmethodik beschrieben, die als Leitfaden für den Entwurf rekonfigurierbarer Rechnersysteme dienen kann. Um ein rekonfigurierbares Computersystem zu entwerfen und zu implementieren, benötigen Designer Computer-Aided Design (CAD)-Tools für das Systemdesign und die Implementierung, z.B. ein Design-Analyse-Tool für das Architekturdesign, ein Synthese-Tool für die Hardwarekonstruktion, einen Simulator für die Simulation des Hardwareverhaltens und ein Platzierungs- und Routing-Tool für das Schaltungslayout. Wir können diese Tools selbst entwickeln oder auch kommerzielle Tools und Plattformen für das Design rekonfigurierbarer Systeme verwenden. Die erste Option bedeutet eine beträchtliche Investition an Zeit und Aufwand, um eine spezifische und optimierte Lösung für das gegebene Problem zu entwickeln, während die zweite Option die Wiederverwendung von Wissen, Kernen und Software ermöglicht, um schneller zu einer guten Lösung für dasselbe Problem zu gelangen. Dieses Modul führt die Studenten durch einen historischen Überblick darüber, wie sich CAD-Frameworks im Laufe der Jahre entwickelt haben. Dies geschieht, um zu zeigen, wie schnell sich die Technologie weiterentwickelt und welche Überlegungen hinter den Entscheidungen stehen, die getroffen wurden, um die Erfahrung der Benutzer bei der Arbeit mit einem FPGA-basierten System zu verbessern. Es werden nicht nur kommerzielle Tools beschrieben, sondern auch die persönliche Reise des Kursleiters und seines Forschungsteams, angefangen von seinen Anfängen als Doktorand bis hin zu den Forschungsherausforderungen, an denen sie heute arbeiten.

Das ist alles enthalten

9 Videos7 Lektüren3 Aufgaben

Wir arbeiten an der Spitze der Forschung auf dem Gebiet des rekonfigurierbaren Computings. FPGA-Technologien werden nicht mehr nur als eigenständige Lösungen/Plattformen verwendet, sondern sind jetzt in Cloud-Infrastrukturen integriert. Sie werden nun sowohl zur Beschleunigung von Infrastruktur-/Backend-Berechnungen als auch als Service eingesetzt, der von jedermann genutzt werden kann. In diesem Zusammenhang stehen wir vor der Definition neuer Forschungsmöglichkeiten und technologischer Verbesserungen, und der Zeitpunkt könnte unter diesem Gesichtspunkt nicht besser sein. Was jetzt benötigt wird, sind neue Tools für die Erstellung von Plattformen, Überwachungs- und Profiling-Infrastrukturen, bessere Laufzeitmanagementsysteme, statische und dynamische Workload-Partitionierung, um nur einige mögliche Forschungsbereiche zu nennen. Dieses Modul bildet den Abschluss dieses Kurses, wirft aber auch interessante Fragen zu möglichen zukünftigen Forschungsrichtungen auf, die die Studenten auch auf andere Coursera-Kurse zu FPGAs hinweisen können.

Das ist alles enthalten

1 Video3 Lektüren1 Aufgabe

Dozent

Lehrkraftbewertungen
4.5 (65 Bewertungen)
Marco Domenico Santambrogio
Politecnico di Milano
5 Kurse22.367 Lernende

von

Empfohlen, wenn Sie sich für Design und Produkt interessieren

Warum entscheiden sich Menschen für Coursera für ihre Karriere?

Felipe M.
Lernender seit 2018
„Es ist eine großartige Erfahrung, in meinem eigenen Tempo zu lernen. Ich kann lernen, wenn ich Zeit und Nerven dazu habe.“
Jennifer J.
Lernender seit 2020
„Bei einem spannenden neuen Projekt konnte ich die neuen Kenntnisse und Kompetenzen aus den Kursen direkt bei der Arbeit anwenden.“
Larry W.
Lernender seit 2021
„Wenn mir Kurse zu Themen fehlen, die meine Universität nicht anbietet, ist Coursera mit die beste Alternative.“
Chaitanya A.
„Man lernt nicht nur, um bei der Arbeit besser zu werden. Es geht noch um viel mehr. Bei Coursera kann ich ohne Grenzen lernen.“

Bewertungen von Lernenden

4.6

243 Bewertungen

  • 5 stars

    72,83 %

  • 4 stars

    21,39 %

  • 3 stars

    2,46 %

  • 2 stars

    1,23 %

  • 1 star

    2,05 %

Zeigt 3 von 243 an

AE
5

Geprüft am 2. Jan. 2019

MW
5

Geprüft am 24. Mai 2020

BC
5

Geprüft am 12. Feb. 2021

Platzhalter

Neue Karrieremöglichkeiten mit Coursera Plus

Unbegrenzter Zugang zu 10,000+ Weltklasse-Kursen, praktischen Projekten und berufsqualifizierenden Zertifikatsprogrammen - alles in Ihrem Abonnement enthalten

Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.

Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online

Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.

Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.

Häufig gestellte Fragen