第01讲 指令系统1-寻址方式_第1页
第01讲 指令系统1-寻址方式_第2页
第01讲 指令系统1-寻址方式_第3页
第01讲 指令系统1-寻址方式_第4页
第01讲 指令系统1-寻址方式_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP原理及应用

——TMS320VC55x系列浦铁成putiecheng@163.com*第2页/共28页本节提要引言 存储空间结构简介

CPU寄存器寻址方式*第3页/共28页引言:(1)TMS320C55x存储空间结构简介(1)首先,CPU要知道要做什么?(2)其次,CPU要知道操作数是谁?在哪?(3)再次,CPU执行操作,求和。(4)最后,CPU结果放到那?A+B=C例:+指令助记符:ADDA和B存储空间分配寻址方式CPU寄存器CPU运算单元C存储空间分配寻址方式*第4页/共28页引言:(1)TMS320C55x存储空间结构简介程序空间24位地址,按字节编址,寻址空间16MB;数据空间23位地址,按字编址,寻址空间8MW;I/O空间16位地址,按字编址,寻址空间64KW。*第5页/共28页累加器(AC0~AC3)辅助寄存器(AR0~AR7)注:ARnH没有映射到存储器空间,只能用XARn访问引言:(2)TMS320C55x的CPU寄存器*第6页/共28页临时寄存器(T0~T3)用途:①在乘法、乘加、乘减指令中存放被乘数;②存放移位次数用于加、减和装载指令;系数数据指针(XCDP/CDP)数据页指针(XDP/DP)引言:(2)TMS320C55x的CPU寄存器状态寄存器ST0_55*第7页/共28页引言:(2)TMS320C55x的CPU寄存器状态寄存器ST1_55状态寄存器ST2_55状态寄存器ST3_55*第8页/共28页3.TMS320C55x的指令系统3.1寻址方式

