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