首页 理论教育 数据存储器控制技巧

数据存储器控制技巧

时间:2023-06-19 理论教育 版权反馈
【摘要】:dsPIC33F的数据存储空间由两个16位的数据区组成,分别是X、Y数据空间。数据存储器0x0000~0x07FF之间的地址空间为保留空间,用于器件的特殊功能寄存器,包含了CPU和器件上所有外设的控制和状态位。数据存储空间的分布如图1-6所示。可通过所有文件寄存器指令中的13位绝对地址字段直接对Near数据存储器寻址。Near数据存储区域至少将包含所有SFR和某些X数据存储器。

数据存储器控制技巧

dsPIC33F的数据存储空间由两个16位的数据区组成,分别是X、Y数据空间。数据存储器0x0000~0x07FF之间的地址空间为保留空间,用于器件的特殊功能寄存器(SFR),包含了CPU和器件上所有外设的控制和状态位。X、Y数据空间从地址0x0800开始,其空间划分视不同器件而定。对于数据写操作,总是将X、Y数据空间作为一个线性数据空间访问。对于数据读操作,可以分别单独访问X、Y存储器空间或将它们作为一个线性空间访问。用MCU类指令进行的数据读操作总是将X、Y数据空间作为一个组合的数据空间访问。而DSP指令通常具有两个源操作数(如MAC指令),可分别单独访问X、Y数据空间以支持同时对这两个源操作数进行读操作。这样MCU指令可以使用任何工作寄存器作为地址指针进行读/写操作,而DSP指令可以同时预取指两个数据操作数,将数据存储器分割为两个空间,必须使用指定的W寄存器作为读操作的地址指针。数据存储空间的分布如图1-6所示。

978-7-111-36505-1-Chapter01-6.jpg

图1-6 数据存储空间的分布(www.xing528.com)

在数据存储空间的0x0000~0x1FFF之间保留了一个8KB的地址空间(称为Near数据存储器)。可通过所有文件寄存器指令中的13位绝对地址字段直接对Near数据存储器寻址。Near数据区域中所包含的存储器区域由各个不同器件所实现的数据存储器的数量决定。Near数据存储区域至少将包含所有SFR和某些X数据存储器。对于具备较大数据存储空间的器件,Near数据区域可能包括所有X存储空间和部分(或全部)Y存储空间。

为提高DSP算法中反复循环代码的效率,dsPIC33F提供了循环寻址功能,该功能使用硬件自动支持循环数据缓冲区的方法,不需要用软件执行数据地址边界检查。除W15以外的任何工作寄存器都可以作为指向模缓冲区的指针,模寻址的硬件在所选工作寄存器保存的地址上执行边界检查,并在需要时自动调整指向缓冲区边界的指针值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