欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    TMS320C55X dsp原理及应用 汪春梅新的第3章.ppt

    • 资源ID:74913059       资源大小:520.50KB        全文页数:134页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    TMS320C55X dsp原理及应用 汪春梅新的第3章.ppt

    第三章第三章 TMS320C55x的指令的指令系统系统 n n3.1 寻址方式 n n3.2 TMS320C55x的指令系统 3.1 寻址方式寻址方式 n n寻址方式:寻址方式:是指如何指定指令和操作数所在存储空间是指如何指定指令和操作数所在存储空间 的地址。的地址。n nC55x DSPC55x DSP支持三种寻址模式支持三种寻址模式 :n n绝对寻址模式绝对寻址模式:指令里有一个地址的全部或者部分指令里有一个地址的全部或者部分,指示目的地址指示目的地址;n n直接寻址模式直接寻址模式:使用偏移地址指示目的地址使用偏移地址指示目的地址;n n间接寻址模式间接寻址模式:使用指针指示目的地址。使用指针指示目的地址。支持寻址模式操作数的指令应具有下表所示的句法元素:支持寻址模式操作数的指令应具有下表所示的句法元素:句法元素句法元素描述描述SmemSmem指令语句里含有指令语句里含有SmemSmem时,该指令可以访问数据存储器、时,该指令可以访问数据存储器、I/OI/O空间或者空间或者MMRMMR中的一个单字(中的一个单字(16bits)16bits)。写该指令语句。写该指令语句时,用一个兼容的寻址模式操作数来代替时,用一个兼容的寻址模式操作数来代替SmemSmem。LmemLmem指令语句里含有指令语句里含有LmemLmem时,该指令可以访问数据存储器或时,该指令可以访问数据存储器或者者MMRMMR中的一个长字(中的一个长字(32bits)32bits)。写该指令语句时,用一个。写该指令语句时,用一个兼容的寻址模式操作数来代替兼容的寻址模式操作数来代替SmemSmem。Xmem and Ymem Xmem and Ymem 指令语句里含有指令语句里含有Xmem and YmemXmem and Ymem时,该指令可以对数据存时,该指令可以对数据存储器同时作两次储器同时作两次16bits16bits的访问。写该指令语句时,用兼容的访问。写该指令语句时,用兼容的寻址模式操作数来代替的寻址模式操作数来代替Xmem and Ymem Xmem and Ymem。CmemCmem指令语句里含有指令语句里含有CmemCmem时,该指令可以访问数据存储器的时,该指令可以访问数据存储器的单字(单字(16bits)16bits)。写该指令语句时,用一个兼容的寻址模式。写该指令语句时,用一个兼容的寻址模式操作数来代替操作数来代替CmemCmem。BaddrBaddr指令语句里含有指令语句里含有BaddrBaddr时,该指令可以访问累加器时,该指令可以访问累加器(AC0AC3)AC0AC3)、辅助寄存器(、辅助寄存器(AR0AR7)AR0AR7)或或T0T3T0T3中的一个中的一个bitbit或者两个或者两个bitbit。只有寄存器。只有寄存器bitbit测试测试/设置设置/清除清除/取反指令取反指令支持支持BaddrBaddr。写任意一条此类指令语句时,用一个兼容的写任意一条此类指令语句时,用一个兼容的寻址模式操作数来代替寻址模式操作数来代替BaddrBaddr 。3.1.1 绝对寻址模式寻址模式寻址模式功能功能k16k16绝对寻址绝对寻址用用DPHDPH的的7-bit7-bit寄存器,和一个寄存器,和一个16-bit16-bit无无符号常数构成一个符号常数构成一个23-bit23-bit数据空间地址。数据空间地址。该模式可以访问存储器或者该模式可以访问存储器或者MMRMMR。k23k23绝对寻址绝对寻址指定一个指定一个23-bit23-bit无符号常数作为全地址。无符号常数作为全地址。该模式可以访问存储器或者该模式可以访问存储器或者MMRMMR。I/OI/O绝对寻址绝对寻址指定一个指定一个16bit16bit无符号常数作为无符号常数作为I/OI/O地址地址,该模式可以访问该模式可以访问I/OI/O空间。空间。n nk16k16绝对寻址绝对寻址绝对寻址绝对寻址n n其操作数为其操作数为*abs16(#k16)*abs16(#k16),其中,其中,k16k16为为1616位无符号常数。位无符号常数。n n将将7 7位的寄存器位的寄存器DPHDPH和和k16k16级联形成一个级联形成一个2323位的地址,用位的地址,用于对数据空间的访问。该模式可以访问一个数据存储器于对数据空间的访问。该模式可以访问一个数据存储器单元或者单元或者MMRMMR。k k1 16 6绝绝绝绝对对对对寻寻寻寻址址址址模模模模式式式式 n nk16k16绝对寻址绝对寻址绝对寻址绝对寻址n n其操作数为其操作数为*abs16(#k16)*abs16(#k16),其中,其中,k16k16为为1616位无符号常数。位无符号常数。n n将将7 7位的寄存器位的寄存器DPHDPH和和k16k16级联形成一个级联形成一个2323位的地址,用位的地址,用于对数据空间的访问。该模式可以访问一个数据存储器于对数据空间的访问。该模式可以访问一个数据存储器单元或者单元或者MMRMMR。指令实例:(1)语法格式:MOV Smem,dst 指令语句:MOV *abs16(#2002h),T2指令实例:(2)语法格式:MOV K16,Smem 指令语句:MOV#248,*abs16(#2002h)n nk16k16绝对寻址绝对寻址绝对寻址绝对寻址程序执行的结果是:T2=。汇编语言k16绝对寻址程序阅读与分析:.def start .mmregs .text start:MOV#03H,DPH MOV#24,*abs16(#2002h)MOV *abs16(#2002h),T2here:b here操作数*abs16(#2002h)的寻址地址:。032002H0018Hn nk23k23绝对寻址绝对寻址n n操作数为操作数为 *(#k23)*(#k23),其中,其中,k23k23为为2323位的无符号常数,作为所位的无符号常数,作为所寻址数据空间的地址。寻址数据空间的地址。k23 k23绝对寻址模式绝对寻址模式绝对寻址模式绝对寻址模式 n nI/OI/O绝对寻址绝对寻址n n对于对于代数格式代数格式代数格式代数格式汇编语言指令,操作数是汇编语言指令,操作数是*port(#k16)*port(#k16),其中,其中 k16k16为为1616位无符号常数,用于指明位无符号常数,用于指明1616位位I/OI/O端口地址。端口地址。n n使用使用助记符格式助记符格式助记符格式助记符格式汇编语言指令,其操作数是汇编语言指令,其操作数是port(#k16)port(#k16)(操(操作数前没有作数前没有*)。)。I/OI/O绝对寻址绝对寻址绝对寻址绝对寻址 3.1.2 3.1.2 直接寻址模式直接寻址模式 直接寻址直接寻址直接寻址直接寻址 的分类见下表的分类见下表 :寻址模式寻址模式描述描述DPDP直接寻址直接寻址使用使用DPHDPH指定的主数据页,和指定的主数据页,和DPDP相连接形成相连接形成2323位数据空间地址,用于访问存储器和位数据空间地址,用于访问存储器和MMRMMR。SPSP直接寻址直接寻址使用使用SPHSPH指定的主数据页,和指定的主数据页,和SPSP相连接形成相连接形成2323位位地址,用于访问数据存储器里的堆栈值。地址,用于访问数据存储器里的堆栈值。寄存器寄存器bitbit直接直接寻址寻址用一个偏移来指定一个用一个偏移来指定一个bitbit地址。该模式用于访问地址。该模式用于访问一个寄存器一个寄存器bitbit或者两个相邻的寄存器或者两个相邻的寄存器bitbit。PDPPDP直接寻直接寻址址用用PDPPDP(外设数据页寄存器)和一个偏移,来指(外设数据页寄存器)和一个偏移,来指定一个定一个I/OI/O端口地址。该模式用来访问端口地址。该模式用来访问I/OI/O空间空间的单元。的单元。3.1.2 3.1.2 直接寻址模式直接寻址模式 直接寻址直接寻址直接寻址直接寻址 中的中的DPDP直接寻址和直接寻址和SPSP寻址与状态寄存器寻址与状态寄存器ST1-ST1-5555的的CPLCPL位有关。位有关。当当CPL=0CPL=0采用采用DPDP直接寻址模式,操作数直接寻址模式,操作数DaddrDaddr当当CPL=1CPL=1采用采用SPSP直接寻址模式,操作数直接寻址模式,操作数*SP(offset)*SP(offset)直接寻址模式直接寻址模式中的寄存器寄存器bitbit直接寻址直接寻址和PDPPDP直接寻址直接寻址与状 态寄存器ST1-55的CPL位无关。3.1.2 3.1.2 直接寻址模式直接寻址模式 一、一、一、一、DP DP 直接寻址直接寻址直接寻址直接寻址 DP DP直接寻址直接寻址直接寻址直接寻址的的2323位地址构成:位地址构成:n n高高7 7位由位由 DPH DPH 提供,用来确定主数据页;提供,用来确定主数据页;n n其余低其余低1616位为以下两部分的和:位为以下两部分的和:(1 1)DP DP 里的值。里的值。DPDP定义了在主数据页内的起始地址。定义了在主数据页内的起始地址。(2 2)汇编程序计算的汇编程序计算的7-bit7-bit偏移量(偏移量(DoffsetDoffset)。)。D DP P直直直直接接接接寻寻寻寻址址址址模模模模式式式式 n nDP DP 直接寻址直接寻址直接寻址直接寻址偏移量(偏移量(DoffsetDoffset)的计算)的计算 访问对象访问对象计算计算DoffsetDoffset说明说明数据存储器数据存储器Doffset=Doffset=(Daddr-.dp)&7FhDaddr-.dp)&7FhDaddrDaddr是读是读/写操作的写操作的16bit16bit地址,地址,.dp.dp是利用汇编伪指令分配的数值(一是利用汇编伪指令分配的数值(一般般DPDP的匹配),的匹配),&表示按位表示按位“与与”MMRMMRDoffset=Doffset=Daddr&7FhDaddr&7FhDaddrDaddr是读是读/写操作的写操作的16bit16bit地址,地址,&表表示按位示按位“与与”,mmap()mmap()迫使迫使CPUCPU把数把数据页视为据页视为0 0来操作。来操作。Doffset的计算有两种情况:表2-1 DP 直接寻址直接寻址Doffset的计算一、DP 直接寻址n nDP DP 直接寻址偏移量(直接寻址偏移量(直接寻址偏移量(直接寻址偏移量(DoffsetDoffset)的计算)的计算)的计算)的计算 DP 直接寻址直接寻址 Doffset 的计算代码示例:的计算代码示例:The assembler calculates Doffset:Doffset=(1)寻址数据存储器寻址数据存储器 At run time,the 23-bit data-space address is generated:23-bit address=(Daddr .dp)&7Fh=(FFF4h FFF0h)&7Fh=04hDPH:(DP+Doffset)=03:(FFF0h+0004h)=03 FFF4hAMOV#03FFF0h,XDP.dp#0FFF0hMOV 0FFF4h,T2指令实例:指令实例:;Main data page is 03.For run-time,;DP is FFF0h.;For assembly time,.dp is FFF0h.;Load T2 with the value at local;address FFF4h.分析:分析:一、DP 直接寻址n nDP DP 直接寻址偏移量(直接寻址偏移量(直接寻址偏移量(直接寻址偏移量(DoffsetDoffset)的计算)的计算)的计算)的计算 DP 直接寻址直接寻址 Doffset 的计算代码示例:的计算代码示例:汇编器计算偏移量:Doffset=(2)寻址寻址 MMRMMR(memory-mapped register memory-mapped register)程序运行时:(CPU:DPH=DP=0)23-bit 地址产生如下:23-bit address=Daddr&7Fh=0010h&7Fh=10hDPH:(DP+Doffset)=00:(0000h+0010h)=00 0010hMOV mmap(AR0),T2 ;Load T2 with the value in AR0.;mmap()qualifier indicates access to MMR.;AR0 is mapped to address 000010h in data space指令实例:指令实例:分析:分析:一、DP 直接寻址 n n二、二、二、二、SPSP直接寻址直接寻址直接寻址直接寻址 SPSP直接寻址的直接寻址的直接寻址的直接寻址的2323位地址构成:位地址构成:位地址构成:位地址构成:n n最高最高7 7位地址由寄存器位地址由寄存器SPHSPH确定;确定;n n低低1616位地址是位地址是SPSP值和指令里指定的值和指令里指定的7 7位偏移量之和。偏移量范围是位偏移量之和。偏移量范围是01270127。(由。(由SPHSPH和和SPSP构成了扩展数据堆栈指针构成了扩展数据堆栈指针XSPXSP)SPSP直接寻址模式直接寻址模式直接寻址模式直接寻址模式 n n二、二、二、二、SPSP直接寻址直接寻址直接寻址直接寻址 SPSP直接寻址的直接寻址的直接寻址的直接寻址的2323位地址构成:位地址构成:位地址构成:位地址构成:n n最高最高7 7位地址由寄存器位地址由寄存器SPHSPH确定;确定;n n低低1616位地址是位地址是SPSP值和指令里指定的值和指令里指定的7 7位偏移量之和。偏位偏移量之和。偏移量范围是移量范围是01270127。指令实例:(1)语法格式:MOV Smem,dst 指令语句:MOV *SP(5),T2指令寻址分析:假设SPH=00h,SP=FF00h;操作数*SP(5),T2的寻址地址为:指令执行结果:将数据空间中地址为00 FF05h单元内的数值加 载到T2寄存器中。SPH:(SP+offset)=00 FF05h;n n三、寄存器位直接寻址三、寄存器位直接寻址三、寄存器位直接寻址三、寄存器位直接寻址模式模式n n操作数是操作数是bitoffset bitoffset n n只有寄存器的位测试、置位、清零、取反指令支持这只有寄存器的位测试、置位、清零、取反指令支持这种寻址模式。种寻址模式。说明:(1)偏移量bitoffset 是从所要位寻址的寄存器最低位开始,如果bitoffset 是3,则正在寻址该寄存器的第 3 位。(2)该寻址方式只能访问以下的寄存器:AC0AC3、AR0AR7、T0T3。指令实例:(1)语法格式:BSET Baddr,src 指令语句:BSET 0,AC3 CPU 置位AC3的第零位。指令寻址分析:n n四、四、四、四、PDPPDP直接寻址直接寻址直接寻址直接寻址 使用PDP 寻址方式时,16bit 的I/O 空间地址的形成如下:64K 16bit 的I/O空间被分成512个外设数据页,每页有128个字,用9位的外设数据页指针寄存器PDP指出页地址,同时由指令中指定的一个7位偏移值来表示页内的偏移量,从而形成一个16bit 的外设I/O地址。n n四、四、四、四、PDPPDP直接寻址直接寻址直接寻址直接寻址 图 2-5 PDP 直接寻址模式n n四、四、四、四、PDPPDP直接寻址直接寻址直接寻址直接寻址 指令实例:用PDP直接寻址直接寻址模式访问I/O空间 语法:MOV Smem,dst 语句:MOV port(0),T2;指令寻址地址:PDP:Poffset 语法:MOV k9,PDP 语句:MOV#008,PDP;PDP=008h 初始化 PDP寄存器的语句:MOV port(0),T2;PDP:Poffset=0400h 3.1.3 间接寻址模式间接寻址模式CPU支持的间接寻址模式见下表:寻址模式寻址模式功功 能能ARAR间接间接寻址寻址使用使用8 8个辅助寄存器(个辅助寄存器(AR0AR7)AR0AR7)中的一个指向数据。中的一个指向数据。CPUCPU用辅助寄存器来产生地址的方式取决于访问数据用辅助寄存器来产生地址的方式取决于访问数据空间、单个寄存器位或者空间、单个寄存器位或者I/OI/O空间。空间。双双ARAR间间接寻址接寻址地址产生过程与地址产生过程与ARAR间接寻址模式相同。间接寻址模式相同。该模式用在该模式用在访问两个或者多个数据存储器单元的指令中。访问两个或者多个数据存储器单元的指令中。CDPCDP间接间接寻址寻址用系数数据指针(用系数数据指针(CDP)CDP)指向数据。指向数据。CPU CPU用用CDPCDP产生产生的地址的方式取决于访问数据空间、单个寄存器位或的地址的方式取决于访问数据空间、单个寄存器位或者者I/OI/O空间。空间。系数间接系数间接寻址寻址地址产生过程与地址产生过程与CDPCDP间接寻址模式相同。该模式所支间接寻址模式相同。该模式所支持的指令,可以在访问数据存储器里一个系数的同时,持的指令,可以在访问数据存储器里一个系数的同时,用双用双ARAR间接寻址访问另外两个数据存储器的值。间接寻址访问另外两个数据存储器的值。一、一、一、一、ARAR间接寻址模式间接寻址模式间接寻址模式间接寻址模式 n n通过一个辅助寄存器通过一个辅助寄存器通过一个辅助寄存器通过一个辅助寄存器ARnARn(n=0,1,2,3,4,5,6,7n=0,1,2,3,4,5,6,7)访问数据。)访问数据。)访问数据。)访问数据。n nST2-55ST2-55的的的的ARMSARMS位决定位决定位决定位决定ARAR间接寻址的操作类型间接寻址的操作类型间接寻址的操作类型间接寻址的操作类型n nARMS=0ARMS=0,DSPDSP模式:模式:模式:模式:CPUCPU提供提供提供提供DSPDSP增强应用的高效执行功能;增强应用的高效执行功能;增强应用的高效执行功能;增强应用的高效执行功能;n nARMS=1ARMS=1,控制模式:,控制模式:,控制模式:,控制模式:CPUCPU能够优化代码的长度。能够优化代码的长度。能够优化代码的长度。能够优化代码的长度。n nARnARn产生地址的方式取决于所访问的类型,具体见下表:产生地址的方式取决于所访问的类型,具体见下表:产生地址的方式取决于所访问的类型,具体见下表:产生地址的方式取决于所访问的类型,具体见下表:表2-4 AR间接寻址模式访问的类型访访 问问ARnARn包含包含 数据存储空间数据存储空间(存储器或(存储器或MMR)MMR)一个一个2323位地址的低位地址的低1616位。高位。高7 7位由位由ARnHARnH来提供。来提供。单个寄存器单个寄存器bitbit(或相邻两个或相邻两个bit)bit)一个一个bitbitI/OI/O空间空间一个一个16-bit16-bit的的I/OI/O地址。地址。3.1.3 间接寻址模式 3.1.3 3.1.3 间接寻址模式间接寻址模式间接寻址模式间接寻址模式(1)AR间接寻址模式访问间接寻址模式访问 数据存储空间数据存储空间 访问数据空间时,使用一条装入XARn的指令,语法:AMOV k23,XAdst 语句:AMOV#7FFFFFh,XAR0;将23位地址值(7FFFFFh)存 入XAR0。3.1.3 3.1.3 间接寻址模式间接寻址模式间接寻址模式间接寻址模式(2)AR间接寻址模式访问间接寻址模式访问 寄存器位寄存器位 访问寄存器位时,所选择的辅助寄存器,ARn中只有一个bit。例如:AR6里是0,则AR6指向所操作寄存器的最低bit 0。指令实例:(1)语法格式:BSET Baddr,src 指令语句:MOV#15,AR6 BSET*AR6,AC3 CPU 置位AC3的第15位。指令寻址分析:说明:(1)该寻址方式只能访问以下的寄存器:AC0AC3、AR0AR7、T0T3。3.1.3 3.1.3 间接寻址模式间接寻址模式间接寻址模式间接寻址模式(3)AR间接寻址模式访问间接寻址模式访问 I/O空间空间 访问I/O空间时,用16bit 地址访问I/O空间里的字,辅助寄存器ARn中包含全部16-bit I/O地址。指令实例:用 AR间接寻址间接寻址 模式访问I/O空间 语法:MOV Smem,dst 语句:MOV port(*ARn),T2;I/O空间中的值读入到T2中。MOV#FF80h,AR6;MOV port(*AR6),T2;MOV T2,port(*AR6+);MOV port(*-AR6),T2;作业:分析每一条程序语句 的运行结果。3.1.3 3.1.3 间接寻址模式间接寻址模式间接寻址模式间接寻址模式 二、双二、双 AR间接寻址模式访问间接寻址模式访问 多数据空间多数据空间 双双 AR间接寻址模式用来:间接寻址模式用来:(1)执行访问两个执行访问两个16-bit数据存储器(数据存储器(Xmem and Ymem)的指令。)的指令。例如 指令语法:ADD Xmem,Ymem,ACx(2)并行执行两条指令,每条指令必须单独访问一个存储器Smem or Lmem。例如 指令语法:MOV Smem,dst|AND Smem,src,dst提问:查本书附录分析指令功能。提问:查本书附录分析指令功能。3.1.3 3.1.3 间接寻址模式间接寻址模式间接寻址模式间接寻址模式 三、三、CDP间接寻址模式间接寻址模式 CDP间接寻址模式使用系数数据寄存器间接寻址模式使用系数数据寄存器CDP访问访问数据空间数据空间、寄存器位寄存器位和和 I/O空间空间。CDPCDP间接寻址操作数间接寻址操作数间接寻址操作数间接寻址操作数 3.1.3 间接寻址模式间接寻址模式三、CDP间接寻址模式指令实例:用 CDP间接寻址间接寻址 模式访问I/O空间 语法:MOV Smem,dst 语句:MOV port(*CDP),T2;I/O空间中的值(地址为CDP中的16-;bit数值)读入到T2中。指令实例:用 CDP间接寻址间接寻址 模式访问数据空间 语法:MOV Smem,dst 语句:MOV(*CDP),T2;数据空间中的值(地址为XDP中的23-;bit数值)读入到T2中。;CDPH:CDP=XCDP3.1.3 3.1.3 间接寻址模式间接寻址模式 四、系数间接寻址模式 系数间接寻址模式的地址产生过程与CDP间接寻址模式数据空间的地址产生过程一样。支持以下算术指令:FIR滤波、乘法、乘加、乘减、双乘加或双乘减。系数间接寻址模式功用:系数间接寻址模式主要是每个周期对3个存储器操作数操作的指令。其中两个操作数(Xmem和Ymem)用双AR间接寻址模式访问,第三个操作数Cmem用系数间接寻址模式访问。四、系数间接寻址模式四、系数间接寻址模式3.1.3 间接寻址模式间接寻址模式指令实例:系数间接寻址 模式 语法:MPY Xmem,Cmem,ACx :MPY Ymem,Cmem,ACy 语句:MPY*AR0,*CDP,AC0;两个操作数(Xmem和Ymem)用 ;双AR间接寻址模式访问。:MPY*AR1,*CDP,AC1;系数数据Cmem采用系数间接寻 ;址,地址为CDPH:CDP=XCDP。指令寻址分析:CPU用XCDP处的系数乘以XAR0的值,并将结果存储到AC0中;同时,用同一个系数乘以XAR1的值,将结果存储到AC1中,不修改CDP的值。指令说明:Cmem必须放在与Xmem和Ymem不同的存储器块里。四、系数间接寻址模式四、系数间接寻址模式3.1.3 间接寻址模式间接寻址模式系数间接寻址操作数系数间接寻址操作数 3.2 TMS320C55X的指令系统指令实例:MPY*AR0,*CDP,AC0:MPY*AR1,*CDP,AC1;隐含并行系数间接寻址方式一、一、C55X指令的并行执行指令的并行执行(1)单指令中)单指令中内置内置并行方式并行方式 由一条指令同时执行两个不同的操作,通常用符号由一条指令同时执行两个不同的操作,通常用符号“:”来分割指令的两个部分,这种并行方式也称为隐含(来分割指令的两个部分,这种并行方式也称为隐含(内置内置)并)并行方式。行方式。3.2 TMS320C55X的指令系统指令实例:MPYM *AR1-,*CDP,AC1|XOR AR2,T1;第一条指令在D单元执行乘法运算,第二条指令在A单元的ALU执行一个逻辑操作。一、C55X指令的并行执行(2)用户自定义的两条指令间的并行方式 这类并行指令是用户或者C语言编译器定义的,是由两条指令同时并行执行两个操作,通常用符号“|”来分隔这两条指令。3.2 TMS320C55X的指令系统指令实例:MPYM T3=*AR3+,AC1,AC2|MOV#5,AR1;第一条指令隐含了内置并行方式 ;第二条指令是用户自定义的并行方式。一、C55X指令的并行执行(3)内置与用户自定义混合的并行方式。指令分析:MPYMR40 T3=uns(Xmem),uns(Ymem),ACx;ACx=M40(rnd(uns(Xmem)*uns(Ymem),T3=Xmem指令并行的规则指令并行的规则指令并行的规则指令并行的规则n n两条指令的总长度不能超过两条指令的总长度不能超过6 6个字节个字节n n在指令的执行过程中不存在操作器、地址产生单元、总线在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突等资源冲突n n其中一条指令必须有并行使能位或两条指令符合软其中一条指令必须有并行使能位或两条指令符合软-双并行双并行条件条件3.2 TMS320C55X的指令系统一、C55X指令的并行执行n n不能使用并行方式的情况不能使用并行方式的情况 n n使用立即数寻址方式使用立即数寻址方式 n n例如:例如:例如:例如:*abs16(#k16)*abs16(#k16);*(#k23)*(#k23);port(#k16)port(#k16);*ARn(K16)*ARn(K16);*+ARn(K16)*+ARn(K16);*CDP(K16)*CDP(K16);*+CDP(K16)*+CDP(K16)n n条件跳转、条件调用、中断、复位等程序控条件跳转、条件调用、中断、复位等程序控制指令制指令n n例如:例如:例如:例如:BCC P24,condBCC P24,cond;CALLCC P24,condCALLCC P24,cond;IDLEIDLE;INTR k5INTR k5;RESETRESET;TRAP k5 TRAP k5 n n使用下列指令或者操作修饰符使用下列指令或者操作修饰符n n例如:例如:例如:例如:mmap()mmap();port()port();.CR.CR;.LR.LR n n资源冲突资源冲突n nC55xC55x的资源的资源 n n运算器运算器 n n使用的操作器有:使用的操作器有:DD单元的单元的ALUALU、DD单元的移位器、单元的移位器、DD单元单元的交换器、的交换器、A A单元的交换器、单元的交换器、A A单元的单元的ALUALU和和P P单元单元 n n地址产生单元地址产生单元n n两个数据地址(两个数据地址(DADA)产生单元、一个系数地址()产生单元、一个系数地址(CACA)产)产生单元和一个堆栈地址(生单元和一个堆栈地址(SASA)产生单元)产生单元 n n只能使用给定数量的数据地址产生单元只能使用给定数量的数据地址产生单元 n n总线总线n n两个数据读(两个数据读(DRDR)总线、一个系数读()总线、一个系数读(CACA)总线、两个)总线、两个数据写(数据写(DWDW)总线、)总线、1 1个个ACBACB总线(将总线(将DD单元寄存器的内单元寄存器的内容传送给容传送给A A单元和单元和P P单元的操作器)、一个单元的操作器)、一个KABKAB总线(立即总线(立即数总线)和一个数总线)和一个KDBKDB总线(立即数总线)总线(立即数总线)n n只能使用给定数量的总线只能使用给定数量的总线 n n软软-双并行条件双并行条件 n n两个存储器操作数必须是双两个存储器操作数必须是双ARAR间接寻址模式间接寻址模式 n n指令不能包含指令不能包含high_byte(Smem)high_byte(Smem)和和low_byte(Smem)low_byte(Smem)n n指令不能读、写同一个存储器单元指令不能读、写同一个存储器单元 n n如果指令中的如果指令中的k4k4的值是的值是0808,就会改变,就会改变XDP XDP 的的值,所以,不能与加载值,所以,不能与加载DPDP的指令组成并行指令的指令组成并行指令 n n读重复计数寄存器(读重复计数寄存器(RPTCRPTC)指令不能和如下的)指令不能和如下的任何一个单重复指令组成并行指令任何一个单重复指令组成并行指令 n n算术运算指令算术运算指令n n位操作指令位操作指令n n扩展辅助寄存器操作指令扩展辅助寄存器操作指令n n逻辑运算指令逻辑运算指令n n移动指令移动指令n n程序控制指令程序控制指令注:注:注:注:一条指令的属性包括:指令,执行的操作,是否有一条指令的属性包括:指令,执行的操作,是否有一条指令的属性包括:指令,执行的操作,是否有一条指令的属性包括:指令,执行的操作,是否有并行使能位,长度,周期,在流水线上的执行阶段以及并行使能位,长度,周期,在流水线上的执行阶段以及并行使能位,长度,周期,在流水线上的执行阶段以及并行使能位,长度,周期,在流水线上的执行阶段以及执行的功能单元等执行的功能单元等执行的功能单元等执行的功能单元等。3.2 TMS320C55X的指令系统二、TMS320C55XDSP的汇编指令TMS320C55X DSPTMS320C55X DSP的汇编指令指令集中使用的术语、符号和缩写的汇编指令指令集中使用的术语、符号和缩写的汇编指令指令集中使用的术语、符号和缩写的汇编指令指令集中使用的术语、符号和缩写 指令集中使用的运算符指令集中使用的运算符指令集中使用的运算符指令集中使用的运算符 n n算术运算指令算术运算指令 n n加法指令加法指令 n n加法指令有几点说明:加法指令有几点说明:n n如果目的操作数是累加器如果目的操作数是累加器ACxACx,在,在DD单元的单元的ALUALU中进行运算操中进行运算操作;作;n n如果目的操作数是辅助或临时寄存器如果目的操作数是辅助或临时寄存器TAxTAx,在,在A A单元的单元的ALUALU中中进行运算操作;进行运算操作;n n如果目的操作数是存储器(如果目的操作数是存储器(SmemSmem),在),在DD单元的单元的ALUALU中进行中进行运算操作;运算操作;n n如果是移位指令(如果是移位指令(1616位立即数移位除外),在位立即数移位除外),在DD单元移位器中单元移位器中进行运算操作进行运算操作n n状态位状态位 n n影响指令执行的状态位有:影响指令执行的状态位有:CARRYCARRY,C54CMC54CM,M40M40,SATASATA,SATDSATD,SXMD SXMD n n执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVxACOVx,ACOVyACOVy,CARRY CARRY n n状态位的含义见本书的状态位的含义见本书的附录附录C C:TMS320C55XTMS320C55X的状态寄存器的状态寄存器。加加加加法法法法指指指指令令令令 n n举例:举例:举例:举例:ADD*AR3+,T0,T1 ADD*AR3+,T0,T1;AR3AR3间接寻址得到的间接寻址得到的内容与内容与T0T0的内容相加,结果装入的内容相加,结果装入T1T1,并将,并将AR3AR3增增1 1。执行前T0 0302 3300 0 0 EF00数据存储器0302hAR3 T1CARRYT0 0303 3300 2200 1 EF00数据存储器0302hAR3 T1CARRY执行后n n举例:举例:举例:举例:ADD*AR1T0,AC1,AC0;ADD*AR1T0,AC1,AC0;将由将由AR1AR1寻址得寻址得到的内容左移到的内容左移T0T0位与位与AC1AC1相加,结果装入相加,结果装入AC0 AC0 CARRY=0见仿真结果Carry受bit 31影响!n n减法指令减法指令n n状态位状态位n n影响指令执行的状态位有:影响指令执行的状态位有:CARRYCARRY,C54CMC54CM,M40M40,SATASATA,SATDSATD,SXMDSXMD。n n执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVxACOVx,ACOVyACOVy,CARRY CARRY n n指令指令减减减减法法法法指指指指令令令令 n n举例:举例:举例:举例:SUB uns(*AR1),BORROW,AC0,AC1 SUB uns(*AR1),BORROW,AC0,AC1将将CARRYCARRY位求反,位求反,AC0AC0减去由减去由AR1AR1寻址得到的寻址得到的内容及内容及CARRYCARRY的内容,并将结果装入的内容,并将结果装入AC1AC1 n n条件减法条件减法 n n指令指令 n nSUBC Smem,ACx,ACySUBC Smem,ACx,ACyif(ACx (Smem=0)if(ACx (Smem=0)ACy=(ACx (Smem#15)#1+1ACy=(ACx (Smem#15)#1+1elseelseACy=ACx#1 ACy=ACx#1 n n状态位状态位n n影响指令执行的状态位有:影响指令执行的状态位有:SXMD SXMD。n n执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVyACOVy,CARRYCARRYn n举例:举例:举例:举例:SUBC*AR1,AC0,AC1 SUBC*AR1,AC0,AC1 如果如果(AC0 (*AR1)=0(AC0 (*AR1)=0,则,则AC1=(AC0 (*AR1)AC1=(AC0 (*AR1)#15)#1+1#15)#1+1,否则,否则AC1=AC0#1 AC1=AC0#1 n n条件加减法条件加减法 n n指令指令 n n状态位状态位n n影响指令执行的状态位有:影响指令执行的状态位有:C54CMC54CM,M40M40,SATDSATD,SXMDSXMD,TC1TC1,TC2TC2。n n执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVyACOVy,CARRY CARRY n n举例:举例:举例:举例:ADDSUBCC*AR1,AC0,TC2,AC1 ADDSUBCC*AR1,AC0,TC2,AC1 如果如果 TC2=1 TC2=1,则,则AC1=AC0+(*AR1#16AC1=AC0+(*AR1#16,否则否则AC1=AC0AC1=AC0(*AR1(*AR1)#16#16n n乘法指令乘法指令 n n指令指令在在DD单元的单元的MACMAC中完成操作中完成操作 n n状态位状态位n n影响指令执行的状态位有:影响指令执行的状态位有:FRCTFRCT,SMULSMUL,M40M40,RDMRDM,SATD SATD n n执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVxACOVx,ACOVyACOVy乘乘乘乘法法法法指指指指令令令令 n n举例:举例:MPY AC1,AC0;AC1=AC0*AC1 n n乘加指令乘加指令 n n指令指令在在DD单元的单元的MACMAC中完成操作中完成操作 n n状态位状态位n n影响指令执行的状态位有:影响指令执行的状态位有:FRCTFRCT,SMULSMUL,M40M40,RDMRDM,SATDSATD。n n执行指令后会受影响的状态位:执行指令后会受影响的状态位:ACOVxACOVx,ACOVy ACOVy 乘乘乘乘加加加加指指指指令令令令n n举例举例1:MACMR*AR1,*CDP,AC2 AC2=AC2+AC2=AC2+(*AR1*AR1)*(*C

    注意事项

    本文(TMS320C55X dsp原理及应用 汪春梅新的第3章.ppt)为本站会员(得****1)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开