DSP原理及应用PPT教程第五章 DSP的汇编指令.ppt
《DSP原理及应用PPT教程第五章 DSP的汇编指令.ppt》由会员分享,可在线阅读,更多相关《DSP原理及应用PPT教程第五章 DSP的汇编指令.ppt(42页珍藏版)》请在三一办公上搜索。
1、第五章 TMS320C55x系列DSP的汇编指令,1、高速数字信号处理中常采用汇编语言编程。2、汇编语言中的两种指令集助记符指令集:有助于记忆的符号来表示指令。代数指令集:类似于代数表达式,运算关系清楚明了。注意:DSP的软件开发工具只支持单一的指令形式,不支持助记符指令和代数指令的混合形式。3、术语、符号和缩写见P93的表514、运算符见表52,第五章 TMS320C55xDSP的汇编指令,5.1状态比特和执行条件,一条指令的执行可能会受到某些状态位的影响,也可能会改变某些状态位的值,这些状态位都在状态寄存器。,第五章 TMS320C55x DSP的汇编指令,1、40比特运算模式(M40)用
2、于控制D单元的运行模式,会影响累加器溢出、进位标志等。M40=0时,D单元按32位运算模式,因此累加器溢出、进位、符号扩展和移位操作都以第31比特为准。M40=1时,D单元按40位运算模式,因此累加器溢出,进位,符号扩展和移位操作都以第39比特为准。BCLR M40;Clear M40 BSET M40;Set M40,第五章 TMS320C55x系列DSP的汇编指令,2、累加器溢出状态(ACOVx)当AC0AC3寄存器溢出时,目的累加器的溢出状态位ACOV03被置1。以下情况会清零ACOVx位 复位;CPU执行一个跳转,条件调用,条件返回或执行一条测试ACOVx的指令;通过BCLR指令清除;
3、溢出位检测受ST1_55中的M40位影响,即:M40=0时:溢出位在第31位检测 M40=1时:溢出位在第39位检测,BCLR ACOV1;清零 BSET ACOV1;置位,第五章 TMS320C55x系列DSP的汇编指令,3、兼容模式(C54CM)C54CM=0:CPU工作于增强模式,只支持C55x的指令,C54CM=1:CPU工作于兼容模式,既支持C54x又支持C55x指令。BCLR C54CM;Clear C54CM(happens at run time)C54CM_off;Tell assembler C54CM=0 BSET C54CM;Set C54CM(happens at r
4、un time)C54CM_on;Tell the assembler C54CM=1,第五章 TMS320C55x系列DSP的汇编指令,4、进位标志(CARRY),CARRY表示是否有进位或借位发生,CARRY=0时,没有借位或进位发生。CARRY=1时,有借位或进位发生。位操作指令改变CARRY 进位标志的检测受ST1_55中的M40位影响 M40=0时:进位标志的检测与第31位相关 M40=1时:进位标志的检测与第39位相关,BCLR CARRY;Clear CARRY BSET CARRY;Set CARRY,第五章 TMS320C55x系列DSP的汇编指令,5、分数模式(FRCT)F
5、RCT0:关闭小数模式 FRCT1:打开小数模式,BCLR FRCT;Clear FRCT BSET FRCT;Set FRCT,第五章 TMS320C55x系列DSP的汇编指令,6、中断模式(INTM)INTM0:允许所有可屏蔽中断 INTM1:关闭所有可屏蔽中断,BCLR INTM;Clear INTM BSET INTM;Set INTM,第五章 TMS320C55x系列DSP的汇编指令,7、测试/控制标志(TCx),主要用于保存某些测试指令的结果;可以作为指令执行的条件;举例:CMP AC1=T1,TC1;如果AC1=T1,那么TC11。,BCLR TC1;Clear TC1BSET
6、TC1;Set TC1BCLR TC2;Clear TC2 BSET TC2;Set TC2,第五章 TMS320C55x系列DSP的汇编指令,可以作为指令执行的条件有:(1)累加器的值 ACx=#0 ACx!=#0 ACx#0 ACx=#0(2)溢出标志和进位标志 overflow(ACx)!overflow(ACx)CARRY!CARRY(3)辅助寄存器的值*ARx=#0*ARx!=#0*ARx#0*ARx=#0,第五章 TMS320C55x系列DSP的汇编指令,(4)临时寄存器的值(4个临时寄存器T0T3)Tx=#0 Tx!=#0 Tx#0 Tx=#0(5)测试/控制标志 两个测试/控制
7、标志的状态以及它们的逻辑组合可以作为指令执行的条件:TCx(测试/控制标志为1)!TCx(测试/控制标志为0)TC1&TC2 TC1&!TC2!TC1&TC2!TC1&!TC2 TC1|TC2 TC1|!TC2!TC1|TC2!TC1|!TC2 TC1TC2 TC1!TC2!TC1TC2!TC1!TC2,第五章 TMS320C55x系列DSP的汇编指令,5.3 C55x指令的并行执行1、并行指令的分类 C55只支持有限的指令并行执行,能支持三种类型的指令并行。(1)隐含的或内置的单指令并行 一条指令同时执行两个不同的操作,用“:”来分隔指令的两个部分。MPY*AR0,*CDP,AC0:MPY*
8、AR1,*CDP,AC1 这类指令是利用双MAC来实现的,C55x中,这视为一条单指令。,第五章 TMS320C55x系列DSP的汇编指令,(2)用户自定义的双指令的并行 这两条指令的并行是通过用户或C编译器定义的。两条指令同时执行两个操作,用并行符“|”区分并行执行的两条指令。例:MPYM*AR1,*CDP,AC1;D单元的一个MAC来完成|XOR AR2,T1;A单元的ALU来完成,第五章 TMS320C55x系列DSP的汇编指令,(3)内置并行指令与用户自定义并行指令的混合形式 在不引起资源冲突的情况下,将隐含并行的指令按用户自定义方式与另一条指令并行执行。例:MPY*AR0,*CDP,
9、AC0;隐含的或内置的并行指令:MPY*AR1,*CDP,AC1|MOV#5,AR1;用户自定义并行,第五章 TMS320C55x系列DSP的汇编指令,2、指令并行的规则 只有满足以下三条基本规则,并行指令才可以使用,若非法使用并行指令,可能会导致不可预测的执行结果。规则1:指令长度要少于6个字节 受I单元指令译码器的限制,只有两条指令长度不超过6字节的,才可以作为并行处理。IBQ大小为64字节/译码器大小为6字节 规则2:没有硬件资源冲突 如果两条指令不存在操作数、总线、内部交叉单元和寄存器之间的冲突,则可以并行。,第五章 TMS320C55x系列DSP的汇编指令,规则3:并行指令含有两个数
10、据存储器访问时,必须使用间接寻址模式。以上三条规则是基本规则,缺一不可。例如:MOV*AR,AC1;2个字节|ADD var,AR2;3个字节 两条指令访问两个数据存储单元,第二条指令没有使用间接寻址,不满足规则3,所以不能并行。在实际编程时,只要指令满足这三条基本规则,即可写成并行方式,然后进行编译。如果编译有错,则可参照pp.77-78的8条详细规则进行检测。,第五章 TMS320C55x系列DSP的汇编指令,5.4 TMS320C55x DSP的汇编指令TMS320C55x DSP的汇编指令按操作分为以下6类 算术运算指令 比特操作指令 扩展辅助寄存器操作指令 逻辑操作指令 MOVE操作
11、指令 程序控制指令,一条指令的属性包括:语法(Syntax)执行的操作 操作数 相关的状态位 是否有并行使能位 长度(Size)执行周期(Cycles)在流水线(Pipeline)上的执行阶段 在哪个功能单元执行(Executed)是否可以重复执行等,第五章 TMS320C55x系列DSP的汇编指令,例如:-|ADD uns(*AR3),CARRY,AC1,AC0|No|3|1|X|D-ALU|-说明:NO:不能并行执行 3:指令的长度为3字节 1:周期为1 X:在X(执行)流水线阶段处理D ALU:在D单元ALU执行。执行结果:AC0=(*AR3)+CARRY+AC1状态位:Affected
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP原理及应用PPT教程第五章 DSP的汇编指令 DSP 原理 应用 PPT 教程 第五 汇编 指令
链接地址:https://www.31ppt.com/p-2898155.html