可能是因为缓存,因为内存需要从DRAM中获取并在第一次在CPU的数据缓存中分配。这比在CPU缓存中遇到的负载多得多(多)延迟。
然后,当您的指令在管道中时,它们遵循相同的分支,因为它是来自相同内存源的指令,因为它不需要被无效,因为它是相同的指针。
如果您实现具有或多或少相同功能的4个方法然后在它们之间交换以查看发生的情况,那将会很有趣。