程序空间可视性就是可以把程序空间的数据映射到RAM地址,对已经被PSV映射到RAM地址的程序空间的数据读取(注意只能读不能写)就像读RAM里的数据一样快。
用途,举一个例子,例如FIR滤波器,公式是:
y(n)=h(0)x(n) + h(1)x(n-1) + h(2)x(n-2) + ... h(N-1)x(n-N-1)
其中h(0),h(1)...h(N-1)是滤波器的系数,都是常数,那么你应该把它们放到Flash Rom里。然后执行上面的这个公式,你需要用到MAC指令,MAC的数据可以由两个地址产生器来寻址,同时寻址X和Y空间的数据,而这个X和Y空间都是对RAM的寻址。那么你需要将程序空间里的系数数组拷贝到RAM里?这不就太浪费了吗!有了PSV就简单了,直接把系数数组存在的那个程序空间映射到RAM,把两个AGU分别指向x(n)数组和PSV后的系数数组,然后N次循环MAC指令,公式就算完了。
当然PSV还可以用于其它,如楼上所提的。总而言之,他可以提高对常数读取的效率。 |