当前位置:文档之家› DSP期末复习题及答案

DSP期末复习题及答案

一、填空题(每空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 Words5、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 汇编语言实现计算 ∑==41i i i x a y 的程序。

(10分)答:mpym *AR0+, *AR1+, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0或者:mpym *AR0+, *AR1+, AC0||rpt #2macm *AR0+, *AR1+, AC02、用C55x 汇编语言实现计算 22111**a x a x y -=的程序。

(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,运行PSHM AR2后,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 .set 0024HPRD0 .set 0025HTCR0 .set 0026H;K_TCR0:设置定时器控制寄存器的内容K_TCR0_SOFT .set 0b<<11 ;Soft=0K_TCR0_FREE .set 0b<<10 ;Free=0K_TCR0_PSC .set 1001b<<6 ;PSC=9HK_TCR0_TRB .set 1b<<5 ;TRB=1K_TCR0_TSS .set 0b<<4 ;TSS=0K_TCR0_TDDR .set 1001b<<0 ;TDDR=9K_TCR0 .set K_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:PSHM TRNPSHM TPSHM ST0(2)BITF t0_flag,#1BC (3),NTC ;NTC表示TC为0(4)ST #0,t0_flagB (5)xf_ out:RSBX XFST #1,t0_flagnext:POPM (6)POPM ST0POPM TPOPM TRNRETE3.TMS320C5402外接一个128K*16位的RAM,其结构如下图所示,试分析程序区和数据去的地址范围,并说明其特点。

相关主题