结构与原理.ppt

上传人:文库蛋蛋多 文档编号:2200663 上传时间:2023-01-29 格式:PPT 页数:100 大小:1.82MB
返回 下载 相关 举报
结构与原理.ppt_第1页
第1页 / 共100页
结构与原理.ppt_第2页
第2页 / 共100页
结构与原理.ppt_第3页
第3页 / 共100页
结构与原理.ppt_第4页
第4页 / 共100页
结构与原理.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《结构与原理.ppt》由会员分享,可在线阅读,更多相关《结构与原理.ppt(100页珍藏版)》请在三一办公上搜索。

1、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)运算;

2、比较、选择、存储单元(CSSU),用于加法/比较选择;指数编码器,可以在单个周期内计算40位累加器中数值的指数;双地址生成器,包括8个辅助寄存器AR0AR7和2个辅助寄存器算术运算单元(ARAU).,2.C54xDSP主要特性存储器,C54x 至少有192K字可寻址存储空间(64K字程序存储器64K字数据存储器以及64K字I/O空间)C5402中程序存储空间可扩展至1M字,片内ROM,可配置为程序/数据存储器片内RAM:分为双寻址RAM(DARAM)和单寻址SARAMDARAM分块,可以存放数据,也可以存放程序,3.C54xDSP主要特性指令系统,单指令重复和块指令重复操作块存储器传送指令32

3、位长操作数指令同时读入2或3个操作数的指令能并行存储和并行加载的算术指令条件存储指令从中断快速返回,4.C54xDSP主要特性片上外围电路,软件可编程等待状态发生器可编程分区转换逻辑电路带有内部振荡器或用外部时钟源的片上锁相环(PLL)时钟发生器全双工串行口,在5402 DSP上有两个MCBSP16位可编程定时器,在5402 DSP上有两个定时器8位并行主机接口(HPI)(只在部分DSP上有)外部总线关断控制逻辑,以断开外部的数据总线、地址总线和控制信号数据总线具有总线保持器特性,5.C54xDSP主要特性电源,可用IDLE1、IDLE2和IDLE3指令控制功耗,以工作在省电方式CLKOUT输

4、出信号可以关断采用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位的 ACC1个40位的ALU1个40位的桶式移位寄

5、存器暂存器指数编码器程序和地址发生单元比较选择存储单元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),外设,C54x

6、DSP的总线结构,C54xDSP的总线结构,表:各种读/写方法用到的总线,三、存储器,C54存储空间(至少192K字):至少64K字程序存储空间 64K字数据存储空间 64K字I/O空间C5402的程序存储空间可扩展到1M字,第一章,24,表:TMS320C54x 片内程序和数据存储器,表:TMS320C5402 片内程序和数据存储器,片内存储器:不需要插入等待状态,成本低,功耗小。片外存储器:存储空间大,1.存储器的配置,第一章,27,5402存储器的配置,第一章,28,5402的扩展程序存储器,2.程序存储器,C5402的外部程序存储器可寻址1M字片内ROM、DARAM都可以映象为程序存储

7、器当PAGEN(程序地址生成器)发出的地址处片上内存储器地址范围地址以外时,CPU将自动对外部寻址,表:TMS320C5402 片内程序存储器,C54片内2K字ROM(F800hFFFF)中的内容(I公司定义),自举加载程序,可从串行口、外部存储器、I/O口、或者主机接口自举加载。256字律压扩表。256字A律压扩表。256字正弦函数值查找表。中断向量表。,C54数据存储器容量64K字 片内数据存储器:SRAM,DARAM 通过软件,片内ROM可以映象为数据存储器空间 当CPU发出的地址落在片上存储器范围外部时,将自动地对外部存储器空间寻址,3.数据存储器,第一章,33,5402的数据存储器,

8、片内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和片内R

9、AM中的内容(数据总线上呈现无效的数据0FFFFh)。,四、中央处理单元,40位算术逻辑运算单元(ALU)2个40位累加器A和B移位-16至30位的桶形移位寄存器乘法器/累加器单元比较、选择和存储单元(CSSU)指数编码器CPU状态和控制寄存器,C54x中央处理单元,到总线,MAC,ALU,17 X 17 MPY40 BIT ADDERRND,SAT,40 BIT ALUCMPS OPERATOR(VITERBI)EXP ENCODER,桶式移位寄存器,累加器,40 BIT BARREL(-16,31),40 BIT ACC A40 BIT ACC B,寻址单元,8 辅助寄存器2 寻址单元,1

