DSP原理及其应用(复习题集)_第1页
DSP原理及其应用(复习题集)_第2页
DSP原理及其应用(复习题集)_第3页
DSP原理及其应用(复习题集)_第4页
DSP原理及其应用(复习题集)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、填空题1、 累加器 A分为三个部分,分别为AG、 AH、 AL ;2、 TMS320VC5402型 DSP的部采用8 条 16 位的多总线结构;3、 TMS320VC5402型 DSP采用哈佛 总线结构对程序存储器和数据存储器进行控制;4、 TMS320VC5402型 DSP有 8 个辅助工作寄存器;5、 DSP处理器TMS320VC5402中 DARM的容量是16K 字;6、 TI 公司的DSP处理器TMS320VC5402PGE10有0 2 个定时器;7、 在连接器命令文件中,PAGE 1 通常指 数据 存储空间;8、 C54x的中断系统的中断源分为硬件 中断和 软件 中断;9、 TI 公

2、司DSP处理器的软件开发环境是CCS(Code Composer Studio) ;10、 DSP处理器TMS320VC5402外部有20 根 地址线;11、 直接寻址中从页指针的位置可以偏移寻址128 个单元;12、 在器命令文件中,PAGE 0通常指程序 存储空间;13、 C54x 系列DSP处理器中,实现时钟频率倍频或分频的部件是锁相环 PLL ;14、 TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址FF80H 单元开始工作;15、 TMS320C54x系列DSP处理器有2 个通用 I/O 引脚,分别是BIO 和 XF ;16、 DSP处理器按数据格式分为两类,分别是

3、定点DSP和浮点DSP ;17、 TMS329VC5402型 DSP的 ST1 寄存器中,INTM位的功能是开放 /关闭所有可屏蔽中断;18、 MS320C54X DSP主机接口HPI 是 8 位并行口;19、 在 C54X系列中,按流水线工作方式,分支转移指令的分为哪两种类型:无延迟分支转移、延迟分值转移;20、 C54x 的程序中,“ .bss ”段主要用于 为变量保留存储空间;21、 从数据总线的宽度来说,TMS320VC5402PGE10是0 16 位的DSP存储器;22、 TMS320VC5402型 DSP处理器的核供电电压1.8V ;23、 TMS320C5402系列DSP处理器最

4、大的数据存储空间为64K 字;24、 在器命令文件中,PAGE 0通常指程序 存储空间;25、 DSP技术是利用专用或通用数字信号处理芯片,通过数值运算的方法对信号进行处理;26、 C54x 的程序中,“ .text ”段是 文本段 ,主要包含可执行文本;27、 C54x 系列DSP上电复位后的工作频率是由片外3 个管脚CLKMD1、 CLKMD、 2 CLKMD3来决定的;28、 DSP处理器TMS320C5402最大的程序存储空间为1M 字;29、 从应用领域来说,MCU单片机()主要用于控制领域; DSP处理器主要应用于信号处理;30、 TMS320C54X DSP提供一个用16 位堆栈

5、指针(SP)寻址的软件堆栈。当向堆栈中压入数据时,堆栈是从高 地址向低 地址方向填入;31、 TMS320C54X DSP软硬件复位时,复位中断向量的地址为程序空间的FF08H ;32、 TMS320C54X可编程定时器的定时周期=( 时钟周期)*( 分频系数TDDR+1)*(PRD +1);33、 DSP处理器的英文全称Digital Signal Processor ;34、 DSP处理器TMS320VC5402的 IO 管脚供电电压为3,3V ;35、 C54x 的程序中,“ .data ”段是 数据段 ,主要应用于通常包含初始化数据;36、 DSP处理器TMS320C5402的 I/O

