DSP_C55x期末考试复习题DOC_第1页
DSP_C55x期末考试复习题DOC_第2页
DSP_C55x期末考试复习题DOC_第3页
DSP_C55x期末考试复习题DOC_第4页
DSP_C55x期末考试复习题DOC_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、DSP技术期末考试课本复习题:1、2、简述数字信号处理器的主要特点;请给出数字信号处理器的运算速度指标;答:(1)答:(1)存储器采用哈佛或者改进的哈佛结构; (2 )内部采用了多级流水;(3)具 有硬件乘法累加单元;(4)可以实现零开销循环;(5)采用了特殊的寻址方式;(6)高 效的特殊指令;(7)具有丰富的片内外设。常见的运算速度指标有如下几种:指令周期:执行一条指令所需的最短时间,数值等于主频的倒数;指令周期通常以ns (纳秒)为单位。例如,运行在200MHz的TMS320VC5510的指令周期 为 5ns。(5)(7)MIPS :每秒百万条指令数。MOPS :每秒百万次操作数。MFL

2、OPS :每秒百万次浮点操作数。BOPS:每秒十亿次操作数。MAC时间:一次乘法累加操作花费的时间。大部分DSP芯片可在一个指令周期内完成MAC操作;FFT执行时间:完成N点FFT所需的时间。FFT运算是数字信号处理中的典型 算法而且应用很广,因此该指标常用于衡量DSP芯片的运算能力。3、简述C55X的存储器配置情况;(课本1112页)C55X采用统一的存储空间和 I/O空间。C55X的内存储空间共有 352KB,外部存储空间 共有16MB。存储区支持的寄存器类型有异步SRAM、异步EPROM、同步DRAM和同步突发SRAM。C55X的I/O空间与程序/地址空间分开。I/O空间的地址为16位,

3、能访问64K 字地址,当CPU读/写 I/O空间时,在16位地址前补0来扩展成24位地址。4、TMS320C55X的寻址空间是多少?当 CPU访问程序空间和数据空间时,使用的地址是多少位;答:C55X的寻址空间为16MB,当CPU从程序空间读取程序代码时,使用24位地址,当访问数据空间时, 使用23位的地址。但是在访问数据空间时,将23位地址左移一位,并将地址总线上的最低有效位(LSB )置0,使得在对数据空间或程序空间寻址时,地址总线 都传送24位地址。5、VC5509A的PGE LQFP封装芯片共有多少个引脚?其中GPIO引脚有多少个?并行地址总线引脚有多少个?并行双向数据总线引脚有多少个

4、?(此题答案不确定)芯片共有144个引脚;GPIO引脚:7个;并行地址总线:14个;并行双向数据:16个6、7、8C55X的指令分为两个阶段,第一阶段为取指阶段,第二阶段为 执行阶段;C55X的CPU包含4个40位的累加器,辅助寄存器 ARn有16位,XARn有23位;XF位是寄存器ST1_55中的第13位,它是一通用的输出位,能用软件处理且可输出至DSP引脚。若要使该引脚输出高电平,可用指令BSET XF ;9、CPL位是寄存器 ST1_55中的第14位,指令 BCLR CPL的功能是对CPL清零;10、INTM位是寄存器ST1_55中的第11位,该位能够使能或禁止可屏蔽中断,如果INTM=

5、0,C55X使能所有可屏蔽中断。11、SATA位是寄存器ST3_55中的第5位,如果SATA=1,则执行A单元ALU的饱和模式;12、MPNMC 位是寄存器 ST3_55中的第6位,该位使能或禁止片上 ROM,如果MPNMC=0, 则为微计算机 模式,使能片上ROM ;( 8 12题在课本41页附近)13、 VC5509A拥有160K字的片内存储器资源,其中有 128K字RAM 和32K字ROM。外 部扩展存储空间由 CE3:0组成,其中 CE0的首字地址为 0020000H,CE1的首字地址为 200000H ;( 51 52 页)14、 C55X有32个中断向量,中断向量指针IVPD、IV

6、PH应指向中断向量表的首地址;15、IER0和IER1的功能是什么?IER0 :中断使能寄存器0 ; IER1 :中断使能寄存器1。当寄存器某位的值为 1时,开启 该位所控制的中断,为 0则关闭该位所控制的中断。16、请写出允许定时器 0中断的指令代码。17、C55X的不可屏蔽中断有哪几种?三种:硬件中断 RESET,硬件中断 NMT,软件中断。18、 C55X支持3种类型的寻址方式,分别是 绝对寻址模式;直接寻址模式 和间接寻址模式19、 什么是绝对寻址方式?C55X有几种绝对寻址方式,分别是什么?绝对寻址方式:通过在指令中指定一个常数地址完成寻址;有三种绝对寻址方式:K16绝对寻址方式,K

