TMSC结构与工作原理.pptx
《TMSC结构与工作原理.pptx》由会员分享,可在线阅读,更多相关《TMSC结构与工作原理.pptx(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要内容DSP芯片组成中央处理器总线结构存储系统片内外设和引脚中断系统第1页/共111页DSP的硬件结构特点运算速度快组成CPU存储器系统片内外设其他功能模块第2页/共111页C54x芯片的基本结构CPU片内存储器串行通信接口PLLJTAGHPI通用I/0口中断系统Timer其他硬件电路可编程分区转换逻辑软件可编程等待状态发生器第3页/共111页TMS320C5416的硬件结构框图JTAG 测试/仿真接口McBSP1McBSP2McBSP3Clock PLL Generator HPI GP I/OS/W WaitstateGenerator64KW 单访问RAM 64KW 双访问RAM 16
2、KW ROMCPUTimerPeripheral BusProgram/Data BusesDMA电源管理第4页/共111页中央处理器CPU40位算术逻辑运算单元ALU40位累加器A和B桶形移位寄存器,支持-16至31移动范围乘法/累加器16位暂存器T16位传输寄存器TRN比较、选择和存储单元CSSU指数编码器CPU状态和控制寄存器。第5页/共111页系统控制接口程序地址产生器PAGEN数据地址产生器DAGEN存储器和外部接口DMA控 制器片内外设PABPBCABCBDABDBEABEB乘法/加法器算术逻辑单元ALU指数编码器CPU状 态 控制寄存器桶形移位寄存器比较、选择和存储单元累加器B累
3、加器ACPU第6页/共111页CPU状态和控制寄存器 状态寄存器0(ST0)主要反映处理器的寻址要求和计算机的运行状态主要反映处理器的寻址要求和计算机的运行状态状态寄存器1(ST1)主要反映处理器的寻址要求、计算初始状态的设主要反映处理器的寻址要求、计算初始状态的设置、置、I/OI/O及中断的控制等。及中断的控制等。处理器工作模式状态寄存器(PMST)主要设定和控制处理器的工作方式和存储器的配主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态置,反映处理器的工作状态由于三个寄存器都是存储器映射的,他们都能存储到数据存储器或从数据存储器中获得。它们也能用子程序或中断服务子程序(I
4、SR)保存或恢复。第7页/共111页1状态寄存器0(ST0):主要反映处理器的寻址要求和计算机的运行状态。主要反映处理器的寻址要求和计算机的运行状态。15 1312111098 0ST0:ARPTCCOVAOVBDPARPARPARPARP:辅助寄存器指针辅助寄存器指针。用来选择使用单操作数间接寻址时的用来选择使用单操作数间接寻址时的 辅助寄存器辅助寄存器AR0AR7AR0AR7。ARPARPTCTCTCTC:测试测试/控制标志控制标志。用来保存用来保存ALUALU测试操作的结果。测试操作的结果。TCTCC CC C:进位标志位进位标志位。用来保存用来保存ALUALU加减运算时所产生的进加减运
5、算时所产生的进/借位。借位。C COVBOVBOVAOVAOVA/BOVA/B:累加器累加器A/BA/B的溢出标志。的溢出标志。用来反映用来反映A/BA/B是否产生溢出。是否产生溢出。OVBOVBOVAOVADPDPDPDP:数据存储器页指针。数据存储器页指针。用来与指令中提供的用来与指令中提供的7 7位地址结合形成位地址结合形成1 1个个 1616位数据存储器的地址。位数据存储器的地址。DPDP第8页/共111页2状态寄存器1(ST1):主主要要反反映映处处理理器器的的寻寻址址要要求、计算初始状态的设置、求、计算初始状态的设置、I/OI/O及中断的控制等。及中断的控制等。1514131211
6、109876540BRAF CPLXFHMINTM0OVM SXM C16 FRCT CMPTASMBRAFCPLXFHMINTM0OVM SXMC16FRCTCMPTASMBRAFBRAF:块重复操作标志位。块重复操作标志位。用来指示当前是否在执行块重复操作。用来指示当前是否在执行块重复操作。BRAF=0BRAF=0 表示当前不进行重复块操作;表示当前不进行重复块操作;BRAF=1BRAF=1 表示当前正在进行块重复操作。表示当前正在进行块重复操作。CPLCPL:直接寻址编辑方式标志位;直接寻址编辑方式标志位;用来指示直接寻址选用何种指针。用来指示直接寻址选用何种指针。CPL=0CPL=0
7、选用数据页指针选用数据页指针DPDP的直接寻址;的直接寻址;CPL=1CPL=1 选用堆栈指针选用堆栈指针SPSP的直接寻址。的直接寻址。XFXF:外部外部XFXF引脚状态控制位。引脚状态控制位。用来控制用来控制XFXF通用外部输出引脚的状态。通用外部输出引脚的状态。执行执行SSBXSSBX XF=1XF=1 XFXF通用输出引脚为通用输出引脚为1 1;执行执行RSBXRSBX XF=0XF=0 XFXF通用输出引脚为通用输出引脚为0 0。HMHM:保持方式位;响应保持方式位;响应HOLDHOLD信号时,指示信号时,指示 CPUCPU是否继续执行内部操作。是否继续执行内部操作。HM=0HM=0
8、 CPUCPU从内部程序存储器取指,从内部程序存储器取指,继续执行内部操作。继续执行内部操作。HM=1HM=1 CPUCPU停止内部操作。停止内部操作。INTMINTM:中断方式控制位;中断方式控制位;用于屏蔽或开放所有可屏蔽中断。用于屏蔽或开放所有可屏蔽中断。INTM=0INTM=0 开放全部可屏蔽中断;开放全部可屏蔽中断;INTM=1INTM=1 禁止所有可屏蔽中断。禁止所有可屏蔽中断。0 0:保留位,未被使用,总是读为保留位,未被使用,总是读为0 0。OVMOVM:溢出方式控制位;溢出方式控制位;用来确定累加器溢出时,对累加器的加载方式。用来确定累加器溢出时,对累加器的加载方式。OVM=
9、0OVM=0 将运算的溢出结果直接加载到累加器中;将运算的溢出结果直接加载到累加器中;OVM=1OVM=1 当正溢出时,将当正溢出时,将007FFFFFFFH007FFFFFFFH加载累加器;加载累加器;当负溢出时,将当负溢出时,将FF80000000HFF80000000H加载累加器。加载累加器。SXMSXM:符号位扩展方式控制位;用来确定数据符号位扩展方式控制位;用来确定数据 在在运算之前是否需要符号位扩展。运算之前是否需要符号位扩展。SXM=0SXM=0 数据进入数据进入ALUALU之前禁止符号位扩展;之前禁止符号位扩展;SXM=1SXM=1 数据进入数据进入ALUALU之前进行符号位扩
10、展。之前进行符号位扩展。C16C16:双双1616位位/双精度算术运算方式控制位;双精度算术运算方式控制位;用来决定用来决定ALUALU的算术运算方式。的算术运算方式。C16=0C16=0 ALUALU工作在双精度算术运算方式;工作在双精度算术运算方式;C16=1C16=1 ALUALU工作在双工作在双1616位算术运算方式。位算术运算方式。FRCTFRCT:小数方式控制位;小数方式控制位;用用来确定乘法器的运算方式。来确定乘法器的运算方式。FRCT=1FRCT=1 乘法器的输出左移一位,乘法器的输出左移一位,消除多余的符号位。消除多余的符号位。C CMPTMPT:间接寻址辅助寄存器修正方式控
11、制位;间接寻址辅助寄存器修正方式控制位;用来决定用来决定ARPARP是否进行修正。是否进行修正。CMPT=0CMPT=0 在进行间接寻址单操作数时,不修正在进行间接寻址单操作数时,不修正ARPARP;CMPT=1CMPT=1 在进行间接寻址单操作数时,修正在进行间接寻址单操作数时,修正ARPARP。ASMASM:累加器移位方式控制位。累加器移位方式控制位。为为某某些些具具有有移移位位操操作作的的指指令令设设定定一一个个从从-16151615范围内的移位值。范围内的移位值。BRAFCPLXFHMINTM0OVM SXMC16FRCTCMPTASM第9页/共111页3工作方式状态寄存器PMST:主
12、要设定和控制主要设定和控制处理器的工作方式和存储器的配置,反映处理处理器的工作方式和存储器的配置,反映处理器的工作状态。器的工作状态。SSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR0123456157中中断断向向量量指指针针CPUCPU工工作作方方式式选选择择位位RAMRAM重重复复占占位位标标志志地地址址可可见见控控制制位位数数据据ROMROM映映射射选选择择位位时时钟钟输输出出选选择择位位乘乘法法饱饱和和方方式式位位存存储储饱饱和和位位第10页/共111页IPTR:用来指示中断向量所驻留的128字程序地置;MP/MC:用来确定是否允许使用片内ROM OVLY:用来决定
13、片内DARAM是否映射到程序空间。AVIS:用来决定是否可以从器件地址引脚线看到内部程序空间地址线;DROM:用来决定片内程序存储器是否可以映射到数据空间;CLKOFF:用来决定时钟输出引脚CLKOUT是否有信号输出;SMUL:用来决定乘法结果是否需要进行饱和处理;SST:用来决定累加器中的数据在存储到存储器之前,是否需要饱和处理。第11页/共111页算术逻辑运算单元40位ALU(Arithmetic Logic Unit)配合累加器A和B,执行算术、逻辑运算、布尔运算功能,绝大多数算术逻辑运算指令都在一个周期内完成。一个运算操作在ALU执行后,运算的结果一般被送到累加器A或B中(执行存储操作
14、指令ADDM、ANDM、ORM、XORM除外)第12页/共111页算术逻辑运算单元ALU累加器A累加器B数据总线CB15-CB0数据总线DB15-DB0乘法/累加单元(MAC)输出符号控制符号控制转移输出(40)ADD*AR1ADD*AR1,AA第13页/共111页ALU的输入移位器输出(32位或16位数据存储器操作数或者移位后累加器的值)。数据总线DB的数据存储器操作数。Y端的输入来自下列3个方向中的一个:累加器A或B。数据总线CB的数据存储器操作数。T寄存器的数据ALU的输出ALU的输出为40位,被送入累加器A或B。第14页/共111页ALU溢出处理和ST1中的OVM有关.发生溢出时后,溢
15、出标志位OVA或OVB置位,直到复位或执行溢出条件指令时恢复。ALU进位位ALU的进位位C受大多数算术指令影响(包括循环和移位指令)。进位位可以用来支持扩展精度的算术运算。进位位不受累加器装载、逻辑运算、其他非算术指令或控制指令影响,所以它还可以用来进行溢出管理。根据进位位的值,可以利用条件操作指令C和NC来进行分支转移、调用或返回操作。利用指令RSBX、SSBX或硬件复位来对进位位置位。第15页/共111页双16位算术运算CPU状态寄存器ST1的C16如果处于置位状态,用户就可以让ALU在单周期内进行特殊的双16位算术运算,即进行两次16位加法或两次16位减法。举例DADST Lmen,ds
16、t;C16=1C16=1则:则:;LmemLmem(3131至至1616)+Tdst+Tdst(3939至至1616);LmemLmem(1515至至0 0)-Tdst-Tdst (1515至至0 0);C16=0C16=0则:则:;dst=Lmem+dst=Lmem+(T16+T)TA(150);则A(3116)-*AR1,;TRN左移1位,0-TRN(0),0-TC;否则A(150)-*AR1,TRN左移1位,;1-TRN(0),1-TC,TRN状态转移寄存器,TC测试控制寄存器If (M1+D1)(M2+D2)then N1=M1+D1Else N1=M2+D2D1D2M1(尺度1)M2
17、(尺度2)2*J2*J+1N1JN2J+8D1D2第26页/共111页指数编码器 指数编码器是一个在单周期内完成EXP指令的专用硬件,其结构如图2.8所示。该指令获得累加器中的指数值并以二进制补码的形式(-8至31)把它存储到T中。为消除多余符号位而将累加器中的数值左移,其左移的位数和累加器指数值冗于符号位-8有关,当累加器的值超过32位时,这个结果为负数。EXP指数编码器ABT寄存器第27页/共111页举例举例EXP A EXP A ;T T把累加器把累加器A A的指数的指数T TST TST T,EXPONENT EXPONENT ;保存指数(;保存指数(T T)到数据存储区)到数据存储区
18、NORM A NORM A ;归一化寄存器;归一化寄存器A A,依靠,依靠T T的值移动累加的值移动累加器器A A的值的值若:若:4040位累加器位累加器AA中的定点数中的定点数FFFFFFF001FFFFFFF001 则:1111111111111111111111111111000000000001 1111111110000000000010000000000000000000 则:T=27-8=19 则:NormA;需要左移19位,结果如下 第28页/共111页总线结构 C54x系列DSP的总线结构是由8条16位总线构成(4条程序/数据总线和4条地址总线)。程序总线PB:传送来自程序存
19、储器的指令和立即数。数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器去的数据。地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。第29页/共111页总线结构图:Program A/D Bus(P)Data Read A/D Bus(D)Data Read A/D Bus(C)Data Write A/D Bus(E)ExtlMemI/FADInternalMemoryExternalMemoryExternal:1 access/cycleup to 8
20、M words programInternal:Up to 4 accesses/cycle第30页/共111页第31页/共111页存储器普通存储器的概念ROM和RAM存储器的计算通常来说,存储器的容量是和它的地址线和数据线有关的。在地址线、数据线不复用的情况下,比如10根地址线8根数据线组成的存储器,通常的存储容量就是8bit,即寻址空间为1024,存储容量为1K字节;又如16根地址线16根数据线组成的存储器,通常的存储容量就是16bit,即寻址空间为8K,存储容量为8K字 第32页/共111页64K Words的DARAM(双访问RAM)p每一块,被分成块,由低地址开始记作DARAM0DA
21、RAM7p在同一块内一个指令周期支持两个操作64K Words的SARAM(单访问RAM)p每一块,被分成块,由低地址开始记作SARAM0SARAM7p在同一块内一个指令周期仅支持一个操作,但支持一个指令周期同时对不同的块完成两个操作16K Words的ROMp掩模ROM,只能读不能写TMS320VC5416 DSP的内部存储资源第33页/共111页第34页/共111页片内ROM内容 C54x器件提供了各种ROM尺寸(2K字、4K字、16K字、28K字、48K字)。片内ROM引导区2K字(F800H-FFFFH)范围内一般包含下列内容,具体型号内容可以见相应芯片文档。自举加载程序,可从串口、外
22、部存储器、I/O端口、主机接口加载。256字律扩展表256字A律扩展表256正弦函数查值表中断向量表第35页/共111页用户代码保留中断向量表自举引导程序256字律扩展表256字A律扩展表256正弦函数查值表保留中断向量表第36页/共111页TMS320VC5416 DSP 的存储空间以TMS320VC5416 DSP为例数据空间p支持16位地址和16位数据宽度p访问空间为21616bit64K Words程序空间p支持23位地址和16位数据宽度p分成27128页 64K Words的程序空间IO空间p支持16位地址和16位数据宽度,固定片外寻址p访问空间为21616bit64K Wordsp
23、PortR和PortW两条汇编指令用于IO空间访问C54x C54x 存储空间映射存储空间映射第37页/共111页I/O存储空间 C54x DSP除了程序存储空间和数据存储空间外,还提供I/O存储空间。I/O存储空间64K字寻址范围(0000H-FFFFH),仅仅存在片外。芯片通过2条指令PORTR、PORTW来访问这个空间。访问时,读时序和读程序存储空间、数据存储空间不同,它是访问独立的I/O映射设备而不是存储器。I/O空间还有两个专用I/O管脚BIO和XF。分支转移控制输入引脚BIO用来监控外围设备,决定分支转移的去向,以替代中断,不干扰对时间要求苛刻的循环。外部标志输出引脚XF可以向外部
24、设备发信号,以控制外部设备工作。第38页/共111页TMS320VC5416 DSP的存储空间映射由处理器工作方式与状态寄存器PMST控制p具体由MP/MC、OVLY、DROM三个位控制C54x C54x 存储空间映射存储空间映射第39页/共111页地址第0页程序存储器地址第0页程序存储器地址数据存储器0000H007FH保留(OVLY=1)外部使用(OVLY=0)0000H007FH保留(OVLY=1)外部(OVLY=0)0000H005FH存储器映射寄存器0060H007FHScratch-PadRAM0080H7FFFH片内DAAM0-3(OVLY=1)外部使用(OVLY=0)0080H
25、7FFFH片内DARAM0-3(OVLY=1)外部使用(OVLY=0)0080H7FFFH片内DARAM0-3(32K16位)8000H0FF7FH外部使用8000H0BFFFH外部使用8000H0FFFFH片内DARAM4-7(DROM=1)或者片外(DROM=0)C000H0FEFFH片内ROM(4K16位)0FF80H0FFFFH中断(片外)0FF00H0FF7FH保留0FF80H0FFFFH中断(片内)MP/MC=1微处理器模式MP/MC=0微计算机模式第40页/共111页扩展的程序存储器映射 第41页/共111页扩展的程序存储器映射(续)第42页/共111页XPC=第43页/共111
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMSC 结构 工作 原理
限制150内