6、 空间为 64K 字;37、 TMS320VC5402型DSP的累加器是40位;38、 TMS329VC5402型 DSP的 MP/MC管脚的功能是微计算机或是微处理器工作模式;39、 TMS320VC5402型DSP的CPU采用桶形移位寄存器作为专用硬件实现移位功能;40、 汇编语句“STL A , y”中“y”表示 直接寻址方式;41、 TMS320VC5402型 DSP的 ST1 寄存器中,CPL位的功能是指示直接寻址采用何种指针;42、 解释汇编语句“READA *AR1”的功能:以累加器A 的容作为地址读取程序存储单元,将读取的数据存入以AR1的容作为地址的数据存储单元中;43、 T

7、MS320C54X具有两个通用I/O 口, BIO 勇于输入外设的的状态;XF 用于输出外设的控制信号;判断题1、 DSP 处理器TMS320VC5402的供电电压为5V。 ( ×)2、 DSP的工作频率只能是外部晶体振荡器的频率。( ×)3、 TMS320C54X DSP是浮点型处理器。( ×)4、 TMS320C54X DSP的汇编语言中有除法指令。( ×)5、 TMS320VC5402型 DSP部有8K字的ROM,用于存放自举引导程序、u 律和 A律扩展表、sin 函数表以及中断向量表。(×)6、 DSP的流水线冲突产生的原因是由于DSP

8、运行速度还不够快。( ×)7、 TMS320C54X系列DSP外部程序存储器的分页扩展受DROM位控制。( ×)8、 TMS320C54X DSP是浮点型处理器。( ×)9、 DSP的工作频率只能是外部晶体振荡器的频率。( ×)10、 TMS320C54X DSP的汇编语言中有除法指令。( ×)11、 汇编伪指令可以用大写表示。( ×)12、 DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。( ×)13、 TMS320VC5402型 DSP汇编指令READA的寻址围为64K字。( ×)14、 TMS320

9、VC5402型 DSP可以通过设置DROM位实现数据存储空间和程序存储空间共享片DARAM。 ( ×)15、 TMS320C54X系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间共享片ROM。 ( ×)16、 TMS320VC5402型 DSP汇编语言的伪指令也是一种指令,同样占用存储空间。( ×)17、 TMS320VC5402型 DSP的工作频率是由外部晶振唯一确定的。( ×)18、 DSP 处理器TMS320VC5402的中断向量表位置是固定的。( ×)19、 TMS320VC5402型 DSP可以通过设置DROM位实现数据

10、存储空间和程序存储空间的共享片DARAM。 ( ×)20、 TMS320C54X系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间的共享片ROM。 ( ×)21、 TMS320VC5402型 DSP汇编语言的伪指令也是一种指令,同样占用存储空间。( ×)22、 DSP 处理器TMS320VC5402部含有SARAM存储器。( ×)23、 3.3V 的 TTL电平器件可以直接驱动5V的 CMOS器件。( ×)24、 DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。( ×)25、 C54X系列DSP 处理器的累加器A

11、,B 是 32位的。(×)26、 DSP 处理器TMS320VC5402有不止一种串行口。( ×)FF80h 单元开始执行。( ×)27、 DSP处理器TMS320VC5402在微型计算机工作模式时,上电复位后程序从片外存储器的28、 DSP处理器TMS320VC5402的中断向量表位置是固定的。( ×)29、 DSP处理器TMS320VC5402的程序存储空间只有64K字。( ×)30、 MEMOR伪指令用来指定器将输入段组合成输出段方式,以及输出段在存储器中的位置。Y( )31、 TMS320C54X DSP汇编语言源程序中,标号是可选项,

12、若使用标号,则标号必须从第一列开始。( )32、 DSP 处理器的中断请求可以由软件产生。( )33、 哈佛结构的特点是数据总线和程序总线分开。( )34、 DSP和 MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。( )35、 在 C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4 个字。 ( )36、 在 C54x系列DSP中断向量表的最大长度只能128字。 ( )37、 DSP对程序存储空间、数据存储空间和I/O 空间的选择分别是由三根片选线PS、 DS、 IS 独立选择的。( )38、 C54x 系列DSP的

