在使用GD32W515 跑最高时钟频率180Mz加入算法代码后,跑完算法运行时间比之前用其他芯片长。查询资料这个颗芯片有ICache的功能,支持缓存命中时取指零等待;
指令缓存(ICACHE) 是由 Cortex-M33 内核的 C-AHB 代码总线引入的,用以提升从内部和外部存储介质读取指令和数据时的性能,结构图如下:
ICACHE 初始化
寄存器 ICACHE_CTL 的位 EN 置 1 时, ICACHE 在相同时钟周期内被使能。如果 ICACHE 被失能,即意味着 ICACHE 被忽略, ICACHE 在启动时的默认状态是失能。当硬件复位信号释放,缓存失效操作自动发生, 每个 TAG 有效位置 0, INVAL 位自动被清除,ICAHCE_STAT 寄存器的 BUSY 标志被置位。当该步骤完成时, 所有的缓存线有效位被清零,BUSY 标志被清除并且 END 标志被置位。为了确保其性能, 在使能 ICACHE 前, 有必要检查缓存失效操作是否完成。在使能 ICACHE之前, 软件必须检测 BUSY 和 END 标志, 此外