3-DSP的寻址方式

合集下载

DSP第四章 TMS320C20X系列的寻址方式及汇编指令

DSP第四章 TMS320C20X系列的寻址方式及汇编指令

LT *0+
执行指令前: ARP=1, (AR1)=100H,(AR0)=3 执行操作: 用AR1所指的数据存储器100H内 容装载暂时寄存器; 执行指令后: ARP=1,(AR1)=103H
⑤减去索引量
方法
举例
指令使用AR内容作
LT *0-
为数据存储器地址,
执行指令后AR内容 执行指令前:
自动减去ARO的内容。 ARP=1, (AR1)=100H,(AR0)=3
执行操作:
用AR1所指的数据存储器100H内
容装载暂时寄存器;
执行指令后:
ARP=1,(AR1)=FEH
⑥加上索引量,反向进位
方法
举例
指令使用AR内容作为 数据存储器地址,执 行指令后AR内容自动 加上AR0的内容,该 加法采用反向进位方 法。 注:主要用于FFT算 法
LT *BR0+
把AR0加到辅助寄存器中时,地址以位倒序的方 式产生,即进位是从左向右,而不是从右向左进位。
LTP ind [,ARn]
MAC MAC pma , dma
乘且累加
MAC pma, ind [ , ARn]
MACD MACD pma, dma
乘且累加,并将被寻址数据移至下一单元
MACD pma, ind [, ARn]
MPY MPY dma
MPY ind [, ARn]
MPYA/MPYS
累加前次乘积,再将TREG与被寻址数相乘
PAC PAC
PREG转入累加器ACC
SPH
存储PREG高16位,直接或间接寻址
SPL
存储PREG低16位,直接或间接寻址
例1:MAC
0FF00H,02H ;DP=6,地址300H~37FH,PM=0, CNF=1

第三章:DSP软件体系_寻址方式

第三章:DSP软件体系_寻址方式

DSP技术及其应用 26
TMS320C54X-DSP
循环寻址:
许多算法,如卷积,相关和FIR滤波等,都需要在存 储器中实现一个循环缓冲器。在这些算法中,一个循环缓 冲器就是一个包含了最近的数据的滑动窗口。当新的数据 来到时,缓冲器就会覆盖最早的数据。循环缓冲器实现的 关键是循环寻址的实现。‘C54x间接寻址中提供了循环寻 址的方式,以%表示。 循环寻址图示