13、 CPU寄存器及片外设寄存器映射在数据存储空间的0000h-0080h 中。 ( )39、 单片机通过HPI 接口可以访问TMS320VC5402的全部64K字数据存储空间。( )40、 在 DSP处理器汇编程序中,标号区分大小写。( )41、 DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。( )42、 DSP 处理器TMS320VC5402的中断向量表位置是固定的。( )43、 当 TMS320C54X DSP处于微处理器模式时,DSP上电复位之后从片外程序存储器的FF80H开始运行。( )44、 在 TMS320VC5402型 DSP所有中断向量中,只有硬件复位向量不能被

14、重定位,即硬件复位向量总是指向程序空间的 0FF80H位置。( )45、 DSP和 MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。( )46、 在 DSP处理器汇编程序中,标号区分大小写。( )47、 DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。( )48、 器命令文件是用来规定程序段的存放位置的。( )49、 DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。( )50、 C54x 系列DSP只有两个通用的I/O 引脚。 ( )51、 在 C54x系列DSP的寻址方式中,使用DP作为直接

15、寻址的偏移寻址围只有128个字。 ( )52、 DSP的流水线冲突可以通过改变编程方法或者添加nop 语句来消除。( )53、 TMS320VC5402型 DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。( )54、 在 C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4 个字。 ( )55、 如果OVLY=1,程序存储空间可以使用部RAM,此时,不论XPC为何值,扩展程序存储空间的所有低32K字都被映像到部RAM中。( )56、 在 DSP的编程中可以将程序中不同的段放置在不同的存储器中。( )57、 C54x系列DSP的寻址方式中,用DP作为直接寻址的偏移寻址围只有

16、128 个字。 ( )58、 在 C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4 个字。 ( )59、 DSP对程序存储空间、数据存储空间和I/O 空间的选择分别是由三根片选线PS、 DS、 IS 独立选择的。( )60、 DSP的流水线冲突可以通过改变编程方法或者添加nop 语句来消除。( )61、 TMS320C54X系列 DSP的汇编语言中分支转移指令执行需要4 个机器周期。( )62、 DSP 处理器TMS320VC5402的定时器可以构成20 位的定时器。( )63、 DSP 处理器 TMS320VC5402的软件中断是不可屏蔽的中断。( )64、 DSP 处理器 TM

17、S320VC5402可以计算浮点小数运算。( )65、 TMS320VC5402型 DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。( )66、 在 DSP的编程中可以将程序中不同的段放置在不同的存储器中。( )67、 TMS320C54X系列DSP的汇编指令WRITA可以寻址1M字的程序空间。( )68、 DSP 处理器TMS320VC5402部没有专用的除法指令。( )69、 定点DSP 处理器TMS320VC5402可以计算浮点小数运算。( )70、 DSP 处理器TMS320VC5402的定时器可以构成20 位的定时器( )71、 DSP 处理器TMS320VC5402的

18、软件中断是不可屏蔽的中断。( )72、 DSP 处理器TMS320VC5402支持流水线的指令运行方式。( )73、 DSP处理器TMS320VC5402部没有专用的除法指令。( )74、 定点DSP处理器TMS320VC5402可以计算浮点小数运算。( )75、 CCS软件开发系统支持C语言程序编程。( )76、 DSP处理器C54x的软件中断是不可屏蔽的中断。( )77、 DSP处理器 C54x支持流水线的指令运行方式。( )78、 DSP处理器C54x的堆栈是向低地址方向生长的。( )79、 DSP处理器 C54x的汇编程序是由许多“段”组成的。 ( )三、 程序阅读题1、 阅读下面的程

19、序片断,写出运行结果.mmregsbei_hua .set 18LD # bei_hua , A问题:(1) “ .mmregs”的作用是什么?(2) 运行此段程序后,累加器A的结果是多少?答:(1) 定义存储器映像寄存器的符号名称(2)A 的结果是182、 阅读下面的程序,回答问题。.bss x, 8LD #0001H,16,BSTM #7,BRCSTM #x,AR4RPTB next-1ADD *AR4,16,B,ASTH A,*AR4+next: LD #0,B问题:(1) 、寄存器“BRC”的功能是什么?(2) 汇编语句“ADD *AR4,16,B,A ”执行了多少次?(3) 执行语句

