如何将预取指令用于预取指令而不是数据?
我可以在预取数据中找到大量信息/文档。我一直在GCC中使用__builtin_prefetch,我的理解是通过传递所需数据的地址,如果数据类型支持的话,它将预取包含该数据的缓存行。
但是,我似乎找不到关于如何预取指令的明确信息。例如,您是否只将指针传递给函数?如果是这样,您如何知道给定的指令有多长时间(例如,如果需要包括额外的缓存行)。如果给定功能的汇编代码涉及到某种可能不在同一缓存行中的代码的跳转,您是否只需要确定自己并显式预取潜在的附加功能/指令,就可以了?