第3章指令系统.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统
- 资源描述:
-
第三章:,TMS320C54x,指令系统,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,D S P,技 术 及 应 用,第三章:,TMS320C54x,指令系统,7,种寻址方式,4,种基本类型的汇编语言指令。,第三章:,TMS320C54x,指令系统,教学要求:,C54x DSP,的指令系统包括汇编语言指令、汇编伪指令、宏指令,本章主要介绍,C54x,的,7,种寻址方式和,汇编语言指令,其他指令将在第,4,章介绍。,了解汇编源程序的书写格式,掌握常见的,7,种寻址方式,尤其是间接寻址方式。,掌握算术运算、逻辑运算、程序控制、存储和装入,4,种基本类型的汇编语言指令。,第三章:,C54x,指令系统,_,3.1,汇编源程序格式,C54x,汇编语言语句,格式如下(,4,个部分),:,标号,:,指令,操作数列表,;注释,begin,:,LD#40,,,AR1,;将立即数,40,传送给,ARl,其中,:,(1),标号,供本程序的其他部分或其他程序调用。,标号一般为可选项,若使用则必须从源语句的第一列开始;一个标号允许最多有,32,个字符(字母、数字等,不能用数字开头),大小写敏感;标号后可跟一个“:”,也可不跟。,如果不用标号,则第一列上必须是空格、分号或星号。,(2),指令域,包括以下指令码之一:,助记符指令,(,如,STM,,,MAC,,,MPVD,,,STL),;,汇编伪指令,(,如,.data,,,.list,,,.set),;,宏指令,(,如,.macro,,,.,var,,,.,mexit,),;,宏调用。,注:作为助记符指令,一般用大写;汇编伪指令和宏指令,以句点“,.”,开始,且为小写。,第三章:,C54x,指令系统,_,3.1,汇编源程序格式,(3),操作数,可以是常量、符号,或是常量和符号的混合表达式,操作数之间用逗号分开。,汇编器允许在操作数前使用,前缀,来指定操作数,(,常数、符号或表达式,),是地址还是立即数或间接地址。,前缀的使用规则如下:,前缀,#,表示其后的操作数为立即数。,例如:,Label,:,ADD#123,,,A,;,第三章:,C54x,指令系统,_,3.1,汇编源程序格式,前缀*,表示其后的操作数为间接地址。,例如:,Label,:,LD *AR4,,,A,;,以,AR4,的内容为地址,将该地址的内容装入累加器,A,前缀,表示其后的操作数是采用直接寻址或绝对寻址的地址。,例如:,ADD#10,XYZ,(4),注释,可以从一行的任一列开始直到行尾。,任一,ASCII,码,(,包括空格,),都可以组成注释。,如果注释从第一列开始,用“;”号或“*”号开头。,第三章:,C54x,指令系统,_,3.2,指令集符号与意义,TMS320C54x,的指令系统符号和意义见,表,3,-,1,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,寻址方式:,指当,CPU,执行指令时,寻找指令所指定的参与运算的操作数的方法。,作用:,可以根据程序要求采用不同的寻址方式,以提高程序的速度和代码效率。不同的寻址方式为编程提供了极大的柔性编程操作空间,,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,C54,共有,7,种,基本寻址方式,立即寻址,绝对寻址,累加器寻址,直接寻址,间接寻址,存储器映像寄存器寻址,堆栈寻址,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,1.,立即寻址,含义,:指令中已包含有执行指令所需的操作数;,用途,:主要用于,R,或,M,的初始化;,说明,:,在数值或符号前加,#,表示立即数;,立即数有两种形式,:,3,、,5,、,8,、,9,位短立即数;,16,位长立即数,例如:,LD#10,A;,立即数,10,A,累加器,RPT#99,;将紧跟在后面的语句重复,99+1,次,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,2.,绝对寻址,含义,:指令中包含所需寻址的,M,单元地址或,I/O,端口地址;,用途,:利用,16,位地址寻址,M,或,I/O,说明,:绝对寻址的四种类型,数据存储器寻址:程序标号,or,数据,表示数据,M,地址,如:,MVKD DATA,,,*,AR5,;,(,DATA,),(AR5),第三章:,C54x,指令系统,_,3.3,寻,址,方,式,程序存储器寻址:,如:,MVPD TABLE,,,*,AR7-,;,(,TABLE,),(AR7)and AR7=AR7-1,I/O,端口寻址(,2,条),如:,PORTR FIFO,,,*,AR5,;,从端口,FIFO,读数据,(,AR5,),PORTW*AR2,,,BOFO,;,将(,AR2,),BOFO,端口,*,(,lk,),寻址:用一个符号或常数确定一个,数据,M,地址,如:,LD *(BUFFER),A;,(,BUFFER,),A,注:适用于支持单数据存储器操作数(,Smem,)的指令,访问数据空间的任意单 元而不改变,DP,的值,不用对,AR,初始化,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,3.,累加器寻址,含义,:用,累加器的数据作为地址,来,读写,程序,存储器,;,用途,:累加器对存放数据的程序存储器寻址;,说明,:,累加器内容的低,16,位作为程序存储器的地 址;,仅有两条指令用该寻址方式:,READA,;,WRITA,;,如:,READA,Smem,;,以,A,中的数为地址,从,PM,中读一个数,由,Smem,所指的,DM,中,WRITA,Smem,;,Smem,所指的,DM,中的数,以,A,中的数为地址的,PM,中,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,4.,直接寻址,含义,:用指令中包含的数据,M,地址的低,7,位,(,偏移地址值,),+,基地址,16,位,数据存储器,地址,。,基地址,:,DP_,数据页指针,SP_,堆栈指针,用途,:利用数据页指针和堆栈指针寻址,DM,。,指令代码格式,:,注:第,7,位确定了寻址方式,若,I=0,,表示指令使用直接寻址方式,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,说明,:,地址形成,当,ST1,中的,CPL=0,时,由,ST0,中的,DP,值,(9,位地址,),与指令中的,7,位地址一道形成,16,位数据存储器地址。,当,ST1,中的,CP,=,时,将指令中的,7,位地址与,16,位堆栈指针,SP,相加,形成,16,位的数据存储器地址。,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,说明,:,该方式可在不改变,DP,或,SP,的情况下,随机寻址,128,个单元,;,因为,DP,值的范围是从,0,到,511,,把存储器分成,512,页。,指令长度只需,1,个字(,16,位),;,举例,:,RSBX CPL;,CPL=0,LD#2,DP;,DP,指向第,2,页,LD 60H,16,A;,第,2,页的,60H,单元内容装入,A,高,16,位,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,5.,间接寻址,含义,:按辅助,R,中的内容寻址,数据,M,用途:,主要用在需要,存储器地址以步进方式连续变化,的场合。,说明,:(,1,)地址形式:,AR0,AR7,(,2,),间接寻址方式非常灵活:可在一条指令中访问两个,DM,单元(能在两个独立的,M,读数据,或在一个,M,读另一个,M,单元写),(,3,)间接寻址有两种方式。,单操作数间接寻址:从存储器中读或写一个单,16,位数据操作数。,双操作数间接寻址:在一条指令中访问两个数据存储单元。,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,(,1,),单操作数间接寻址,单操作数,寻址是一条指令中,只有一个存储器操作数,(,即从存储器中只存取一个操作数,),,其指令的格式:,其中:,15,8,位是指令的操作码;第,7,位,I=1,,,表示指令的寻址方式为间接寻址;,6,3,位为方式,(MOD),,,定义了间接寻址的类型(,P57,表,3,-,3,);,2,0,位定义寻址所使用的辅助寄存器,(,如,AR0,AR7),。,例如:,LD *AR2+,,,A,;,表示将由,AR2,寄存器内容所指向的数据存储器单元中的数据传送到累加器,A,中,即(,AR2,),A,,然后,AR2,中的地址加,1,。,MOD,域:,共有,16,种间接寻址的类型(表,3-3,),域 操作码 功能,0000 *ARx Addr=ARx,可以将地址加,1,或减,1,,可以在指令执行存取操作前或后修改要存取操作数的地址:,0001,*,ARx,-,Addr,=,ARx,ARx,=ARx-1,0010 *,ARx,+,Addr,=,ARx,ARx,=ARx+1,0011 *+,ARx,Addr,=ARx+1,ARx=ARx+1,可以将地址加一个,16,位偏移量:,1100 *,ARx(lk,),Addr,=,ARx+lk,ARx,=,ARx,1101 *+,ARx(lk,),Addr,=,ARx+lk,ARx,=,ARx+lk,1111 *(,lk,),Addr,=,lk,用,AR0,中的值,索引寻址,:,0101,*ARx-0,Addr=ARx,ARx,=ARx-AR0,0110 *ARx+0,Addr,=,ARx,ARx,=ARx+AR0,以,B,符号表示的,位倒序寻址:,0100,*ARx-0B,Addr,=,ARx,ARx,=B(ARx-AR0),0111 *ARx+0B,Addr,=,ARx,ARx=B(ARx+AR0),以,%,符号表示的,循环寻址:,*,ARx,-%,Addr,=,ARx,ARx,=circ(ARx-1),1010 *,ARx,+%,Addr=ARx,ARx,=circ(ARx+1),1001 *ARx-0%,Addr=ARx,ARx,=circ(ARx-AR0),1011 *ARx+0%,Addr=ARx,ARx,=circ(ARx+AR0),1110 *+,ARx(lk,)%,Addr,=,circ(ARx+lk,),ARx,=,circ(ARx+lk,),第三章:,C54x,指令系统,_,3.3,寻,址,方,式,循环寻址,表示:,用,%,表示,其辅助寄存器使用规则与其他寻址方式相同。,用途:,在卷积、自相关和,FIR,滤波器等许多算法中,都需要在存储,器中设置,循环缓冲区,。它,是一个滑动窗,包含最近的数据,,若有新的数据到来,它将覆盖旧的数据。,例如:循环指针在第一次的移动从,1,,,2,,,3,,,4,,,5,,,6,,,78,;,第二次是从,2,,,3,,,4,,,5,,,6,,,78,1,;,第三次是从,3,,,4,,,5,,,6,,,7812,;,循环寻址:,实现循环缓冲区的关键。,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,循环缓冲器主要参数,:,长度计数器,(,BK,):,定义了循环缓冲区的大小,R,(,R2,N,);,有效基地址,(,EFB,):,定义了循环缓冲区的起始地址,即,ARx,低,N,位设为,0,所得到的值;,尾地址,(,EOB,):,定义了循环缓冲区的尾部地址,;,缓冲区索引,(,Index,):,当前,ARx,的低,N,位;,步长,(,Step,):,一次加到辅助,R,或从辅助,R,中减去的值;,例如,一个长度为,31,个字的循环缓冲区必须开始于最低,5,位为零的地址,(,即,XXXX,XXXX,XXX0 0000b),,且赋值,BK=31,。,第三章,:,C54x,指令系统,_,3.3,寻,址,方,式,循环缓冲示意图,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,循环寻址的算法,:,If 0,index+stepBK,;,Index=index+step,;,Else if index+step,BK,;,Index=index+step-BK,;,Else if,index+step,0,;,Index=index+step+BK,;,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,使用循环寻址时,必须遵循以下三个原则:,循环缓冲区的长度,RBK,;,故:,index=index+step-BK=8+8-10=6,(,寻址,106H,单元),第三章:,C54x,指令系统,_,3.3,寻,址,方,式,循环寻址过程,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,位倒序寻址,用途,:,主要用于,FFT,运算,可提高,FFT,算法的执行速度和存储器的使用效率。,原因,:,当,FFT,输入样点值是倒序时,输出是顺序;反之亦然,采用位码倒序寻址的方式恰好符合,FFT,算法要求。,图,1 N,点,DITFFT,运算流图,(N=8),实现方法,:,AR0,存放的整数,N,是总单元个数的,1/2,;,ARx,指向一个数据存放的物理单元;,AR0,以地址倒序的方式,+,ARx,(即进行从左到右加法进位);,举例,:,以,16,点,FFT,为例,当输入序列是顺序时,其,FFT,变换结果的次序为,X(0),、,X(8),、,X(4),、,X(15),的倒序方式(,表,3-4,),第三章:,C54x,指令系统,_,3.3,寻,址,方,式,存储单元地址,变换结果,位码倒序,位码倒序寻址结果,0000,X(0),0000,X(0),0001,X(8),1000,X(1),0010,X(4),0100,X(2),0011,X(12),1100,X(3),0100,X(2),0010,X(4),0101,X(10),1010,X(5),0110,X(6),0110,X(6),0111,X(14),1110,X(7),1000,X(1),0001,X(8),1001,X(9),1001,X(9),1010,X(5),0101,X(10),1011,X(13),1101,X(11),1100,X(3),0011,X(12),1101,X(11),1011,X(13),1110,X(7),0111,X(14),1111,X(15),1111,X(15),第三章:,C54x,指令系统,_,3.3,寻,址,方,式,位倒序寻址举例:,以,16,点,FFT,为例,假设辅助寄存器都是,8,位字长,,AR2,中存放数据存储器的基地址,指向,X(0),的存储单元,设定,AR0,的值是,FFT,长度的一半。,即:,AR2=0110 0000,(,存储器基地址,),AR0=0000 1000,(,FFT,长度的一半,),第三章:,C54x,指令系统,_,3.3,寻,址,方,式,执行指令:,RPT#15,;,循环执行下一条语句,15+1,次,PORTW*AR2+0B,,,PA,;,PA,为外设输出端口,,AR0,以倒序方式加入,注:第,0,次循环,(0110 0000)PA X(0),第,1,次循环,(0110 1000)PA X(1),第,2,次循环,(0110 0100)PA X(2),第,3,次循环,(0110 1100)PA X(3),利用上述两条指令即可向外设口,(,口地址为,PA),输出整序后的,FFT,变换结果,。,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,(,2,),双操作数间接寻址,用途:,用在完成两个读或一个读且一个写的指令中。,说明:,该指令只有一个字长,只能以间接寻址的方式工作。,格式如下:,其中,,15,8,位:指令操作码;,7,6,位为,Xmod,,,定义了用于访问,Xmem,操作数间接寻址方式的类型(见表,3-5,);,5,4,位为,Xar,,,确定了包含,Xmem,地址的辅助寄存器;,3,2,位为,Ymod,,,定义了用于访问,Ymem,操作数的间接寻址方式的类型;,1,0,位为,Yar,,,确定了包含,Ymem,的辅助寄存器。,见表,3-5,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,6.,存储器映射寄存器寻址,含义,:寻址,SFR,或,MMR,;,用途,:修改,SFR,的内容且不影响,DP/SP,的当前值;,地址产生方式,:,采用直接寻址方式,:高,9,位,DMA,置,0,,利用指令中的低,7,位地址,MMR,;,采用间接寻址方式,:高,9,位,DMA,置,0,,按当前,ARX,中的低位地址,MMR,;,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,说明,:,这种寻址方式下,对,MMR,执行写操作开销最小;,仅有,8,条指令可进行,MMR,寻址操作:,LDM,MMR,,,dst,;,将,MMR,内容装入累加器,MVDM,dmad,,,MMR,;将数据存储器单元内容装入,MMR,MVMD,MMR,,,dmad,;,将,MMR,的内容录入数据存储器单元,MVMM,MMRx,,,MMRy,;,MMRx,,,MMRy,只能是,AR0,AR7,POPM MMR,;,将,SP,指定单元内容给,MMR,,,然后,SP=SP+1,PSHM MMR,;,将,MMR,内容给,SP,指定单元,然后,SP=SP-1,STLM,src,,,MMR,;将累加器的低,16,位给,MMR,STM#1k,,,MMR,;将一个立即数给,MMR,第三章:,C54x,指令系统,_,3.3,寻,址,方,式,7.,堆栈寻址,含义,:堆栈操作时,利用堆栈指针来寻址;,用途,:堆栈内容的压入,/,弹出;,说明,:,a,:,特殊的存储区域(先进后出);,b,:堆栈指针,SP,(,16,位)始终指向栈顶即最后一个存放的数据;,c,:,C54x,的堆栈是从高地址低地址方向生长;,采用堆栈寻址指令,(,4,条):,PSHD,将数据存储器中的一个数压入堆栈;,PSHM,将一个,MMR,中的值压入堆栈;,POPD,从堆栈弹出一个数至数据存储单元;,POPM,从堆栈弹出一个数至,MMR,。,第三章:,C54x,指令系统,_,3.4,指,令,系,统,TMS320C54X,共有,129,条,指令,按功能分为,4,大类(,每大类又分为若干小类),:,算术运算指令;,逻辑运算指令;,程序控制指令;,存储和装入指令。,*,指令书写方式:助记符,/,表达式,第三章:,C54x,指令系统,_,3.4,指,令,系,统,1.,算术运算指令,(,79,条,分为,6,小类,),加法指令,(ADD),;,减法指令,(SUB),;,乘法指令,(MPY),;,乘加指令,(MAC),和乘减指令,(MAS),;,双数,/,双精度指令,(DADD,、,DSUB),;,特殊操作指令,(ABDST,、,SQDST),。,加法指令,(,13,条),P64,(表,3,-,6,),不同的加法指令用途不同,ADD,:不带进位,可带移位的加法,ADD,Smem,src,;,src,=,src+Smem,ADD,Smem,TS,src,;,src,=,src+Smem,TS,ADD Smem,16,src,dst ;,dst,=,src+Smem,16,ADD,Smem,SHIFT,src,dst,;,dst,=,src+Smem,SHIFT,ADD,Xmem,SHFT,src,;,src,=,src+Xmem,SHFT,ADD,Xmem,Ymem,dst,;,dst,=,Xmem,16+Ymem16,ADD#,lk,SHFT,src,dst,;,dst,=,src+#lk,SHFT,ADD#lk,16,src,dst ;,dst,=,src+#lk,16,ADD,src,SHIFT,dst,;,dst,=,dst+src,SHIFT,ADD,src,ASM,dst,;,dst,=,dst+src,ASM,2)ADDC,Smem,src,;,带进位的加法,,src,=,src+Smem+C,ADDM#,lk,Smem,;,专用于立即数,,Smem=Smem,+#lk,ADDS,Smem,src,;,无符号数的加法,,src,=,src+uns(Smem,),第三章:,C54x,指令系统,_,3.4,指,令,系,统,加法指令举例,【,例,3.1】,ADD *AR3+,14,A,;将,AR3,所指的数据存储单元内容,左移,14,位与,A,相加,结果放,A,中,,AR3,加,1,。,(2),减法指令,(,13,条),P65,(表,3,-,7,),SUB,:不带借位、可带移位的减法,SUB,Smem,src,;,src,=,src-Smem,SUB,Smem,TS,src,;,src,=,src-Smem,TS,SUB Smem,16,src,dst ;,dst,=,src-Smem,16,SUB,Smem,SHIFT,src,dst,;,dst,=,src-Smem,SHIFT,SUB,Xmem,SHFT,src,;,src,=,src-Xmem,SHFT,SUB,Xmem,Ymem,dst,;,dst,=,Xmem,16-Ymem16,SUB#,lk,SHFT,src,dst,;,dst,=,src-#lk,SHFT,SUB#lk,16,src,dst ;,dst,=,src-#lk,16,SUB,src,SHIFT,dst,;,dst,=,dst-src,SHIFT,SUB,src,ASM,dst,;,dst,=,dst-src,ASM,2)SUBB,Smem,src,;,带借位的减法,,src,=,src-Smem-C,SUBS,Smem,src,;,无符号数的减法,,src,=,src-uns(Smem,),3),条件减法,SUBC,Smem,src,;,if(src-Smem,0,;,src,=(,src-Smem,15)1+1,;else,src,=,src,1,应用:使用,SUBC,重复,16,次减法,就可以完成,除法,功能。,被除数,-,(除数,15,):够减:被除数左移,商,+1,;,不够减:被除数左移,商,+0,;,注:被除数和商共用一个,R B,:随着,B,的左移被除数逐渐退出,商从右左逐渐进入。,第三章:,C54x,指令系统,_,3.4,指,令,系,统,减法指令举例,【,例,3.2】,利用,SUBC,完成整数除法,(TEMP1/TEMP2),LD TEMP1,B,;,将被除数,TEMP1,装入,B,累加器的低,16,位,RPT#15,;,重复,SUBC,指令,16,次,SUBC TEMP2,B,;,使用,SUBC,指令完成除法,STL B,TEMP3,;,将商,(B,累加器的低,16,位,),存入变量,TEMP3,STH B,TEMP4,;,将余数,(B,累加器的高,16,位,),存入变量,TEMP4,(3),乘,法指令,(,10,条),P66,(表,3,-,8,),1),MPY,Smem,dst,;,dst,=T*,Smem,MPYR,Smem,dst,;,带圆整的乘法,,dst=rnd(T*Smem,),MPY,Xmem,Ymem,dst,;,dst,=,Xmem,*,Ymem,T=,Xmem,MPY,Smem,#lk,dst,;,dst,=,Smem,*#,lk,T=,Smem,2)MPYA,dst,;,dst,=T*A(3216),MPYA,Smem,;B=,Smem,*A(3216),T=,Smem,3)MPYU,Smem,dst,;,无符号乘法,dst,=T*,uns(Smem,),4)SQUR,Smem,dst,;,平方,dst,=,Smem,*,Smem,T=,Smem,SQUR,A,dst,;,dst,=A(3216)*A(3216),第三章:,C54x,指令系统,_,3.4,指,令,系,统,关于,小数乘法:,小数表示:小数点通常安排在最高位后,,Q15,定标;,小数乘法:需将,FRCT,设置为,1,,系统自动将乘积结果左移,1,位。,第三章:,C54x,指令系统,_,3.4,指,令,系,统,乘法指令举例,【,例,3.2】MPY,*13,,,A,;,T*,Smem,A,Smem,所在的单数据存储器地址为,13(0Dh),(,4,),乘加和乘减指令,(,15,条),P68,(表,3,-,9,),乘加,MACR,Smem,src,;,src,=,rnd(src+T,*,Smem,),MACR,Xmem,Ymem,src,dst,;,dst,=,rnd(src+Xmem,*,Ymem,),T=,Xmem,MAC,#,lk,src,dst,;,dst,=,src+T,*#,lk,MAC,Smem,#lk,src,dst,;,dst,=,src+Smem,*#,lk,T=,Smem,MACAR,Smem,B,;B=,rnd(B+Smem,*A(3216),T=,Smem,MACAR,T,src,dst,;,dst,=,rnd(src+T,*A(3216),MACP,Smem,pmad,src,;,src,=,src+Smem,*,pmad,T=,Smem,MACD,Smem,pmad,src,;,src,=,src+Smem,*,pmad,;T=Smem,(Smem+1)=,Smem,MACSU,Xmem,Ymem,src,;,src,=,src+uns(Xmem,)*,Ymem,T=,Xmem,2,),乘减,MASR,Smem,src,;,src,=,rnd(src,-T*,Smem,),MASR,Xmem,Ymem,src,dst,;,dst,=,rnd(src-Xmem,*,Ymem,),T=,Xmem,MASA,Smem,B,;B=B-,Smem,*A(3216),T=,Smem,MASAR,T,src,dst,;,dst,=,rnd(src,-T*A(3216),3)SQURA,Smem,src,;,src,=,src+Smem,*,Smem,T=,Smem,SQURS,Smem,src,;,src,=,src-Smem,*,Smem,T=,Smem,第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.3,】,MAC*AR5+,,,A,;,A,+,(AR5)*,T,A,AR5=AR5+1,(,5,),长操作数指令,(,6,条),P69,(表,3,-,10,),DADD,Lmem,src,dst,if C16=0,(双精度加法),dst,=,Lmem+src,if C16=1,(双,16,位加法),dst(3916)=Lmem(3116)+src(3116),dst(150)=Lmem(150)+src(150),DSUB,Lmem,src,if C16=0,dst,=,src,-,Lmem,if C16=1 dst(3916)=src(3116)-Lmem(3116),dst(150)=src(150)-Lmem(150),DRSUB,Lmem,src,if C16=0,dst,=,Lmem-src,if C16=1 dst(3916)=Lmem(3116)-src(3116),dst(150)=Lmem(150)-src(150),DADST,Lmem,dst,if C16=0,dst,=,Lmem+(T,16+T),if C16=1 dst(3916)=Lmem(3116)+T,dst(150)=Lmem(150)-T,DSADT,Lmem,dst,if C16=0,dst,=,Lmem,-(T16+T),if C16=1 dst(3916)=Lmem(3116)-T,dst(150)=Lmem(150),+,T,DSUBT,Lmem,dst,if C16=0,dst,=,Lmem,-(T16+T),if C16=1 dst(3916)=Lmem(3116)-T,dst(150)=Lmem(150),-,T,第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.4,】,DADD *AR3+,A,B,;,If C16=0,dst,=,Lmem,+,src,(,长字运算:,AR3+2,),第三章:,C54x,指令系统,_,3.4,指,令,系,统,(,6,),特殊应用指令,(,15,条),P70,(表,3,-,11,),1)ABDST,Xmem,Ymem,;,求两点之间距离的绝对值,2)ABS,src,dst,;,求绝对值,dst,=|,src,|,3)CMPL,src,dst,;,求反码,dst,=,4)DELAY,Smem,;,存储器延迟,(Smem+1)=,Smem,5)EXP,src,;,求累加器指数,6)FIRS,Xmem,Ymem,pmad,;,对称有限冲击响应滤波器,7)LMS,Xmem,Ymem,;,求最小均方值,8)MAX,dst,;,dst,=,max(A,B,),9)MIN,dst,;,dst,=,min(A,B,),10)NEG,src,dst,;,求反值,dst,=-,src,11,),NORM,src,dst,;,归一化,,dst,=,src,TS,12)POLY,Smem,;,求多项式的值,B=,Smem,16,A=rnd(A(3216)*T+B),13)RND,src,dst,;,累加器的值凑整,,dst,=src+2,15,14)SAT,src,;,对累加器的值做饱和计算,15)SQDST,Xmem,Ymem,;,求两点之间距离的平方,第三章:,C54x,指令系统,_,3.4,指,令,系,统,说明:,FIRS,Xmem,Ymem,pmad,;,B=B+A*,pmad,/A=(,Ymem,+,Xmem,)16,FIRS,指令实现一个,对称的有限冲激响应,(FIR),滤波器,。,Xmem,和,Ymem,相加后的结果左移,16,位放入,累加器,A,中。在下一个循环中,,pmad,加,1,。,累加器,A,的高端,(32,16,位,),和由,pmad,寻址得到的,Pmem,相乘,乘法结果与累加器,B,相加并存放在,累加器,B,中。,一旦循环流水线启动,指令成为,单周期指令,。指令受,OVM,,,FRCT,和,SXM,状态标志位的影响,执行结果影响,C,、,OVA,和,OVB,。,第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.5,】,FIRS*AR3+,,,*,AR4+,,,COEFFS,第三章:,C54x,指令系统,_,3.4,指,令,系,统,2.,逻辑指令,(,5,小类),与指令,(AND),;,或指令,(OR),;,异或指令,(XOR),;,移位指令,(ROL),;,测试指令,(BITF),。,(,1,),与、或、异或指令,(,共,15,条),P72,(表,3,-,12,),1)AND,Smem,src,;,src,=,src,&,Smem,AND#,lk,SHFT,src,dst,;,dst,=,src,&,#,lk,SHFT,AND#lk,16,src,dst,;,dst,=,src,&,#,lk,16,AND,src,SHIFT,dst,;,dst,=,dst,&,src,SHIFT,ANDM#,lk,Smem,;,Smem,=,Smem,&,#,lk,2)OR,Smem,src,;,src,=,src,|,Smem,OR#,lk,SHFT,src,dst,;,dst,=,src,|,#,lk,SHFT,OR#lk,16,src,dst,;,dst,=,src,|,#,lk,16,OR,src,SHIFT,dst,;,dst,=,dst,|,src,SHIFT,ORM#,lk,Smem,;,Smem,=,Smem,|,#,lk,3)XOR,Smem,src,;,src,=,src,Smem,XOR#,lk,SHFT,src,dst,;,dst,=,src,#,lk,SHFT,XOR#lk,16,src,dst,;,dst,=,src,#,lk,16,XOR,src,SHIFT,dst,;,dst,=,dst,src,SHIFT,XORM#,lk,Smem,;,Smem,=,Smem,#,lk,(,2,),移位指令和测试指令,(,共,11,条),P73,(表,3,-,13,),1)SFTA,src,SHIFT,dst,;,dst,=,src,SHIFT(,算术移位,),SFTL,src,SHIFT,dst,;,dst,=,src,SHIFT(,逻辑移位,),SFTC,src,;条件移位,if,src(31)=src(30)then,src,=,src,1,2)ROL,src,;,带进位位循环左移,ROL TC,src,;,带,TC,位循环左移,ROR,src,;,带进位位循环右移,3)BIT,Xmem,BITC,;,测试指定位,,TC=Xmem(15-BITC,),BITF,Smem,#,lk,;,测试由立即数指定位,,TC,=(,Smem,&,#,lk,),BITF,Smem,;,测试由,T,寄存器指定位,,TC=Smem(15-T(30,),4)CMPM,Smem,#,lk,;TC=(,Smem,=,#,lk,),CMPR,CC,ARx,;,比较,ARx,和,AR0,第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.7】ROL A,第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.8】CMPM *AR4+,#0404h,;,比较,Smem,与常数,1k,是否相,;等,若相等,TC=1,,否则,TC=0,。,第三章,:,C54x,指令系统,_,3.4,指,令,系,统,3.,程序控制指令,(,7,小类),分支指令,(B,,,BC),;,调用指令,(CALL),;,返回指令,(RET),;,中断指令,(INTR,,,TRAP),;,重复指令,(RPT),;,堆栈操作指令,(FRAME,,,POP),;,其他程序控制指令,(IDLE,,,NOP),。,(,1,),分支指令,(,6,条),P74,(表,3,-,14,),1)BD,pmad,;,无条件转移,PC=pmad(150),BACCD,src,;PC=src(150),2)FBD,extpmad,;PC=pmad(150),XPC=pmad(2216),FBACCD,src,;PC=src(150),XPC=src(2216),3)BCD,pmad,cond,;if(,cond,)then PC=pmad(150),BANZD,pmad,Sind,;if(Sind,0)then,PC=pmad(150),第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.9】BANZD,pmad,,,Sind,若当前辅助寄存器,ARx,不为,0,,则,pmad,值赋给,PC,,,否则,PC,值加,2,。,若为延迟方式,此时紧跟该指令的两条单字指令或一条双字指令先被取出执行,然后程序再跳转。,该指令不能被循环执行。,如,:BANZ 2000h,*AR3,(,2,),调用和返回指令,(,11,条),P75,(表,3,-,15,),1)CALLD,pmad,;-SP,PC+24=TOS,PC=pmad(150),CALAD,src,;-SP,PC+13=TOS,PC=src(150),FCALLD,extpmad,;-SP,PC+24=TOS,PC=pmad(150),XPC=pmad(2216),FCALAD,src,;-SP,PC+13=TOS,PC=src(150),XPC=src(2216),CCD,pmad,cond,;if(,cond,)then-SP,PC+24=TOS,PC=pmad(150),2),RETD ;PC=TOS,+SP,RETED ;PC=TOS,+SP,INTM=0,允许中断的返回,RETFD ;PC=RTN,+SP,INTM=0,,允许中断的快速返回,FRETD ;XPC=TOS,+SP,,,PC=TOS,+SP,FRETED ;XPC=TOS,+SP,,,PC=TOS,+SP,,,INTM=0,RCD,cond,;,if(,cond,)then,PC=TOS,+SP,第三章:,C54x,指令系统,_,3.4,指,令,系,统,【,例,3.10】,CALLD,pmad,返回展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




第3章指令系统.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13224111.html