20、“LD #0001H,16,B ”后,累加器 B的容是多少?答: (1) 寄存器“BRC”的功能是暂存块循环的次数(2)8 次(3)B=0x0100H;3、 阅读程序,回答后面的问题STM #6,AR4begin: STM #9,BRCRPTB next-1nopnext: LD #0,Bbanz begin,*AR4 问题:(1)BRC 寄存器是做什么用途?(2) 语句“ banz begin,*AR4 ”的作用是什么?(3) 其中的“ nop”语句被执行了多少次?答: (1)BRC 保存着RPTB指令的循环次数(2) 判断 AR4的容是否为零,若不为零,跳转到标号begin 。(3)70

21、次4、 阅读下面的程序,回答问题。MEMORY PAGE 0:PROG: origin = 0x2000,length = 0x1000PAGE 1:DATA: origin = 0x4000, length = 0x1000SECTIONS .text:> PROG PAGE 0STACK:> DATA PAGE 1汇编程序size .set 0x0120stack .usect “ STACK”,size.textSTM # stack + size, SP问题:(1) 指令“ stack .usect “ STACK”,size ”的作用是什么? 2) 2) 标号“ stac

22、k ”的存储器地址是多少? 3) 执行这段代码之后,SP寄存器的容是多少?答: (1) 定义一个未初始化段,段名为”STACK”,目的是为变量stack 保留 size 个单元的存储空间。(2)stack 的存储空间为0x4000;(3)SP=0x4120;5、 阅读下面的命令连接文件( 简称CMD文件)和程序文件CMD文件:MEMORY PAGE 0: PROG:origin = 0x1000,length = 0x1000PAGE 1:SECTIONSDATA: origin = 0x2000,length = 0x1000 .text:>.data:>.datatable:

23、.word 1,2,3,4.textstart: STM # 0,SWWSRPROG PAGE 0DATA PAGE 1; 变量初始化;插入 0 个等待状态CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL× 150019007HPLL× 100104007HPLL× 51001007HPLL× 2110F007HPLL× 11110000H2 分频101F000H4 分频问:(1)MEMORY和 SECTIONS的作用各是什么?(2) 标号“ table ”和“ start ”的地址分别是什么 , 分别位于程序

24、空间还是数据空间?答:(1)MEMORY和 SECTIONS伪指令,用来指定目标存储器结构和地址分配。(2) 标号 table : 1000h(程序空间)、标号 start : 2000h( 数据空间)6、已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=11外部晶振1,=10MHz,参数设置表:STM #00H, CLKMDStatus : LDM CLKMD, AAND #01H, ABC Status, ANEQSTM #9007H, CLKMD问题:(1)DSP 复位后,DSP的工作时钟是多少?(2) 执行上面的程序片段后,DSP的工作时钟是多少?答: (1)5MHz(2)100

25、MHz7、阅读下面的程序片断,写出运行结果.mmregsDAT0 .SET 60HLD #004h,DPST #0345h,DAT0STM #0002h,TMPY DAT0,ANOP问题:(1) 寄存器T的作用是什么?(2) 执行“ MPY DAT0,A”后,累加器A的容是什么?答: (1) 寄存器 T 的作用是暂存被乘数。(2) 累加器 A的容为 0x68A或 68Ah8、 阅读下面的程序:.mmregsDAT0 .SET60HDAT1 .SET61HDAT2 .SET62HDAT3 .SET63Hadd3 .macro P1LD P1ADD P2ADD P3 STL A .endmST #

26、0034h,DAT0P2, P3, ADDRP,A,A,AADDRPST #0243h,DAT1ST #1230h,DAT2ADD3 DAT0,DAT1,DAT2,DAT3问题:(1) 语句“.mmregs”的含义。(2) 语句“ ADD3 DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?作用是什么?(3) 执行此段程序后,存储单元(DAT3)的运行结果多少?答: (1) 定义存储器映像寄存器的符号名称。(2) 宏调用。执行三个数相加。(3)14A7H9、 阅读下面的程序,回答问题。.sect ".vectors"rst: B _c_int00 ;复位中断向量

