《2022年DSP-C55x期末考试复习题.pdf》由会员分享,可在线阅读,更多相关《2022年DSP-C55x期末考试复习题.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、DSP技术期末考试课本复习题:1、简述数字信号处理器的主要特点;答: (1)存储器采用哈佛或者改进的哈佛结构; (2)内部采用了多级流水;(3)具有硬件乘法累加单元;(4)可以实现零开销循环; (5)采用了特殊的寻址方式;(6)高效的特殊指令;(7)具有丰富的片内外设。2、请给出数字信号处理器的运算速度指标;答:常见的运算速度指标有如下几种:(1)指令周期: 执行一条指令所需的最短时间, 数值等于主频的倒数;指令周期通常以ns(纳秒)为单位。例如,运行在200MHz的 TMS320VC5510 的指令周期为 5ns。(2)MIPS :每秒百万条指令数。(3)MOPS :每秒百万次操作数。(
2、4)MFLOPS:每秒百万次浮点操作数。(5)BOPS :每秒十亿次操作数。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 15 页 - - - - - - - - - - (6)MAC 时间:一次乘法累加操作花费的时间。大部分DSP芯片可在一个指令周期内完成MAC 操作;(7)FFT执行时间:完成 N点 FFT所需的时间。 FFT运算是数字信号处理中的典型算法而且应用很广,因此该指标常用于衡量 DSP芯片的运算能力。3、简述 C55x的存储器配置情况;(课本 1112页)C55x采用统一的存
3、储空间和I/O 空间。 C55x的内存储空间共有352KB ,外部存储空间共有16MB 。存储区支持的寄存器类型有异步SRAM 、异步 EPROM、同步 DRAM 和同步突发 SRAM 。C55x的 I/O 空间与程序/ 地址空间分开。 I/O 空间的地址为 16 位,能访问 64K字地址,当 CPU 读/ 写 I/O 空间时,在 16 位地址前补 0 来扩展成 24 位地址。4、TMS320C55x 的寻址空间是多少当CPU 访问程序空间和数据空间时,使用的地址是多少位;答:C55x的寻址空间为 16MB ,当 CPU 从程序空间读取程序代码时,使用 24 位地址,当访问数据空间时,使用23
4、 位的地址。但是在访问数据空间时,将23 位地址左移一位,并将地址总线上的最低有效位( LSB )置 0,使得在对数据空间或程序空间寻址时,地址总线都传送 24 位地址。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 15 页 - - - - - - - - - - 5、VC5509A 的 PGE LQFP封装芯片共有多少个引脚其中GPIO引脚有多少个并行地址总线引脚有多少个并行双向数据总线引脚有多少个(此题答案不确定)芯片共有 144 个引脚; GPIO引脚: 7 个;并行地址总线: 14
5、个;并行双向数据: 16 个6、C55x 的指令分为两个阶段,第一阶段为取指阶段,第二阶段为 执行阶段;7、C55x的 CPU 包含 4 个 40 位的累加器,辅助寄存器ARn有 16 位,XARn有 23 位;8、XF位是寄存器 ST1_55中的第 13 位,它是一通用的输出位,能用软件处理且可输出至DSP引脚。若要使该引脚输出高电平,可用指令 BSET XF;9、CPL位是寄存器 ST1_55中的第 14 位,指令 BCLR CPL 的功能是 对CPL清零;10、INTM位是寄存器 ST1_55中的第 11 位,该位能够使能或禁止可屏蔽中断,如果 INTM=0 ,C55x使能所有可屏蔽中断
6、。11、SATA位是寄存器 ST3_55中的第 5 位,如果 SATA=1 ,则执行 A单元 ALU的饱和模式;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 15 页 - - - - - - - - - - 12、 MPNMC位是寄存器 ST3_55中的第 6 位, 该位使能或禁止片上ROM ,如果 MPNMC=0,则为 微计算机 模式,使能片上 ROM ; (812 题在课本41 页附近)13、VC5509A 拥有 160K字的片内存储器资源,其中有128K字 RAM 和32K字 ROM
7、。外部扩展存储空间由CE3:0 组成,其中 CE0的首字地址为 0020000H ,CE1的首字地址为 200000H ; (5152 页)14、C55x有 32 个中断向量,中断向量指针IVPD 、IVPH应指向中断向量表的首地址;15、IER0 和 IER1的功能是什么IER0:中断使能寄存器0;IER1:中断使能寄存器1。当寄存器某位的值为 1 时,开启该位所控制的中断, 为 0 则关闭该位所控制的中断。16、请写出允许定时器0 中断的指令代码。17、C55x的不可屏蔽中断有哪几种三种:硬件中断RESET ,硬件中断 NMI ,软件中断。18、C55x 支持 3 种类型的寻址方式,分别是
8、绝对寻址模式 ;直接寻址模式 和间接寻址模式19、什么是绝对寻址方式C55x有几种绝对寻址方式,分别是什么精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 15 页 - - - - - - - - - - 绝对寻址方式:通过在指令中指定一个常数地址完成寻址;有三种绝对寻址方式: K16 绝对寻址方式, K23 绝对寻址方式, I/O 绝对寻址方式。20、什么是直接寻址方式C55x有几种直接寻址方式,分别是什么直接寻址方式:使用地址偏移量寻址;有四种直接寻址方式:DP直接寻址, SP直接寻址,寄存
9、器位直接寻址,PDP直接寻址。21、什么是间接寻址方式C55x有几种间接寻址方式,分别是什么间接寻址方式:使用指针完成寻址;有四种间接寻址方式:AR间接寻址,双 AR间接寻址, CDP 间接寻址,系数间接寻址。22、指令 MOV *abs16(#2002h), T2 采用的是 绝对 / k16绝对 寻址方式。设 DPH=03h ,该指令的功能是 #k16=2002H,CPU 从 032002H处读取数据装入 T2;23、指令 MOV port(0), T2 采用的是 直接 / PDP直接寻址方式。设 PDP=511 ,该指令的功能是PDP :Poffset=FF80H,CPU 从 FF80H读
10、取数据进 T2;24、已知 AC1=0200FC00H,AR3=0200H , (200)= 3400H,0 MOV *AR3+ #16, AC1执行上面指令后, AC1和 AR3的值分别是多少精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 15 页 - - - - - - - - - - 指令功能是把 AR3指向的地址里面的内容左移16 位 (二进制左移 16 位相当于十六进制左移四位,所以在右边补四个0) ,把 AR3指向的地址里面的内容左移后的内容送进AC1 , 之后指针 AC3自加一次
11、。所以 AC1=H ,AR3=0201H 。说明:其实 AC0AC3 是 40 位,如果问 AC1的内容,则 AC1=00H25、 已知 AC0=EC000000H, AC1=00000000H , AR1=0200H ,(200) = 3300H ,TC2=1 , ADDSUBCC *AR1, AC0, TC2, AC1执行上面指令后, AC1 、AR1和 AC0的值分别是多少指 令 功 能 是 : 如 果TC2=1, 则AC1=AC0+(*AR1)#16; 否 则AC1=AC0 (*AR1)#16,这里 TC2=1 ,所以 AC1=AC0+(*AR1)#16 ,AC1=EC000000H+
12、H=11F000000H,AR1=0200H ,AC0=EC000000H。说明:其实 AC0AC3 是 40 位,AC0的内容是 00EC000000H ,AC1的内容是 011F000000H26、在.text、.data 和.bss 段,初始化段是 .text和.data ,未初始化段是; .bss27、利用.sect指令可创建 已初始化 段,利用.usect指令可创建 未初始化段;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 15 页 - - - - - - - - - - 28、请
13、指出汇编语言文件中的伪指令.def 、.ref和.global的区别;是指在一个模块中定义, 可以在另一个模块中引用的符号. 可以用伪指令 .def 、.ref或.global来定义. .def 在当前模块中定义 , 可在别的模块中使用 ; .ref在当前模块中使用 ,但在别的模块中定义 ; .global全局符号变量。29、DSP链接器命令文件中, MEMORY和 SECTIONS 伪指令的作用是什么MEMORY 伪指令用来表示实际存在的目标系统中可被使用的存储器范围,每个存储器范围都有名字、起始地址和长度。 SECTIONS 伪指令的作用是:描述输入段怎样被组合到输出段内;在可执行程序内定
14、义输出段; 规定在存储器内何处存放置输出段;允许重命名输出段。30、CCS 有两种工作模式,分别是软件仿真器模式 和硬件在线编程模式;31、在大存储模式下编译代码时,必须和运行时间库链接;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 15 页 - - - - - - - - - - 32、给出函数 int fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10)中传送
15、参数所使用的寄存器;分别为: AC0, AC1, AC2, AR0, AR1, AR2, AR3, AR4, T0, T1即是 longl1存放在 AC0 ,对应下去。33、以下的汇编语句实现两个整型数的饱和加法,请编写 C语言程序调用该汇编函数, 实现整数 20000和 30000的饱和加法, 并在 CCS 中输出和的值; .def _sadd_asmfun _sadd_asmfun: BSET ST3_SATA ADD T1, T0 BCLR ST3_SATA RET #include main() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师
16、归纳 - - - - - - - - - -第 8 页,共 15 页 - - - - - - - - - - int c=0; int sadd_asmfun(int a, int b); )1() 1(PRDTDDRTINT输入时钟频率频率41iiixay22111*axaxyect fft_code _fft: aadd #(ARGS-Size+1),SP ; Adjust stack for local vars mov mmap(ST1_55),AR2 ; Save ST1,ST3 mov mmap(ST3_55),AR3 mov AR2, mov AR3, btst #0,T1,TC
17、1 ; Check SCALE flag set mov #0 x6340,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM,FRCT (SCALE=1) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 15 页 - - - - - - - - - - mov #0 x1f22,mmap(ST3_55) ; Set: HINT,SATA,SMUL xcc do_scale,TC1 mov #0 x6300,mmap(ST1_55) ; Set CPL,XF,SATD,SX
18、AM (SCALE=2) do_scale mov T2, ; Save T2 | mov #1,AC0 mov AC0, ; Initialize L=1| sfts AC0,T0 ; T0=EXP mov AC0, ; N=1EXP mov XAR1,XCDP ; CDP = pointer to U mov XSP,XAR4 add #,AR4 ; AR4 = pointer to temp mov XAR0,XAR1 ; AR1 points to sample buffer精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - -
19、- - - - - -第 10 页,共 15 页 - - - - - - - - - - mov T0,T1 mov XAR0,XAR5 ; Copy externd bits to XAR5outer_loop ; for (L=1; L=EXP; L+) mov ,T0 ; note: Since the buffer is| mov #2,AC0 ; arranged in re,im pairs sfts AC0,T0 ; the index to the buffer neg T0 ; is doubled| mov ,AC1 ; But the repeat coutners sf
20、tl AC1,T0 ; are not doubled mov AC0,T0 ; LE=21 | sfts AC0,#-1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 15 页 - - - - - - - - - - sub #1,AC0 ; Init mid_loop counter mov mmap(AC0L),BRC0 ; BRC0=LE1-1 sub #1,AC1 ; Init inner loop counter mov mmap(AC1L),BRC1 ; BRC1=(NL)-
21、1 add AR1,AR0 mov #0,T2 ; j=0 | rptblocal mid_loop-1 ; for (j=0; jLE1;j+) mov T2,AR5 ; AR5=id=i+LE1 mov T2,AR3 add AR0,AR5 ; AR5 = pointer to Xid.re add #1,AR5,AR2 ; AR2 = pointer to Xid.im add AR1,AR3 ; AR3 = pointer to Xi.re | rptblocal inner_loop-1 ; for(i=j; i#1,dual(*AR3) ; Scale Xi by 1/SCALE
22、mov dbl(*AR3),AC2 scale add T0,AR2| sub dual(*AR4),AC2,AC1 ; Xid.re=Xi.re/ mov AC1,dbl(*(AR5+T0) ; Xid.im=Xi.im/| add dual(*AR4),AC2 ; Xi.re=Xi.re/SCALE+ mov AC2,dbl(*(AR3+T0) ; Xi.im=Xi.im/SCALE+inner_loop ; End of inner loop amar *CDP+精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - -
23、 - -第 13 页,共 15 页 - - - - - - - - - - amar *CDP+ ; Update k for pointer to Uk| add #2,T2 ; Update j mid_loop ; End of mid-loop sub #1,T1 add #1, ; Update L bcc outer_loop,T10 ; End of outer-loop mov ,AR2 ; Restore ST1,ST3,T2 mov ,AR3 mov AR2,mmap(ST1_55) mov AR3,mmap(ST3_55) mov ,T2 aadd #(Size-ARGS-1),SP ; Reset SP ret精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 15 页 - - - - - - - - - - .end精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 15 页 - - - - - - - - - -