Birner, M. (2011). SPEAR2C : implementation of a cache controller for SPEAR2 [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-59473
Within the past 20 years the speed of processors has grown much faster than that of memories. To bridge the resulting performance gap, caching has been introduced. This thesis describes the completely redesigned memory layer for the SPEAR2 core which serves as basis for the integration of an appropriate cache controller. SPEAR2 (Scalable Processor for Embedded Applications in Real-time Enviroments) is a RISC microprocessor architecture that was developed at the Department of Computer Engineering at the Vienna University of Technology. Thanks to its real time capability and its modular structure, this processor is especially suited to be used in embedded systems. In order to expand the application area of the processor and to use the full address space provided by the architecture, the SPEAR2 core must be equipped with additional storage capacity, i.e., data and instruction memory need to be displaced into an external RAM module. The benefit of this approach comes at the cost of a performance degradation as the SPEAR2 pipeline suffers from additional wait states caused by the increased latency resulting from external memory accesses. The implementation of an adequate cache controller therefore seems to be obligatory. After providing a detailed theoretical background concerning the fundamental aspects of caching together with more sophisticated techniques, this master thesis proceeds with simulations in order to find an appropriate caching strategy under given constraints. The reader will be introduced to SPEAR2SIM, a novel simulation environment for the SPEAR2 instruction set architecture that allows an efficient performance assessment of different caching strategies from which three candidates are selected. Their simulation results will be compared against the results of an experi- mental study in VHDL in order to be able to select the best adapted caching policy for a given application. Furthermore, practical problems and challenges of designing an efficient cache controller for the given architecture will be pointed out. As a result of this thesis, a novel prototype of the SPEAR2 processor with a new memory layer that can be equipped with three different cache controllers (direct mapped, fully associative and two-way set associative) is available.
en
Innerhalb der letzten 20 Jahre stieg die Performance von Prozessoren um ein vielfaches schneller als jene von Speichermodulen. Um diesen enormen Leistungsunterschied zu überbrücken, began man Prozessoren mit Cache Controllern auszustatten. Diese Diplomarbeit beschreibt die komplette Neugestaltung des Memory Layers der SPEAR2 Architektur, welche als Basis für eine anschliesende Implementierung verschiedener Cache Controller dient.<br />SPEAR2 ({S}calable {P}rocessor for {E}mbedded {A}pplications in {R}eal-time Enviroments) ist ein RISC Mikroprozessor der auf dem Department of Computer Engineering an der Technischen Universität von Wien entwickelt wurde. Dank seiner Echtzeitfähigkeit und seiner modularen Struktur ist SPEAR} besonders gut für den Einsatz in Embedded Systems geeignet.<br />Um das Anwedungsgebiet jedoch zu erweitern ist es notwendig die derzeit vorhandene Architektur mit mehr Speicherplatz auszustatten. Dies kann nur geschehen indem Daten- und Instruktions-Speicher aus dem FPGA in ein externes Speichermodul ausgelagert werden. Der Vorteil einer höheren Speicherkapazität kommt jedoch zum Preis einer enormen Leistungsverschlechterung da diese Auslagerung zu einer höheren Latenzzeit aller Speicheroperationen zur Folge hat. Die Implementierung eines Cache Controllers ist demnach unausweichlich.<br />Nach einer Aufarbeitung der wichtigsten grundlegenden Aspekte bezüglich Caching sowie einiger fortgeschrittener Techniken wird der Fokus dieser Diplomarbeit zuerst auf Simulationen von verschiedenen Caching Strategien liegen. In diesem Sinne wird SPEAR2SIM vorgestellt, ein neuer SPEAR2 ISA Simulator, der es auf eine effiziente Art und Weise ermöglicht für ein gegebenes Programm die am besten passende Caching Strategie zu finden. Diese Simulationsergebnisse werden anschliesend mit den Ergebnissen einer Studie in Hardware verglichen, die darauf abzieht für vielversprechende Cache Controller die entsprechenden Hardwareanforderungen zu bestimmen. Als Resultat dieser Diplomarbeit existiert ein neuer Prototyp des SPEAR2 Prozessors welcher mit drei verschiedenen Cache Controllern (direct mapped, fully associative und two-way set associative) ausgestattet werden kann.<br />