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

DSP复习资料

DSP 复习资料 第一章:
● 数字信号处理系统组成:
x (t ) x(n ) y (n) y(t )
● 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 ,TigerSHARC 系列,飞思卡尔公司的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):2组,24位(6)数据写总线(EB,FB):2组,16位
C55X的CPU包含:指令缓冲单元(I单元),程序流单元(P单元),地址--数据流单元(A单元)数据运算单元(D单元),存储器接口单元(M 单元)和内部数据总线和数据总线
●C55X的CPU包含几个累加器:AC0--AC3每个累加器分为:低字节
(ACxL),高字节(ACxH)和8个保护位(ACxG)
39~32 31~16 15~0
AC0
AC1
AC2
AC3
●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汇编指令创建的自定义段也是为初始化段。

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

●寄存器:(1)XSP:扩展数据堆栈指针(2)SP:数据堆栈指针(3)XSSP:
扩展系统堆栈指针。

(4)SSP:系统堆栈指针(5)SPH:XSP和XSSP 的高位部分
●连接器有两条伪指令:MEMORY和SECTIONS,连接器对程序的重新
定位P177(地址重新定位和运行时间重新定位)
●COFF文件中的符号:外部符号是指在一个模块中定义,而在另一
个模块中使用,它可以用。

def,.ref,。

global来定义
(1)。

def在当前模块中定义,并可在别的模块中引用的符号。

(2)。

ref在当前模块中引用,但在别的模块中定义的符号.
(3).global可以是上面的任何一种情况。

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

●C55x指令集按操作类型可以分为6种:算术运算指令,位操作指令,
扩展辅助寄存器操作指令,逻辑运算指令,程序操作指令. (1)加法指令ADD(P121)
例题18:(1)ADD*AR3+,T0,T1;AR3间接寻址得到的内容与T0的内容想加,结果装入T1,并将AR3增1
寄存器执行前寄存器执行后
AR3
AR3
T0
T0
T1 T1
CARRY 数据存储器
数据存储器
0302
0302
(2)ADD*AR1,〈〈TO,AC1,AC0
,将AR1寻址得到的内容左移T0位与AC1想加,结果装入AC0
寄存器
执行前
寄存器
执行后 ACO
AC0 AC1
AC1 T0 T0
AR1 AR1
SXMD SXMD
M40 M40
ACOV0 CARRY CARRY
数据存储器 数据存储器 0200 0200
(2)减法指令SUB(p123)
例题19:SUB uns (*AR1),BORROW ,AC0,AC1;将CARRY 位求反,AC0减去由AR1寻址得到的内容以及 ;CARRY 的内容,并将结果装入AC1
寄存器 执行前 寄存器 执行后
AC0
AC0 AC1
AC1
AR1
数据存储器 数据存储器 0302 0302 (3)乘法指令MPYM (P125) 例题22
MPY AC1,AC0 ;AC0=AC0*AC1
执行前 执行后 AC0
AC1
AC1
M40
FART
AC0V1
(4)乘加指令MACM(P127)
例题23:(1)MACMR
*AR1,*CDP,AC2;AC2=AC2+(*AR1)
*(*CDP)执行前
执行后
AC2 AC2
AR1 AR1
CDP CDP
数据存储器数据存储器
0202
(2)MACMR uns(*AR2+),uns(*AR3+),AC3;AC3=(*AR2)*(*AR3)+AC3
;AC3=AR2+1,AR3=AR3+1 执行前 执行后 行前 执行后 AC3
AC3
AR2
AR2 AR3 AR3
M4 M4
SATD
FRCT
数据存储器 数据存储器
0202
(5)乘减指令MASM(P128)
例题24:MASR T1,AC0,AC1;AC1=AC1--AC0*T1
AC0
AC1
AC1
T1
T1
M40
ACOV1 ACOV1
FRCT FACT
●C55x软件开发流程(程序转换成可执行的程序)
C/C++C/C++编译器(。

汇编器COFF目标文件(。

obj)链接器可执行的COFF文件(.out)用户采用C/C++语言或汇编语言编写源文件(。

C或。

asm),经C或C++编辑器,汇编器生成COFF格式的目标文件(.obj),再用链接器进行链接,生成在C55x课执行的目标代码(.out)
●程序阅读题
(1)mov *AR0+,AC0
add *AR0+,AC0
mov AC0,T0
(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)将AR0和AR1指向的数据相乘放到AC1中,同时,AR0加1,
AR1加1
(8)将AC1中的数据与AC0中的数据相加,放到AC0中(9)将AC0中的数据放到寄存器T0中。

相关主题