Systematic Reverse Engineering of Cache Slice Selection in Intel Processors

Thomas Eisenbarth, Gorka Irazoqui, 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 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.
Original languageEnglish
Title of host publication2015 Euromicro Conference on Digital System Design
Number of pages8
PublisherIEEE
Publication date26.10.2015
Pages629-636
ISBN (Print)978-1-4673-8034-8
ISBN (Electronic)978-1-4673-8035-5
DOIs
Publication statusPublished - 26.10.2015
Event2015 Euromicro Conference on Digital System Design - Funchal, Portugal
Duration: 26.08.201528.08.2015

Fingerprint

Dive into the research topics of 'Systematic Reverse Engineering of Cache Slice Selection in Intel Processors'. Together they form a unique fingerprint.

Cite this