视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
dsp技术及应用试题及答案(一)
2025-10-05 18:10:04 责编:小OO
文档
dsp技术及应用试题及答案(一)

dsp技术及应用试题及答案【一】  1.1 DSP的概念是什么?本书说指的DSP是什么?

  答:DSP有两个概念。一是数字信号处理(Digital Signal Processing),指以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理;二是数字信号处理器(Digital Signal Processor),指是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。 本书中的DSP主要指后者,讲述数字信号处理器的应用。

  1.2 什么是哈佛结构和冯•诺伊曼结构?它们有什么区别?

  答:(1) 冯·诺伊曼(Von Neuman)结构

  该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。

  (2)哈佛(Harvard)结构

  该结构采用双存储空间,程序存储器和数据存储器分开,有各自的程序总线和数据总线,可编址和访问,可对程序和数据进行传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。

  1.3 已知一个16进制数3000H,若该数分别用Q0、Q5、Q15表示,试计算该数的大小。

  答:3000H=12288。若用Q0表示,则该数就是12288;若用Q5表示,则该数就是12288*2-5=384;若用Q15表示,则该数就是12288*2-15=0.375

  1.4 若某一个变量用Q10表示,试计算该变量所能表示的数值范围和精度。 答:Q10能表示的数值范围是-32~31.9990234,其精度为2-10

  1.5 若x=0.4567,试分别用Q15、Q14、Q5将该数转换为定点数。

  答:Q15:x*215=int(0.4567*32768)=14965;Q14:x*214=int(0.4567*16384)=7482;Q5:x*25=int(0.4567*32)=14。

  注意:结果都要取整;可以十进制也可以是十六进制。

dsp技术及应用试题及答案【二】  2.1 TMS320C54x芯片的CPU主要由哪几部分组成?

  答:CPU主要组成是40位的算术逻辑运算单元ALU;

  40位的累加器A和B;

  40位的桶形移位寄存器;

  乘法累加单元(MAC);

  比较、选择和存储单元(CSSU);

  指数编码器(EXP);

  16位的状态寄存器ST0、 ST1以及处理器工作方式状态寄存器PMST; 寻址单元。

  2.2 处理器工作方式状态寄存器PMST中的MP/MC、OVLY和DROM三个状态位对‘C54x的存储空间结构各有何影响?

  答:MP/MC控制位用来决定程序存储空间是否使用内部存储器。当MP/ MC=0时,称为微计算机模式,允许片内ROM配置到程序存储器。当MP/ MC=1时,称为微处理器模式,禁止片内ROM配置到程序存储器。

  OVLY控制位用来决定程序存储空间是否使用内部RAM。当OVLY= 0时,程序存储空间不使用内部RAM。当OVLY= 1时,程序存储空间使用内部RAM,内部RAM同时被映射到程序存储空间和数据存储空间。

  DROM:用来决定片内ROM是否可以映射到数据存储空间。当DROM=1时,片内ROM配置到程序和数据存储空间。当DROM=0时,禁止片内ROM配置到数据存储空间。

dsp技术及应用试题及答案【三】  3.1 已知(30H)=50H,AR2=40H,AR3=60H,AR4=80H。

  MVKD 30H,*AR2 ;(40H)=50H

  MVDD *AR2,*AR3 ;(60H)=50H

  MVDM *AR3,AR4 ;AR4=50H

  运行以上程序后,(30H)、(40H)、*AR3和AR4的值分别等于多少? 答:均等于50H。

  3.2已知(80H)=20H,(81H)=30H。

  LD #0,DP

  LD 80H,16,B

  ADD 81H,B

  运行以上程序后,B等于多少?

  答:此题错误。因为第2和第3条指令中的80H、81H默认是@80H、@81H,那么根据直接寻址方式的地址形成,DP的值放在高9位,@后面的值只取低7位,合在一起形成16位地址就是0000000000000000B(0000H)、0000000000000001B(0001H)。而这2个地址的值已知条件中没有说明,此题无解。

  如果按照已知条件,应该将DP值置为1,即第1条指令改为LD #1,DP。则第2条指令执行后,B=200000H;第3条指令执行后,B=200030H。

  3.3 试为下列程序段的每条指令加上注释。

  STM #88H, AR0 ;AR0=0088H

  LD #1000H, A ;A=0000001000H

  zhong: SUB AR0, A ;A=0000001000H-0088H=0000000F78H BC zhong, AGT, AOV ;若A>0且A溢出,则跳转至zhong

  3.4 阅读以下程序,分别写出运行结果。

  .bss x, 4 .bss x, 4

  .data .data

  table: .word 4, 8, 16, 32 table: .word 4, 8, 16, 32 …… ……

  STM #x, AR1 STM #x, AR1 RPT 2 RPT 2

  MVPD table, *AR1+ MVPD table, *+AR1

  答:左边的程序段的运行结果是以x开始的3个存储单元分别置初值4,8,16。

  右边的程序段的运行结果是以x+1开始的3个存储单元分别置初值4,8,16,而x没有置初值。