7、23绝对寻址方式,I/O绝对寻址方式。20、 什么是直接寻址方式?C55X有几种直接寻址方式,分别是什么?直接寻址方式:使用地址偏移量寻址;有四种直接寻址方式:DP直接寻址,SP直接寻址,寄存器位直接寻址,PDP直接寻址。21、 什么是间接寻址方式?C55X有几种间接寻址方式,分别是什么?间接寻址方式:使用指针完成寻址;有四种间接寻址方式:AR间接寻址,双AR间接寻址,CDP间接寻址,系数间接寻址。设DPH=03h,该指22、指令 MOV *abs16(#2002h), T2 采用的是绝对/ k16绝对寻址方式。令的功能是#k16=2002H,CPU从032002H处读取数据装入 T2;PDP

8、=511,该指令的23、指令 MOV Port(0), T2采用的是直接/ PDP直接寻址方式。设功能是 PDP: Poffset=FF80H,CPU 从 FF80H 读取数据进 T2 ;24、已知 AC1=0200FC00H,AR3=0200H,( 200)= 3400H,0MOV *AR3+ <<#16,AC1执行上面指令后,AC1和AR3的值分别是多少?16位(二进制左移16位相当于十六进AC1 ,指令功能是把 AR3指向的地址里面的内容左移制左移四位,所以在右边补四个 0),把AR3指向的地址里面的内容左移后的内容送进之后指针 AC3 自加一次。所以 AC1=3400000

9、0H ,AR3=0201H。说明:其实 AC0AC3是40位,如果问 AC1的内容,贝U AC1=0034000000H25、已知 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

10、, AC1=EC000000H+33000000H=11F000000H ,AR1=0200H , AC0=EC000000H。说明:其实AC0AC3是40 位, AC0的内容是00EC000000H ,AC1的内容是01仆000000H26、 在.text、.data和.bss段,初始化段是.text和.data,未初始化段是;.bss27、利用.sect指令可创建已初始化段,利用.usect指令可创建未初始化段;是指在一个模块中定义或.global来定义.def在当前模块中定义 .ref在当前模块中使用global全局符号变量。28、 请指出汇编语言文件中的伪指令.def、.ref和.gl

11、obal的区别;,可在别的模块中使用; ,但在别的模块中定义;,可以在另一个模块中引用的符号.可以用伪指令.def、.refMEMORY和SECTIONS伪指令的作用是什么?每个存储器29、DSP链接器命令文件中,MEMORY伪指令用来表示实际存在的目标系统中可被使用的存储器范围, 范围都有名字、起始地址和长度。SECTIONS伪指令的作用是:描述输入段怎样被组合到输出段内;在可执行程序内定义输出段;规定在存储器内何处存放置输出段;允许重命名输出段。30、 CCS有两种工作模式,分别是软件仿真器模式和硬件在线编程模式;31、 在大存储模式下编译代码时,必须和rts55x.lib运行时间库链接;

12、32、 给出函数 int fn(lo ng 11, Io ng 12, Io ng l3, i nt *p 4, i nt *p 5, i nt *p 6, i nt *p 7, i nt *p 8, i nt i9, i nt i10)中传送参数所使用的寄存器;分别为:AC0, AC1, AC2, AR0, AR1, AR2, AR3, AR4, T0, T1即是Iongl1存放在AC0,,对应下去。33、以下的汇编语句实现两个整型数的饱和加法,请编写C语言程序调用该汇编函数,实现整数20000和30000的饱和加法,并在 CCS中输出和的值;.def_sadd_asmfu n_sadd_a

13、smfu n:BSET ST3_SATAADD T1, T0BCLR ST3_SATARET#i nclude "stdio.h" mai n()int c=0;int sadd_asmfu n(int a, i nt b);声明函数c = sadd_asmfu n(20000, 30000);prin tf( "c=%d",c);定义函数int sadd_asmfu n(i nt a, int b)return _sadd_asmfu n( a,b)34、TMS320VC5509A系统的晶体振荡器频率为 12MHz,试通过设置DPLL,使系统的时钟 频

14、率为144MHz ;(1 )使DPLL工作在锁定模式:D4(PLL ENABL)=1B (这里B表示二进制,不是 11,下面的也是,D4表示时钟模式寄存器(CLKMD)的第5位,D0为第1位,下面D11D5意 思类似)(2) 根据题意有144MHz= PLL MULT/( PLL DIV+1)X 12MHz(“/” 表示除号)解得 PLL MULT/(PLL DIV+1)=12 ,取 PLL DIV=0,PLL MULT=12, 即有: D6D5(PLL DIV)=00B ,D11D7(PLL MULT)=01100B(3) 时钟模式寄存器(CLKMD)的其他未均取为 0。(时钟模式寄存器(C

15、LKMD)共16位)综合(1)、( 2)、( 3),得 CLKMD=0000 0110 0001 0000 B 或者 CLKMD=0C10H用汇编予以实现:mov #0000 0110 0001 0000 B, port(#1c00h)或者 mov 0C10H, port(#1c00h);1c00h是时钟模式寄存器(CLKMD)的地址。35、 设DSP定时器输入时钟频率为100MHz,如果要求定时器发送中断信号的频率为1000次每秒,需要如何对定时器进行设置?答:根据公式曲* 输入时钟频率TINT频率=(TDDR+1)x(PRD +1)输入时钟频率为 100MHz,TINT频率为1kHz,由于

16、TDDR为4位,这里我们把 TDDR 设为 9,即 TDDR=0101B,则 PRD 为 9999 ,PRD 为 16位,即 PRD=0010011100001111B =270FH。36、写出使C5509A的GPI04、GPI06和GPI07引脚输出高电平的 C语言代码。#defi ne IODIR(*(io port un sig ned in t*)0x3400)#defi ne IODATA (*(io port un sig ned in t*)0x3401)IODIR |=0xF0;IODATA |=0xF0;附一历年考题及答案:通信系DSP原理及应用期末考试题(答案)姓名:学号:

17、班级:分数:考试方式:开卷;考试时间:15: 4017:30注意:所有答案必须写在答题纸上,试卷上的答案无效!填空题(每空2分,共20分)1、在C语言和C55X汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x 的寄存器中。在函数 “Io ng fun c(i nt *p 1, i nt i2, i nt i3, i nt i4)”中,*p1传递到 AR0 寄存器,i2传递到 TO 寄存器,i4传递 到 AR1寄存器,返回值由 AC0 寄存器传递。2、汇编语言“ mov*AR0, AC0使用的寻址方式是间接寻址模式 ,“ mov#0x3,DPH使用的寻址方式是直接寻址模式,“ mov

18、*(#0x011234),T2”使用的寻址方式是绝对寻址模式。3、指令执行前 AC0的值是0012345678,那么汇编语句“ AND #0x7f,ACO”, 执行之后,AC0的值是00000000784、C55x的链接器命令文件中,SECTION命令的主要作用是 告诉链接器如何将输 入段组合成输出段,以及在存储器何处存放输出0 memory令的主要作用是 定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长二、简述题(共40 分)1、根据你的理解,试列举 DSP芯片的特点? ( 5 分)DSP答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的

19、 指令;快速的指令周期;丰富的外设2、TMS320C55X芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什 么? ( 6分)答:TMS320C55X DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数 据总线允许同时读取指令和操作数,实现高度的并行操作。采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问程序指令和数据。包括12条总线,分别是: PAB和PB BAB和BB CAB和CB DAB和DB EAB和EB FAB和 FB。功能:3、DSP为了降低功耗采取了哪些措施? (6

20、分)答:双电压供电;多种工作模式4、TMS320C55X勺总存储空间为多少?可分为哪 3类,它们的大小是多少?存 储器空间的各自作用是什么?(6分)答:程序空间16M Byte ; I/O 空间64K Words ;数据空间8M Words5、TMS320C55有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一 条指令(6分)答:直接寻址模式, 间接寻址模式, 绝对寻址模式, MMF寻址模式,mov # K16, DPmov *AR0, AC0;mov *(#0x011234) , T2;mov *abs16( # AR2), T2 ;寄存器位寻址模式, 圆形寻址模式。btstp 30,

21、 AC1 ;&将C源程序转换成可执行文件需要经过哪些步骤? (6分)答:创建C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接; 生成可执行文件7、常用的TMS320C55汇编命令有哪些,它们的作用是什么?(5 分)汇骗伪指舍作用華例title紧跟苴后的是用双引号括起 的齊程序名-.title. asm".end结束汇编命令放在i匚編语言遞程序的提后-tejct紧随耳后的是汇編语言程序 正文t闵段是源程序正立.经汇镰后J紧随”谊妞后的是可执 右程序代码.data紧跟苴肓的是已初躺化数据有两种数据形式:-mt和.iht用来设萱1个或豁平Ifi 位

22、无符号整型量常数table: .word 1 i 2 j 3 > 4woid 8 J 6 J 4 J 2表:F在标号为table的程序存轄器开始的E个单元中存 放初始化数据1、2、£ 4 & & 4和的值罚 第一亍宇的地址.wTordwoid用来设置一个咸多个 位带符号整型量常数.bssbss盜未初贻化变量保留存 储空间-bss葢4表示在数据存橋中空出4个存储单元存放 变量xk也和也,X代表第一个单无的地址seel建立包含代码和数据的自定 交段剜t'gtE定交向量表,紧随苴后的是复位向量和中 斷向量J名vectorsusect为耒初始化变量保留存储空 闻

23、的自定Ji:段STACK .usect乌TACK"Oh表示在数据存储器中留 出M个单元作为堆栈匡,名为STACK t栈顶地址)三、程序设计题(共40分)mov T2,fft.d_T2;Save T21、用C55x汇编语言实现计算4y=S ajXi的程序。(10分)i 4答: mpym *AR0+, *AR1+, AC0 mpym *AR0+, *AR1+, AC1 add AC1, AC0 mpym *AR0+, *AR1+, AC1 add AC1, AC0mpym *AR0+, *AR1+, AC1 add AC1, AC0或者:mpym *AR0+, *AR1+, AC0|rp

24、t #2macm *AR0+, *AR1+, AC02、用C55x汇编语言实现计算yi = Xi * ai- X2 * a2 的程序。(10 分)答:mpym *AR0+, *AR1+, AC3masm *AR0+, *AR1+, AC33、以8点的FFT为例,用C55x的汇编语言实现FFT的算法,并且解释该算法的 实现方法。(20分)答: .sect "fft_code".fft:aadd #(ARGS-Size+1),S P; Adjust stack for local varsmovmovmovmma p( ST1_55),AR2; Save ST1,ST3mma

25、p(ST3_55),AR3AR2,fft.d_ST1AR3,fft.d_ST3movbtst #0,T1,TC1; Check SCALE flag setmov #0x6340,mma p( ST1_55) ; Set CP L,XF,SATD,SXAM,FRCT (SCALE=1)mov #0x1f22,mma p( ST3_55) ; Set: HINT,SATA,SMULxcc do_scale,TC1mov #0x6300,mma p( ST1_55) ; Set CP L,XF,SATD,SXAM (SCALE=2) do_scaleII mov #1,AC0 mov AC0,ff

26、t.d_LII sfts AC0,T0mov AC0,fft.d_Nmov XAR1,XCD Pmov XSP,XAR4add #fft.d_te mp ,AR4mov XAR0,XAR1mov T0,T1mov XAR0,XAR5;I nitialize L=1;T0=EX P;N=1<<EX P;CD P = poi nter to U;AR4 = poin ter to temp;AR1 p oi nts to sam pie buffer;Co py externd bits to XAR5outer_l oopmov fft.d_L,T0mov #2,AC0sfts AC

27、0,T0neg T0mov fft.d_N,AC1sftl AC1,T0mov AC0,T0sfts AC0,#-1mov AC0,AR0sfts AC0,#-1sub #1,AC0IIIIIIII;for (L=1; L<=EX P; L+);no te: Since the buffer is; arran ged in re,im p airs; the in dex to the bufferis doubled; But the rep eat cout ners are not doubled;LE=2<<L;LE1=LE>>1;Init mid_l

28、oop coun ter;BRC0=LE1-1;Init inner loop coun ter;BRC1=(N>>L)-1mov mma p(AC0L),BRC0sub #1,AC1mov mma p(AC1L),BRC1add AR1,AR0mov #0,T2rp tblocal mid_l oop-1mov T2,AR5mov T2,AR3add AR0,AR5add #1,AR5,AR2add AR1,AR3rp tblocal inner_loop-1mpy *AR5+,*CD P+,AC0:mpy *AR2-,*CD P+,AC1masr *AR5-,*CD P-,AC0:macr *AR2+,*CD P-,AC1mov p ai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论