- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第3章 TMS320C55x的指令系统
东华理工大学机械与电子工程学院 TMS320C55x的指令系统 寻址方式 TMS320C55x的指令系统 指令中使用的语法元素符号如下: Smem:来自数据、I/O空间或存储器映射寄存器的16bit数据; Lmem:来自数据空间或存储器映射寄存器的32bit数据; Xmem Ymem:同时来自数据空间的两个16bit数据; Cmem:来自内部数据空间的16bit数据; Baddr:代表累加器AC0-AC3、辅助寄存器AR0-AR7、 暂存器T0-T3的位域,对位域的置1、清0、测试、求补等位运算用到该元素。(Bit-Address) 指令中涉及的寄存器如下: 1.累加器(AC0-AC3 40bit ACxG:ACxH:ACxL) 2.扩展数据页寄存器( XDP,DPH,DP ) XDP的高7位是DPH,DP是数据页寄存器。 DPH和DP都可作为存储器映射寄存器(MMR)访问,但是XDP不可作为MMR访问。 3.辅助寄存器(AR0-7)与扩展辅助寄存器(XAR0-7) ARn可作为存储器映射寄存器(MMR)访问; ARnH是扩展辅助寄存器的高位,不可单独访问,只能通过访问XARn进行。 XARn不是存储器映射寄存器。 寻址方式 寻址方式是指如何指定指令和操作数所在存储空间的地址。 C55x DSP支持三种寻址模式 绝对寻址:模式指令中的常数作为地址或部分地 址完成寻址,共有三种方式:K16,K23,I/O; 直接寻址模式:使用地址的偏移地址寻址,共有 四种方式:DP(ST1-55 CPL=0),SP (ST1-55 CPL=1),寄存器位,PDP(外设数据页指针); 间接寻址模式 :使用指针完成寻址,共有四种方式:AR,双AR,CDP,系数间接寻址。 绝对寻址模式 k16绝对寻址 其操作数为*abs16(#k16),[k16:16位的无符号常数] 将7位的寄存器DPH和k16级联形成一个23位的地址,用于对数据空间的访问 k23绝对寻址 操作数为*(#k23),[ k23:23位的无符号常数 ] I/O绝对寻址 操作数是*port(#k16),[k16:16位无符号常数] 使用助记符指令,操作数是port(#k16)(操作数前没有*) 直接寻址模式 DP直接寻址 高7位由DPH提供,用来确定主数据页 低16位由两部分组成: DP 7位偏移量(Doffset) SP直接寻址 SPH确定高7位地址 16位地址由SP和7位偏移量决定,偏移量范围是0~127 由SPH和SP构成了扩展数据堆栈指针XSP 寄存器位寻址 操作数是@bitoffset ,为寄存器最低位开始的偏移值 只有寄存器的位测试、置位、清零、取反指令支持这种寻址模式 PDP直接寻址 (64K×16位I/O空间,128字/512页,PDP的9位) 间接寻址方式 间接寻址模式 AR间接寻址模式 通过一个辅助寄存器ARn(n=0~7)访问数据空间 ST2-55的ARMS位决定AR间接寻址的操作类型 ARMS=0,DSP模式:CPU提供增强应用的高效执行功能 ARMS=1,控制模式:CPU能够优化代码的长度 双AR间接寻址模式 通过辅助寄存器(AR0~AR7)同时访问两个数据存储单元 实现功能: 执行一条可完成两个16位数据空间访问的指令X/Ymen 并行执行两条指令 ,每条指令访问一个存储数据S/Lmen CDP间接寻址模式 使用系数数据指针(CDP)对数据空间、寄存器位和I/O空间进行访问 系数间接寻址模式 支持以下算术指令: FIR滤波 乘法 乘加 乘减 双乘加或双乘减 3.2.1 C55x指令的并行执行 指令并行的特征 单指令中内置并行方式 —隐含并行方式 例如: MPY *AR0, *CDP, AC0 :: MPY *AR1, *CDP, AC1 用户自定义的两条指令间的并行方式 例如: MPYM *AR1–, *CDP, AC1|| XOR AR2, T1 内置与用户自定义混合的并行方式 例如: MPYM T3=*AR3+, AC1, AC2|| MOV #5, AR1 指令并行的规则 两条指令的总长度不能超过6个字节; 在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突; 其中一条指令必须有并行使能位或两条指令符合软-双并行条件。 不能使用并行方式的情况 使用立即数寻址方式 例如: *abs16(#k16); *(#k23);port(#k16);*ARn(K16); *+ARn(K16);
文档评论(0)