DSP复习重点

更新时间:2024-03-04 12:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

DSP复习总结

1.指令中各种寻址方式

’C54x芯片的寻址方式可以分为两类: ● 数据寻址 ● 程序寻址

’C54x有7种基本的数据寻址方式:

寻址方式 用 途 举 例 指令含义 立即寻址 主要用于初始化 LD #10,A 立即数10 给A

绝对寻址 利用16位地址寻址存储单元 STL A,*(y) 将AL内容存入y所在的存储单元

累加器寻址 将累加器中的内容作为地址 READA x 将A的内容作为地址读程序存储器,并存入x存储单元

直接寻址 利用数据页指针和堆栈指针寻址 LD @x,A (DP+x的低7位地址) 给A

间接寻址 利用辅助寄存器作为地址指针 LD *AR1,A ((AR1))给A 存储器映像

寄存器寻址 快速寻址存储器映象寄存器 LDM ST1,B (ST1) 给? B 堆栈寻址 压入/弹出数据存储器和存储器映像寄存器MMRPSHM AG (SP)-1 ? SP,(AG) ? (SP)

部分寻址缩略语

缩略语 含 义 Smem 16位单寻址操作数

Xmem 16位双寻址操作数,用于双操作数或部分单操作数指令,从DB数据总线上读取

Ymem 16位双寻址操作数,用于双操作数指令,从CB数据总线上读取 dmad 16位立即数:数据存储器地址(0~65 535) pmad 16位立即数:程序存储器地址(0~65 535) PA 16位立即数:I/O口地址(0~65 535) src 源累加器(A或B) dst 目的累加器(A或B) 1k 16位长立即数

2.DSP芯片的特点

1.采用哈佛结构

DSP芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈佛结构,比传统处理器的冯·诺伊曼结构有更快的指令执行速度。 2.采用多总线结构

DSP芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,并由辅助寄存器自动增减地址进行寻址,使CPU在一个机器周期内可多次对程序空间和

数据空间进行访问,大大地提高了DSP的运行速度。 3. 采用流水线技术

利用这种流水线结构,加上执行重复操作,就能保证在单指令周期内完成数字信号处理中用得最多的乘法—累加运算。 4. 配有专用的硬件乘法-累加器 为了适应数字信号处理的需要,当前的DSP芯片都配有专用的硬件乘法-累加器,可在一个周期内完成一次乘法和一次累加操作,从而可实现数据的乘法-累加操作。

5.具有特殊的DSP指令

为了满足数字信号处理的需要,在DSP的指令系统中,设计了一些完成特殊功能的指令。

6. 快速的指令周期

由于采用哈佛结构、流水线操作、专用的硬件乘法器、特殊的指令以及集成电路的优化设计,使指令周期可在20ns以下。 7. 硬件配置强

新一代的DSP芯片具有较强的接口功能,除了具有串行口、定时器、主机接口(HPI)、DMA控制器、软件可编程等待状态发生器等片内外设外,还配有中断处理器、PLL、片内存储器、测试接口等单元电路,可以方便地构成一个嵌入式自封闭控制的处理系统。 8. 支持多处理器结构

为了满足多处理器系统的设计,许多DSP芯片都采用支持多处理器的结构。如:TMS320C40提供了6个用于处理器间高速通信的32位专用通信接口,使处理器之间可直接对通,应用灵活、使用方便; 9. 省电管理和低功耗

DSP功耗一般为0.5~4W,若采用低功耗技术可使功耗降到0.25W,可用电池供电,适用于便携式数字终端设备。

3 .DSP为了降低功耗采取了哪些措施

1、减少外围电路 2、缩短指令周期 3、高度集成化

4、芯片内部采用多总线、多处理单元和多流水线结构

4.各种指令

1、ADD

操作码 源操作数 指令格式

ADD Smem,src Smem ADD Smem,TS,src ADD Smem,16,src[,dst] ADD Smem,[,SHIFT],src[,dst]