27、的入口NOPNOP.space 18*4*16tint: B timeout ;定时器 0 的中断向量的入口NOPNOP问: (1) “ .sect ”伪指令的作用是什么 ?(2) 标号“ rst ”的地址为 6000H, 请问标号“tint ”的地址是多少?答: (1) 定义一个自定义段名的程序段(2)604Ch10、 阅读下面的程序片段,写出运行结果.mmregsDAT0 .SET 60HLD #004h,DPST #0345h,DAT0STM #0002h,TMPY DAT0,ANOPNOP问题:(1) 寄存器 T的作用是什么?(2) 执行“ MPY DAT0,A”后,累加器A的容是什么

28、? 答: (1) 寄存器 T 的作用是暂存被乘数,(3) 累加器 A的容为 0x68A或 68Ah11、 阅读下面的程序,回答问题。MEMORYPAGE 0: PROM: org=0E000h,len=100hVECS: org=0FF80h,len=04hPAGE 1: SPRAM: org=0060h,len=20hDARAM: org=0080h,len=100hSECTIONS .text :>EPROM PAGE 0.data :>EPROM PAGE 0.bss :>SPRAM PAGE 1STACK :>DARAM PAGE 1vectors :>V

29、ECS PAGE 0问题:(1) 该文件是如何配置程序空间和数据空间的?(2) 该文件中出现了几个段?哪些是初始化段?哪些是未初始化段?各段是如何分配的?答: (1) 该文件使用MEMOR伪指令将程序空间划分为两个小区间:Y名为PROM的区间其起始地址为0E000h, 长度为 100h字;名为VECS的区间其起始地址为0FF80h, 长度为 4 字。将数据空间也分为了两个小区间: 名为SPRAM的区间其起始地址为 0060h, 长度为 20h 字;名为DARAM的区间其起始地址为0080h, 长度为 100h 字。(2) 出现了 5 个段, .text , .data 和 vectors 是初

30、始化段,.bss 和 STACK段是未初始化段。.text 和 .data 分配到程序空间的EPROM区间;.bss 分配到数据空间SPRAM区间;STACK段分配到数据空间的DARAM区间; vectors 段分配到程序空间的VECS区间。12、 阅读下面的程序,回答问题。MEMORY PAGE 0: PROG:origin = 0x2000, length = 0x1000PAGE 1:DATA: origin = 0x3000,length = 0x1000SECTIONS .text:> PROG PAGE 0.bss:> DATA PAGE 1汇编程序:.bss a,4.

31、bss x,4.bss y,1STM #a, AR3STM #x, AR4RPTZ A, #3MAC *AR3+,*AR4+,ASTL A,*(y)问题:(1) 指令“ STM #a, AR3 ”的作用是什么?执行此句指令后,寄存器 AR3的容是多少?( 2) 指令“ MAC *AR3+,*AR4+,A ”执行了几次?每执行一次寄存器AR3和 AR4的容如何变化?( 3) 这段代码的功能是什么?答: (1) 将标号 a 的地址赋给辅助工作寄存器AR3, AR3=3000h。(2) 执行了 4 次,每执行一次辅助工作寄存器AR3和 AR4的容增一。4(3) yai xii113、已知DSP的三个

32、时钟引脚状态CLKMD1-CLKMD3=10外部晶振1,=10MHz,参数设置表:CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL× 150019007HPLL× 100104007HPLL× 51001007HPLL× 2110F007HPLL× 11110000H2 分频101F000H4 分频STM #00H, CLKMDStatus : LDM CLKMD, AAND #01H, ABC Status, ANEQSTM #9087H, CLKMD问题: ( 1)DSP 复位后,DSP的工作时钟是多少?(

