1、DSP技术及应用试卷及答案(一)时间:120 分钟 总分 100 分。一、填空1. TI公司的定点 DSP 产品主要有 TMS320C2000 系列、TMS320C5000 系列和 TMS320C6000 系列。2. C54x DSP中传送执行指令所需的地址需要用到 PAB 、CAB、DAB 和EAB 4 条地址总线。3. DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。其中 RAM 又可以分为两种类型:单寻址 RAM(SARAM )和双寻址 RAM(DARAM)。4. C54x DSP的内部总存储空间为 192K 字,分成 3 个可选择的存储空间:64K 字的程序
2、存储空间 、64K 字的数据存储空间和 64K 字的 I/O 空间 。5. 从功能结构上,C54X DSP 的 CPU 可以划分成 运算部件 和 控制部件两大部分。6. C54x DSP 的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、直接寻址、 间接寻址 、存储器映象寄存器寻址、堆栈寻址。7. 在C54x DSP 寻址和指令系统中, Xmem 和 Ymem 表示 16 位双寻址操作数 ,Dmad 为 16 位立即数,表示 数据存储器地址 ,Pmad 为 16 位立即数,表示 程序存储器地址 。8. 程序计数器的值可以通过 复位操作 、 顺序执行指令 、 分支转移 ,累加器转移,块重复
3、,子程序调用,从累加器调用子程序,中断等操作改变。9. C54x DSP芯片采用了 6级流水线的工作方式,即一条指令分为 预取指 、取指、译码、 寻址 、读数和执行 6个阶段。10. 解决 MMR写操作的流水线冲突时,一般可用采用重新安排指令和 插入空操作指令 的方法。11. C54x DSP定时器由 3个 16位存储器映射寄存器组成:定时器寄存器(TIM)、 定时器周期寄存器(PRD)和 定时器控制寄存器(TCR) 。12. 主机接口(HPI,Host Port Interface) 是 TMS320C54x 系列定点芯片内部具有的一种接口部件,主要用于 DSP与其他总线或 CPU进行通信。
4、13. C54x DSP的指令系统有 助记符指令 和 代数指令 两种形式。14. COFF目标文件中.text 段通常包含 可执行代码 ,.data 段通常包含己初始化的数据,.bss 段中通常为 未初始化的数据 保留空间。15. DSP芯片的开发工具可以分为 代码生成工具 和 代码调试工具 两类。16DSP 的狭义理解为 数字信号处理器 ,广义理解为 数字信号处理方法 。17在直接寻址中,指令代码包含了数据存储器地址的低 7 位。当 ST1中直接寻址编辑方式位 CPL =0 时,与 DP相结合形成 16位数据存储器地址;当 ST1中直接寻址编辑方式位 CPL =1 时,加上 SP基地址形成数
5、据存储器地址。18TMS320C54 有两个通用引脚,BIO 和 XF, BIO 输入引脚可用于监视外部接口器件的状态; XF 输出引脚可以用于与外部接口器件的握手信号。19累加器又叫做 目的寄存器 ,它的作用是存放从 ALU或乘法器/加法器单元 输出的数据。它的存放格式为3932保护位3116高阶位150低阶位20桶形移位器的移位数有三种表达方式: 立即数 ;ASM ; T寄存器低 6位 21DSP 可以处理双 16位或双精度算术运算,当 C16=0 位双精度运算方式,当 C16=1 为双 16位运算方式。22复位电路有三种方式,分别是 上电复位 ; 手动复位 ; 软件复位 。23立即数寻址
6、指令中在数字或符号常数前面加一个 # 号,来表示立即数。24位倒序寻址方式中,AR0 中存放的是 FFT 点数的一半 。25一般,COFF 目标文件中包含三个缺省的段: text 段; data段和 bss 段。26汇编源程序中标号可选,若使用标号,则标号必须从 第一列 开始;程序中可以有注释,注释在第一列开始时前面需标上 星号或分号 ,但在其它列开始的注释前面只能标 分号 。27C5402 有 23条外部程序地址线,其程序空间可扩展到 1M ,内程序区在 第 0页 。28.在 C语言和 C55x汇编语言的混合程序设计中,C 函数的参数和返回值传递到 C55x的寄存器中。在函数“long fu
7、nc(int *p1, int i2, int i3, int i4)”中,*p1 传递到AR0 寄存器,i2 传递到 T0 寄存器,i4 传递到 AR1寄存器,返回值由 AC0 寄存器传递。29.汇编语言“mov *AR0,AC0”使用的寻址方式是 间接寻址模式 ,“mov #0x3,DPH”使用的寻址方式是 直接寻址模式 ,“mov *(#0x011234),T2”使用的寻址方式是 绝对寻址模式 。30.指令执行前 AC0的值是 0012345678,那么汇编语句“AND #0x7f, AC0”,执行之后,AC0 的值是 0000000078 。31.C55x 的链接器命令文件中,SECT
8、IONS 命令的主要作用是 告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出 。MEMORY 命令的主要作用是 定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度 。二、简答题(每题 5 分,共 20 分)1.什么是定点 DSP 芯片和浮点 DSP 芯片?各有什么优缺点? 解:按数据的定点格式工作的 DSP 芯片称为定点 DSP;按数据的浮点格式工作的 DSP 芯片称为浮点 DSP;定点 DSP 的价格便宜,功耗低,但运算精度低;浮点 DSP 的价格较高,C 语言编程调试方便,运算精度高。2. 简述流水线操作的基本原理。解:流水线操作是各指令以机器周
9、期为单位相差一个时钟周期,连续并行工作的情况。其本质是 DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总线资源。3. C54x DSP有哪些重复操作?各有什么优点? 解:有单条指令重复执行和程序块重复执行两种重复操作。单条指令重复操作功能,可以使乘法/累加和数据块传送那样的多周期指令在执行一次之后变成单周期指令,大大提高了这些指令的执行速度。利用块重复操作进行循环,是一种零开销循环。4. 软件可编程等待状态发生器的功能是什么? 解:软件可编程等待状态产生器可以将外部总线周期扩展到 7个机器周期(C549、C5402、C5
10、410 和 C5420为 14个机器周期),这样C54x DSP 可以方便地与慢速的片内存储器和 I/O器件接口。5.TMS320C54x有多少条 16位总线?这些总线各有什么作用?答:C54x 共有 4组 8条 16位总线 1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。3条数据总线(CB、DB、EB):CB 和 EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所需要的代码。6.TMS320C54x片内存储器一般包括哪些种类?如何控制存储器片内或片外的分配?答:TMS320C54x 的片内存储空间分为 3
11、个可选择的存储空间:64K 的程序空间,64K 的数据空间和 64K的 I/O空间,所有 TMS320C54x芯片都包括RAM、SARAM、DARAM。程序空间:MP/MC=1 4000HFFFFH 片外MP/MC=0 4000HEFFFH 片外 FF00HFFFFH 片内OVLY=1 0000H007FH 保留 0080H007FH 片内OVLY=0 0000H3FFFH 片外数据空间:DROM=1 F000HFEFFH 只读空间 FF00HFFFH 保留DROM=0 F000HFEFFH 片外7.当 TMS320C54x CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?答:(1
12、)出现多个中断时,此中断的优先级最高(2)INTM=0 允许全局中断(3)IMR 中的响应相应位为 1,开放此中断。8.TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算INT0(IPTR=001H)的中断向量地址。答: 复位后,复位向量地址为:0080H确定地址方式:IPTR+左移 2位后的中断向量序列号10H左移 2位后成为 40H,IPTR=001H,则中断向量地址为 00C0H9.若辅助寄存器 AR0的值为 0x0005H,AR3 的值为 0x030FH,请分别给出下列寻址方式修改后的辅助寄存器的值。*AR3+ ; AR3=0310H*AR3+0 ; AR3=0314H
13、*AR3(15) ; AR3=0324H10.分别解释以下指令的功能。LD #80h, A; 把立即数 80H装入累加器 ALD 80h, A; 把 80H为地址的数据装如累加器 ALD #80h,16, A; 把立即数 80H左移 16位后装如累加器 A11.根据你的理解,试列举 DSP 芯片的特点?答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的 DSP指令;快速的指令周期;丰富的外设 12.TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什么?答:TMS320C55x DSP 采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总
14、线允许同时读取指令和操作数,实现高度的并行操作。采用各自分开的数据总线分别用于读数据和写数据,允许 CPU在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问程序指令和数据。 包括 12条总线,分别是:PAB 和 PB、BAB 和 BB、CAB 和 CB、DAB 和 DB、EAB和 EB、FAB 和 FB。功能:PB 总线主要用来传送取自程序存储器的指令代码和立即操作数。PB总线既可以将程序空间的操作数据(如系数表)送至数据空间的目标地址中,以实现数据移动,也可以将程序空间的操作数据传送乘法器和加法器中,以便执行乘法-累加操作。 13.DSP 为了降低功
15、耗采取了哪些措施?答:双电压供电;多种工作模式,C54x 有 4种省电方式,分别为闲置方式1、闲置方式 2、闲置方式 3和保持方式。 14.TMS320C55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多少?存储器空间的各自作用是什么?答:程序空间 16M Byte;I/O 空间 64K Words;数据空间8M Words 15.TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令答:1)立即寻址模式,例如: LD #F180,A ;将立即数 F180加载到 A;2)间接寻址模式,mov *AR0,AC0;3)绝对寻址模式,例如,将数据存储器 EXAM
16、1地址单元中的数据复制到 AR5寄存器所指向的数据存储单元中。MVKD EXAM1, * AR5;4)MMR 寻址模式,mov *abs16(AR2), T2;5)寄存器位寻址模式,btstp 30, AC1;6)堆栈寻址模式。PSHM AG;(SP)-1-SP,(AG)-TOS7)累加器寻址READA x;把 A的内容作为地址读程序存储器,并存入 x存储单元16.将 C源程序转换成可执行文件需要经过哪些步骤?(6 分)答:创建 C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件17.常用的 TMS320C55x汇编伪指令有哪些,它们的作用是什么?三、问答题C5
17、4x DSP的串行口有哪些类型?各有什么特点? 解:有标准同步串口 SP、缓冲同步串口 BSP、多路缓冲串口 McBSP、时分多路同步串口 TMD 四种。大学生试题及答案网。缓冲串口(BSP)是一个增强型的标准串口,它由一个全双工双缓冲串口和一个自动缓冲单元(ABU)组成。由于其中的串行口与标准串口的功能相同,因此在标准模式下,缓冲串口的操作与标准串口的工作方式是一样的。不过无论是标准模式还是自动缓冲模式,BSP 都提供了一些增强功能。主要包括了可编程控制的串口时钟、可选择时钟和帧同步信号的正负极性,能够以每帧 8位、10 位、12 位和16位传输数据。通过配置 BSP的控制寄存器,BSP 还
18、能实现忽略帧同步信号的数据传输。时分复用串行口 TDM采用时分复用技术,将多个外部器件复用与C54x 进行串行通信,每一个时隙对应于其中的 1路通信。TDM可以和外部的多个应用接口实现方便灵活的数据交换。C54x 最多可以和 8个外部器件接口通信。多通道缓冲串口(McBSP)是在缓冲串口的基础上发展起来的增强版。McBSP具有高速、全双工、可与各种总线标准的器件直接接口等特点,它为 DSP使用者在不同方面的应用提供了方便,尤其适合在通信领域的应用。四、阅读指令并填空1BANZ 2000h, *AR3-五、程序题写出计算(见下图框中的公式)的主要汇编程序,并给程序添加注释,画出程序的流程图。阳光大学生网解:程序及注释:.bss x, 20 ;给变量 x 分配 20 个字单元.bss y, 1 ;给变量 y 分配 1 个字单元STM #x, AR1 ;取 x 地址STM #19, AR2 ;设置循环次数LD #0, A ;累加器清零loop: ADD *AR1+, A ;累加 x 分量BANZ loop, *AR2- ;循环是否结束,没有结束则继续累加STL A, y ;把结果存入 y流程图: