高分网 > 答案大全 > 作业答案 > 课后作业答案 >

dsp技术及应用课后习题答案(2)

时间: 春燕2 课后作业答案

  dsp技术及应用第三章

  1. C55x DSP支持哪三种寻址模式?

  答:C55x DSP支持三种寻址模式,绝对寻址模式;直接寻址模式;间接寻址模式。

  2.简述k16绝对寻址和k23绝对寻址不同点和相同点。

  答:不同k16绝对寻址的指令其操作数为*abs16(#k16),其中k16是一个16位的无符号常数。寻址方法是将7位的寄存器DPH(扩展数据页指针XDP的高位部分)和k16级联形成一个23位的地址,用于对数据空间的访问。该模式可以访问一个存储单元和一个存储映射寄存器。

  和k23绝对寻址的指令其操作数为*(#k23),其中k23是一个23位的无符号常数。使用这种寻址方法的指令将常数编码为3字节(去掉最高位)。

  相同点:k16绝对寻址和k23绝对寻址的指令不能与其他指令并行执行。

  3.简述C55x DSP并行指令遵守的规则。

  答:在并行指令中,必须遵守三条基本规则:

  ① 两条指令的总长度不能超过6个字节。

  ② 在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突。

  ③ 其中一条指令必须有并行使能位或两条指令符合软-双并行条件。

  4. 已知AC1=0200FC00H,AR3=0200H,(200)=3400H。

  MOV *AR3+ << #16, AC1

  执行上面指令后,AC1和AR3的值分别是多少?

  答:Before After

  AC1 00 0200 FC00 AC1 00 3400 0000

  AR3 0200 AR3 0201

  200 3400 200 3400

  5. 已知AC0=EC000000H,AC1=00000000H,AR1=0200H,(200)=3300H,TC2=1。ADDSUBCC AR1, AC0, TC2, AC1

  执行上面指令后,AC1、AR1和AC0的值分别是多少?

  答:Before After

  AC0 00 EC00 0000 AC0 00 EC00 0000

  AC1 00 0000 0000 AC1 01 1F00 0000

  AR1 0200 AR1 0200

  200 3300 200 3300

  TC2 1 TC2 1

  SXMD 0 SXMD 0

  M40 0 M40 0

  ACOV1 0 ACOV1 1

  CARRY 0 CARRY 1

  6.已知AC0=69000000H,AC1=00230000H, AR1=EF00H,AR2=0201H, CDP=A067H。 执行下面指令后,

  AMAR *AR2+

  :: MAC uns(*AR1), uns(*CDP), AC0 >> #16

  AC0、 AR1、AR2和AC1的值分别是多少?

  答:Before After

  AC0 00 6900 0000 AC0 00 95C0 9200

  AC1 00 0023 0000 AC1 00 0023 0000

  *AR1 EF00 *AR1 EF00

  AR2 0201 AR2 0202

  *CDP A067 *CDP A067

  ACOV0 0 ACOV0 1

  ACOV1 0 ACOV1 0

  CARRY 0 CARRY 0

  M40 0 M40 0

  FRCT 0 FRCT 0

  SATD 0 SATD 0

  7. 已知PC=004042H,AC0=0000000001H,根据下表的情况

  B branch

  执行上面指令后,PC和AC0分别是多少?

  答:Before After

  PC 004042 PC 006047

  AC0 00 0000 0001 AC0 00 0000 0000

  dsp技术及应用第四章

  1.根据任务调度的方式不同,C55x处理器程序可以分为哪两类?并简述其优缺点。

  答:一类是由程序自己完成任务调度,另一类是由嵌入式操作系统完成任务调度。

  由程序自身完成任务调度程序运行效率高,对硬件中断响应快,程序运行稳定,适合于任务较为单一,实时性较强的应用;嵌入式操作系统完成任务调度,可以将应用分解为多个任务,简化了应用系统软件设计,更为重要的是良好的多任务设计有助于提高系统的稳定性和可靠性。

  2.请利用指针将IO空间中地址从0x100到0x107中的值放置到数据空间*ptr指针当中。

  答:ioport int *a;

  Int *ptr

  void foo (void)

  {

  i = 0x100;

  a = &i;

  for(int j=0;j<=7;j++)

  ptr [j]=a[j];

  }

  3.在o3级优化情况下,利用中断读取0x100000地址,并将值存放到变量in_flag中。 答:变量in_flag定义

  volatile unsigned int in_flag;

  中断服务程序

  interrupt void int_handler()

  {

  In_flag= (unsigned int *)0x100000;

  }

  4.在C语言编写的程序中,分别给出利用C语言和嵌套汇编语言打开全局中断的程序代码。 答:C语言打开全局中断

  IRQ_globalEnable();

  嵌套汇编语言打开全局中断

  asm (“BCLR ST1_INTM”);

  5.给出函数int fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10)中传送参数所使用的寄存器。

  答:输入参数通过AC0、AC1、AC2、AR0、AR1、AR2、AR3、AR4、T0、T1传递,输出参数通过T0传送参数。

  6.在.sine数据段中定义一个16点的正弦表,其数值采用Q15方式存放。(Q15即小数点在第15位)

  答:

  .sina

  .word 0, 12539,23170,30273

  .word 32767, 30273,23170,12539

  .word 0,-12539,-23170,-30273

  .word -32767,-30273,-23170,-12539

  7.在.mydata段中为a,b,c分别预留10、20、5个字的空间。

  答:

  .def _a

  .def _b

  .def _c

  .sect mydata

  _a:

  .space 10*16 ;

  _b:

  .space 20*16 ;

  _c:

  .space 5*16 ;

  8.请给出调用图像和视频处理库所需要的.h文件和.lib文件。

  答:调用图像和视频处理库需要需要包含imagelib.h文件,如过采用小模式编程需要55ximage.lib,而采用大模式编程需要55ximagex.lib库。

23312