Details
Autor: | Viktor Razilov |
Titel: | On Memory Systems in Parallel Architectures |
Typ: | Dissertation |
Fachgebiet: | Informationstechnik |
Reihe: | Mobile Nachrichtenübertragung, Nr.: 107 |
Auflage: | 1 |
Sprache: | Englisch |
Erscheinungsdatum: | 20.11.2025 |
Lieferstatus: | lieferbar |
Umfang: | 154 Seiten |
Bindung: | Soft |
Preis: | 69,00 EUR |
ISBN: | 9783959470841 |
Umschlag: | (vorn) |
Inhaltsverzeichnis: | (pdf) |
Abstrakt in Englisch
Memory is the major bottleneck in contemporary processors as its technology scaling keeps lagging behind logic cells. To address this challenge, computer architects have resorted to various parallel archictectures. These archictectures still contain a memory system that needs to be optimized for parallel processing. This thesis first portrays the shift to parallel architectures and how they address the limitations of sequential single-core processors. Out-of-order processors find instructions that can be executed in parallel at runtime. Vector instruction set architectures encode parallelism in the insruction word itself at compile time. Multi-processor systems-on-a-chip (MPSoCs) execute entire instruction threads in parallel. The latter two are more energy-efficient and preferable where applicable. We demonstrate at the example of communications signal processing for current and next-generation radio access networks the strengths and limitations of vector processors and MPSoCs. Based on the analysis, we argue for a heterogeneous MPSoC as a fabric for flexible and scalable communications signal processing platforms. This MPSoC contains general-purpose processors, vector processors, accelerators, and a shared memory system. In the second part of the thesis, we optimize the different components of this vision. We first take a look at the shared memory system and the conflicts it entails. We opt for access interval prediction as a means to manage the timing impact of conflict arbitration. Drawing inspiration from branch prediction, we derive, optimize and implement an access interval predictor with an accuracy of 97 % outperforming other implementable predictors found in literature. The next optimization regards the access pattern of vector processors on the main memory. In certain situations, which we analyze thoroughly, it is beneficial to load two vectors in parallel. Dual load can boost the performance of vector processors up to 33 % and we demonstrate a gain of 21 % at an area increase of less than 2 % in a proof of concept. Finally, we take a look inside the vector processor, where we can find a small shared memory system, as well. The vector register file architecture needs to avoid, resolve, and mitigate access conflicts. We examine the conflicts and propose dynamic bank layout and an improved arbitration as an alternative to area-expensive deep operand queues for conflict management at no runtime impact or even a slight improvement.
Abstrakt in Deutsch
Der Speicher ist der größte Flaschenhals in derzeitigen Prozessoren, denn die Skalierung der Prozesstechnologie für Speicherzellen hinkt der für Logikzellen hinterher. Um dieses Problem zu bewältigen, greifen Rechnerarchitekten auf verschiedene parallele Architekturen zurück. Diese enthalten weiterhin ein Speichersystem, das für parallele Verarbeitung optimiert werden muss. Diese Arbeit schildert erst die Entwicklung zu parallelen Architekturen und wie diese die Beschränkungen von sequentiellen Einzelkern-Prozessoren adressieren. Out-of-order-Prozessoren ermitteln parallel ausführbare Befehle zur Laufzeit. Vektorbefehlssatzarchitekturen kodieren Parallellität in dem Befehlswort selbst während der Kompilierung. Mehrprozessor-Einchipsysteme (MPSoCs) führen ganze Threads parallel aus. Letztere beide Architekturen sind energieeffizienter und zu bevorzugen, wo sie geeignet sind. Wir demonstrieren anhand des Beispiels von nachrichtechnischer Signalverarbeitung für derzeitige und kommende Funkzugangsnetze die Stärken und Grenzen von Vektorprozessoren und MPSoCs. Aufbauend auf dieser Analyse plädieren wir für einen heterogenen MPSoC als Struktur für flexible und skalierbare nachrichtentechnische Signalverarbeitungsplattformen. Dieser MPSoC enthält Universalprozessoren, Vektorprozessoren, Beschleuniger und ein geteiltes Speichersystem. Im zweiten Teil der Arbeit optimieren wir die einzelnen Komponenten dieser Vision. Zuerst widmen wir uns dem geteilten Speichersystem und den damit einhergehenden Zugriffskonflikten. Wir nutzen Zugriffsintervallvorhersage zur Einhegung des Einflusses der Konfliktschlichtung auf den kritischen Pfad des Systems. Wir entwerfen, optimieren und implementieren einen Zugriffsintervallprädiktor, der inspiriert von gängigen Sprungprädiktoren ist. Dieser erreicht eine Trefferquote von 97 % und schlägt damit alle derzeitig bekannten implementierbaren Zugriffsintervallprädiktoren. Die nächste Optimierung behandelt das Zugriffsverhalten von Vektorprozessoren auf den Hauptspeicher. In bestimmten Fällen, die wir eingehend analysieren, ist es vorteilhaft, zwei Vektoren parallel zu laden. Duales Laden kann die Geschwindigkeit von Vektorprozessoren bis zu 33 % verbessern und wir demonstrieren einen Zuwachs von 21 % bei einer Zusatzfläche von weniger als 2 %. Am Schluss widmen wir uns der inneren Architektur von Vektorprozessoren, welche ebenfalls ein kleines geteiltes Speichersystem enthalten. Die Architektur des Vektorregisterfiles muss Zugriffskonflikte verhindern, lösen und eindämmen. Wir untersuchen die Konflikte und schlagen dynamische Bank-Layouts und eine verbesserte Schlichtung als eine Alternative zu flächenhungrigen tiefen Operandenwarteschlangen vor, um Konflikte ohne Verlangsamung oder sogar einer leichten Verschnellerung zu behandeln.