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)
PDF
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
Creative Commons Attribution
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},
      note = {\url{https://eprint.iacr.org/2015/690}},
      url = {https://eprint.iacr.org/2015/690}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.