Jump to content

Data memory-dependent prefetcher

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by The Anome (talk | contribs) at 17:02, 21 March 2024 (extra sentence). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A data memory-dependent prefetcher (DMP) is a memory prefetcher that looks at cache memory content for possible pointer values, and prefetches the data at those locations into cache if it sees memory access patterns that suggest following those pointers would be useful.[1][2]

The DMP in Apple's M1 computer architecture was demonstrated to be capable of being used as a memory side-channel in work first reported in 2024.[3] As of the time of its announcement, no practical attacks using the side-channel were yet known to exist.[1]

Some Intel Core CPUs feature what Intel calls "Data Dependent Prefetcher" functionality which appears to be similar, but Intel states that they have features to prevent them being used for side-channel attacks.[4]

References

  1. ^ a b "Augury". www.prefetchers.info. 2022-05-02. Retrieved 2024-03-21.
  2. ^ Vicarte, Jose Rodrigo Sanchez; Flanders, Michael; Paccagnella, Riccardo; Garrett-Grossman, Grant; Morrison, Adam; Fletcher, Christopher W.; Kohlbrenner, David (2022-05). "Augury: Using Data Memory-Dependent Prefetchers to Leak Data at Rest". IEEE: 1491–1505. doi:10.1109/SP46214.2022.9833570. ISBN 978-1-6654-1316-9. {{cite journal}}: Check date values in: |date= (help); Cite journal requires |journal= (help)
  3. ^ Goodin, Dan (2024-03-21). "Unpatchable vulnerability in Apple chip leaks secret encryption keys". Ars Technica. Retrieved 2024-03-21.
  4. ^ "Data Dependent Prefetcher". Intel. Retrieved 2024-03-21.