TMS320C54X DSP芯片的指系统.ppt
《TMS320C54X DSP芯片的指系统.ppt》由会员分享,可在线阅读,更多相关《TMS320C54X DSP芯片的指系统.ppt(126页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 TMS320C54X DSPTMS320C54X DSP芯片芯片的指令系统的指令系统指令的表示方法指令的表示方法寻址方式寻址方式指令系统指令系统目录3.2 3.2 指令的表示方法指令的表示方法指令的两种表示法指令的两种表示法:助记符形式助记符形式和和代数表达式代数表达式 助记符形式:助记符形式:代数表达式:代数表达式:MPY*(MPY*(volume),Bvolume),B B=T*(volume)B=T*(volume)ADD#1h,5,A,BADD#1h,5,A,B B=A+#1h5 B=A+#1hR,R为循环缓冲区长度)为循环缓冲区长度)位必须为位必须为0:n若若R=31,
2、则则N=5 n若若R=32,则则N=6n循环寻址时,首先要指定一个循环寻址时,首先要指定一个辅助辅助寄存器寄存器ARx指向循环缓冲区,并实指向循环缓冲区,并实现循环缓冲区现循环缓冲区首尾单元相邻首尾单元相邻。n循环寻址算法循环寻址算法:循环寻址举例:循环寻址举例:n(BK)=8,(AR1)=0060H,用用”*AR1+%”间接寻址间接寻址.n第第1次间接寻址后次间接寻址后,AR1指向指向0061H单元单元;n第第2次间接寻址后次间接寻址后,AR1指向指向0062H单元单元;n第第7次间接寻址后次间接寻址后,AR1指向指向0067H单元单元;n第第8次间接寻址后次间接寻址后,AR1又回到又回到0
3、060H单单元元.循环寻址举例:循环寻址举例:n(BK)=10,N=4,(AR1)=0100H,用用”*+AR1(8)%”间接寻址间接寻址:STM#10,BK LD*+AR1(8)%,A ;寻址寻址0108H单元单元 STL A,*+AR1(8)%;寻址寻址0106H单元单元位倒序寻址位倒序寻址n主要用于主要用于FFT算法。算法。n8点点FFT的位码倒序:的位码倒序:n若输入顺序:若输入顺序:X(0)、X(1)、X(2)、X(3)、X(4)、X(5)、X(6)、X(7);n则输出顺序:则输出顺序:Y(0)、Y(4)、Y(2)、Y(6)、Y(1)、Y(5)、Y(3)、Y(7).n16点点FFT的
4、位码倒序:表的位码倒序:表3.1.6位反转寻址位反转寻址n通常,在进行通常,在进行FFT算法之前,先让算法之前,先让输入数据实现位码倒置。输入数据实现位码倒置。n位倒序寻址用位倒序寻址用B表示表示,典型典型:ARx+0Bn n16点点FFT的位倒序寻址实现方法举例:的位倒序寻址实现方法举例:n n设设AR2=2060h,作为基地址,指向,作为基地址,指向X(0)的存储单元。的存储单元。n n一般:一般:AR0取取FFT长度的一半,即长度的一半,即AR0=0008hn用用*AR2+0B实现位倒序寻址:实现位倒序寻址:从左向右加从左向右加。n例如:例如:STM#8,AR0 RPT#15 MVDD*
5、AR2+0B,*AR4+;AR2:输入数据:输入数据X的首地址的首地址 ;AR4:位码倒置后输入数据:位码倒置后输入数据X的首地址的首地址n第第1次次*AR2+0B寻址寻址 ;AR2=2068h,即即X(8)n第第2次次*AR2+0B寻址寻址 ;AR2=2064h 即即X(4)n第第3次次*AR2+0B寻址寻址 ;AR2=206Dh 即即X(12)n第第4次次*AR2+0B寻址寻址 ;AR2=2062h 即即X(2)n第第5次次*AR2+0B寻址寻址 ;AR2=206ah 即即X(10)存储器映射寄存器寻址存储器映射寄存器寻址n n用途:用途:主要用于不改变主要用于不改变DP、SP的情的情况下
6、,修改况下,修改MMR中的内容。中的内容。n n特点:特点:n n寻址速度快,对寻址速度快,对MMR执行写操作开销执行写操作开销小;小;n n可直接利用可直接利用MMR的名称快速访问数据的名称快速访问数据存储空间的第存储空间的第0页资源;页资源;n n只能寻址数据空间的第只能寻址数据空间的第0页单元。页单元。n仅有仅有8条指令条指令堆栈寻址堆栈寻址n常用于中断和调用子程序过程常用于中断和调用子程序过程n“后进先出后进先出”的原则的原则n堆栈堆栈:保存保存PCPC值和保存数据参数值和保存数据参数n堆栈存放数据堆栈存放数据:从高地址向低地址增从高地址向低地址增长长,SP,SP总是指向堆栈中最后存入
7、的数总是指向堆栈中最后存入的数据单元据单元n入栈入栈:先先(SP)-1,(SP)-1,数据再入栈数据再入栈.n出栈:数据出栈,出栈:数据出栈,SP+1.SP+1.n4条指令:条指令:堆栈寻址举例堆栈寻址举例:PSHM TPSHD*AR3+;SP-1,*AR3所指单元数据入栈所指单元数据入栈POPM TPOPD*AR2 ;数据出栈,存入数据出栈,存入*AR2所指向单元,所指向单元,SP+1寻址方式举例寻址方式举例 DDAT1.set 1000H PDAT1 .set 2000H RSBX CPL LD#1234h,A ;立即数寻址立即数寻址 ST#5678h,*(DDAT1);立即数寻址和绝对地
8、址寻址立即数寻址和绝对地址寻址 LD#PDAT1,A READA2H ;立即数寻址立即数寻址,直接寻址直接寻址(DP指针指针)和和累加器寻址累加器寻址SSBX CPLST#9876h,3H ;直接寻址直接寻址(SP指针指针)RSBX CPLSTM#DDAT1,AR2ST#9876h,*AR2 ;间接寻址间接寻址MVDK 3H,DDAT1 MVKD DDAT1,1H ;直接寻址和绝对地址直接寻址和绝对地址(dmad)寻寻址址 MVDP 2H,PDAT1 ;直接寻址和绝对地址直接寻址和绝对地址(pmad)寻址寻址 STM#8888h,T ;立即数寻址和存储器映射寄存器寻址立即数寻址和存储器映射寄存
9、器寻址PSHM TPOPM T ;堆栈寻址和存储器映射寄存器寻址堆栈寻址和存储器映射寄存器寻址STM#4000h,AR0RPT#29MVPD 1000H,*AR0+;程序存储器到数据存储器程序存储器到数据存储器数据块的复制数据块的复制STM#2000H,AR2 STM#3000H,AR3 LD#0,A RPT#19MAC*AR2+,*AR3+,A STL A,*(y);完成完成20次乘累加操作次乘累加操作用循环缓冲区实现用循环缓冲区实现FIRSTM#xn+79,AR3STM#h+79,AR4STM#80,BKSTM#-1,AR0PORTR PA1,*(xn)Fir:RPTZ A,#79MAC*
10、AR3+0%,*AR4+0%,ASTH A,*(y)PORTW*(y),PA0PORTR PA1,*AR3+0%3.3 3.3 C54XC54X的指令系统的指令系统共有共有129条基本指令,包含了条基本指令,包含了6种基本类种基本类型的操作:型的操作:n数据传送指令数据传送指令n算术运算指令算术运算指令n逻辑运算指令逻辑运算指令n程序控制指令程序控制指令n并行操作指令并行操作指令n重复操作指令重复操作指令n数据传送指令数据传送指令:装载、存储、混装载、存储、混合装载存储合装载存储。n算术指令算术指令:包括加减、乘法、乘:包括加减、乘法、乘累加、乘累减、累加、乘累减、3232位操作数运算位操作数
11、运算指令以及其他一些专用指令指令以及其他一些专用指令n逻辑指令逻辑指令:包括与、或、异或、:包括与、或、异或、移位和测试指令等移位和测试指令等n程序控制指令程序控制指令:包括跳转、调:包括跳转、调用、中断、返回、重复用、中断、返回、重复n并行操作指令并行操作指令:n重复操作指令重复操作指令:3.3.1 3.3.1 数据传送指令数据传送指令n指从指从存储器存储器中将源操作数传送到目的中将源操作数传送到目的操作数所指定的存储器中。操作数所指定的存储器中。n数据传送指令包括:数据传送指令包括:n装载指令装载指令:n存储指令存储指令:n混合装载和存储指令混合装载和存储指令:装载指令装载指令装载指令n将
12、将立即数或存储器内容立即数或存储器内容赋值给赋值给目的寄目的寄存器存器。n目的寄存器主要有:目的寄存器主要有:dst、T、DP、ASM、ARP等等n典型:典型:LD Smem,dst LD#k,dstLD Smem,T LD Smem,DPLD#k5,ASM LDM MMR,dst举例:举例:n给累加器赋值:给累加器赋值:n例例1 1、2 2、4 4、6 6n注:注:SXMSXM、OVBOVB、OVMOVM等标志位的影等标志位的影响响n给其他寄存器赋值给其他寄存器赋值nDPDP、T T、ASMASM等等n长字指令长字指令:DLD DLD Lmem,dstLmem,dstn例:例:DLD*AR3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320C54X DSP芯片的指系统 DSP 芯片 系统
限制150内