3、DSP有哪几种分类方式,可将DSP芯片分成哪几类?答:DSP有三种分类方式:按基础特性分类、按数据格式分类和按用途分类。
按基础特性可分为静态DSP芯片和一致性DSP芯片;按数据格式可分为定点DSP芯片和浮点DSP芯片;按照用途可分为通用型DSP芯片和专用型DSP芯片。
7、冯·诺伊曼结构和哈佛结构的主要区别是什么?与前者相比,哈佛结构有何优势?答:1)主要区别:冯·诺伊曼结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线。
哈佛结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线。
2)哈佛结构优势哈佛结构可独立编址和访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,极大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
8、以四级流水线为例,介绍DSP所采用的流水线技术。
答:计算单元在执行一条多周期指令时,总要经过取指、译码、取数、执行、写结果等步骤,需要若干指令周期才能完成。
流水线技术是将各指令的各个步骤重叠起来执行,而不是一条指令完成后,才开始执行下一条指令。
即在每个指令周期内,几个不同的指令均处于激活状态,每个指令处于不同的阶段。
如下图所示,在第N个指令取指令时,前面一个即第N-1个指令正在译码,而第N-2个指令正在取操作数,第N-3个指令则正在执行指令。
使用流水线技术后,尽管每一条指令的执行仍然要经过这些步骤,需要同样的指令周期数,但将一个指令段综合起来看,其中每一条指令的执行都是在一个指令周期内完成的。
10、数字信号处理的实现方法有哪几种?答:1)在通用的微型计算机(PC机)上用软件(如VB、VC语言)实现。
2)在通用的计算机系统中加上专用的加速处理机实现。
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 IEEE1149.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)处理一个宏中的字符串;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命令。
此命令告诉链接器如何将输入段组合成输出段,以及将输出段在存储器中的什么位置。
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)间接寻址:利用辅助寄存器作为地址指针。
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,所有可屏蔽中断被禁止。