欢迎来到天天文库
浏览记录
ID:50046163
大小:1.36 MB
页数:69页
时间:2020-03-08
《DSP 技术及应用 教学课件 作者 陈金鹰 主编3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息工程学通信工程系DSP技术及应用DigitalSignalProcessor数字信号处理器陈金鹰副教授1第三章DSP指令系统与特点第一节寻址方式第二节程序地址的生成第三节流水线操作技术第四节指令系统概述2Smem:16位单寻址操作数。Xmem:16位双寻址操作数,从DB数据总线上读出。Ymem:16位双寻址操作数,从CB数据总线上读出。dmad:16位立即数,数据存储器地址。pmad:16位立即数,程序存储器地址。PA:16位立即数,I/O口地址。src:源累加器(A或B)。dst:目的累加器(A或B)。lk
2、:16位长立即数。第一节TMS320C54x的寻址方式31.立即数寻址2.绝对地址寻址3.累加器寻址4.直接寻址5.间接寻址6.存储器映象寄存器寻址7.堆栈寻址寻址分类41.立即数寻址在操作数前面需要加#字号来说明该操作数为立即数。否则会把该操作数误认为是一个地址,从而把立即数寻址变成绝对地址寻址。特点指令中包含有执行指令所需要的操作数。立即数分为3、5、8或9位的短立即数和16位的长立即数两种。短立即数可包含在单字或双字指令中,长立即数在双字指令中。注意LD#93h,ALD93h,A举例52.绝对地址寻址特点在
3、指令中包含有所要寻址的存储单元的16位地址。这个16位的地址可以用其所在单元的地址标号或者16位符号常数来表示。(1)数据存储器地址(damd)寻址用一个符号或一个数来确定数据空间的一个地址。方法MVKDSAMPLE,*AR3举例6用一个符号或一个具体的数来确定程序存储器中的一个地址2.绝对地址寻址(2)程序存储器地址(pmad)寻址方法MVPDTABLE,*AR4举例7用一个符号或一个常数来确定外部I/O口地址2.绝对地址寻址(3)PA寻址端口(PA)方法PORTRFIFO,*AR5举例8用一个符号或一个常数来
4、确定数据存储器中的一个地址2.绝对地址寻址(4)*(lk)寻址方法LD*(BUFFER),A举例特点允许所有使用Smem寻址的指令去访问数据空间的任意单元而不改变数据页指针(DP)的值,也不用对ARx进行初始化9用累加器中的数值作为地址来读写程序存储器。方法READASmemWRITASmem举例特点可用来完成程序存储器单元的数据与数据存储器单元的数据进行交换3.累加器寻址10可以在不改变DP或SP的情况下,随机地寻址128个存储单元中的任何一个单元。用一个符号或一个常数来确定7位偏移值,与DP或SP共同形成16
5、位的数据存储器实际地址。4.直接寻址方法LD#x,DPLD@u,AADD@v,A===========SSBXCPLLD@X1,AADD@Y2,A举例特点11CPL=07位dma域与9bit的DP相结合 形成16位的数据存储器地址。CPL=17位dma域加上(正偏移)SP的值形成16位的数据存储器地址。DP值是从0~511(29-1),以DP为基准的直接寻址把存储器分成512页,7位的dma范围从0~127,每页有128个可访问的单元。125.间接寻址方法特点(AR0~AR7)→ARAU0/ARAU1→1
6、6位无符号算术运算→寻址范围为64K能在一个指令中访问两个数据存储器单元两个独立的存储器单元读数据读一个、写另一个存储器单元读写两个连续的存储器单元135.间接寻址(1)单操作数寻址定义间接寻址的类型定义寻址所使用的辅助寄存器ST1CMPT=0标准方式ARF确定辅助寄存器,ST0中ARP=0CMPT=1兼容方式如ARF=0,用ARP选择辅助寄存器,否则,用ARF来确定辅助寄存器。ARF的值装入ARP。LD*AR1,B14单操作数间接寻址的硬件框图15MOD域操作码语法功能说明0000*ARxaddr=ARxARx
7、包含了数据存储器地址0001*ARx-addr=ARxARx=ARx-1访问后,ARx中的地址减1②0010*ARx+addr=ARxARx=ARx+1访问后,ARx中的地址加1①0011*+ARxaddr=ARx+1ARx=ARx+1在寻址前,ARx中的地址加1,然后再寻址①②③0100*ARx-0Baddr=ARxARx=B(ARx-AR0)访问后,从ARx中以位倒序进位的方式减去AR00101*ARx-0addr=ARxARx=ARx-AR0访问后,从ARx中减去AR00110*ARx+0addr=ARxA
8、Rx=ARx+AR0访问后,把AR0加到ARx中去0111*ARx+0Baddr=ARxARx=B(ARx+AR0)访问后,把AR0以位倒序进位的方式加到ARx中1000*ARx-%addr=ARxARx=circ(ARx-1)访问后,ARx中的地址以循环寻址的方式减1①1001*ARx-0%addr=ARxARx=circ(ARx-AR0)访问后,从ARx中以循环寻址的
此文档下载收益归作者所有