《最新DSP原理及应用考试要点[详述]解析.doc》由会员分享,可在线阅读,更多相关《最新DSP原理及应用考试要点[详述]解析.doc(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateDSP原理及应用考试要点详述解析DSP原理及应用考试要点详述解析CHAP11 冯、诺依曼结构和哈佛结构的特点 冯、诺依曼结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。 哈佛结构该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线。 改进哈佛结构采用双存储空间和数条总
2、线,即一个程序总线和多条数据总线。2 DSP芯片的特点(数据密集型应用) 采用哈佛结构 采用多总线结构 配有专用硬件乘法-累加器 快速指令周期 采用流水线技术 具有特殊的DSP指令 硬件配置强3 定点DSP芯片和浮点DSP芯片的区别及应用特点 定点DSP芯片,数据以定点格式工作的 精度和范围是不能同时兼顾的。定点DSP是主流产品,成本低,对存储器要求低、耗电少,开发相对容易,但设计中必须考虑溢出问题。用在精度要求不太高的场合。 浮点DSP芯片,数据以浮点格式工作 精度高、动态范围大,产品相对较少,复杂成本高。但不必考虑溢出的问题。用在精度要求较高的场合。4 定点DSP的表示(Qm.n,精度和范
3、围与m、n的关系)及其格式转换整数表示法 :最高位是符号位,0代表正数,1代表负数 其余位以二进制的补码形式表示数值。小数表示法:最高位是符号位,0代表正数,1代表负数 其余位以二进制的补码形式表示数值,小数点在Dn1位。16位TMS320C54X是采用的是小数点在D15位数的定标:对定点数而言,数值范围与精度是一对矛盾 n越大,数值范围越小,但精度越高;相反,n越小,数值范围越大,但精度就越低。定点格式数据的转换十进制转换成Qm.n形式:先将数乘以 2n变成整数,再将整数转换成相应的Qm.n形式。不同Qm.n形式之间的转换:即n大的数据格式向n小的数据格式转换。5 TI公司的三大主力系列DS
4、P芯片特点及应用领域C2000系列,定位于控制类和运算量较小的运用,应用于各种工业控制领域。C5000系列,低功耗高性能,定位于中等计算量的应用。主要用于便携式的通信终端。C6000系列,定位于具有较大计算量要求的应用,主要应用于高速宽带和图像处理等高端应用。6 DSP芯片的运算速度TMS320LC549-80在主频为80MHz时的指令周期为12.5ns,一个指令周期内完成一次乘法和加法操作,其MAC时间就是12.5ns,处理能力为80 MIPS。CHAP21 TMS320C54x芯片的组成(三部分,相同系列不同芯片之间的区别和联系) CPU、片内存储器和片内外设 同系列不同型号片内存储器和片
5、内外设不同2 DSP芯片的电源引脚、DSP芯片的控制引脚电源引脚 CVdd,电压+1.8V,为CPU内核提供专用电源 DVdd,电压+3.3V,为各I/O引脚提供的电源 Vss,接地控制引脚引脚名称引脚序号功能说明MSTRB*24外部存储器选通信号,总开关。RS*98复位引脚,低电平有效。在正常工作情况下,此引脚至少保持2个CLKOUT周期的低电平PS*20外部程序存储器DS*21数据存储器IS*22I/O空间选择信号3 TMS320C54X芯片的总线组成情况,以及各总线的功能 1组程序总线PB传送取自程序存储器的指令代码和立即操作数。 3组数据总线CB(HW)、DB(LW)用来传送从数据存储
6、器读出的数据;EB 用来传送写入存储器的数据。 4组地址总线PAB、CAB、DAB、EAB用来提供执行指令所需的地址4 算术逻辑单元ALU对输入数据的符号扩展及运算结果的溢出处理符号扩展溢出处理(发生溢出时) 若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器 若OVM=1,则对ALU的运行结果进行调整。 当正向溢出时,将32位最大正数00 7FFF FFFFH装入累加器; 当负向溢出时,将32位最小负数FF 8000 0000H装入累加器。 状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1。5 累加器A、B的组成、两个累加器的区别、累加器内容的保存(移位、保存)
7、累加器A和B的区别是 AH可以用作乘法器的一个输入,使用MPYA指令。 只能使用累加器A寻址程序空间。带移位的累加器存储操作 移位操作是在存储累加器内容的过程中同时完成的 移位操作是在移位寄存器中完成的,累加器的内容保持不变6 桶形移位器的作用、移位数的形式、MAC单元的特点作用 40位桶形移位寄存器主要用于累加器或数据区操作数的定标移位数有3种形式 立即数,取值范围:-16 15. 状态寄存器ST1中的移位方式位ASM,花计5位,取值范围:-16 15. 数据暂存器T中的低6位数值,取值范围:-16 31.特点 MAC单元具有强大的乘法-累加运算功能,可在一个流水线周期内完成1次乘法运算和1
8、次加法运算7 CPU的3个状态和控制寄存器(主要位的作用及设置)这些寄存器都是存储器映像寄存器,位于数据存储器空间的第0页,访问速度最快。1) 状态寄存器0(ST0)主要反映处理器的寻址要求和计算机的中间运行状态2) 状态寄存器1 (ST1)主要用于反映处理器的寻址要求、设置计算的初始状态、I/O及中断控制。3) 工作方式状态寄存器PMST8 TMS320C54X芯片的可寻址存储空间(程序、数据、I/O空间)各64k字程序存储空间:用来存放要执行的指令和指令执行中所需要的系数表(数学用表);数据存储空间:用来存放执行指令所需要的数据;I/O存储空间:用来提供与外部存储器映射的接口,可以作为外部
9、数据存储空间使用9 片内存储器的3种形式以及SARAM(单寻址RAM)、DARAM(双寻址RAM)的特点 64千字的程序存储空间 64千字的数据存储空间 64千字的I/O空间10 3个状态位对片内存储器映射到程序存储空间和数据存储空间的作用最大可用程序空间:MP/MC*=0 OVLY=1 DROM=0最大可用数据空间:MP/MC*=1 OVLY=0 DROM=111 引导程序(自举加载程序)的作用OOTLOADER(引导程序)是一段芯片出厂时固化在ROM中的程序代码。芯片上电时,引导程序便将片外EPROM中的用户代码,引导入片内RAM或片外快速RAM中执行。12 定时器定时时间的计算CLKOU
10、T(TDDR1)(PRD1)13 程序存储空间的分页扩展、数据存储器的分页管理程序存储空间的分页扩展所有C54X芯片的数据空间和I/0空间的寻址范围都是64K,程序空间的寻址能力根据地址线的不同而不同。地址线数目为16、20、23,则相应的程序存储器寻址空间为64K、1M、8M。为了实现分页扩展,增加程序计数器扩展寄存器XPC来保存页地址(即A16AX) ,页内地址(64K内)用程序计数器PC保存。数据存储器包括 CPU寄存器特殊功能寄存器(OOOOH OO1FH) 片内外设寄存器(0020H OO5FH) 32字暂存器SPRAM(0060H 007FH) 896字DARAM(0080H 03
11、FFH)CHAP31 各种寻址方式特点及其应用,重在寻址方式的判断,注意有时一个语句可能用到多种寻址方式立即寻址 LD #80H,*A特点:指令中含有一个固定的立即数,运行速度较快,但需占用程序存储空间,并且数值不能改变。用途:用于表示常数或对寄存器初始化。绝对寻址 MVKD EXAM1,*AR5 | MVPD TABLE,*AR2 PORTR FIFO,*AR5 |LD *(PN),A特点:指令中包含一个固定的16位地址,能寻址所有数据存储空间,但运行速度慢,需要较大的存储空间。用途:用于对速度要求较低的场合。累加器寻址 READA Smem | WRITA Smem特点:将累加器的内容作为
12、地址去访问程序存储单元,即将累加器中的内容作为地址,用来对存放数据的程序存储器寻址。 用途:用于完成程序存储空间与数据存储空间之间的数据传输。直接寻址特点是数据存储器地址由基地址(数据页指针DP或堆栈指针SP)和领衔地址共同构成,共16位。特点 直接寻址的优点:每条指令只需要一个字。 可在单周期寻址128个单元; 寻址速度快,能进行流水线并行操作。用途:主要用于要求运算速度较快的场合。间接寻址特点:通过辅助寄存器和辅助寄存器指针来寻址数据空间存储单元,并自动实现增量、减量、变址寻址、循环寻址,共有16种修正地址的方式。 用途:用于需要按固定步长寻址的场合。存储器映像寄存器寻址用途:主要用于不改
13、变DP、SP的情况下,修改MMR中的内容。 堆栈寻址用途:当发生中断或子程序调用时,用来自动保存PC内容以及保护现场或传送参数。2 直接寻址(地址的确定,DP赋初值)、倒序寻址(地址的确定)、循环缓冲区的建立(首尾地址的确定)15 8 7 6 0 操 作 码 I = 0 数据存储器地址(dmad) I=0,表示指令使用的寻址方式为直接寻址。位倒序寻址间接寻址中*ARi+0B/-0B表示位倒序寻址。AR0=N/2,用于快速傅氏变换算法FFT。在这种寻址方式中,AR0存放的整数N是FFT点数的一半。另一个辅助寄存器指向数据存放的物理单元。当使用位倒序寻址把AR0加到辅助寄存器中时,地址以位倒序的方
14、式产生,即进位是从左向右,而不是从右向左。循环缓冲区的建立长度为R的缓冲区必须从N位地址的边界开始,即循环缓冲区基地址的N个最低有效位必须为0。N应满足:2NR的最小整数。例如:缓冲区长度R=32, 若2N32, 则N=6。缓冲区开始的地址:xxxx xxxx xx00 0000B循环缓冲区的尾基地址(EOB)是通过用BK的低N代替ARx的低N位得到 缓冲区长度R=32装入循环缓冲长度寄存器BK中。 3 加法(进位)指令、减法(借位)指令、条件减法指令(实现除法),乘法、乘累加指令的操作数来源、分支转移指令、重复操作指令(RPT)、滤波指令(FIRS MAC)加法指令ADD Smem, src
15、src = src + Smem操作数加到ACC中ADDC Smem, srcsrc = src + Smem + C带有进位的加法ADDS Smem, srcsrc = src + uns(Smem)与ACC进行不带符号扩展的加法减法指令SUB Smem , srcsrc=src-Smem从累加器中减去操作数SUBB Smem , srcsrc=src-Smem-C累加器与操作数带借位减操作SUBC Smem , srcIf(src-Smem0,src=(src-Smem15)1+1Else src=src FILE I/O - FILE INPUT - ADD FILE将探测点与文件关联后
16、,CCS给出”FILE I/O”控制窗口。附,部分题目1 编程实现将程序存储器从地址1000H到1080H区间的内容复制到数据存储器空间2000H开始的地址空间。 STM #2000H,AR2STM #1000 H ,AR3 RPT #80 MVPD *AR3+, *AR2+2 编程y=a1*x1+a2*x2+a3*x3+a4*x4 .title “acc.asm” .mmregsStack .usect “STACK”, 10h .bss a,4 .bss x,4 .bss y,1 .def start .dataTable: .word 1,2,3,4 .word 8,7,6,5Start
17、 : STM #0, SWWSR ;插入0等待状态STM #STACK+10h, SP ;设置堆栈指针 STM #a, AR1 ;AR1指向a PRT #7 ;移动8个数据 MVPD table , *AR1+ ;从程序存储器到数据存储器CALL SUMend: B end SUM: LD #0,DPSTM #a,AR3STM #x,AR4RPTZ A,#3MAC *AR3+, *AR4+, ASTL A,yRET. end3 编写 16348/512的程序段 .bss num.1 .bss den.1 .bss quot.1.dataTable : .word 16348 .word 512 .textStart : STM #num,AR1 PRT #1 MVPD Table ,*AR1+;传送两个数据给分子,分母 LD den,16,A;将分母移动到累加器(3116) MPYA num ;(num)*A(3216)B,获取商的符号,在累加器B中ABS A;分母取绝对值 STH A,den ;分母绝对值存放原处LD num,A;分子A(3216) ABS A ;分子取绝对值 RPT #15 ;16次减法重复操作,完成除法 SUBC den,A XC 1,BLT;如果B0,则需要变号 NEG A STL A,quot ;保存商COMPLETED 2013-6-20 18:58-
限制150内