结构与原理.ppt_第1页
结构与原理.ppt_第2页
免费预览已结束,剩余98页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

tms320c54x dsp的结构原理,dsp实验室 北方交通大学电子学院 2005年,本章学习目的: 了解定点dsptms320c54x的结构特点和组成原理,主要内容 c54x结构特点 总线结构 cpu 存储器和寻址方式 片上外围电路和外部总线,一、 tms320c54x 数字信号处理器 的结构和特点,第一章,4,c54x 结构,1. c54xdsp主要特性cpu,先进的多总线结构(1条程序总线、3条数据总线和4条地址总线); 40位算术逻辑运算单元(alu),包括1个40位桶形移位寄存器和2个独立的40位累加器a、b; 17位*17位并行乘法器,与40位专用加法器相连用于非流水线式单周期乘法/累加(mac)运算; 比较、选择、存储单元(cssu),用于加法/比较选择; 指数编码器,可以在单个周期内计算40位累加器中数值的指数; 双地址生成器,包括8个辅助寄存器ar0ar7和2个辅助寄存器算术运算单元(arau).,2. c54xdsp主要特性存储器,c54x 至少有192k字可寻址存储空间 (64k字程序存储器64k字数据存储器以及64k字i/o空间) c5402中程序存储空间可扩展至1m字,片内rom,可配置为程序/数据存储器 片内ram: 分为双寻址ram(daram)和单寻址saram daram分块,可以存放数据,也可以存放程序,3. c54xdsp主要特性指令系统,单指令重复和块指令重复操作 块存储器传送指令 32位长操作数指令 同时读入2或3个操作数的指令 能并行存储和并行加载的算术指令 条件存储指令 从中断快速返回,4. c54xdsp主要特性片上外围电路,软件可编程等待状态发生器 可编程分区转换逻辑电路 带有内部振荡器或用外部时钟源的片上锁相环(pll)时钟发生器 全双工串行口,在5402 dsp上有两个mcbsp 16位可编程定时器,在5402 dsp上有两个定时器 8位并行主机接口(hpi)(只在部分dsp上有) 外部总线关断控制逻辑,以断开外部的数据总线、地址总线和控制信号 数据总线具有总线保持器特性,5. c54xdsp主要特性电源,可用idle1、idle2和idle3指令控制功耗,以工作在省电方式 clkout输出信号可以关断 采用3.3v和1.8v工作电压 以上电源特点均是为了一个目的降低电源功耗,6. c54xdsp主要特性片上仿真接口,具有符合ieee1149.1标准的片上仿真接口jtag接口,7. c54xdsp主要特性速度,单周期定点指令的执行时间为25/20/15/12.5/10ns (40/50/66/80/100mips),第一章,12,ti dsp命名规则,第一章,13,tms320c54x系列dsp的特性,第一章,14,pge封装,第一章,15,bga封装,二、c54x dsp的组成及总线结构,17x17 乘法累加单元 饱和和舍入硬件 2个40位的 acc 1个40位的alu 1个40位的桶式移位寄存器 暂存器 指数编码器 程序和地址发生单元 比较选择存储单元 4 条内部总线 功能强大的外部接口,1.c54x dsp的组成框图,2. c54xdsp的总线结构,地址总线(4条):pab、cab、dab、eab: 传送执行指令所需的地址。,程序总线pbpab: 从程序存储器取指令和取操作数。,数据总线(3条)cb/cab、db/dab、eb/eab: 其中: c、d 数据总线:传送来自数据存储器中的操作数; e数据总线:将数据写入数据存储器。,c54xdsp的总线结构,优化核,jtag test/ eml control,rom,ram,电源管理,程序 / 数据总线,外设总线,d(15-0) a(15-0),外设,c54xdsp的总线结构,c54xdsp的总线结构,表: 各种读/写方法用到的总线,三、 存储器,c54存储空间(至少192k字): 至少64k字程序存储空间 64k字数据存储空间 64k字i/o空间 c5402的程序存储空间可扩展到1m字,第一章,24,表: tms320c54x 片内程序和数据存储器,表: tms320c5402 片内程序和数据存储器,片内存储器:不需要插入等待状态,成本低,功耗小。 片外存储器:存储空间大,1. 存储器的配置,第一章,27,5402存储器的配置,第一章,28,5402的扩展程序存储器,2. 程序存储器,c5402的外部程序存储器可寻址1m字 片内rom、daram都可以映象为程序存储器 当pagen(程序地址生成器)发出的地址处片上内存储器地址范围地址以外时,cpu将自动对外部寻址,表: tms320c5402 片内程序存储器,c54片内2k字rom (f800hffff)中的内容(i公司定义),自举加载程序,可从串行口、外部存储器、i/o口、或者主机接口自举加载。 256字律压扩表。 256字a律压扩表。 256字正弦函数值查找表。 中断向量表。,c54数据存储器容量64k字 片内数据存储器:sram,daram 通过软件,片内rom可以映象为数据存储器空间 当cpu发出的地址落在片上存储器范围外部时,将自动地对外部存储器空间寻址,3. 数据存储器,第一章,33,5402的数据存储器,片内ram前1k配置图,mmr存储器映象cpu寄存器:不需要插入等待周期 mmr 存储器映象外围电路寄存器:至少需要两个周期,表:存储器映象cpu寄存器,4.i/o存储器,i/o存储空间:64k字 i/o存储空间全部片外 访问i/o空间指令:portr,portw,5. 程序和数据的安全性,c54xdsp有两级安全性选项rom级和rom/ ram级,以提高程序和数据的保密性。 如果采用rom级安全选项,则从片内ram或从外部程序存储器取指并执行时,不能读出片内rom中的内容(数据总线上呈现无效的数据0ffffh)。 如果采用rom/ram级安全选项,则从片外程序存储器取指并执行时,不能读出片内rom和片内ram中的内容(数据总线上呈现无效的数据0ffffh)。,四、中央处理单元,40位算术逻辑运算单元(alu) 2个40位累加器a和b 移位-16至30位的桶形移位寄存器 乘法器/累加器单元 比较、选择和存储单元(cssu) 指数编码器 cpu状态和控制寄存器,c54x中央处理单元,到总线,mac,alu,17 x 17 mpy 40 bit adder rnd, sat,40 bit alu cmps operator (viterbi) exp encoder,桶式移位寄存器,累加器,40 bit barrel (- 16, 31),40 bit acc a 40 bit acc b,寻址单元,8 辅助寄存器 2 寻址单元,1. 算术逻辑运算单元(alu),算术逻辑运算单元 (alu)功能框图,alu 的输入,x输入端(2个来源): 移位寄存器输出 db数据总线的操作数 y输入端(4个来源): 累加器a的数据 累加器b的数据 数据总线cb的数据存储器操作数 t寄存器中的数据,alu 的输出,alu的输出为40位; 送往目的地:累加器a或累加器b,alu运算中的几个问题,符号位扩展(sxm1) 溢出处理(ovm1) 正向溢出: 最大正数 00 7fff ffff 负向溢出: 最大负数 ff 8000 0000 进位位:支持扩展精度运算 双16位操作数运算(c161),2. 累加器a和b,累加器a和b,保护位:防止计算过程中溢出 ag、ah、al、bg、bh、bl都是mmr 累加器a和b的差别:a(31 -16)可作为乘法器输入,保存累加器的内容,设aff 4321 1234,sth,a, 8, temp,;temp=2112h,sth,a,-,8, temp,;temp=ff43h,stl,a, 8, temp,;temp=3400h,stl,a,-,8, temp,;temp=2112h,累加器移位和循环移位指令,sfta(算术移位) sftl(逻辑移位) sftc(条件移位) rol(累加器循环左移) ror(累加器循环右移) roltc(累加器带tc位循环左移),累加器特殊运算指令,firs (对称fir滤波) lms (自适应滤波) sqdst(计算欧几里德距离),3. 桶形移位器,桶形移位器功能框图,桶形移位器的输入/输出,输入 db(16位数) db、cb(32位数) 累加器a或b(40位数) 输出 alu的一个输入端(40位数) eb(16位数),桶形移位器的移位控制,指令中的移位数就是移位的位数。移位数都是用2的补码表示,正值表示左移,负值表示右移。移位数的来源: 指令中的一个立即数(-16到15); 状态寄存器st1的累加器移位方式(asm)位(-16到15); 或者t寄存器中最低6位的数值(-16到 31)。 例如:,桶形移位器应用举例,add a,-4,b ;累加器a右移4位后加到累加器b add a, asm, b ;累加器a按asm规定移位后加到累加器b norm a ;按t寄存器中的数值对累加器归一化 这最后一条指令对累加器中的数归一化是很有用的。假设40位累加器a中的定点数为fffffff001。先用exp a指令,求得它的指数为13h,存放在t寄存器中。再执行norm a,就可以在单个周期内将原来的定点数分成尾数ff80080000和指数13h两部分。,桶形移位器的任务,在alu运算前,对来自数据存储器的操作数或者累加器的值进行定标 对累加器的值进行算术或逻辑移位 对累加器归一化处理 对累加器的值存储到数据存储器之前进行定标,4. 乘法器/加法器,第一章,57,4. 乘法器/加法器功能框图,乘法器/加法器特点,1717位硬件乘法器 乘法器与40位专用加法器相连(在1个周期内完成乘法累加运算) 小数相乘(frct1),乘积左移一位 零检测器 舍入电路 溢出/饱和电路 乘法器输出加法器的xa,累加器a或b加法器的ya 乘法累加结果累加器a或b,5. 比较、选择、存储单元,比较、选择和存储单元组成框图,专用指令 cmps src, dst,cssu支持viterbi算法,旧状态,新状态,j,2j,d1,(new_met1),(met1),if (met1+d1)(met2+d2),d2,then new_met1=met1+d1,else,2j+1,met1=met2+d2,(met2),j+stnb/2,(new_met2),(,旧测度,),(,新测度,),图中,,stnb,为状态,数,,met,为测度路径,,d,为测度分支,viterbi算法,viterbi算法:加法、比较和选择 应用领域:均衡器,通道译码器 执行viterbi算法指令的操作: (1)st1 中的 c16置 1,alu 进行双16位加法 a(3116)=met 1+d1 a(150) =met 2+d2 (2)cmps a,*ar1 ;比较a(3116)和a(150) ;大数送 *ar1,表 alu工作在双16位方式的指令(c16=1),功能: 求a的指数值,以2的补码形式(-8 至31)存入t寄存器。 累加器指数值=冗余符号位 - 8 对累加器a归一化: exp a ;冗余符号位 - 8 t reg st t,exponent norm a ;累加器按t中的值移位 ;得尾数,6.指数编码器,7 . cpu状态和控制寄存器,c54有3个状态和控制寄存器: 状态寄存器0(st0)(mmr:6) 状态寄存器1(st1)(mmr:7) 处理器工作方式状态寄存器(pmst) (mmr:1d),状态寄存器0(st0),状态寄存器st0各状态位的功能(1),状态寄存器st0各状态位的功能(2),状态寄存器st0各状态位的功能(3),状态寄存器1(st1),状态寄存器st1各状态位的功能(1),状态寄存器st1各状态位的功能(2),状态寄存器st1各状态位的功能(3),状态寄存器st1各状态位的功能(4),处理器工作方式状态寄存器(pmst),寄存器pmst各状态位的功能(1),寄存器pmst各状态位的功能(2),寄存器pmst各状态位的功能(3),寄存器pmst各状态位的功能(4),五、 数据寻址方式,tms320c54x的数据寻址方式,部分寻址缩写语,1. 立即寻址,在指令中给出操作数(立即数) 立即数:短立即数: 3、5、8位 长立即数:16位 指令长度:12字 用于初始化 ld # 80h, a ;80 ld # 32767,b ;32767 ld # 23,dp ;23 dp ld # 15,asm ;15 asm ld # 3,arp ;3 arp,2. 绝对寻址,指令中给出所要寻址的存储单元的16位地址 存储单元的16位地址:16位地址, 地址标号 指令长度至少2个字 mvkd sample,*ar5 ; (sample) ; *ar5 mvpd table,*ar7- ;(table) *ar7 portr fifo,*ar5 ; (fifo) *ar5 ld *(buffer), a ; (buffer) a,3. 累加器寻址,利用累加器中数值作为程序存储器的地址 大多数c54x 是利用a(15 - 0) c548是利用a(22 - 0) reada smem ; a(15 - 0) par ; (pmem (按par寻址) smem writa smem ; a(15 - 0) par ; (smem) pmem (按par寻址) cala b ; (sp) -1 sp ; (pc)+1 tos ; b(15 - 0) pc,4. 直接寻址,基地址低7位偏移地址16位数据存储器地址 基地址: 1.数据页指针dp(9位)(当cpl0) 2.堆栈指针sp (16位)(当cpl1) 偏移地址:指令中smem的低7位地址 优点: 在不改变dp或sp情况下,可随机地寻址128个存储单元中的任何一个单元,指令只需一个字,直接寻址 例1,cpl0:dp(高9位)与smem的低7位合并16位地址,直接寻址 例2,cpl1:sp(16位)smem的低7位16位地址,5. 间接寻址,间接寻址:按arx中的16位地址寻址 ar0ar7 8个辅助寄存器都可用来寻址64k字数据存储器中的任一个单元 利用间接寻址,可在单条指令中: 读/写一个16位操作数 读/写两个顺序的数据存储单元 读一个存储单元、写一个存储单元 c54x 有 arau0 和 arau1,加上ar0ar7,具有丰富的间接寻址功能,间接寻址形式(1),间接寻址形式(2),间接寻址形式(3),单操作数间接寻址的硬件框图,位码倒序寻址 以16点fft为例的位码倒序寻址,位码倒序寻址实现方法,用途: 将基-2 fft乱序的结果整序 用法举例(对于16点fft): 设定(ar2)0060 存放16个数据的基地址 (ar0)0008 n/2=8 实现程序 rpt #15 ;rpt 15 portw *ar2+0b,pa0,循环缓冲区滑窗 应用: 卷积、相关、fir滤波、取sin和cos值等保存最新一批数据或周期性取数 特点: 1. 循环缓冲区首尾相连 2. 地址增量值可变,可正可负 优点: 滑窗数据不需移位 (每次输入新数据至存放最老数据的单元中),2. 循环寻址,循环缓冲区的长度值存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论