DSP测试题及答案.doc

上传人:wj 文档编号:4841979 上传时间:2023-05-07 格式:DOC 页数:9 大小:152.50KB
下载 相关 举报
DSP测试题及答案.doc_第1页
第1页 / 共9页
DSP测试题及答案.doc_第2页
第2页 / 共9页
DSP测试题及答案.doc_第3页
第3页 / 共9页
DSP测试题及答案.doc_第4页
第4页 / 共9页
DSP测试题及答案.doc_第5页
第5页 / 共9页
DSP测试题及答案.doc_第6页
第6页 / 共9页
DSP测试题及答案.doc_第7页
第7页 / 共9页
DSP测试题及答案.doc_第8页
第8页 / 共9页
DSP测试题及答案.doc_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DSP测试题及答案.doc

《DSP测试题及答案.doc》由会员分享,可在线阅读,更多相关《DSP测试题及答案.doc(9页珍藏版)》请在冰点文库上搜索。

DSP测试题及答案.doc

1、什么是哈佛结构和冯·诺伊曼(VonNeuman)结构?

它们有什么区别?

答:

(1)冯·诺伊曼(VonNeuman)结构

该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。

(2)哈佛(Harvard)结构

该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。

当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。

两者区别:

哈佛(Harvard)结构:

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

冯·诺伊曼(VonNeuman)结构:

当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。

2、TMS320VC5416-160的指令周期是多少毫秒?

它的运算速度是多少MIPS?

答:

TMS320VC5416-160的指令周期16ns,它的运算速度是160MIPS。

3、TMS320C54x芯片的流水线操作共有多少个操作阶段?

每个阶段执行什么任务?

完成一条指令都需要哪些操作周期?

答:

(1)六个操作阶段。

(2)各个阶段执行的任务:

①预取指P:

将PC中的内容加载到PAB

②取指F:

将读取到的指令字加载到PB

③译码D:

将PB的内容加载IR,对IR的内容译码

④寻址A:

CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。

⑤读数R:

将读出的数据1和数据2分别加载到数据总线DB和CB中。

若是并行操作指令,可同时将数据3的写地址加载到数据地址总线EAB中。

⑥执行X:

执行指令,写数据加载EB。

(3)完成一条指令需要的周期:

需要:

预取指周期、取指周期、译码周期、寻址周期和读数周期。

4、TMS320VC5402共有多少可屏蔽中断?

它们分别是什么?

NMI和RS属于哪一类中断源?

答:

(1)TMS320VC5402有13个可屏蔽中断。

(2)TMS320VC5402有的13个可屏蔽中断分别是:

(课本56页最下面)

(3)RS和NMI属于外部硬件中断。

5、试分析下列程序的流水线冲突,画出流水线操作图。

如何解决流水冲突?

STLMA,AR0

STM#10,AR1

LD*AR1,B

答:

流水线图如下图:

解决流水线冲突:

最后一条指令(LD*AR1,B)将会产生流水线冲突,在它前面加入一条NOP指令可以解决流水线冲突。