ADD Xmem,SHIFT,src Xmem ADD Xmem,Ymem,dst ADD

ADD #lk[,SHFT],src[,dst] #lk

ADD #lk,16,src[,dst]

Src ADD src,[,SHIFT][,dst] ADD src,ASM[,dst]

2.SUB指令就是将上述的ADD改为SUB即可 3.乘法指令 MPY Smem,dst Smem MPY Smem,#lk,dst

MPY Xmem MPY Xmem,Ymem,dst

#lk MPY #lk,dst

4. 乘法-累加和乘法-减法指令

Smem MAC Smem,src

MAC Smem,#lk,src[,dst]

MAC Xmem MAC Xmem,Ymem,src[,dst]

#lk MAC #lk,src[,dst]

5. 条件存储指令

CMPS src,Smem

功能:若src(31~16)> src(15~0),则Smem=src(31~16); 若src(31~16)?src(15~0),则Smem=src(15~0)。 即比较累加器的高、低位,并存储最大值。

6.LD指令 7. ST指令

ST T , Smem 功能:Smem = T 说明:累加器值存入长字存储单元

8. STL指令

STL src , Smem 功能:Smem = src(15-0) 说明:累加器低阶位存入存储单元

9. STH指令

STH src , Smem 功能:Smem = src(31-16) 说明:累加器高阶位存入存储单元 STH src ,ASM ,Smem 功能:Smem = src(31-16)<

STH src ,SHFT ,Xmem 功能:Xmem = src(31-16)<

10. STLM指令

STLM src , MMR

:功能: MMR = src(15-0) 说明:累加器低阶位存入MMR

11. STM指令

STM #lk , MMR 功能:MMR = #lk 说明:长立即数存入MMR 12.MAX指令

MAX dst 功能:st = max(A,B) 说明:求A和B的最大值 13.MIN指令

MIN dst 功能:dst = min(A,B) 说明:求A和B的最小值 14.AND指令

AND Smem , src 功能:src = src&Smem 说明:源操作数与累加器与运算 AND #lk[,SHFT],src[,dst] 功能:dst = src&#lk<

AND #lk,16,src[,dst] 功能:dst = src&#lk<<16 说明:长立即数左移16位与累加器与运算

AND src[,SHIFT][,dst] 功能:dst=dst &src<

15.B指令

B[D] pmad 功能说明:将pmad指定的程序存储器地址赋给PC,实现分支转移。 注 意: 若指令带后缀D,则为延迟方式,紧随该指令的两条单字指令或一条双字指令先被取出执行,然后程序再转移。该指令不能被循环执行。 16.BANZ指令

指令格式: BANZ[D] pmad,Sind

操 作 数: Sind——单间接寻址操作数,pmad——程序存储器地址 指令功能: If ((ARx) ≠ 0) Then pmad→PC Else (PC)+2→PC

功能说明: 若当前ARx≠0,则pmad的值赋给PC,否则,PC值加2。 注 意: 带后缀D为延迟方式。指令不能循环执行。 17.程序控制指令CALA[D] 指令格式: CALA[D] src

功能说明:若非延时,(SP)-1→SP (PC)+1→TOS (src(15~0))→PC

若延时, (SP)-1→SP (PC)+3→TOS (src(15~0))→PC 18.POPD指令

指令格式:POPD Smem

指令功能:(TOS)→Smem (SP)+1→SP

功能说明:由SP寻址的数据存储器单元中的内容复制到由Smem确定的数据存 储器单元中。然后SP加1。 19.POPM指令

指令格式: POPM MMR

操 作 数: MMR——存储器映像寄存器 指令功能: (TOS)→MMR (SP)+1→SP 功能说明:由SP寻址的数据存储器单元中的内容复制到MMR中,然后修改SP。 20.PSHD指令

指令格式: PSHD Smem

