DSP重点知识点总结(修改版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13. 寻址存储器映射 CPU 寄存器无需等待周期,存储器映射外设存储器至少需要两个机器周
期,由片内外设电路决定//P20
14. 数据页 0(0H~7FH)不能映射到程序空间//P20
15. 特殊功能寄存器(P20)
1) 第一类特殊功能寄存器
3
第一类特殊功能寄存器为 26 个,连续分布在数据存储区的 0H~1FH 地址范围内, 主要用于程序的运算处理和寻址方式的选择及设定 2) 第二类特殊功能寄存器 第二类特殊功能寄存器连续分布在 20H~5FH 的存储区内,主要用于控制片内外设, 包括串口通信控制寄存器组、定时器定时控制寄存器组、机器周期设定寄存器组等 16. TMS320C54x 芯片都有B̅̅̅I̅O̅和 XF 两个通用 I/O 引脚//P22 17. 软件可编程等待发生器能把外部总线周期扩展到最多 14 个机器周期,以适应较慢的片 外存储器和 I/O 设备//P22 18. 复位输入引脚R̅̅̅S̅的电平变化——出现两个外部时钟周期以上的低电平,引脚变为高电平 后,程序从指定的存储地址 FF80H 开始运行。复位有三种方式上电复位、手动复位和软 件复位//P23 19. 复位时 ST0=1800H,ST1=2900H,PMST=FF80H//P23 20. 寻址方式(P25) 1) 立即数寻址 LD #0F0H, A 在数值或符号前面加一个“#”号表示是一个立即数否则被认为是一个地址 2) 绝对地址寻址 绝对地址的代码为 16 位,所以包含绝对寻址的指令至少要两个字长 ① 数据存储器地址(dmad)寻址——用程序标号或数据寻址
21. 指令系统(P34)
22. 流水线操作,是指在执行多条指令时,将每条指令的预取指、取指、译码、寻址、读取
操作数、执行等阶段,相差一个阶段重叠执行,以减少指令执行时间,从而增加处理器
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 位直接寻址方式下的数据存储器地址
低阶位
累加器 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 各位定义
作于微计算机状态(可寻址片内的程序存储器)
3) OVLY:RAM 重复占位标志
4) SMUL:乘法饱和方式位。SMUL=1,使用多项式加 MAC 或多项式减 MAS 指令进行 累加时,对乘法结果进行饱和处理,且只有当 OVM=1,FRCT=1 时,SMUL 位才起 作用。只有 LP 器件有此状态位,其他器件此位均为保留位。当执行 MAC 或 MAS 时,进行多项式加或减之前,小数模式的 8000H×8000H 处理成为 7FFF FFFFH。如 果不设定小数模式,且 OVM=1,在完成加或减之前,乘法结果不进行饱和处理,
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
保护位
高阶位
6) FRCT:小数方式控制位。FRCT=1,乘法器输出自动左移 1 位,消去多余的符号位
11. TMS320C54x 的片内存储空间分为 3 个可选择的存储空间:64KW 的程序存储空间、
64KW 的数据存储空间和 64KW 的 I/O 存储空间,共 192KW。所有的 TMS320C54x 芯片
2
只对 MAC 或 MAS 执行的结果进行饱和处理
5) SST:存储饱和位。SST=1,对存储前的累加器进行饱和处理。饱和处理是在移位操
作执行完成之后进行的。
根据指令要求对累加器的 40 位数据进行移位
将 40 位数据饱和处理成 32 位数据,饱和处理与 SXM 位有关。如果 SXM=0,
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)的直接寻址方式;
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) 流水线结构
CPL=0,表示选用页指针(DP)的直接寻址方式 3) INTM:中断方式控制位。I̅N̅̅̅T̅M̅̅=1,由 SSBX 指令控制,关闭所有可屏蔽中断,
I̅N̅̅̅T̅M̅̅=0,由 RSBX 指令控制,开放所有可屏蔽中断
4) OVM:溢出方式控制位。OVM=1,ALU 运算若正数溢出,目的累加器置正的最大值
4
CPL=1 dmad 值加上(正偏移)SP 的值,形成 16 位的数据存储器地址
dmad 值指的是指令寄存器 IRBaidu Nhomakorabea的低 7 位
5) 间接寻址
间接寻址方式按照辅助寄存器中的地址访问存储器(8 个 16 位辅助寄存器 AR0~
AR7,两个辅助寄存器算数单元 ARAU0 和 ARAU1)
① 单操作数寻址
都包括随机访问存储器(RAM)和只读存储器(ROM)。RAM 又分两种:一种是只可
一次寻址的 RAM(SARAM),另一种是可以两次寻址的 RAM(DARAM)//P17
12. TMS320C54x 的片内 ROM、DARAM、SARAM 都可以通过软件映射到程序空间。从 0080H
开始将 DARAM 分成每 80H(128)个存储单元为一个数据块//P20
数据为证,如果数值大于 7FFF FFFFH,则饱和处理的结果为 7FFF FFFFH;如果
SXM=1,若移位后,数值大于 7FFF FFFFH,则饱和处理的结果为 7FFF FFFFH;若
移位后数值小于 8000 0000H,则生成 8000 0000H
按指令要求操作数据
在指令执行期间,累加器的内容不变
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 位的数据存储器地址
所组成。
高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 中断向量指针和左移后的中断向量序号结合即为所求
② 循环寻址
③ 位倒序寻址
位倒序寻址提高了执行速度和在 FFT 算法的程序中使用储存器的效率。在这种
寻址方式中,AR0 存放的整数 N 是 FFT 点数的一半,当使用位倒序寻址方式把
AR0 加到辅助寄存器中时,地址以位倒序方式产生,即进位是从左向右的,而
不是从右向左
④ 双数据存储器操作数寻址
用 Xmem 和 Ymem 代表这两个数据存储器操作数,Xmem 表示读操作数,Ymem
(00 7FFF FFFFH);若负数溢出,置成负的最大值(FF 8000 0000H)。OVM=0,直接
加在实际运算结果,可由 SSBX 和 RSBX 置位或清零
5) SXM:符号位扩展方式控制字。SXM=1,数据进入 ALU 之前进行符号位扩展;
SXM=0,数据进入 ALU 之前符号位禁止扩展。可由 SSB 和 RSBS 置位或清零
IPTR
INT
0
1
1
4
8
0 0 0 0 1 00011001000
↓
向量 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0
位 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
地址
0
8
C
8
2) MP/MC:微处理器或微计算机工作选择位,高电平工作于微处理器状态,低电平工
4. DSP 芯片的分类(P4) 1) 按照基础特性分类: 静态 DSP 芯片 一致性 DSP 芯片 2) 按照数据格式分类: 定点 DSP 芯片 浮点 DSP 芯片 3) 按照用途分类: 通用型 DSP 芯片 专用型 DSP 芯片
5. TMS320C54x 硬件结构(P8) 1) TMS320 系列同一代芯片具有相同的 CPU 结构,但是片内存储器和片内外围设备的 配置是不同的 2) TMS320C54x 是 16 位定点 DSP,采用改进的哈佛结构,有一组程序总线和三组数据 总线
DSP 重点知识点
1. 数字信号处理的实现方法(P1) 1) 在通用计算机上用软件实现(速度较慢,一般用于 DSP 算法模拟) 2) 在通用计算机系统中加上专用的加速处理机实现(专用性强,应用受限,不便于系 统的独立运行) 3) 用通用的单片机实现——用于不太复杂的数字信号处理(简单的 DSP 算法) 4) 用专用的 DSP 芯片实现——具有更加爱适合 DSP 的软硬件资源,可用于复杂的数字 信号处理算法 5) 用专用的 DSP 芯片实现——特殊场合,要求信号处理速度极高(专用性强,应用受 限)
在读两个操作数时表示读操作数,而在一个读同时并行一个写的指令表示写操
作数
6) 堆栈寻址
共有 4 条指令使用堆栈寻址方式访问堆栈:
PSHD——把一个数据存储器的值压入堆栈
PSHM——把一个存储器映射寄存器的值压入堆栈
POPD——把一个数据存储器的值弹出堆栈
POPM——把一个储存器映射寄存器的值弹出堆栈
1) IPTR:中断向量指针,9 位字段中断向量驻留的 128 字程序存储区地址。复位时 9
位全置 1, 中断向量序号为 0→1111 1111 1000 0000 即向量地址 FF80H
中断向量地址的计算:
中断向量地址由 IPTR 和左移 2 位后的中断向量序号 K(0~31,左移后变成 7 位)