Block coherence operations have similar functionality as the global coherence operation; however, they apply only to a defined block of code. The MFENCE instruction is new to the C66x DSP. It stalls the DSP until all outstandingmemory operations complete.
Shine:
mfence指令确保前一条对内存操作的指令完成后才继续向下执行,在这里保证Cache操作完成后才执行以后的指令,防止错误的操作。
user1534243:
回复 Shine:
谢谢,block coherence是什么做什么的
Ryan BL:
回复 user1534243:
就是对一块指令空间进行一致性操作呀:
块定义为:起始 + 长度,L1p只有无效操作,L1D还有回写操作;
一个典型的动态修改块指令的步骤是:
*按数据执行CPU写操作,(c66额外插入MEFNCE确保写完成),回写对于¥块¥数据cache,对应cache¥块¥无效(从新从内存加载修改后的指令);
上面的步骤中的块操作做也可以全部或部门用global的方式代替,不过会影响执行效率。
user1534243:
回复 Ryan BL:
谢谢