Bild mit Unilogo
home uni uni kontakt kontakt
unilogo Universität Stuttgart
Institut für Kommunikationsnetze und Rechnersysteme (IKR)

Themenbeschreibung

englishicon Druckansicht
 

Bachelor-Arbeit / Forschungsarbeit Nr. 1086    (In Bearbeitung)   [pdf]

Implementierung eines NVMe-Treibers zur Anbindung von Massenspeichern an ein experimentelles Rechnersystem mit objektbasiertem Forschungsprozessor


Methoden

Themengebiete

Programmierung
Softwareentwurf

Rechnerarchitektur
PCI Express


Beschreibung

Hintergrund

Am Institut entsteht ein FPGA-basierter Prototyp eines neuartigen objektbasierten Prozessors, der sich u. a. durch eine erhöhte Robustheit auf Ebene der Instruction Set Architecture auszeichnet. Ein auf Basis des Prozessors entwickeltes experimentelles Rechnersystem verfügt über eine PCI-Express-Schnittstelle, die ebenfalls objektbasiert arbeitet. Diese Schnittstelle erlaubt es, handelsübliche Peripheriegeräte wie z. B. SATA-Controller an das System anzuschließen.

Das Protokoll "Non-Volatile Memory Express" (NVMe) baut auf PCIe auf und dient zur Anbindung von SSDs an Rechnersysteme. Da moderne NVMe-SSDs unter entsprechenden Umständen große Datenmengen mit hohen Geschwindigkeiten senden und empfangen, eignen sie sich besonders, um neuartige objektbasierte IO-Konzepte zu erforschen und quantitativ zu bewerten.

Aufgabenstellung

Ziel der Arbeit ist die Implementierung eines NVMe-Treibers für das objektbasierte Rechnersystem. Als Implementierungssprache dient die Sprache GoSUB, eine experimentelle Variante der Programmiersprache Go, die als Systemsprache für den objektbasierten Prozessor entwickelt wurde.

Die Arbeit gliedert sich in folgende Schritte:

Einarbeitung in die Spezifikationen für PCI Express und NVMe.

Implementierung eines grundlegenden NVMe-Treibers in GoSUB, der Funktionen zum Lesen und Schreiben von Sektoren einer SSD bereitstellt.

Verbesserung des Treibers zum Erhöhen der Datenrate, insbesondere unter Berücksichtigung des objektbasierten IO-Konzepts des Rechnersystems.

Erworbene Kenntnisse und Fähigkeiten

Sie verstehen die Funktionsweise der modernen Protokolle PCIe und NVMe sowie den Aufbau einer dazugehörigen Treiber-Software. Sie vertiefen Ihr Wissen im Bereich der hardwarenahen Software-Entwicklung und erhalten durch die experimentelle Rechnerarchitektur die Gelegenheit, State-Of-The-Art-Mechanismen zur Anbindung von Peripheriegeräten zu verstehen und kritisch zu hinterfragen.


Voraussetzungen

Erwünschte Vorkenntnisse

Technische Informatik I

Gute Programmierkenntnisse


Kontakt

M.Sc. Timo Madeheim, Raum 1.336 (ETI II), Telefon 685-69012, [E-Mail]