收藏 分销(赏)

第6章 TMS320C54x基本结构.ppt

上传人:s4****5z 文档编号:13986141 上传时间:2026-05-22 格式:PPT 页数:54 大小:1.74MB 下载积分:10 金币
下载 相关 举报
第6章 TMS320C54x基本结构.ppt_第1页
第1页 / 共54页
第6章 TMS320C54x基本结构.ppt_第2页
第2页 / 共54页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第六章,TMS320C54x,基本结构,6.1 TMS320C54x,结构简介,6.2,内部总线结构,6.3,中央处理单元(,CPU,),6.4,存储器,6.5,小结,【,重点难点,】,DSP,芯片的总线结构及其作用,DSP,芯片中央处理单元(,CPU,)的组成,及各部分的功能,DSP,芯片存储器结构和存储空间的组织,与分配,C5416,的存储器映射寄存器,TMS320C54x,结构简介,6.1 TMS320C54x,结构简介,一、内部总线结构:,一组程序总线(,PB,),三组数据总线(,CB,、,DB,和,EB,),四组地址总线(,PAB,、,CAB,、,DAB,、,EAB,),二、,CPU,组成部分:,一个,40,位的算术逻辑单元(,ALU),乘法器加法器单元(,MAC),两个,40,位的累加器(,A,和,B),桶形移位器,比较、选择和存储单元,指数编码器,CPU,状态和控制寄存器,TMS320C54x,结构简介,6.2,总线结构,总线结构,1,条程序总线(,PB,):用于从程序存储区提取指令和常,数,其中存放在程序存储区的常数,叫做立即数操作数。,3,条数据总线(,CB,、,DB,和,EB,):连接各个组成部分,CB,和,DB,传送从数据存储器读出的操作数;,EB,总线传送要写入到存储器中的数据;,4,条地址总线(,PAB,、,CAB,、,DAB,和,EAB,):传送执行指令所,用的地址。,表,6-1,各种读,/,写方式用到的总线,读,/,写方式,地址总线,程序总线,数据总线,PAB,CAB,DAB,EAB,PB,CB,DB,EB,程序读,程序写,单数据读,双数据读,长数据,(32,位,),读,hw,lw,hw,lw,单数据写,数据读,/,写,双数据读,/,系数读,外设读,外设写,总线结构,6.3,中央处理单元(,CPU,),中央处理单元(,CPU,),6.3.1,算术逻辑单元(,ALU,),1,、,ALU,的输入,ALU,的,X,输入源,1,)桶形移位寄存器的输出。,2,)来自数据总线,DB,的数据存储器操作数。,ALU,的,Y,输入源,1,)累加器,A,中的数据。,2,)累加器,B,中的数据。,3,)来自数据总线,CB,的数据存储器操作数。,4,),T,寄存器中的数据,2,、,ALU,的输出,ALU,的输出为,40,位,被送往累加器,A,或,B,。,3,、溢出处理,若,OVM=0,,则对,ALU,的运算结果不作任何调整,,直接送入累加器;,若,OVM=1,,则对,ALU,的运行结果进行调整。,当正向溢出时,将,32,位最大正数,00 7FFFFFFFH,装入累加器;,当负向溢出时,将,32,位最小负数,FF 80000000H,装入累加器。,溢出发生后,状态寄存器,ST0,中与目标累加器相关的溢出,标志位(,OVA,或,OVB,)置,1,,直到复位或执行溢出条件指令。,中央处理单元(,CPU,),饱和算法:当发生计算结果大于可表示的最大值或者,小于可表示的最小值的时候,结果为这个,最大值或者最小值。,非饱和算法:如果结果溢出则直接去掉溢出位,剩下,的就是结果。,中央处理单元(,CPU,),4,、进位位,进位位,C,的功能:,用来指明是否有进位发生;,用来支持扩展精度的算术运算;,可作为分支、调用、返回和条件操作的执行条件。,注意:,进位位,C,不受装载累加器操作、逻辑操作、非算术运算,和控制指令的影响;,进位位的值通常可以用用指令(,RSBX,置,0,和,SSBX,置,1,)直,接进行设置;,硬件复位时,进位位置,1,。,中央处理单元(,CPU,),5,、双,16,位算术运算,在单个周期内进行两次,16,位加法或两次,16,位减法运算。,6,、其他控制位,TC,测试,/,控制标志,位于,ST0,的,12,位;,ZA/ZB,累加器结果为,0,标志位。,中央处理单元(,CPU,),中央处理单元(,CPU,),6.3.2,累加器,(A/B,),39,32,31,16,15,0,累加器,A,AG,AH,AL,保护位,39,32,高阶位,31,16,低阶位,15,0,累加器,B,BG,BH,BL,保护位,高阶位,低阶位,BG,AG,保护位:,AG,、,BG 3932,,,作为算术计算时的数据位余量,以防止迭代运算中的溢出,。,BG,AG,BH,AH,高阶位:,AH,、,BH 3116,;,BH,AH,BL,AL,低阶位:,AL,、,BL 150,。,BL,AL,累加器,A,和累加器,B,的唯一,差异,在于累加器,A,的(,16,31,),位可以用作乘累加单元的一个输入。,1,、保存累加器的内容,使用,STH,、,SACCD,和并行存储指令存储累加器内容,:,先将累加器内容移位,再将高,16,位存入存储器。,右移存储:,AG(BG),右移,AH(BH),,,AH(BH),存入存储器;,左移存储:,AL(BL),左移,AH(BH),,,AH(BH),存入存储器。,使用,STL,指令存储累加器内容,:,先将累加器内容移位,再将低,16,位存入存储器。,右移存储,AH(BH),右移,AL(BL),AL(BL),存入存储器;,左移存储,AL(BL),左移,AH(BH),低位补,0,AL(BL),存入存储器。,注意:,移位操作是在存储累加器内容的过程中同时完成的;,移位操作是在移位寄存器中完成的,累加器的内容,保持不变。,中央处理单元(,CPU,),中央处理单元(,CPU,),例,6-1,:假设累加器,A,FF 4321 1234h,,执行带移位,的,STH,和,STL,指令操作后,求数据存储单元,TEMP,和累加器,A,中的结果。,STH A,,,8,,,TEMP,STH A,,,-8,,,TEMP,STL A,,,8,,,TEMP,STL A,,,-8,,,TEMP,;,TEMP,2112h,;,TEMP,FF43h,;,TEMP,3400h,;,TEMP,2112h,A,FF 4321 1234h,中央处理单元(,CPU,),例,6-2,:累加器,A=FF 0123 4567H,,,执行带移位的,STH,和,STL,指令后,求暂存器,T,和,A,的内容。,STH A,,,8,,,T,;,A,的内容左移,8,位,,AH,存入,T,F F 0 1 2 3 4 5 6 7,A,AG AH AL,移位,寄存器,T,F F 0 1 2 3 4 5 6 7,0 1,2 3,4 5,6 7,0 0,2 3 4 5,T=2345H,,A,=,FF,0123,4567H,STH A,,,-8,,,T,;,A,的内容右移,8,位,,AH,存入,T,F F 0 1 2 3 4 5 6 7,4 5,2 3,0 1,F F,F F,F F 0 1,T=FF01H,,A,=,FF,0123,4567H,STL A,,,8,,,T,;,A,的内容左移,8,位,,AL,存入,T,F F 0 1 2 3 4 5 6 7,0 1,2 3,4 5,6 7,0 0,6 7 0 0,T=6700H,,A,=,FF,0123,4567H,STL A,,,-8,,,T,;,A,的内容右移,8,位,,AL,存入,T,F F 0 1 2 3 4 5 6 7,4 5,2 3,0 1,F F,F F,2 3 4 5,T=2345H,,A,=,FF,0123,4567H,中央处理单元(,CPU,),2,、累加器移位和循环移位,累加器移位或循环移位的指令共有,6,条:,SFTA,算术移位。,SFTL,逻辑移位。,SFTC,条件移位。,ROL,累加器循环左移。,ROR,累加器循环右移。,ROLTC,累加器带,TC,位循环左移。,3,、专用指令,FIRS,指令,LMS,指令,SQDST,指令,6.3.3,桶形移位寄存器,中央处理单元(,CPU,),1,、数的定标,2,、数的转换,中央处理单元(,CPU,),1,)浮点数与定点数之间的转换,浮点数(,x,)转换为定点数(,x,q,):,(,6.3.1,),定点数(,x,q,)转换为浮点数(,x,):,(,6.3.2,),浮点数(,x,)转换为定点数(,x,q,):,(,6.3.3,),2,)定点二进制数转换为浮点十进制数,(,1,)先求整型数,然后利用式(,6.3.2,)进行计算,(,2,)根据,Q,值,确定小数点位置,然后进行计算,中央处理单元(,CPU,),1,)组成框图,MUX,符号控制,SC,桶形移位器,(-1631),写选择,MSW/LSW,DB15DB0,CB15CB0,EB15EB0,测试位,Tc,ALU,CSSU,SXM,A,B,T,ASM(40),指令寄存器,立即数,-1615,015,多路选择器,MUX,MUX,MUX,MUX,符号控制,SC,符号控制,SC,符号控制,SC,桶形,移位器,桶形移位器,(-1631),桶形移位器,(-1631),桶形移位器,(-1631),桶形移位器,(-1631),写选择电路,写选择,MSW/LSW,写选择,MSW/LSW,写选择,MSW/LSW,多路选择器,MUX,用来选择输入数据。,符号控制,SC,用于对输入数据进行符号位扩展。,桶形,移位器,用来对输入的数据进行定标和移位。,写选择电路,用来选择最高有效字和最低有效字。,3,、桶形移位寄存器,中央处理单元(,CPU,),2,)桶形移位寄存器的输入,通过多路选择器,MUX,来选择输入信号。,取自,DB,数据总线的,16,位,输入数据;,取自,DB,和,CB,扩展数据总,线的,32,位输入数据;,来自累加器,A,或,B,的,40,位,输入数据。,3,)桶形移位寄存器的输出,输出至,ALU,的一个输入端,;,经写,MSW/LSW,选择电路,输出至,EB,总线。,MUX,符号控制,SC,桶形移位器,(-1631),写选择,MSW/LSW,DB15DB0,CB15CB0,EB15EB0,测试位,Tc,ALU,CSSU,SXM,A,B,T,ASM(40),指令寄存器,立即数,-1615,015,DB15DB0,DB15DB0,DB15DB0,DB15DB0,CB15CB0,DB15DB0,CB15CB0,DB15DB0,CB15CB0,A,A,A,B,B,B,ALU,ALU,ALU,EB15EB0,EB15EB0,EB15EB0,中央处理单元(,CPU,),4,)桶形移位寄存器的功能,在,ALU,运算前,对来自数据存储器的操作数或者,累加器的值进行定标。,对累加器中的值进行算术或逻辑移位。,对累加器中的值进行归一化处理。,在累加器中的值存储到数据存储器之前进行定标。,5,)桶形移位寄存器的操作,(1),控制操作数的符号位扩展,若操作数为有符号数,则,当,SXM=1,时,完成符号位扩展;,当,SXM=0,时,禁止符号位扩展。,若操作数为无符号数,不执行符号位的扩展。,中央处理单元(,CPU,),(2),控制操作数的移位,移位数都用,2,的补码表示,正值表示左移,负值表示右移。,移位数的形式:,5,位立即数,取值范围:,-16,15,;,ST1,中的,ASM,位,取值范围:,-16,15,;,暂存器,T,中的低,6,位数值,取值范围:,-16,31,。,例如:,ADD A,,,-4,,,B ;,累加器,A,右移,4,位后加到累加器,B,ADD A,,,ASM,,,B ;,累加器,A,中的值移位后与累加器,B,;,的值相加,结果放在累加器,B,NORM A ;,按,T,寄存器中的数值对累加器,A,归一化,中央处理单元(,CPU,),6.3.4,乘法器,/,加法器单元,1,、乘法器,1,)三种乘法运算,如果是两个有符号数相乘,则,16,位的乘数与被乘数,先进行符号扩展,在最高位前添加,l,个符号位(其值,由最高位决定),扩展为,17,位有符号数后再相乘;,如果是无符号数乘以无符号数,则在两个操作数的,最高位前面添加“,0”,,扩展为,17,位的操作数再相乘;,如果是有符号数与无符号数相乘,有符号数在最高位,前添加,1,个符号位(其值由最高位决定),无符号数,在最高位前面添加“,0”,,然后两个操作数相乘。,中央处理单元(,CPU,),2,)乘法器的输入,XM,输入:,取自数据总线,DB,的数据存储器操作数;,来自暂存器,T,的操作数;,来自累加器,A,的,32,16,位操作数。,YM,输入:,来自数据总线,DB,的数据存储器操作数;,来自数据总线,CB,的数据存储器操作数;,来自程序总线,PB,的程序存储器操作数;,来自累加器,A,的,32,16,位操作数。,3,)乘法器的输出,乘法器的输出经小数控制电路接至加法器的,XA,输入端。,中央处理单元(,CPU,),2,、加法器,1,),加法器的输入,XA,输入:来自乘法器的输出。,YA,输入:来自累加器,A,的操作数;,来自累加器,B,的操作数。,2,),加法器的输出,:,将运算结果送入累加器,A,或,B,。,舍入算法:将目标累加器中的内容加上,215,,然后将,累加器的低,16,位清零。,中央处理单元(,CPU,),1,、,CSSU,单元主要功能:,主要完成累加器的高阶位与低阶位之间最大值的比较,,即选择累加器中较大的字,并存储在数据存储器中。,2,、工作过程:,比较电路,COMP,将累加器,A,或,B,的高阶位与低阶位进行比较;,比较结果分别送入状态转移寄存器,TRN,和状态寄存器,ST0,的状态位,TC,中,记录比较结果以便程序调试;,比较结果输出至写选择电路,选择较大的数据;,将选择的数据通过总线,EB,存入指定的存储单元。,6.3.5,比较、选择和存储单元,中央处理单元(,CPU,),例:,CMPS,指令可以对累加器的高阶位和低阶位进行比较,,并选择较大的数存放在指令所指定的存储单元中。,指令格式:,CMPS A,,*,AR1,功能:对累加器,A,的高,16,位字(,AH,),和低,16,位字(,AL,),进行比较,,若,AHAL,,,则,AH*AR1,,,TRN,左移,1,位,,0TRN(0),,,0TC,;,若,AHAL,,,则,AL*AR1,,,TRN,左移,1,位,,1TRN(0),,,1TC,。,中央处理单元(,CPU,),6.3.6,指数编码器,指数编码器是,CPU,的一个专用硬件,用于实现定点数到,浮点数的转换时,求累加器中数据的指数值。,功能:,求累加器中数据的指数值,并以二进制补码的形式,(,-8,31,)存放到,T,寄存器中,指数值,=,冗余符号位数,-8,中央处理单元(,CPU,),6.3.7 CPU,状态和控制寄存器,CPU,状态和控制寄存器:,状态寄存器,0,(,ST0,),状态寄存器,1,(,ST1,),工作方式状态寄存器(,PMST,),主要功能:,ST0,和,ST1,主要包含各种工作条件和工作方式的状态;,PMST,包含存储器的设置状态和其他控制信息。,操作:,将它们快速地存放到数据存储器;,由数据存储器对它们进行加载;,用子程序或中断服务程序保存和恢复处理器的状态。,中央处理单元(,CPU,),1,、状态寄存器,0,(,ST0,),ST0,的结构:,15 13,12,11,10,9,8 0,ST0:,ARP,TC,C,OVA,OVB,DP,ARP,ARP,:,辅助寄存器指针,。,用来选择使用单操作数间接寻址时的,辅助寄存器,AR0AR7,。,ARP,TC,TC,:,测试,/,控制标志,。,用来保存,ALU,测试操作的结果。,TC,C,C,:,进位标志位,。,用来保存,ALU,加减运算时所产生的进,/,借位。,C,OVB,OVA,OVA/B,:,累加器,A/B,的溢出标志。,用来反映,A/B,是否产生溢出。,OVB,OVA,DP,DP,:,数据存储器页指针。,用来与指令中提供的,7,位地址结合形成,1,个,16,位数据存储器的地址。,DP,主要反映处理器的寻址要求和计算机的运行状态。,中央处理单元(,CPU,),2,、状态寄存器,1(ST1),主要反映处理器的寻址要求、计算初始状态的设置、,I/O,及中断的控制等。,15,14,13,12,11,10,9,8,7,6,5,40,BRAF,CPL,XF,HM,INTM,0,OVM,SXM,C16,FRCT,CMPT,ASM,BRAF,CPL,XF,HM,INTM,0,OVM,SXM,C16,FRCT,CMPT,ASM,BRAF,:,块重复操作标志位。,用来指示当前是否在执行块重复操作。,BRAF=0,表示当前不进行重复块操作;,BRAF=1,表示当前正在进行块重复操作。,CPL,:,直接寻址编辑方式标志位;,用来指示直接寻址选用何种指针。,CPL=0,选用数据页指针,DP,的直接寻址;,CPL=1,选用堆栈指针,SP,的直接寻址。,XF,:,外部,XF,引脚状态控制位。,用来控制,XF,通用外部输出引脚的状态。,执行,SSBX,XF=1,XF,通用输出引脚为,1,;,执行,RSBX,XF=0,XF,通用输出引脚为,0,。,HM,:,保持方式位;,响应,HOLD,信号时,指示,CPU,是否继续执行内部操作。,HM=0,CPU,从内部程序存储器取指,,继续执行内部操作。,HM=1,CPU,停止内部操作。,INTM,:,中断方式控制位;,用于屏蔽或,开放所有可屏蔽,中断。,INTN=0,开放全部可屏蔽中断;,INTN=1,禁止所有可屏蔽中断。,0,:,保留位,未被使用,总是读为,0,。,OVM,:,溢出方式控制位;,用来确定累加器溢出时,对累加器的加载方式。,OVM=0,将运算的溢出结果直接加载到累加器中;,OVM=1,当正溢出时,将,007FFFFFFFH,加载累加器;,当负溢出时,将,FF80000000H,加载累加器。,SXM,:,符号位扩展方式控制位;,用来确定数据,在,运算之前是否需要符号位扩展。,SXM=0,数据进入,ALU,之前禁止符号位扩展;,SXM=1,数据进入,ALU,之前进行符号位扩展。,C16,:,双,16,位,/,双精度算术运算方式控制位;,用来决定,ALU,的算术运算方式。,C16=0,ALU,工作在双精度算术运算方式;,C16=1,ALU,工作在双,16,位算术运算方式。,FRCT,:,小数方式控制位;,用,来确定乘法器的运算方式。,FRCT=1,乘法器的输出左移一位,,消除多余的符号位。,C,MPT,:,间接寻址辅助寄存器修正方式控制位;,用来决定,ARP,是否进行修正。,CMPT=0,在进行间接寻址单操作数时,不修正,ARP,;,CMPT=1,在进行间接寻址单操作数时,修正,ARP,。,ASM,:,累加器移位方式控制位。,为某些具有移位操作的指令设定一个从,-,1615,范围内的移位值。,BRAF,CPL,XF,HM,INTM,0,OVM,SXM,C16,FRCT,CMPT,ASM,中央处理单元(,CPU,),3,、工作方式状态寄存器,PMST,主要设定和控制处理器的工作方式和存储器的配置,,反映处理器的工作状态。,SST,SMUL,CLKOFF,DROM,AVIS,OVLY,MP/MC,IPTR,0,1,2,3,4,5,6,157,中,断,向,量,指,针,CPU,工,作,方,式,选,择,位,RAM,重,复,占,位,标,志,地,址,可,见,控,制,位,数,据,ROM,映,射,选,择,位,时,钟,输,出,选,择,位,乘,法,饱,和,方,式,位,存,储,饱,和,位,PMST,的结构:,中央处理单元(,CPU,),6.3.8,地址生成单元,1,、程序地址产生单元(,PAGEN),用来取单条指令的,PC,(程序计数器)寄存器中的值,是由程序地址产生单元(,Program-address,Generation Logic,PAGEN,)加载的。,2,、数据地址产生单元(,DACEN),用于产生数据地址的数据地址产生单元(,Data-,address Generation Logic,DAGEN,)使用以下,16,位,寄存器计算操作数的地址:,辅助寄存器(,AR0,AR7,),块大小寄存器(,BK,),堆栈指针(,SP,)。,存储器,6.4,存储器,6.4.1 DSP,芯片的存储器,片内存储器,外部扩展存储器,ROM,RAM,SARAM,:,1,个机器周期内只,能被访问,1,次,DARAM,:,1,个机器周期内能,被访问两次,Flash,存储器,表,6-6,部分,C54x DSP,片内存储器容量,存储器类型,芯片种类,ROM,程序,ROM,程序,/,数据,ROM,DARAM,SARAM,C541,28K,20K,8K,5K,0K,C542,2K,2K,0K,10K,0K,C543,2K,2K,0K,10K,0K,C545,48K,32K,16K,6K,0K,C546,48K,32K,16K,6K,0K,C548,2K,2K,0K,8K,24K,C549,16K,16K,16K,8K,24K,C5402,4K,4K,4K,16K,0K,C5410,16K,16K,0K,8K,56K,C5416,16K,16K,0K,64K,64K,C5420,0K,0K,0K,32K,168K,存储器,存储器,6.4.2,存储区的组织,一、程序空间,主要功能:,程序存储器主要用于存储程序指令和系数表,。,微计算机模式:,片内,ROM,映射到程序空间。复位后程序跳转至固定,起始地址,再根据存放在片内的中断矢量表跳转至,片内存放引导程序的地址,开始运行片内引导程序。,1,、工作模式:,若,MP,MC,0,,,DSP,芯片工作于微计算机模式;,若,MP,MC,1,,,DSP,芯片工作于微处理器模式。,存储器,微处理器模式:,片内,ROM,被禁止。复位后程序跳至固定起始地址,,再根据存放在片外存储器的中断矢量表跳转至,相应地址开始运行用户程序。,2,、,OVLY,位设置:,片内,RAM,可以通过设置,OVLY,位来控制映射区域,若,OVLY=0,,没有片内,RAM,映射到程序空间,,这时片内,RAM,作为数据存储器使用;,若,OVLY=l,,片内,RAM,同时被映射到程序区和数据区。,3,、扩展程序存储空间,存储器,二、数据空间,DSP,芯片一般具有,64K,字的数据寻址空间。,DROM,比特位:,若,DROM=0,,片内,ROM,不映射到数据空间;,若,DROM,1,,部分片内,ROM,映射到数据空间,并且当,MP,MC,0,时,片内,ROM,同时映射到,数据空间和程序空间。,每一次复位时,,DSP,都将,DROM,位清零。,便笺本,RAM,块,(,暂存存储器,):,位于数据存储器的,0060H,007FH,,包括,32,个字的,DARAM,,,它用于变量的高速存储,有助于避免对大,RAM,块进行分段。,3,、,存储器,三、,I/O,空间,作用:,用于对片外设备的访问,,大小:,共,64K,字(,0000h,FFFFh,),HOLD,模式,当,DSP,芯片处于,HOLD,状态时,,DSP,芯片的外部总线,处于高阻状态,此时外设可完全获取对,DSP,芯片,外部资源的控制权。,表,6-7 TMS320VC5416 ROM,的内容,地址范围,内容,C000h,D4FFh,GSM EFR,声码器数据,D500h,F7FFh,保留,可用于用户程序掩膜,F800h,FBFFh,BOOTLOADER,程序,FC00h,FCFFh,律扩展数据表,FD00h,FDFFh,A,律扩展数据表,FE00h,FEFFh,正弦数据表,FF00h,FF7Fh,芯片测试用,FF80h,FFFFh,中断向量表,四、,TMS320VC5416,的存储资源,存储器,存储器,6.4.3 C5416,寄存器,1,、,CPU,寄存器,表,6-8 C5416 CPU,存储器映像寄存器,地址,名称,描述,地址,名称,描述,00h,IMR,中断屏蔽寄存器,0Eh,T,T,暂存器,01h,IFR,中断标志寄存器,0Fh,TRN,状态转移寄存器,02h,05h,-,保留,用于测试,10h,17h,AR0,AR7,辅助寄存器,0,7,06h,ST0,状态寄存器,0,18h,SP,堆栈指针寄存器,07h,ST1,状态寄存器,1,19h,BK,循环缓冲区大小寄存器,08h,AL,ACCA,低位字,1Ah,BRC,块重复计数寄存器,09h,AH,ACCA,高位字,1Bh,RSA,块重复起点寄存器,0Ah,AG,ACCA,保护位,1Ch,REA,块重复终点寄存器,0Bh,BL,ACCB,低位字,1Dh,PMST,处理器模式状态寄存器,0Ch,BH,ACCB,高位字,1Eh,XPC,程序计数器宽展寄存器,0Dh,BG,ACCB,保护位,1Fh,-,保留,存储器,2,、外设寄存器,用于对外设器件进行控制和数据访问,驻留在地址,0020H,005FH,,并且具有一个专用的外设总线结构。,地址,名称,描述,20,DRR20,McBSP0,数据接收寄存器,2,21,DRR10,McBSP0,数据接收寄存器,1,22,DXR20,McBSP0,数据发送寄存器,2,23,DXR10,McBSP0,数据发送寄存器,1,24,TIM,定时器寄存器,25,PRD,定时器周期寄存器,26,TCR,定时器控制寄存器,27,-,保留,28,SWWSR,软件等待状态寄存器,表,6-9 C5416,外设存储器映像寄存器,地址,名称,描述,29,BSCR,块切换控制寄存器,2A,-,保留,2B,SWCR,软件等待状态控制寄存器,2C,HPIC,主机接口控制寄存器,2D,2F,-,保留,30,DRR22,McBSP2,数据接收寄存器,2,31,DRR12,McBSP2,数据接收寄存器,1,32,DXR22,McBSP2,数据发送寄存器,2,33,DXR12,McBSP2,数据发送寄存器,1,34,SPSA2,McBSP2,子库地址寄存器,35,SPSD2,McBSP2,子库数据寄存器,36,37,-,保留,38,SPSA0,McBSP0,子库地址寄存器,39,SPSD0,McBSP0,子库数据寄存器,3A,3B,-,保留,3C,GPIOCR,通用,I/O,引脚控制寄存器,存储器,地址,名称,描述,3D,GPIOSR,通用,I/O,引脚状态寄存器,3E,CSIDR,设备标识寄存器,3F,-,保留,40,DRR21,McBSP1,数据接收寄存器,2,41,DRR11,McBSP1,数据接收寄存器,1,42,DXR21,McBSP1,数据发送寄存器,2,43,DXR11,McBSP1,数据发送寄存器,1,44,47,-,保留,48,SPSA1,McBSP1,子库地址寄存器,49,SPSD1,McBSP1,子库数据寄存器,4A,53,-,保留,54,DMPREC,DMA,通道优先权和使能控制寄存器,55,DMSA,DMA,子库地址寄存器,56,DMSDI,带自动增量的,DMA,子库数据寄存器,57,DMSDN,不带自动增量的,DMA,子库数据寄存器,58,CLKMD,时钟方式寄存器,59,5F,-,保留,存储器,6.5,小结,小结,小结,总线结构,:,一组程序总线(,PB,),三组数据总线(,CB,、,DB,和,EB,),四组地址总线(,PAB,、,CAB,、,DAB,、,EAB,),CPU:,一个,40,位的算术逻辑单元(,ALU),两个,40,位的累加器(,A,和,B),桶形移位器,乘法器加法器单元(,MAC),比较、选择和存储单元,指数编码器,CPU,状态和控制寄存器,从程序存储区提取指令和常数,CB,和,DB,传送从数据存储器读出的操作数;,EB,总线传送要写入到存储器中的数据;,传送执行指令所用的地址,溢出处理,若,OVM=0,,则对,ALU,的运算结果不作任何调整,,直接送入累加器;,若,OVM=1,,则对,ALU,的运行结果进行调整。,当正向溢出时,将,32,位最大正数,00 7FFFFFFFH,装入累加器;,当负向溢出时,将,32,位最小负数,FF 80000000H,装入累加器。,溢出发生后,状态寄存器,ST0,中与目标累加器相关的溢出,标志位(,OVA,或,OVB,)置,1,,直到复位或执行溢出条件指令。,舍入算法:将目标累加器中的内容加上,215,,然后将,累加器的低,16,位清零。,饱和算法:当发生计算结果大于可表示的最大值或者,小于可表示的最小值的时候,结果为这个,最大值或者最小值。,非饱和算法:如果结果溢出则直接去掉溢出位,剩下,的就是结果。,指数值冗余符号位数,8,ST0,和,ST1,主要包含,CPU,各种工作条件和工作方式的状态,PMST,包含存储器的设置状态和其他控制信息,使用,STH,、,SACCD,和并行存储指令存储累加器内容,先将累加器内容移位,再将高,16,位存入存储器。,右移存储:,AG(BG),右移,AH(BH),,,AH(BH),存入存储器;,左移存儲:,AL(BL),左移,AH(BH),,,AH(BH),存入存储器。,使用,STL,指令存储累加器内容,先将累加器内容移位,再将低,16,位存入存储器。,右移存储,,AH(BH),右移,AL(BL),,,AL(BL),存入存储器;,左移存储,用,0,左移,AL(BL),,,AL(BL),存入存储器。,注意:移位操作是在存储累加器内容的过程中同时完成的;,移位操作是在移位寄存器中完成的,累加器的内容保持不变。,控制操作数的符号位扩展,若操作数为有符号数,则,当,SXM=1,时,完成符号位扩展;,当,SXM=0,时,禁止符号位扩展。,若操作数为无符号数,则不考虑,SXM,位,不执行符号位的扩展。,工作过程:,比较电路,COMP,将累加器,A,或,B,的高阶位与低阶位进行比较;,比较结果分别送入状态转移寄存器,TRN,和状态寄存器,ST0,的状态位,TC,中,记录比较结果以便程序调试;,比较结果输出至写选择电路,选择较大的数据;,将选择的数据通过总线,EB,存入指定的存储单元。,存储区组织,程序存储器主要用于存储程序指令和执行程序时所用到,的系数表,其地址空间共,64K,字,DSP,芯片一般具有,64K,字的数据寻址空间。,I/O,空间用于对片外设备的访问,其地址空间共,64K,字,寄存器,26,个,CPU,寄存器,外设寄存器用于对外设器件进行控制和数据访问。,这些寄存器驻留在地址,0020H,005FH,,并且具有一个专用,的外设总线结构。,暂存存储器位于数据存储器的,0060H,007FH,,,包括,32,个字的双存取,RAM(DARAM),,它用于存储变量,,有助于避免对大,RAM,块进行分段。,小结,MUX,A,B,ALU,符号,ctr,符号,ctr,MUX,MUX,CB15CB0,DB15DB0,MAC,输出,SXM,SXM,OVM,C16,C,ZA/ZB,TC,X,Y,A,M,U,B,B,A,C,T,D,S,OVA/OVB,桶形移位器输出,零检测,舍入器,饱和逻辑,取整,40,位加法器,MUX,XM YM,乘法器,(17,17),符号控制,符号控制,X MUX,Y MUX,T,DB15DB0,CB15CB0,PB15PB0,YA,XA,OVM,OVA/OVB,ZA/ZB,至A/B,FRCT,A,B,0,来自,A,来自,B,P,A,C,D,A,D,T,乘法,-,累加单元功能框图,比较电路,COMP,状态转移寄存器,TRN,状态比较寄存器,TC,MUX,COMP,TRN,TC,CCSU,A,B,MSW/LSW,选择,EB15EB0,来自桶形移位器,多路选择器,MUX,MUX,MUX,COMP,COMP,TRN,TRN,TC,TC,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服