指令功能:(SP)-1→SP Smem →TOS 功能说明:SP减1操作后将存储单元Smem的内容压入SP指向的数据存储单元。 21.SSBX指令

指令格式: SSBX N,SBIT

操 作 数:N——指明被修改的状态寄存器, N=0时,为ST0;N=1时,为ST1 SBIT——表示状态寄存器被修改的位数,取值:0~15 指令功能: 1→STN(SBIT)

功能说明:对状态寄存器ST0和ST1的特定位置1。 22.RPT指令

指令格式:RPT #lk

功能说明:重复单次,RC = #lk,重复执行下条指令 #lk +1次 23.RPTB指令

指令格式:RPTB[D] pmad 功能说明:块重复,RSA = PC+2[4],REA = pmad - 1,重复执行以下程序块pmad – 1次

24.ROL指令

指令格式: ROL src 操作数src:累加器A或B

指令功能: 累加器src与进位位C循环左移一位。

执行过程:C → src(0) ; C的值移入src的最低位 src(30~0)→ src(31~1); src左移一位

src(31)→ C; src的最高位移入C 0 → src(39~32) ; src的保护位清0 25.PSHM指令

指令格式:PSHM MMR ;将MMR中的数据压入堆栈 指令功能:(SP)-1→SP MMR →TOS

功能说明:SP减1操作后,将MMR的内容压入SP指向的数据存储单元。

5.链接器中MEMORY和SECTIONS命令的作用

MEMORY伪指令——用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度。

SECTIONS伪指令——用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。

6.累加器的特点 累加器A和B

’C54x芯片有两个独立的40位累加器A和B,可以作为ALU或MAC的目标寄存器,存放运算结果,也可以作为ALU或MAC的一个输入。

在执行并行指令(LD||MAC)和一些特殊指令(MIN和MAX)时,两个累加器中的一个用于装载数据,而另一个用于完成运算。

累加器结构

7.DSP中数据的分类

根据芯片工作的数据格式,按其精度或动态范围,可将通用DSP划分为定点DSP和浮点DSP两类。

若数据以定点格式工作的——定点DSP芯片。 若数据以浮点格式工作的——浮点DSP芯片。

8.DSP总线的特点 内部总线结构

由一组程序总线、三组数据总线和四组地址总线组成,可在一个指令周期内产生两个数据存储地址,实现流水线并行数据处理。

TMS320C54x的结构是以8组16位总线为核心,形成了支持高速指令执行的硬件基础。

1组程序总线PB

总线结构 3组数据总线CB、DB、EB 4组地址总线PAB、CAB、DAB、EAB

9.C54 X DSP存储器的特点

’C54x共有192K字的存储空间,分成3个相互独立可选择的存储空间: 程序存储空间:用来存放要执行的指令和指令执行中所需要的系数表(数学用表);

数据存储空间:用来存放执行指令所需要的数据;

I/O存储空间:用来提供与外部存储器映射的接口,可以作为外部数据存储空间使用。

10.PC指针的特点和作用

程序计数器是一个16位计数器,用来保存某个内部或外部程序存储器的地址。 当进行复位操作时,将地址FF80H加载PC;

当程序是顺序执行时,则PC被增量加载,即PC=PC+1;

当分支转移发生时,用紧跟在分支转移指后面的16位立即数加载PC; 当执行块重复指令时,若PC+1等于块重复结束地址REA+1,则将块重复起始地址RSA加载PC; 当执行子程序调用时,将PC+2的值压入堆栈,然后将调用指令下一个长立即数加载至PC;

当执行返回指令时,将压入堆栈的值从栈顶取出,加载到PC,回到原来的程序处继续执行;

当进行硬件中断或软件中断时,将PC值压入堆栈,并将适当的中断向量地址加载PC;

当执行中断返回时,将压入堆栈的值从栈顶取出,加载到PC,继续执行被中断了的程序。

本文来源:https://www.bwwdw.com/article/do5a.html

Top