



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统ARM内核和DSP内核的结合,意义何在?答:AMR以控制为核心;DSP多媒体影音处理,实时信号处理。控制能力好,定时控制好。速度快、开发性好、稳定性高。ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。2、DSP的工作电压越来越低,内核电压已经低至1V,这样做有何意义?为什么DSP内核工作电压和I/O工作电压不一样?答:集成电路速度越来越快,随之而来,功耗越来越大,这样散热就是很大的问题.在芯片走线尺寸不变的情况下,内部阻抗也不变,降低工作电压会降低功耗,这样能再较高频率下芯片发热较少。内核不容易受到外部干扰,所以电压可以做的较低,但IO容易受外部信号干扰,保持较高电压容易是器件工作稳定,这是功耗和稳定性的折中。3、TMS320C54xDSP采用硬件乘法器完成17*17bits带符号乘运算,而软件乘法器(微代码指令)也能完成同样的运算,请问它们有什么区别? 答:DSP有专门的硬件来实行乘累加(MAC运算),也就是你说的硬件乘法器,用MAC可以在一个处理器时钟周期内,得到两个数据相乘的结果。而典型的微处理器是通过二进制长的相乘进行乘法运算的,当微处理器遇到一个乘法指令时,调用一个内部运算序列(称为微码)在连续的时钟周期中,改执行一系列的移位和相加运算,直到算出结果。因为微码有许多步骤,所以该运算需要许多时钟周期来完成。(硬件比软件快速完成乘法运算,软件要占用程序空间,运行时间长)4、当要使用硬中断INT3作为中断响应矢量时,请问可屏蔽中断寄存器IMR和中断标志寄存器IFR应如何设置。答:IFR中INT3位=1 IMR中INT3位=1使能中断5、若处理器方式寄存器PMST的值设为01A0H,而中断矢量为INT3,那么在中断响应时,程序计数器指针PC的值为多少?答:PMST:中IPTR=(000000011)b,int3中断向量号为24H,做移量为后变为60H则终端响应时程序计数器指针PC=01E0H6、TMS320C54xDSP存储器有3个独立的可选空间组成:程序、数据和I/O空间。而C54x存储空间的配置是受MP/MC、OVLY和DROM3个位控制的。如果想使片上RAM同时映射到数据空间和程序空间,那么MP/MC、OVLY和DROM的值应如何设置? 答:MP/MC=0;OVLY=1;DROM=17、TMS320C54xCPU有一条指令流水线加速了指令执行,请问流水线分几级,分别叙述各级的功能?6级流水操作的功能分别是:Prefetch:预取指,把将要执行的指令地址提供给程序地址总线PAB。Fetch:取指,从程序总线PB上读取程序指令,并放入指令寄存器IR。Decode:译码,指令寄存器IR中的内容被译码,同时判定操作数类型、寻址方式及控制顺序。Access:访问寻址,数据地址产生单元DAGEN把将要访问的数据存储区地址提供给数据地址总线DAB和CAB。Read:读操作数,从数据地址总线DB和CB上读取操作数,同时把将要写的数据存储区地址提供给写地址总线EAB。Execute/write:执行/写操作,执行指令,同时通过数据写总线EB完成写操作8、DSP响应中断的条件有哪些?中断响应应满足: 在出现多个中断时,此中断优先级最高。ST1中INTM位为0,允许全局中断。 IMR中的响应位为1,开放此中断。外部中断响应时间 。9、DSP如何与不同速度的片外存储器及其他外设进行数据交换?答: 软件可编程等待状态发生器可以将外部总线周期扩展到7个机器周期,以使C54x能与低速外部设备接口。而需要多于七个等待周期设备,可以用硬件READY线来接口。10、循环寻址和位倒序寻址是DSP数据寻址的特殊之处,试叙述这两种寻址的特点和它们在数字信号处理算法中的作用。答:循环寻址可以和任意一种间接寻址模式一起使用。每一个辅助寄存器和系数数据指针,作为对数据或寄存器位的指针时,都可以独立配置成线性或循环寻址。位倒序寻址提高了执行速度和在FFT算法的程序中使用存储器的效率。在这种寻址方式中,AR0存放的整数N是FFT点数的一半,一个辅助寄存器指向一个数据存放的物理单元。当使用位倒序寻址方式把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右的,而不是从右向左。11、如何在数据存储器中开辟循环缓冲区?答:在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本;每次输入新样本时,以新样本改写滑窗中的最老的数据,而滑窗中的其他数据不作移动;利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。12、在数据存储器中开辟一段循环缓冲区,缓冲区大小为64。试写出缓冲区首地址和缓冲区大小寄存器的内容。答:首地址: EFB 内容:XXXX XXXX X000 0000b13、使用循环寻址要遵循的三个原则:(1)循环缓冲区的长度RN, k为整数,循环缓冲区的起始地址必须对准2k的边界22、如何在C程序中访问汇编语言变量 答:(1)当C语言访问bss段中汇编变量时 1、用“bss”或“usect”伪指令定义变量; 2、用“global”伪指令定义外部变量; 3、汇编语言在变量名前加“-”(2)当访问不在bss段中时,定义一个全局指针变量“-XXX”,并将该指针变量指向数据表的首个数据。(3)用.set和.global命令定义全局常数。从C语言程序中访问在汇编语言程序中用.set和.global命令定义的常数,按以下步骤可进行正常访问:1、在汇编语言程序中将常数(符号)定义为全局常数;2、C语言程序中访问汇编语言程序中的常数时,应在常数名之前加一个地址操作符“&”。23、使用ADD指令完成加法temp1+ temp2= temp3LD temp1, A ;将变量temp1装入累加器AADD temp2, A ;将变量temp2加到累加器A中STL A, temp3 ;将结果(累加器A的低16位) 存入变量temp3中24、利用ADDS指令实现32位数据装入LD #0, DP ;设置数据页指针LD 60h, 16, A ;将60H的内容装入累加器A的高16位,同时累加器A的低16位清0ADDS 61h, A ;将61H的内容加到累加器A的低16位25、利用SUB指令实现两个变量相减STM #60h, AR3 ;将变量1的地址60H装入辅助寄存器AR3STM #61h, AR2 ;将变量2的地址61H装入辅助寄存器AR3SUB *AR2+,*AR3,B ;将变量1左移16位,同时变量2也左移16位,然后相减,;结果放入累加器B(高16位)中,同时AR2加1STH B, 63h ;将相减的结果(高16位)存入变量3的地址63H中26、使用SUBC指令和RPT指令实现整数除法:temp3=temp1/temp2,余数放在temp4中。LD temp1, B ;将被除数temp1装入累加器B的低16位RPT #15 ;重复执行下一条SUBC指令16次SUBC temp2, B ;使用SUBC指令完成除法STL B, temp3 ;将商(累加器B的低16位)存入变量temp3STH B, temp4 ;将余数(累加器B的高16位)存入变量temp427、使用MPY指令实现整数乘法:RSBX FRCT ;清FRCT标志,准备整数乘法LD temp1, T ;将变量temp1装入T寄存器MPY temp1, A ;完成temp1* temp1,结果放入累加器A中(32位)28、使用MPYA指令实现小数乘法:SSBX FRCT ;FRCT=1,准备小数乘法LD temp1, 16, A ;将变量temp1装入累加器的高16位MPYA temp2 ;完成temp2乘累加器A的高16位,结果放在B中,同;时将temp2装入T寄存器STH B, temp3 ;将乘积结果的高16位存入变量temp329、用汇编语言编写程序,实现y=a1*x1+a2*x2+a3*x3+a4*x4。加上适当注释。example.asm y=a1*x1+a2*x2+a3*x3+a4*x4 .title “example.asm” ;为汇编源程序取名 .mmregs ;定义存储器映象寄存器STACK .usect “STACK”,10h ;分配10h个单元的堆栈空间 .bss a,4 ;为系数a分配4个单元的空间 .bss x,4 ;为变量x分配4个单元的空间 .bss y,1 ;为结果y 分配1个单元的空间 .def start ;定义标号start .data ;定义数据代码段table: .word 1,2,3,4 ;在标号table开始的8个单元中 .word 8,6,4,2 ;为这8个单元赋初值 .text ;定义文本代码段start:STM #0,SWWSR ;软件等待状态寄存器置0,不设等待 STM #STACK+10h,SP ;设置堆栈指针初值 STM #a,AR1 ;AR1 指向 a的地址 RPT #7 ;从程序存储器向数据存储器 MVPD table,*AR1+ ;重复传送 8个数据 CALL SUM ;调用 SUM 实现乘法累加和的子程序end: B end ;循环等待SUM:STM #a,AR3 ;将系数a的地址赋给AR3 STM #x,AR4 ;将变量x的地址赋给AR3 RPTZ A,#3 ;将A清0,并重复执行下条指令4次 MAC *AR3+,*AR4+,A ;执行乘法并累加,结果放在A中 STL A,y ;将A的低容送结果单元y RET ;结束子程序 .end ;结束全部程序 30、编写一段程序,将数据存储器中数组x20中的数据复制到数组y20中。.title zh10.asm .mmregsSTACK .usect STACK,30H .bss x,20 .bss y,20 .datatable: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 .def start .textstart: STM #x,AR1 RPT #19 MVPD table,*AR1+ ;从程序存储器传送到数据存储器中 STM #x,AR2 STM #y,AR3 RPT #19 MVDD *AR2+,*AR3+ ;从数据存储器传送到数据存储器中end: B end .end5 .3 链接命令文件有什么作用?在生成DSP代码过程中何时发挥这些作用?答:链接命令文件(.cmd文件)通过段定位控制命令,分配程序代码空间、数据代码空间、程序运行空间、堆栈空间。此命令文件链接example.obj和vector.obj两个目标文件(输入文件),并生成一个映像文件example.map以及一个可执行的输出文件example.out,标号“start”是程序的入口。5.4 用C语言设计时C编译器会产生哪些代码段?它们包含哪些内容?如何将它们配置到目标存储器中?答:.text段 包括可执行代码、字符串和常量。.cinit段 包括初始化常量和常数表。.const段 为字符串常量和以const关键字定义的常量。.switch段 用于开关(switch)语句的数据表。通常.text、.cinit和.switch段可以链接到系统ROM或RAM中去, 但必须放在程序存储空间(page0);而.const段可以链接到系统ROM或RAM中去,但必须放在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车充电设施布局与充电站建设成本控制与效益分析报告
- 聚焦2025年医疗美容行业消费者心理与服务体验改善报告
- 好吃的蘑菇课件
- 年产40万立方米加气混凝土砌块生产线建设项目可行性研究报告
- 港口可行性研究报告
- 林场公路建设项目可行性研究报告
- 二零二五年度生态宜居房地产商品房买卖合同书
- 二零二五年度离婚协议债务偿还及监督协议范本
- 二零二五年度定制化货物汽车运输服务合同
- 二零二五年高净值客户定制化委托理财服务协议
- 2025高级会计师考试试题及答案
- 2025-2030中国特高压电网建设规划与设备需求分析报告
- 2026版赢在微点顶层设计大一轮物理-专题提升二十 测量电阻的其他几种方法
- 民族文化宫2025年公开招聘17人笔试模拟试题含答案详解
- 光传输业务配置课件
- 2025年幼儿园教师专业考试试题及答案书
- 机关事业单位工人汽车驾驶员高级、技师国家题库练习题及答案
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库带答案详解
- 2025年青海辅警招聘考试题及答案
- 2025新外研版初中英语八年级上全册课文原文翻译
- 2025年高处作业特种作业操作证考试试卷:高处作业特种作业操作证考试备考攻略与技巧
评论
0/150
提交评论