![]() ![]() Studentische ArbeitenOffene ArbeitenDie Derzeit angebotenen Abschlussarbeiten/Forschungsmodule beschäftigen sich mit der Erweiterung des Open Source System-on-Chip (SoC) PULPissimo (https://github.com/pulp-platform/pulpissimo) sowie den dazugehörigen RISC-V-Prozessorkernen RI5CY und TÜRI5X. Erweiterung des TÜRI5X-Prozessorkerns um die Out-of-Order Ausführung von Instruktionen Derzeit können Divisions- und Multiplikationsinstruktionen parallel zueinander (superskalar) auf dem TÜRI5X-Prozessorkern ausgeführt werden. Jedoch ist die Reihenfolge der Ausführung der Instruktionen zur Laufzeit nicht veränderbar (In-Order). Ziel dieser Abschlussarbeit ist es die Reihenfolge der Ausführung zur Laufzeit zu verändern (Out-of-Order) um die Performance des TÜRI5X-Prozessorkerns weiter zu steigern. Evaluierung unterschiedlicher Kommunikationsarchitekturen des PULPissimo SoC In dieser Arbeit soll die Kommunikation des RI5CY-Prozessorkerns mit den Peripheriegeräten (Speicher, Hardwarebeschleuniger, I/O) untersucht werden und eine alternative Kommunikationsarchitektur mit dem Fokus auf Energieeffizienz implementiert werden. Entwurf und Implementierung einer Cache-Architektur für den PULPissimo SoC Derzeit verfügen die Prozessorkerne des PULPissimo SoC über keine Cache-Architektur. Dies schränkt den ansprechbaren Speicher aus technologischen Gründen stark ein. In dieser Arbeit soll eine Cache-Architektur implementiert werden um größere und langsamere Speicher (wie z.B. DDR) anzusprechen. Entwurf und Implementierung einer PULPissimo Multi-Core-Architektur Der PULPissimo SoC verfügt derzeit nur über einen Prozessorkern. Moderne hochleistungsanwendungen profitieren jedoch stark vom Einsatz mehrerer Prozessorkerne. Ziel dieser Arbeit ist der Einbau eines weiteren Prozessorkerns in den PULPissimo SoC und Implementation eines Kommunikationsprotokolls. Erweiterung des RI5CY-Prozessorkerns um RISC-V Vektorinstruktionen Durch die RISC-V Foundation wurden bereits Vektorinstruktionen in einem Standard verabschiedet. In dieser Arbeit sollen diese Vektorinstruktionen in den RI5CY-Prozessorkern integriert werden. Erweiterung eines On-Chip Instruktions-Tracers für den RI5CY-Prozessor Zur Performance-Analyse von Programmen ist die Rekonstruktion der Kontrollflusses von großer Bedeutung. Üblicherweise werden diese Kontrollfluss-Analysen in Simulatoren durchgeführt, welche jedoch den Nachteil haben, dass eine Analyse sehr lange dauert. Ein On-Chip Instruktions-Tracer eröffnet die Möglichkeit solch eine Kontrollfluss-Analyse in Echtzeit durchzuführen. Ziel dieser Arbeit ist es den bestehenden Instruktions-Tracer zu erweitern und dessen Performance zu erhöhen. Implementation einer Konfigurationsplattform für den TÜRI5X-Prozessorkern Der TÜRI5X-Prozessorkern liegt derzeit in unterschiedlichen Mikroarchitekturvarianten vor. In dieser Arbeit soll das PULP-SDK erweitert werden, sodass unterschiedliche Mikroarchitekturvarianten ausgewählt und kombiniert werden können. Zusätzlich soll es möglich sein eine Konfiguration automatisch hinsichtlich der Performance, Fläche und Energieeffizienz bewerten zu können. Integration eines On-Chip CAN-Controllers in den PULPissimo SoC Für die Kommunikation des PULPissimo SoC mit anderen Geräten soll ein On-Chip CAN-Controller in den PULPissimo SoC integriert werden. Ziel dieser Arbeit ist es einen bestehenden CAN-Controller an den On-Chip AHB-Bus anzubinden sowie einen Treiber und eine virtuelle Testumgebung zu erstellen. Anbindung eines Off-Chip CAN-Controller an den PULPissimo SoC Für die Kommunikation des PULPissimo SoC mit anderen Geräten soll ein Off-Chip CAN-Controller an den PULPissimo SoC angeschlossen werden. Ziel dieser Arbeit ist es einen bestehenden CAN-Controller an den SPI oder I2C-Bus anzuschließen sowie einen Treiber zu erstellen und eine Kommunikation über Linux SocketCAN aufzubauen. Laufende ArbeitenErweiterung des RI5CY-Prozessorkerns um dynamische Verfahren zur Sprungvorhersage Entwurf und Implementation einer energie- und flächensparenden ALU für den RI5CY-Prozessorkern Erweiterung des PULP-SDKs um die Unterstützung des LLVM Compilers Implementation einer konfigurierbaren Audioverarbeitungs-Pipeline für PDM-Mikrofone für das Vega-Board Entwurf und Implementation eines Hardware-Beschleunigers für 1D-CNNs Implementation und Evaluierung der Minerva-Beschleuniger-Architektur für DNNs Abgeschlossene ArbeitenErweiterung des RI5CY-Cores um eine Issue Pipeline-Stufe zur superskalaren Ausführung von Instruktionen Forschungsinteressen
LehreSommersemester 2019Wintersemester 2018/19
Publikationen
2019 Mai 2019
2016 März 2016
|