收藏 分享(赏)

DSP技术及应用习题答案.doc

上传人:精品资料 文档编号:8201770 上传时间:2019-06-13 格式:DOC 页数:6 大小:57KB
下载 相关 举报
DSP技术及应用习题答案.doc_第1页
第1页 / 共6页
DSP技术及应用习题答案.doc_第2页
第2页 / 共6页
DSP技术及应用习题答案.doc_第3页
第3页 / 共6页
DSP技术及应用习题答案.doc_第4页
第4页 / 共6页
DSP技术及应用习题答案.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1DSP 技术及应用习题答案第 1 章 绪论1.1 DSP 的概念是什么?本书说指的 DSP 是什么?答:DSP 有两个概念。一是数字信号处理( Digital Signal Processing) ,指以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理;二是数字信号处理器(Digital Signal Processor) ,指是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。 本书中的 DSP 主要指后者,讲述数字信号处理器的应用。1.2 什么是哈佛结构和冯诺伊曼结构?它们有什么区别?答:(1) 冯诺伊曼(Von Neuman)

2、结构 该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。(2)哈佛(Harvard )结构该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。1.3 已知一个 16 进制数 3000H,若该数分别用 Q0、Q5、Q15 表示

3、,试计算该数的大小。答:3000H=12288。若用 Q0 表示,则该数就是 12288;若用 Q5 表示,则该数就是 12288*2-5=384;若用 Q15 表示,则该数就是 12288*2-15=0.3751.4 若某一个变量用 Q10 表示,试计算该变量所能表示的数值范围和精度。答:Q10 能表示的数值范围是32 31.9990234,其精度为 2-101.5 若 x=0.4567,试分别用 Q15、Q14 、Q5 将该数转换为定点数。答:Q15:x*2 15=int(0.4567*32768)=14965;Q14:x*2 14=int(0.4567*16384)=7482;Q5:x*

4、2 5=int(0.4567*32)=14。注意:结果都要取整;可以十进制也可以是十六进制。2第 2 章 TMS320C54x 的 CPU 结构和存储器配置2.1 TMS320C54x 芯片的 CPU 主要由哪几部分组成?答:CPU 主要组成是 40 位的算术逻辑运算单元 ALU;40 位的累加器 A 和 B;40 位的桶形移位寄存器;乘法累加单元(MAC) ;比较、选择和存储单元(CSSU) ;指数编码器(EXP) ;16 位的状态寄存器 ST0、 ST1 以及处理器工作方式状态寄存器 PMST;寻址单元。2.2 处理器工作方式状态寄存器 PMST 中的 MP/MC、OVLY 和 DROM

5、三个状态位对C54x 的存储空间结构各有何影响?答:MP/MC 控制位用来决定程序存储空间是否使用内部存储器。当 MP/ MC=0时,称为微计算机模式,允许片内 ROM 配置到程序存储器。当 MP/ MC=1 时,称为微处理器模式,禁止片内 ROM 配置到程序存储器。OVLY 控制位用来决定程序存储空间是否使用内部 RAM。当 OVLY= 0 时,程序存储空间不使用内部 RAM。当 OVLY= 1 时,程序存储空间使用内部 RAM,内部 RAM 同时被映射到程序存储空间和数据存储空间。DROM:用来决定片内 ROM 是否可以映射到数据存储空间。当 DROM=1 时,片内 ROM 配置到程序和数

6、据存储空间。当 DROM=0 时,禁止片内 ROM 配置到数据存储空间。第 3 章 TMS320C54x 的指令系统3.1 已知(30H)=50H ,AR2=40H,AR3=60H,AR4=80H。MVKD 30H,*AR2 ;(40H )=50HMVDD *AR2,*AR3 ;(60H)=50HMVDM *AR3,AR4 ;AR4=50H运行以上程序后, (30H) 、 (40H ) 、*AR3 和 AR4 的值分别等于多少?答:均等于 50H。3.2 已知(80H)=20H , ( 81H)=30H。LD #0,DP3LD 80H,16,BADD 81H,B运行以上程序后,B 等于多少?答

7、:此题错误。因为第 2 和第 3 条指令中的 80H、81H 默认是80H、81H,那么根据直接寻址方式的地址形成,DP 的值放在高 9 位,后面的值只取低 7位,合在一起形成 16 位地址就是 0000000000000000B(0000H) 、0000000000000001B(0001H ) 。而这 2 个地址的值已知条件中没有说明,此题无解。如果按照已知条件,应该将 DP 值置为 1,即第 1 条指令改为 LD #1,DP。则第 2 条指令执行后,B=200000H;第 3 条指令执行后,B=200030H。3.3 试为下列程序段的每条指令加上注释。STM #88H, AR0 ;AR0

