C54x的内部总线结构24C54x的中央处理器_第1页
C54x的内部总线结构24C54x的中央处理器_第2页
C54x的内部总线结构24C54x的中央处理器_第3页
C54x的内部总线结构24C54x的中央处理器_第4页
C54x的内部总线结构24C54x的中央处理器_第5页
已阅读5页,还剩38页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、第,2,章,TMS320C54x,的硬件结构,2.3,C54x,的内部总线结构,TMS320C54x,的结构是以,8,组,16,位总线,为核心,形成了支持高速指令执行的硬件基础,总线结构,1,组程序总线,PB,3,组数据总线,CB,DB,EB,4,组地址总线,PAB,CAB,DAB,EAB,第,2,章,TMS320C54x,的硬件结构,1,程序总线,PB,主要用来传送取自,程序存储器,的,指令代码和立,即操作数,PB,总线既可以将程序空间的操作数据,如系数,表,送至数据空间的目标地址中,以实现,数据移动,也可以将程序空间的操作数据传送乘法器和加法器,中,以便执行,乘法,累加,操作,第,2,章,

2、TMS320C54x,的硬件结构,2,数据总线,CB,DB,和,EB,3,条数据总线分别与不同功能的内部单元相连接,如,CPU,程序地址产生逻辑,PAGEN,数据地,址产生逻辑,DAGEN,片内外设和数据存储器等,CB,和,DB,用来传送从,数据存储器,读出,的数据,EB,用来传送,写入,存储器的数据,3,地址总线,PAB,CAB,DAB,和,EAB,用来提供执行指令所需的地址,第,2,章,TMS320C54x,的硬件结构,C54x,读,写操作占用总线情况,读,写方式,地址总线,程序总线,数据总线,PAB,CAB,DAB,EAB,PB,CB,DB,EB,程序读,程序写,单数据读,双数据读,32

3、,位长数据读,hw,lw,hw,lw,单数据写,数据读,数据写,双数据读,系数读,外设读,外设写,第,2,章,TMS320C54x,的硬件结构,2.4,C54x,的中央处理器,CPU,CPU,是,DSP,器件的核心部件,它的性能直接关系,到,DSP,器件的性能,第,2,章,TMS320C54x,的硬件结构,CPU,包括下列基本部件,40,位算术逻辑运算单元,ALU,2,个,40,位的累加器,A,和,B,支持,16,31,位移位范围的桶形移位寄存器,能完成乘法,加法运算的,乘法累加器,MAC,16,位暂存寄存器,T,16,位转移寄存器,TRN,比较、选择、存储单元,CSSU,指数译码器,CPU,

