Konstantin Lübeck

Eberhard-Karls-Universität Tübingen
Wilhelm-Schickard Institut für Informatik
Lehrstuhl Technische Informatik
Sand 13, B225
72076 Tübingen

Telefon: +49 (7071) 29-78998
Telefax: +49 (7071) 29-5062

E-Mail: luebeck

Sprechstunde: Open Door Policy

Kontakt-Formular


Studentische Arbeiten

Offene Arbeiten

Die 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 Arbeiten

Erweiterung des RI5CY-Prozessorkerns um dynamische Verfahren zur Sprungvorhersage
Bachelorarbeit, 2019, Andreas Pohl

Entwurf und Implementation einer energie- und flächensparenden ALU für den RI5CY-Prozessorkern
Bachelorarbeit, 2019, Benjamin Basler

Erweiterung des PULP-SDKs um die Unterstützung des LLVM Compilers
Bachelorarbeit, 2019, Raphael Vogelgsang

Implementation einer konfigurierbaren Audioverarbeitungs-Pipeline für PDM-Mikrofone für das Vega-Board
Masterarbeit, 2019, Maximilian Schmidt

Entwurf und Implementation eines Hardware-Beschleunigers für 1D-CNNs
Masterarbeit, 2019, Paul Palomero-Bernardo

Implementation und Evaluierung der Minerva-Beschleuniger-Architektur für DNNs
Bachelorarbeit, 2019, Jan Huber

Abgeschlossene Arbeiten

Erweiterung des RI5CY-Cores um eine Issue Pipeline-Stufe zur superskalaren Ausführung von Instruktionen
Bachelorarbeit, 2019, Maurizio Ruchay

Forschungsinteressen

  • Performance-Analyse und Modellierung
  • Eingebettete Systeme
  • Rechnerarchitektur
  • Heterogene Systeme

Lehre

Sommersemester 2019

Wintersemester 2018/19

  • Proseminar: Moderne Architekturen Eingebetteter Systeme

Publikationen

 Alle Publikationen im BibTex-Format

    2019

      Mai 2019
      • K. Lübeck, O. Bringmann
          A Heterogeneous and Reconfigurable Embedded Architecture for Energy-Efficient Execution of Convolutional Neural Networks
        Architecture of Computing Systems (ARCS 2019), Copenhagen, Denmark

      2016

        März 2016
        • K. Lübeck, D. Morgenstern, T. Schweizer, D. Peterson, W. Rosenstiel, O. Bringmann
            Neues Konzept zur Steigerung der Zuverlaessigkeit einer ARM-basierten Prozessorarchitektur unter Verwendung eines CGRAs
          Proceedings Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen (MBMV) Workshop 2016, Freiburg, Germany