DSP复习资料与答案

上传人:痛*** 文档编号:84907936 上传时间:2022-05-04 格式:DOC 页数:6 大小:99.50KB
收藏 版权申诉 举报 下载
DSP复习资料与答案_第1页
第1页 / 共6页
DSP复习资料与答案_第2页
第2页 / 共6页
DSP复习资料与答案_第3页
第3页 / 共6页
资源描述:

《DSP复习资料与答案》由会员分享,可在线阅读,更多相关《DSP复习资料与答案(6页珍藏版)》请在装配图网上搜索。

1、1嵌入式系统ARM内核和DSP内核的结合,意义何在?答:AMR以控制为核心;DSP多媒体影音处理,实时信 号处理。控制能力好,定时控制好。速度快、开发性好、稳定性高。ARM处理器的三大特点是:耗电少功能强、16位 /32位双指令集和众多合作伙伴。2、DSP的工作电压越来越低,内核电压已经低至IV,这样做有何意义?为什么DSP内核工作 电压和I/O工作电压不一样?答:集成电路速度越来越快,随之而来,功耗越来越大,这样散热就是很大的问题.在芯片 走线尺寸不变的情况下,内部阻抗也不变,降低工作电压会降低功耗,这样能再较高频率下芯片发热较少。内核不容易受到外部干扰,所以电压可以做的较低,但10容易受外

2、部信号干扰,保持较高电压容易是器件工作稳定,这 是功耗和稳定性的折中。3、TMS320C54xDSP采用硬件乘法器完成17*17bits带符号乘运算,而软件乘法器(微代码指令)也能完成同样的运算,请问它们有什么区別?答:DSP有专门的硬件来实行乘累加(MAC运算),也就是你说的硬件乘法器,用MAC可以在一个处理器时钟周期内,得到两个数据相乘的结果。而典型的微处理器是通 过二进制长的相乘进行乘法运算的,当微处理器遇到一个乘法指令时,调用一个内部运算序列(称为微码)在连续的时 钟周期中,改执行一系列的移位和相加运算,直到算出结果。因为微码有许多步骤,所以该运算需要许多时钟周期来完 成。(硬件比软件

3、快速完成乘法运算,软件要占用程序空间,运行时间长)4、当要使用硬中断INT3作为中断响应矢量时,请问可屏蔽屮断寄存器IMR和屮断标志寄存器IFR应如何设置。答:中位IFR INT3 =1 IMRINT3岭使施中断5、若处理器方式寄存器PMST的值设为01A0H ,而中断矢量为INT3 ,那么在中断响应时,程序计数器 指针PC的值为多少?答:PMST:中IPTR二(000000011) b, int3中断向量号为24H,做移量为后变为60H则终端响应时程序计数器指针PC二01E0H6、TMS320C54XDSP存储器有3个独立的可选空间组成:程序、数据和I/O空间。而C54x存储空间的配置是受M

4、P/MC、0VLY和DR0M3个位控制的。如果想使片上RAM同时映射到数 据空间和程序 空间,那么MP/MC、0VLY和DR0M的值应如何设置?杀MP/MC=0 : OVLY=1;DROM=17、TMS320C54xCPU有一条指令流水线加速了指令执行,请问流水线分几级,分别叙述各级的功能? 6级 流水操作的功能分别是:Prefetch:预取指,把将要执行的指令地址提供给程序地址总线PAB。Fetch:取指,从程序总线PB上读取程序指令,并放入指令寄存器IR。Decode:译码,指令寄存器IR中的内容被译码,同时判定操作数类型、寻址方式及控制顺序。Access:访问寻址,数据地址产生单元DAG

