您好,欢迎访问三七文档
DSP技术试卷一1.说明C5402的内部总线结构?C5402有8组16位总线:组程序总线PB,3组数据总线CB、DB、EB和4组地址总线PAB、CAB、DAB、EAB.其中CB和DB总线用于传送从数据存储器读出的数据,而EB用来传送写入存储器的数据。2.什么是哈佛结构和冯.诺依曼结构?他们有什么区别?冯.诺依曼结构采用单存储空间,即程序指令和数据公用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行的。哈佛结构结构采用双存储空间,程序存储器和数据存储器分开有各自独立的程序总线和数据总线,可独立编址和独立访问.3.什么是流水线技术?每条指令通过片内多功能单元在任何一个机器周期内,可以有预取指、取指、译码、寻址、读数、执行多个不同的指令同时工作。最终实现串行的结构,并行的结果。4.C5402DSP可寻址存储空间(程序空间、数据空间、I/O空间)程序空间1M字数据空间、I/O空间64K5.C5402DSP的程序存储空间和数据存储空间的分配,他由什么决定?MP/MC决定微处理器微型计算机工作方式MP/MC=0,工作在微型计算机方式(允许使用片内ROM)MP/MC=1,工作在微处理器方式(不使用片内ROM)OVLY控制位用来决定程序存储空间是否使用内部RAMOVLY=0,片内双寻址数据RAM只能在数据空间寻址,不能在程序空间寻址,OVLY=1,可映射到程序和数据空间,DROM控制位用来决定数据存储空间是否使用内部ROMDROM=0,片内ROM不能映射到数据空间,DROM=1,一部分可以映射。6.外部程序存储空间的访问控制信号为PS、MSTRB、RW7.外部数据存储空间的访问控制信号为DS、MSTRB、RW。8.外部IO空间的访问控制信号为IOSTRB、IS和RW9.片内外设有哪些?★C5402片内外设有:通用I/O引脚、定时器、时钟发生器、主机接口HPI、串行通信接、软件可编程等待状态发生器、可编程分区转换逻辑。10.C5402流水线操有哪几个阶段?有何特点?★C5402流水线操作阶段有:预取指,取指,译码,寻址,读数,执行。★特点是:可以执行多个不同的指令同时工作,最终实现串行的结构,并行的结果。11.中断有哪些种类?C5402有哪些硬件中断?RS和NMI属于哪一类中断源?与中断设置相关的寄存器有哪4种?★硬件中断可以分为可屏蔽中断和不可屏蔽中断。其中13个可屏蔽中断为:外部中断INT3~INT0,串行口中断BRINT0、BXINT0、BRINT1、BXINT1,定时器中断TINT0、TINT1,DMA中断DMAC4、DMAC5,HPI中断(主机口中断)HPINT.★2个非屏蔽中断为:RS和NMI.★与中断相关的寄存器有:IFR、IMR、PMST(IPTR位)、ST1(INTM位)12改变中断向量表位置:1.中断向量表应设置成段,2.在链接命令文件中,段应指向相应的地址。3.IPTR应该指向设置的地方。13.状态寄存器0(ST0)ARP:辅助寄存器指针DP:数据存储器页指针。用来与指令中提供的7位地址结合形成1个16位数据存储器的地址。状寄存器1(ST1)XF:外部XF引脚状态控制位。用来控制XF通用外部输出引脚的状态。执行SSBXXF=1XF通用输出引脚为1;执行RSBXXF=0XF通用输出引脚为0。INTM:中断方式控制位;用于屏蔽或开放所有可屏蔽中断。INTM=0开放全部可屏蔽中断;INTM=1禁止所有可屏蔽中断。FRCT:小数方式控制位;用来确定乘法器的运算方式。FRCT=1乘法器的输出左移一位,消除多余的符号位。工作方式状态寄存器PMSTIPTR:中断向量指针MP/MC:CPU工作方式选择位OVLY:RAM重复占位标志DROM:数据ROM映射选择位14.C54x寻址方式:寻址方式用途(特点)举例指令含义立即寻址主要用于初始化LD#10,A立即数10→A绝对寻址利用16位地址寻址存储单元STLA,*(y)将AL内容存入y所在的存储单元累加器寻址将累加器中的内容作为地址READAx将A的内容作为地址读程序存储器,并存入x存储单元直接寻址利用数据页指针和堆栈指针寻址LD@x,A(DP+x的低7位地址)→ASSSSTTSSMMUULLCCLLKKOOFFFFDDRROOMMAAVVIISSOOVVLLYYMMPP//MMCCIIPPTTRR001122334455661155~~77间接寻址利用辅助寄存器作为地址指针LD*AR1,A((AR1))→A存储器映像寄存器寻址快速寻址存储器映像寄存器LDMST1,B(ST1)→B堆栈寻址压入/弹出数据存储器和存储器映像寄存器MMRPSHMAG(SP)-1→SP,(AG)→(SP)两种特殊寻址方式:循环寻址方式和位倒序寻址方式分别用于FIR滤波算法和FFT算法中。15已知(30H)=50H,AR2=40H,AR3=60H,AR4=80H.MVKD30H,*AR2;(40H)=50HMVDD*AR2,*AR3;(60H)=50HMVDM*AR3,AR4;AR4=50H运行以上程序后,(30H),(40H),*AR3和AR4的值分别等于多少?(30H)=50H(40H)=50H*AR3=50HAR4=50H16阅读以下程序,分别写出运行结果.bssx,4.dataTable:word4,8,16,32…STM#x,AR1RPT2MVPDtable,*AR1+答案.bssx,4.dataTable:word4,8,16,32…STM#x,AR1RPT2MVPDtable,*AR1+答案17.汇编语言程序的编辑、汇编和链接的过程★用文本编辑器编辑汇编语言程序生成.asm源文件;★再通过汇编器生成.obj目标文件;★最后在已有的.cmd链接命令文件和.map存储器映像文件的提供下,用链接器生成.out输出文件.★具体使用CCS的工程如下:(1)创建新的工程文件选择菜单“Project”的“New…”项,建立新工程文件exam.pjt(2)新建编辑源程序文件:选择菜单“File”的“New…”的“SourchFile…”项目,新建源程序文件,保存源程序文件为exam.asm。(3)编辑中断向量表文件vectors.asm。编辑链接命令文件exam.cmd。18.典型链接命令文件:Vectors.objexample.obj-oexample.out-mexample.map-estartMEMORY{PAGE0:EPROM:org=0E00H,len=100HVECS:org=0FF80H,len=80HPAGE1:SPRAM:org=0060H,len=20HDARAM:org=0080H,len=100H}SECTIONS{.text:EPROMPAGE0.data:EPROMPAGE0.bss:SPRAMPAGE1STACK:DARAMPAGE1.vectors:VECSPAGE019.IO电压为3.3V,核心电压为1.8V20.图8.4.2图21.图8.4.4图22.图8.5.4图23图8.5.13(三个图中选一个考)24.什么是CCS?其主要功能是什么操作过程?★CCS(CodeComposerStudio)是一种针对TMS320系列DSP的集成开发环境,它采用windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪于一体,是使用最为广泛的DSP开发环境之一。25.编程题只考两个:一个连加或乘加的基本运算,参考实验,还有一个是定时中断、AD、DA实验综合程序。十个数的连加求和程序如下:.titleexam2.asm.mmregsSTACK.usectSTACK,10H;堆栈的设置.bssx,10;为变量分配11个字的存储空间.bssy,1.defstart.datatable:.word11,12,4,6,5,1,9,14,7,5;x1,x2,x3,x4,x5.textstart:STM#0,SWWSR;插入0个等待状态STM#STACK+10H,sp;设置堆栈指针STM#x,AR1;AR1指向xRPT#9;下一条被重复执行10遍MVPDtable,*AR1+;把程序存储器中的数据传送到数据存储器LD#0,A;A清零CALLSUM;调用求和函数end:BendSUM:STM#x,AR3;AR3指向xSTM#9,AR2;AR2=9loop:ADD*AR3+,A;*AR3+A--A,然后AR3+BANZloop,*AR2;如果AR2的值不为0,则跳到loop处;否则执行下一条指令STLA,*(y);把A的低16位赋给变量yRET.end定时中断、AD、DA实验综合程序如下:(必考).mmregs.globalstart.globalTINT0_ISR;A/D访问地址AD_ADDR.set0x0000DA_ADDR.set0x0001.data;采样数据缓冲区.bssbuffer,1STACK.usectSTACK,10H;分配堆栈空间;================================================主程序:.text.align0x10start:STM#STACK+10H,SP;设堆栈指针SPSTM#0,CLKMDstatus:LDMCLKMD,AAND#01H,ABCstatus,ANEQSTM#03EFH,CLKMDLDMPMST,AAND#7FH,AOR#0080H,ASTLMA,PMST;====================================================;初始化定时器0PERIOD.set9;定义计数周期STM#10H,TCR;停止计数器0STM#PERIOD,PRD;设定计数周期STM#29H,TCR;开始Timer0stm#0008h,IMR;允许Timer0中断STM#0008h,IFR;清除挂起的中断RSBXINTM;开中断end:nopBend;================================================;Timer0中断服务程序:TIN0_ISR中断服务程序:;================================================TINT0_ISR:PSHMST0;本中断程序影响TC,位于ST0中PSHMAR1STM#buffer,AR1PORTR#AD_ADDR,*AR1nop;FIRfilterPORTW*AR1,#DA_ADDRPOPMAR1POPMST0RETE.end26.关键是看懂那个程序,填写出A和T中的最后结果,EXPA语句理解过程:数出多余的符号位(7个F就是28个符号位,再加上后面的8的一个,总共29个符号位)多余的符号位为28,再减去8=20,最后化成十六进制为0014,放在T寄存器中。NORMA语句理解过程:把原先A的数据移位(T寄存器中为正就左移,负就右移),所以左移20位最后为FF80000000.EXPANORMA题型:1.填空:主要是DSP基本知识(20分)2.简答题(20分)3.读程序写结果(10分)4.编程(20分)5.画图题接口电路图(10分)6.综合题:接口与编程(20分)
本文标题:DSP技术试卷一
链接地址:https://www.777doc.com/doc-2871106 .html