收藏 分销(赏)

DSP复习资料.doc

上传人:丰**** 文档编号:3060036 上传时间:2024-06-14 格式:DOC 页数:10 大小:1.80MB 下载积分:8 金币
下载 相关 举报
DSP复习资料.doc_第1页
第1页 / 共10页
DSP复习资料.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
金陵科技学院 信息技术学院 09通信工程专业 内部复习资料 DSP复习资料 第一章 1、简答:书P2 一个典型的DSP系统的基本构成 应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等。 DSP系统的工作过程: (简述即可) ①将输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。 ②经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)。 ③数字信号处理器对x(n)进行处理,得数字信号y(n)。 ④经D/A转换器,将y(n)转换成模拟信号; ⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。 2、小题 Simulator和Eimulator分别指 软件仿真 和 硬件仿真 P4 3、 简答:列举 DSP 芯片的特点?(后面简要阐述即可) 答:哈佛结构,即将数据存储器和程序存储器分开; 多总线结构,即设置了数据总线和数据总线,使运算速度提高。(哈弗结构使得总线也分为数据和程序总线) 指令系统的流水线操作,流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况。(其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总线资源。) 专用的硬件乘法器和加法器,使得大部分DSP芯片可在一个指令周期内完成一次加法和乘法操作。 高效的DSP指令:可以缩短指令的执行时间。 4、 简答:DSP芯片的运算速度可用几种指标来衡量?书P 9 答:指令周期,即执行一条指令所需的时间; MAC时间,即完成一次乘法和一次加法的时间; FFT执行时间,即运行一个FFT程序所需的时间; MIPS,即每秒执行百万条指令; MFLOPS,即每秒执行百万次浮点操作。 5、 小题:设DSP芯片的工作频率为100MHZ,一帧的时间为20ms,则该DSP芯片在一帧内所能提供的最大运算量为 200万 条指令。 书P11 第二章 1.ALU运算时,当 C16=1 时,可以分为两个16位ALU使用 2、累加器的保护位的作用 防止迭代运算中产生的溢出 3、DSP的移位位数为-16~31,则桶形移位寄存器最多左移31位,右移16位; 4、在一些指令中,加上后缀“R”,表示该指令要将累加器的低16位进行舍入 处理 5、简答:流水线的原理: 将指令分为几个子操作,每个子操作由不同的单元完成。 这样, 每隔一个时钟周期,每个单元就可以进入一条新指令。 因此,同一个时钟周期内,在不同的单元可以处理多条指令,相当于并行执行了多条指令。 TMS320C54x采用 6 级 流水线。 6、片内ROM里面包含引导装载程序(Bootloader) 7、简答 SARAM和DARAM 的联系和区别 区别 前者1个机器周期内只能被访问1次 后者1个机器周期内能被访问2次,可同时进行读操作和写操作。 联系 都可当数据存储器和程序存储器使用 第三章 1、数的定标是指 定点DSP芯片处理小数时,由程序员来确定一“小数点”的位置。 2、在数的定标中,如果采用Q表示法,一个Q8定点数的十进制数表示范围为 -215*2-Q —(215-1)*2-Q (此处写的不清楚,见书上P44) 3、OVM的中文名称是 溢出保护模式位; 当OVM=1,表示 设置溢出保护模式,用指令表示SSBX OVM ;OVM=0,表示设置溢出不保护模式;用指令表示 RSBX OVM ; SXM的中文名称是 符号扩展模式位 ;当SXM=1时,设置符号扩展模式,即高24位扩展为符号位。用指令表示 SSBX SXM ; 当SXM=0时,设置符号不扩展模式,即高24位用0填充;用指令表示RSBX SXM 4、DSP芯片的乘法运算,常需要用到舍入处理方法 书上p47 方法是在低16位的最高位加1,然后将低16位清除,将高16位作为结果。(将该数加0.5,之后再将小数部分去除,即舍入处理方法,也称上取整。) 5 书P62中间的例题 给出一个32位的浮点数,求十进制等值数。自己应该能看懂 第五章 1、数据类型: 常数类型:const关键字确保变量或数组的值不会被改变 端口类型:ioport是端口变量声明的关键字 Volatile类型:使用volatile关键字可确保编译器不会对这些变量进行优化 可能出现的题型 P108程序填空 例如,如果要在端口10h声明端口变量,并将a输出到该端口,再读取数据保存到b中,函数实现方法如下: ioport unsigned int port10; /* 访问I/O端口10h的变量*/ int func () { port10 = a; /* 写a到端口10h */ ... b = port10; /* 读取端口10h的值到b */ ... 2、可能出现的题型 P110 程序填空 题目 :已知 SWWSR的地址是0x0028,将DSP寄存器地址定义为volatile整形指针类型 用合适的C代码定义并赋值为0X2000。 (1)SWWSR 表示 软件等待状态寄存器 (2)#define SWWSR (volatile unsigned int *)0x0028 {*SWWSR=0X2000 } (3)P108 为什么要用volatile类型的数据? 答:对程序进行编译时,代码优化器会避免存储区访问而删除一些语句,为了保留这些语句,可以使用volatile关键字可确保编译器不会对这些变量进行优化。 3、P112 申明一个函数是中断函数,要使用中断关键字 interrupt (怎么考??) 中断程序没有参数传递,即使说明,也将被忽略 4 、小题 pragma 指令告诉编译器如何处理函数。常用的pragma指令有 CODE_SECTION (symbol, “section name ) 语句含义:可以为symbol指定专门的代码存储空间,而非.bss块 DATA_SECTION (symbol, ”section name”) 语句含义:可以为symbol指定专门的数据存储空间,而非.data块 5、简答 C语言程序代码优化有几种方法?其中并行指令属于那种优化方法?并举一例并行指令 算法优化 编译优化 函数优化 属于编译优化 ST||LD 特点:单字单周期 第六章 1、小题 DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。 2、小题 片内ROM通过MP/MC设置 MP/MC=0:表示片内ROM属于程序存储器的一部分。 MP/MC=1:表示片内ROM不属于程序存储器的一部分。 3 小题 片内RAM通过OVLY设置 OVLY=0,表示片内RAM作为数据存储器使用; OVLY=1,表示片内RAM既能当程序存储器用,又能当数据存储器用。 4、汇编语言实现计算 的程序(通过此题了 解.usect .bss.data.word.asg.set.text.end的使用) .mmregs stack .usect “STACK”,10h .bss a,4 .bss x,4 .bss y,1 .def start .data table: .word 1,2,3,4 ;变量初始化 .word 8,6,4,2 .text start: STM #0,SWWSR ; 插入0个等待状态 STM #STACK+10h,SP ; 设置堆栈指针 STM #a,AR1 ; AR1指向a RPT #7; 移动8个数据 MVPD table,*AR1+; 从程序存储器到数据存储器 CALL SUM; 调用SUM子程序 end: B end 补充 .asg .set伪指令的含义 前者将一个字符串赋值给一个替代符 .asg AR1,counter;表示用counter代替AR1 后者使符号等于一个数 PERIOD .set 4999 表示PERIOD = 4999 SUM: STM #a, AR3 ;子程序执行 STM #x, AR4 RPTZ A, #3 MAC *AR3+,*AR4+,A LD #y,DP STL A,@ y RET .end 5、编写链接命令文件 按照实验报告上的写 MEMORY(要求大写) { PAGE 0: PRAM: origin = 0x1000, length = 0xEFFF PAGE 1: DARM: origin = 0x0300, length = 0x0D00 } SECTIONS(要求大写) { .text :> PRAM PAGE 0 .bss :> DARM PAGE 1 } 可能考的题型: 例题 :用MEMORY伪指令编写链接命令文件,要求: 程序存储器:4K字ROM,起始地址为C00h,取名为ROM. 数据存储器:32字RAM,起始地址为60h,取名为SCR. 512字RAM,起始地址为80h,取名为CHIP. MEMORY { PAGE0: ROM: org=C00h, len=1000h PAGE1: SCR: org=60h, len=20h CHIP: org=80h, len=200h } 6 定义(.def): 在当前模块中定义,在其他模块中 引用 参考(.ref): 在当前模块中引用,在其他模块中定义 全局(.global): 包含上面两者 可能考的题型 下面对一些常用的伪指令说法正确的是:( D ) A、.def所定义的符号,是在当前模块中使用,而在别的模块中定义的符号; B、.ref 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号; C、.sect命令定义的段是未初始化的段; D、.usect命令定义的段是未初始化的段。 7、已知一数组名为indata,长度为30个字,试用两种方法给该数组分配空间。 .bss indata , 30 indata .usect “indata”, 30 第七章 1、指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。 (1)加法指令 【例】 ADD *AR3+,14,A 表示(AR3)<<14+A->A,AR3+1->AR3 (2)乘法指令 【例】 MPY 13,A; 表示T*Smem →A, Smem所在的单元数据存储器地址为13(0Dh) (3)采用间接寻址的乘加指令 MAC *AR5+,A ;A+(AR5)*T→A, AR5= AR5+1 2、 在直接寻址中,指令代码包含了数据存储器地址的低 7 位。当ST1中直接寻址编辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位CPL =1 时,加上SP基地址形成数据存储器地址。 LD #y ,dp 作用 确定当前所在的数据页 STL A ,@y 寻址方式为直接寻址 特点:指令代码包含了数据存储器地址的低 7 位 3 寻址方式(主要考哪几个??) 可能考的题型: (1)汇编语言“mov *AR0,AC0”使用的寻址方式是 间接寻址模式 ,“mov #0x3,DPH”使用的寻址方式是 直接寻址模式 ,“mov *(#0x011234),T2”使用的寻址方式是 绝对寻址模式 。 (2)TMS320C55x有哪些寻址方式,试为每种寻址方式列举一条指令。 4、编程 1、例:对数组进行初始化,使x[5]={0,0,0,0,0,0}。 .mmregs .bss x, 5 .def _c_intoo .text _c_intoo: STM #x, AR1 LD #0, A RPT #4 STL A,*AR1+ .end 编程 2、例x[5]={0,1,2,3,4,5} .mmregs .bss x, 5 .data 还可以用快重复操作指令RPTB做 Table: .word 0 ,1,2,3,4 .def _c_intoo .text _c_intoo: STM #x, AR1 RPT #4 MVPD table,AR1+ .end 编程3、控制流水灯亮灭 .mmregs .def _c_intoo .text _c_intoo: SSBX XF CALL Delay RSBX XF CALL Delay B _c_intoo Delay: STM #999,AR1 LOOP1: STM #4999,AR2 LOOP2: BANZ LOOP2,*AR2- BANZ LOOP1,*AR1- RET .end 编程4、连加 .mmregs .bss x,10 ;给x保留10个空间 .bss y,1 ;给y保留1个空间 .def _c_intoo stack .usect “STACK”,10h .text _c_intoo: STM #STACK+10h,SP ; 设置堆栈指针 STM #a,AR1 ; AR1指向a STM #x,AR1 ;设置数据段的首地址 STM #9,AR2 ;设置循环计数值 LD #0,A ;累加器清0 Loop: ADD *AR1+,A ;累加运算,并修改地址 BANZ loop,*AR2- ;若计数值不为0,则循环,并计数值减1 若计数值为0,则结束循环 LD #y,DP STL A, @y ;累加和存入y中 .end 第八章 1、从汇编程序调用C函数时,第一个参数必须放在累加器A中。其他参数以逆序方式压入堆栈。 2、从C程序中访问汇编程序变量 书p200例题8.1 从汇编程序中访问C程序变量 书p201例题8.4 3、在C程序中直接嵌入汇编语句 asm(“ 汇编语句 ”); 4、问在合适的地方插入一个至几个NOP指令的作用?书上P207 例题 解决流水相冲突 第九章 1、不可屏蔽中断有 复位中断 、NMI 和 所有软件中断 可屏蔽中断 可以用软件修改?? 2、大题P238定时器 (1)代码初始化 (六条指令) 定时控制寄存器(TCR) 初始化定时器: (1) 将TCR中的TSS位置1,停止定时器。STM #0000000000010000B,TCR ; (2) 加载PRD。STM ,PRD (3) 重新加载TCR以初始化TDDR。STM ,TCR ; 中断初始化 (1)设置中断标志寄存器IFR中的TINT=1,清除已有的定时器中断;STM #0008H,IFR (2)设置中断屏蔽寄存器IMR中的TINT=1,使能定时器中断;STM #0008,IMR (3)设置INTM=0,使能全部中断 RSBX INTM; (2)计算T 公式:定时器的中断周期 3、子地址SPSA 子数据SPSD 写两个指令 (怎么考?) SPSA .set 38h SPSD .set 39h 第十一章 小题 具有 电平转换 功能,为什么要电平转换? ??DSP芯片内部电压和外设或外部存储器的电压值不匹配
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服