




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1 12021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2 23.1 寻址方式寻址方式3.2 TMS320C55x的指令系统的指令系统2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3 32021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4 4 绝对寻址模式有三种,它们分别是:绝对寻
2、址模式有三种,它们分别是:k16绝对寻址、绝对寻址、k23绝对寻址和绝对寻址和I/O绝对寻址。绝对寻址。 使用该模式寻址的指令其操作数为使用该模式寻址的指令其操作数为*abs16(#k16),其,其中中k16是一个是一个16位的无符号常数。寻址方法是将位的无符号常数。寻址方法是将7位的寄存位的寄存器器DPH(扩展数据页指针(扩展数据页指针XDP的高位部分)和的高位部分)和k16级联形级联形成一个成一个23位的地址,用于对数据空间的访问。该模式可以位的地址,用于对数据空间的访问。该模式可以访问一个存储单元和一个存储映射寄存器。访问一个存储单元和一个存储映射寄存器。 2021-10-152021-
3、10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5 5. k16绝对寻址模式绝对寻址模式 *由于对指令进行了扩展,使用该模式寻址的指令不能与其他指令并行执行。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6 62021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用7 7 使用该模式寻址的指令其操作数为使用该模式寻址的指令其操作数为*(#k23),其中,其中k23是是一个一个23位的无符号常数。如图位的无符号常数。如图3-2所示
4、。使用这种寻址方法的所示。使用这种寻址方法的指令将常数编码为指令将常数编码为3字节(去掉最高位),与字节(去掉最高位),与k16绝对寻址一绝对寻址一样,使用该模式寻址的指令不能与其他指令并行执行。样,使用该模式寻址的指令不能与其他指令并行执行。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8 82021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用9 9 对于对于I/O绝对寻址模式,如果使用代数指令,其操作数绝对寻址模式,如果使用代数指令,其操作数是是*port(
5、#k16),其中,其中k16是一个是一个16位无符号常数;如果使位无符号常数;如果使用助记符指令,其操作数是用助记符指令,其操作数是port(#k16)(操作数前没有(操作数前没有*)。如下所示,使用该模式的指令将常数编码为。如下所示,使用该模式的指令将常数编码为2字节。同样字节。同样,该指令不能与其他指令并行执行。,该指令不能与其他指令并行执行。 2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用10102021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1111
6、 直接寻址有以下几种方式:数据页指针(直接寻址有以下几种方式:数据页指针(DP)直接)直接寻址、堆栈指针(寻址、堆栈指针(SP)直接寻址、寄存器位直接寻址和)直接寻址、寄存器位直接寻址和外设数据页指针(外设数据页指针(PDP)直接寻址。其中,)直接寻址。其中,DP直接寻址直接寻址和和SP直接寻址与状态寄存器直接寻址与状态寄存器ST1-55的的CPL 位位(Compiler mode bit)有关:有关: 当当CPL=0,采用,采用DP直接寻址模式直接寻址模式 当当CPL=1,采用,采用SP直接寻址模式直接寻址模式 2021-10-152021-10-15TMS320C55x DSPTMS320
7、C55x DSP原理及应用原理及应用1212 在在DP直接寻址方法中,直接寻址方法中,23位地址的形成如图位地址的形成如图3-3所示。其中高所示。其中高7位由位由DPH提供,用来确定主数提供,用来确定主数据页,其余低据页,其余低16位由两部分组成。位由两部分组成。(1)DP:DP确定在主数据页内长度为确定在主数据页内长度为128字节的局部数据字节的局部数据页的起始地址,该起始地址可以是主数据页内的任何地址。页的起始地址,该起始地址可以是主数据页内的任何地址。 (2)由汇编器计算出的)由汇编器计算出的7位偏移量(位偏移量(Doffset):偏移量的计):偏移量的计算与访问的是数据空间还是存储映射
8、寄存器(限定词是算与访问的是数据空间还是存储映射寄存器(限定词是mmap( ))有关。)有关。 2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1313 XDPDP直接寻址模式直接寻址模式 XDP2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用14142021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1515 当一条指令采用当一条指令采用SP直接寻址模式,直接寻址模式,23位地址的形成如位地址的
9、形成如图所示。其中,图所示。其中,SPH确定高确定高7位地址,其余位地址,其余16位地址由位地址由SP和和7位偏移量决定,偏移量的范围是位偏移量决定,偏移量的范围是0127。由。由SPH和和SP构成了扩展数据堆栈指针构成了扩展数据堆栈指针XSP。 2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1616 SP直接寻址模式直接寻址模式 XSP000 00000000 0000 0000 0000000 00010000 0000 0000 0000111 11110000 0000 0000 0000XSP2021-10-152
10、021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用17172021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1818 使用寄存器位寻址的指令其操作数是使用寄存器位寻址的指令其操作数是bitoffset,该操,该操作数是从寄存器的最低位开始的偏移值。例如,如果作数是从寄存器的最低位开始的偏移值。例如,如果bitoffset为为0,那么就可以访问寄存器的最低位;如果,那么就可以访问寄存器的最低位;如果bitoffset为为3,那么就可以访问寄存器的位,那么就可以访问寄存器的位3。 2021
11、-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用1919例,例,bitoffset用于对寄存器位的寻址。用于对寄存器位的寻址。BSET 0,AC3 ; 将将AC3的位的位0置为置为1BTSTP 30,AC3; 把把AC3的位的位30和位和位31分别复分别复制到状态寄存器制到状态寄存器ST0_55的位的位TC1和和TC22021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2020 当一条指令使用当一条指令使用PDP直接寻址模式,直接寻址模式,16位位I/O地址的地址的形成如
12、图形成如图3-5所示。所示。64K 16位的位的I/O空间分成空间分成512个外设数个外设数据页,用据页,用9位的外设数据页指针位的外设数据页指针PDP表示,其中每一页有表示,其中每一页有128个字,由指令中的指定的个字,由指令中的指定的7位偏移值来表示。例如,如位偏移值来表示。例如,如果访问一页的第一个字,其偏移值为果访问一页的第一个字,其偏移值为0。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2121 PDP直接寻址模式直接寻址模式 0000 0000 0000 0000000 0000 1000 0000000 00
13、01 0.000 0000111 1111 1000 00002021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用22222021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2323 CPU支持的间接寻址模式有支持的间接寻址模式有AR间接寻址、双间接寻址、双AR间间接寻址、接寻址、CDP间接寻址和系数间接寻址。利用这些模式间接寻址和系数间接寻址。利用这些模式可以进行线性或循环寻址。可以进行线性或循环寻址。 该模式通过一个辅助寄存器该模式通过一个辅助寄存器ARn(n=0
14、,1,2,3,4,5,6,或,或7)访问数据空间。而)访问数据空间。而ST2-55的的ARMS位决定了位决定了AR间接寻址的操作类型间接寻址的操作类型: 当当 ARMS=0,DSP模式:模式:CPU提供提供DSP增强应用的高增强应用的高 效执行功能。效执行功能。 当当ARMS=1,控制模式:针对控制系统的应用,控制模式:针对控制系统的应用,CPU能够优化代码的长度。能够优化代码的长度。 下面分别给出了下面分别给出了AR间接寻址的间接寻址的DSP模式和控制模式。模式和控制模式。 2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2
15、424AR间接寻址间接寻址DSP模式模式2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2525AR间接寻址间接寻址DSP模式模式(续)续)在生成地址之后,ARn 减去T0或ARn 中16位带符号的常数:如果C54CM = 0,ARn =ARnT0在生成地址之后,ARn 加上T0或ARn 中16位带符号的常数:如果C54CM = 0,ARn =ARn + T0如果C54CM = 1,ARn =ARn + AR0在生成地址之后,ARn 减去T0或ARn 中16位带符号的常数:如果C54CM 1= 0,ARn =ARnT0如果C5
16、4CM = 1,ARn =ARnAR0在生成地址之后,ARn 加上T1中16位带符号的常数:在生成地址之后,ARn 减去T1中16位带符号的常数:注1:C54CM是状态寄存器ST1-55中TMS320C54x兼容模式。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2626在生成地址之后,ARn 加上T1中16位带符号的常数:在生成地址之后,ARn 减去T1中16位带符号的常数:在生成地址之后,ARn 加上T1中16位带符号的常数:在生成地址之后,ARn 减去T1中16位带符号的常数:AR间接寻址间接寻址DSP模式模式(续)续
17、)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2727在生成地址之后增加:16位操作,ARn =ARn + 1 AR间接寻址控制模式间接寻址控制模式 2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2828 AR间接寻址控制模式间接寻址控制模式 (续)(续)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用2929注:注:1 1、关于长字运算中的、关于长字运算中的* *ARn+ARn+ 举例
18、说明:举例说明:ADD dual(ADD dual(* *AR0+),AC1,AC0 AR0+),AC1,AC0 ;32;32位操作位操作2 2、关于位倒序寻址、关于位倒序寻址 位倒序寻址主要目的是提高执行速度及位倒序寻址主要目的是提高执行速度及FFTFFT算法中使算法中使用存储器的效率。用存储器的效率。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用30302021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3131WN02121x(0)x(4)x(2)x(6)
19、x(1)x(5)x(3)x(7)X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)212121WN121WN221WN3212121WN021WN2212121WN021WN22121WN02121WN0212121WN021WN0212021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3232存储单元地址FFT变换结果位码倒序位码倒序寻址结果存储单元地址FFT变换结果位码倒序位码倒序寻址结果0000X(0)0000X(0)1000X(1)0001X(8)0001X(8)1000X(1)1001X(9)1001X(9
20、)0010X(4)0100X(2)1010X(5)0101X(10)0011X(12)1100X(3)1011X(13)1101X(11)0100X(2)0010X(4)1100X(3)0011X(12)0101X(10)1010X(5)1101X(11)1011X(13)0110X(6)0110X(6)1110X(7)0111X(14)0111X(14)1110X(7)1111X(15)1111X(15)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3333 双双AR间接寻址模式可以通过间接寻址模式可以通过8个辅助寄存器(
21、个辅助寄存器(AR0AR7)同时访问两个数据存储单元,与单个同时访问两个数据存储单元,与单个AR间接访问数据空间一样,间接访问数据空间一样,CPU使用一个扩展辅助寄存器产生使用一个扩展辅助寄存器产生23位地址。双位地址。双AR间接寻址可以间接寻址可以实现以下功能:实现以下功能:(1)执行一条可完成两个)执行一条可完成两个16位数据空间访问的指令。在这种情况位数据空间访问的指令。在这种情况下,两个数据存储操作数在指令指令中为下,两个数据存储操作数在指令指令中为Xmem和和Ymem。例如:。例如: ADD Xmem,Ymem,ACx(2)并行执行两条指令。在这种情况下,必须每条指令访问一个)并行执
22、行两条指令。在这种情况下,必须每条指令访问一个存储数据,操作数在指令指令中是存储数据,操作数在指令指令中是Smem或或Lmem。 MOV Smem,dst | AND Smem,src,dst 双双AR间接寻址操作数是间接寻址操作数是AR间接寻址操作数的子集,而间接寻址操作数的子集,而ARMS状态位不影响双状态位不影响双AR间接寻址的操作。间接寻址的操作。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用34342021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3
23、535 双双AR间接寻址操作数间接寻址操作数 在生成地址之后增加:16位操作,ARn =ARn + 1在生成地址之后减少:16位操作,ARn =ARn1在生成地址之后,ARn 加上T0或AR0 中16位带符号的常数:如果C54CM = 0,ARn =ARn + T02021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3636 双双AR间接寻址操作数间接寻址操作数 (续)续)在生成地址之后,ARn 减去T0或AR0 中16位带符号的常数:如果C54CM = 0,ARn =ARnT0在生成地址之后,ARn 加上T1中16位带符号的常数
24、:在生成地址之后,ARn 减去T1中16位带符号的常数:2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3737 CDP间接寻址模式使用系数数据指针(间接寻址模式使用系数数据指针(CDP)对数据空间、寄存器位和)对数据空间、寄存器位和I/O空间进行访问。空间进行访问。 在生成地址之后增加:16位操作,CDP = CDP + 1在生成地址之后减少:16位操作,CDP = CDP1在地址生成之前,CDP加上16位带符号常数(K16):2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原
25、理及应用原理及应用38382021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用3939 系数间接寻址模式的地址产生过程与使用系数间接寻址模式的地址产生过程与使用CDP间接寻址数据空间的地址间接寻址数据空间的地址产生过程一样。产生过程一样。CDP间接寻址模式支持以下算术指令:间接寻址模式支持以下算术指令:FIR滤波、乘法、乘滤波、乘法、乘加、乘减和双乘加或双乘减。加、乘减和双乘加或双乘减。在生成地址之后增加:16位操作,CDP = CDP + 1在生成地址之后减少:16位操作,CDP = CDP 1在生成地址之后,CDP 加上T0或
26、AR0 中16位带符号的常数:如果C54CM = 0,CDP =CDP + T02021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用40402021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4141 C55x DSP的结构特点使其在一个周期内可以并行地执行两条指令。的结构特点使其在一个周期内可以并行地执行两条指令。C55x支持三种类型的并行指令。支持三种类型的并行指令。(1)单指令中内置并行方式)单指令中内置并行方式 这类并行指令是由一条指令同时执行两个不同的操作,
27、通常用符号这类并行指令是由一条指令同时执行两个不同的操作,通常用符号“:”来分隔指令的两个部分,这种并行方式也称为隐含并行方式。例如来分隔指令的两个部分,这种并行方式也称为隐含并行方式。例如:MPY *AR0, *CDP, AC0 : MPY *AR1, *CDP, AC1 这是一条单指令,由这是一条单指令,由AR0引用的数据与由引用的数据与由CDP引用的系数相乘,同引用的系数相乘,同时,由时,由AR1引用的数据与该系数相乘。引用的数据与该系数相乘。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4242(2)用户自定义的两条
28、指令间的并行方式)用户自定义的两条指令间的并行方式 这类并行指令是用户或这类并行指令是用户或C语言编译器定义的,是由两条指令同时并语言编译器定义的,是由两条指令同时并行执行两个操作,通常用符号行执行两个操作,通常用符号“|”来分隔这两条指令。例如:来分隔这两条指令。例如:MPYM *AR1, *CDP, AC1 | XOR AR2, T1 第一条指令在第一条指令在D单元执行乘法运算,第二条指令在单元执行乘法运算,第二条指令在A单元的单元的ALU执执行一个逻辑操作。行一个逻辑操作。(3)内置与用户自定义混合的并行方式)内置与用户自定义混合的并行方式 例如:例如: MPYM T3=*AR3+, A
29、C1, AC2 | MOV #5, AR1 第一条指令隐含了内置并行方式,第二条指令是用户自定义的并行第一条指令隐含了内置并行方式,第二条指令是用户自定义的并行方式。方式。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4343在并行指令中,必须遵守三条基本规则:在并行指令中,必须遵守三条基本规则: 两条指令的总长度不能超过两条指令的总长度不能超过6个字节。个字节。 在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突。在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突。 其中一条指令必须有并行使能位或两条指
30、令符合软其中一条指令必须有并行使能位或两条指令符合软双并行条件。双并行条件。下面介绍不能使用并行方式的情况:下面介绍不能使用并行方式的情况:(1)使用立即数寻址方式)使用立即数寻址方式 例如:例如:*abs16(#k16)*(#k23)port(#k16)*ARn(K16)*+ARn(K16)*CDP(K16)*+CDP(K16)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4444(2)条件跳转、条件调用、中断、复位等程序控制指令)条件跳转、条件调用、中断、复位等程序控制指令例如:例如:BCC P24, condCALLC
31、C P24, condIDLEINTR k5RESETTRAP k5(3)使用下列指令或者操作修饰符)使用下列指令或者操作修饰符例如:例如:mmap()port().CR.LR(4)一个单独的寄存器或存储器在一个流水线节拍被读两次)一个单独的寄存器或存储器在一个流水线节拍被读两次2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4545 单指令在执行中要使用操作器、地址产生单元、总线等单指令在执行中要使用操作器、地址产生单元、总线等资源,并行的两条指令在执行时要使用两条单指令执行时占资源,并行的两条指令在执行时要使用两条单指令执
32、行时占用的资源。所以,当并行的两条指令使用用的资源。所以,当并行的两条指令使用C55x不支持的组合不支持的组合资源时,就会发生资源冲突。资源时,就会发生资源冲突。 下面介绍下面介绍C55x的资源。的资源。 (1)运算器)运算器 可使用的操作器有:可使用的操作器有:D单元的单元的ALU、D单元的移位器、单元的移位器、D单元的交换器、单元的交换器、A单元的交换器、单元的交换器、A单元的单元的ALU和和P单元。单元。并行指令执行时一个操作器只能使用一次。并行指令执行时一个操作器只能使用一次。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理
33、及应用4646(2)地址产生单元)地址产生单元 地址产生单元有:地址产生单元有:2个数据地址(个数据地址(DA)产生单元、)产生单元、1个系个系数地址(数地址(CA)产生单元和)产生单元和1个堆栈地址(个堆栈地址(SA)产生单元。)产生单元。 指令执行时只能使用给定数量的数据地址产生单元。指令执行时只能使用给定数量的数据地址产生单元。(3)总线)总线 可使用的总线有:两个数据读(可使用的总线有:两个数据读(DR)总线、一个系数读)总线、一个系数读(CA)总线、两个数据写()总线、两个数据写(DW)总线、一个)总线、一个ACB总线(将总线(将D单元寄存器的内容传送给单元寄存器的内容传送给A单元和
34、单元和P单元的操作器)、一个单元的操作器)、一个KAB总线(立即数总线)和一个总线(立即数总线)和一个KDB总线(立即数总线)。总线(立即数总线)。指令执行时只能使用给定数量的总线。指令执行时只能使用给定数量的总线。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4747 引用存储器操作数的指令没有并行使能位。两条这样的引用存储器操作数的指令没有并行使能位。两条这样的指令可以组成混合并行指令就是软指令可以组成混合并行指令就是软双并行方式。影响软双并行方式。影响软双并行方式的情况包括:双并行方式的情况包括: (1)两个存储器操作
35、数必须是双)两个存储器操作数必须是双AR间接寻址模式,符间接寻址模式,符合双合双AR间接寻址模式的操作数如下:间接寻址模式的操作数如下:*ARn*ARn+*ARn*(ARn + AR0)*(ARn + T0)*(ARn AR0)*(ARn T0)*ARn(AR0)*ARn(T0)*(ARn + T1)*(ARn T1)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4848 (2)指令不能包含)指令不能包含high_byte(Smem)和和low_byte(Smem),例如:例如:MOV uns(high_byte(Smem)
36、, dstMOV uns(low_byte(Smem), dstMOV low_byte(Smem) #SHIFTW, ACxMOV high_byte(Smem) #SHIFTW, ACxMOV src, high_byte(Smem)MOV src, low_byte(Smem)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用4949 (4)如果指令中的)如果指令中的k4的值是的值是08,就会改变,就会改变XDP 的值,的值,所以,不能与加载所以,不能与加载DP的指令组成并行指令。例如,改变的指令组成并行指令。例如,改变X
37、DP的指令:的指令:BSET k4, ST0_55BCLR k4, ST0_55加载加载DP的指令:的指令:MOV Smem, DPMOV dbl(Lmem), XDPPOPBOTH XDP2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5050 (4)读重复计数寄存器()读重复计数寄存器(RPTC)指令不能和如下的任何)指令不能和如下的任何一个单重复指令组成并行指令。一个单重复指令组成并行指令。RPTRPTADDRPTSUBRPTCC 虽然修改辅助寄存器(虽然修改辅助寄存器(MMR)指令没有引用存储器,)指令没有引用存储器,
38、而且也没有并行使能位,但是而且也没有并行使能位,但是MMR指令可以和如下任何存指令可以和如下任何存储器引用指令组合成软储器引用指令组合成软双并行指令。双并行指令。AADD TAx, TAyAADD k8, TAxAMOV TAx, TAyAMOV k8, TAxASUB TAx, TAyASUB k8, TAxAMOV D16, TAx AMAR Smem2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5151 TMS320C55x是是TMS320家族中的定点数字信号处理器,家族中的定点数字信号处理器,可以使用两种指令集:助记
39、符指令集和代数指令集。代数指令可以使用两种指令集:助记符指令集和代数指令集。代数指令集中的指令类似于代数表达式,运算关系比较清楚明了;助记集中的指令类似于代数表达式,运算关系比较清楚明了;助记符指令集与计算机汇编语言相似,采用助记符来表示指令。不符指令集与计算机汇编语言相似,采用助记符来表示指令。不过,在编程时只能使用一种指令集。过,在编程时只能使用一种指令集。 助记符指令和代数指令在功能上是一一对应的,只是表助记符指令和代数指令在功能上是一一对应的,只是表示形式不同。本节同时介绍助记符指令和代数指令,并通过实示形式不同。本节同时介绍助记符指令和代数指令,并通过实例来讲解例来讲解C55x的指令
40、系统。的指令系统。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5252 TMS320C55x指令集按操作类型可分为以下指令集按操作类型可分为以下6种:种:算术运算指令算术运算指令位操作指令位操作指令扩展辅助寄存器操作指令扩展辅助寄存器操作指令逻辑运算指令逻辑运算指令移动指令移动指令程序控制指令程序控制指令 一条指令的属性包括:指令,执行的操作,是否有并行一条指令的属性包括:指令,执行的操作,是否有并行使能位,长度,周期,在流水线上的执行阶段以及执行的功使能位,长度,周期,在流水线上的执行阶段以及执行的功能单元等。下面,将按
41、照这些属性分类介绍能单元等。下面,将按照这些属性分类介绍C55x助记符指令助记符指令集。指令集。集。指令集。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5353(1)加法指令)加法指令加法指令加法指令 指令指令2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5454加法指令加法指令(续)续)ADD uns( Smem),CARRY,ACx,ADD uns( Smem)#SHIFTW,2021-10-152021-10-15TMS320C55x DSPTMS
42、320C55x DSP原理及应用原理及应用5555加法指令有几点说明:加法指令有几点说明:l如果目的操作数是累加器如果目的操作数是累加器ACx,在,在D单元的单元的ALU中进行中进行运算操作;运算操作;l如果目的操作数是辅助或临时寄存器如果目的操作数是辅助或临时寄存器TAx,在,在A单元的单元的ALU中进行运算操作;中进行运算操作;l如果目的操作数是存储器(如果目的操作数是存储器(Smem),在),在D单元的单元的ALU中中进行运算操作;进行运算操作;l如果是移位指令(如果是移位指令(16位立即数移位除外),在位立即数移位除外),在D单元移单元移位器中进行运算操作。位器中进行运算操作。2021
43、-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5656 状态位状态位影响指令执行的状态位有:影响指令执行的状态位有:CARRY,C54CM,M40,SATA,SATD,SXMD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVx,ACOVy,CARRY。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5757 举例举例ADD *AR3+, T0, T1 ;AR3间接寻址得到的内容与间接寻址得到的内容与T0的内的内 ;容相加,结果装入容相加,结果装入
44、T1,并将,并将AR3增增1 执行前执行前AR3T0T1CARRY0302330000数据存储器EF000302执行后执行后AR3T0T1CARRY0303330022001数据存储器EF0003022021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5858ADD *AR1T0,AC1,AC0 ;将由将由AR1寻址得到的内容左移寻址得到的内容左移T0位位 ;与与AC1相加,结果装入相加,结果装入AC0 执行前执行前AC0AC1T0AR1SXMDM40ACOV0CARRY00 0000 000000 2300 0000000C02
45、00数据存储器030002000000执行后执行后AC0AC1T0AR1SXMDM40ACOV0CARRY00 2330 000000 2300 0000000C0200030002000001数据存储器2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用5959(2)减法指令)减法指令 指令指令减法指令减法指令2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6060减法指令(续)减法指令(续)2021-10-152021-10-15TMS320C55x DSPT
46、MS320C55x DSP原理及应用原理及应用6161减法指令(续)减法指令(续)ACy = ACx uns(Smem)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6262减法指令(续)减法指令(续)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6363 指令指令影响指令执行的状态位有:影响指令执行的状态位有:CARRY,C54CM,M40,SATA,SATD,SXMD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVx,ACOVy,C
47、ARRY。 举例举例SUB uns(*AR1), BORROW, AC0, AC1 ;将CARRY位求反,AC0减去由AR1寻 ;址得到的内容及CARRY的内容,并将结果装入AC1 执行前执行前AC0AC1AR1CARRY00 EC00 000000 0000 000003020数据存储器F0000302执行后执行后AC0AC1AR1CARRY00 EC00 000000 EBFF 0FFF03021数据存储器F00003022021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6464(3)条件减法)条件减法 指令指令SUBC S
48、mem, ACx, ACy ;if (ACx (Smem = 0) ;ACy = (ACx (Smem #15) #1 + 1 ;else ;ACy = ACx #1 状态位状态位影响指令执行的状态位有:影响指令执行的状态位有: SXMD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVy,CARRY。2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6565 举例举例SUBC *AR1, AC0, AC1 ;如果 (AC0 (*AR1)= 0,则 ;AC1 = (AC0 (*AR1) #15) #1 + 1
49、;否则AC1 = AC0 #1执行前执行前AC0AC1AR1SXMDACOV0CARRY23 4300 000000 0000 00000300数据存储器02000300000执行后执行后AC0AC1AR1SXMDACOV0CARRY23 4300 000046 8400 00010300数据存储器020003000112021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6666(4)条件加减法)条件加减法 指令指令条件加减法指令条件加减法指令ADDSUBCC Smem, ACx, TCx, ACyACy = adsc(Smem,
50、 ACx, TCx)If TCx = 1 ACy = ACx+(Smem#16)ADDSUBCC Smem, ACx, TC1, TC2,ACyACy = adsc(Smem, ACx, TC1, TC2)If TC2=1 ACy=ACxIf TC2=0 and TC1=1ACy=ACx+( Smem#16)If TC2=0 and TC1=0ADDSUBCC Smem, ACx, Tx, TC1, TC2,ACyACy = ads2c(Smem, ACx, Tx, TC1, TC2)If TC2=1 and TC1=1ACy=ACx+( Smem#16)If TC2=0 and TC1=1A
51、Cy=ACx+( SmemTx)If TC2=1 and TC1=0ACy=ACx( Smem#16)If TC2=0 and TC1=02021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用6767 状态位状态位影响指令执行的状态位有:影响指令执行的状态位有:C54CM,M40,SATD,SXMD,TC1,TC2。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVy,CARRY。 举例举例ADDSUBCC *AR1, AC0, TC2, AC1 ;如果如果 TC2 = 1 ,则,则AC1= AC0+(*AR1)#1
52、6 ;否则否则AC1= AC0(*AR1) #16) + (uns2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用7575 状态位状态位 举例举例影响指令执行的状态位有:影响指令执行的状态位有:FRCT,SMUL,M40,RDM,SATD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVx,ACOVy。MACMR *AR1, *CDP, AC2 ;AC2=rnd(AC2+(*AR1)*(*CDP)执行前执行前AC2AR1CDPACOV200 EC00 000003020202004002020数据存储器FE0
53、00302执行后执行后AC2AR1CDPACOV200 EC00 000003020202004002021数据存储器FE0003022021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用7676MACMR uns(*AR2+), uns(*AR3+), AC3 ;AC3=rnd(*AR2)*(*AR3)+AC3) ;AR2=AR2+1,AR3=AR3+1 执行前执行前AC3AR2AR3ACCOV3M40SATDFRCT00 2300 EC0003020202EF00030202020000数据存储器7000执行后执行后AC3AR2
54、AR3ACCOV3M40SATDFRCT00 9221 EC0003030203EF00030202021000数据存储器70002021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用7777(7)乘减指令)乘减指令 指令指令乘减指令乘减指令2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用7878乘减指令(续)乘减指令(续)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用7979 状态位状态位 举例
55、举例影响指令执行的状态位有:影响指令执行的状态位有:FRCT,SMUL,M40,RDM,SATD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVx,ACOVy。MASR T1, AC0, AC1 ;AC1=rnd(AC1AC0*T1) 执行前执行前AC0AC1T1M40ACOV1 FRCT00 EC00 000000 3400 00000020000执行后执行后AC0AC1T1M40ACOV1 FRCT00 EC00 000000 1680 000000200002021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及
56、应用8080(8)双乘加)双乘加/双乘减指令双乘减指令 指令指令双乘加双乘加/双乘减指令利用双乘减指令利用D单元的两个单元的两个MAC在一个周期内同时执行两个乘法在一个周期内同时执行两个乘法或乘加或乘加/双乘减运算。双乘减运算。 双乘加双乘加/双乘减指令双乘减指令2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8181 双乘加双乘加/双乘减指令双乘减指令(续)续)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8282 双乘加双乘加/双乘减指令双乘减指令(续)
57、续)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8383 双乘加双乘加/双乘减指令双乘减指令(续)续)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8484 状态位状态位 举例举例影响指令执行的状态位有:影响指令执行的状态位有:FRCT,SMUL,M40,RDM,SATD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVx,ACOVy。MASR40 uns(*AR0), uns(*CDP), AC0 ;AC0=rnd(AC0uns(*A
58、R0)*uns(*CDP): MACR40 uns(*AR1), uns(*CDP), AC1 ;AC1=rnd(AC1+uns(*AR1)*uns(*CDP)2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8585执行前执行前AC0AC1*AR0*AR1*CDPACOV0ACOV1CARRYFRCT00 6900 000000 0023 00003400EF00A0670000执行后执行后00 486B 000000 95E3 00003400EF00A0670000AC0AC1*AR0*AR1*CDPACOV0ACOV1C
59、ARRYFRCT2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8686(9)双双16位算术指令位算术指令 指令指令双双16位算术指令利用位算术指令利用D单元中的单元中的ALU在一个周期内完成两个并行的算术运在一个周期内完成两个并行的算术运算,包括一加一减、一减一加、两个加法或两个减法算,包括一加一减、一减一加、两个加法或两个减法 。 双双16位算术指令位算术指令2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8787 双双16位算术指令(续)位算术指令(续)
60、2021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8888 状态位状态位 举例举例影响指令执行的状态位有:影响指令执行的状态位有:C54CM,SATD,SXMD。 执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVx,ACOVy,CARRY。 ADDSUB T1, *AR1, AC1 ;AC1(3916)=(*AR1)+T1 ;| AC1(150)=(*AR1) T12021-10-152021-10-15TMS320C55x DSPTMS320C55x DSP原理及应用原理及应用8989执行前执行前AC1T1AR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年临沂高新区教育系统部分事业单位公开招聘教师(6名)考前自测高频考点模拟试题及1套参考答案详解
- 2025广西河池市金城江区人民法院招聘3人考前自测高频考点模拟试题及一套答案详解
- 2025年甘肃省庆阳市新庄煤矿面向社会招聘生产性灵活用工206人考前自测高频考点模拟试题附答案详解
- 2025年宿州学院高层次人才公开招聘39人考前自测高频考点模拟试题及完整答案详解1套
- 2025北京市通州区漷县镇觅子店社区卫生服务中心招聘非在编护理人员2人模拟试卷及答案详解(夺冠)
- 2025广西贺州市八步生态环境局面向社会招聘工作人员3人考前自测高频考点模拟试题含答案详解
- 2025河南新乡市长垣行知学校招聘中小学教师考前自测高频考点模拟试题附答案详解
- 2025广东省连州市赴高校设点面向社会招聘编制教师37人模拟试卷及参考答案详解1套
- 班组安全培训需求建议课件
- 2025广州医科大学校本部招聘工作人员9人(第二次)模拟试卷及参考答案详解
- 2025年初级药师资格考试试题(附答案)
- 2025国企竞聘上岗与干部竞聘上岗笔试题及答案
- 人工智能与建筑产业体系智能化升级研究报告
- 学习通《大学生就业指导》章节测试含答案
- GB/T 4025-2010人机界面标志标识的基本和安全规则指示器和操作器件的编码规则
- 水池(水箱)清洗记录
- 大学学生转学(转入)申请表
- 角膜 角膜炎课件
- DL∕T 5440-2020 重覆冰架空输电线路设计技术规程
- 《发展汉语(第二版)初级读写Ⅱ》全套教案
- 孔明灯(Lantern)3.4使用指南课件
评论
0/150
提交评论