Dynamic split: Flexible border between instruction and data cache
Date
2005ISBN
0-7695-2433-8978-0-7695-2433-7
Source
Proceedings - DSD'2005: 8th Euromicro Conference on Digital System Design - Architectures, Methods and ToolsDSD'2005: 8th Euromicro Conference on Digital System Design
Volume
2005Pages
476-483Google Scholar check
Keyword(s):
Metadata
Show full item recordAbstract
Current microprocessors are optimized for the average use. Nevertheless, it is known that different applications impose different demands on the system. This work focuses on the reconfiguration of the first-level caches. In order to achieve good performance, the first-level cache is split physically into two parts, one for instruction and one for data. This separation has the benefit of avoiding interference between instructions and data. Nevertheless, this separation is strict and determined at design-time. In this work we show a cache design that is able to change the split dynamically at runtime. The proposed design was tested using simulation of a variety of benchmark applications from the MiBench suite on two baseline architectures: embedded XScale and high-end PowerPC. The results show that, while the average miss rate reduction may seem small, certain applications show a benefit larger than 90%. For miss rate reduction, the dynamic split cache seems to be more relevant for the cache with the smaller associativity (PowerPC). Lastly, the dynamic split cache was also used to reduce the energy consumption without loss of performance. This feature resulted in a significant energy reduction and the results showed that it has a bigger impact for the caches with larger associativity (42% energy reduction for the XScale and 28% for the PowerPC for a large data set size). © 2005 IEEE.