当前位置:文档之家› DSP复习资料

DSP复习资料

第 3 页 共 ( 8 ) 页
10、链接命令文件主要内容是什么? 答:链接器命令文件主要包含如下内容: (1)输入文件名,就是要链接的目标文件和文档库文件,或者是其它的命令文件。如果要 调用另一个命令文件作为输入文件, 此句一定要放在本命令文件的最后, 因为链接器不能从 新调用的命令文件返回。 (2)链接器选项。这些选项既可以用在链接器命令行,也可以编在命令文件中。它们在命 令文件中的使用方法与在命令行中相同。 (3)MEMORY 和 SECTIONS 都是链接器命令,用来指定目标存储器结构和地址分配。如 果链接命令文件中没有 MEMORY 和 SECTIONS 命令 (默认情况) , 则链接器就从地址 0080h 一个段接着一个段进行配置。 12、简述混合编程的三种主要方法。 答:(l)独立编写 C 程序和汇编程序,分开编译或汇编形成各自的目标代码模块,然后用 链接器将 C 模块和汇编模块链接起来 (2)在 C 语言程序中使用汇编程序的变量和常数及函数 (3)直接在 C 语言程序的相应位置嵌入汇编语句。 1、简述汇编语句有哪两种格式。 答:汇编语句有两种格式,一种是常见的助记符格式,另一种是代数指令格式。 1)助记符格式 [标号] [ :] 操作码助记符 [操作数列表] [;注释] 2)代数指令格式 [标号] [ :] 代数指令 [;注释] 4、如何确定操作数是地址还是立即数或间接地址? 答:汇编器允许在操作数前使用前缀来指定操作数(常数、符号或表达式)是地址还是立即 数或间接地址。 1)前缀#。操作数作为立即数。即使操作数是寄存器或地址,也当作立即数处理。此 时,汇编器将地址处理为一个值,而不当做地址处理。 2)前缀*。操作数作为间接地址。汇编器将此操作数作为间接地址对待,它将操作数中 的内容作为地址; 3)前缀@。表示其后的操作数是采用直接寻址或绝对地址寻址的地址。在代数指令中 不能省略,但是在助记符指令中可以省略。 2、TMS320C5000 提供了哪几种数据寻址模式? 答:C5000 共有 7 种有效的数据寻址方式。 1)立即寻址:指令中嵌有固定的数,主要用于初始化。 2)绝对寻址:利用 16 位地址寻址存储单元。 3)累加器寻址:把累加器的内容作为地址。 4)直接寻址:利用数据存储器页指针和堆栈指针寻址。 5)间接寻址:利用辅助寄存器作为地址指针。
第 2 页 共 ( 8 ) 页
5)控制宏扩展列表。 使用一个宏分 3 个过程:定义宏、调用宏和扩展宏。 5、什么是段,段的作用是什么? 答:所谓段,是指连续的占有存储空间的一个数据或代码块。 汇编语言源程序按段组织, 每行汇编语句都从属于一个段, 并由段汇编伪指令表明该段的属 性。一个目标文件中的每一个段都是分开的和各不相同的。段(Sections)是 COFF 格式目 标文件中最重要的概念,也是目标文件中的最小单位。每个目标文件都分成若干个段。 6、汇编程序中,系统默认段有哪些?各段的具体作用是什么? 答:所有的 COFF 格式目标文件都至少包含以下 3 种形式的默认段: .text 段 通常包含可执行代码; .data 段 通常包含初始化数据; .bss 段 通常为未初始化变量保留存储空间。 7、自定义段、子段的含义是什么,如何编写和定义? 答:自定义段也叫做命名段,是由.sect 和.usect 命令建立,需要自己定义段名的段。它们除 了被分开汇编外,其它方面和默认的.text、.data 和.bss 段在使用上相同。另外,不能用不同 的伪指令处理名字相同的段。 子段是大段中的小段。子段可以通过.sect 和.usect 伪指令产生。子段命名的句法为: 基段名: 子段名 当汇编器在基段名后面发现冒号, 则紧跟其后的段名就是子段名。 子段的定位方法和段 相同,既可以单独为其分配存储单元,也可以在相同的基段名下与其他段组合在一起。子段 也有 2 种类型:用.sect 命令建立的初始化段和用.usect 命令建立的段是未初始化段。 8、汇编器对段是如何处理的? 答: 汇编器的任务是在汇编过程中, 根据汇编命令用适当的段将各部分程序代码和数据连在 一起,构成目标文件。汇编器对段的处理功能主要是根据段名,确定汇编语言程序中的各部 分属于哪个特定的段,最终形成几个独立的段。其功能包含两层含义: (1)相同段名放在连续空间; (2)不同段名各自独立。 9、链接器对段是如何处理的? 答:链接器在处理段的时候,有如下两个主要任务: 1)把一个或多个 COFF 目标文件(.obj 文件)中的各种段作为链接器的输入段,经链接后 在一个可执行的 COFF 输出模块中建立各个输出段。 2) 在程序装入时对其重新定位,为各个输出段选定存储器地址。 为完成如上任务,链接器提供了两条命令支持,即: 1)MEMORY 命令。此条命令用来定义目标系统的存储器配置空间,包括对存储器各部 分命名,以及规定它们的起始地址和长度; 2)SECTIONS 命令。此命令告诉链接器如何将输入段组合成输出段,以及将输出段在 存储器中的什么位置。
第 4 页 共 ( 8 ) 页
6)存储器映像寄存器寻址:修改映射像存器中的值,不影响当前数据存储器页指针和 堆栈指针的值。 7)堆栈寻址:用来管理系统堆栈中的操作,即把数据压入和弹出系统堆栈。由标号域、 操作码助记符域、操作数域和注释域组成。 3、什么是立即寻址,什么是绝对寻址,二者的区别是什么? 答:所谓立即寻址,就是指令中包含了立即操作数,操作数紧随操作码存放在程序存储器中 的寻址方式。 如果指令中包含的是寻找操作数的 16 位单元地址,那么称这种寻址方式为绝对寻址。 二者区别是: 立即寻址的操作数随操作码存放在程序存储器中, 故在执行时没有寻找数 据地址的过程,因此运行速度快,而绝对寻址需要根据操作数地址来寻址操作数,故运行速 度慢;立即寻址的操作数需要占用程序存储空间,而绝对寻址则不需要;立即寻址的操作数 不能改变,常用于表示常数和初始化寄存器,而绝对寻址的操作数可以任意改变,常用于非 实时的场合。 5、什么是直接寻址,直接寻址如何形成 16 位数据单元地址? 答:直接寻址就是利用数据页指针 DP 或堆栈指针 SP 寻址。 CPL=0 时,处理器将 DP 的 9 位基地址与指令中的 7 位偏移地址连接起来,形成 16 位 的数据存储空间存储单元的地址。 CPL=1 时,选择 SP 的 16 位基地址加上指令中的 7 位偏移地址,形成 16 位的数据存 储空间存储单元的地址。 6、什么是间接寻址,间接寻址有哪些句法? 答:间接寻址就是利用辅助寄存器(AR0~AR7)作为地址指针进行寻址。间接寻址可 分为单操作数间接寻址和双操作数间接寻址 11、C54x 的中断分为哪几类? 答:总体来说,C54x 中断可以分成可屏蔽中断和非屏蔽中断两大类。 第一类:可屏蔽中断。这些都是可以用软件来屏蔽或开放的中断。 第二类:非屏蔽中断。这些中断是不能够屏蔽的。C54x 对这一类中断总是响应的,并 及时从主程序转移到中断服务程序。C54x 的非屏蔽中断包括所有的软件中断以及两个外部 硬件中断 RS (复位)和 NMI (也可以用软件进行 RS 和 NMI 中断)。 12、C54x 的可屏蔽中断如何实现中断屏蔽与解屏蔽? 答:1)中断屏蔽: ST1 寄存器中的 INTM=l,所有可屏蔽中断被禁止。 2)中断开放:(以下两个条件需要同时满足) (1)ST1 寄存器中的 INTM =0,所有可屏蔽中断开放; (2)当中断屏蔽寄存器(IMR)的任何一位为 l 就会开放相应的中断。 13、C54x 的中断向量地址如何形成?
第 1 页 共 ( 8 ) 页
3)用单片机(如 MCS-51、96 系列等)实现。 4)用 FPGA 等产品实现数字信号处理算法。 5)用通用的可编程 DSP 芯片实现。 5、CCS 开发环境提供了哪些图形显示功能,如何使用? 答:CCS 可以提供 4 类图形显示,即时域/频域图、星座图、眼图和图像显示。 在 CCS 菜单栏中选择 View→Graph 命令,弹出一个图形类型选择级联菜单,选择图像 显示类型并输入相关信息即可使用。 1、简述 DSP 程序调试的三种常用方法。 答:1)利用软件仿真器进行调试。 这种方式不需要目标硬件,只需在 PC 机上就可以运行。它可以仿真 C54x DSP 芯片包 括中断以及输入/输出在内的各种功能,从而可以在非实时条件下完成对用户程序的调试。 2)利用硬件仿真器进行调试。 这种方式需要用户提供带 C54x DSP 芯片的系统级目标板。C54x 的硬件扫描仿真器采 用 JTAG IEEE 1149.1 标准,仿真插头共有 14 个引脚,扫描仿真器通过仿真头将 PC 机中的 用户程序代码下载到目标系统的存储器中, 并在目标系统内实时运行, 这给程序调试带来了 很大的方便。 3)利用评价模块进行调试 C54x 评价模块(EVM 板)是一种带有 DSP 芯片的 PC 机 ISA 插卡。卡上还配置有一 定数量的硬件资源,用户建立的程序,可以在 EVM 板上运行。通过运行,可以评价 DSP 芯片的性能,以确定 DSP 芯片是否满足应用要求。 2、简述汇编伪指令的种类和作用。 答:汇编伪指令是汇编语言程序的一个重要组成部分,一个汇编语言程序中,可能包含多种 汇编伪指令,其作用是为程序提供数据,并且控制汇编的过程。根据其功能可分为如下 8 种伪指令: 1)段定义伪指令; 2)常数初始化伪指令; 3)段程序计数器(SPC)定位伪指令; 4)输出列表格式伪指令; 5)引用其他文件的伪指令; 6)条件汇编伪指令; 7)汇编时符号定义伪指令; 8)其他汇编伪指令。 3、简述汇编宏指令的功能以及使用宏的过程。 答:编译器支持宏语言,允许用户利用宏来创建自己的指令。宏语言的主要功能包括: 1)定义自己的宏和重新定义已存在的宏; 2)简化较长的或较复杂的汇编代码; 3)访问归档器创建的宏库; 4)处理一个宏中的字符串;
使用流水线技术后, 尽管每一条指令的执行仍然要经过这些步骤, 需要同样的指令周期 数,但将一个指令段综合起来看,其中每一条指令的执行都是在一个指令周期内完成的。 10、数字信号处理的实现方法有哪几种? 答:1)在通用的微型计算机(PC 机)上用软件(如 VB、VC 语言)实现。 2)在通用的计算机系统中加上专用的加速处理机实现。
3、DSP 有哪几种分类方式,可将 DSP 芯片分成哪几类? 答:DSP 有三种分类方式:按基础特性分类、按数据格式分类和按用途分类。 按基础特性可分为静态 DSP 芯片和一致性 DSP 芯片; 按数据格式可分为定点 DSP 芯片和浮点 DSP 芯片; 按照用途可分为通用型 DSP 芯片和专用型 DSP 芯片。 7、冯·诺伊曼结构和哈佛结构的主要区别是什么?与前者相比,哈佛结构有何优势? 答:1)主要区别: 冯·诺伊曼结构采用单存储空间, 即程序指令和数据共用一个存储空间, 使用单一的地 址和数据总线。 哈佛结构采用双存储空间, 程序存储器和数据存储器分开, 有各自独立的程序总线和数 据总线。 2)哈佛结构优势 哈佛结构可独立编址和访问,可对程序和数据进行独立传输,使取指令操作、指令执行 操作、数据吞吐并行完成,极大地提高了数据处理能力和指令的执行速度,非常适合于实时 的数字信号处理。 8、以四级流水线为例,介绍 DSP 所采用的流水线技术。 答:计算单元在执行一条多周期指令时,总要经过取指、译码、取数、执行、写结果等步骤, 需要若干指令周期才能完成。 流水线技术是将各指令的各个步骤重叠起来执行, 而不是一条指令完成后, 才开始执行 下一条指令。即在每个指令周期内,几个不同的指令均处于激活状态,每个指令处于不同的 阶段。如下图所示,在第 N 个指令取指令时,前面一个即第 N-1 个指令正在译码,而第 N-2 个指令正在取操作数,第 N-3 个指令则正在执行指令。
相关主题