Paper 2015/690
Systematic Reverse Engineering of Cache Slice Selection in Intel Processors
Gorka Irazoqui, Thomas Eisenbarth, and Berk Sunar
Abstract
Dividing last level caches into slices is a popular method to prevent memory accesses from becoming a bottleneck on modern multicore processors. In order to assess and understand the benefits of cache slicing in detail, a precise knowledge of implementation details such as the slice selection algorithm are of high importance. However, slice selection methods are mostly unstudied, and processor manufacturers choose not to publish their designs, nor their design rationale. In this paper, we present a tool that allows to recover the slice selection algorithm for Intel processors. The tool uses cache access information to derive equations that allow the reconstruction of the applied slice selection algorithm. Thereby, the tool provides essential information for performing last level cache attacks and enables further exploration of the behavior of modern caches. The tool is successfully applied to a range of Intel CPUs with different slices and architectures. Results show that slice selection algorithms have become more complex over time by involving an increasing number of bits of the physical address. We also demonstrate that among the most recent processors, the slice selection algorithm depends on the number of CPU cores rather than the processor model.
Note: Accepted at 18th EUROMICRO Conference on Digital System Design 2015
Metadata
- Available format(s)
- Category
- Applications
- Publication info
- Published elsewhere. 18th EUROMICRO Conference on Digital System Design 2015
- Keywords
- Cache slicesIntellast level cachePrime and Probe
- Contact author(s)
- teisenbarth @ wpi edu
- History
- 2015-07-13: received
- Short URL
- https://ia.cr/2015/690
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2015/690, author = {Gorka Irazoqui and Thomas Eisenbarth and Berk Sunar}, title = {Systematic Reverse Engineering of Cache Slice Selection in Intel Processors}, howpublished = {Cryptology {ePrint} Archive, Paper 2015/690}, year = {2015}, url = {https://eprint.iacr.org/2015/690} }