第2章 TMS320C54x数字信号处理器硬件

上传人:无*** 文档编号:244180107 上传时间:2024-10-03 格式:PPT 页数:33 大小:735KB
返回 下载 相关 举报
第2章 TMS320C54x数字信号处理器硬件_第1页
第1页 / 共33页
第2章 TMS320C54x数字信号处理器硬件_第2页
第2页 / 共33页
第2章 TMS320C54x数字信号处理器硬件_第3页
第3页 / 共33页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,2,章,TMS320C54x,数字信,号处理器硬件结构,2.4,中央处理单元(,CPU,),1,CPU,基本组成:,CPU,状态和控制寄存器,40,位算术逻辑单元(,ALU,),40,位累加器,A,和,B,桶形移位寄存器,乘法器,/,加法器单元,比较、选择和存储单元(,CSSU,),指数编码器,2,一、算术逻辑单元(,ALU,)和累加器,40,位,ALU,结构如下图所示,大多数的逻辑算术运算指令都是单周期指令。除存储操作指令,(ADDM,、,ANDM,、,ORM,和,XORM),外,,ALU,的算术结果通常都被传输到目的,40,位累加器,(A,或,B),中。,3,1,、,ALU,输入:,2,个,,X,和,Y,X,:,移位寄存器的输出,来自数据总线,DB,的数据存储器操作数,Y,:,累加器,A,或,B,中的数据,来自数据总线,CB,的数据存储器操作数,暂存器,T,中的数据,2,、,ALU,输出:至累加器,A,或,B,4,当加法进位或减法借位时,状态寄存器,ST0,的进位位,C=1,根据此位值可控制程序方向。进位位,C,可用软件编程修改。,RSBX C ;,进位位,C,复位,,C=0,SSBX C ;,进位位,C,置位,,C=1,当,ST1,中的比特位,C16,1,时,,ALU,在单个周期内可同时进行两个,16b,操作数的加减运算。,3,、,进位位:C,4,、,双16b算术运算,5,溢出刚发生时的处理,当运算发生溢出时,溢出标志位,OVA,、,OVB,被置,1,。分两种情况:,当目的累加器,A,溢出时,,ST0,的,OVA,1,;,当目的累加器,B,溢出时,,ST0,的,OVB,1,;,接下来的处理(受,OVM,位的控制),OVM=0,,累加器直接加载,ALU,的结果,OVM=1,,分两种:,正向溢出时,用,32b,最大数,00 7FFF,FFFFhACC,负向溢出时,用,32b,最小数,11 8000 0000h ACC,5,、,溢出处理,6,有三种方法:,用,RSBX OVA/OVB,复位,执行溢出条件指令:,XC 1 OVA,溢出标志位被清除:人为的清零,最后处理:对,OVA/OVB,复位,7,两个,40b,累加器(,ACC,A,和,B,),8,说明,保护位作为数据计算时的数据位余量,,防止迭代运算产生的溢出,AG,、,BG,、,AH,、,BH,、,AL,、,BL,都是存,储器映像寄存器,可也用,PSHM,和,POPM,指令压入和弹出堆栈,累加器,A,和,B,的差别仅在于,A,的,3116,位,可以作为乘法器的一个输入,9,加法:,ADD,、,ADDC,、,ADDM,、,ADDS.,减法:,SUB,、,SUBB,、,SUBC,、,SUBS.,乘法:,MPY(R),、,MPYA,、,MPYU,、,SQUR.,逻辑运算:,(,与,),AND,、,ANDM,(,或,),OR,、,ORM,(,异或,),XOR,、,XORM,32,位运算指令:,DADD,、,DSUB,、,DRSUB,DSUBT,、,DADST,、,DSADT,6,、常用运算指令,10,二、桶形移位寄存器,11,1,、功能,在ALU运算前对数据的值进行定标,对累加器的值进行算术或逻辑移位,对累加器进行归一化处理,对累加器的值存储到数据存储器之前进行定标,12,2,、输入,3,、输出,4,、移位数,A、B、DB、CB中的一种,可符号扩展(SXM),来自下面3种的一种,寄存器T的低6位,-1631位,ST1的低5位(ASM),-1615,移位指令的立即数,:,-1615,或,015,ALU,或 经,MSW/LSW,写选择的,EB,总线,13,SFTL,(Logical Shift,,逻辑移位,),SFTA,(Arithmetic Shift,,算术移位,),SFTC,(condition Shift,,条件移位,),ROL,(Rotate Left with Carry in,带进位位的循环左移,),ROR,(Rotate Right with Carry in,带进位位的循环右移,),ROLTC,(Rotate Left with,Tc,in,带,Tc,位的循环右移,),5,、,移位有关指令,注:很多指令中均有移位操作,14,三、,乘法器/加法器单元,15,1,、乘法器输入:,2,、乘法器输出:,3,、,加法器输出,XM和YM,XM,来源有:,T,、,A,、,DB,;,YM,来源有:,A,、,PB,、,DB,、,CB,。,XM,和,YM,均可符号扩展,(SXM),位控制。,当,SXM=1,时,,16b,数据符号扩展为,17b,数据。,当,SXM=0,时,,16b,数据在前面补,0,为为,17b,数据。,可经零检测器检测或舍入器截短(类似四舍五入,),,溢出,/,饱和逻辑处理后,输出到累加器,。,受,ST1,中的小数方式位,(FRCT),控制,。,FRCT=1,乘法器输出自动左移,1b,,以消去多余的符号位。,16,4,、,有关乘法/加法器的指令,乘加指令,:,MAC(R),、,MACA(R),、,MACD,、,MACP,、,MACSU,乘减指令,:,MAS(R),、,MASA(R),平方和指令,:,SQURA,平方差指令,:,SQURS,17,说明,1,、为什么这里的乘法器是,17x17,位呢?,2,、如果是两个扩展符号位以后的小数相乘所产生的,两个符号位,要将所得结果左移,1,位去掉一个多,余的符号位。,因为:最高位为符号扩展位,所以在做乘法以前,必须进行符号扩展。分三种情况扩展:,两个数均为有符号数,扩展位的值由有符号数最高位决定,一个有符号一个无符号,则按照上面两种情况进行处理,两个均为无符号数,扩展位的值为0,18,四、,比较、选择和存储单元(CSSU),1,、比较、选择和存储单元(,CSSU,)功能框图,19,2,、,Viterbi,算法示意图,20,3,、,CSSU有关指令,双操作数运算指令,:,DADD、DSUB、DRSUB、,DSUBT、DADST、DSADT,条件存储指令,:,CMPS,(存储累加器中高16位和低16位较大者),CMPS A,,*,AR1,;如果,A(31,16)A(15,0),;则,A(31,16)*AR1,,,TRN,左移,l,位,,0 TRN(0),,,0 TC,;否则,A(15,0)*AR1,,,TRN,左移,l,位,,1 TRN(0),,,1 TC,21,五、,指数编码器,1,、功能,在单个周期内执行,EXP,指令将指数值放到,T,寄存器中,22,EXP,指令一般和,NORM,指令一起用,例如:,EXP A,;冗余位数,-8,放入,T,寄存器中,NORM A,;,A,的值按,T,中的数值进行移位,解:冗余位数,-8=19,(指数),A,的值左移,19,位为,FF 8008 0000,(尾数),2,、,EXP,指令,思考,A=FF FFFF F001,执行上面的指令后指,数和尾数分别为多少,?,23,六、,CPU状态和控制寄存器,有,ST0,、,ST1,、,PMST,三个状态和控制寄存器,ST0,ST1,PMST,24,ST0,数据存储器页指针,用于间接寻址的偏移,共,9b,。,用来与,指令中提供的,7,位地址结合形成,1,个,16,位数据存储器的地址,ARP,:,辅助寄存器指针,共,3b,,用来选择使用单操作数间接寻址时,的辅助寄存器,AR0AR7,,默认为,0,,当,CMPT=0,时,只能,使用,AR0,。,TC,:,测试,/,控制标志,用来保存,ALU,测试操作的结果,默认为,1(,真,),C,:,进位位,用来保存,ALU,加减运算时所产生的进,/,借位,OVA/B,:,累加器,A/B,的溢出标志位,用来反映,A/B,是否产生溢出,DP,:,25,ST0,:,默认值:,0001 1000 0000 0000B=1800h,修改单个比特位的值:,用,SSBX,置位,用,RSBX,复位。,(,SSBX:,使,ST0,、,ST1,的比特位置,1,),(,RSBX:,使,ST0,、,ST1,的比特位置,0,),修改,ARP,和,DP,的值:用,LD(Load,,装载,),指令,语法:,LD#k9,DP ;,k9 DP,LD,Smem,DP ;,(Smem(80)DP,LD#k3,ARP ;,k3ARP,26,ST1,BRAF,:,块重复操作标志位,(Block Repeat Action Flag),。,表示,CPU,是否进行重复操作。,BRAR=1,表示正在进行重复操作。,CPL,:,直接寻址编辑方式位(,Compile Mode,)。,用来表示直接寻址选用何种方式,CPL=0,选用页指针(,DP,)的直接寻址方式,(,默认,),CPL=1,选用堆栈指针(,SP,)的直接寻址方式,XF,:,XF,引脚状态位,(External Flag),此位用来控制,XF,通用,外部,I/O,引脚输出状态。,可通过软件置位或清零,控制,XF,引脚输出高,/,低电平。,默认为,1,(高电平)。,27,SXM,:,符号扩展方式位,(Sign-Extension Mode),该位确定符号位 是否扩展。,SXM=0,数据进入,ALU,之前不作符号扩展。,SXM=1,数据进入,ALU,之前作符号扩展,,正数前补,0,,负数前补,1(,默认,),。,C16,:,双,16,运算方式位,C16=0,表示,ALU,工作于双精度算术运算(,32,位运算,默认),C16=1,表示,ALU,工作于双,16b,算术运算(,2,个,16,位运算),FRAT,:,小数模式位,(Fraction Mode),FRAT=0,不考虑小数乘法,(,默认,),。,FRAT=1,乘法器输出自动左移,1b,,以消去多余的符号位。,28,CMPT,:,间接寻址辅助寄存器修正方式位,(Compatibility Mode),CMPT=0,则,ARP=0,,且不能进行修正,即只使用,AR0,(,默认,).,CMPT=1,则除,AR0,外,当间接寻址单个数据存储器操作数,时,可通过修改,ARP,的内容,改变,AR1AR7,的值,ASM,:,累加器移位模式位,(Accumulate Shift Mode),共,5b,看作有符号数,表示,-16,15,的移位量。,ST1,的默认值:,0010 1001 0000 0000B=2900h,29,ST1,:,默认值:,0010 1001 0000 0000B=2900h,修改单个比特位的值:,用,SSBX,置位,用,RSBX,复位。,(,SSBX:,使,ST0,、,ST1,的比特位置,1,),(,RSBX:,使,ST0,、,ST1,的比特位置,0,),例:,SSBX INTM(,关中断,),RSBX INTM(,开中断,),修改,ASM,的值:用,LD(Load,,装载,),指令,30,PMST,IPTR,:,中断向量表指针。默认在程序空间的,FF80h,处,复位后可修,改,IPTR,的比特位,重新定位中断向量表的位置。,MP/MC,:,微处理器,/,微计算机工作方式位。用来确定是否允许使用,片内程序存储器,ROM,。,MP/MC=0,允许片内,ROM,使能并寻址,(,片上,ROM,是可屏蔽的,),MP/MC=1,不能利用片内,ROM,该位值为硬件逻辑,,RESET,指令不影响此位。,31,OVLY,:,RAM,重复占位,(RAM overlay),。用来决定片内双寻址,数据,RAM,是否映射到程序空间。,OVLY,0,片内,RAM0-3,只能映射到数据空间,(,默认,),OLVY,1,片内,RAM,可以映射到程序空间,但是,MMR,(,00H,7FH,)不能映射到程序空间。,AVIS,:,地址可见位,(Address Visibility),用来决定是否可以从,器件地址引脚线看到内部程序空间地址线;,AVIS=0,外部地址线上的信号不能随
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!