8、=0088HLD #1000H, A ;A=0000001000Hzhong: SUB AR0, A ;A=0000001000H0088H=0000000F78HBC zhong, AGT, AOV ;若 A0 且 A 溢出,则跳转至 zhong3.4 阅读以下程序,分别写出运行结果。.bss x, 4 .bss x, 4.data .datatable: .word 4, 8, 16, 32 table: .word 4, 8, 16, 32 STM #x, AR1 STM #x, AR1RPT 2 RPT 2MVPD table, *AR1+ MVPD table, *+AR1答:左边的

9、程序段的运行结果是以 x 开始的 3 个存储单元分别置初值4,8,16。右边的程序段的运行结果是以 x+1 开始的 3 个存储单元分别置初值4,8 , 16,而 x 没有置初值。 第 4 章 TMS320C54x 汇编语言程序设计4.1 说明.text 段、.data 段和 .bss 段分别包含什么内容?答:.text 段是已初始化段,包含可执行的程序代码,是汇编语言程序的正文;.data 段也是已初始化段,一般包含初始化的数据块;4.bss 段是未初始化段,没有确切内容,主要作用是定义变量,预留存储单元。4.2 在堆栈操作中,PC 当前地址为 4020H,SP 当前地址为 0013H,运行

10、PSHM AR7 后,PC 和 SP 的值分别是多少?答:PC=4021,SP=0012H。4.3 试编写 0.25(0.1)的程序代码。答: .mmregs STACK .usect “STACK”,10h ; 为堆栈指定空间.bss x,1 ; 为变量 x,y,z 各分配 1 个字的空间.bss y, 1.bss z, 1.def start.datatable: .word 25*32768 /100 ; 变量初始化.word 1*32768 /10.textstart: STM # 0,SWWSR ; 插入 0 个等待状态STM # STACK + 10h,SP ; 设置堆栈指针STM

11、 # x,AR1 ; AR1 指向 xRPT #1MVPD table,*AR1+ ; 从程序存储器到数据存储器SSBX FRCT ;FRCT 置 1LD # x, DP ;设置 DPLD x, TMPY y, A ;x*ySTH A,z ;存结果end: B end.end 4.4 编写程序段,设计一个存储空间为 100 字的堆栈。答:STACK .usect “STACK”,100STM # STACK + 100,SP ; 设置堆栈指针54.5 编写程序段,实现对数组 x5中的每个元素都加 1。答: .bss x, 5begin: STM #x, AR4STM #4, AR3loop:

12、ADDM #1, *AR4+BANZ loop, *AR3-4.6 编写完整程序,实现 y=x1+x2+x3+x4+x5。答: .mmregs STACK .usect “STACK”,10h ; 为堆栈指定空间.bss x1,1 ; 为变量 x1x5,y 各分配 1 个字的空间.bss x2, 1.bss x3, 1.bss x4, 1.bss x5, 1.bss y, 1.def start.datatable: .word 1,2,3,4,5 ; 初始化数据.textstart: STM # 0,SWWSR ; 插入 0 个等待状态STM # STACK + 10h,SP ; 设置堆栈指

13、针STM # x1,AR1 ; AR1 指向 xRPT #4MVPD table,*AR1+ ; 从程序存储器到数据存储器STM # x1, AR2 ;设置首地址RPTZ A, #4ADD *AR2+, ASTL A, *AR2+STH A, *AR2end: B end.end4.9 阅读以下程序,写出运行结果。6.bss y, 5table: .word 1, 2, 3, 4, 5STM #y, AR2RPT #5MVPD table, *AR2+LD #0, BLD #81H, AR5STM #0, ASTM #4, BRCSTM #y, AR5RPTB sub1ADD *AR5, B,

14、 ASTL A, *AR5+sub: LD #0, B运行以上程序后, (81H) 、 (82H ) 、 (83H) 、 (84H )和(85H)的值分别是多少?答:题目中不仅有指令语法错误,还有逻辑错误。因为虽然通过 LD #81H, AR5将 81H 赋给 AR5,但是后面又有 STM #y, AR5。所以 AR5 的值依然是 y,运行后不会将加法的结果送到 81H85H 单元。当然,根据题意,运行后的结果是(81H)=1 , (82H)=2, (83H)=3, (84H)=4, (85H)=5。4.10 链接命令文件中,MEMORY 和 SECTION 命令的任务是什么?答:MEMORY 命令的作用是定义系统中所包含的各种形式的存储器,以及它们占据的地址范围。SECTION 命令的作用是将输出端定位到所定义的存储器中。注:4.7、4.8、4.11 题系实验要求,不提供参考答案,请同学们自行上机编程验证。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报