为了深入剖析我的
STM32F7508-DK 设备的缓存行为,我苦苦挣扎了一段时间。
特别是,当访问连接到 FMC 的 SDRAM 时,性能行为很奇怪
(有些代码比其他代码好得多,而代码在语义上看起来是等价的——即使考虑到体系结构组件)。
挖掘了一段时间后,我发现证据表明硬件预取器可能是罪魁祸首。
我可以通过将内存属性更改为强顺序来关闭预取器。然而,从同一个文档看来,使内存强排序也会关闭缓存(表 4)。
我真的只想在保持缓存打开的同时关闭预取器。有谁知道这是否可能?
也许在这一点上,这更像是我的痴迷而不是富有成效的探索,但我想确认预取器是我预期的罪魁祸首......