资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
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):传送自程序储存器的指令代码和立即操作数。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 片 内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 目的累加器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)非屏蔽:(满足下列条件才能响应)优先级别最高状态寄存器ST1 中的 INTM 位为 0中断屏蔽寄存器IMR 中的相应位为1 三个阶段: (1)接受中断请求(2)响应中断( 3)执行中断服务程序14 复位的三种方式:上电复位,手动复位,软件复位15 常用汇编命令:.bss为未初始化的变量保留空间;usect在一个未初始化的有命名的段中为变量保留空间;.data 通常包含了初始化的数据;.sect定义已初始化的带命名段,其后的数据存入该段;.text 该段包含了可执行的代码;title.接在后面的是程序名;int 用来设置一个或多个16 位无符号整型常数;word 用来设置一个或多个16 位带符号整型常数16.DSP 系统的特点: (1)精度高、抗干扰能力强,稳定性好。( 2)编程方便、易于实现复杂算法(含自适应算法)。 (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 K字数据存储空间及64 K 字 I/O 空间功能结构上分:运算部件和控制部件18.累加器: 目的寄存器用来存放从ALU 或乘法器 /加法器单元输出的数据。19.桶形移位器:立即数; asm,T 低 6位20.TMS320C54X 有两个通用引脚bio 监视外部xf 握手信号21.COFF3. 公共目标文件格式 COFF COFF 的核心概念: 使用代码块 (段)和数据块(段)编程,而不是指令或数据简单的顺序编写。段的定义: 就是在编写汇编语言源程序时,采用的代码块或数据块,它占据存储器的某个连续空间。21.COFF 包含的三个缺省段1text 2data 3bss 22.DSP 指令系统 :助记符和代数23.Dsp 开发工具 :代码生成工具和代码调节工具24.Dsp 按照用途分类:通用型和专用型AR3+ 是加 2 或者减 2 25.1 狭义理解为 数字信号处理器,广义理解为数字信号处理方法26.程序计数器 的直可通过复位操作、顺序执行指令、分支转移、累加器转移、块重复、子程序调用、从累加器调用子程序、中断操作改变27.MMR写操作流水线冲突时,采用推荐指令和插入空操作指令28.定时器 : 3 个 16 位存储器映射寄存器组成:定时器寄存器(TIM ) 、定时器周期寄存器(PRD) 、定时器控制寄存器(TCR) 。.title “ example.asm”;用双引号括起的源程序名.mmregs ;定义存储器映射寄存器的替代符号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,不插等待周期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 ;结束汇编,汇编器将忽略5.堆栈用法 : 压入操作: SP 先减 1,然后再将数据压入栈顶。弹出操作:数据弹出后,再将SP加 1。堆栈设置 : size .set 100 stack .usect “ STK” , size ;自定义一个名为STK 的保留空间,共100 个单元STM #stack+size, SP ;将这个保留空间的高地址(#stack+size)赋给 SP, 作为栈底,【例 4.14】 对数组 x5中的每个元素加1。.bss x, 5 begin: LD #1, 16, B STM #4,BRC ;BRC 赋值为 4 STM #x,AR4 RPTB next-1 ;next-1 为循环结束地址ADD *AR4 ,16,B,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 .def start .text Start: STM #x, AR1 RPT #19 MVPD table, *AR1+ ; 程序存储器传送到数据存储器STM #x, AR2 STM #y, AR3 RPT #19 MVDD *AR2+, *AR3+ ; 数据存储器传送到数据存储器end: B end .end 计算z=x+y-w LD x ,A ADD y ,A SUB W, A STL A , z 计算 y=mx+b LD m ,T MPY x ,A ADD b ,A STL A , y 计算y=x1*a1+x2*a2 LD x1 ,T MPY a1 ,B LD x2 ,T MAC a2 ,B STL B , y STH B, y+1 找出最大值,并存放在累加器A 中STM #a,AR1 STM #x,AR2 STM #2, AR3 LD *AR1+,T MPY *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初始化.data TBL .word 1,2,3,4,5 .bss x,5 .text STM #x,AR5 RPT #4 MVPD TBL,*AR5+
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号