gpt4 book ai didi

caching - 程序的大小如何会增加缓存未命中率?

转载 作者:行者123 更新时间:2023-12-01 23:02:57 25 4
gpt4 key购买 nike

维基百科在其循环展开文章中有以下声明:

Increased program code size, which can be undesirable, particularly for embedded applications. Can also cause an increase in instruction cache misses, which may adversely affect performance.

这是为什么?

此外,由于大量死代码而导致程序的代码大小变大,不会增加缓存未命中率,因为死代码不会被执行?

最佳答案

代码通常以整个缓存行读入缓存,这可能是 64、128 或 256 字节。如果您有一个 256 字节的缓存线,其中四分之三是死代码,那么您就没有很好地使用缓存。另一方面,如果您有一兆字节完全未使用的代码,则根本不会影响缓存效率。

一些编译器将使用软件开发人员的启发式方法或提示来找出哪些代码可能很少使用,并安排代码,以便一个缓存行完全充满已使用的代码或完全充满未使用的代码。

与死代码不同,通过循环展开而膨胀的使用代码增加缓存未命中率。

关于caching - 程序的大小如何会增加缓存未命中率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39379650/

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