TMS320C55x的硬件结构

上传人:ll****x 文档编号:242978935 上传时间:2024-09-13 格式:PPT 页数:77 大小:1.34MB
返回 下载 相关 举报
TMS320C55x的硬件结构_第1页
第1页 / 共77页
TMS320C55x的硬件结构_第2页
第2页 / 共77页
TMS320C55x的硬件结构_第3页
第3页 / 共77页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,2,章,TMS320C55x,的硬件结构,内容提要,本章详细介绍,TMS320C55x,的硬件结构,包括,C55x,处理器的,CPU,体系结构、指令流水线、存储空间结构及,TMS320VC5509A,的主要特性等。,1,知识要点,TMS320C55x DSP,的基本结构,TMS320VC5509A,的主要特性,TMS320C55x,存储空间结构,第,2,章,TMS320C55x,的硬件结构,2,2.1,TMS320C55x DSP,的基本结构,2.2 TMS320VC5509A,的主要特性,2.3,TMS320C55x,存储空间结构,第,2,章,TMS320C55x,的硬件结构,3,2.1 TMS320C55x DSP,的基本结构,TMS320C55x,在,C54x,的基础上发展起来的新一代低功耗、高性能数字信号处理器。,1,)软件具有,C54,兼容模式。,2,)工作时钟大大超过了,C54x,系列处理器,,3,),CPU,内部通过增加功能单元增强了,DSP,的运算能力,,具有更高的性能和更低的功耗。在无线通信、便携式个人数字系统及高效率的多通道数字压缩语音电话系统中得到广泛应用。,第,2,章,TMS320C55x,的硬件结构,4,C55x,与,C54x,相比,,C55x,在硬件方面做了许多扩展,具体如表,2-1,所示。,表,2-1 C55x,与,C54x,的比较,1,(,40,位),内 容,C54x,C55x,乘法累加器(,MAC,),1,2,累加器(,ACC,),2,4,读总线,2,3,写总线,1,2,地址总线,4,6,指令字长,16,位,8/16/24/32/40/48,位,数据字长,16,位,16,位,算术逻辑单元(,ALU,),1,(,40,位),1,(,16,位),1,(,40,位),辅助寄存器字长,2,字节(,16,位),3,字节(,24,位),辅助寄存器,8,8,存储空间,独立的程序,/,数据空间,统一的程序,/,数据空间,数据寄存器,0,4,第,2,章,TMS320C55x,的硬件结构,5,C55x,的一系列特征使它具有处理效率高、低功耗和使用方便的等优点,。,第,2,章,TMS320C55x,的硬件结构,表,2-2 C55x,的特征及优点,特 征,优 点,一个,32,位,16,指令缓冲队列,缓冲变长指令并完成有效的块重复操作,两个,17,位,17,位的乘法累加器,在一个单周期执行双乘法累加操作,一个,40,位算术逻辑单元(,ALU,),实现高精度算术和逻辑操作,一个,40,位桶形移位寄存器,能够将一个,40,位的计算结果最高向左移,31,位或向右移,32,位,一个,16,位算术逻辑单元(,ALU,),对主,ALU,并行完成简单的算术操作,4,个,40,位的累加器,保留计算结果,减少对存储单元的访问,12,条独立总线,其中包括,3,条读数据总线,2,条写数据总线,5,条数据地址总线,1,条读程序总线,1,条程序地址总线,为各种计算单元并行地提供将要处理的指令和操作数,利用,C55x,的并行机制的优点,用户可配置,IDLE,域,改进了低功耗电源管理的灵活性,6,2.2.2 VC5509A,的引脚功能,TMS320VC5509APGE,采用,塑料四方扁平封装形式,(,LQFP,),共有,144,个引脚,分为,并行总线引脚、,中断和复位引脚、,位输入,/,输出信号引脚、,I2C,引脚、,多通道缓冲串口信号引脚、,USB,引脚、,A/D,引脚、,测试引脚和电源引脚等,第,2,章,TMS320C55x,的硬件结构,7,1,并行总线引脚,并行总线,A13,A0,直接与外部引脚相连,这,14,个引脚可以完成以下三个功能:,HPI,地址总线(,HPI.HA13:0,),、,EMIF,地址总线(,EMIF.A13:0,),或,通用输入,/,输出(,GPIO.A13:0,)。,这三个功能可以通过外部总线选择寄存器(,EBSR,)中的并行端口模式字段来设置,这些引脚的初始状态由,GPIO0,引脚决定。,第,2,章,TMS320C55x,的硬件结构,8,上 电复位时,,GPIO0,管脚,=1,,,A13,:,0,,,D15,:,0,和,C14,:,0,被设置成,外部扩展总线,。,同时,,EBSR1,:,0,的值设置为,01,。,9,如果,GP1O0,在上电复位时接低电平,,A13:0,,,D15:0,和,C14,:,0,的功能被设置成,主机口,HPI,,同时,EBSR,被设置成,11,。,通过,GPIO,引脚实现的设置仅在复位时有效,它同时影响,EBSR1,:,0,的内容。,10,上电复位后,EBSR1,:,0,仅可能出现,01,和,11,两种取值,,00,和,10,在复位时不会出现。,11,软件配置:,当复位结束后,用户还可以通过,EBSR1,:,0,来改变,A13,:,0,,,D15,:,0,和,C14,:,0,的功能。,这种改变不受,GPIO,的影响,直到整个系统重新上电或重新复位。,12,EBSR1,:,0,两个寄存器可以实现,四种工作模式,,,其中,00,和,10,两种模式在复位时不会出现,必须由软件设置才能得到,,而,01,和,11,两种模式与,GPIO,引脚的配置相同。通常如果不考虑,00,和,10,两种模式,只需要配置,GPIO,通常引脚即可,软件可以不去处理,EBSR1:0,的内容。,13,并行双向数据总线,D15,D0(,注意书上写错了,),完成两个功能:,1 EMIF,数据总线(,EMIF.D15:0,),2,或,HPI,数据总线,HPI.HD15:0,同样,这两个功能可以通过外部总线选择寄存器,EBSR,中的并行端口模式位域来设置,这些引脚的初始状态由,GPIO0,引脚,决定。,14,15,16,2,中断引脚和复位引脚,中断引脚,INT4:0:,低电平有效的外部中断输入,由中断使能寄存器(,IER,),和中断模式位来屏蔽和区分优先次序。,引脚低电平有效,当该信号有效时,,DSP,将终止任务的执行并使程序指针指向,FF 8000h,,当变为高电平时,,DSP,从程序存储器,FF 8000h,的位置开始执行。,中断向量的高,16,位由,IVPD,(,DSP,中断向量指针)或,IVPH,(主机中断向量指针)决定,第,2,章,TMS320C55x,的硬件结构,17,18,19,3位输入,/,输出信号引脚,GPIO7:6,4:0,共,7,个输入,/,输出线,,可单独配置成输入或输出,作输出时又可单独被设置或清除。,DSP,复位时,这,7,个引脚被配置为输入线;,复位后,会采集,GPIO3:0,的电平来确定,DSP,的引导模式,XF,引脚作为外部标志,由,BSET XF,指令设置为高电平,有三种方式来设置,XF,为低电平:通过,BCLR XF,指令来设置、在多处理器协同工作时给其他处理器发信号而载入,ST1.XF,,或当,XF,作为通用输出引脚时。,第,2,章,TMS320C55x,的硬件结构,20,4,时钟信号引脚,CLKOUT,是,DSP,时钟输出信号引脚。其周期为,CPU,的机器周期。当为低电平时,该引脚呈高阻状态。,X2/CLKIN,是晶振连接到内部振荡器的输入引脚,若使用外部时钟时,该引脚作为外部时钟的输入引脚。,X1,是内部振荡器连接到外部晶振的输出引脚,如果不使用内部时钟,该引脚悬空。,TIN/TOUT0,是定时器,0,输入,/,输出引脚。作为输出引脚时,当片内定时器减到,0,时,该引脚发出一个脉冲或变化的状态。作为输入引脚时,该引脚为内部定时器模块系统时钟源。复位后,该引脚是输入状态。,RTCINX1,是实时时钟振荡器的输入引脚。,RTCINX2,是实时时钟振荡器的输出引脚。,第,2,章,TMS320C55x,的硬件结构,21,5,I2C,引脚,SDA,是,I2C,(双向)数据线。复位后,该引脚呈高阻状态。,SCL,是,I2C,(双向)时钟引脚。复位后,该引脚呈高阻状态。,第,2,章,TMS320C55x,的硬件结构,6,McBSP,信号引脚,TMS320C55x DSP,提供了高速多通道缓冲串口(,Multi-channel Buffered Serial Ports,,,McBSP,),,DSP,可以通过,McBSP,与其他,DSP,、编码器等器件相连。,22,7,USB,引脚,在,TMS320C55xDSP,产品中,,TMS320VC5507,、,TMS320VC5509,和,TMS320VC5509A,提供了,USB,模块。,DP,引脚是差分(正)接收,/,发送引脚。,DN,引脚是差分(负)接收,/,发送引脚。,PU,引脚是上拉引脚,用于上拉检测电阻。,第,2,章,TMS320C55x,的硬件结构,8,A/D,引脚,VC5509A,提供了一个,10,位的,A/D,转换器。,AIN0,和,AIN1,分别是模拟输入通道,0,和模拟输入通道,1,。,23,9,测试引脚,具有符合,IEEE1149.1,标准的测试,/,仿真接口:,TCK,引脚,-,测试时钟输入引脚。占空比为,50%,的方波信号。上升沿,TMS,和,TDI,在测试访问端口(,Test Access Port,,,TAP,)的变化记录到,TAP,控制器、指令寄存器或选定的测试数据寄存器中。,TAP,输出信号,TDO,在,TCK,的下降沿发生变化,TDI,引脚,-,测试数据输入引脚,,TCK,的上升沿将,TDI,记录到选定的指令或数据寄存器中。,TDO,引脚,-,测试数据输出引脚,在,TCK,的下降沿将选定的指令或数据寄存器的内容从,TDO,输出。,TMS,引脚,-,测试方式选择引脚,在,TCK,的上升沿将串行控制输入信号记录到,TAP,控制器中。,第,2,章,TMS320C55x,的硬件结构,24,TRST-,测试复位引脚,为高电平时,,DSP,芯片由,IEEE,标准,1149.1,扫描系统控制工作;引脚悬空或为低,则芯片正常工作。,EMU0-,仿真器中断,0,引脚。为低时,为了保证的有效性,,EMU0,必须为高电平。当为高电平时,,EMU0,是仿真系统的中断信号,并由,IEEE,标准,1149.1,扫描系统来定义是输入还是输出。,EMU1/OFF-,仿真器中断,1,引脚,/,关断所有输出引脚。当,TRST,为高时,,EMU1/,是仿真系统的中断信号。当为低电平时,,EMU1/OFF,被设置为,OFF,的有效性,将所有的输出设置为高阻状态。,第,2,章,TMS320C55x,的硬件结构,25,第,2,章,TMS320C55x,的硬件结构,10,电源引脚,CVDD,是数字电源,,对于时钟为,108MHz,、,144MHz,和,200MHz,的,DSP,对应的,CVDD,分别为,+1.2V,、,+1.35V,和,+1.6V,,为,CPU,内核提供专用电源,。,DVDD,是数字电源,,,+3.3V,,为,I/O,引脚,提供专用电源。,USBVDD,是数字电源,,,+3.3V,,,为,USB,模块,的,I/O,引脚提供专用电源。,26,RDVDD,是数字电源,对于时钟为,108MHz,、,144MHz,和,200MHz,的,DSP,对应的,RDVDD,分别为,+1.2V,、,+1.35V,和,+1.6V,,为,RTC,模块,的,I/O,引脚提供专用电源。,27,RCVDD,是数字电源,对于时钟为,108MHz,、,144MHz,和,200MHz,的,DSP,对应的,RCVDD,分别为,+1.2V,、,+1.35V,和,+1.6V,,为,RTC,模块提供专用电源。,AVDD,是模拟电源,,+3.3V,,为,10,位的,A/D,提供专用电源,。,ADVDD,,,+3.3V,,为,10,位,A/D,数字部分提供专用电源,。,第,2,章,TMS320C55x,的硬件结构,28,USBPLLVDD,是数字电源,对于时钟为,108MHz,、,144MHz,和,200MHz,的,DSP,对应的,USBPLLVDD,分别为,+1.2V,、,+1.35V,和,+1.6V,,为,USB,的,PLL,提供专用电源。,VSS,是数字地,为,I/O,和内核引脚接地。,AVSS,是模拟地,为,10,位,A/D,接地。,ADVSS,为,10,位,A/D,的数字部分接地。,USBPLLVSS,是数字地,为,USB,的,PLL,接地。,29,2.1.1 C55x,的,CPU,体系结构, 在通用计算机(,PC,机)上用软件(如,Fortran、C,语言)实现,但速度慢,不适合实时数字信号处理,只用于算法的模拟;, 在通用计算机系统中加入专用的加速处理机实现,用以增强运算能力和提高运算速度。不适合于嵌入式应用,专用性强,应用受到限制;,第,2,章,TMS320C55x,的硬件结构,根据功能的不同,CPU,分为,4,个单元,指令缓冲单元(,I,),程序流程单元(,P,),地址流程单元(,A,),数据计算单元(,D,),30,第,2,章,TMS320C55x,的硬件结构,TMS320C55x CPU,结构图,C55x,有,1,条,32,位的程序数据总线(,PB,),1,条,24,位的程序地址总线及,5,条,23,位的数据地址总线。,5,条,16,位数据总线(,BB,、,CB,、,DB,、,EB,、,FB,),总线通过存储器接口单元(,M,)与外部程序总线和数据总线相连,实现,CPU,对外部存储器的访问,CPU,能在一个,CPU,周期内完成,1,次,32,位程序代码读、,3,次,16,位数据读和两次,16,位数据写,31,一,PAB,上传送,24,位的程序代码地址,由,PB,将,32,位代码送入指令缓冲单元,I,进行译码。,第,2,章,TMS320C55x,的硬件结构,二,3,条读数据地址总线(,BAB,、,CAB,、,DAB,)与,3,条读数据的数据总线(,BB,、,CB,、,DB,)配合使用,即,BAB,对应,BB,、,CAB,对应,CB,和,DAB,对应,DB,。,地址总线指定数据空间或,I/O,空间地址,通过数据总线将,16,位数据传送到,CPU,的各个功能单元。,BB,只与,D,单元相连,用于实现从存储器到,D,单元乘法累加器(,MAC,)的数据传送。特殊的指令也可以同时使用,BB,、,DB,和,CB,来读取三个操作数。,32,三、,2,条写数据地址总线(,EAB,、,FAB,)与两条写数据数据总线(,EB,、,FB,)配合使用。,EAB-EB FAB-FB,。,地址总线指定数据空间或,I/O,空间地址,通过数据总线,将数据从,CPU,的功能单元传送到数据空间或,I/O,空间。,所有数据空间地址由,A,单元产生。,EB,和,FB,从,P,单元、,A,单元和,D,单元接收数据。,同时向存储器写两个,16,位数据的指令要使用,EB,和,FB,, 对于完成单写操作的指令只使用,EB,。,33,2.1.2,指令缓冲单元(,I,),由指令缓冲队列,IBQ,(,Instruction Buffer Queue,)和指令译码器组成。,第,2,章,TMS320C55x,的硬件结构,指令缓冲单元结构图,34,在每个,CPU,周期内,,I,单元接收,4Bytes,程序代码放入指令缓冲队列,指令译码器从队列中取,6Bytes,程序代码。,根据指令的长度可对,8,位、,16,位、,24,位、,32,位和,48,位的变长指令进行译码,然后把译码数据送入,P,单元、,A,单元和,D,单元去执行。,35,2.1.3,程序流程单元(,P,),由程序地址产生电路和寄存器组构成。,程序流程单元产生所有程序空间的地址,并控制指令的读取顺序。,第,2,章,TMS320C55x,的硬件结构,36,程序地址产生逻辑电路产生读取程序空间的,24,位地址。,一般情况下产生的是连续地址,如果指令要求读取非连续地址的程序代码时,程序地址产生逻辑电路能够接收来自,I,单元的立即数和来自,D,单元的寄存器值,并将产生的地址传送到,PAB,。,37,在,P,单元中使用的寄存器分为,5,种类型。,(,1,)程序流寄存器:程序计数器(,PC,),返回地址寄存器(,RETA,),控制流程关系寄存器(,CFCT,),(,2,)块重复寄存器:,包括块重复寄存器,0,和,1,(,BRC0,,,BRC1,),BRC1,的保存寄存器(,BRS1,),块重复起始地址寄存器,0,和,1,(,RSA0,,,RSA1,),块重复结束地址寄存器,0,和,1,(,REA0,,,REA1,),第,2,章,TMS320C55x,的硬件结构,38,(,3,)单重复寄存器:,单重复计数器(,RPTC,),计算单重复寄存器(,CSR,)。,(,4,)中断寄存器:,中断标志寄存器,0,和,1,(,IFR0,,,IFR1,),中断使能寄存器,0,和,1,(,IER0,,,IER1,),调试中断使能寄存器,0,和,1,(,DBIER0,,,DBIER1,);,(,5,)状态寄存器:,包括状态寄存器,0,,,1,,,2,和,3,(,ST0-55,,,ST1-55,,,ST2-55,和,ST3-55,)。,39,程序流程单元结构图,第,2,章,TMS320C55x,的硬件结构,40,2.1.4,地址流程单元(,A,),包括数据地址产生电路、算术逻辑电路和寄存器组构成。,数据地址产生电路(,DAGEN,)能够接收来自,I,单元的立即数和来自,A,单元的寄存器产生读取数据空间的地址。对于使用间接寻址模式的指令,由,P,单元向,DAGEN,说明采用的寻址模式。,第,2,章,TMS320C55x,的硬件结构,41,A,单元包括一个,16,位的算术逻辑电路(,ALU,),可接收,I,单元的立即数,也可以与存储器、,I/O,空间、,A,单元寄存器、,D,单元寄存器和,P,单元寄存器进行双向通信。,ALU,可以完成算术运算、逻辑运算、位操作、移位、测试等操作。,42,A,单元包括的寄存器有以下几种类型。,(,1,)数据页寄存器:包括数据页寄存器(,DPH,,,DP,)和接口数据页寄存器(,PDP,);,(,2,)指针:包括系数数据指针寄存器(,CDPH,,,CDP,)、栈指针寄存器(,SPH,,,SP,,,SSP,)和,8,个辅助寄存器(,XAR0,XAR7,);,(,3,)循环缓冲寄存器:包括循环缓冲大小寄存器(,BK03,,,BK47,,,BKC,)、循环缓冲起始地址寄存器(,BSA01,,,BSA23,,,BSA45,,,BSA67,,,BSAC,);,(,4,)临时寄存器:包括临时寄存器(,T0,T3,)。,第,2,章,TMS320C55x,的硬件结构,43,第,2,章,TMS320C55x,的硬件结构,地址流程单元结构图,44,2.1.5,数据计算单元(,D,),数据计算单元由移位器、算术逻辑电路、乘法累加器和寄存器组构成。,D,单元包含了,CPU,的主要运算部件。,45,移位器,:,接收来自,I,单元的立即数,能够与存储器、,I/O,空间、,A,单元寄存器、,D,单元寄存器和,P,单元寄存器进行双向通信。,还可以向,D,单元的,ALU,和,A,单元的,ALU,提供移位后的数据。,46,移位器可完成以下操作,(,1,)对,40,位的累加器可完成向左最多,31,位和向右最多,32,位的移位操作,移位数可从临时寄存器(,T0,T3,)读取或由指令中的常数提供;,(,2,)对于,16,位寄存器、存储器或,I/O,空间数据可完成左移,31,位或右移,32,位的移位操作;,(,3,)对于,16,位立即数可完成向左最多,15,位的移位操作。,47,D,单元的,40,位算术逻辑电路可完成以下操作:,(,1,)完成加、减、比较、布尔逻辑运算和绝对值运算等操作;,(,2,)能够在执行一个双,16,位算术指令时同时完成两个算术操作;,(,3,)能够对,D,单元的寄存器进行设置、清除等位操作。,第,2,章,TMS320C55x,的硬件结构,48,每条指令可通过片内多功能单元完成取指、译码、取操作数和执行等多个步骤,实现多条指令的并行执行,从而在不提高系统时钟频率的条件下减少每条指令的执行时间。其过程如图1.2.3所示。,第,2,章,TMS320C55x,的硬件结构,数据计数单元结构图,49,2.1.6,指令流水线,C55x CPU,采用指令流水线工作方式,,C55x,的指令流水线包括两个阶段:,第一阶段是取流水线,即从内存中取出,32,位的指令包,放入指令缓冲队(,IBQ,)中,然后为流水线的第二阶段提供,48,位的指令包。,第,2,章,TMS320C55x,的硬件结构,流水线的第一阶段(取流水线),其中,PF1,表示向存储器提供的程序地址,,PF2,表示等待存储器的响应,,F,表示从存储器取一个指令包并放入指令缓冲队列中,,PD,表示对指令缓冲队列中的指令预解码(确定指令的起始和结束位置;确定并行指令)。,50,第二阶段是指执行流水线,这部分的功能是对指令进行解码,完成数据的存取和计算。,第,2,章,TMS320C55x,的硬件结构,流水线的第二阶段(执行流水线),51,第,2,章,TMS320C55x,的硬件结构,流水线第二分段各阶段的执行情况,从指令缓冲队列中读,6,个字节的指令,对一个指令对或一个单指令进行解码,给对应的,CPU,功能单元分配指令,读取,STx_,中,55,种与数据地址产生相关的位,流水线节拍,内 容,D,从指令缓冲队列中读,6,个字节的指令,对一个指令对或一个单指令进行解码,给对应的,CPU,功能单元分配指令,读取,STx_,中,55,中与数据地址产生相关的位,ST1_55(CPL) ST2_55(ARnLC) ST2_55(ARMS),ST2_55(CDPLC),AD,读,/,修改与数据地址产生有关的寄存器,例如: *,ARx+(T0),中的,ARx,和,T0, BK03,(如果,AR2LC = 1,),SP,(,pushes,和,pops,过程中),SSP,在,32,位栈模式中与对,SP,的操作一致,在,A,单元的,ALU,中完成操作,例如:, 使用,AADD,指令进行算术运算, 用,SWAP,指令交换,A,单元中的寄存器, 向,A,单元的寄存器写入常量(,BKxx,,,BSAxx,,,BRCx,,,CSR,,等)在条件分支指令中,ARx,如果不等于,0,,,ARx-1,CPL,:0,数据空间直接寻址时使用,DP;1,时使用,SP,。,ARnLC,:0ARn,用作线性寻址,,1,循环寻址。,ARMS,:0DSP,模式操作数,能有效执行,DSP,专用程序;,1,控制模式操作数,能为控制系统的应用优化代码。,CDPLC,:0,系数数据指针线性寻址,,1,循环寻址。,BK03,:AR0AR3,所确定的循环缓冲区大小寄存器,.,SP,:,数据堆栈指针,SSP:,系统堆栈指针,(,软件中断、软件陷阱、软件复位、无条件和条件调用及返回、中断返回,BSA01:AR0,和,AR1,指向的循环缓冲区的起始地址,主数据页由,AR0H,提供。,BRC0,BRC1,:,块循环计数器,CSR:,经过计算的单循环计数器,(1),AMOV #k23, XARx,:在,AD,节拍用一个立即数对,XARx,初始化;,(2),AADD #k, ARx,:对于这个特殊指令,在,AD,节拍用一个立即数对,ARx,初始化;,(3),MOV *ARx+, AC0,:在,AD,节拍对,ARx,进行读和更新操作,在,X,节拍载入,AC0,;,(4),PUSH, POP,RET,或,AADD #K8, SP,:在,AD,节拍读取和修改,SP,,如果选择,32,位栈模式,,SSP,会发生变化;,(5),XCC overflow(ACx),| MOV *AR1+, AC1,:在,AD,节拍判断条件,只有满足条件时,,AR1,加,1,52,流水线第二分段各阶段的执行情况(续),流水线节拍,内 容,AC1,在存储器读操作中,在相应的,CPU,地址总线上传送地址,AC2,允许存储器对请求的响应是一个周期,R,从存储器和通过映射方式寻址的寄存器中读数据,在,R,节拍执行,D,单元的预取,A,单元寄存器指令时,读,A,单元的寄存器,在,R,节拍判断条件指令的条件,X,读,/,修改不通过映射方式寻址的寄存器,读,/,修改寄存器中的单个位,设置条件,如果指令不是向存储器中写,就判断,XCCPART,的条件,判断,RPTCC,指令的条件,W,向存储器映射方式寻址的寄存器或,I/O,空间写数据,向存储器写数据,从,CPU,来看,写操作在该节拍完成,W+,向存储器写数据,从存储器来看,写操作在该节拍完成,第,2,章,TMS320C55x,的硬件结构,MOV *,ARx,+, AC0,:在,AD,节拍对,ARx,进行读和更新操作,在,R,节拍读取*,ARx,+,在,X,节拍载入,AC0,;,XCCPART,overflow(ACx)|MOV,AC1,*AR1+,:在,R,节拍判断条件,满足条件向存储器完成写操作,但是不管条,件是否满足,,AR1,都会加,1;,MOV,mmap(ARx,) ,ACx,:,ARx,是通过存储器映射方式寻址的,在,R,节拍读取,ARx,,在,X,节拍修改,ACx,;,ADD #k,ARx,:在,X,节拍的开始时刻读,ARx,,在,X,节拍的结束时刻修改,ARx,;,MOV,ARx,ACx,:,ARx,不是通过存储器映射方式寻址的,在,X,节拍读取,ARx,,在,X,节拍修改,ACx,;,MOV #k,ARx,:,ARx,不是通过存储器映射方式寻址的,在,X,节拍用一个立即数初始化,ARx,;,ADD,ACy,ACx,:在,X,节拍读,/,写,ACx,和,ACy,;,BSET CPL,:在,X,节拍设置,CPL,位;,XCCPART,overflow(ACx,) | MOV *AR1+, AC1,:在,X,节拍判断条件,但是不管条件是否满足,,AR1,都会加,1,;,MOV,mmap(ARx,) ,ACx,:,ARx,是通过存储器映射方式寻址的,在,R,节拍读取,ARx,,在,X,节拍修改,ACx,;,MOV #k,mmap(ARx,),:,ARx,是通过存储器映射方式寻址的,在,W,节拍用一个立即数初始化,ARx,;,MOV #k, *,ARx,+,:在,W+,节拍对存储器进行写操作;,53,如果,DSP,芯片在某时钟频率范围内的任何频率上都能正常工作,除计算速度有变化外,没有性能的下降,这类,DSP,芯片一般称之为静态,DSP,芯片。,例如,,TI,公司的,TMS320,系列芯片、日本,OKI,电气公司的,DSP,芯片都属于这一类芯片。,第,2,章,TMS320C55x,的硬件结构,下面通过举例来说明流水线的工作方式。,AMOV #k23, XARx :,在,AD,节拍用一个立即数对,XARx,初始化;,MOV #k, ARx :ARx,不是通过存储器映射方式寻址的,在,X,节拍用一个立即数初始化,ARx,;,MOV #k, mmap(ARx),:,ARx,是通过存储器映射方式寻址的,在,W,节拍用一个立即数初始化,ARx,;,AADD #k, ARx,:对于这个特殊指令,在,AD,节拍用一个立即数对,ARx,初始化;,MOV #k, *ARx+,:在,W+,节拍对存储器进行写操作;,MOV *ARx+, AC0,:在,AD,节拍对,ARx,进行读和更新操作,在,X,节拍载入,AC0,;,ADD #k, ARx,:在,X,节拍的开始时刻读,ARx,,在,X,节拍的结束时刻修改,ARx,;,ADD ACy, ACx,:在,X,节拍读,/,写,ACx,和,ACy,;,54,第,2,章,TMS320C55x,的硬件结构,MOV mmap(ARx) , ACx,:,ARx,是通过存储器映射方式寻址的,在,R,节拍读取,ARx,,在,X,节拍修改,ACx,;,MOV ARx, ACx,:,ARx,不是通过存储器映射方式寻址的,在,X,节拍读取,ARx,,在,X,节拍修改,ACx,;,BSET CPL,:在,X,节拍设置,CPL,位;,PUSH, POP, RET,或,AADD #K8, SP,:在,AD,节拍读取和修改,SP,,如果选择,32,位栈模式,,SSP,会发生变化;,XCCPART overflow(ACx),:在,X,节拍判断条件,但是不管条件是否满足,,AR1,都会加,1,;,| MOV *AR1+, AC1,XCCPART overflow(ACx),:在,R,节拍判断条件,满足条件向存储器完成写操作,但是不,| MOV AC1, *AR1+,管条件是否满足,,AR1,都会加,1,XCC overflow(ACx),:在,AD,节拍判断条件,只有满足条件时,,AR1,加,1,| MOV *AR1+, AC1,55,2.2 TMS320VC5509A,的主要特性,第,2,章,TMS320C55x,的硬件结构,2.2.1 VC5509A,的主要特性,VC5509A,是,C55x,系列一款典型的处理器。在,VC5509A,中集成了一个,C55x,内核。,128KB,16,位片上,RAM,存储器,,具有最大,8MB,16,位的外部寻址空间,,还集成了,USB,总线、,McBSP,和,I2C,等外部接口。,56,1,CPU,第,2,章,TMS320C55x,的硬件结构,两个乘法累加单元(,MAC,):每个乘法累加单元可在一个周期内处理,17,位,17,位的乘法运算。,40,位的算术逻辑单元(,ALU,)和一个,16,位的算术逻辑单元:由,CPU,中的地址单元(,AU,)和数据单元(,DU,)进行管理。,采用先进的多总线结构:通过三条内部数据,/,操作数来读总线和两条内部数据,/,操作数来写总线,从而完成对指令和数据的访问。,57,2,存储器,有,128KB16,位的片上,RAM,:包括,64KB,的双存取,RAM,(,DARAM,)和,192KB,的单存取,RAM,(,SARAM,)。,8MB16,位的最大可访问外部寻址空间(同步,DRAM,),外部存储器接口(,EMIF,)与通用输入,/,输出(,GPIO,)共用引脚,当不使用外部存储器接口时,这些引脚可以当作通用输入,/,输出接口来使用,,EMIF,接口可以实现与异步静态,RAM,(,SRAM,)、异步(,EPROM,)和同步,DRAM,(,SDRAM,)的无缝连接。,第,2,章,TMS320C55x,的硬件结构,58,3,片上外设,两个,20,位的定时器。,一个看门狗定时器。,6,通道直接存储器存取控制器(,DMA,),,DMA,控制器在不需要,CPU,干预的情况下可以提供,6,路独立的通道用于数据传输,并且可达每周期两个,16,位数据的吞吐量。,外部存储器接口(,EMIF,),它提供与异步存储器如,EPROM,、,SRAM,及高密度存储器如同步,DRAM,的无缝连接。,三个串口支持最多三个多通道缓冲串口(,McBSP,)或最多两个多媒体,/,安全数字卡接口。三个全双工多通道缓冲串口(,McBSP,)提供了与各种工业级串行设备的无缝接口,其多通道通信最多可以实现,128,个独立通道。,增强型主机接口(,EHPI,)是一个,16,位的并行接口,主机能够提供,HPI,接口访问,5509A,上的,32KB,片上存储器。,可编程锁相环(,DPLL,)时钟发生器。,USB,全速(,12Mbps,)从端口。,I2C,主从接口。,一个实时时钟。,第,2,章,TMS320C55x,的硬件结构,59,2.3 TMS320C55x,存储空间结构,C55x DSP,的存储空间包括,统一的数据,/,程序空间,和,I/O,空间,。,1,,,数据空间,用于访问存储器和内存映射寄存器,,2,,,程序空间,用于,CPU,从存储器中读取指令,,3,,,I/O,空间,用于,CPU,与外设之间的双向通信。,第,2,章,TMS320C55x,的硬件结构,60,2.3.1,存储器映射,C55x,的寻址空间为,16MB,,当,CPU,从程序空间,读取程序代码,时,使用,24,位,地址,,当,访问数据空间,时,使用,23,位,的地址。,在,访问数据空间时,将,23,位地址左移一位,,并将地址总线上的最低有效位(,LSB,)置,0,,使得在对数据空间或程序空间寻址时,地址总线都传送,24,位地址。,第,2,章,TMS320C55x,的硬件结构,61,第,2,章,TMS320C55x,的硬件结构,存储器映射,62,数据空间被分成,128,个主数据页(第,0,页到第,127,页),,每个主数据页的大小为,64K,字,指令通过,7,位的主数据页值和,16,位的偏移值共同来确定数据空间的任何一个地址。,在第,0,主数据页中,前,96,个地址(,00 0000h,00 005Fh,)为存储映射寄存器(,MMR,)保留,相对应在程序空间有,192,个地址(,00 0000h,00 00BFh,),这段存储区为系统保留区,用户不能使用该区。,63,2.3.2,程序空间,当,CPU,读取指令时,程序空间才被访问。,CPU,采用字节寻址来读取变长的指令,指令的读取要和,32,位的偶地址对齐(地址的低两位为零)。,第,2,章,TMS320C55x,的硬件结构,1,字节寻址(,24,位),当,CPU,从程序空间读取指令时,采用字节寻址,即地址分配给各个字节,且地址为,24,位。下面是一行,32,位宽的存储器的地址分配,每个字节分配一个地址,例如字节,0,的地址是,00 0100h,,字节,2,的地址是,00 0102h,。,字节地址,00 0100h,00 0103h,字节,1,字节,0,字节,2,字节地址,100,103h,字节,3,64,DSP,支持,8,位、,16,位、,24,位、,32,位和,48,位长度的指令。表,2-5,和图,2-9,说明了指令在程序空间如何存放。在,32,位宽的存储器中存放了,5,条指令,每一条指令的地址是指操作码最高有效字节的地址,阴影部分表示没有代码。,2,程序空间的指令结构,表,2-5,指令长度及地址分配,指 令,长度(位),地 址,A,24,00 0101h,B,16,00 0104h,C,32,00 0106h,D,8,00 010Ah,E,24,00 010Bh,65,图,2-9,存储器中的指令,表,2-5,指令长度及地址分配,指 令,长度(位),地 址,A,24,00 0101h,B,16,00 0104h,C,32,00 0106h,D,8,00 010Ah,E,24,00 010Bh,66,在程序空间存放指令时不需要边界对齐,当读取指令时要和,32,位的偶地址对齐。也就是说,在读取一条指令时,,CPU,要从最低两位是,0,的地址读取,32,位的代码,这样的地址其最低位应是,0h,,,4h,,,8h,和,Ch,。,第,2,章,TMS320C55x,的硬件结构,3,程序空间的边界对齐,67,CPU,不连续执行时,可能写到程序计数器,PC,中的地址值和程序空间的读取地址不一致,例如,执行一个子程序,B,:,CALL #subroutineB,假设子程序的第一条指令,C,的地址是,00 0106h,,,PC,的值是,00 0106h,,但是读程序地址总线(,PAB,)上的值是,32,位边界地址,00 0104h,,,CPU,在,00 0104h,地址开始读取,4,字节的代码,而第一个被执行的指令是,C,。,68,C55x DSP,采用字寻址来读,/,写数据空间的,8,位、,16,位或,32,位数据。,第,2,章,TMS320C55x,的硬件结构,2.3.2,数据空间,1,字寻址(,23,位),当,CPU,访问数据空间时,采用字寻址,即为每个,16,位的字分配一个,23,位宽的地址,下面说明了一行,32,位宽的存储器的地址分配,字,0,的地址为,00 0100h,,字,1,的地址为,00 0101h,。,字,1,字,0,字地址,100H,101H,69,第,2,章,TMS320C55x,的硬件结构,由于地址总线是,24,位宽,所以,当,CPU,读,/,写数据空间时,,23,位的地址左移一位,最低位补,0,。,例如,一条指令在,23,位地址,00 0102h,上读一个字,读数据地址总线上传送的值是,00 0204h,,如下所示。,字地址:,000 0000 0000,0001,0000,0010,读数据地址总线:,0000 0000 0000 0010 0000 010,0,70,第,2,章,TMS320C55x,的硬件结构,2,数据类型,C55x DSP,指令处理的数据类型有,8,位、,16,位和,32,位。,数据空间是采用字寻址,但,C55x,有专门的指令可以选择字的高字节或低字节,进行,8,位数据的处理。,字节装载,指令将从,数据空间读取的字节,进行,0,扩展或符号,扩展,然后装入寄存器中;,字节存储,指令可将,寄存器中的低,8,位数据,存储到数据空间指定的地方。,71,第,2,章,TMS320C55x,的硬件结构,字节装载和字节存储指令,指 令,存取的字节,操 作,MOV high_byte(Smem) , dst,MOV low_byte(Smem) , dst,MOV high_byte(Smem)#SHIFTW , ACx,MOV low_byte(Smem) #SHIFTW , ACx,Smem(15,8),Smem(7,0),Smem(15,8),Smem(7,0),字节装载,MOV src , high_byte(Smem),MOV src , low_byte(Smem),Smem(15,8),Smem(7,0),字节存储,Smem,表示一个,16,位的单字操作数,72,第,2,章,TMS320C55x,的硬件结构,当,CPU,存取长字时,存取地址是指,32,位数据的,高,16,位(,MSW,)的地址,,而低,16,位(,LSW,)的地址取决于,MSW,的地址。具体说明如下所示。,如果,MSW,的地址是偶地址,则,LSW,的地址加,1,。,LSW,MSW,字地址,100,101h,如果,MSW,的地址是奇地址,则,LSW,的地址减,1,。,MSW,LSW,字地址,100,101h,对于已确定地址的,MSW,(,LSW,),将其地址的最低有效位取反,可得到,LSW,(,MSW,)的地址。,73,第,2,章,TMS320C55x,的硬件结构,3,数据空间的数据结构,下面通过实例来说明数据在数据空间是如何存储的。有,7,种变长的数据存储在,32,位宽的存储器中。,根据表,2-7,和图,2-10,可以看出,为了存取一个长字必须参考它的,MSW,,,C,的存取地址是,00 0102h,,,D,的存取地址是,00 0105h,;字地址也可以存取字节,如在地址,00 0107h,上,同时存放了数据,F,(高字节)和数据,G,(低字节)。利用表,2-6,中的专用指令可以进行字节的存取。,字 地 址,字,0,字,1,00 0100h,00 0101h,A,B,00 0102h,00 0103h,C,(,31,16,),C,(,15,0,),00 0104h,00 0105h,D,(,15,0,),D,(,31,16,),00 0106h,00 0107h,E,F,G,74,第,2,章,TMS320C55x,的硬件结构,表,2-7,数据长度及地址分配,数 据,数 据 类 型,地 址,A,字节,00 0100h,(低字节),B,字,00 0101h,C,长字,00 0102h,D,长字,00 0105h,E,字,00 0106h,F,字节,00 0107h,(高字节),G,字节,00 0107h,(低字节),75,第,2,章,TMS320C55x,的硬件结构,图,2-10,存储器中的指令,字 地 址,字,0,字,1,00 0100h,00 0101h,A,B,00 0102h,00 0103h,C,(,31,16,),C,(,15,0,),00 0104h,00 0105h,D,(,15,0,),D,(,31,16,),00 0106h,00 0107h,E,F,G,76,第,2,章,TMS320C55x,的硬件结构,2.3.4 I/O,空间,C55x DSP,的,I/O,空间,与,数据,/,程序空间,是分开的,采用,16,位宽的字寻址,即为每个字分配一个,16,位地址,其寻址范围为,64K,字,如下所示:,地址,I/O,空间,0000h,FFFFh,64K,字,当,CPU,访问,I/O,空间时,用,DAB,读数据,用,EAB,写数据。由于,DAB,和,EAB,都是,24,位的,所以在,16,位地址前补,0,构成,24,位地址。例如,一个指令在地址,0102h,处读取一个字,,DAB,上传送的地址是,00 0102h,。,77,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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