33、2) 执行上面的程序片段后,DSP的工作时钟是多少?答: (1)2.5MHz(2)100MHz14、 阅读下面的程序片断,回答下面的问题DAT0 .SET60HDAT1 .SET61HDAT2 .SET62HDAT3 .SET63HLD #004h,DPST #83h,DAT0ST #0041h,DAT1RSBX SXMLD DAT0,ARPT #15SUBC DAT1,ASTL A,DAT2STH A,DAT3问:在 CPL=0的情况下,(1) 语句“ STL A,DAT2 ”,其中 DAT2所指的地址是多少?(2) 存储单元(DAT2)和 (DAT3)的容是多少?答: (1)0262h(2

34、)(DAT2)=02H (DAT3)=01H15、 阅读程序,回答后面的问题STM #9,AR4begin: STM #7,BRCRPTB next-1nopnext: LD #0,Bbanz begin,*AR4-问题:(1)BRC 寄存器是做什么用途?(2) 其中的“nop”语句被执行了多少次?答: (1)BRC 保存着RPTB指令的循环次数(2)80 次16、 阅读下面的程序,回答后面的问题.bss x,10 .bss y,1STM #x,AR1STM #9,AR2LD #0,Aloop: ADD *AR1+,ABANZ loop,*AR2- STL A, * (y) 问: (1) 解释

35、语句“.bss x,10 ”的含义。(2) 解释语句“STL A, * (y) ”的含义。(3) 这一段程序实现什么功能?答: (1) 给 x 保留 10 个空间(2) 将累加器A的低16 位数据存储到变量y中。10(3) yxii117、 阅读下面的程序片段,回答后面的问题.sect ".vectors"rst: B _c_int00 NOP NOP.space 18*4*16tint: B timeout NOP NOP问: (1) “ .sect ”伪指令的作用是什么 ?(2) 标号“ rst ”的地址为 6000H, 请问标号“tint ”的地址是多少?1. 答:

36、(1) 定义存储器映像寄存器的符号名称(2)A 的结果是1818、 已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=11外部晶振0,=10MHz,参数设置表:CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL× 150019007HPLL× 100104007HPLL× 51001007HPLL× 2110F007HPLL× 11110000H2 分频101F000H4 分频STM #00H, CLKMDStatus : LDM CLKMD, AAND #01H , ABC Status , ANEQST

37、M #4087H , CLKMD问题:(1)DSP 复位后,DSP的工作时钟是多少?(2) 执行上面的程序片段后,DSP的工作时钟是多少?答: (1)10 MHz(2)50 MHz19、 阅读下面的命令连接文件( 简称CMD文件)和程序文件:CMD文件:MEMORY PAGE 0: PROG: PAGE 1:SECTIONS .text:.data:程序文件:.dataorigin = 0x1000,DATA:origin = 0x2000,PROG PAGE 0DATA PAGE 1table:.word1,2,3,4; 变量初始化length = 0x1000length = 0x1000

38、.text start: 问题:(2) 标号“STM # 0,SWWSR插入 0 个等待状态(1)MEMORY和 SECTIONS的作用各是什么?table ”和“ start ”的地址分别是什么 , 分别位于程序空间还是数据空间?答: (1) 定义一个自定义段名的程序段 (2)604Ch 20、 阅读下面的程序,回答问题。MEMORY PAGE 0: PROG:PAGE 1:origin = 0x2000,DATA:origin = 0x3000,length = 0x1000length = 0x1000SECTIONS .text:STACK:PROG PAGE 0DATA PAGE 1

39、汇编程序size .set 0x0120stack .usectSTACK”,size.textSTM(2)# stack + size, SP(1) 指令“ stack .usect “ STACK”,size ”的作用是什么?标号“ stack ”的存储器地址是多少?( 3) 执行这段代码之后,SP寄存器的容是多少?答: (1) 定义一个未初始化段,段名为”STACK”,目的是为变量stack 保留 size 个单元的存储空间。(2)stack 的存储空间为0x4000;(3)SP=0x4120;21、阅读下面的程序,回答问题。MEMORY PAGE 0: PROG:PAGE 1: DAT

