Cryptology ePrint Archive: Report 2015/690

Systematic Reverse Engineering of Cache Slice Selection in Intel Processors

Gorka Irazoqui and 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.

Category / Keywords: applications / Cache slices, Intel, last level cache, Prime and Probe

Original Publication (in the same form): 18th EUROMICRO Conference on Digital System Design 2015

Date: received 9 Jul 2015

Contact author: teisenbarth at wpi edu

Available format(s): PDF | BibTeX Citation

Note: Accepted at 18th EUROMICRO Conference on Digital System Design 2015

Version: 20150713:075556 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]