当前位置:文档之家› DSP复习资料1

DSP复习资料1

DSP复习资料
第一章:
数字信号处理系统组成:
X(t)x(n)y(n)y(t)
抗混叠A/D 微处理D/A 平滑滤波=
滤波器
DSP芯片的特(1)采用哈佛结构(2)采用多总线结构(3)
采用流水线结构(4)配有专用的硬件乘法--累加器(5)具有特殊的寻址方式和指令(6)支持并行指令操作(7)硬件配置强,具有较强的接口功能(8)支持多处理器结构
DSPD的分类:(1)按分类标准的不同,DSP分为定点DSP芯片和浮点DSP芯片(2)按照字长大小的不同,DSP芯片划分为16位,24位,32位(3)按照生产厂家的不同,有TI公司的TMS320系
列,ADI公司的Blackfin,SHARC,TigerSHAR系列,飞思卡尔公司的MSC系列
TMS320C55X芯片的组成:CPU,存储空间,片内外设
C55XCPU勺内部总线结构:(1)程序地址总线(PAB):1组,24位(2)程序数据总线(PB):1组,32位(3)数据读地址总线
(BAB,CAB,DAB):3
组,24位(4)数据读总线(BB,CB,DB):3组16位(5)数据写地址总线(EAB,FAB):2fi, 24位(6)数据写总线(EB,FB):2组,16位
C55X的CPU包含:指令缓冲单元(I单元),程序流单元(P单元),地址--数据流单元(A单元)数据运算单元(D单元),存储器接口单元
(M 单元)和内部数据总线和数据总线
C55X 的CPU 包含几个累加器:AC0--AC3每个累加器分为:低字节 (ACxL )高字节(ACxH 和8个保护位(ACxG )
C54的兼容模式:(1)C54x 兼容模式c54xcm_on 和c54cm_off 指 令来自C54x 的代码(2)CPL 模式影响直接寻址方式(3)ARMS 模式影响间接寻址模式
C55x 的寻址方式:(1)绝对寻址方式:通过在指令中指定一个常 数地址完成寻址。

(2)直接寻址方式;使用地址偏移量寻址(3) 间接寻址方式:使用指针完成寻址。

COFF 文件:COFF 文件的基本单位是段,COFF 目标文件有三个默 认段:(1).text 段,通常包括可执行代码(2) .data 段,通常包 括初始化数据(3).bss 段,通常包括未初始化的变量保留存储空 间。

COFF 为文件有两种基本类型的段:(1)初始化段:包括数据或代 码,.text 和.data 段是初始化段,以.sect 汇编指令创建的自定义初 始化段也是初始化段。

(2)给未初始化的数据保留存储空间。

.bss 段是为初始化段,以.uesct 汇编指令创建的自定义段也是为初始化
39~32 31~16 15~0 AC0 AC1 AC2 AC3
段。

伪指令:是汇编语言程序的重要组成部分,包括汇编指令和连接指令两部分,伪指令用于处理汇编和连接过程,最后产生的目标文件不包括它们宏指令:程序中常常包含执行多次的程序段,可以定义一个宏来代替它,而不必重复写代码,在需要该程序段时只需引用宏(p183)
C55x的指令流水线:(1)第一阶段为取指阶段(2)第二阶段为执行阶段
C55x的堆指针:⑴数据堆栈指针SP(2)系统堆栈指针SSP (3)一个相关的扩展寄存器SPH.
寄存器:(1)XSP扩展数据堆栈指针(2)SP数据堆栈指针(3)
XSSP扩展系统堆栈指针。

(4)SSP系统堆栈指针(5)SPH XSP 和XSSP的高位部分
连接器有两条伪指令:MEMOR丫和SECTION连接器对程序的重新定位P177(地址重新定位和运行时间重新定位)
COFF文件中的符号:外部符号是指在一个模块中定义,而在另一个模块中使用,它可以用.def,.ref,.global 来定义
1).def 在当前模块中定义,并可在别的模块中引用的符号。

2).ref 在当前模块中引用,但在别的模块中定义的符号。

3).global 可以是上面的任何一种情况。

TMS320C55X可以使用两种指令集:助记符指令集和代数集。

C55x指令集按操作类型可以分为6种:算术运算指令,位操作指
令,扩展辅助寄存器操作指令,逻辑运算指令,程序操作指令。