40、A:origin = 0x2000, length = 0x1000origin = 0x3100,length = 0x1000SECTIONS .text:> PROG PAGE 0.bss:> DATA PAGE 1汇编程序:.bss x , 16.bss y , 16.textSTM #x, AR2STM #y, AR3RPT #15MVDD AR2+ , *AR3+问题:(1) 变量“x”的存储器地址是多少?位于哪个存储空间( 程序还是数据存储空间)。( 2) 语句“ STM #x,AR2”的作用是什么?执行此句指令后,寄存器 AR2的容是多少?( 3) 语句“ MVDD

41、 AR2+, *AR3+”的执行了多少次?每执行一次寄存器AR2和 AR3的容如何变化?(4) 此段代码的功能是多少?答: (1) 变量“x”的存储器地址是0x3100; 位于数据存储空间(5) 将变量“x”的地址赋给辅助工作寄存器AR2, AR2=3100h。(6) 执行了 16 次,每执行一次辅助工作寄存器AR2和 AR3的容增一。(7) 4) 将数组变量“x ”的数据传送到数组变量“y ”中。22、阅读下面的程序,回答问题。MEMORY PAGE 0: PROG:origin = 0x2000, length = 0x1000PAGE 1: DATA:origin = 0x3100, l

42、ength = 0x1000SECTIONS .text:> PROG PAGE 0.bss:> DATA PAGE 1汇编程序:.bss x , 16.bss y , 16.textSTM #x, AR2STM #y, AR3RPT #15MVDD AR2+ , *AR3+问题:(1) 变量“x”的存储器地址是多少?位于哪个存储空间( 程序还是数据存储空间)。( 2) 语句“ STM #x,AR2 ”的作用是什么?执行此句指令后,寄存器 AR2的容是多少?( 3) 语句“ MVDD AR2+, *AR3+”的执行了多少次?每执行一次寄存器AR2和 AR3的容如何变化?( 4) 此

43、段代码的功能是多少?答: (1) 变量“x”的存储器地址是0x3100; 位于数据存储空间(2) 将变量“x ”的地址赋给辅助工作寄存器AR2, AR2=3100h。(3) 执行了 16 次,每执行一次辅助工作寄存器AR2和 AR3的容增一。(4) 将数组变量“x”的数据传送到数组变量“y ”中。四、 简答题1、 在 C54x 的汇编语言中,使用“#”、“ *”、 “”符号作为操作数的前缀各表示什么意思?答: 使用“#”号作为前缀,汇编器将操作数作为立即数处理。即使操作数是寄存器或地址,也将作为立即数。使用“ *”符号作为前缀,汇编器将操作数作为间接地址,即把操作数的容作为地址。已知DSP的工

44、作时钟为20MHZ,现需要用定时器定时10ms,请问PRD和 TDDR寄存器的初始值如何确定?(PRD)=19999,(TDDR)=9;或 (PRD)=49999,(TDDR)=4TMS320C54X指令系统的寻址方式各有哪些?各寻址方式举一例说明。寻址方式用途举例指令含义立即寻址主要用于初始化LD #10 , A立即数10 > A绝对寻址利用16 位地址寻址存储单元STL A , *(y)将 AL 容存入y 所在的存储单元累加器寻址将累加器中的容作为地址READA x将 A 的容作为地址读程序存储器,并存入x 存储单元直接寻址利用数据页指针和堆栈指针寻址LD x , A(DP+x 的低

45、7 位地址) ? A间接寻址利用辅助寄存器作为地址指针LD *AR1 , A(AR1) -> A存储器映像寄存器寻址快速寻址存储器映象寄存器LDM ST1 , B(ST1) > B堆栈寻址压入 / 弹出数据存储器和存储器映像寄存器MMRPSHM AG(SP)-1 >SP,(AG) > (SP)简述COFF文件中“段”的概念,有哪些常用的段?4、使用“”符号作为前缀,汇编器将操作数作为直接地址,即操作数由直接地址码赋值。2、 答:3、 答:答: 段是COFF文件中最重要的概念。每个目标文件都分成若干段。段是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开

