1DSP试卷1一.填空题(本题总分12分,每空1分)1.TMS320VC5402型DSP的内部采用条位的多总线结构。2.TMS329VC5402型DSP有个辅助工作寄存器。3.在链接器命令文件中,PAGE1通常指________存储空间。4.TI公司DSP处理器的软件开发环境是__________________。5.直接寻址中从页指针的位置可以偏移寻址个单元。6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。7.MS320C54XDSP主机接口HPI是________位并行口。8.TMS320VC5402型DSP处理器的内核供电电压________伏。9.C54x系列DSP上电复位后的工作频率是由片外3个管脚;;来决定的。二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)1.DSP处理器TMS320VC5402的供电电压为5V。()2.TMS320VC5402型DSP内部有8K字的ROM,用于存放自举引导程序、u律和A律扩展表、sin函数表以及中断向量表。()3.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。()4.DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。()5.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。()6.C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。()7.TMS320C54X系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间共享片内ROM。()8.TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。()9.在TMS320VC5402型DSP所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0FF80H位置。()10.C54x系列DSP只有两个通用的I/O引脚。()三.程序阅读题(本题总分30分,每小题10分)1.阅读下面的程序,回答问题。.bssx,8LD#0001H,16,BSTM#7,BRCSTM#x,AR4RPTBnext-1ADD*AR4,16,B,ASTHA,*AR4+next:LD#0,B问题:(1)寄存器“BRC”的功能是什么?(2)汇编语句“ADD*AR4,16,B,A”执行了多少次?(3)执行语句“LD#0001H,16,B”后,累加器B的内容是多少?(1)寄存器“BRC”的功能是暂存块循环的次数(2)8次(3)B=0x0100H;22.已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=111,外部晶振=10MHz,参数设置表:CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL×150019007HPLL×100104007HPLL×51001007HPLL×2110F007HPLL×11110000H2分频101F000H4分频STM#00H,CLKMDStatus:LDMCLKMD,AAND#01H,ABCStatus,ANEQSTM#9007H,CLKMD问题(1)DSP复位后,DSP的工作时钟是多少?(2)执行上面的程序片段后,DSP的工作时钟是多少?答:(1)5MHz(2)100MHz3.阅读下面的命令连接文件(简称CMD文件)和程序文件:CMD文件:MEMORY{PAGE0:PROG:origin=0x1000,length=0x1000PAGE1:DATA:origin=0x2000,length=0x1000}SECTIONS{.text:{}PROGPAGE0.data:{}DATAPAGE1}.datatable:.word1,2,3,4;变量初始化.textstart:STM#0,SWWSR;插入0个等待状态问:(1)MEMORY和SECTIONS的作用各是什么?(2)标号“table”和“start”的地址分别是什么,分别位于程序空间还是数据空间?答:MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。标号table:1000h(程序空间)标号start:2000h(数据空间)四.简答题(本题总分48分,每小题8分)1.在C54x的汇编语言中,使用“#”、“*”、“@”符号作为操作数的前缀各表示什么意思?1.答:使用“#”号作为前缀,汇编器将操作数作为立即数处理。即使操作数是寄存器或地址,也将作为立即数。使用“*”符号作为前缀,汇编器将操作数作为间接地址,即把操作数的内容作为地址。使用“@”符号作为前缀,汇编器将操作数作为直接地址,即操作数由直接地址码赋值。32.简述COFF文件中“段”的概念,有哪些常用的段?2.答:段是COFF文件中最重要的概念。每个目标文件都分成若干段。段——是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。.text段(文本段),通常包含可执行代码;.data段(数据段),通常包含初始化数据;.sect段——已初始化段,由汇编器伪指令建立的自定义段。.bss段——未初始化段;.usect段——未初始化段,由汇编命令建立的命名段(自定义段)。3.简述冯·诺依曼结构、哈佛结构和改进的哈佛结构之间的区别。3.答:冯·诺伊曼(VonNeuman)结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。哈佛(Harvard)结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。允许在程序空间和数据空间之间相互传送数据,使这些数据可以由算术运算指令直接调用,增强芯片的灵活性;提供了存储指令的高速缓冲器(cache)和相应的指令,当重复执行这些指令时,只需读入一次就可连续使用,不需要再次从程序存储器中读出,从而减少了指令执行作需要的时间。4.简述C54x系列DSP定时器的组成部分、各部分分别起什么作用?4.答:定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。定时周期寄存器PRD用来存放定时时间,定时寄存器TIM为16位减1计数器,定时控制寄存器TCR存放定时器的控制位和状态位,逻辑控制电路用来控制定时器协调工作。5.简述DSP处理器TMS320VC5402在微计算机工作模式中上电启动的过程。5.答:DSP上电复位后,程序PC指针跳转到0xff80位置,在芯片的0xff80这个单元中存储着跳转指令、程序自动跳转到0xF800,开始执行自举装载程序,自举装载程序将片外存储器的程序搬运到DSP程序存储空间的某个地方,自举装载程序的最后一条指令是跳转指令,程序接着跳转到刚才搬运在程序存储空间的某个地址,从而开始程序的自动运行。6.简述PMST寄存器中IPTR的作用。6.答:C54x的中断向量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。中断向量地址=IPTR+(左移2位的中断向量序号)答案14一.填空题(本题总分12分,每空1分)1.8,162.8个3.数据4.答:CCS(CodeComposerStudio)5.答:1286.答:FF80h7.答:88.答:1.8v9.答:CLKMD1、CLKMD2、CLKMD3二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)1.×2.×3.√4.×5.√6.√7.×8.×9.√10.√DSP试卷2一.填空题(本题总分12分,每空1分)1.累加器A分为三个部分,分别为;;。2.TI公司的DSP处理器TMS320VC5402PGE100有___________个定时器。3.TMS329VC5402型DSP的ST1寄存器中,INTM位的功能是。4.在链接器命令文件中,PAGE0通常指________存储空间。5.DSP处理器按数据格式分为两类,分别是_________;________。6.DSP处理器TMS320VC5402的IO管脚供电电压________伏。7.TMS320VC5402型DSP的累加器是位。8.TMS320C54X具有两个通用I/O口,________用于输入外设的状态;________用于输出外设的控制信号。二.判断题(本题总分10分,每小题1分)1.DSP的工作频率只能是外部晶体振荡器的频率。()2.TMS320C54XDSP的汇编语言中有除法指令。()3.哈佛结构的特点是数据总线和程序总线分开。()4.在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。()5.在DSP处理器汇编程序中,标号区分大小写。()6.TMS320VC5402型DSP汇编语言的伪指令也是一种指令,同样占用存储空间。()7.DSP处理器TMS320VC5402的软件中断是不可屏蔽的中断。()8.DSP处理器TMS320VC5402有不止一种串行口。()9.DSP处理器TMS320VC5402在微型计算机工作模式时,上电复位后程序从片外存储器的FF80h单元开始执行。()10.TMS320VC5402型DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。()三.程序阅读题(本题总分30分,每小题10分)1.阅读下面的程序:.mmregsDAT0.SET60HDAT1.SET61HDAT2.SET62HDAT3.SET63Hadd3.macroP1,P2,P3,ADDRPLDP1,AADDP2,A5ADDP3,ASTLA,ADDRP.endmST#0034h,DAT0ST#0243h,DAT1ST#1230h,DAT2ADD3DAT0,DAT1,DAT2,DAT3问题:(1)语句“.mmregs”的含义。(2)语句“ADD3DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?作用是什么?(3)执行此段程序后,存储单元(DAT3)的运行结果多少?答:(1)定义存储器映像寄存器的符号名称。(2)宏调用。执行三个数相加。(3)14a7H2.阅读下面的程序,回答问题。MEMORY{PAGE0:PROG:origin=0x2000,length=0x1000PAGE1:DATA:origin=0x4000,length=0x1000}SECTIONS{.text:{}PROGPAGE0STACK:{}DATAPAGE1}汇编程序size.set0x0120stack.usect“STACK”,size.textSTM#stack+size,SP问题:(1)指令“stack.usect“STACK”,size”的作用是什么?(2)标号“stack”的存储器地址是多少?(3)执行这段代码之后,SP寄存器的内容是多少?答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。(2)stack的存储空间为0x4000;(3)SP=0x4120;3.阅读程序,回答后面的问题STM#9,AR4begin:STM#7,BRCRPTBnext-1nopnext:LD#0,Bbanzbegin,*AR4-问(1)BRC寄存器是做什么用途?(2)其中的“nop”语句被执行了多少次?答:BRC保存着RPTB指令的循环次数80次四.简答题(本题总分48分,每小题8分)61.简述链接器命令文件中MEMORY和SECTIONS两条指令的作用。答:MEMORY伪指令——用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定