Caching 有没有办法强制变量在x86(/_64)中保持高速缓存?
使用Blackfin处理器,我可以在gcc中声明一个具有“l1_数据”属性的变量,该变量将保留在l1数据SRAM中。在x86或x86_64上有这样做的方法吗?没有。允许这样的事情是没有意义的,原因有三:Caching 有没有办法强制变量在x86(/_64)中保持高速缓存?,caching,x86,x86-64,Caching,X86,X86 64,使用Blackfin处理器,我可以在gcc中声明一个具有“l1_数据”属性的变量,该变量将保留在l1数据SRAM中。在x86或x86_64上有这样做的方法吗?没有。允许这样的事情是没有意义的,原因有三: 考虑到现代x86的二级/三级缓存的大小(和关联性),一个有意义的变量很可能大部分都留在缓存中 允许这样的选项将使缓存结构更加复杂(因为它必须支持“固定”内存) 它与线程之间的交互不好。如果线程发生更改,会发生什么情况,这或多或少会导致缓存刷新。如果变量保留在缓存中,这将允许一个程序完全阻止缓存,