 |
|
 |
Institut für Kommunikationsnetze und Rechnersysteme (IKR)
|
 |
Themenbeschreibung |
|
|
 |
 |
 |
|
 |
 |
 |
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]
|
|
|
|
|
|
|
|