第3章 TMS320C55x的指令系统 4,系数间接寻址模式 系数间接寻址模式的地址产生过程与使用CDP间接寻址数据空间的地址 产生过程一样。CDP间接寻址模式支持以下算术指令:FR滤波、乘法、乘 加、乘减和双乘加或双乘减。 序号 操作数 地址修改 1 *CDP CDP未修改 2 *CDP+ 在生成地址之后增加:16位操作,CDP=CDP+1 32位操作,CDP=CDP+2 3 *CDP- 在生成地址之后减少:16位操作,CDP=CDP-1 32位操作,CDP=CDP-2 在生成地址之后,CDP加上T0或AR0中16位带符号 4 *(CDP+TO/ARO) 的常数:如果C54CM=0,CDP=CDP+T0 如果C54CM=1,CDP=CDP+AR0 2010年7月18日 TMS320C55xDSP原理及应用 26
■举例: ■1小数据存储器的寻址: ■2八存储器影射寄存器(MMR)的寻址: ■3引寄存器位的寻址: ■4/O空间的寻址: 2010年7月18日 TMS320C55xDSP原理及应用 27
第3章 TMS320C55x的指令系统 3.2 TMS320C55x的指令系统 3.2.1C55x指令的并行执行 1.指令并行的特征 C55xDSP的结构特点使其在一个周期内可以并行地执行两条指令。 C55x支持三种类型的并行指令。 (1)单指令中内置并行方式 这类并行指令是由一条指令同时执行两个不同的操作,通常用符号 “:”来分隔指令的两个部分,这种并行方式也称为隐含并行方式。例如 MPY *AR0,*CDP,ACO :MPY *AR1,*CDP,AC1 这是一条单指令,由AR0引用的数据与由CDP引用的系数相乘,同 时,由AR1引用的数据与该系数相乘。 2010年7月18日 TMS320C55xDSP原理及应用 28
第3章 TMS320C55x的指令系统 (2)用户自定义的两条指令间的并行方式 这类并行指令是用户或C语言编译器定义的,是由两条指令同时并 行执行两个操作,通常用符号“”来分隔这两条指令。例如: MPYM*AR1-,*CDP,AC1 XOR AR2,T1 第一条指令在D单元执行乘法运算,第二条指令在A单元的ALU执 行一个逻辑操作。 (3)内置与用户自定义混合的并行方式 例如: MPYM T3=*AR3+,AC1,AC2 ‖MOV#5,AR1 第一条指令隐含了内置并行方式,第二条指令是用户自定义的并行 方式。 2010年7月18日 TMS320C55xDSP原理及应用 29
第3章 TMS320C55x的指令系统 2,指令并行的规则 在并行指令中,必须遵守三条基本规则: ①两条指令的总长度不能超过6个字节。 ②在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突。 ③其中一条指令必须有并行使能位或两条指令符合软一双并行条件。 下面介绍不能使用并行方式的情况: (1)使用立即数寻址方式 例如: *abs16(#k16) *(#k23) port(#k16) *ARn(K16) *+ARn(K16) *CDP(K16) *+CDP(K16) 2010年7月18日 TMS320C55xDSP原理及应用 30