Dieser Kurs richtet sich an alle, die lernen möchten, wie eine Hardwarekomponente zur Laufzeit angepasst werden kann, um besser auf die Bedürfnisse der Benutzer/Umgebung zu reagieren. Diese Anpassung kann von den Designern vorgenommen werden, oder sie kann eine eingebettete Eigenschaft des Systems selbst sein. Diese zur Laufzeit anpassbaren Systeme werden mit Hilfe von FPGA-Technologien implementiert. Im Rahmen dieses Kurses vermitteln wir ein grundlegendes Verständnis für die Funktionsweise von FPGAs und für die Gründe, die hinter der Wahl von FPGAs zur Implementierung eines gewünschten Systems stehen. Ziel dieses Kurses ist es, jedem die Grundlagen von FPGA-basierten rekonfigurierbaren Computersystemen zu vermitteln. Wir behandeln die Grundlagen der Entscheidung, ob ein FPGA eingesetzt werden soll oder nicht, und, falls sich diese Technologie als die richtige Wahl erweist, wie man sie programmiert. Dies ist ein Einführungskurs, der Sie durch die FPGA-Welt führen soll, um Ihnen die Gründe bewusster zu machen, warum Sie mit diesen Technologien arbeiten möchten, und um Ihnen ein Gefühl für die Arbeit zu vermitteln, die Sie leisten müssen, um die Vorteile zu erlangen, die Sie sich durch den Einsatz dieser Technologien erhoffen. Wir stützen uns auf einige zusätzliche Lektüre, um mehr Informationen über das in diesem Kurs behandelte Thema zu erhalten.
FPGA-Rechensysteme: Hintergrundwissen und Einführungsmaterialien
Dozent: Marco Domenico Santambrogio
16.589 bereits angemeldet
Bei enthalten
(243 Bewertungen)
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
Zu Ihrem LinkedIn-Profil hinzufügen
19 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
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.
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
Empfohlen, wenn Sie sich für Design und Produkt interessieren
University of California, Santa Cruz
Princeton University
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
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
Geprüft am 2. Jan. 2019
Perfect course for anyone interested in knowing more about FPGA internals and heterogeneous computing. Thanks for this clear and perfect course and for all the staff efforts.
Geprüft am 24. Mai 2020
Very interesting course, will definitely look into follow-up courses
Geprüft am 12. Feb. 2021
Perfect course for any one intersted in knowing more about FPGA internals and computing, SOC and ASIC concepts in FPGA. Thanks for this clear and perfect course. Thanks a lot to the professor.
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
Der Zugang zu Vorlesungen und Aufgaben hängt von der Art Ihrer Einschreibung ab. Wenn Sie einen Kurs im Prüfungsmodus belegen, können Sie die meisten Kursmaterialien kostenlos einsehen. Um auf benotete Aufgaben zuzugreifen und ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung während oder nach Ihrer Prüfung erwerben. Wenn Sie die Prüfungsoption nicht sehen:
Der Kurs bietet möglicherweise keine Prüfungsoption. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen.
Der Kurs bietet möglicherweise stattdessen die Option 'Vollständiger Kurs, kein Zertifikat'. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Wenn Sie sich für den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Specializations, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen. Wenn Sie die Kursinhalte nur lesen und ansehen möchten, können Sie den Kurs kostenlos besuchen.
Wenn Sie ein Abonnement abgeschlossen haben, erhalten Sie eine kostenlose 7-tägige Testphase, in der Sie kostenlos kündigen können. Danach gewähren wir keine Rückerstattung, aber Sie können Ihr Abonnement jederzeit kündigen. Siehe unsere vollständigen Rückerstattungsbedingungen.