您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > DSP期末复习题集与答案解析
一、填空题(每空2分,共20分)1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x的寄存器中。在函数“longfunc(int*p1,inti2,inti3,inti4)”中,*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分)答:TMS320C55xDSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问程序指令和数据。包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。3、DSP为了降低功耗采取了哪些措施?(6分)答:双电压供电;多种工作模式4、TMS320C55x的总存储空间为多少?可分为哪3类,它们的大小是多少?存储器空间的各自作用是什么?(6分)答:程序空间16MByte;I/O空间64KWords;数据空间8MWords5、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汇编语言实现计算41iiixay的程序。(10分)答:mpym*AR0+,*AR1+,AC0mpym*AR0+,*AR1+,AC1addAC1,AC0mpym*AR0+,*AR1+,AC1addAC1,AC0mpym*AR0+,*AR1+,AC1addAC1,AC0或者:mpym*AR0+,*AR1+,AC0||rpt#2macm*AR0+,*AR1+,AC02、用C55x汇编语言实现计算22111**axaxy的程序。(10分)答:mpym*AR0+,*AR1+,AC3masm*AR0+,*AR1+,AC31、对于TMS320C54x系列DSP芯片,下列说法正确的是(c)(A)专用型DSP(B)32位定点DSP(C)16位定点型DSP(D)浮点型DSP2、TMS320C54x系列DSP的CPU具有三个16位寄存器来作为CPU状态和控制寄存器,下面有一项不是的是:(d)(A)ST0(B)ST1(C)PMST(D)TDDR3、要使DSP能够响应某个可屏蔽中断,下面的说法正确的是(c)(A)需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置0(B)需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置1(C)需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置1(D)需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置04、下面对TMS320C54xDSP的中断系统叙述错误的是(d)(A)TMS320C54xDSP的中断系统具有硬件中断和软件中断。(B)TMS320C54xDSP的硬件中断指由片外扩展的外设引起的中断。(C)TMS320C54xDSP的中断可以根据是否能被屏蔽分为可屏蔽中断和非屏蔽中断。(D)TMS320C54xDSP的非屏蔽中断指软件中断、RS中断和NMI中断。5、下面对TMS320C54xDSP在进行读写操作时占用总线情况,说法正确的是()(A)在进行程序读时,需要占用的总线是PAB和DB总线。(B)在进行程序写时,需要占用的总线是PAB和PB总线。(C)在进行单数据读时,需要占用的总线是DAB和CB总线。(D)在进行双数据读时,需要占用的总线为CAB、DAB、CB和DB总线。6、下图对于IFR操作,说法错误的是:(c)(A)当一个可屏蔽中断出现时,IFR相应位的中断标志位置1;(B)通过复位可以清除中断标志;(C)对IFR的相应位写1,可以清除相应中断标志位;(D)对IFR的相应位写0,可以清除相应中断标志位。7、下面对TMS320C54xDSP的堆栈操作说法,正确的是()(A)出栈操作时,数据先出栈,然后SP增加(B)出栈操作时,SP先增加,然后数据出栈(C)当进栈操作时,SP先增加,然后数据进入堆栈(D)当进栈操作时,数据先进入堆栈,然后SP减小。8、在指令执行前寄存器和数据存储器相应的初始状态为(AR3)=0100h,(0100h)=0444h,则指令:ANDM#00FFh,*AR3+执行后,以下结果正确的是:()(A)(AR3)=0101h(B)(0100h)=04F4h(C)(AR3)=044Fh(D)(0100h)=0F44h二、填空题(本大题共5小题,每空2分,共20分)1、DSP芯片按照其工作的数据格式分类,可以分为定点DSP和浮点DSP两种。2、在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,运行PSHMAR2后,PC=4021H,SP=0032H。(假设PSHM为单字指令)3、DSP外部中断触发方式有电平触发和边沿触发两种触发方式。4、请指出TMS320C54xDSP的状态寄存器ST0下面相应位的功能ARP:辅助寄存器指针OVA:累加器A溢出标志位C:进位位5、TMS320C54xDSP的内部总线主要包括程序总线、数据总线和地址总线。三、问答题(本大题共4小题,共计24分)1、什么是冯.诺依曼结构和哈弗结构?有何区别?。(6分)2、请列举可编程DSP芯片的主要特点(6条特点及以上)。(6分)(1)哈佛结构(2)多总线结构(3)流水线技术(4)多处理器结构(5)指令周期短、功能强(6)运算精度高(7)功耗低(8)外设丰富,硬件配置强3、TMS320C54X芯片的流水线共有多少个操作阶段?每个阶段执行什么任务?(8分)答:共有6个操作阶段:1,预取址2,取址3,译码4,寻址5,读数6,执行4、假设AR3的当前值为200h,当使用以下TMS320C54XX寻址模式后其中的值为多少?假定AR0的值为20h。(4分)(1)*AR3+0(2)*AR3-0(3)*AR3+(4)*AR3四、综合应用题。(共计2小题,共计24分)1、在进行DSP的程序设计时,如果程序中要使用堆栈,则必须要先进行设置。下面程序段是对堆栈的设置,完成的功能是在RAM空间开辟了100个字的空间作为堆栈区,请完成程序段。(4分)size.set(1)stack.usect“STACK”,size;…STM#stack+(2),SP2、采用TMS320C54xDSP的定时器0产生方波,且TMS320C54xDSP的时钟频率为4MHz,要求:周期为8ms的方波发生,从DSP的通用I/O引脚XF输出,定时中断周期为4ms,每中断一次,输出端XF引脚电平取一次反。请完成下面程序段。(12分);定时器0寄存器地址TIM0.set0024HPRD0.set0025HTCR0.set0026H;K_TCR0:设置定时器控制寄存器的内容K_TCR0_SOFT.set0b11;Soft=0K_TCR0_FREE.set0b10;Free=0K_TCR0_PSC.set1001b6;PSC=9HK_TCR0_TRB.set1b5;TRB=1K_TCR0_TSS.set0b4;TSS=0K_TCR0_TDDR.set1001b0;TDDR=9K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDR;初始化定时器0;根据定时长度计算公式:T=CLKOUT*(TDDR+1)*(PRD+1);给定TDDR=9,PRD=1599,CLKOUT主频f=4MHz,T=250ns;T=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms)STM#1599,TIM0STM(1),PRD0STM#K_TCR0,TCR0;启动定时器0中断RET;定时器0的中断服务子程序:通过引脚XF输出方波波形t0_flag.usect“vars”,1;当前XF输出电平标志位;若t0_flag=1,则XF=1;若t0_flag=0,则XF=0time0_rev:PSHMTRNPSHMTPSHMST0(2)BITFt0_flag,#1BC(3),NTC;NTC表示TC为0(4)ST#0,t0_flagB(5)xf_out:RSBXXFST#1,t0_flagnext:POPM(6)POPMST0POPMTPOPMTRNRETE3.TMS320C5402外接一个128K*16位的RAM,其结构如下图所示,试分析程序区和数据去的地址范围,并说明其特点。(8分)1、对于TMS320C54x系列DSP芯片,下列说法正确的是(C)(A)专用型DSP(B)32位DSP(C)定点型DSP(D)浮点型DSP2、要使DSP能够响应某个可屏蔽中断,下面的说法正确的是(B)A.需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置0B.需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置1C.需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置0D.需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置13、若链接器命令文件的MEMORY部分如下所示:MEMORY{PAGE0:PROG:origin=C00h,length=1000hPAGE1:DATA:origin=80h,length=200h}则下面说法不正确的是(A)A、程序存储器配置为4K字大小B、程序存储器配置为8K字大小C、数据存储器配置为512字大小D、数据存储器取名为DATA5、C54XDSP的流水线是由(B)级(也即是由多少个操作阶段)组成。(A)4(B)6(C)8(D)106、假定AR3中当前值为200h,AR0中的值为20h,下面说法正确的是()A、在执行指令*AR3+0B后,AR3的值是200h;B、在执行指令*AR3-0B后,AR3的值为23Fh;C、在执行指令*AR3-0B后,AR3的值是180h;7、下面对一些常用的伪指令说法正确的是:(D)A、.def所定义的符号,是在当前模块中使用,而在别的模块中定义的符号;B、.ref所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;C、.sect命令定义的段是未初始化的段;D、.usect命令定义的段是未初始化的段。8、在采用双操作数的间接寻址方式时,要使用到一些辅助寄存器,在此种寻址
本文标题:DSP期末复习题集与答案解析
链接地址:https://www.777doc.com/doc-5861482 .html