DSP寻址方式
- 格式:ppt
- 大小:390.00 KB
- 文档页数:28
《DSP原理与应用》寻址方式和指令系统三、TMS320LF240x寻址方式和指令系统3.1 寻址方式TMS320LF240x指令集采用3种基本的存储器寻址方式:立即寻址方式、直接寻址方式和间接寻址方式。
在立即寻址方式中,指令中所需要的常数作为指令的操作数直接给出。
立即寻址方式包括短立即寻址和长立即寻址。
在短立即寻址中,指令字包含一个8位、9位或13位的操作数,而长立即寻址采用16位的操作数。
当需要访问数据存储器时,用户可采用直接或间接寻址方式。
直接寻址方式将指令字的7位与数据存储器页指针(DP)的9位连接起来,形成16位数据存储器地址。
间接寻址通过8个16位辅助寄存器访问数据存储器。
3.1.1 立即寻址方式在立即寻址方式中,指令字中包含指令所需的一个常数。
对于短立即寻址,采用短立即寻址的指令将一个8位、9位或13位的常数作为操作数。
短立即寻址指令为一个单指令字,并且有一个常数嵌在该指令中。
长立即寻址的指令将一个16位常数作为操作数,从而需要两条指令字。
该常数作为第2条指令字被发送,该16位值可以是绝对常数或二进制补码。
如1:RPT #49 ;将紧跟RPT指令后的那条指令执行50次。
代码是:10111011 00110001 ;前面是RPT指令代码,后面是8位常数=49。
如2:ADD #65534,2 ;将数据65534左移两位后,再将结果加到累加器。
代码是:101111111001 0010 ;前面12位是立即寻址的ADD代码,后面是移位数。
11111111 11111110 ;是16位常数=65534=FFFEh。
3.1.2 直接寻址方式在直接寻址方式中,数据存储器地址以128为单位被分成若干块,这些块被称为数据页。
64K的数据存储器总共包含512个数据页,标号为0~511,如下表3-1所列。
当前数据页由状态寄存器ST0中的9位数据页指针(DP)值决定。
除数据页之外,处理器还必须知道该页上被访问的特定单元,这取决于7位偏移量,见表3-1。
DSP寻址方式DSP(数字信号处理器)是一种专门用于数字信号处理的微处理器,其寻址方式是指DSP芯片对于内部存储器的寻址方式。
DSP寻址方式是DSP系统中非常重要的一部分,它决定了DSP芯片如何有效地访问和处理存储在内部存储器中的数据。
1. 直接寻址方式直接寻址方式是DSP中最简单的寻址方式之一。
在直接寻址方式下,指令中给出的地址直接用于指定待访问的存储单元。
这种寻址方式适用于数据存储单元数量较少且地址连续的情况。
例如,当使用直接寻址方式时,指令可以直接指定访问DSP内部存储器中的某个特定地址,无需进行地址转换或计算。
2. 间接寻址方式间接寻址方式是另一种常用的DSP寻址方式。
在间接寻址方式下,指令中给出的地址并不直接用于指定待访问的存储单元,而是用于指定一个包含存储单元地址的寄存器。
通过间接寻址方式,可以实现更加灵活的地址访问,尤其适用于需要频繁对不同存储单元进行访问的情况。
3. 基址寻址方式基址寻址方式是一种常用的寻址方式,它结合了直接寻址方式和间接寻址方式的优点。
在基址寻址方式下,指令中给出的地址作为“基址”,并结合一个偏移量用于计算访问目标存储单元的实际地址。
通过基址寻址方式,可以实现对存储单元的相对寻址,而无需显式地指定存储单元的具体地址。
4. 变址寻址方式变址寻址方式是一种基于寄存器的寻址方式,它通过使用一个特殊的寄存器,称为“变址寄存器”来实现寻址。
变址寻址方式可以对存储单元的地址进行动态调整,从而实现对存储单元的高效访问。
通过改变变址寄存器中的值,可以改变访问目标存储单元的地址,从而灵活地处理不同的数据访问需求。
5. 直接/间接寻址方式直接/间接寻址方式是一种结合了直接寻址方式和间接寻地址方式的寻址方式。
在直接/间接寻址方式下,指令中既给出了一个直接的地址用于直接寻址,又给出了一个指示寄存器的地址用于间接寻址。
通过使用直接/间接寻址方式,可以在同时满足直接访问和间接访问需求的情况下,提高DSP系统的灵活性和效率。
第六章 DSP的寻址方式和汇编指令当硬件执行指令时,寻找指令所指定的参与运算飞操作数的方式——寻址方式。
根据程序的要求采用不同的寻址方式,可以有效地缩短程序的运行时间和提高代码执行效率。
汇编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器仲的执行部分进行各种操作。
在本章节当中将主要以基于C28x的DSP芯片为例,为读者讲解DSP的寻址方式和汇编指令系统,其中大部分内容也可适用于其他Ti公司的DSP产品。
6.1汇编语言指令集概述在学习C28x系列DSP的寻址方式和汇编指令指令之前,先来对一些基础的知识进行讲解一下先,在汇编程序当中开发人员会常常使用到许多的特殊符号和标志,它们都具有特殊的含义,在学习汇编之前读者们必须先理解这些符号和标志含义,在这里会对其中最常用最重要的操作数符号和寄存器经行详细说明。
在进行汇编讲解之前先来了解一下开发的核心——CPU。
在TMS320C2000系列中,CPU 内核为:C20x/C24x/C240x:C2xLP:C27x/C28x:C27x、C28x这些CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLPCPU具有最佳兼容性。
可通过状寄存器STl的位OBJMODE和位AMODE的组合,选定模式。
C28x芯片具有3种操作模式:1.C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。
2.C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。
在该模式下,目标码与C27xCPU完全兼容,且它的循环—计数也与C27xCPU兼容。
3.C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。
在下面的讲解当中会牵涉到模式的转换,希望读者要搞清楚每一个模式的对应关系。
实验二基本指令及寻址方式DSP的最大优势在于数据处理,所以DSP数据处理指令非常多,包括算术指令、逻辑指令或数据加载与传送指令。
并且与常规处理器相比,DSP还针对某些具体应用专门填加了一些处理指令,以方便和加快数据处理速度。
1.实验目的:(1)学习DSP指令的使用(2)学习并掌握DSP的基本寻址方式2.实验器材仿真器,DEMO板3.实验内容编写程序实现数据的算术运算4.DSP寻址方式(1)立即数寻址这种寻址方式最简单,立即数包含在指令中。
立即数包括短立即数和长立即数;短立即数为3、5、8、9Bit;长立即数为16位。
立即数包含在单字节和双字节指令中,短立即数为3、5、8、9Bit包含在单字节指令中,16-Bit指令包含在双字节指令中。
例1:RPT #99;将下一条指令执行100次(短立即数寻址)nop;Sacl data1;Dp .set 214RPT #dpADD #16384,2;将16384左移2位后加到累加器(ACC:32)中(长立即数寻址)(2)直接寻址、在直接寻址中,指令代码包含了数据存储器地址的低7位。
这7-bit位作为偏移地址与数据页指针相结合共同形成16-bit数据存储器实际地址。
如下图所示。
例30页0000-007FH1页0080-00FFH2页0100-017FH3页0180-01FFH4页0200-027FH5页0280-02FFH511页FF80-FFFFH.dataData_DP:Var0 .word 3 0200:3Var1 .word 2 0201:2Var2 .word 1 0202:1Result .word 0 0203:0.textLDP #Data_DPSUM0: LACC Var1 ACC=2LACC 2 ACC=1LACC #Var1 ACC=0201H(3) 间接寻址我们可以使用系统提供的8个辅助寄存器AR0~AR7实现灵活的间接寻址,通过间接寻址方式可以寻址数据存储器的64K 中任何一个寄存器单元。