我知道这可能看起来很愚蠢,但请允许我问我,因为我真的很想知道是否可能。
我知道大多数常规的x86架构都不允许您访问CPU缓存,因为它通常对处理器完全透明。 However some ARM architectures seems to be more open to the idea
据我了解,您可以读取缓存标签以获取内存地址,然后访问DRAM中的该内存地址。无法保证DRAM中的地址数据没有在缓存中被修改,但这只是一个开始。
如果我错了,也请纠正我,但是如果执行了指令或正在使用数据并且高速缓存具有可用内存,则应将其存储在高速缓存中以备将来使用。
因此,如果这是真的,您应该能够通过简单地运行那些指令和数据来“添加”指令和数据,“添加”运行程序所需的所有指令。然后运行该程序,一切都应该被缓存命中。
不过有一件事。如果您修改了缓存中的任何数据,CPU将更新DRAM,这将大大增加延迟。
所以总结我的问题