Zur Seitenansicht
 

Titelaufnahme

Titel
FPGA-based reconfigurable cache mapping schemes: design and optimization / by Nam Ho ; [Supervisor: Jun.-Prof. Dr. Paul Kaufmann, Prof. Dr. Marco Platzner, Reviewers: Prof. Dr. Christian Plessl, Jun.-Prof. Dr. Paul Kaufmann, Additional members of the oral examination committee: Prof. Dr. Sybille Hellebrand, Dr. Wolfgang Müller]
AutorHo, Nam
BeteiligteKaufmann, Paul In der Gemeinsamen Normdatei der DNB nachschlagen ; Platzner, Marco In der Gemeinsamen Normdatei der DNB nachschlagen ; Plessl, Christian In der Gemeinsamen Normdatei der DNB nachschlagen ; Hellebrand, Sybille In der Gemeinsamen Normdatei der DNB nachschlagen ; Müller, Wolfgang
ErschienenPaderborn, 2018
Ausgabe
Elektronische Ressource
Umfang1 Online-Ressource (vii, 139 Seiten) : Diagramme
HochschulschriftUniversität Paderborn, Dissertation, 2018
Anmerkung
Tag der Verteidigung: 16.07.2018
Verteidigung2018-07-16
SpracheEnglisch
DokumenttypDissertation
URNurn:nbn:de:hbz:466:2-31304 Persistent Identifier (URN)
DOI10.17619/UNIPB/1-376 
Dateien
FPGA-based reconfigurable cache mapping schemes: design and optimization [4.12 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Traditionelle Cachedesigns verwenden konsolidierte Blöcke von Speicheradressbits um einen Cachesatz zu indizieren, vergleichbar mit der Anwendung einer Modulofunktion. Obwohl dieses modulobasierte Abbildungsschema in heutigen Cachestrukturen weit verbreitet ist, vor allem wegen seiner einfachen Anforderungen an das Hardwaredesign und seiner Effizienz für die Indizierung eufeinanderfolgender Speicheradressen, kann seine Verwendung für eine Vielzahl von Anwendungsdomänen mit unterschiedlichen Charakteristiken zu suboptimalen Ergebnissen führen. Diese Dissertation präsentiert einen neuen Typ von Cacheabbildungsschema, motiviert durch die Kombination programmierbarer Ressourcen mit der naturinspirierten Optimierung rekonfigurierbarer Hardware. Im Fokus dieser Forschung steht eine FPGA-basierte Cachestruktur für den first level Cache einer Mehrkernprozessorarchitektur, welche die Cacheindizierung dynamisch ändern kann. Um die Herausforderung rekonfigurierbarer Cacheabbildungen zu lösen, wird eine reprogrammierbare Boolesche Schaltung eingeführt, die auf Look-up Table (LUT) Speicherelementen basiert. Weiterhin wird eine Infrastruktur zur Effizienzmessung eingeführt, welche die zugrundeliege Mikroarchitektur überwachen kann, sowie eine adaptive Evaluationsstrategie präsentiert, die evolutionäre Algorithmen wirksam einsetzt, und die nicht nur anwendungsspezifische Abbildungen von Speicheradressen zu Cacheindizes für level one Caches evolvieren sondern dabei auch die Optimierungszeiten reduzieren kann. All diese Aspekte zusammen in einer prototypischen Implementierung auf einem FPGA für einen LEON3/Linux-basierten Mehrkernprozessor zeigen, dass evolvierbare Cacheabbildungsfunktionen Cache Misses reduzieren, sowie die Effizienz im Vergleich zu konventionellen Caches erhöhen können.

Zusammenfassung (Englisch)

Traditional cache design uses a consolidated block of memory address bits to index a cache set, equivalent to the use of modulo functions. While this module-based mapping scheme is widely used in contemporary cache structures due to the simplicity of its hardware design and its good performance for sequences of consecutive addresses, its use may not be satisfactory for a variety of application domains having different characteristics.This thesis presents a new type of cache mapping scheme, motivated by programmable capabilities combined with Nature-inspired optimization of reconfigurable hardware. This research has focussed on an FPGA-based evolvable cache structure of the first level cache in a multi-core processor architecture, able to dynamically change cache indexing. To solve the challenge of reconfigurable cache mappings, a programmable Boolean circuit based on a combination of Look-up Table (LUT) memory elements is proposed. Focusing on optimization aspects at the system level, a Performance Measurement Infrastructure is introduced that is able to monitor the underlying microarchitectural metrics, and an adaptive evaluation strategy is presented that leverages on Evolutionary Algorithms, that is not only capable of evolving application-specific address-to-cache-index mappings for level one split caches but also of reducing optimization times. Putting this all together and prototyping in an FPGA for a LEON3/Linux-based multi-core processor, the creation of a system architecture reduces cache misses and improves performance over the use of conventional caches.

Lizenz
CC-BY-Lizenz (4.0)Creative Commons Namensnennung 4.0 International Lizenz