《DSP各种知识点总结.docx》由会员分享,可在线阅读,更多相关《DSP各种知识点总结.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 DSP芯片的特点:(1).哈佛结构(程序空间及数据空间分开)(2).多总线结构.(3)流水线结构(取指、译码、译码、寻址、读数、执行)(4)多处理单元. (5)特殊的DSP指令 (6).指令周期短. (7)运算精度高.(8)硬件配置强.(9)DSP最重要的特点: 特殊的内部结构、强大的信息处理能力及较高的运行速度。2 三类TMS320:(1)TMS320C2000适用于控制领域 (2)TMS320C5000应用于通信领域 (3)TMS320C6000应用于图像处理3 DSP总线结构: C54x片内有8条16位主总线:4条程序/数据总线及4条对应的地址总线。1条程序总线(PB):传送自程序储
2、存器的指令代码及立即操作数。3条数据总线(CB、DB、EB):CB及EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所需要的代码4存储器的分类: 64k字的程序存储空间、64K字的数据存储空间及64K字的I/O空间 (执行4次存储器操作、1次取指、2次读操作数及一次写操作数。5存储器空间分配 片内存储器的形式有DARAM、SARAM、ROM 。 RAM安排到数据存储空间、ROM构成程序存储空间。(1)程序空间:MP/MC=1 40000HFFFFH 片外 MP/MC=0 4000HEDDDH 片外 FF00HFFFFH 片
3、内 OVLY=1 0000H007FH 保留 0080H007FH 片内 OVLY=0 0000H3FFFH片外 (2)数据空间:DROM=1 F000HF3FFH 只读空间 FF00HFFFH保留 DROM=0 F000HFEFFH 片外6数据寻址方式 (1)立即寻址(2)绝对寻址(3)累加器寻址(4)直接寻址优点:每条指令只需一个字(5)间接寻址*按照存放某个辅助寄存器中的16位地址寻址的AR0AR7(7)储存器映像寄存器寻址(8)堆栈寻址7寻址缩写语 Smem:16位单寻址操作数 Xmem Ymem 16位双 dmad pmad PA16位立即数(0-65535) scr源累加器 dst
4、目的累加器 lk 16位长立即数 8状态寄存器ST0 1513ARP辅助寄存器指针 12TC测试标志位 11C进位位 10累积起A的一出标志位OVA 9OVB 80DP数据存储器页指针9状态寄存器ST1 CPL:直接寻址编辑方式 INTM =0开放全部可屏蔽中断 =1关闭 C16 双16位算数运算方式10定点DSP 浮点DSP:定点DSP能直接进行浮点运算,一次完成是用硬件完成的,而浮点需要程序辅助。11重复操作:重复执行单条指令,程序块重复操作(可以响应中断)12复位操作:处理器从FF80h处取指13中断:两大类:(1)可屏蔽:立即响应(2)非屏蔽:(满足下列条件才能响应)优先级别最高状态寄
5、存器ST1中的INTM位为0中断屏蔽寄存器IMR中的相应位为1 三个阶段:(1)接受中断请求(2)响应中断(3)执行中断服务程序 14复位的三种方式:上电复位,手动复位,软件复位15常用汇编命令:.bss为未初始化的变量保留空间;usect在一个未初始化的有命名的段中为变量保留空间;.data通常包含了初始化的数据;.sect定义已初始化的带命名段,其后的数据存入该段;.text该段包含了可执行的代码;title.接在后面的是程序名;int用来设置一个或多个16位无符号整型常数;word用来设置一个或多个16位带符号整型常数16. DSP系统的特点:(1)精度高、抗干扰能力强,稳定性好。(2)
6、编程方便、易于实现复杂算法(含自适应算法)。(3)可程控。(4)接口简单。(5)集成方便。17. CPU部分:先进的多总线结构(1条程序总线、3条数据总线及4条地址总线)。位算术逻辑运算单元(ALU),包括1个40位桶形移位寄存器及2个独立的40位累加器。1717位并行乘法器,及40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算。比较、选择、存储单元(CSSU):用于加法/比较选择。指数编码器:可以在单个周期内计算40位累加器中数值的指数。双地址生成器:包括8个辅助寄存器及2个辅助寄存器算术运算单元(ARAU)存储器空间 192 K字可寻址存储空间:64 K字程序存储空间、64
7、 K字数据存储空间及64 K字I/O空间 功能结构上分:运算部件及控制部件18. 累加器:目的寄存器 用来存放从ALU或乘法器/加法器单元输出的数据。19. 桶形移位器:立即数;asm,T低6位20. TMS320C54X有两个通用引脚bio监视外部 xf 握手信号 21.COFF3.公共目标文件格式COFF COFF的核心概念:使用代码块(段)及数据块(段)编程,而不是指令或数据简单的顺序编写。段的定义:就是在编写汇编语言源程序时,采用的代码块或数据块,它占据存储器的某个连续空间。21. COFF包含的三个缺省段 1text 2data 3bss22. DSP指令系统:助记符及代数23. D
8、sp开发工具:代码生成工具及代码调节工具24. Dsp按照用途分类:通用型及专用型 AR3+是加2或者减225. 1狭义理解为数字信号处理器,广义理解为数字信号处理方法26. 程序计数器的直可通过复位操作、顺序执行指令、分支转移、累加器转移、块重复、子程序调用、从累加器调用子程序、中断操作改变27. MMR写操作流水线冲突时,采用推荐指令及插入空操作指令28. 定时器: 3个16位存储器映射寄存器组成:定时器寄存器(TIM)、定时器周期寄存器(PRD)、定时器控制寄存器(TCR)。.title “example.asm” ;用双引号括起的源程序名 .mmregs ;定义存储器映射寄存器的替代符
9、号 STACK .usect “STACK”, 10h ;在数据存储器中留出16个单元作为 ;堆栈区,名为STACK .bss a, 4 .bss x, 4 ;在数据存储器中空出4个存储单元存放 ;变量x1,x2,x3及x4. .bss y, 1 .def start ;在此模块中定义,可为别的模块引用 .data ;紧跟其后的是已初始化数据 table: .word 1, 2, 3, 4 ;在程序存储器标号为table开始的8个单 .word 8, 6, 4, 2 ;元存放初始化数据 .text ;紧跟其后的是汇编语言程序正文 start: STM #0, SWWSR ; SWWSR置0,不
10、插等待周期 S STM #STACK+10H,SP ;设置堆栈指针 STM #a, AR1 ;AR1指向a的首地址 RPT #7 ;从程序存储器向数据存储器 MVPD table, *AR1+ ;重复传递共8个数据 CALL SUM ;调用惩罚累加子程序end: B end ;循环等待 SUM: STM #a, AR3 ;将洗漱的首地址附给AR3 STM #x, AR4 ;降变量x的首地址附给AR4 RPTZ A, #3 ;降累加器清零,重复执行下条指令4次 MAC *AR3+, *AR4+, A ; 乘法累加运算 STL A, y ;结果送往变量y的存储单元 RET .end ;结束汇编,汇
11、编器将忽略 5.堆栈用法: 压入操作:SP先减1,然后再将数据压入栈顶。 弹出操作:数据弹出后,再将SP加1。堆栈设置:size .set100stack.usect“STK”, size ;自定义一个名为STK的保留空间,共100个单元 STM #stack+size, SP ;将这个保留空间的高地址(#stack+size)赋给SP,作为栈底, 【例4.14】 对数组x5中的每个元素加1。 .bss x, 5begin: LD #1, 16, B STM #4,BRC ;BRC赋值为4 STM #x,AR4 RPTB next-1 ;next-1为循环结束地址 ADD *AR4,16,B,
12、A STH A,*AR4+next: LD #0, B 用next1作为结束地址是恰当的。如果用循环回路中最后一条指令(STH指令)的标号作为结束地址,若最后一条指令是单字指令也可以,若是双字指令,就不对了。 【例4.15】 编写一段程序,首先对数组x20赋值,再将数据存储器中的数组x20复制到数组y20。 .title“exp15.asm” .mmregs STACK .usect “STACK”, 30h .bss x, 20 .bss y, 20 .data table: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 .
13、defstart .textStart: STM #x, AR1 RPT#19 MVPD table, *AR1+; 程序存储器传送到数据存储器 STM #x, AR2 STM #y, AR3 RPT #19 MVDD *AR2+, *AR3+ ; 数据存储器传送到数据存储器end: Bend .end计算 z=x+y-wLD x,AADD y,ASUB W, ASTL A,z计算y=mx+bLD m,TMPY x,AADD b,ASTL A,y计算 y=x1*a1+x2*a2LD x1,TMPY a1,BLD x2,TMAC a2,BSTL B,ySTH B, y+1找出最大值,并存放在累加器A中STM #a,AR1STM #x,AR2STM #2, AR3LD *AR1+,TMPY *AR2+,A ;第一个成绩累加器A中Loop LD *AR1+.T MPY *AR2+,B ;其他乘积在累加器B中 MAX A ;累加器A及B比较,选大的存在A中 BANZ loop,*AR3 ;此循环中共进行三次乘法比较数组 x【5】=1,2,3,4,5初始化 .dataTBL .word 1,2,3,4,5 .bss x,5 .text STM #x,AR5 RPT #4 MVPD TBL,*AR5+第 4 页
限制150内