(1) 加法指令ADD(P121)
例题18:( 1)ADD*AR3+,T0 T1;AR3间接寻址得到的内容与 TO 的内 容想加,结果装入T1, 寄存器 执行前
T1CARR 0 数据存储器 0302
EFOO
(2) ADD*AR1,v<TO,AC,1AC0,将AR1寻址得到的内容左移 T0位与
AC1想加,结果装入AC0
寄存器 执行前
寄存器 执行后
ACO
00 0000 0000
AC0
00 2330 0000
AC1
00 2300 0000
AC1
00 2300 0000
T0
T0
000C 000C AR1
0200
AR1
0200
SXMD
SXMD
M40
M40
并将AR3增1 寄存器
T0 T1
数据存储器 0302
EFOO
执行后
AR3 CARR Y
(2)减法指令SUB(p123
例题 19: SUB uns(*AR1),BORROW,AQ0AC1 将 CARRY 位求反,AC0 减去由AR1寻址得到的内容以及 ;CARRY 勺内容,并将结果装入 AC1
(3) 乘法指令 MPYM(P125) 例题22 MPY AC1, AC0 ;AC0=AC0*AC1 执行前
ACOV0
ACOV0
CARR Y
CARR Y
1
0200
0200
0300
AC0 02 6000 3400
00 C000 0000
数据存储器 数据存储器 0300
寄存器 执行前
数据存储器
0302
F000 _____
寄存器
执行后
0302
F000
执行后
M40
FART
AC0V1 (4)乘加指令MACM(P127)
例题23: (1) MACMR *AR1,执行前
数据存储器*CDPAC2;AC2二
AC2+(*AR1)*(*CDP)
执行后
AC2 00EC3F 8000
AR1 0302
CDP 0202
ACOV2 ------------------
0302 FE00
数据存储器0302 FE00
0202 0040 0020
0040 (2)MACMR un s(*AR2+),u
ns(*AR3+),AC3;AC3=(*AR2)*(*AR3)+AC3 执行前
行前
AC3 AR2 AR3 00 2300 CE00
0302
;AC3=AR2+1,AR3=AR3+
1
执行后
执行后
AC3 00 9221 0000
AR2 0302
0202
AR3 0202
数据存储器
0020

(5)乘减指令 MASM(P128)
例题 24: MASR T1 AC0, AC1;AC1=AC1--AC0*T1
AC0 00 0000 EC00
AC0
00 0000 EC00
AC1
00 3400 0000
AC1
00 1680 0000
11
11
2000
2000 M40 0
M40
ACOV1
ACOV1
FRCT C55x 软件开发流程(程序转换成可执行的程序) C/C++源文件C/C++编译器(.c )
汇编源文件=汇编器=
ACOV -------
FR 「
0302
FE00
0302 FE00
数据存储器
0202 7000
FACT
COFF目标文件(.obj)链接器=>可执行的COFF文件(.out)
用户米用C/C++语言或汇编语言编写源文件(.C或.asm),经C或C++ 编辑器,汇编器生成COFF格式的目标文件(.obj),再用链接器进行链接,生成在C55x课执行的目标代码(.out)
程序阅读题
(1)mov *AR0+,AC0
add *AR0+,AC0
mov ACO, TO
(2)mppy *AR0+,*AR1,AC0
mpym *AR0+,*AR1+,AC1
add AC1,AC0
mpym *AR0+,*AR1+,AC1
add AC1, AC0
Mov AC0, T0
注释:(1)将AR0指向的数据方向放到累加器AC0中,AC0加1(2)将AR0指向的数据与累加器AC0相加,同时,AC0寄存器加1
(3)将累加器AC0的值写入T0寄存器
(4)将AR0和AR1指向的数据相乘放到AC0中,同时,AR0加1, AR1 加1
(5)将AR0和AR1指向的数据相乘放到AC1中,同时,AR0加1,
AR1 加1
(6)将AC1中的数据和AC0中的数据相加放到AC0中
(7)将ARO和AR1指向的数据相乘放到AC1中,同时,ARO加1, AR1 加1
(8)将AC1中的数据与AC0中的数据相加,放到AC0中
(9)将AC0中的数据放到寄存器TO中。

相关主题