5、EN把将要访问的数据存储区地址提供给数据地址总线DAB和CAB oRead:读操作数,从数据地址总线DB和CB上读取操作数,同时把将要写的数据存储区地址提供给写地址总线EABoExeeute/write :执行/写操作,执行抬令,同时通过数据写总线EB完成写操作8、DSP响应中断的条件有哪些?中断响应应满足:在出现多个中断时,此中断优先级最高。 ST1中INTM位为0,允许全局中断。IHR中的响应位为1,开放此中断。外部中断响应时间。9、DSP如何与不同速度的片外存储器及其他外设进行数据交换?客软件啄程等待状态发生树以将外部总线周期扩展到 7个机器周期,以使,C54X能与低速外部设备接口。而需

6、要多于七个等待周期设备,可以用硬件READY线来接口。10、循环寻址和位倒序寻址是DSP数据寻址的特殊之处,试叙述这两种寻址的特点和它们在数字信号处 理算法中的作用。答:循环寻址可以和任意一种间接寻址模式一起使用。每一个辅助寄存器和系数数据指针,作为对数据或寄存器位的指针时,都可以独立配置成线性或循环寻址。位倒序寻址提高了执行速度和在FFT算法的程序中使用存储器的效率。在这种寻址方式中,AR0存放的整数N是FFT点数的一半,一个辅助寄存器指向一个数据存放的物理单元。当使用位倒序寻址方式把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右的,而不是从右向左。11、如何在数据存储器

