当前位置:
文档之家› DSP重点知识点总结(修改版)
DSP重点知识点总结(修改版)
低阶位
累加器 A 和累加器 B 的差别仅在于累加器 A 的 31~16 位可以用做乘法器的一个输入,
累加器 A 可以用来累加器寻址。
8. 处理器工作方式控制及寄存器 PMST(P15)
16~7
6
5
4
3
2
1
0
IPTR MP/MC OVLY
AVIS DROM CLKOFF SMUL
SST
PMST 各位定义
9. 状态寄存器 ST0(P16)
15~13
12
11
10
9
8~0
ARP
TC
C
OVA
OVB
DP
ST0 各位定义
1) OVA:累加器 A 的溢出标志
2) OVB:累加器 B 的溢出标志
3) DP:数据存储器页指针。将 DP 的 9 位数作为高位与指令中的低 7 位作为低位结
合,形成 16 位直接寻址方式下的数据存储器地址
在读两个操作数时表示读操作数,而在一个读同时并行一个写的指令表示写操
作数
6) 堆栈寻址
共有 4 条指令使用堆栈寻址方式访问堆栈:
PSHD——把一个数据存储器的值压入堆栈
PSHM——把一个存储器映射寄存器的值压入堆栈
POPD——把一个数据存储器的值弹出堆栈
POPM——把一个储存器映射寄存器的值弹出堆栈
都包括随机访问存储器(RAM)和只读存储器(ROM)。RAM 又分两种:一种是只可
一次寻址的 RAM(SARAM),另一种是可以两次寻址的 RAM(DARAM)//P17
12. TMS320C54x 的片内 ROM、DARAM、SARAM 都可以通过软件映射到程序空间。从 0080H
开始将 DARAM 分成每 80H(128)个存储单元为一个数据块//P20
6) FRCT:小数方式控制位。FRCT=1,乘法器输出自动左移 1 位,消去多余的符号位
11. TMS320C54x 的片内存储空间分为 3 个可选择的存储空间:64KW 的程序存储空间、
64KW 的数据存储空间和 64KW 的 I/O 存储空间,共 192KW。所有的 TMS320C54x 芯片
所组成。
高9位
低7位
IPTR
K<<2
例:INT0 的中断向量序号为 18,PMST 寄存器的 IPTR=011H,计算中断向量地址
① 将中断向量序号转化成 16 进制
18→12H
② 将 12H 转化成二进制码并左移 2 位,变成 7 位
12
4
8
→
0001 0010
100 1000
③ 将 9 位 IPTR 中断向量指针和左移后的中断向量序号结合即为所求
(00 7FFF FFFFH);若负数溢出,置成负的最大值(FF 8000 0000H)。OVM=0,直接
加在实际运算结果,可由 SSBX 和 RSBX 置位或清零
5) SXM:符号位扩展方式控制字。SXM=1,数据进入 ALU 之前进行符号位扩展;
SXM=0,数据进入 ALU 之前符号位禁止扩展。可由 SSB 和 RSBS 置位或清零
6. TMS320C54x 总线结构(P10) 片内有 8 条 16 位主总线:4 条程序/数据总线和 4 条地址总线
1
7. 累加器(P11) ACCA 累加器 A
39~32 AG
保护位
31~16 AH
高阶位
15~0 AL
低阶位
39~32
31~16
15~0
ACCA 累加器 B
BG
BH
BL
保护位
高阶位
2. DSP 两种含义(P2) 1) 数字信号处理技术(Digital Signal Processing) 2) 数字信号处理器(Digital Signal Processor)
3. DSP 芯片的结构(P2) 1) 哈佛结构 片内程序空间和数据空间是合在一起的,取指令和取操作数都是通过一条总线分时 进行的 2) 改进的哈佛结构 程序空间和数据空间分开,1 组程序存储器总线,3 组数据存储器总线,3 组地址总 线,允许同时取指令和取操作数,还允许在程序空间和数据空间之间相互传送数据 3) 多总线结构 一个机器周期内可以多次访问程序空间和数据空间,如 TMS320C51x 内部有 P、C、 D、E 共 4 条总线,每条总线又包括地址总线和数据总线 4) 流水线结构
2
只对 MAC 或 MAS 执行的结果进行饱和处理
5) SST:存储饱和位。SST=1,对存储前的累加器进行饱和处理。饱和处理是在移位操
作执行完成之后进行的。
根据指令要求对累加器的 40 位数据进行移位
将 40 位数据饱和处理成 32 位数据,饱和处理与 SXM 位有关。如果 SXM=0,
1) IPTR:中断向量指针,9 位字段中断向量驻留的 128 字程序存储区地址。复位时 9
位全置 1, 中断向量序号为 0→1111 1111 1000 0000 即向量地址 FF80H
中断向量地址的计算:
中断向量地址由 IPTR 和左移 2 位后的中断向量序号 K(0~31,左移后变成 7 位)
作于微计算机状态(可寻址片内的程序存储器)
3) OVLY:RAM 重复占位标志
4) SMUL:乘法饱和方式位。SMUL=1,使用多项式加 MAC 或多项式减 MAS 指令进行 累加时,对乘法结果进行饱和处理,且只有当 OVM=1,FRCT=1 时,SMUL 位才起 作用。只有 LP 器件有此状态位,其他器件此位均为保留位。当执行 MAC 或 MAS 时,进行多项式加或减之前,小数模式的 8000H×8000H 处理成为 7FFF FFFFH。如 果不设定小数模式,且 OVM=1,在完成加或减之前,乘法结果不进行饱和处理,
4
CPL=1 dmad 值加上(正偏移)SP 的值,形成 16 位的数据存储器地址
dmad 值指的是指令寄存器 IR 的低 7 位
5) 间接寻址
间接寻址方式按照辅助寄存器中的地址访问存储器(8 个 16 位辅助寄存器 AR0~
AR7,两个辅助寄存器算数单元 ARAU0 和 ARAU1)
① 单操作数寻址
10. 状态寄存器 ST1(P16)
15 14 13 12 11 10 9
8
7
6
5 4~0
BRAF CPL XF HM INTM O OVM SXM C16 FRCT CMPT ASM
ST1 各位的定义
1) BRAF:块重复操作标志位。
2) CPL:直接寻址编辑方式标志位。CPL=1,表示选用栈指针(SP)的直接寻址方式;
MVKD DATA1, *AR2 DATA1 标注的地址就是一个 dmad 值,DATA1 必须适合程序中的标号或者 DSP 内 部已经定义的单元 ② 程序存储器地址(pmad)寻址——用一个符号或具体的数寻址 MVPD TABLE1, *AR2 TABLE1 所标注的地址就是一个 pmad 值,TABLE1 标注的程序存储单元中的一个 字 程序存储器地址寻址和数据存储器地址寻址区别仅在于空间不同 ③ 端口寻址 PORTR F2F0, *AR5 F2F0 指的是端口地址,端口地址寻址只涉及两条指令,端口读(PORTR)和端 口写(PORTW) 片外存储空间也只有 WRITA 和 READA 两条指令 ④ *(1K)寻址 LD *(BUFFER), A 用一个符号或一个常数来确定数据存储器中的一个地址,访问数居空间的任意 单元而不改变数据页(DP)的值,也不用对 AR 进行初始化。不能与 RPT,RPTZ 一起使用 采用绝对寻址方式时,指令长度将在原来的基础上增加一个字 3) 累加器寻址 只有两条指令 READA 和 WRITA 可以采用累加器寻址 4) 直接寻址 ADD SAMPLE, A ;把存储器单元 SAMPLE 中的内容加到累加器 A 中去 或 ADD @x, A ;将符号@加在变量 x 的前面 CPL=0 dmad 值与 9 位的 DP 值结合,形成 16 位的数据存储器地址
DSP 重点知识点
1. 数字信号处理的实现方法(P1) 1) 在通用计算机上用软件实现(速度较慢,一般用于 DSP 算法模拟) 2) 在通用计算机系统中加上专用的加速处理机实现(专用性强,应用受限,不便于系 统的独立运行) 3) 用通用的单片机实现——用于不太复杂的数字信号处理(简单的 DSP 算法) 4) 用专用的 DSP 芯片实现——具有更加爱适合 DSP 的软硬件资源,可用于复杂的数字 信号处理算法 5) 用专用的 DSP 芯片实现——特殊场合,要求信号处理速度极高(专用性强,应用受 限)
② 循环寻址
③ 位倒序寻址
位倒序寻址提高了执行速度和在 FFT 算法的程序中使用储存器的效率。在这种
寻址方式中,AR0 存放的整数 N 是 FFT 点数的一半,当使用位倒序寻址方式把
AR0 加到辅助寄存器中时,地址以位倒序方式产生,即进位是从左向右的,而
不是从右向左
④ 双数据存储器操作数寻址
用 Xmem 和 Ymem 代表这两个数据存储器操作数,Xmem 表示读操作数,Ymem
数据为证,如果数值大于 7FFF FFFFH,则饱和处理的结果为 7FFF FFFFH;如果
SXM=1,若移位后,数值大于 7FFF FFFFH,则饱和处理的结果为 7FFF FFFFH;若
移位后数值小于 8000 0000H,则生成 8000 0000H
按指令要求操作数据
在指令执行期间,累加器的内容不变
13. 寻址存储器映射 CPU 寄存器无需等待周期,存储器映射外设存储器至少需要两个机器周
期,由片内外设电路决定//P20
14. 数据页 0(0H~7FH)不能映射到程序空间//P20
15. 特殊功能寄存器(P20)
1) 第一类特殊功能寄存器