*ARx-0%/*ARx+0% : – 访问后,从ARx中以循环寻址的方 式减 去/加上AR0 *ARx(lk): – ARx和16-bit的长偏移(lk) 的和用来作为数据存储器地址。 ARx本身不被修改 *+ARx(lk): – 在寻址之前,把一个带符号的16-bit的长偏移(lk)加 到ARx中,然后用新的ARx的值作为数据存储器的地址 *+ARx(lk)%: – 在寻址之前,把一个带符号的16-bit的长偏移以循环寻址 的方式加到ARx中,然后再用新的ARx的值作为数据存 储器的地址
*ARx-0B/ *ARx+0B :
– 访问后,从ARx中以位倒序进位的方式减去/加上AR0


*ARx-0/ *ARx+0 :
– 访问后,从ARx中减去/加上AR0
*ARx-%/ *ARx+% :
– 访问后,ARx中的地址以循环寻址的方式减1/加1
DSP技术及其应用 12
TMS320C54X-DSP
共有四条使用堆栈寻址方式访问堆栈的指令:
PSHD 把一个数据存储器的值压入堆栈。 PSHM 把 一 个 存 储 器 映 射 寄 存 器 的 值 压 入 堆 栈 。 POPD 把一个数据存储器的值弹出堆栈。 POPM 把一个存储器映射寄存器的值弹出堆栈。

DSP 课件 第四章 TMS320LF240x的数据寻址方式

DSP 课件 第四章 TMS320LF240x的数据寻址方式
TMS320LF240x的数据寻 址方式
本课件将介绍TMS320LF240x的数据寻址方式,包括程序寻址方式、数据寻 址方式和堆栈寻址。让我们一起来了解它们吧。
寻址方式概述
数据寻址方式有很多种类型,它们包括程序寻址方式和数据寻址方式。程序 寻址方式可以使用程序计数器(PC)、相对寻址方式、间接寻址方式和延迟 槽技术。在数据寻址方式中,可以使用直接寻址、自动递增寻址、自动递减 寻址、索引寻址和变址寻址。
自动递减寻址
自动把地址寄存器减1。
索引寻址
从一个指针数组中间接地获取地址。
堆栈寻址
堆栈结构
堆栈结构是一种后进先出 (LIFO)的数据结构。
堆栈指针
SP指针用于指示堆栈中的 当前位置。
堆栈操作函数
压栈、出栈、和堆栈交换 是堆栈操作函数。
本章小结
这一章介绍了TMS320LF240x的数据寻址方式,包括程序寻址方式、数据寻 址方式和堆栈寻址。这些技术为高效数学运算创造了条件。
课堂练习
1 练习题目一
程序计数器的作用是什么?
2 练习题目二
请简述堆栈操作函数的作用。
参考文献
1. TMS320LF240x data sheet. 2. J. Valvano, "Embedded Systems: Real Time Interfacing to ARM Cortex-M Microcontrollers," 4th edition.
程序寻址方式
1
程序计数器(PC)
指向下一个要执行的指令的位置。
相对寻址方式
2
相对于当前位置,跳转到指定位置。
3
间接寻址方式
使用寄存器来存放地址的位置。

最新DSP寻址方式

最新DSP寻址方式

pmad 16位立即数:程序存储器地址(0~65 535)
PA
16位立即数:I/O口地址(0~65 535)
src
源累加器(A或B)
dst
目的累加器(A或B)
1k
16位长立即数
2
3.1 寻址方式
寻址方式分为数据寻址和程序寻址两种。
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映像寄存器寻址 7 堆栈寻址
DSP寻址方式
3.1 寻址方式
部缩分略寻语址寻址指令中用含到的缩义写符号及其含义
Smem 16位单寻址操作数
Xmem
16位双寻址操作数,用于双操作数或部分单操作数 指令,从DB数据总线上读取
Ymem
16位双寻址操作数,用于双操作数指令,从CB数据 总线上读取
dmad 16位立即数:数据存储器地址(0~65 535)
MVKD EXAM1, * AR5
数据存储器的 16位地址dmad值
10
3.1.2 绝对寻址
2.程序存储器寻址
用于确定程序存储器中的一个地址。 语法:使用一个符号或具体的数字来指 定程序空间的一个地址。
MVPD TABLE, * AR2
程序存储器的 16位地址pmad值
11
3.1.2 绝对寻址
3.端口(PA)寻址
数据存储器
地址 数据
第 0180 0001
3

...
...
X: 01FF 1000
第 y: 0200 0500
4

...
...
RSBX CPL LD #3, DP LD @x, A ALDD#4@,DyP, A ADD @y, A

第三章DSP指令寻址方式

第三章DSP指令寻址方式

DP值 0000 0000 0
偏移量 000 0000
数据存储器 第0页:0000h~007Fh
0000 0000 0 0000 0000 1
0000 0000 1 0000 00010
0000 00010 1111 1111 1
1111 1
~ ~ ~ ~
111 1111 000 0000 第1页:0080h~00FFh
址,而是将此地址(或寄存器)内容再作为地址。间接
寻址通过8个16位的辅助寄存器访问数据存储器。
1.1 立即寻址方式 在立即寻址方式中,指令字中包含指令所需 的一个常数。两种立即寻址方式为: 短立即寻址。用短立即寻址的指令将一个8位、9 位或13位的常数作为操作数。短立即寻址指令为 一个单指令字,并且有一个常数嵌在该指令中。 长立即寻址。用常立即寻址的指令将一个16位常 数作为操作数,从而需要两个指令字。该常数作 为第二个指令字被发送。这个16位字值可以是绝 对常数或二进制补码。
3.1 DSP指令寻址方式
也称为立即数寻址方式。
立即寻址:需要找的数据就在指令里,不需要存储器找, 直接寻址:即指令给出的是需要找的数的地址,按此地
址直接访问即可。直接寻址将指令字的7位与数据存储 器页指针(DP)的9位连接起来,形成一个16位数据存 储器地址。 间接寻址:即指令给出的既不是立即数,也不是直接地
下一个辅助寄存器 除了更新当前辅助寄存器的内容外,某些指令还可以指 明下一个辅助寄存器或下一个AR。当这条指令执行完 成后,这个寄存器就成为当前辅助寄存器。允许用于指 定下一个辅助寄存器的指令用新的值装载ARP。当ARP 用该值装载时,以前的ARP值被装入辅助寄存器指针缓 冲器(ARB)。 例1.6说明了下一个辅助寄存器的选择和其他间接寻址的 特点。 例1.6 选择新的当前辅助寄存器。 MAR *,AR1;向ARP装入1,指令执行后使得AR1成为 当前辅助寄存器 LT *+,AR2;AR2是下一个辅助寄存器。用AR1指定的 地址内容装载TREG,AR1内容加1,指令执行后使得 AR2成为当前辅助寄存器。 MPY *;TREG乘以AR2所指定的单元内容

《DSP寻址方式》课件

《DSP寻址方式》课件

01
现状
02
广泛应用于信号处理、图像处理、通信等领域。
在大数据和人工智能时代,DSP寻址方式发挥着越来越重要的
03
作用。
DSP寻址方式的未来发展趋势和挑战
发展趋势
1
2
结合人工智能技术,实现更高效的算法加速。
3
支持向量寻址,满足高维数据处理需求。
DSP寻址方式的未来发展趋势和挑战
• 云端和边缘计算的寻址优化。
DSP寻址方式的未来发展趋势和挑战
01
挑战
02 如何应对数据爆炸带来的存储和访问挑战 。
03
如何平衡计算效率和存储空间的需求。
04
如何提高寻址方式的通用性和灵活性,以 适应不断变化的应用场景。
THANKS
感谢观看
算法优化
通过算法优化减少计算量,降低功耗和成本 。
05
总结与展望
DSP寻址方式的发展历程和现状
初始阶段
简单的线性寻址,主要用于基础的数 学运算。
扩展阶段
引入了变址寻址和间接寻址,增强了 数据处理能力。
DSP寻址方式的发展历程和现状
• 现代阶段:支持多种寻址方式,满足复杂算法需 求。
DSP寻址方式的发展历程和现状
详细描述
寄存器寻址方式是指操作数的有效地址通过寄存器给出,即有效地址存储在寄存器中,通过寄存器访问操作数。 这种方式可以用于访问寄存器中的数据,也可以用于实现寄存器间接寻址等操作。
其他寻址方式
总结词
其他特殊的寻址方式
详细描述
除了以上三种寻址方式外,还有一些特殊的寻址方式,如相对寻址方式、位寻址方式等 。这些寻址方式各有特点,可以根据具体的需求选择使用。
PID控制器

第三章 DSP寻址方式

第三章  DSP寻址方式
ADD #1234h,A ;将#1234h加给 AccA
寻址方式:立即数寻址
绝对地址寻址
❖数据存储器地址(dmad)寻址:
用一个符号或一个数来确定数据空间中的 一个地址 例: MVKD sample,*AR5
sample所代表的就是一个dmad
绝对地址寻址
❖程序存储器地址(pmad)寻址:
用一个符号或一个数来确定程序地址 空间中的一个地址 例: MVKD table,*AR5 table 所代表的就是一个pmad
寻址方式:间将该AR的内容加1或减1,再寻址 (循环常用)
❖将 该 AR 的 内 容 加 上 或 减 去 AR0 的 内容,再寻址。
❖将该AR的内容逆向进位加上或减去 AR0的内容,再寻址。
寻址方式:间接寻址
ADD *,8,A ;将当前辅助寄存 器所指的地址里的数据,左移8-bit 后加给AccA
第三章 DSP的软件结构
寻址方式:立即数寻址
❖短立即数寻址(单字指令) 在指令字中包括立即操作数
RPT #99 ;将下一条指令循环100次 LD #0h,DP ;将0装入数据页指针 ADD #0ffh,A ;将0ffh加给AccA
寻址方式:立即数寻址
寻址方式:立即数寻址
❖长立即数寻址
指令字的后一个字是立即数(双字 指令)
用累加器中的数作为一个地址,可用来对 存放数据的程序存储器寻址:
READA Smem WRITA Smem
❖READA,把累加器A所确定的程序存储器单元 中的一个字,传送到数据存储器单元Smem中。
❖WRITA,把数据单元Smem中的一个字,传送 到累加器A确定的程序存储器单元。
存储器映射寄存器(MMR)寻址
寻址方式:直接寻址

DSP寻址方式

DSP寻址方式

DSP寻址方式DSP(数字信号处理器)是一种专门用于数字信号处理的微处理器,其寻址方式是指DSP芯片对于内部存储器的寻址方式。

DSP寻址方式是DSP系统中非常重要的一部分,它决定了DSP芯片如何有效地访问和处理存储在内部存储器中的数据。

1. 直接寻址方式直接寻址方式是DSP中最简单的寻址方式之一。

在直接寻址方式下,指令中给出的地址直接用于指定待访问的存储单元。

这种寻址方式适用于数据存储单元数量较少且地址连续的情况。

例如,当使用直接寻址方式时,指令可以直接指定访问DSP内部存储器中的某个特定地址,无需进行地址转换或计算。

2. 间接寻址方式间接寻址方式是另一种常用的DSP寻址方式。

在间接寻址方式下,指令中给出的地址并不直接用于指定待访问的存储单元,而是用于指定一个包含存储单元地址的寄存器。

通过间接寻址方式,可以实现更加灵活的地址访问,尤其适用于需要频繁对不同存储单元进行访问的情况。

3. 基址寻址方式基址寻址方式是一种常用的寻址方式,它结合了直接寻址方式和间接寻址方式的优点。

在基址寻址方式下,指令中给出的地址作为“基址”,并结合一个偏移量用于计算访问目标存储单元的实际地址。

通过基址寻址方式,可以实现对存储单元的相对寻址,而无需显式地指定存储单元的具体地址。

4. 变址寻址方式变址寻址方式是一种基于寄存器的寻址方式,它通过使用一个特殊的寄存器,称为“变址寄存器”来实现寻址。

变址寻址方式可以对存储单元的地址进行动态调整,从而实现对存储单元的高效访问。

通过改变变址寄存器中的值,可以改变访问目标存储单元的地址,从而灵活地处理不同的数据访问需求。

5. 直接/间接寻址方式直接/间接寻址方式是一种结合了直接寻址方式和间接寻地址方式的寻址方式。

在直接/间接寻址方式下,指令中既给出了一个直接的地址用于直接寻址,又给出了一个指示寄存器的地址用于间接寻址。

通过使用直接/间接寻址方式,可以在同时满足直接访问和间接访问需求的情况下,提高DSP系统的灵活性和效率。

第六章 DSP寻址方式和汇编指令

第六章 DSP寻址方式和汇编指令

第六章 DSP的寻址方式和汇编指令当硬件执行指令时,寻找指令所指定的参与运算飞操作数的方式——寻址方式。

根据程序的要求采用不同的寻址方式,可以有效地缩短程序的运行时间和提高代码执行效率。

汇编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器仲的执行部分进行各种操作。

在本章节当中将主要以基于C28x的DSP芯片为例,为读者讲解DSP的寻址方式和汇编指令系统,其中大部分内容也可适用于其他Ti公司的DSP产品。

6.1汇编语言指令集概述在学习C28x系列DSP的寻址方式和汇编指令指令之前,先来对一些基础的知识进行讲解一下先,在汇编程序当中开发人员会常常使用到许多的特殊符号和标志,它们都具有特殊的含义,在学习汇编之前读者们必须先理解这些符号和标志含义,在这里会对其中最常用最重要的操作数符号和寄存器经行详细说明。

在进行汇编讲解之前先来了解一下开发的核心——CPU。

在TMS320C2000系列中,CPU 内核为:C20x/C24x/C240x:C2xLP:C27x/C28x:C27x、C28x这些CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLPCPU具有最佳兼容性。

可通过状寄存器STl的位OBJMODE和位AMODE的组合,选定模式。

C28x芯片具有3种操作模式:1.C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。

2.C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。

在该模式下,目标码与C27xCPU完全兼容,且它的循环—计数也与C27xCPU兼容。

3.C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。

在下面的讲解当中会牵涉到模式的转换,希望读者要搞清楚每一个模式的对应关系。

DSP实验--第三章 数据寻址方式

DSP实验--第三章 数据寻址方式

5。间接寻址 。
1)定义: 根据8个辅助寄存器(AR0~AR7)中定义的任何一 )定义: 个寄存器给出的16-bit地址进行寻址; 这是DSP最具特色的寻址方式,它是用硬件来实现 数据存储器地址指针; 用符号 “﹡” 表示间接寻址; 绝对寻址实际上也是运用了间接寻址的硬件; 2)特点: 寻址方式灵活:可以从单条指令中读(或写)一个 )特点: 操作数、读两个操作数、读和写两个顺序操作数等; 两个辅助寄存器算术运算单元(ARAU0和ARAU1) 可以进行16-bit无符号算术运算,从而实现各种灵活 的寻址功能;
DSP54.3-9
页面指针寻址(DP)用得比较多。但在结构化编程-C语言 环境中,用堆栈指针寻址(SP), 此时要设CPL=1; 3)页面指针(DP)寻址举例 )页面指针 寻址举例(教材p.34) 寻址举例
.data x: .word 1000 y: .word 500 .text RSBX CPL LD LD ADD #x, DP @x, A @y, A x: y: Addr. 0180 01FF 0200 Data 0001 1000 0500 DP 0 0 3 0 0 3 0 0 3 ACC 00 00 A 1000 1001
.data x: .word 1000h y: .word 500h .text LD *(x), A ADD *(y), A
ACC A x: y:
Addr. 0180 01FF 0200
Data 1001 1000 0500
00 00
0000 0000
1000 1500
DSP54.3-6
3。累加器寻址 。
倒位序 先修改
绝对寻址
addr.=ARn, ARn=B(ARn +AR0) addr.=ARn, ARn=B(ARn –AR0) addr.=ARn+lk, ARn=ARn addr.=ARn+lk, ARn=ARn+lk addr.=circ(ARn+lk), ARn=circ(ARn+lk) addr.=ARn+1, ARn=ARn+1(只用来写) 只用来写) 只用来写 addr.=lk

3.0 DSP寻址方式

3.0 DSP寻址方式

地址=ARx * ARx+0% ARx=circ(ARx+AR 0)
双操作数寻址
在指令中,由于只有2位可以用于选择辅助寄存
器,所以根据Xar或Yar的值可以选择4个寄存器。
Xar和Yar域选择的辅助寄存器
Xar、Yar
0 0 1 1 0 1 0 1
辅助寄存器
AR2 AR3 AR4 AR5
6 存储器映像寄存器寻址
LDM MVDM MVMD MVMM POPM PSHM STLM STM MMR,dst dmad,MMR MMR,dmad MMRx,MMRy MMR MMR src,MMR #lk,MMR ;将MMR加载到累加器 ;数据存储器向MMR传送数据 ;MMR向指定地址传送数据 ;MMRx向MMRy传送数据 ;将数据从栈顶弹至MMR ;将MMR数据压入堆栈 ;累加器低位存入MMR ;长立即数lk存入MMR
MMR寻址特点:
① 寻址速度快,对MMR执行写操作开销小;
② 可直接利用MMR的名称快速访问数据存储空间
的0页资源;
③ 只能寻址数据空间的0页单元。 用途:主要用于不改变 DP 、 SP 的情况下,修改 MMR中的内容。
用途:用于对速度要求较低的场合。
绝对寻址
绝对寻址是利用16位地址来寻址操作数的存储 单元。由于绝对地址代码的位数为16位,所以绝对 地址寻址的指令至少应为2个字长
绝对寻址四种类型 :
① ② ③ ④ 数据存储器地址(dmad)寻址; 程序存储器地址(pmad)寻址; 端口(PA)寻址; *(1k)寻址。
直接寻址
例 1 :数据存储器存储数据如图所示,采用数据页指针 DP直接寻址,完成x,y单元的两个数据求和。
RSBX LD LD LD

DSP实验二 基本指令及寻址方式

DSP实验二 基本指令及寻址方式

实验二基本指令及寻址方式DSP的最大优势在于数据处理,所以DSP数据处理指令非常多,包括算术指令、逻辑指令或数据加载与传送指令。

并且与常规处理器相比,DSP还针对某些具体应用专门填加了一些处理指令,以方便和加快数据处理速度。

1.实验目的:(1)学习DSP指令的使用(2)学习并掌握DSP的基本寻址方式2.实验器材仿真器,DEMO板3.实验内容编写程序实现数据的算术运算4.DSP寻址方式(1)立即数寻址这种寻址方式最简单,立即数包含在指令中。

立即数包括短立即数和长立即数;短立即数为3、5、8、9Bit;长立即数为16位。

立即数包含在单字节和双字节指令中,短立即数为3、5、8、9Bit包含在单字节指令中,16-Bit指令包含在双字节指令中。

例1:RPT #99;将下一条指令执行100次(短立即数寻址)nop;Sacl data1;Dp .set 214RPT #dpADD #16384,2;将16384左移2位后加到累加器(ACC:32)中(长立即数寻址)(2)直接寻址、在直接寻址中,指令代码包含了数据存储器地址的低7位。

这7-bit位作为偏移地址与数据页指针相结合共同形成16-bit数据存储器实际地址。

如下图所示。

例30页0000-007FH1页0080-00FFH2页0100-017FH3页0180-01FFH4页0200-027FH5页0280-02FFH511页FF80-FFFFH.dataData_DP:Var0 .word 3 0200:3Var1 .word 2 0201:2Var2 .word 1 0202:1Result .word 0 0203:0.textLDP #Data_DPSUM0: LACC Var1 ACC=2LACC 2 ACC=1LACC #Var1 ACC=0201H(3) 间接寻址我们可以使用系统提供的8个辅助寄存器AR0~AR7实现灵活的间接寻址,通过间接寻址方式可以寻址数据存储器的64K 中任何一个寄存器单元。

DSP三大系列芯片的寻址方式简述

DSP三大系列芯片的寻址方式简述

简述TMS320C2000、TMS320C5000、TMS320C6000DSP芯片的寻址方式姓名:刘帅民学号:201120195005 专业:通信与信息系统摘要:本文中主要针对TI公司生产的TMS320C2000系列、TMS320C5000系列和TMS320C6000系列DSP的寻址方式进行简要概述。

Abstract:The article focused on the briefly discusses of TI’s TMS320C2000 Series,TMS320C5000 Series and TMS320C6000 Series DSP’s addressing.TI公司三大系列DSP的寻址方式有许多种,由于它们各自的功能不同造成三者的寻址方式也不同,下面对三者的寻址方式做一个简要的叙述。

一、TMS320C2000的寻址方式TMS320C2000系列DSP有七种寻址方式,接下来进行简单介绍。

1、直接寻址在直接寻址中,数据地址由基地址和偏移地址共同决定。

基地址存放在数据页指针寄存器DP (16位)中,偏移地址由直接寻址指令提供。

当ST1寄存器的AMODE 位为0的时候,偏移地址是6位,对应DP指示的一个数据页内,包含64个数据单元;当ST1寄存器的AMODE位为1的时候,偏移地址是7位,对应DP指示的一个数据页内,包含128个数据单元。

在两种情况下,数据地址高10位全为0,也就是说,直接寻址只能寻址4M数据空间。

2、堆栈寻址堆栈寻址一般是专用SP(堆栈指针寄存器)来对堆栈寻址的方法。

TMS320C2000系列DSP芯片用一个16位的SP来对堆栈寻址,且SP总是指向堆栈中最后存入的数据单元(即顶部)。

堆栈寻址主要负责对系统堆栈的压入和弹出。

用SP进行寻址时,数据地址的低16位与SP相关,而高16位默认为0X0000。

3、间接寻址在间接寻址方式中,数据空间任意单元都可以通过一个辅助寄存器(XAR 0~XAR 7)中的内容所代表的32位地址进行访问。

《DSP寻址方式》课件

《DSP寻址方式》课件
DSP寻址方式的实现与程序计数器、堆栈指针 和寄存器等紧密关联,对DSP寻址方式的优化 目标包括提高速度、降低功耗和提高数据处 理精度。
3 DSP寻址方式的应用实例
4 DSP的未来发展方向
DSP在数字滤波等方面具有广泛应用,通过选 择合适的寻址方式和算法,可以有效提高数 字信号处理的性能和效率。
未来随着DSP技术的不断发展,DSP的功耗和 成本将进一步降低,DSP的应用范围也将不断 拓展和完善。
DSP的特点和优势
DSP具有高效的并行运算能 力、灵活的寻址和数据储存 结构、低功耗和低成本等优 点,可以大幅提高数字信号 处理的效率和精度。
DSP寻址方式的分类
1
直接寻址方式
2
直接寻址方式通过指定数据的物理地址
来访问数据,在存储器寻址和高速信号
处理方面具有优势。
3
寄存器寻址方式
4
寄存器寻址方式是指通过指定寄存器名 称来访问寄存器中的数据,具有简单、
在程序编译阶段的优化
4
在程序编译阶段应该通过优化算法和代码 生成技术来提高程序的效率和质量。
5
寻址方式的优化目标
对DSP寻址方式的优化目标通常包括提高 运行速度、降低功耗、优化程序结构和提 高数据处理精度。
在程序设计阶段的优化
在程序设计阶段应该尽可能选择简单直观 的寻址方式,避免采用复杂和低效的寻址 方式。
在程序执行阶段的优化
在程序执行阶段应该通过指令级并行、数 据级并行和多路径执行等技术来提高程序 的运行速度和性能。
DSP寻址方式的应用实例
数字滤波
DSP在数字滤波中应用广泛,可 通过选择不同的寻址方式和算 法来增强数字信号处理的效率 和精度。
不同寻址方式在数字 滤波中的应用

DSP第四章TMS320LF240x的数据寻址方式ppt课件

DSP第四章TMS320LF240x的数据寻址方式ppt课件

(1)设置数据页面
将当前数据页面〔0~511〕装入DP。可通过LDP指令或其他 能向ST0装入值的任意指令来装载DP。LDP指令仅加载DP而不 影响ST0的其他位,并明确指出装入的DP值。
例:LDP #32 ;初始化数据页面指针
(2)设置偏移量
提供7位偏移量作为指令的操作数。
例:ADD 1h 到累加器
在直接寻址方式中,偏移量是指令中的操作 数,指出某个页面中的某个地址单元,是一个7位 的立即数,是64K数据存储器地址的低7位,DP 值是数据存储器地址的高9位,用来确定数据页, 两者共同形成16位的数据存储器地址。
指令寄存器IR的低7位提供偏移量,指令寄 存器的内容是要执行的下条指令的操作码。指令 寄存器中,“8MSBs〞是指令类型,同时包括指
直接寻址方式下的数据格式
状态寄存器ST0
D15~D13 D12 D11 D10 D9 D8~D0 ARP OV OVM 1 INTM 数据页面指针DP
指令寄存器IR
D15~D8
D7
8MSBs
0
D6~D0 7MSBs
数据存储器地址
D15~D7 页面〔9MSBs)
D6~D0 偏移量〔7MSBs)
使用直接寻址方式的步骤
立即寻址方式,就是指令中的操作数是常数。
两种立即寻址方式:短立即寻址和长立即寻 址。短立即寻址,指令可指定8、9或13位的常数 做操作数,指令只需单个指令字,操作数包含在 这个指令字中。长立即寻址,指令可指定16位的 常数做操作数,需要2个指令字,该常数为第2个 指令字。
立即数寻址指令中在立即操作数前加一个 “#”号,来表示立即数。
*0*0-,ARn *0+ *0+,ARn *BR0+ *BR0+,ARn

DSP三大系列芯片的寻址方式简述

DSP三大系列芯片的寻址方式简述

简述TMS320C2000、TMS320C5000、TMS320C6000DSP芯片的寻址方式姓名:刘帅民学号:201120195005 专业:通信与信息系统摘要:本文中主要针对TI公司生产的TMS320C2000系列、TMS320C5000系列和TMS320C6000系列DSP的寻址方式进行简要概述。

Abstract:The article focused on the briefly discusses of TI’s TMS320C2000 Series,TMS320C5000 Series and TMS320C6000 Series DSP’s addressing.TI公司三大系列DSP的寻址方式有许多种,由于它们各自的功能不同造成三者的寻址方式也不同,下面对三者的寻址方式做一个简要的叙述。

一、TMS320C2000的寻址方式TMS320C2000系列DSP有七种寻址方式,接下来进行简单介绍。

1、直接寻址在直接寻址中,数据地址由基地址和偏移地址共同决定。

基地址存放在数据页指针寄存器DP (16位)中,偏移地址由直接寻址指令提供。

当ST1寄存器的AMODE 位为0的时候,偏移地址是6位,对应DP指示的一个数据页内,包含64个数据单元;当ST1寄存器的AMODE位为1的时候,偏移地址是7位,对应DP指示的一个数据页内,包含128个数据单元。

在两种情况下,数据地址高10位全为0,也就是说,直接寻址只能寻址4M数据空间。

2、堆栈寻址堆栈寻址一般是专用SP(堆栈指针寄存器)来对堆栈寻址的方法。

TMS320C2000系列DSP芯片用一个16位的SP来对堆栈寻址,且SP总是指向堆栈中最后存入的数据单元(即顶部)。

堆栈寻址主要负责对系统堆栈的压入和弹出。

用SP进行寻址时,数据地址的低16位与SP相关,而高16位默认为0X0000。

3、间接寻址在间接寻址方式中,数据空间任意单元都可以通过一个辅助寄存器(XAR 0~XAR 7)中的内容所代表的32位地址进行访问。

3-DSP的寻址方式

3-DSP的寻址方式
器A。
5、间接寻址
▪ 8个辅助寄存器(AR0-AR7),由一个辅 助寄存器指针(ARP 3-bit)来指定
▪ 辅助寄存器算术单元(ARAU)作16-bit无 符号数运算,决定一个新的地址,装入辅 助寄存器中的一个
▪ AR0-AR7的内容相当灵活,可以装入立即 数,加上立即数,减去立即数,也可以从 数据存储器装入地址,还可以作以下的变 址寻址:
编程实例
3
y0 ai xi a0 x0 a1x1 a2 x2 a3 x3 i0
.mmregs .bss x,4,1 a0 .word 012h a1 .word 3211h a2 .word fe11h a3 .word ff03h .sect “program” LD #x,AR1 LD #0,A,AR1 LD #a0,T
第三章 DSP的软件结构
The Software structure of DSP
寻址方式(Addressing mode)
(1)立即数寻址 (2)绝对地址寻址 (3)累加器寻址 (4)直接寻址 (5)间接寻址 (6)存储器映射寄存器寻址 (7)堆栈寻址
表3-1 寻址指令中用到的缩写符号及其含义
MVDM dmad, MMR
MVKD dmad, Smem
MVMD MMR, dmad
▪ 数据存储器寻址使用符号(符号地址)或一个表 示16位地址的立即数来指明寻址的数据存储单元 的16位绝对地址。例如:
MVKD SMAPLE,*AR5;
其中SMAPLE所代表的就是一个dmad。
返回
2)程序存储器地址(pmad)寻址
加器A确定的程序存储器单元。
4、直接寻址
▪ TMS320C54X的数据存储器分为512页, 每页128字。设置一个数据页指针DP (Data Pointer),用9-bit指向一个数据页, 再加上一个7-bit的页内偏移地址,形成16bit的数据地址
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

▪ MVPD TABLE,*AR7; 其中,TABLE所代表的就是一个pmad
返回
3)端口(PA)寻址
用一个符号或一个数字来确定外部I/O端口的地址: ▪ 使用端口地址的指令有:
PORTR PA, Smem PORTW Smem , PA ▪ 端口地址(PA)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来给出外部I/O口地 址。例如: PORTR FIFO ,*AR5;
▪ PSHM,将一个存储器映像寄存器(MMR) 中的值压入堆栈。
▪ POPD,从堆栈弹出一个数到数据存储单 元。
▪ POPM,从堆栈弹出一个数到存储器映像 寄存器(MMR)。
作业
▪ 1、已知(30H)=50H,AR2=40H, AR3=60H,AR4=80H MVKD 30H,*AR2 MVDD *AR2,*AR3 MVDM *AR3,AR4
Data bus(16)
3
3
3
ARB
ARP
3
Auxiliary registers
AR0 AR1 AR2 AR3 AR4 AR5 AR6 AR7
16
16 16 bit data address
ARAU
▪ 将该AR的内容加1或减1,再寻址(循 环常用)
▪ 将该AR的内容加上或减去AR0的内容, 再寻址
▪ 循环缓冲区的尾基地址(EOB)是通过用 BK的低N位代替ARx的低N位得到。
▪ 循环缓冲区的index就是ARx的低N位的当 前值。
▪ 步长(step)就是加到辅助寄存器或从辅 助寄存器中减去的值。
▪ 例如,一个循环缓冲区大小 BK=6=N, AR1=0060H,用*AR1+%间接寻址。第一次 寻址后,AR1=0061H;第二次寻址后 AR1=0062H;……;第六次寻址后AR1指 向0066H,再按BK的值6取模,此时AR1 又指向0060H。
程序
MAC *+,A
LD #a1,T MAC *+,A LD #a2,T MAC *+,A LD #a3,T MAC *,A LD A,y0
2)循环寻址
▪ 许多算法,如卷积,相关和FIR滤波等,都 需要在存储器中实现一个循环缓冲区。在 这些算法中,一个循环缓冲区就是一个包 含了最近的数据的滑动窗口。当新的数据 来到时,缓冲区就会覆盖最早的数据。循 环缓冲区实现的关键是循环寻址的实现。 C54X间接寻址中提供了循环寻址的方式, 以%表示。
图3-1 DP作为基地址的直接寻址方式 图3-2 SP作为基地址的直接寻址方式
直接寻址
▪ 位于状态寄存器ST1的CPL位(直接寻址 编辑方式)可以选择那种方式。
▪ CPL=0,以数据页指针寄存器DP位基地址。 DP 值可以由LD指令装入。RESET指令将 DP赋0。
▪ CPL=1,堆栈指针SP的16位地址与指令中 的7位地址相加,形成16位数据存储器地址。
编程实例
3
y0 ai xi a0 x0 a1x1 a2 x2 a3 x3 i0
.mmregs .bss x,4,1 a0 .word 012h a1 .word 3211h a2 .word fe11h a3 .word ff03h .sect “program” LD #x,AR1 LD #0,A,AR1 LD #a0,T
直接寻址
▪ DP值可由LD指令装入。RESET指令将DP 赋值为0。注意:DP不能用上电进行初始 化,在上电后它处于不定状态,所以,没 有初始化DP的程序就可能工作不正常,所 有的程序都必须要对DP作初始化。
例: ▪ LD #4 ,DP;指向页4(0200h-027Fh) ▪ ADD 9h,A;将数据页4中的地址9h加给累加
16位立即数——程序存储器地址(0~65535)
16位立即数——I/O口地址(0~65535)
源累加器(A或B)
目的累加器(A或B)
16位长立即数
1、立即寻址
▪ 在立即寻址方式中,指令中包括了立即操 作数。
▪ 一条指令中可对两种立即数编码,一种是 短立即数(长度为3、5、8或9位),另一 种是长立即数(长度为16位)。短立即数 指令编码为一个字长, 长 立即数的指令编 码为两个字长。
返回
4)长立即数*(lk)寻址
用一个指定数据空间的地址来确定数据存储器中 的一个地址: ▪ 长立即数*(lk)寻址用于所有支持单数据存储器 操作数(Smem)的指令。 ▪ 长立即数*(lk)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来指定数据存储空 间的一个地址。例如,把数据空间中地址为 BUFFER单元中的数据传送到累加器A,指令可 写为: LD *(BUFFER),A 注意:使用*(lk)寻址方式的指令不能与循环指令 (RPT、RPTZ)一起使用
▪ 立即数寻址指令中在数字或符号常数前面 加一个“#”号,来表示立即数。
举例
RPT #99 ;将下一条指令循环100次 LD #0h,DP;将0装入数据页指针 ADD #0ffh,A;将0ffh 加给AccA
ADD 0ffh
ADD opcode
0FFh
Machine Code
1011
1000
1111 1111
▪ ADD *BR0+,8,A;执行加法后, 将AR0的值加给当前辅助寄存器,但 反向进位
表3-2 单数据存储器操作数间接寻址类型
正向进位和反向进位
▪ 正向进位 10 0
+ 10 0 10 0 0
反向进位 10 0 +10 0 010
1)位倒序寻址
▪ 位倒序寻址主要运用于FFT。 ▪ 在位倒序寻址方式中,AR0指明了FFT点
3、累加器寻址
▪ 累加器寻址是用累加器中的数值作为一个地址,用 来对存放数据的程序存储器寻址。共有两条指令可 以采用累加器寻址:
READA Smem
WRITA Smem ▪ READA,把累加器A所确定的程序存储器单元中
的一个字,传送到数据存储器单元Smem中。 ▪ WRITA,把数据单元Smem中的一个字,传送到累
器A。
5、间接寻址
▪ 8个辅助寄存器(AR0-AR7),由一个辅 助寄存器指针(ARP 3-bit)来指定
▪ 辅助寄存器算术单元(ARAU)作16-bit无 符号数运算,决定一个新的地址,装入辅 助寄存器中的一个
▪ AR0-AR7的内容相当灵活,可以装入立即 数,加上立即数,减去立即数,也可以从 数据存储器装入地址,还可以作以下的变 址寻址:
用一个符号或一个数来确定程序存储器的一个地址:
▪ 使用程序存储器寻址的指令有:
FIRS Xmem, Ymem, pmad
MACD Smem, pmad, src MACP Smem, pmad, src
MVDP Smem, pmad
MVPD pmad, Smem
▪ 程序存储器(pmad)寻址使用符号(符号地址)或一个 表示16位地址的立即数来给出程序空间的地址。例如,把 程 序 存 储 器 中 标 号 为 TABLE 地 址 单元中的值复制到AR7 所指定的数据存储器中去,指令可写为:
MVDM dmad, MMR
MVKD dmad, Smem
MVMD MMR, dmad
▪ 数据存储器寻址使用符号(符号地址)或一个表 示16位地址的立即数来指明寻址的数据存储单元 的16位绝对地址。例如:
MVKD SMAPLE,*AR5;
其中SMAPLE所代表的就是一个dmad。
返回
2)程序存储器地址(pmad)寻址
数的一半。
AR0=100 AR1=000 按AR1寻址后,将AR0加给AR1,反 向进位
位倒序寻址
原序 0 1 2 3 4 5 6 7
原地址 000 001 010 011 100 101 110 111
位倒序后地址 000 100 010 110 001 101 011 111
位倒序 0 4 2 6 1 5 3 7
01234h
2、绝对地址寻址
▪ 1)数据存储器地址(dmad)寻址 ▪ 2)程序存储器地址(pmad)寻址 ▪ 3)端口(PA)寻址 ▪ 4)长立即数*(lk)寻址
1)数据存储器地址(dmad)寻址
用一个符号或一个数来确定数据空间的一个地址:
▪ 使用数据存储器寻址的指令有:
MVDK Smem, dmad
7、堆栈寻址
▪ 当发生中断或子程序调用时,系统堆栈自 动保存PC值。堆栈也可以用于保存和传递 其他数据。堆栈由高地址向低地址增长, 处理器使用16位的存储器映象寄存器—— 堆栈指针(SP)对堆栈进行寻址,SP总是 指向压入堆栈的最后一个数据。
有4条指令使用堆栈寻址方式:
▪ PSHD,将数据存储器中的一个数压入堆 栈。
6、存储器映像寄存器寻址
▪ 存储器映象寄存器寻址用于修改存储器映 象寄存器(MMR)中的内容,而不影响当 前数据页指针DP和当前堆栈指针SP的值。 由于这种方式不需要修改DP和SP,对寄存 器的写操作开销最小。存储器映象寄存器 寻址可用于直接寻址和间接寻址。
有8条指令可以进行存储器映像寄存器寻址: ▪ LDM MMR,dst ▪ MVDM dmad,MMR ▪ MVMD MMR,dmad ▪ MVMM MMRx,MMRy ▪ POPM MMR ▪ PSHM MMR ▪ STLM src,MMR ▪ STM #lk,MMR
加器A确定的程序存储器单元。
4、直接寻址
▪ TMS320C54X的数据存储器分为512页, 每页128字。设置一个数据页指针DP (Data Pointer),用9-bit指向一个数据页, 再加上一个7-bit的页内偏移地址,形成16bit的数据地址
直接寻址
▪ 在直接寻址方式中,指令中包含数据存储 器地址(dma)的低7位,这7位dma作为 地址偏移量,结合基地址(由数据页指针 DP或堆栈指针SP给出)共同形成16位的 数据存储器地址。使用这种寻址方式,用 户可在不改变DP或SP的情况下,对一页内 的128个存储单元随机寻址。采用这种寻址 方式的好处是指令为单字指令,数据存储 器地址(dma)的低7位放在指令字中(如 图3-1、3-2所示)。
相关文档
最新文档