[信息与通信]TMS320C54X DSP芯片的指令系统.ppt
《[信息与通信]TMS320C54X DSP芯片的指令系统.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]TMS320C54X DSP芯片的指令系统.ppt(126页珍藏版)》请在三一办公上搜索。
1、第三章 TMS320C54X DSP芯片的指令系统,指令的表示方法寻址方式指令系统,目录,3.2 指令的表示方法,指令的两种表示法:助记符形式和代数表达式 助记符形式:代数表达式:MPY*(volume),B B=T*(volume)ADD#1h,5,A,B B=A+#1h5语句格式:由操作码和操作数组成标号:指令操作数列表;注释,编写程序一般规则(P138),所有语句必须以标号、空格、星号或分号开始;所有包含汇编伪指令的语句必须在一行完全指定;可以选择带有标号,若使用标号,则标号必须从第一列开始,但指令域一定不能从第1列开始;,程序中可以有注释:注释开始在第一列时,前面需标上星号或分号;但在
2、其他列开始的注释前面只能标上分号。操作数域:立即数,寄存器,程序空间地址,数据空间地址或I/O地址。立即数:#为前缀,间接寻址:*为前缀。,汇编语言源程序举例,*example.asm*.title“example.asm”.mmregsSTACK.usect“STACK”,10H.bss a,4.bss x,4.bss y,1,汇编语言源程序举例,.def start.datatable:.word 1,2,3,4.word 8,6,4,2.textstart:STM#0,SWWSR STM#STACK+10H,SP STM#a,AR1 RPT#7 MVPD table,*AR1+,CALL
3、 SUMend:B endSUM:STM#a,AR3 STM#x,AR4 RPTZ A,#3 MAC*AR3+,*AR4+,A STL A,y RET.end,3.2.1 指令系统中的符号,符号与缩写P82页:表3.2.1如:MVPD pmad,Smem MPY Xmem,Ymem,dst程序存储器操作数(存储器地址):Pmad,extpmad,Pmem数据存储器操作数:dmad,Dmem,Smem,Sind,Xmem,Ymem,Lmem(32位),累加器:Src,dst,dst_,A,B移位值:ASM,TS,SHFT,SHIFT立即数:K,k3,k5,k9,lk运算符及其优先级,表3.2.2
4、,3.1 寻址方式,两种:数据寻址和程序寻址数据寻址(7种基本方式)立即数寻址绝对地址寻址累加器寻址直接寻址间接寻址存储器映射寄存器寻址堆栈寻址表3.1.1:,程序寻址程序存储器:存放程序代码,系数表和立即数程序地址生成器(PAGEN)产生地址,再加载到PAB总线P47-48,数据寻址(立即数寻址),立即数寻址(K,k3,k5,k9,lk)短立即数:3,5,8,9位(单字指令中)长立即数:16位(双字指令中),立即数:#前缀LD#80h,ARPT#99;单字指令RPT#7DFFH;双字指令,数据寻址(绝对地址寻址),指令中包含16位地址,寻址存储单元;至少为双字长指令,有四种类型:数据存储器地
5、址(dmad)寻址操作数存放于数据存储单元,确定该单元地址,主要指令:MVDK Smem,dmad;dmad=Smem MVDM dmad,MMR MVKD dmad,Smem MVMD MMR,dmad,例:MVDM 2000H,T RPT#19;数据块的复制 MVMD AR2,SAMPLE;SAMPLE为常数表示;的地址 MVKD 0200H,*AR2+,程序存储器地址(pmad)寻址确定程序存储器中的一个地址主要指令:FIRS Xmem,Ymem,pmad MACD Smem,pmad,src MACP Smem,pmad,src MVDP Smem,pmad MVPD pmad,Sme
6、m,例:MVPD TABLE,*AR7-MACP*AR3-,COEFFS,A,数据寻址(绝对地址寻址),端口地址(PA)寻址(符号或常数)确定外部I/O端口的地址主要指令:PORTR PA,Smem PORTW Smem,PA例:PORTR FIFO,*AR5 PORTW*AR1+,FIFO1,*(lk)寻址用符号或常数指明数据存储器中的一个地址不能与循环指令(RPT,RPTZ)一起使用!例:STL A,*(y)STH A,*(y1)LD*(PN),A,数据寻址举例(1),x.set 2000h portr 20h,*(x)stm#x,ar1 ld#100,b macp*ar1,100h,b,
7、累加器寻址,对存放数据的程序存储器寻址将累加器的内容作为地址(16位或23位)去访问程序存储器单元仅两条指令:WRITA和READA循环执行,可实现数据块的传送。,READA Smem将累加器A所确定的程序存储器单元中的值传送到数据存储单元。如:若A=00 0000 0100h,AR1=0200h,执行下列指令:READA*AR1,WRITA Smem将Smem所确定的数据存储单元中的值传送到累加器A所确定的程序存储器单元。如:STM#0300H,AR2 LD#18000H,A WRITA*AR2,直接寻址,由基地址(DP或SP提供)和低7位偏移地址(指令中提供)共同构成16位数据存储器地址。
8、64K的数据空间:分成512页,每页128个单元DP取值范围:05117位偏移地址范围:0127不改变基地址,可寻址连续的128个单元DP复位值为0,直接寻址,直接寻址指令代码的格式图3.1.1优点:单字指令基地址由DP还是SP提供?由CPL(ST1中)标志位的值决定CPL=0:基地址由DP(9位)提供CPL=1:基地址由SP(16位)提供,16位数据地址的形成过程:CPL=0时,9位DP值为高位,指令中7位偏移值为低位,构成16位数据存储器地址。CPL=1时,16位SP的值与指令中7位偏移值相加,形成16位数据存储器地址。,16位数据地址的形成过程,直接寻址举例(1),基地址由DP提供:ld
9、#4,dp;页指针指向数据M第4页,;片内数据区DARAMst#1,1st#2,2 st#3,3 st#4,4,直接寻址举例(2),基地址由SP提供:STM#4000H,SP SSBX CPL ST#9876h,3,直接寻址举例(3),.bss x,1.LD#x,DP ST#1000H,x ST#2000H,x+1 ST#3000H,x+2,数据寻址举例(2),y.set 007ah ld#40h,dp st#1111h,*(y)mvkd 7ah,7ah,易混淆的问题!,LD#40H,DP STL A,60H;60H:数据存储器2060H单元 STM#2000H,AR1 MVDK*AR1,60
10、H;60H:数据存储器0060H单元 MVDP*AR1,60H;60H:程序存储器0060H单元,间接寻址,按照辅助寄存器中的地址访问数据存储单元;8个辅助寄存器(16位):AR0AR7;非常灵活:方便访问连续的存储器块(递增,递减,变址等);两个辅助寄存器算术单元ARAU0和ARAU1;,间接寻址,单操作数间接寻址:一条指令中访问一个数据存储器单元寻址灵活,4位方式域定义单操作数间接寻址类型,表3.1.5两种特殊的寻址:循环寻址和位倒序寻址方式如:AR2=1000H ST#1000H,*AR2,间接寻址,间接寻址,说明:,*ARx+与*+ARx的区别*ARx+,*ARx-的增减量:16位字:
11、增/减量为132位字:增/减量为2*ARx-0B0:AR0B:位反转寻址的标志,说明:,*ARx-0%:循环寻址的标志*ARx(lk)与*+ARx(lk)的区别,双操作数间接寻址,一条指令中同时访问两个数据存储器单元。完成执行2次读操作或1次读和1次并行存储操作。仅两个二进制位(Xar和Yar)用于选择辅助寄存器。只能用4个辅助寄存器:AR2AR5,2位方式域(Xmod和Ymod)定义双操作数间接寻址类型:表3.1.9仅4种类型例如:MAC Xmem,Ymem,src,dst MAC*AR2+,*AR3+,A,间接寻址举例:,STM#2000h,AR2ST#1234h,*AR2STM#2010
12、h,AR3 ST#5678h,*AR3,STM#4000h,AR2STM#-1,AR0MVPD 2000H,*AR2+;MVPD 2000H,*+AR2;MVPD 2000H,*AR2+0;MVPD 2000H,*+AR2(1000h);MVPD 2000H,*AR2(1000h),循环寻址,循环缓冲区:卷积,自相关,FIR滤波器等算法中常用。例如:N=7的FIR滤波器的循环缓冲区,例:FIR滤波器,COEF,MACD*AR2-,COEF,A,ar2,循环寻址是实现循环缓冲区的关键。用%表示循环寻址:ARx+%、ARx-%ARx+0%、ARx-0%参数:长度寄存器BK,有效基地址EFB,尾基地
13、址EOB,循环寻址,循环缓冲区的起始地址最低N(NR,R为循环缓冲区长度)位必须为0:若R=31,则N=5 若R=32,则N=6循环寻址时,首先要指定一个辅助寄存器ARx指向循环缓冲区,并实现循环缓冲区首尾单元相邻。,循环寻址算法:,循环寻址举例:,(BK)=8,(AR1)=0060H,用”*AR1+%”间接寻址.第1次间接寻址后,AR1指向0061H单元;第2次间接寻址后,AR1指向0062H单元;第7次间接寻址后,AR1指向0067H单元;第8次间接寻址后,AR1又回到0060H单元.,循环寻址举例:,(BK)=10,N=4,(AR1)=0100H,用”*+AR1(8)%”间接寻址:STM
14、#10,BK LD*+AR1(8)%,A;寻址0108H单元 STL A,*+AR1(8)%;寻址0106H单元,位倒序寻址,主要用于FFT算法。8点FFT的位码倒序:若输入顺序:X(0)、X(1)、X(2)、X(3)、X(4)、X(5)、X(6)、X(7);则输出顺序:Y(0)、Y(4)、Y(2)、Y(6)、Y(1)、Y(5)、Y(3)、Y(7).16点FFT的位码倒序:表3.1.6,位反转寻址,通常,在进行FFT算法之前,先让输入数据实现位码倒置。位倒序寻址用B表示,典型:ARx+0B,16点FFT的位倒序寻址实现方法举例:设AR2=2060h,作为基地址,指向X(0)的存储单元。一般:A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息与通信 信息与通信TMS320C54X DSP芯片的指令系统 信息 通信 TMS320C54X DSP 芯片 指令系统
链接地址:https://www.31ppt.com/p-5614885.html