dsp技术及应用试题及答案【四】  4.1 说明.text段、.data段和.bss段分别包含什么内容?

  答:.text段是已初始化段,包含可执行的程序代码,是汇编语言程序的正文;

  .data段也是已初始化段,一般包含初始化的数据块;

  .bss段是未初始化段,没有确切内容,主要作用是定义变量,预留存储单元。

  4.2 在堆栈操作中,PC当前地址为4020H,SP当前地址为0013H,运行PSHM AR7后,PC和SP的值分别是多少?

  答:PC=4021,SP=0012H。

  4.3 试编写0.25×(-0.1)的程序代码。

  答: .mmregs

  STACK .usect “STACK”,10h ; 为堆栈指定空间

  .bss x,1 ; 为变量x,y,z各分配1个字的空间 .bss y, 1

  .bss z, 1

  .def start

  .data

  table: .word 25*32768 /100 ; 变量初始化

  .word -1*32768 /10

  .text

  start: STM # 0,SWWSR ; 插入0个等待状态

  STM # STACK + 10h,SP ; 设置堆栈指针

  STM # x,AR1 ; AR1指向x

  RPT #1

  MVPD table,*AR1+ ; 从程序存储器到数据存储器

  SSBX FRCT ;FRCT置1

  LD # x, DP ;设置DP

  LD @x, T

  MPY @y, A ;x*y

  STH A,@z ;存结果

  end: B end

  .end

  4.4 编写程序段,设计一个存储空间为100字的堆栈。

  答:STACK .usect “STACK”,100

  STM # STACK + 100,SP ; 设置堆栈指针

  4.5 编写程序段,实现对数组x[5]中的每个元素都加1。

  答: .bss x, 5

  begin: STM #x, AR4

  STM #4, AR3

  loop: ADDM #1, *AR4+

  BANZ loop, *AR3-

  4.6 编写完整程序,实现y=x1+x2+x3+x4+x5。

  答: .mmregs

  STACK .usect “STACK”,10h ; 为堆栈指定空间

  .bss x1,1 ; 为变量x1~x5,y各分配1个字的空间 .bss x2, 1

  .bss x3, 1

  .bss x4, 1

  .bss x5, 1

  .bss y, 1

  .def start

  .data

  table: .word 1,2,3,4,5 ; 初始化数据

  .text

  start: STM # 0,SWWSR ; 插入0个等待状态

  STM # STACK + 10h,SP ; 设置堆栈指针

  STM # x1,AR1 ; AR1指向x

  RPT #4

  MVPD table,*AR1+ ; 从程序存储器到数据存储器

  STM # x1, AR2 ;设置首地址

  RPTZ A, #4

  ADD *AR2+, A

  STL A, *AR2+

  STH A, *AR2

  end: B end

  .end

  4.9 阅读以下程序,写出运行结果。

  .bss y, 5

  table: .word 1, 2, 3, 4, 5

  STM #y, AR2

  RPT # MVPD table, *AR2+

  LD #0, B

  #81H, AR5

  #0, A

  STM #4, BRC

  STM #y, AR5

  RPTB sub-1

  ADD *AR5, B, A

  STL A, *AR5+

  sub: LD #0, B

  运行以上程序后,(81H)、(82H)、(83H)、(84H)和(85H)的值分别是多少? 答:题目中不仅有指令语法错误,还有逻辑错误。因为虽然通过 #81H, AR5将81H赋给AR5,但是后面又有STM #y, AR5。所以AR5的值依然是y,运行后不会将加法的结果送到81H~85H单元。

  当然,根据题意,运行后的结果是(81H)=1,(82H)=2,(83H)=3,(84H)=4,(85H)=5。

  4.10 链接命令文件中,MEMORY和SECTION命令的任务是什么?

  答:MEMORY命令的作用是定义系统中所包含的各种形式的存储器,以及它们占据的地址范围。

  SECTION命令的作用是将输出端定位到所定义的存储器中。

  注:4.7、4.8、4.11题系实验要求,不提供参,请同学们自行上机编程验证。下载本文

显示全文
专题