4、状态和控制寄存器,第,2,章,TMS320C54x,的硬件结构,2.4.1,算术逻辑运算单元,ALU,Arithmetic Logic Unit,C54x,使用,40,位的算术逻辑运算单元,和,2,个,40,位,累加器,可完成宽范围的算术逻辑运算,C54x,的大多数,算术逻辑运算指令,都是单周期,指令,其运算结果通常自动,送入目的累加器,A,或,B,但在执行,存储器到存储器的算术逻辑运算指令,时(如,ADDM,ANDM,ORM,和,XORM,,其运算,结果则存入指令指定的,目的存储器,第,2,章,TMS320C54x,的硬件结构,ALU,的功能框图,MUX,A,B,ALU,符号,ctr,符号,

5、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,桶形移位,器输出,第,2,章,TMS320C54x,的硬件结构,1,ALU,的输入和输出,根据输入源的不同,ALU,采用不同的输入方式,1,ALU,的,X,输入源,来自桶形移位寄存器输出的操作数,来自数据总线,DB,中的操作数,2,ALU,的,Y,输入源,来自累加器,A,中的数据,来自累加器,B,中的数据,来自数据总线,CB,中的操作数,来自,T,寄存器中的操作数,3,ALU,输入数据的预处理,当,16,位数

6、据存储器操作数,通过数据总线,DB,或,CB,输入时,ALU,将采用两种方式对操作数进行预处理,若数据存储器的,16,位操作数在,低,16,位,时,则,当,SXM=0,时,高,24,位,3916,位,用,0,填充,当,SXM=1 (ST1,中,时,高,24,位,3916,位,扩展为符号位,若数据存储器的,16,位操作数在,高,16,位,时,则,当,SXM=0,时,3932,位和,150,位用,0,填充,当,SXM=1,时,3932,位扩展为符号位,150,位置,0,4,ALU,的输出,ALU,的输出为,40,位运算结果,通常被送至,累加器,A,或,B,2,溢出处理,ALU,的饱和逻辑可以对运算

7、结果进行,溢出处理,当发生,溢出时,将运算,结果调整为,最大正数(正向溢出)或最小负,数(负向溢出,当运算结果发生溢出时,若,OVM=0,状态寄存器,ST1,中,则对,ALU,的运算结,果不作任何调整,直接送入累加器,若,OVM,1,则对,ALU,的运行结果,进行调整,当正向溢出时,将,32,位最大正数,00,7,FFFFFFFH,最大正数,装入累加器,当负向溢出时,将,32,位最小负数,FF,80000000,H,最小负数,装入累加器,状态寄存器,ST0,中与目标累加器相关的溢出标志,OV,A,或,OVB,被置,1,3,进位位,C,ALU,有一个与运算结果有关的进位位,C,位于,ST0,的,

8、11,位,进位位,C,受大多数,ALU,操作指令的影响,包括算术操作、循,环操作和移位操作,进位位,C,的功能,用来指明是否有进位发生,用来支持扩展精度的算术运算,可作为分支、调用、返回和条件操作的执行,条件,注意,进位位,C,不受装载累加器操作、逻辑操作,非算术运算和控制指令的影响,可通过寄存器操作指令,RSBX,和,SSBX,对,其进行置位和复位,第,2,章,TMS320C54x,的硬件结构,4,双,16,位算术运算,若要将,ST1,中的,C16,置位,则,ALU,进行双,16,位算,术运算,即在一个机器周期内完成两个,16,位数的算术,运算,进行两次,16,位加法或两次,16,位减法运算

9、,5,其他控制位,除,SXM,OVM,C,C16,OV,A,OVB,外,ALU,还有两个控制位,TC,测试,控制标志,位于,ST0,的,12,位,ZA/ZB,累加器结果为,0,标志位,第,2,章,TMS320C54x,的硬件结构,2.4.2,累加器,A,和,B,Accumulator,C,54x,芯片有,两个独立的,40,位累加器,A,和,B,可以,作为,ALU,或,MAC,的目标寄存器,存放运算结果,也,可以作为,ALU,或,MAC,的一个输入,在执行并行指令,LD|MAC,和一些特殊指令,MIN,和,MAX,时,两个累加器中的一个用于装载,数据,而另一个用于完成运算,第,2,章,TMS32

10、0C54x,的硬件结构,2.4.2,累加器,A,和,B,1,累加器结构,39,32,31,16,15,0,累加器,A,AG,AH,AL,保护位,39,32,高阶位,31,16,低阶位,15,0,累加器,B,BG,BH,BL,保护位,高阶位,低阶位,保护位,AG,BG,3932,作为算术计算时的数据位余量,以防止迭代运算中的溢出,BG,AG,BH,AH,高阶位,AH,BH 3116,BL,AL,低阶位,AL,BL 150,2.4.2,累加器,A,和,B,2,带移位的累加器存储操作,使用,STH,STL,STLM,SACCD,等指令或并行存储指,令,可以把累加器中的内容保存到数据存储器中,使用,S

11、TH,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,存入存储器,注意,移位操作是在存储累加器内容的过程中,同时完成的,移位操作是在移位寄存器中完成的,累,加器的内容保持不变,第,2,章,TMS320C54x,的硬件结构,例,2.4.1

12、,累加器,A=FF,0123,4567H,执行带移位,的,STH,和,STL,指令后,求暂存器,T,和,A,的内容,8,F F 0 1 2 3 4 5 6 7,A,AG AH AL,移位,寄存器,T,2 3,4,5,6 7,0 0,T = 2345H,STH A,T,的内容右移,AH,0 1,F F 0 1,T = FF01H,A,FF,0123,4567H,8,T,A,的内容左移,8,位,AL,存入,T,0 1,2 3,4 5,6 7,0 0,6 7 0 0,T = 6700H,STL A,8,T,A,的内容右移,8,位,AL,存入,T,F F 0 1 2 3 4 5 6 7,4 5,2 3

13、,0 1,F F,F F,2 3 4 5,T = 2345H,A,FF,0123,4567H,第,2,章,TMS320C54x,的硬件结构,2.4.3,桶形移位寄存器,Barrel Shifter,TMS320C54x,的,40,位桶形移位寄存器,主要用于累,加器或数据区操作数的,定标,它能将输入数据进行,031,位的左移和,016,位的右移。所移动的位数可由,ST1,中的,ASM,或被指定的暂存器,T,决定,第,2,章,TMS320C54x,的硬件结构,1,组成框图,符号控制,SC,写选择,MSW/LSW,DB15DB0,CB15CB0,EB15EB0,测试位,Tc,ALU,CSSU,SXM

14、,A,B,T,ASM(40,指令寄存器,立即数,1615,015,MUX,符号控制,SC,移位寄存器,移位寄存器,1631,1631,写选择,MSW/LSW,多路选择器,MUX,用来选择输入数据,符号控制,SC,用于对输入数据进,行符号位扩展,移位寄存器,用来对输入的数据,进行定标和移位,写选择电路,用来选择最高有效,字和最低有效字,2,桶形移位寄存器的输入,通过多路选择器,MUX,来选择输入信号,取自,DB,数据总线的,16,位,输入数据,取自,DB,和,CB,扩展数据总,线的,32,位输入数据,来自累加器,A,或,B,的,40,位,输入数据,3,桶形移位寄存器的输出,输出至,ALU,的一个

15、输入端,经写,MSW/LSW,最高,最低,有效字)写选择电路,输出至,EB,总线,MUX,符号控制,SC,移位寄存器,1631,写选择,MSW/LSW,CB15CB0,EB15EB0,测试位,Tc,ALU,CSSU,SXM,A,T,ASM(40,指令寄存器,立即数,1615,015,DB15DB0,B,第,2,章,TMS320C54x,的硬件结构,4,桶形移位寄存器的,功能,主要用于,格式化,操作,为输入的数据,定标,在进行,ALU,运算之前,对输入数据进行,数据定标,对累加器进行算术或逻辑移位,对累加器进行归一化处理,在累加器的内容存入数据存储器之前,对存储数,据进行,定标,第,2,章,TM

16、S320C54x,的硬件结构,5,桶形移位寄存器的操作,1,控制操作数的符号位扩展,根据,SXM,位控制操作数进行符号位的扩展,若操作数为有符号数,则,当,SXM=1,时,完成符号位扩展,当,SXM=0,时,禁止符号位扩展,若操作数为无符号数,则不考虑,SXM,位,不执,行符号位的扩展,如,LDU,ADDS,和,SUBS,指令,操作数为无,符号数,不进行符号位扩展,第,2,章,TMS320C54x,的硬件结构,2,控制操作数的移位,根据指令中的移位数,控制操作数进行移位操,作,移位数用二进制补码表示,正值,时完成左移,负值,时完成右移,移位数的形式,5,位立即数,取值范围,16,15,ST1,

17、中的,ASM,位,取值范围,16,15,暂存器,T,中的低,6,位数值,取值范围,16,31,这种移位操作能使,CPU,完成数据的定标、位提取,扩展算术和溢出保护等操作,例,2.4.2,对累加器,A,执行不同的移位操作,ADD A, - 4,B,A,右移,4,位后加到,B,中,ADD A, ASM,B,A,按,ASM,移位后加到,B,中,NORM A,按,T,的数值,对,A,进行归一化,桶形移位寄存器和指数译码器可以将累加器中的,数值在一个周期内进行归一化处理,例如,40,位累加器,A,中的,定点数为,FF FFFF F001,先用,EXP,A,指令,求得它的指数为,13H,存,放在,T,寄存

18、器中,然后再执行,NORM,A,指令,可在单个周期,内将原来的定点数分成,尾数,FF,8008,0000,和,指数,13H,两个部分,书,p239,定点转浮点,第,2,章,TMS320C54x,的硬件结构,2.4.6,指数编码器,EXP,指数编码器是一个用于支持,指数运算,指令的专用,硬件,可以在单周期内执行,EXP,指令,求,累加器中数,的指数值,指,数,编,码,器,EXP,累加器,A,累加器,B,T,寄存器,功能:求累加器中数据的,指数值,指数值,冗余符号位,8,第,2,章,TMS320C54x,的硬件结构,3,控制操作数完成带测试位的移位,根据,ROLTC,指令,控制操作数完成带测试位的

19、,循环左移,4,完成,MSW,和,LSW,的写选择,MSW/LSW,单元根据,CSSU,信号,选择移位后的,信号锁存,并输出至,EB,总线,乘法,累加单元,Multiplier/Adder Unit,MAC,单元具有强大的乘法,累加运算功能,可在一个流水线周期内完成,1,次乘法运算和,1,次加法运算。在数字滤波,FIR,和,IIR,滤波)以,及自相关等运算中,使用乘法,累加运算指令,可以大大提高系统的运算速度,第,2,章,TMS320C54x,的硬件结构,2.4.4,乘法,累加单元,MAC,C54x,的乘法,累加单元,MAC,是由乘法器、加法器,符号控制、小数控制、零检测器、舍入器、饱和逻辑,

20、和暂存器几部分组成,零检测,舍入器,饱和逻辑,取整,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,乘法,累加单元功能框图,1,乘法器,MAC,单元包含一个,17,17,位硬件乘法器,可完,成有符号数和无符号数的乘法运算,1,乘法器的输入,XM,输入,YM,输入,取自数据总线,DB,的数据存储器操作数,来自暂存器,T,的操作数,来自累加器,A,的,3216,位操作

21、数,来自数据总线,DB,的数据存储器操作数,来自数据总线,CB,的数据存储器操作数,来自程序总线,PB,的程序存储器操作数,来自累加器,A,的,3216,位操作数,第,2,章,TMS320C54x,的硬件结构,1,乘法器,2,乘法器的输出,乘法器的输出经小数控制电路接至加法器的,XA,输入端,3,乘法器的操作,MAC,单元的乘法器能进行有符号数、无符号数,以及有符号数与无符号数的乘法运算,第,2,章,TMS320C54x,的硬件结构,3,乘法器的操作,根据操作数的不同情况需进行以下处理,若是,两个有符号数,相乘,则在进行乘法运算之前,先,对两个,16,位乘数进行,符号位扩展,形成,17,位有符

22、号数后再进行,相乘,扩展的方法:在每个乘数的最高位前增加一个符号位,其,值由乘数的最高位决定,即正数为,0,负数为,1,若是,两个无符号数,相乘,则在两个,16,位乘数的最高位,前面添加,0,扩展为,17,位乘数后再进行乘运算,若是,有符号数与无符号数相乘,则有符号数在最高位,前添加,1,个符号位,其值由最高位决定,而无符号数在最高位,前面添加,0,然后两个操作数相乘,第,2,章,TMS320C54x,的硬件结构,3,乘法器的操作,由于乘法器在进行,两个,16,位二进制补码相乘时,会产生两个符号位,为提高运算精度,在状态寄存器,ST1,中设置了,小数方式控制位,FRCT,P236,当,FRCT

23、=1,时,乘法结果左移一位,消去多余,的符号位,相应的定标值加,1,第,2,章,TMS320C54x,的硬件结构,2,专用加法器,在,MAC,单元中,专用加法器用来完成乘积项的,累加运算,专用加法器,加法器,零检测器,舍入器,溢出,饱和逻辑电路,舍入器:用来对运算结果进行舍入处理,即将,目标累加器中的内容加上,2,15,然后将累加器的低,16,位清零,第,2,章,TMS320C54x,的硬件结构,2,专用加法器,1,加法器的输入,XA,输入:来自乘法器的输出,YA,输入,来自累加器,A,的操作数,来自累加器,B,的操作数,2,加法器的输出,输出经零检测器、舍入器和溢出,饱和逻辑电路,后,将产生

24、的状态标志送入状态寄存器,并将运算,结果送入累加器,A,或,B,第,2,章,TMS320C54x,的硬件结构,2.4.5,比较、选择和存储单元,CSSU,Compare, Select, and Store Unit,C54x,的比较、选择和存储单元,CSSU,是一,个特殊用途的硬件电路,专门用来完成,Viterbi,算法,中的加法,比较,选择,ACS,操作,比较电路,COMP,状态转移寄存器,TRN,状态比较寄存器,TC,CCSU,A,B,MSW/LSW,选择,EB15EB0,来自桶形移位器,多路选择器,MUX,MUX,COMP,TRN,TC,2.4.5,比较、选择和存储单元,CSSU,CS

25、SU,单元主要完成累加器的高阶位与低阶位之间最大,值的比较,即选择累加器中较大的字,并存储在数据存储器,中,比较电路,COMP,将累加器,A,或,B,的高阶位与低阶位进行比,较,比较结果分别送入,TRN,和,TC,中,记录比较结果以便程序,调试,比较结果输出至写选择电路,选择较大的数据,将选择的数据通过总线,EB,存入指定的存储单元,工作过程,第,2,章,TMS320C54x,的硬件结构,2.4.5,比较、选择和存储单元,CSSU,例如,CMPS,指令可以对累加器的,高阶位,和,低阶位,进行,比较,并选择较大的数存放在指令所指定的存储单元中,指令格式,CMPS A,AR1,功能:对累加器,A,

26、的,高,16,位字,AH,和,低,16,位字,AL,进行比较,若,AH,AL,则,AH,AR1,0,TRN,0,0,TC,若,AH,AL,则,AL,AR1,1,TRN,0,1,TC,第,2,章,TMS320C54x,的硬件结构,2.4.7,CPU,状态和控制寄存器,C54x,提供三个,16,位寄存器来作为,CPU,状态和控,制寄存器,它们分别为,状态寄存器,0,ST0,状态寄存器,1,ST1,工作方式状态寄存器,PMST,ST0,和,ST1,主要包含各种工作条件和工作方式的,状态,PMST,包含存储器的设置状态和其他控制信息,第,2,章,TMS320C54x,的硬件结构,2.4.7,CPU,状

27、态和控制寄存器,由于这些寄存器都是,存储器映像寄存器,因此,可以很方便地对它们进行如下数据操作,将它们快速地存放到数据存储器,由数据存储器对它们进行加载,用子程序或中断服务程序保存和恢复,处理器的状态,第,2,章,TMS320C54x,的硬件结构,2.4.7,CPU,状态和控制寄存器,1,状态寄存器,0,ST0,主要反映处理器的寻址要求和计算机的运行状态,ST0,的结构,15,13,12,11,10,9,8,0,ST0,ARP,TC,C,OVA,OVB,DP,ARP,辅助寄存器指针,用来选择使用单操作数间接寻址时的,辅助寄存器,AR0AR7,TC,测试,控制标志,用来保存,ALU,测试操作的结

28、果,TC,C,进位标志位,用来保存,ALU,加减运算时所产生的进,借位,OV,A/B,累加器,A/B,的溢出标志,用来反映,A/B,是否产生溢出,DP,数据存储器页指针,用来与指令中提供的,7,位地址结合形成,1,个,16,位数据存储器的地址,第,2,章,TMS320C54x,的硬件结构,2.4.7,CPU,状态和控制寄存器,2,状态寄存器,1 (ST1,15,14,13,12,11,10,9,8,7,6,5,40,BRAF,CPL,XF,HM,INTM,0,OVM,SXM,C16,FRCT,CMPT,ASM,FRCT,BRAF,块重复操作标志位,用来指示当前是否在执行块重复操作,BRAF=0

29、,表示当前不进行重复块操作,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,加载累加器,当负溢出时,将

温馨提示

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

评论

0/150

提交评论