英特尔内在加载函数是否从缓存或 RAM 中读取?

Does Intel intrinsics load functions read from cache or RAM?


英特尔内部函数是否加载函数,如:

  _mm256_load_**

缓存RAM读取到寄存器?

谢谢!

  1. 正如 Paul R 提到的那样,根据 当前内存状态 [=36],数据被加载 "from cache" 或 "from memory"(这本身过于简单化) =] /层次结构

  2. 考虑阅读以下完美书籍https://people.freebsd.org/~lstewart/articles/cpumemory.pdf以获得对记忆的基本(以及一些高级)理解sub-system。在继续练习之前,您最终需要学习最少的理论基础知识,尤其是在 low-level 作为内在函数时。

  3. 完成回答。有一种特殊类型的加载,它具有 提示 来绕过缓存并从内存中加载数据 "directly"。这称为 non-temporal 加载,对应的 AVX 内在函数是 _mm256_stream_load_*。这是一个非常高级的主题,我认为您不会真的在学习曲线的给定点上寻找这样的东西。