- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信系《DSP原理及应用》期末考试题(答案)
姓名: 学号: 班级: 分数:
考试时间:15:40~17:30 考试方式:开卷;
注意:所有答案必须写在答题纸上,试卷上的答案无效!
一、 填空题(每空2分,共20分)
在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x的寄存器中。在函数“long func(int *p1, int i2, int i3, int i4)”中,*p1传递到 AR0 寄存器,i2传递到 T0 寄存器,i4传递到 AR1 寄存器,返回值由 AC0 寄存器传递。
汇编语言“mov *AR0,AC0”使用的寻址方式是 间接寻址模式 ,“mov #0x3,DPH”使用的寻址方式是 直接寻址模式 ,“mov *(#0x011234),T2”使用的寻址方式是 绝对寻址模式 。
指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f, AC0”,执行之后,AC0的值是 0000000078 。
C55x 的链接器命令文件中,SECTIONS命令的主要作用是 告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出 。MEMORY命令的主要作用是 定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度 。
二、简述题(共40分)
根据你的理解,试列举 DSP 芯片的特点?(5分)
答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP指令;快速的指令周期;丰富的外设
TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什么?(6分)
答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。
采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问程序指令和数据。
包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。
功能:
DSP 为了降低功耗采取了哪些措施?(6分)
答:双电压供电;多种工作模式
TMS320C55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多少?存储器空间的各自作用是什么?(6分)
答:程序空间16M Byte;I/O空间64K Words;数据空间8M Words
TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6分)
答:直接寻址模式,mov #K16,DP;
间接寻址模式,mov *AR0,AC0;
绝对寻址模式,mov *(#0x011234),T2;
MMR寻址模式,mov *abs16(#AR2), T2;
寄存器位寻址模式,btstp @30, AC1;
圆形寻址模式。
将C源程序转换成可执行文件需要经过哪些步骤?(6分)
答:创建C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件
常用的TMS320C55x汇编命令有哪些,它们的作用是什么?(5分)
三、程序设计题(共40分)
用C55x汇编语言实现计算 的程序。(10分)
答:mpym *AR0+, *AR1+, AC0
mpym *AR0+, *AR1+, AC1
add AC1, AC0
mpym *AR0+, *AR1+, AC1
add AC1, AC0
mpym *AR0+, *AR1+, AC1
add AC1, AC0
或者:
mpym *AR0+, *AR1+, AC0
||rpt #2
macm *AR0+, *AR1+, AC0
用C55x汇编语言实现计算 的程序。(10分)
答:mpym *AR0+, *AR1+, AC3
masm *AR0+, *AR1+, AC3
以8点的FFT为例,用C55x的汇编语言实现FFT的算法,并且解释该算法的实现方法。(20分)
答: .sect 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 AR
文档评论(0)