- 114.07 KB
- 2022-07-29 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第一章一、习题1.1什么是数字信号处理器(DSP)?答:DSP是专为实时数字信号处理而设计的大规模集成可编程微处理器。1.2哈佛总线结构和冯■诺依曼总线结构的区别是什么?答:哈佛总线结构:程序存储器和数据存储器分开,有多条独立的程序总线和数据总线,它们可同时对程序和数据进行寻址和读写,使指令的执行和对数据的访问能够并行进行,使CPU的运行速度和处理能力都得以大幅度提高。冯•诺依曼结构:这种结构小只含一条内部地址总线和数据总线,当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。1.3改进型的哈佛总线结构有哪些改进之处?答:vl>片内RAM可以映像至数据空间,也可以映像至程序空间。<2>片内ROM可以映像至程序空间,也可以映像至数据空间。<3>具有根装载功能,允许将片外的指令代码调至片内数据存储器,供CPU零等待运行。1.9DSP的主要用途是什么?答:主要用于工业控制、汽车电子、仪器仪表、军事、医疗、通信等。二、其他1.TMS32O系列DSP可分为:C2000(16位/32位定点DSP,主耍运用控制领域,如点击)、C5000(16位定点DSP,用于高性能、低功耗的中高档应用场合,如便携移动设备)、C6000(32位DSP,高性能,如适合宽带网络和数字音响)系列。弟一早一、习题2.1TMS320C54xDSP有那些部分组成?答:主要由C54xCPU内核、片内存储器和片内外设三大部分组成。2.2TMS320C54xDSP的CPU包含那些主要功能部件?他们各完成什么任务?答:其CPU主耍由:<1>40位的算术逻辑单元v2>2个40位的累加器v3>桶形移位器<4>乘法■累加器单元<5>比较、选择和存储单元v6>指数编码器<7>CPU状态和控制寄存器2.4填写下列括号。(1)片内32位长数据的读使用(数据)总线,其中,高16位数据的寻址和读取使用(CAB和CB)总线,低16位数据的寻址和读取使用(DAB和DB)总线。(2)CPU使用(PAB)总线去寻址程序存储器的地址,使用(PB)总线去读取指令代码。(3)在双数据的读操作中,对Xmem的寻址和读取使用(DAB和DB)总线,对Ymem的寻址和读取使用(CAB和CB)总线。2.5累加器A和B的保护位AG和BG的作用是什么?答:其保护位的作用是用作计算时的数据余量位,以防止溢出。2.15引脚MP/E与PMST世勺标志位MP/MCZ间有辱连系?他们世作用是什么?答:上MST中的标志位MP/応复位值取决于引脚MP用的状态;MP/MC^O,微计算机模式,可使用片内ROM,MP/MC^l,微处理器模式,禁止使用片内ROMo2.17上电复位后,第一条程序指令所在的地址是(FF80h)。\n2.18设IPTR二00000011lb,则外部用户中断1INT1的屮断入口地址是(034Ch);内部定时器TINTO的中断入口地址是(03CCh)o2.19要将中断矢量表移至程序存储器0080h开始的位置,应该怎样设置IPTR?答:应在初始化程序中,设置IPTR的值为OOlho2.20当INTM二0,(IMR)二0087h是,试问哪些中断在发出中断请求时,能够得到CPU的响应?其中哪个中断的优先级最高?答:xint2、Into、inti、int2能够得到响应,其中into的优先级最高。二、其他1、C54X的存储器空间分为三个独立的空间:程序空间、数据空间和1/0空间。存储容量分别为:(1)程序存储器基本空间64K字,最大可扩展至8M字(2)数据存储器空间64K字(3)I/O空间64K字2、C54x的片内存储器结构有下列特点:⑴片内RAM分为:双口DARAM在单周期内CPU可对具读写访问两次;单口SARAM在单周期内CPU只能对其访问一次。(2)DSP的片内RAM和ROM可以映像至程序空间,也可以映像至数据空间。(3)片内存储器与CPU同速运行,不需要插入等待状态,且比外部存储器功耗小、成本低。3、中断的分类答:(1)根据C54x中断巾请源的不同,可将中断划分为软件中断和硬件中断(2)从屏蔽的角度来看,可将中断划分为可屏蔽中断和非可屏蔽中断。4、形成一个中断矢量地址的方法是:有IPTR给出高9位地址,地址偏移量为低7位地址,两者组合成一个16位的地址,即为某个中断的入口地址。例如:设IPTR=00h,则定时器0的中断(TINT0的地址偏移量为4Ch)矢量地址为OOCCh,计算方法:TINTO的屮断向量地址5、非屏蔽中断或软件中的处理过程答:(1)产生一个而T中断应答信号(2)将INTM位置1,屏蔽其他可屏蔽中断(TRAPK指令除外)(3)保存当前PC值,以便屮断结束后返回主程序(4)CPU进入相应中断服务程序ISR,执行ISR(5)在ISR结束位置有一条返回指令,执行返回指令把返回地址从堆栈中弹给PC(6)CPU继续执行主程序6、可屏蔽屮断的处理过程答:如果INTM二0、IMR的相应位为1、当前的中断优先级最高都为真,则CPU响应这个中断,进行下列的处理:(1)INTM位被置1,屏蔽其他可屏蔽中断(2)CPU开始对屮断矢量表的相应位寻址(3)当取出屮断矢量的第一个指令字后,DSP产生一个屮断应答信号IACK,并将IFR相应位清零(4)保存当前PC值(5)CPU进入相应中断服务程序ISR,执行ISR(6)在ISR结束位置有一条返冋指令,执行返冋指令把返冋地址从堆栈中弹给PC\n(7)CPU继续执行主程序弟二早一、习题3.2宜接寻址有两种方式,他们是如何控制的?当SP二OlOOh,DP=2,偏移地址为50h时,分别寻址的是哪个存储空间的哪个地址单元?答:(1)直接寻址有DP和SP两种方式。当CPL=0时,以数据页指针寄存器DP的9位为高位,以指令中的7位(dmad)为低位,共同构成16位数据存储单元的地址。当CPL=1时,将堆栈指针SP的16位地址与指令中的7位地址相加,形成16位的数据存储器地址。(2)当SP=OlOOh,偏移地址为50h时,寻址第0页60h单元;当DP二2,偏移地址为50h时,寻址第2页,50h单元。(P66)3.3试叙述循环寻址和位倒叙寻址的特点和他们在数字信号处理算法中的作用。答:1.特点:循环寻址:可以和任意一种间接寻址模式一起使用。位倒序寻址:在这种寻址方式中,由左向右进行运算并产生进位,而不是从右向左2.作用:循环寻址:可以节省存储空间,并提高运算速度位倒序寻址:可以有效地提高FFT算法的运算速度。(P69)3.4堆栈寻址的作用是什么?压栈和弹出操作是如何实现的?答:堆栈寻址用于进行数据或者MMR的入栈和出栈操作。执行压栈操作时,先减小SP后再将数据压入堆栈,而执行弹栈操作时,则是先从堆栈弹岀数据,然后再增加SP的值。(P72)3.5绝对地址寻址有哪儿种?它们可以访问哪些地址空间?各有什么特点?答:绝对地址寻址有4种方式,分别是:数据存储器(dmad)寻址,程序存储器(pmad)寻址,I/O端口(PA)寻址和*(lk)寻址。其中dmad寻址用于确定操作数存于数据存储单元的地址。Pmad寻址用于确定程序存储器屮的一个地址。PA寻址是用一个符号或一个数字来确定外部I/O端口的地址。*(lk)寻址是使用一个指定数据空间的地址来确定数据存储器屮的一个地址。(P64)3.9在数据存储器中开辟一段循环缓冲区,缓冲区大小为100,采用AR1做地址指针,设步长Step=4。试写出缓冲区首地址和缓冲区长度寄存器的内容,并简述该循环缓冲区的循环寻址工作原理。答:因为2人7>100,所以N=7,取基地址EFB的低7位为7个0,所以缓冲区首地址可以为lOOOh,缓冲区长度寄存器BK为100。在初始化编程屮将1000->BK,1000h->ARl,此时index=Oo当index变化到index=96,再做index+step使就会使index等于Bk里的值100,因此应该进行index=index+step-BK的操作,使得index=O,也就是使ARl=1000h,乂冋到首地址的位置,从而形成了循环寻址。(P70)二、其他1.C54x指令集包括:汇编语言指令、汇编伪指令和宏指令。2.指令屮的符号、缩写及操作符符号意义符号意义A累加器AB累加器BALU算术逻辑运算单元DABD地址总线dst冃的累加器(A或B)Src源累加器Dmem数据存储器操作数Pmem程序存储器操作数DPSTO中的9位数据存储器页指针SP堆栈指针RC重复计数器PC程序计数器IFR中断标志寄存器PA16位立即数表示的端口地址INTMST1的中断屏蔽位lk16位长立即数\n3.C54X寻址方式共冇7种,如下所示寻址方式川途举例指令含义立即寻址上耍用丁初始化LD#10,A将立即数10传送至累加器A绝对寻址利用16位地址寻址存储单元STLA,*(y)将累加器的低16位存放到变量y所在的存储单元中累加器寻址把累加器的内容作为地址READAx按累加器A作为地址读程序存储器,并存入变量X所在的数据存储单元直接寻址利用数据页指针和堆栈指针寻址LD@x,A(DP+x的低7位地址)一aA间接"址利用辅助寄存器作为地址指针LD*AR1,A((ARI))—>A存储器映像寄存器寻址快速寻址存储器映像寄存器LDMSTI,B(STI)►B堆栈寻址压入/弹出数据存储器和MMRPSHMAGSP-l->SP,(AG)—>TOS4.直接寻址是指利用指令小的地址偏移量dma与数据页指针DP或堆栈指针SP组合,找到数据空间小的一个16位地址的方式。5.使用绝对寻址指令吋耍注意下列两个问题(1)由于绝对地址的长度为16位,I大I此,该类指令至少为两个字长,指令周期也相对较长。(2)有些采用绝对寻址的指令不能与单循环指令RPT、RPTZ配合使用,女口*(lk)寻址。6.C54X中断可分为可屏蔽中断和非屏蔽中断。所有的软件中断都是非屏蔽的。第四章一、习题1.在DSP编程屮可采用C语言或汇编语言编程,两种编程方法各有什么优缺点?答:汇编语言:优点:汇编语言的代码执行效率高、运行速度快,可以直接対寄存器进行操作,充分发挥了DSP控制器的硬件性能;缺点:开发的工作量大,程序可读性、移植性差。C语言:优点:C语言可读性强、编程简单、调试方便,适合编写结构和算法比较复杂的程序缺点:C语言代码冇冗余,降低了执行效率;C语言无法实现某些底层的操作。2.什么是COFF文件格式?它的特点是什么?答:COFF是公共目标文件格式(CommonObjectFileFormat)这是汇编器和链接器建立的目标文件的文件格式。COFF111最重要的一个概念是段,一个段就是最终在存储器映象屮占据连续空间的一个数据或代码块。分段的优点:在1=1标文件中将程序、数据、变量的代码分开放置,便于在链接时作为一个单独的部分分配存储器。由于大多数系统都有好儿种形式的存储器,通过对各个段重新定位,可以使用权H标存储器得到更为有效的利用。3.已初始化段和未初始化段的含义是什么?使用哪些伪指令來定义段?答:未初始化段包含程序代码、常数表格和数据。已初始化段是为变量在数据存储器屮保附空间的;未初始化段定义伪指令冇・bss和・usect指令;已初始化的段定义伪指令冇.text、.data、.sect指令。4.说明.text段、.data段、・bss段、.sect段>.usect段通常包含什么内容°答:.text段通常包含可执行代码;.data段内含己初始化的数据和常数表格;.bss段小保留存储器空间,通常使用在RAM空|T-iJ;.sect内含代码和数据;・usect段在白定义的段中保留空间。5.宏定义、宏调用和宏展开分别指的是什么?答:宏定义:在调用宏之前,必须先定义宏。可以在源程序的任何位置定义宏,宏定义的所有内容必须包含在同一个文件中。宏调用:在定义宏Z后,可在源程序中使用宏名进行宏调用。\n宏扩展:在调用宏指令时,汇编器将变量传递给宏参数,按宏定义収代宏调用语句,然后再对源代码进行汇编。二、其他1.汇编语言的格式答:[标号][:J助记符[操作数字段][:注释]所有语句必须以一个标号、空格、星号或分号开始。特别要注意的是:标号可有可无,如果有标号,必须将标号放在第一列开始;不得从第一列开始写助记符;每个字段Z间必须用一个或多个空格隔开;一行源语句的字符长度不能超过200个,若超过,则汇编器将H行截断并发出一个警告;所有包含汇编伪指令的语句必须在一行内写完;注释可有可无,从第一列开始的注释前面需用星号或分号,其他列开始的注释前面必须以分号开头。第五章一、其他l.C54xC与ANSIC的不同点(1)所处理数据的性质不同(2)数据的输入输出设备不同(3)“死循环”的对待上不同(4)语法及数据结构细节上的不同其他1.DSP芯片的特点:哈佛结构:将程序空间和数据空间分开,可同时取指令和取操作数;多总线结构:一个机器周期可以多次访问程序空间和数据空间,其内部有P、C、D、E4个总线;流水线结构:DSP执行一条指令需要取指、译码、取操作数和执行等几个阶段;多处理单元:算术逻辑运算单元、辅助寄存器、累加器、硬件乘法器等;特殊的DSP指令、指令周期短、运算精度高、硬件配置强。2.C54XCPU有3个状态寄存器:状态寄存器0(ST0)、状态寄存器1(ST1)、处理工作方式状态寄存器(PMST)。3.C54X有3中重复操作指令:RPT(重复下条指令)、RPTZ(累加器清0并重复下一条指令)、RPTB(块重复指令)。4.DSP的狭义理解为数字信号处理器,广义理解为数字信号处理方法°5.在宜接寻址屮,指令代码包含了数据存储器地址的低7位。当ST1屮肓接寻址编辑方式位CPL=()时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位CPL=1时,加上SP基地址形成数据存储器地址。6.累加器又叫做日的寄存器,它的作用是存放从ALU或乘法器/加法器单元输出的数据。它的存放格式为39〜32保护位31-16高阶位15〜0低阶位7.复位电路有三种方式,分别是_上电复位;于动复位;软件复位。2.立即数寻址指令中在数字或符号常数前面加一个#号,來表示立即数。3.位倒序寻址方式中,AR0小存放的是一FFT点数的-半。4.—•般,COFF目标文件中包含三个缺省的段:.text段:.data段和.bss段。5.汇编源程序中标号可选,若使用标号,则标号必须从第一列开始;程序中可以有注释,注释在第一列开始时前而需标上星号或\n分号,但在其它列开始的注释前面只能标分号。2.DSP芯片按照其用途分类,可以分为通用型和々用型两种。3.TMS320C54XDSP的内部总线主要包括程序总线、数据总线和地址总线°\n1、对于TMS320C54x系列DSP芯片,下列说法正确的是(C)(A)专用型DSP(B)32位DSP(C)定点型DSP(D)浮点型DSP且中断屏蔽寄存器IMR相应位置0且屮断屏蔽寄存器IMR相应位置1且中断屏蔽寄存器IMR相应位置0中断屏蔽寄存器IMR相应位置12、要使DSP能够响应某个可屏蔽中断,下面的说法疋确的是(B)A.需要把状态寄存器ST1的INTM位置1,B.需要把状态寄存器STI的INTM位宜I,C.需要把状态寄存器ST1的INTM位置0,D.需要把状态寄存器ST1的INTM位置0,3、若链接器命令文件的MEMORY部分如卜•所示:PAGE0:PROG:PAGE1:DATA:MEMORYorigin=C00h,length=lOOOhorigin=80h,length=200h则下而说法不正确的是(A)A、程序存储器配置为4K字大小C、数据存储器配置为512字人小B、程序存储器配置为8K字大小D、数据存储器取名为DATA5、C54XDSP的流水线是由(B)级(也即是由多少个操作阶段)组成。(A)4(B)6(C)8(D)106、假定AR3中当前值为2()()h,AR0屮的值为2()h,下面说法正确的是()A、在执行指令*AR3+0B后,AR3的值是200h;B、在执行指令*AR3-0B后,AR3的值为23Fh;C、在执行指令*AR3・0B后,AR3的值是180h;7、下面对一些常用的伪指令说法正确的是:(D)A>.def所定义的符号,是在当丽模块中使用,而在别的模块中定义的符号;B、.ref所定义的符号,是当前模块中定义,并可在别的模块小使用的符号;C、.sect命令定义的段是未初始化的段;D>.usect命令定义的段是未初始化的段。8、在采用双操作数的间接寻址方式时,要使用到一些辅助寄存器,在此种寻址方式下,下而的那些辅助寄存器如果使用到了是非法的(D)A、AR2B、AR4C、AR5D、AR61.TMS320C54X有多少条16位总线?这些总线各有什么作用?答:C54x共有4组8条16位总线1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器屮的数据。4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。