7、屮开辟循环缓冲区?答:在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗 中存放最新的N个输入样本;每次输入新样本时,以新样本改写滑窗中的最老的数据,而滑窗中的其他数据不作移 动;利用片内BK (循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。12、在数据存储器中开辟一段循环缓冲区,缓冲区大小为 64o试写出缓冲区首地址和缓冲区大小寄存器的内容。答:首地址:EFB内容:XXXX XXXX XOOO 0000b13、使用循环寻址要遵循的三个原则:(1)循环缓冲区的长度Rv2N,且地址从一个低N位为0的地址开始(2)步长小于或等于缓冲区的长度(3)所使用的辅助寄存器必须指向

8、缓冲区单元14、DSP特有的位倒序寻址主要应用于FFT算法中,针对复数FFT和实数FFT,相应的位倒序 寻址索引 应如何确定?答:实数FFT时位倒序寻址索引AR0存放的整数是尸尸丁点数的一半;复数FFT时位倒序寻址索引AR0 存放的整数是FFT点数1、分析汇编程序为什么要用泰勒展开的方法实现正弦计算。答:因为根据泰勒展开式进行计算来实现正弦信号,他能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间2、C54X核心板的最小应用系统包括哪几个部分?电源管理芯片的作用是什么?3、核心板电源管理电路设计屮需要特别注意的问题是什么?答:在进行电源设计时,需要特别强调的是模拟电路和数字电路部分要

9、独立供电,数字地与模拟地分开,遵循单点接地的原则。7、C54x定时器由哪几个特殊功能寄存器控制其定时时间,没有扩展的情况下,最长的定时时间由什么决定。答:由定时设定计数器TIM、定时周期计数器PRD和定时控制寄存器TCR这三个特殊功能寄存器控制其 定时时间。最长定时时间由指令周期T和TIM设置的初值决定。12、为什么改变锁相环电路PLL模式的乘法系数,首先要将锁相环电路转换成DIV模式?答:因为在只有DIV模式下才能更改PLLMUL、PLLDIV和PLL0N/D0FF位。13、定时器对CPU时钟分频倍数最大可以是多少? 帘0FFFFH14、C54X核心板的存储空间包括哪几个部分。它们的空间大小

10、分配由什么决定。答:64K字程序存储空间,64K字数据存储空间,64K字I/O空间MP/MC位 若MP/MC=0 ,则片内ROM安排到程序空间;若MP/MC=1,则片内ROM不安排到程序空间OVLY位若OVLY二1 ,则片内RAM安排到程序和数据空间若OVLY二0则片内RAM只安排到数据存储空间DROM位 当DROM二1 ,则部分片内ROM安排到数据空间当DROM二0 ,则片内ROM不安排到数据空间15、为了将存储器与具有存储连接功能的外设有机结合在一起,又不发生冲突,硬件连接逻辑应注意的问 题是什么?说明原因。答:1、存储连接功能的外设和CPU之间的通信,因为存储连接功能的外设和CPU的速率

11、和通信协议彼此并不一定相同, 那么必然需要一种设备来进行协议转换和数据缓冲,以适配速率不同,协议不同的各种外设之间以及外设和cpu之间的通 信。因此提出总线的概念,连接在一种总线上的所有设备的速率和底层通信协议是一致的。2、相同协议和相同速率的外设连接在一类总线之上,因为系统中某一种总线并不一定只有一条,每一条总线(注意,不是一种,而是一条)都定了一个地址空间,也就是一个地址命名空间。16、说明使用DMA的意义何在。答:能够在没有DSP勺核心单元CPU参与的情况下,由DMA空制器完成存储器映射区的 数据传输。数据传输可以在片内存储器、片外存储器以及其他外设之间进行。17、在禁止DMA屮断的情况

12、下,CPU如何监控DMA通道的传送?答:cpu勺中断屏蔽寄存器(IMR)和INTM位控制着是否响应來白DMA勺中断18、FFT算法按抽取方法可分为哪几种方法?按基数可分为哪几种方法。答:FFT算法可分为按时间抽取算法和按频率抽取算法。按基数可分基2、基4、基8以及任意因子。19、输入序列是按混序存储,输出序列为自然顺序排列勺FFT算法是什么?劭离的里叶(DFT)20、使用循环寻址勺数据缓冲区勺地址应该如何设置?答:由EFB定义缓冲区勺起始地址 EOB定义缓冲区勺底部地址,循环缓冲区勺长度必须是2kN, k为整数,循环缓冲区勺起始地址必须对准2k勺边界22、如何在C程序中访问汇编语言变量答:(当

13、C语言访冋,b段中汇编变量时I用“bss”或usect ”伪指令定义变量;2、用“global 伪指令定义外部变量:3、汇编语言在变量名前加“ -”(2)当访问不在bss段中时,定义一个全局指针变量“-XXX,并将该指针变量指向数据表的首个数据。(3)用.set和.global命令定义全局常数。从C语言程序中访问在汇编语言程序中用.set和.global命令定义的常数,按以下步骤可进行正常访问:1、在汇编语言程序中将常数(符号)定义为全局常数;2、C语言程序中访问汇编语言程序中的常数时,应在常数名之前加一个地址操作符“&”。23使用ADD指令完成加法templ+ temp2= temp3LDt

14、empi, A:将变量tempi装入累加器AADDtemp2, A;将变量temp2加到累加器A中STLA, temp3:将结果(累加器A的低16位)存入变量temp3中24利用ADDS指令实现32位数据装入LD#0, DP;设置数据页指针LD60h, 16, A;将60只的内容装入累加器A的高16位,同时累加器A的低16位清0ADDS61h, A;将6田的内容加到累加器A的低16位25利用SUB指令实现两个变量相减STM#60h, AR3:将变量1的地址60H装入辅助寄存器AR3STM#61h, AR2:将变量2的地址61H装入辅助寄存器AR3SUB*AR2+, *AR3, B ;将变量1左

15、移16位,同时变量2也左移16位,然后相减,;结果放入累加器B (高16位)中,同时AR2加1STHB, 63h:将相减的结果(高16位)存入变量3的地址63H中26使用SUBC指令和RPT指令实现整数除法:temp3=templ /temp2 ,余数放在temp4LDtempi, B;将被除数tempi装入累加器B的低16位RPT#15;重复执行下一条SUBC指令16次SUBCt emp2, B;使用SUBC指令完成除法STLB, temp3;将商(累加器B的低16位)存入变量temp3STHB, temp4;将余数(累加器B的高16位)存入变量temp427使用MPY指令实现整数乘法:RS

16、BX FRCT清FRCT标志,准备整数乘法LDtempi, T ;将变量tempi装入T寄存器MPYtempi, A;完成templ*templ,结果放入累加器A中(32位)28使用MPYA指令实现小数乘法:SSBX FRCT;FRCT二1 ,准备小数乘法LDtempl, 16, /L;将变量tempi装入累加器的高16位MPYAtemp2;完成temp2乘累加器A的高16位,结果放在B中,同;时将temp2装入T寄存器STH B, temp3 ;将乘积结果的咼16位存入变量temp329、用汇编语言编写程序,实现y=al*xl+a2*x2+a3*x3+a4*x4。加上适当注释。example

17、, asm y=al*xl+a2*x2+a3*x3+a4*x4.title example, asm;为汇编源程序取名 mmregsSTACK usect“ STACK” ,lOhbssa, 4bssx,4bssy, 1defstar t data table: word 1, 2, 3, 4 word & 6, 4, 2 text start:STM #0, SWWSRSTM #STACK+lOh, SPSTM #a, ARI RPT #7 MVPD table, *AR1+CALL SUM end: B endSUM:STM;定义存储器映象寄存器;分配10h个单元的堆栈空间;为系 数a分配

18、4个单元的空间;为变量 x分配4个单元的空间;为结果y 分配1个单元的空间;定义标号 start ;定义数据代码段;在标号table开始的8个单元中;为这8 个单元赋初值;定义文本代码段;软件等待状态寄存器置0,不设等待;设置堆栈指针初值;AR1指向a的地址;从程序存储器向数据存储器;重复传送8个数据STM RPTZ MAC STL RET . end编写一段调用SUI实现乘法累加和的子程序;循环等待程序,将数据存储器中数组.titlezhl0. asm mmregsSTACK usect STACK, 30H#a, AR3#x, AR4A, #3*AR3+, *AR4+, AA, y;将系数

19、a的地址赋给AR3 ;将变量x 的地址赋给AR3;将A清0,并重复执行下条指令4次; 执行乘法并累加,结果放在A中;将A 的低容送结果单元y ;结束子程序;结束全部程丿宇x20中的数据复制到数组y20中。30 bss x, 20 bss y, 20 datatable: word1, 2, 3, 4, 5, 6, 7, & 9, 10, 11, 12, 13, 14, 15, 16, 17, 1& 19, 20 defstart textstart: STM #x, ARIRPT #19MVPDtable, *AR1+;从程序存储器传送到数据存储器中STM#x,AR2STM#y,AR3RPT#

20、19end:MVDDB*AR2*, *AR3+ end:从数据存储器传送到数据存储器中5. 3链接命令文件有什么作用?在生成DSP代码过程中何时发挥这些作用?答:链接命令文件(cmd文件)通过段定位控制命令,分配程序代码空间、数据代码空间、程序运行空间、堆栈空间。 此命令文件链接example, obj和vector, obj两个目标文件(输入文件),并生成一个映像文件example, map以及一个可执彳丁的输出文件example, out,标号“ start是程序的入口。5.4用C语言设计时C编译器会产生哪些代码段?它们包含哪些内容?如何将它们配置到目标存储器中?答:.text段 包括可执

21、行代码、字符串和常量。 einit段包括初始化常量和常数表。.const段为字符串常量和以const关键字定义的常量。.switch段用于开关(switch)语句的数据表。通常.text% . cinit和switch段可以链接到系统ROM或RAM中去,但必须放在程序存储空间(pageO);而.const段可以链接到系统ROM或RAM中去,但必须放在数据存储器(pagel)。.bss段保留全局和静态变量空间。在程序开始运行时,C的引(boot)程序将数据从cinit段复制到.bss段。 Stack段为C的系统堆栈分配存储空间,用于传递变量。.Sysmem段为动态存储器函数malloc、calloc、realloc分配存储器空间。以上3个段链接到系统RAM中去,但必须放在数据存储器(pagel)中。2.11 TMS320C54X可进行移位操作,它的移位范围是多少?答:C54x勺移位操作最多可以左移31位,或右移16位。(-1631)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!