Towards Reconfigurable Cache Memory for a Multithreaded Processor

Recently reconfigurable devices such as FPGA have improved performance (gate speed and the number of gates) and reconfiguration time. Today, a reconfigurable device can integrate a largescale processor and complex hard-wired logic. System designers found that they need a highperformance processor for their reconfigurable device based systems. To improve processor performance, a multithreaded architecture has been introduced; however, performance decreases drastically because of cache misses for shared cache among threads. Moreover, each program that a multithread processor executes may have very different cache access pattern, so that cache optimization for a multithread processor becomes much more complex compared to conventional superscalar processors. In this paper, we propose a new cache design which reconfigures cache configuration for each program on reconfigurable device. We found out optimal configuration for each program from designed cache configurations, and estimated improvement rate of reconfigurable cache. The result shows performance gains of 15.12% higher than fixed cache design.

[1]  G. Edward Suh,et al.  Dynamic Partitioning of Shared Cache Memory , 2004, The Journal of Supercomputing.

[2]  Kiyofumi Tanaka Fast context switching by hierarchical task allocation and reconfigurable cache , 2003, Innovative Architecture for Future Generation High-Performance Processors and Systems, 2003.

[3]  D. Marr,et al.  Hyper-Threading Technology Architecture and MIcroarchitecture , 2002 .

[4]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.

[5]  Hironori Nakajo,et al.  A New Model of Reconfigurable Cache for an SMT Processor and its FPGA Implementation , 2005, PDPTA.

[6]  Hironori Nakajo,et al.  Implementation and Evaluation of a Thread Library for Multithreaded Architecture , 2003, PDPTA.

[7]  Norman P. Jouppi,et al.  Reconfigurable caches and their application to media processing , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[8]  Arun K. Somani,et al.  A reconfigurable multi-function computing cache architecture , 2000, FPGA '00.

[9]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[10]  Dean M. Tullsen,et al.  Simultaneous multithreading: Maximizing on-chip parallelism , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.