6、已知(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080H。

MVKD1030H,*AR2

MVDD*AR2,*AR3

MVDM1060H,AR4

运行以上程序后,(1030H)、(1040H)、*AR3和AR4的值分别等于多少?

答:

(1030H)=0050H,(1040H)=0050H,*AR3=0050H,AR4=0050H

7、已知,(1080H)=0020H、(1081H)=0030H。

STM#1080H,AR0

STM#1081H,AR1

LD*AR0,16,B

ADD*AR1,B

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

答:

(B)=00200030H

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

(1).bssx,4

.data

table:

.word4,8,16,32

……

STM#x,AR1

RPT#2

MVPDtable,*AR1+

答:

数据表table中的常量4传送到以变量x的地址为地址的存储单元中;数据表table中的常量8传送到以变量x+1的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2的地址为地址的存储单元中。

(2).bssx,4

.data

table:

.word4,8,16,32

……

STM#x,AR1

RPT#2

MVPDtable,*+AR2

答:

数据表table中的常量4传送到以变量x的地址为地址的存储单元中;数据表table中的常量8传送到以变量x+1的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2的地址为地址的存储单元中。

9、NOP指令不执行任何操作,它有什么作用?

答:

延时几个周期,避免流水线冲突;需要精确延时程序时,可能也会用到NOP指令。

10.说明.text段、.data段和.bss段分别包含什么内容?

答:

.text段(文本段),通常包含可执行代码;

.data段(数据段),通常包含初始化数据;

.bss段(保留空间段),通常为未初始化变量保留存储空间。

11.链接器能完成什么工作?

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

答:

链接器将各个目标文件合并起来,并完成如下工作:

(1)将各个段配置到目标系统的存储器。

(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。

(3)解决输入文件之间的未定义的外部引用。

MEMORY命令的作用:

MEMORY命令用来建立DSP应用系统中的存储器模型。

通过这条命令,可以定义系统中所包含的各种形式的存储器,以及它们占用的地址范围。

SECTION命令的作用:

说明如何将输入段结合成输出段;在可执行程序中定义输出段;规定输出段在存储器中的存储位置;允许重新命名输出段。

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

答:

PC=4021H;SP=0012H

13.试写出以下两条指令的运行结果:

①EXPA

A=FFFD876624T=0000

则以上指令执行后,B、T的值各是多少?

答:

A=0xFFFD876624;T=5

②NORMB

B=420D0D0D0D,T=FFF9

则以上指令执行后,B、T的值各是多少?

答:

B=0x841A1A1A,T=FFF9

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

    .bssy,5

    table.word1,2,3,4,5

    STM#y,AR2

    RPT#5

    MVPDtable,*AR2+

    LD#0,B

    LD#81h,AR5

    STM#0,A

    STM#4,BRC

    STM#y,AR5

    RPTBsub-1

    ADD*ARM5,B,A

    STLA,*AR5+

    sub:

LD#0,B

运行以上程序后,(81H),(82H),(83H),(84H)和(85H)的值分别是多少?

答:

(81H)=#1,(82H)=#2,(83H)=#3,(84H)=#4,(85H)=#5。

15.FIR滤波器的算法为y(n)=a0x(n)+a1x(n-1)+a2x(n-2)+a3x(n-3)+a4x(n-4),试用线性缓冲区和直接寻址的方法实现。

答:

.title“FIR1.ASM”

.mmregs

.defstart

x.usect“x”,5

PA0.set0

PA1.set1

.data

COEF:

.word1*32768/10;定义a4=0.1

.word-3*32768/10;定义a3=-0.3

.word5*32768/10;定义a2=-0.5

.word-3*32768/10;定义a1=-0.3

.word1*32768/10;定义a0=-0.1

.text

start:

SSBXFRCT

STM#x+5,AR2

STM#4,AR0

LD#x+1,DP

PORTRPA1,@x+1

FIR1:

RPTZA,#4

MACD*AR2-,COEF,A

STHA,*AR2

PORTW*AR2+,PA0

BDFIR1

PORTRPA1,*AR2+0

.end

16.试用线性缓冲区和间接寻址的方法实现上题算法的FIR滤波器。

答:

.title“FIR2.ASM”

.mmregs

.defstart

.bssy,1

xn.usect“xn”,5

b0.usect“a0”,5

PA0.set0

PA1.set1

.data

table:

.word1*32768/10;定义a4=0.1

.word-3*32768/10;定义a3=-0.3

.word5*32768/10;定义a2=-0.5

.word-3*32768/10;定义a1=-0.3

.word1*32768/10;定义a0=-0.1

.text

start:

SSBXFRCT

STM#a0,AR1

RPT#4

MVPDtable,*AR1+

STM#xn+4,AR2

STM#b0+4,AR3

STM#5,BK

STM#-1,AR0

LD#xn,DP

PORTRPA1,@xn

FIR2:

RPTZA,#4

MAC*AR2+0%,*AR3+0%,A

STHA,@y

PORTW@y,PA0

BDFIR2

PORTRPA1,*AR2+0%

.end

17.试分别说明下列有关定时器初始化和开放定时中断语句的功能:

①STM#0080H,IFR

答:

清除定时器中断1标志位

②STM#0080H,IMR

答:

允许定时器T1或DMAC1中断(使用哪一种中断由DMA通道优先级和使能控制寄存器DMPREC控制。

在复位以后,中断被配置为定时器T1中断)。

③RSBXINTM

答:

使能所有可屏蔽中断。

④STM#0279H,TCR

答:

设置定标计数器的值PSC为9;定时器分频系数为9;以PRD中的值加载TIM,以TDDR中的值加载PSC;定时器停止工作。

18.假设时钟频率为40MHZ,试编写在XF端输出一个周期为2ms的方波的程序。

答:

(定时半周期=CLKOUT*(TDDR+1)*(PRD+1);

1/2T=(1/40M)*(9+1)*(3999+1)=1ms)

;abc1.asm

;定时器0寄存器地址

TIM0.set0024H

PRD0.set0025H

TCR0.set0026H

;K_TCR0:

设置定时器控制寄存器的内容

K_TCR0_SOFT.set0b;Soft=0

K_TCR0_FREE.set0b;Free=0

K_TCR0_PSC.set1001b;PSC=9H

K_TCR0_TRB.set1b;TRB=1

K_TCR0_TSS.set0b;TSS=0

K_TCR0_TDDR.set1001b;TDDR=9

K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDR

;初始化定时器0

;Tt=25*(9+1)*(3999+1)=1000000(ns)=1(ms)

STM#3999,TIM0

STM#3999,PRD0

STM#K_TCR0,TCR0;启动定时器0中断

RET

;定时器0的中断服务子程序:

通过引脚XF给出

t0_flag.usect“vars”,1;若t0_flag=1则XF=1,若t0_flag=0则XF=0

time0_rev:

PSHMTRN

PSHMT

PSHMST0

PSHMST1

BITFt0_flag,#1

BCxf_out,NTC

SSBXXF

ST#0,t0_flag

Bnext

xf_out:

RSBXXF

ST#1,t0_flag

next:

POPMST1

POPMST0

POPMT

POPMTRN

RETE

19.试分别说明下列语句的功能:

①STM#SPCR10,SPSA0

STM#0001H,BSP0

答:

对串口控制寄存器SPCR10赋值。

不使用数字循环返回模式,接收数据DRR[1,2]采用右对齐方式,连续时钟方式,DX使能判断,接收中断由RRDY产生,接收移位寄存器未超载,串口接收器准备好,使能串口接收器。

②STM#SPCR20,SPSA0

STM#0081H,BSP0

答:

对串口控制寄存器SPCR20赋值。

串口使用软件模式,帧同步逻辑、采样率发生器复位,由发送准备好XRDY驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。

③STM#SPCR20,SPSA0

ORM#01000001B,BSP0

答:

修改串口控制寄存器SPCR20的值。

由采样率发生器产生帧同步信号,使能串口发送器。

20.已知中断向量TINT=013H,中断向量地址指针IPTR=0111H,求中断向量地址。

答:

中断向量地址=(100010001B)<<9+(10011)<<2=88CCH。

21.将TMS320VC5402芯片从2分频方式切换到4分频方式试编写程序。

答:

(2分频与4分频之间也不能直接切换,要先把2分频切换到倍频方式(PLL方式),然后再切换到4分频。

STM#F007H,CLKMD;切换到PLL*1方式

Status:

LDMCLKMD,A;测试PLLSTATUS位

XOR#F007H,A;异或-->相同为0,不同为1

BCStatus,ANEQ;若A≠0,则转移,表明还没有切换到PLL方式

;若A=0,则顺序执行,已切换到PLL方式

STM#F000H,CLKMD;切换到4分频方式

22.Intel128F400B3是一种64K*16位的Flash存储器,其控制逻辑信号如图表8.1,试将该存储器作为DSP的外部数据存储器进行扩展。

若要将该芯片进行程序存储器扩展,该如何连接?

题表8.1Intel128F400B3的控制逻辑信号

引脚

功能

引脚

功能

—CE

片选

—RP

复位

—OE

输出使能

—WP

写保护

—WE

写控制

Vpp

电源

答:

编者:

这些题都是个人根据课本和一些资料自己弄的,一些错误是避免不了的,仅供参考,欢迎各位大神找出错误给予改正!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2