10、.算术逻辑运算单元(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、B

11、H、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

12、.桶形移位器,桶形移位器功能框图,桶形移位器的输入/输出,输入 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

13、 A;按T寄存器中的数值对累加器归一化这最后一条指令对累加器中的数归一化是很有用的。假设40位累加器A中的定点数为FFFFFFF001。先用EXP A指令,求得它的指数为13h,存放在T寄存器中。再执行NORM A,就可以在单个周期内将原来的定点数分成尾数FF80080000和指数13h两部分。,桶形移位器的任务,在ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标对累加器的值进行算术或逻辑移位对累加器归一化处理对累加器的值存储到数据存储器之前进行定标,4.乘法器/加法器,第一章,57,4.乘法器/加法器功能框图,乘法器/加法器特点,1717位硬件乘法器乘法器与40位专用加法器相连(

14、在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),(,旧测度,),(,新测度,),图中,,ST

15、NB,为状态,数,,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,EXPON

16、ENT 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

17、),寄存器PMST各状态位的功能(1),寄存器PMST各状态位的功能(2),寄存器PMST各状态位的功能(3),寄存器PMST各状态位的功能(4),五、数据寻址方式,TMS320C54x的数据寻址方式,部分寻址缩写语,1.立即寻址,在指令中给出操作数(立即数)立即数:短立即数:3、5、8位 长立即数:16位指令长度:12字用于初始化LD#80h,A;80LD#32767,B;32767 LD#23,DP;23 DPLD#15,ASM;15 ASMLD#3,ARP;3 ARP,2.绝对寻址,指令中给出所要寻址的存储单元的16位地址存储单元的16位地址:16位地址,地址标号指令长度至少2个字MVK

18、D SAMPLE,*AR5;(SAMPLE);*AR5MVPD TABLE,*AR7-;(TABLE)*AR7PORTR FIFO,*AR5;(FIFO)*AR5LD*(BUFFER),A;(BUFFER)A,3.累加器寻址,利用累加器中数值作为程序存储器的地址大多数C54x 是利用A(15-0)C548是利用A(22-0)READASmem;A(15-0)PAR;(Pmem(按PAR寻址)SmemWRITASmem;A(15-0)PAR;(Smem)Pmem(按PAR寻址)CALAB;(SP)-1 SP;(PC)+1 TOS;B(15-0)PC,4.直接寻址,基地址低7位偏移地址16位数据存

19、储器地址基地址: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位操作数读/写两个顺序的数据存储单元读一个存储单元、写一个存储单元

20、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.地址增量值可变,可正

21、可负优点:滑窗数据不需移位(每次输入新数据至存放最老数据的单元中),2.循环寻址,循环缓冲区的长度值存放在BK寄存器(循环缓冲区长度寄存器)中。BK中的数值由指令STM lk,BK设定。不过,长度为R的缓冲区必须从N位地址的边界开始(即循环缓冲区基地址的N个最低有效位必须为0),N是满足2NR的最小的整数。例如,长度R=31的循环缓冲区必须从地址XXXX XXXX XXX0 0000,(N=5,2531,该地址的最低5位为0)开始,同时必须将R值加载到BK寄存器中。在循环寻址时,首先要指定一个辅助寄存器ARx指向循环缓冲区,根据ARx的低N位作为循环缓冲区的偏移量进行所规定的寻址操作。寻址操作

22、完成后,再根据以下循环寻址算法修证这个偏移量,并返回ARx的低N位:if 0 index+step BK;index=index+step else if index+stepBK;index=index+step-BK else if index+step 0 index=index+step+BK,存储器映象寻址:操作数为MMR中的值存储器映象寻址指令:LDM MMR,dstMVDM dmad,MMRMVMD MMR,dmadMVMM MMRx,MMRyPOPM MMRPSHM MMRSTLM src,MMRSTM#lk,MMR,6.存储器映象寻址,利用堆栈指针SP寻址SP始终指向堆栈中所存放的最后一个操作数堆栈寻址指令:PSHD 将数据存储器中的一个数压人堆栈PSHM 将一个MMR中的值压入堆栈POPD 从堆栈弹出一个数至数据存储单元POPM 从堆栈弹出一个数至MMR,7.堆栈寻址,寻址方式小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号