《DSP原理及应用》试卷答案

发布 2022-09-03 09:16:28 阅读 1788

姓名学号班级分数。

考试时间:15:40~17:30考试方式:开卷;

注意:所有答案必须写在答题纸上,试卷上的答案无效!

一、 填空题(每空2分,共20分)

1、 在c语言和c55x汇编语言的混合程序设计中,c函数的参数和返回值传递到c55x的寄存器中。在函数“long func(int *p1, int i2, int i3, int i4)”中,*p1传递到 ar0 寄存器,i2传递到 t0 寄存器,i4传递到 ar1 寄存器,返回值由 ac0 寄存器传递。

2、 汇编语言“mov *ar0,ac0”使用的寻址方式是间接寻址模式 ,“mov #0x3,dph”使用的寻址方式是直接寻址模式 ,“mov *(#0x011234),t2”使用的寻址方式是绝对寻址模式 。

3、 指令执行前ac0的值是0012345678,那么汇编语句“and #0x7f, ac0”,执行之后,ac0的值是 0000000078 。

4、 c55x 的链接器命令文件中,sections命令的主要作用是告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出 。memory命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度 。

二、简述题(共40分)

1、 根据你的理解,试列举 dsp 芯片的特点?(5分)

答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的dsp指令;快速的指令周期;丰富的外设

2、 tms320c55x 芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什么?(6分)

答:tms320c55x dsp采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。

采用各自分开的数据总线分别用于读数据和写数据,允许cpu在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许cpu同时访问程序指令和数据。

包括12条总线,分别是:pab和pb、bab和bb、cab和cb、dab和db、eab和eb、fab和fb。

功能:3、 dsp 为了降低功耗采取了哪些措施?(6分)

答:双电压供电;多种工作模式。

4、 tms320c55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多少?存储器空间的各自作用是什么?(6分)

答:程序空间16m byte;i/o空间64k words;数据空间8m words

5、 tms320c55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6分)

答:直接寻址模式,mov #k16,dp;

间接寻址模式,mov *ar0,ac0;

绝对寻址模式,mov *(#0x011234),t2;

mmr寻址模式,mov *abs16(#ar2), t2;

寄存器位寻址模式,btstp @30, ac1;

圆形寻址模式。

6、 将c源程序转换成可执行文件需要经过哪些步骤?(6分)

答:创建c源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件。

7、 常用的tms320c55x汇编命令有哪些,它们的作用是什么?(5分)

三、程序设计题(共40分)

1、 用c55x汇编语言实现计算的程序。(10分)

答:mpym *ar0+, ar1+, ac0

mpym *ar0+, ar1+, ac1

add ac1, ac0

mpym *ar0+, ar1+, ac1

add ac1, ac0

mpym *ar0+, ar1+, ac1

add ac1, ac0

或者:mpym *ar0+, ar1+, ac0

||rpt #

macm *ar0+, ar1+, ac0

2、 用c55x汇编语言实现计算的程序。(10分)

答:mpym *ar0+, ar1+, ac3

masm *ar0+, ar1+, ac3

3、 以8点的fft为例,用c55x的汇编语言实现fft的算法,并且解释该算法的实现方法。(20分)

答: .sect "fft_code"

fft:aadd #(args-size+1),sp ; adjust stack for local vars

mov mmap(st1_55),ar2 ; s**e st1,st3

mov mmap(st3_55),ar3

mov ar2,mov ar3,btst @#0,t1,tc1check scale flag set

mov #0x6340,mmap(st1_55) ;set cpl,xf,satd,sxam,frct (scale=1)

mov #0x1f22,mmap(st3_55) ;set: hint,sata,smul

xcc do_scale,tc1

mov #0x6300,mmap(st1_55) ;set cpl,xf,satd,sxam (scale=2)

do_scale

mov t2, t2

| mov #1,ac0

mov ac0, l=1

| sfts ac0,t0t0=exp

mov ac0,< mov xar1,xcdpcdp = pointer to u

mov xsp,xar4

add # = pointer to temp

mov xar0,xar1ar1 points to sample buffer

mov t0,t1

mov xar0,xar5copy externd bits to xar5

outer_loopfor (l=1; l<=exp; l++)

mov since the buffer is

| mov #2,ac0arranged in re,im pairs

sfts ac0,t0the index to the buffer

neg t0is doubled

| mov the repeat coutners

sftl ac1,t0are not doubled

mov ac0,t0le=2<||sfts ac0,#

mov ac0,ar0le1=le>>1

| sfts ac0,#

sub #1,ac0init mid_loop counter

mov mmap(ac0l),brc0brc0=le1-1

sub #1,ac1init inner loop counter

mov mmap(ac1l),brc1brc1=(n>>l)-1

add ar1,ar0

mov #0,t2j=0

| rptblocal mid_loop-1for (j=0; j mov t2,ar5ar5=id=i+le1

mov t2,ar3

add ar0,ar5ar5 = pointer to x[id].re

add #1,ar5,ar2ar2 = pointer to x[id].im

add ar1,ar3ar3 = pointer to x[i].re

| rptblocal inner_loop-1 ; for(i=j; i mpy *ar5+,*cdp+,ac0ac0=(x[id].re*

: mpy *ar2-,*cdp+,ac1x[id].im*

masr *ar5-,*cdp-,ac0ac1=(x[id].im*

: macr *ar2+,*cdp-,ac1x[id].re*

《DSP原理及应用》试卷答案

姓名学号班级分数。考试时间 15 40 17 30考试方式 开卷 注意 所有答案必须写在答题纸上,试卷上的答案无效!一 填空题 每空2分,共20分 1 在c语言和c55x汇编语言的混合程序设计中,c函数的参数和返回值传递到c55x的寄存器中。在函数 long func int p1,int i2,i...

DSP原理及应用大作业

题目 iir算法的软件实验。学生姓名 学号 院 系 信息工程学院 专业 电子信息工程专业。iir算法实验。摘要 本课题通过软件设计iir数字滤波器,并对所设计的滤波器进行 应用dsp集成开发环境 ccs调试程序,用tms320f2812实现iir数字滤波。具体工作包括 对iir数字滤波器的基本理论进...

答案 微机原理及应用

一 填空题 每空1分,共30分 1 cpu访问存储器时,在地址总线上送出的地址称为物理地址。x86系统中,执行指令push ax后,sp sp 2 若执行指令pop ax后,sp sp 2 3 指令 mov ax,2000h 源操作数的寻址方式为立即数 指令 mov ax,bx si 6 源操作数的...