gpt4 book ai didi

c - 将 C/C++ 变量存储在处理器缓存中而不是系统内存中

转载 作者:太空狗 更新时间:2023-10-29 17:16:11 25 4
gpt4 key购买 nike

在运行 Linux 的英特尔 x86 平台上,在 C/C++ 中,我如何告诉操作系统和硬件将值(例如 uint32)存储在 L1/L2 缓存中,而不是系统内存中?例如,假设出于安全或性能原因,我不想在 DRAM 中存储 32 位 key (32 位 unsigned int),而是我只想将它存储在处理器的缓存中。我怎样才能做到这一点?我在 Intel Xeon 处理器上使用 Fedora 16(Linux 3.1 和 gcc 4.6.2)。

非常感谢您的帮助!

最佳答案

我认为您无法强制将变量存储在处理器的缓存中,但您可以使用 register 关键字向编译器建议应将给定变量分配到一个 CPU 寄存器,声明如下:

register int i;

关于c - 将 C/C++ 变量存储在处理器缓存中而不是系统内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9300218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com