46、的和各不相同的。.text 段 ( 文本段 ) ,通常包含可执行代码;.data.sect.bss.usect段 ( 数据段 ) ,通常包含初始化数据;段已初始化段,由汇编器伪指令建立的自定义段。段未初始化段;段未初始化段,由汇编命令建立的命名段 ( 自定义段) 。5、一个典型的DSP系统通常由哪些部分组成?画出框图答:DSP芯片及DSP基本系统、程序和数据存储器、电源处理电路和同步电路等。数 / 模和模 / 数转换器、模拟控制与处理电路、各种控制口和通信口、信 号 预 处 理防混叠滤波器防混叠 ?滤波器MUX程 控 放 大 等平滑滤波平滑? 滤波器ADCAD? CDACDAC控制口TMS32

47、0C54xEPROMRAM通信口6、在 C54x 的程序中,“ .text ”和“.sect ”段有什么区别?答: 在程序中,所有的 “ .text ” 段在编译时合并为一个“ .text ” 段, 并将其定位在一个连续的存储空间中。在 “ .sect ”定义的段中,由于不同的段均有不同的段名,因此不同段名的“.sect ”段不会合并为一个段,而且可以分别定位在程序存储空间的不同位置。7、简述 C54x 系列DSP的定时器工作过程。答: 定时分频系数和周期数分别装入TCD和 PRC寄存器中; 每来一个定时脉冲CLKOU,计数器TPSC减 1; 当PSC减至0 时,PSC产生借位信号; 在 PS

48、C的借位信号作用下,TIM 减 1 计数,同时将分频系数装入PSC,重新计数; 当TIM 减到0时,定时时间到,由借位产生定时中断TINT 和定时输出TOUT,并将PRD中的时间常数重新装入TIM。8、 数字信号处理技术及算法在工程实践中常见的实现方法有哪些?答: 数字信号处理技术及算法在工程实践中常见的实现方法有: 在通用计算机(PC 机 )上用软件(如 Fortran 、 C语言)实现 在通用计算机系统中加入专用的加速处理机实现 用单片机实现 用通用的可编程DSP芯片实现 用专用的DSP芯片实现,可用在要求信号处理速度极快的特殊场合,如专用于FFT、数字滤波、卷积、相关算法的DSP芯片 用

49、基于通用DSP核的ASIC芯片实现。9、 简述·诺依曼结构、哈佛结构和改进的哈佛结构之间的区别。答: ·诺伊曼 (Von Neuman)结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。哈佛 (Harvard) 结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大提高了数据处理

50、能力和指令的执行速度,非常适合于实时的数字信号处理。改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。允许在程序空间和数据空间之间相互传送数据, 使这些数据可以由算术运算指令直接调用, 增强芯片的灵活性;提供了存储指令的高速缓冲器(cache) 和相应的指令, 当重复执行这些指令时, 只需读入一次就可连续使用,不需要再次从程序存储器中读出, 从而减少了指令执行作需要的时间。10、 简述器命令文件中MEMOR和Y SECTIONS两条指令的作用。答:MEMOR伪指令用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和 Y长度。SECTIONS

51、伪指令用来指定器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。11、 简述命令文件( · cmd文件)的功能。答: 命令文件( · cmd文件)指定存储器的结构和段的定位,有MEMOR和Y SECTIONS两条指令。MEMOR伪指令用来定义目标系统的存储器配置空间, Y包括对存储器各部分命名,以及规定它们的起始地址和长度。SECTIONS伪指令用来指定器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。12、 简述DSP处理器中断系统分为几种中断,如何清除中断标志?答: 硬件中断:由片外管脚和片外设引起的中断,又分为可屏蔽中断和非屏蔽中断。软件中断:软件中断是由程序指令产生的中断请求,有三种情况将清除中断标志:(1) 软件和硬件复位,即C54x 的复位引脚RS=0;(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论