CPU找到数据地址的方法;绝对寻址,直接寻址,间接寻址。3.1.1绝对寻址包括k16绝对寻址、k23绝对寻址和I/O绝对寻址*第9页/共28页3.1.1绝对寻址k16绝对寻址(不能与其他指令并行执行)操作数为16位绝对地址*abs16(#k16)23位数据地址=DPH(7位)+k16(16位无符号常数)例:DPH=01h,k16=1234h23位地址是?011234h*3.1.1绝对寻址k23绝对寻址(不能与其他指令并行执行)操作数为23位绝对地址*(#k23)23位数据地址=k23(23位无符号常数)第10页/共28页*第11页/共28页I/O绝对寻址(不能与其他指令并行执行)代数指令操作数为*port(#k16)

助记符指令操作数为port(#k16)3.1.1绝对寻址*第12页/共28页3.1.2直接寻址DP直接寻址23位地址的高7位由DPH提供,用来确定主数据页,其余低16位由DP和7位偏移量两部分组成。例:DPH=01h,DP=1234h,Doffset=23h,则23位地址?011257h*第13页/共28页3.1.2直接寻址SP直接寻址23位地址的高7位由SPH提供,用来确定主数据页,其余低16位由SP和7位偏移量两部分组成。例:SPH=01h,SP=1234h,Doffset=23h,则23位地址?011257h*3.1.2直接寻址寄存器位寻址使用寄存器位寻址的指令其操作数是@bitoffset,该操作数是从寄存器的最低位开始的偏移值。例如,如果bitoffset为0,那么就可以访问寄存器的最低位;如果bitoffset为3,那么就可以访问寄存器的位3。Bitoffset的最大值依据寄存器大小而定,为39或15。只有寄存器的位测试、置位、清零、取反指令支持这种寻址模式。第14页/共28页*3.1.2直接寻址PDP直接寻址64K16位的I/O空间分成512个外设数据页,用9位的外设数据页指针PDP表示,其中每一页有128个字,由指令中的指定的7位偏移值来表示。例如,如果访问一页的第一个字,其偏移值为0。第15页/共28页例:PDP=001h,Poffset=23h,则16位地址?00A3h*3.1.3间接寻址AR间接寻址

该模式通过一个辅助寄存器ARn(n=0,1,2,3,4,5,6,或7)访问数据空间。

ARn给出地址低16位,ARnH给出地址高7位;

而ST2-55的ARMS位决定了AR间接寻址的操作类型当ARMS=0,DSP模式:CPU提供DSP增强应用的高效执行功能。当ARMS=1,控制模式:针对控制系统的应用,CPU能够优化代码的长度。第16页/共28页*AR间接寻址DSP模式序号操作数地址修改1*ARnARn未修改2*ARn+在生成地址之后增加:16位操作,ARn=ARn+132位操作,ARn=ARn+2

3*ARn在生成地址之后减少:16位操作,ARn=ARn132位操作,ARn=Arn2

4*+ARn在生成地址之前增加:16位操作,ARn=ARn+132位操作,ARn=ARn+25*ARn在生成地址之前减少:16位操作,ARn=ARn132位操作,ARn=ARn2

6*(ARn+T0/AR0)在生成地址之后,ARn加上T0或ARn中16位带符号的常数:如果C54CM=0,ARn=ARn+T0

如果C54CM=1,ARn=ARn+AR0第17页/共28页*第18页/共28页AR间接寻址DSP模式(续)7*(ARnT0/AR0)在生成地址之后,ARn减去T0或ARn中16位带符号的常数:如果C54CM=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR08*ARn(T0/AR0)ARn未被修改。ARn被作为基指针,T0或AR0中16位带符号常数被作为偏移量9*(ARn+T0B/AR0B)在生成地址之后,ARn加上T0或ARn中16位带符号的常数:如果C54CM=0,ARn=ARn+T0如果C54CM=1,ARn=ARn+AR0按位倒序模式相加

10*(ARnT0B/AR0B)在生成地址之后,ARn减去T0或ARn中16位带符号的常数:如果C54CM1=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR0按位倒序模式相减[注1]:C54CM是状态寄存器ST1-55中TMS320C54x兼容模式。*11*(ARn+T1)在生成地址之后,ARn加上T1中16位带符号的常数:ARn=ARn+T1

12*(ARnT1)在生成地址之后,ARn减去T1中16位带符号的常数:ARn=ARnT113*ARn(T1)ARn未被修改。ARn被作为基指针,T1中16位带符号常数被作为偏移量14*ARn(#K16)ARn未被修改。ARn被作为基指针,16位带符号常数(K16)被作为偏移量15*+ARn(#K16)在地址生成之前,ARn加上16位带符号常数(K16)AR间接寻址DSP模式(续)第19页/共28页*序号操作数地址修改1*ARnARn未修改2*ARn+在生成地址之后增加:16位操作,ARn=ARn+132位操作,ARn=ARn+23*ARn在生成地址之后减少:16位操作,ARn=ARn132位操作,ARn=ARn2

4*(ARn+T0/AR0)在生成地址之后,ARn加上T0或AR0中16位带符号的常数:如果C54CM=0,ARn=ARn+T0如果C54CM=1,ARn=ARn+AR0

5*(ARnT0/AR0)在生成地址之后,ARn减去T0或AR0中16位带符号的常数:如果C54CM=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR0

AR间接寻址控制模式

第20页/共28页*

AR间接寻址控制模式(续)6*ARn(T0/AR0)ARn未被修改。ARn被作为基指针,T0或AR0中16位带符号常数被作为偏移量7*ARn(#K16)ARn未被修改。ARn被作为基指针,16位带符号常数(k16)被作为偏移量8*+ARn(#K16)在地址生成之前,ARn加上16位带符号常数(k16)9*ARn(short(#k3))ARn未被修改。ARn被作为基指针,3位带符号常数(k13)被作为偏移量第21页/共28页*3.1.3间接寻址双AR间接寻址

双AR间接寻址模式可以通过8个辅助寄存器(AR0--AR7)同时访问两个数据存储单元,与单个AR间接访问数据空间一样,CPU使用一个扩展辅助寄存器产生23位地址。双AR间接寻址可以实现以下功能:

(1)执行一条可完成两个16位数据空间访问的指令。在这种情况下,两个数据存储操作数在指令中为Xmem和Ymem。例如:

ADDXmem,Ymem,ACx

(2)并行执行两条指令。在这种情况下,必须每条指令访问一个存储数据,操作数在指令指令中是Smem或Lmem。

MOVSmem,dst||ANDSmem,src,dst

双AR间接寻址操作数是AR间接寻址操作数的子集,而ARMS状态位不影响双AR间接寻址的操作。第22页/共28页*

双AR间接寻址操作数

序号操作数地址修改1*ARnARn未修改2*ARn+在生成地址之后增加:16位操作,ARn=ARn+132位操作,ARn=ARn+23*ARn在生成地址之后减少:16位操作,ARn=ARn132位操作,ARn=ARn24*(ARn+T0/AR0)在生成地址之后,ARn加上T0或AR0中16位带符号的常数:如果C54CM=0,ARn=ARn+T0如果C54CM=1,ARn=ARn+AR0第23页/共28页*

双AR间接寻址操作数(续)序号操作数地址修改5*(ARnT0/AR0)在生成地址之后,ARn减去T0或AR0中16位带符号的常数:如果C54CM=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR0

6*ARn(T0/AR0)ARn未被修改。ARn被作为基指针,T0或AR0中16位带符号常数被作为偏移量7*(ARn+T1)在生成地址之后,ARn加上T1中16位带符号的常数:ARn=ARn+T1

8*(ARnT1)在生成地址之后,ARn减去T1中16位带符号的常数:ARn=ARn-T1第24页/共28页*3.1.3间接寻址CDP间接寻址

CDP间接寻址模式使用系数数据指针(CDP)对数据空间、寄存器位和I/O空间进行访问。序号操作数地址修改1*CDPCDP未修改2*CDP+在生成地址之后增加:16位操作,CDP=CDP+132位操作,CDP=CDP+23*CD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论