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

DSP复习资料

可能考的题型
下面对一些常用的伪指令说法正确的是:(D)
A、.def所定义的符号,是在当前模块中使用,而在别的模块中定义的符号;
B、.ref所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;
C、.sect命令定义的段是未初始化的段;
D、.usect命令定义的段是未初始化的段。
7、已知一数组名为indata,长度为30个字,试用两种方法给该数组分配空间。
3、DSP的移位位数为-16~31,则桶形移位寄存器最多左移31位,右移16位;
4、在一些指令中,加上后缀“R”,表示该指令要将累加器的低16位进行舍入处理
5、简答:流水线的原理:
将指令分为几个子操作,每个子操作由不同的单元完成。
这样,每隔一个时钟周期,每个单元就可以进入一条新指令。
因此,同一个时钟周期内,在不同的单元可以处理多条指令,相当于并行执行了多条指令。TMS320C54x采用6级流水线。
.end
编程2、例x[5]={0,1,2,3,4,5}
.mmregs
.bssx, 5
.data
Table: .word 0 ,1,2,3,4
.def _c_intoo
.text
_c_intoo:STM #x, AR1
RPT #4
MVPD table,AR1+
.end
编程3、控制流水灯亮灭
.mmregs
例如,如果要在端口10h声明端口变量,并将a输出到该端口,再读取数据保存到b中,函数实现方法如下:
ioportunsigned int port10; /*访问I/O端口10h的变量*/
int fuBiblioteka c (){port10 = a; /*写a到端口10h */
...
b = port10; /*读取端口10h的值到b */
STM #9,AR2 ;设置循环计数值
LD #0,A ;累加器清0
Loop:ADD *AR1+,A ;累加运算,并修改地址
BANZ loop,*AR2- ;若计数值不为0,则循环,并计数值减1
若计数值为0,则结束循环
LD #y,DP
STL A, @y ;累加和存入y中
.end
第八章
中断程序没有参数传递,即使说明,也将被忽略
4、小题pragma指令告诉编译器如何处理函数。常用的pragma指令有
CODE_SECTION (symbol,“section name)语句含义:可以为symbol指定专门的代码存储空间,而非.bss块
DATA_SECTION (symbol,”section name”)语句含义:可以为symbol指定专门的数据存储空间,而非.data块
.text
start: STM #0,SWWSR;插入0个等待状态
STM #STACK+10h,SP;设置堆栈指针
STM #a,AR1;AR1指向a
RPT #7;移动8个数据
MVPD table,*AR1+;从程序存储器到数据存储器
CALL SUM;调用SUM子程序
end: B end
SUM: STM #a, AR3;子程序执行
...
2、可能出现的题型P110程序填空
题目:已知SWWSR的地址是0x0028,将DSP寄存器地址定义为volatile整形指针类型用合适的C代码定义并赋值为0X2000。
(1)SWWSR表示软件等待状态寄存器
(2)#define SWWSR(volatile unsigned int *)0x0028
MEMORY
{
PAGE0: ROM: org=C00h, len=1000h
PAGE1: SCR: org=60h, len=20h
CHIP: org=80h, len=200h
}
6定义(.def):在当前模块中定义,在其他模块中引用
参考(.ref):在当前模块中引用,在其他模块中定义
全局(.global):包含上面两者
MIPS,即每秒执行百万条指令;
MFLOPS,即每秒执行百万次浮点操作。
5、小题:设DSP芯片的工作频率为100MHZ,一帧的时间为20ms,则该DSP芯片在一帧内所能提供的最大运算量为200万条指令。书P11
第二章
1.ALU运算时,当C16=1时,可以分为两个16位ALU使用
2、累加器的保护位的作用防止迭代运算中产生的溢出
多总线结构,即设置了数据总线和数据总线,使运算速度提高。(哈弗结构使得总线也分为数据和程序总线)
指令系统的流水线操作,流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况。(其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总线资源。)
LD #y,dp作用确定当前所在的数据页
STL A,@y寻址方式为直接寻址特点:指令代码包含了数据存储器地址的低7位
3寻址方式(主要考哪几个??)
可能考的题型:
(1)汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov #0x3,DPH”使用的寻址方式是直接寻址模式,“mov *(#0x011234),T2”使用的寻址方式是绝对寻址模式。
SXM的中文名称是符号扩展模式位;当SXM=1时,设置符号扩展模式,即高24位扩展为符号位。用指令表示SSBX SXM;当SXM=0时,设置符号不扩展模式,即高24位用0填充;用指令表示RSBXSXM
4、DSP芯片的乘法运算,常需要用到舍入处理方法书上p47
方法是在低16位的最高位加1,然后将低16位清除,将高16位作为结果。(将该数加0.5,之后再将小数部分去除,即舍入处理方法,也称上取整。)
.end
编程4、连加
.mmregs
.bss x,10 ;给x保留10个空间
.bss y,1 ;给y保留1个空间
.def _c_intoo
stack .usect“STACK”,10h
.text
_c_intoo:
STM #STACK+10h,SP;设置堆栈指针
STM #a,AR1;AR1指向a
STM #x,AR1 ;设置数据段的首地址
(2)乘法指令
【例】MPY 13,A;表示T*Smem→A, Smem所在的单元数据存储器地址为13(0Dh)
(3)采用间接寻址的乘加指令
MAC *AR5+,A;A+(AR5)*T→A, AR5= AR5+1
2、在直接寻址中,指令代码包含了数据存储器地址的低7位。当ST1中直接寻址编辑方式位CPL=0时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位CPL=1时,加上SP基地址形成数据存储器地址。
(2)TMS320C55x有哪些寻址方式,试为每种寻址方式列举一条指令。
4、编程1、例:对数组进行初始化,使x[5]={0,0,0,0,0,0}。
.mmregs
.bss x, 5
.def _c_intoo
.text
_c_intoo:STM #x, AR1
LD #0, A
RPT #4
STL A,*AR1+
DSP复习资料
第一章
1、简答:书P2一个典型的DSP系统的基本构成
应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等。
DSP系统的工作过程:(简述即可)
①将输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。
②经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)。
解.usect .bss.data.word.asg.set.text.end的使用)
.mmregs
stack .usect“STACK”,10h
.bss a,4
.bss x,4
.bss y,1
.def start
.data
table:.word 1,2,3,4;变量初始化
.word 8,6,4,2
.def _c_intoo
.text
_c_intoo:
SSBX XF
CALL Delay
RSBX XF
CALL Delay
B _c_intoo
Delay:
STM #999,AR1
LOOP1: STM #4999,AR2
LOOP2: BANZ LOOP2,*AR2-
BANZ LOOP1,*AR1-
RET
.bss indata , 30
indata .usect“indata”, 30
第七章
1、指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。
(1)加法指令【例】ADD *AR3+,14,A表示(AR3)<<14+A->A,AR3+1->AR3
5、简答C语言程序代码优化有几种方法?其中并行指令属于那种优化方法?并举一例并行指令
算法优化编译优化函数优化属于编译优化ST||LD特点:单字单周期
第六章
1、小题DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。
③数字信号处理器对x(n)进行处理,得数字信号y(n)。
④经D/A转换器,将y(n)转换成模拟信号;
⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。
2、小题Simulator和Eimulator分别指软件仿真 和 硬件仿真P4
3、简答:列举 DSP 芯片的特点?(后面简要阐述即可)
答:哈佛结构,即将数据存储器和程序存储器分开;
相关主题