第2章 TMS320C54x硬件结构及原理_第1页
第2章 TMS320C54x硬件结构及原理_第2页
第2章 TMS320C54x硬件结构及原理_第3页
第2章 TMS320C54x硬件结构及原理_第4页
第2章 TMS320C54x硬件结构及原理_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章 TMS320C54x的硬件结构及原理的硬件结构及原理 2.1 芯片内部结构及特点芯片内部结构及特点 2.2 TMS320C54x的内部总线结构的内部总线结构 2.3 TMS320C54x的的CPU结构结构 2.4 TMS320C54x的存储器结构的存储器结构 2.5 复位操作及省电方式复位操作及省电方式2.6 中断系统中断系统2.7 流水线流水线2.8 引脚及其功能引脚及其功能2.1 芯片内部结构及特点芯片内部结构及特点 一、芯片内部结构一、芯片内部结构主要包含哪三个部分?主要包含哪三个部分?2.1 芯片内部结构及特点芯片内部结构及特点 二、主要特点二、主要特点1、多总线的改进型哈

2、佛结构、多总线的改进型哈佛结构2.1 芯片内部结构及特点芯片内部结构及特点 二、主要特点二、主要特点2、专业化、专业化CPU设计设计ALUACCA、ACCB桶形移位器桶形移位器硬件乘法器硬件乘法器-加法器(乘加器加法器(乘加器MAC)比较、选择、存储单元(比较、选择、存储单元(CSSU)指数编码器(指数编码器(EXP)两个地址生成器(程序地址生成器、数据地址生成器)两个地址生成器(程序地址生成器、数据地址生成器)2.1 芯片内部结构及特点芯片内部结构及特点 二、主要特点二、主要特点3、片内存储空间、片内存储空间包括包括ROM和和RAM(DARAM、SARAM) DARAM在单周期内可以进行一次

3、读在单周期内可以进行一次读和和一次写入操一次写入操作作 SARAM在单周期内只能进行一次读在单周期内只能进行一次读或或一次写入操一次写入操作作 ROM和和RAM既可配置为程序存储器,又可配置为数既可配置为程序存储器,又可配置为数据存储器;具有与据存储器;具有与CPU相同的执行速度。相同的执行速度。2.1 芯片内部结构及特点芯片内部结构及特点 二、主要特点二、主要特点4、片内外设资源丰富、片内外设资源丰富5、灵活的寻址方式及适合于数字信号处理的指令系统、灵活的寻址方式及适合于数字信号处理的指令系统6、低功耗工作、低功耗工作2.2 TMS320C54x的内部总线结构的内部总线结构 一组程序总线一组

4、程序总线PB 【参考图【参考图2-2】三组数据总线三组数据总线CB、DB、EB 四组地址总线四组地址总线PAB、CAB、DAB、EABl程序读:程序读:PAB、PBl程序写:程序写:PAB、EBl单数据读:单数据读:DAB、DBl单数据写:单数据写:EAB、EBl双数据读:双数据读:DAB、DB、CAB、CBl并行数据读并行数据读/写:写:DAB、DB、EAB、EBl并行双数据读并行双数据读/系数读:系数读:DAB、DB、CAB、CB、PAB、PBl32位长数据读:位长数据读:DAB、DB(低(低16位)、位)、CAB、CB(高(高16位)位)l片内外设读:片内外设读:DAB、DB(内部总线与

5、片内外设总线连接)(内部总线与片内外设总线连接)l片内外设写:片内外设写:EAB、EB【并行操作能力强】【并行操作能力强】2.3 TMS320C54x的的CPU结构结构 一、算术逻辑运算单元(一、算术逻辑运算单元(ALU)二、累加器(二、累加器(A=AG、AH、AL;B=BG、BH、BL)三、桶形移位器三、桶形移位器l可以将输入数据左移可以将输入数据左移031位或右移位或右移015位,支持位,支持CPU完成:完成:数据定标、位提取、扩展精度、累加器的规格化。数据定标、位提取、扩展精度、累加器的规格化。l左移时,低位填左移时,低位填0;右移时,高位填;右移时,高位填0或或1受受SXM位影响。位影

6、响。例例2-3、2-4、2-5四、四、1717位乘加器(位乘加器(MAC) 在单周期内完成一次乘法操作和一次累加操作,使数字在单周期内完成一次乘法操作和一次累加操作,使数字信号处理算法运算速度大幅度提高,可以实现。信号处理算法运算速度大幅度提高,可以实现。(1)有符号数相乘)有符号数相乘(2)无符号数与有符号数相乘)无符号数与有符号数相乘(3)无符号数相乘)无符号数相乘五、指数编码器(五、指数编码器(EXP)l求累加器中数据指数的专用硬件,主要用于定点数转换求累加器中数据指数的专用硬件,主要用于定点数转换为浮点数的归一化和标准化处理。为定点为浮点数的归一化和标准化处理。为定点DSP进行浮点进行

7、浮点操作提供方便。操作提供方便。l指数值指数值=累加器冗余符号位累加器冗余符号位 - 8,也就是为消去多余符号,也就是为消去多余符号位而将累加器中的数值左移的位数。当累加器数值超过位而将累加器中的数值左移的位数。当累加器数值超过32位时,指数是个负值。位时,指数是个负值。定点数定点数=尾数尾数2- (指数指数) EXPA;(冗余符号位冗余符号位-8)-T寄存器寄存器STT,EXPONET;指数值保存到数据存储器中指数值保存到数据存储器中NORMA;累加器值按累加器值按T中值移位(归一化)中值移位(归一化)1513121110980ARPTCCOVAOVBDP151413121110987654

8、0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM1576543210IPTRMP/MCOVLYAVISDROMCLKOFF六、比较选择和存储单元(六、比较选择和存储单元(CSSU)七、七、CPU的状态和控制寄存器的状态和控制寄存器ST0:ST1:PMST:2.4 TMS320C54x的存储器结构的存储器结构l存储器空间包括的内容存储器空间包括的内容l程序存储器基本空间程序存储器基本空间64K字,最大可扩展至字,最大可扩展至8M字。字。l数据存储器空间数据存储器空间64K字字lI/O空间空间64K字字l片内存储器结构的特点片内存储器结构的特点l片内片内RAM分为分为DA

9、RAM和和SARAM。l内部内部ROM和和RAM可以映射到程序空间,也可以映射到可以映射到程序空间,也可以映射到数据空间,是改进哈佛结构的突出体现。数据空间,是改进哈佛结构的突出体现。l片内存储器与片内存储器与CPU同速运行,不需要插入等待周期。同速运行,不需要插入等待周期。一、程序存储空间一、程序存储空间1. 微计算机微计算机/微处理器模式位微处理器模式位 ,片内,片内ROM可映射到程序空间可映射到程序空间 ,片内,片内ROM不能映射到程序空间不能映射到程序空间2. RAM重叠位重叠位 OVLY=0,片内,片内DARAM只能映射到数据空间只能映射到数据空间 OVLY=1,片内,片内DARAM

10、可映射到数据空间可映射到数据空间/程序空间程序空间3. 数据数据ROM位位 DROM=0,片内,片内ROM不能映射到数据空间不能映射到数据空间 DROM=1,部分片内,部分片内ROM可以映射到数据空间可以映射到数据空间0/CMMP1/CMMP1. 程序存储器配置程序存储器配置TMS320C5402片内存储器容量及其地址分布如下:片内存储器容量及其地址分布如下:(1)C5402片内片内ROM:4K,F000hFFFFh,没有,没有DROM 位,片内位,片内ROM只能作为程序空间。只能作为程序空间。(2)片内)片内DARAM:16K字(字(DARAM0及及DARAM1各各8K 字),字), 000

11、0h3FFFh,其中,其中0080h3FFFh可配置到程可配置到程 序序/数据空间。数据空间。(3)片内)片内SARAM:0TMS320C5402程序存储器(第程序存储器(第0页)结构图页)结构图OVLY=0时,时,C5402程序存储器(第程序存储器(第015页)结构图页)结构图OVLY=1时,时,C5402程序存储器(第程序存储器(第015页)结构图页)结构图TMS320C5416片内存储器容量及其地址分布如下:片内存储器容量及其地址分布如下:(1)片内)片内ROM:16K,C000hFFFFh,只能作为程序空间,只能作为程序空间(2)片内)片内DARAM共共64K字:字: 前前32K:DA

12、RAM0-3,0080h7FFFh在数据空间在数据空间,当,当OVLY=1时,可映射为程序时,可映射为程序/数据空间;数据空间; 后后32K:DARAM4-7,18000h1FFFFh在程序空间在程序空间,当,当DROM=1时,可映射到数据空间,地址为时,可映射到数据空间,地址为8000hFFFFh。(3)片内)片内SARAM共共64K字:字: SARAM0-3,28000h2FFFFh(32K)在程序空间在程序空间; SARAM4-7,38000h3FFFFh(32K)在程序空间在程序空间。TMS320C5416程序存储器(第程序存储器(第0页)结构图页)结构图TMS320C5416程序存储

13、器(第程序存储器(第0127页)结构图页)结构图2. 片内片内ROM片内片内ROM高高2K字的内容:字的内容:(1)F800hFBFFh:1K字的引导程序字的引导程序(2)FC00hFCFFh :256字的字的率扩展表率扩展表(3)FD00hFDFFh :256字的字的A率扩展表率扩展表(4)FE00hFEFFh :256字的正弦表字的正弦表(5)FF00hFF7Fh :保留:保留(6)FF80hFFFFh:中断向量表:中断向量表二、数据存储空间二、数据存储空间存储器映射寄存器(存储器映射寄存器(MMR)0000h001Fh分布着分布着27个个CPU寄存器:寄存器:IMR、IFR、ST0、ST

14、1、AL、AH、AG、BL、BH、BG、TREG、TRN、AR0 AR7、SP、BK0020h005Fh分布着片内外设寄存器:分布着片内外设寄存器:TIM、PRD、TCR、SWWSR、BSCR、SWCR、HPIC三、三、I/O空间空间2.5 复位操作及省电方式复位操作及省电方式一、复位操作一、复位操作 二、省电方式二、省电方式 2.6 中断系统中断系统 l 中断表明一个特别事件的开始或结束。中断可由外部中断表明一个特别事件的开始或结束。中断可由外部设备向设备向DSP产生,也可由产生,也可由DSP自己产生。自己产生。l C54x系列系列DSP支持软件中断和硬件中断。软件中断由支持软件中断和硬件中

15、断。软件中断由指令产生中断请求,硬件中断由物理器件的一个请求指令产生中断请求,硬件中断由物理器件的一个请求信号产生中断请求。信号产生中断请求。l 如果同时有两个以上的中断产生,如果同时有两个以上的中断产生,DSP根据事先设定根据事先设定的优先级进行处理。的优先级进行处理。一、中断向量和优先级一、中断向量和优先级向量向量地址地址优先级优先级说明说明/RS/RS00h00h1 1复位复位/NMI/NMI04h04h2 2非屏蔽中断非屏蔽中断SINT17SINT1708h08h- -软件中断软件中断1717SINT18SINT180Ch0Ch- -软件中断软件中断1818SINT19SINT1910

16、h10h- -软件中断软件中断1919SINT20SINT2014h14h- -软件中断软件中断2020SINT21SINT2118h18h- -软件中断软件中断2121SINT22SINT221Ch1Ch- -软件中断软件中断2222一、中断向量和优先级(续一)一、中断向量和优先级(续一)向量向量地址地址优先级优先级说明说明SINT23SINT2320h20h- -软件中断软件中断2323SINT24SINT2424h24h- -软件中断软件中断2424SINT25SINT2528h28h- -软件中断软件中断2525SINT26SINT262Ch2Ch- -软件中断软件中断2626SINT

17、27SINT2730h30h- -软件中断软件中断2727SINT28SINT2834h34h- -软件中断软件中断2828SINT29SINT2938h38h- -软件中断软件中断2929SINT30SINT303Ch3Ch- -软件中断软件中断3030一、中断向量和优先级(续二)一、中断向量和优先级(续二)向量向量地址地址优先级优先级说明说明/INT0,SINT0/INT0,SINT040h40h3 3外部中断外部中断0 0/INT1,SINT1/INT1,SINT144h44h4 4外部中断外部中断1 1/INT2,SINT2/INT2,SINT248h48h5 5外部中断外部中断2 2

18、TINT,SINT3TINT,SINT34Ch4Ch6 6定时器中断定时器中断BRINT0,SINT4BRINT0,SINT450h50h7 7McBSP0McBSP0接收中断接收中断BXINT0,SINT5BXINT0,SINT554h54h8 8McBSP0McBSP0发送中断发送中断BRINT2,SINT7BRINT2,SINT7DMAC0DMAC058h58h9 9McBSP2McBSP2接收中断接收中断DMA0DMA0通道中断通道中断BXINT2,SINT6BXINT2,SINT6DMAC1DMAC15Ch5Ch1010McBSP2McBSP2发送中断发送中断DMA1DMA1通道中断

19、通道中断一、中断向量和优先级(续三)一、中断向量和优先级(续三)向量向量地址地址优先级优先级说明说明/INT3,SINT8/INT3,SINT860h60h1111外部中断外部中断3 3HINT,SINT9HINT,SINT964h64h1212HPIHPI接口中断接口中断BRINT1,SINT10BRINT1,SINT10DMAC2DMAC268h68h1313McBSP1McBSP1接收中断接收中断DMA2DMA2通道中断通道中断BXINT1,SINT11BXINT1,SINT11DMAC3DMAC36Ch6Ch1414McBSP1McBSP1发送中断发送中断DMA3DMA3通道中断通道中

20、断DMAC4,SINT12DMAC4,SINT1270h70h1515DMAC4DMAC4通道中断通道中断DMAC5,SINT13DMAC5,SINT1374h74h1616DMAC5DMAC5通道中断通道中断ReservedReserved78h78h- -保留保留ReservedReserved78h78h- -保留保留二、中断类型二、中断类型1不可屏蔽中断不可屏蔽中断l 硬件中断硬件中断/NMIl 硬件复位中断硬件复位中断/RSl 软中断软中断SINT17SINT30 (INTR和和TRAP指令)指令)二、中断类型二、中断类型2可屏蔽中断可屏蔽中断/INT0/INT3(外部中断)(外部中

21、断)TINT(定时器中断)(定时器中断)HINT(HPI接口中断)接口中断)DMAC0DMAC5(DMA通道中断)通道中断)BRINT0 BRINT2、 BXINT0 BXINT2 (缓(缓冲串口发送和接收中断)冲串口发送和接收中断)1515141413131212111110109 98 8RESRESRESRESDMAC5DMAC5DMAC4DMAC4BXINT1BXINT1DNAC3DNAC3BRINT1BRINT1DNAC2DNAC2HINTHINT/INT3/INT37 76 65 54 43 32 21 10 0XINT2 XINT2 RINT2 RINT2 XINT0 XINT0

22、 RINT0 RINT0 TINT TINT /INT2/INT2/INT1/INT1/INT0/INT01.中断标志寄存器中断标志寄存器IFR当一个中断出现时,当一个中断出现时,C54x收到了一个相应的中断请求,此收到了一个相应的中断请求,此时,时,IFR中相应的中断标志位为中相应的中断标志位为1,表明该中断请求已经被,表明该中断请求已经被CPU收收到,正在等待处理。到,正在等待处理。三、中断寄存器三、中断寄存器1515141413131212111110109 98 8RESRESRESRESDMAC5DMAC5DMAC4DMAC4BXINT1BXINT1DNAC3DNAC3BRINT1B

23、RINT1DNAC2DNAC2HINTHINT/INT3/INT37 76 65 54 43 32 21 10 0XINT2 XINT2 RINT2 RINT2 XINT0 XINT0 RINT0 RINT0 TINT TINT /INT2/INT2/INT1/INT1/INT0/INT02. 中断屏蔽寄存器中断屏蔽寄存器IMR INTM=1,禁止所有可屏蔽中断。,禁止所有可屏蔽中断。 IMR中某一位为中某一位为0,屏蔽相应的中断;为,屏蔽相应的中断;为1,开放相应的中断,开放相应的中断。三、中断寄存器三、中断寄存器四、中断向量表映射四、中断向量表映射中断向量地址由中断向量指针中断向量地址由中

24、断向量指针IPTR和左移和左移2位后的位后的中断向量号中断向量号相连相连所组成。复位后,所组成。复位后, IPTR=111111111B,中断向量地址一般都要重新映射。中断向量地址一般都要重新映射。LDM PMST,AAND #1111111B,A;高高9位清零,低位清零,低7位不变位不变OR #IV_RESET,A;设置高设置高9位,即位,即IPTRSTL A,AR6MVDM AR6,PMST五、中断响应过程五、中断响应过程1.接受中断请求接受中断请求当发生硬件或软件指令请求中断时,当发生硬件或软件指令请求中断时,IFR中相应的位中相应的位置为置为1,相应中断发生时,该标志自动清除。,相应中

25、断发生时,该标志自动清除。2.响应中断响应中断对于软件中断和不可屏蔽中断,对于软件中断和不可屏蔽中断,CPU立即响应。如立即响应。如果是可屏蔽中断,只有满足以下条件才能响应:果是可屏蔽中断,只有满足以下条件才能响应:l 优先级别最高优先级别最高l INTM=0l IMR中相应的位为中相应的位为1五、中断响应过程五、中断响应过程3.执行中断服务程序执行中断服务程序响应中断后,响应中断后,CPU执行下列操作:执行下列操作:PC值进栈值进栈中断向量地址装入中断向量地址装入PC,程序跳到中断服务程序入口,程序跳到中断服务程序入口现场保护现场保护执行中断服务程序执行中断服务程序ISR恢复现场恢复现场中断

26、返回中断返回继续执行被中断的程序继续执行被中断的程序 六、中断向量程序六、中断向量程序.sect“.vector”.align0 x80IV_RESET:BD_c_int00 ;复位中断,跳转到程序的入口复位中断,跳转到程序的入口NOPNOPIV_NMI:RETE;NMI中断,开中断返回中断,开中断返回NOPNOPNOPIV_DMAC5:RETE;DMA通道通道#5中断中断NOPNOPNOP.end2.7 流水线流水线一、一、C54x的流水线操作的流水线操作1. C54x的流水线结构的流水线结构预预取取指指P取取指指F译译码码D寻寻址址A读读数数R执执行行X机器机器周期周期流水线流水线阶段阶段

27、操作功能操作功能T1PCPU将将PC的值(指令地址)加载到程序地址总线的值(指令地址)加载到程序地址总线PAB。T2F指令字加载程序总线指令字加载程序总线PB,并装入指令寄存器,并装入指令寄存器IR。如果是多字指令,。如果是多字指令,需要若干个机器周期才能将一条指令读出来。需要若干个机器周期才能将一条指令读出来。 T3D对指令译码,产生执行指令所需要的一系列控制信号。对指令译码,产生执行指令所需要的一系列控制信号。 T4A如果需要,用数据如果需要,用数据1读地址加载读地址加载DAB;如果需要,用数据;如果需要,用数据2读地址加载读地址加载CAB;修正辅助寄存器或堆栈指针。;修正辅助寄存器或堆栈

28、指针。 T5R读数据读数据1,加载,加载DB;读数据;读数据2,加载,加载CB;如果需要,将数据;如果需要,将数据3写地址写地址加载加载EAB,以便在流水线的最后一级将数据送到数据存储空间。,以便在流水线的最后一级将数据送到数据存储空间。 T6X执行指令,用写数据加载执行指令,用写数据加载EB。 2. 流水线操作原理流水线操作原理预取指预取指P取指取指F译码译码D寻址寻址A读数读数R执行执行X3. 多字指令的流水线操作多字指令的流水线操作【例】【例】DST A,*AR1 ;执行写长操作数;执行写长操作数Lmem 双字指令,需要在两条流水线中分别使用两次双字指令,需要在两条流水线中分别使用两次E

29、AB和和EB才能完成才能完成二、二、C54x流水线操作的几个典型问题流水线操作的几个典型问题1. 有延迟和无延迟的流水线操作有延迟和无延迟的流水线操作 无条件转移指令无条件转移指令B跳转时浪费跳转时浪费2个机器周期,有延迟的无条件转移指个机器周期,有延迟的无条件转移指 令令BD允许紧跟其后的两条单字单周期指令得以执行。允许紧跟其后的两条单字单周期指令得以执行。2. 中断响应的流水线操作中断响应的流水线操作 从从CPU响应中断信号到中断服务程序开始执行至少需响应中断信号到中断服务程序开始执行至少需7个机器周期。个机器周期。3. 流水线冲突流水线冲突 当多个流水线上的指令同时访问当多个流水线上的指令同时访问DSP的同一资源时所造成的的同一资源时所造成的时序上冲时序上冲 突突,或者一条指令需要使用前一条或前几条指令的运行结果,而这个,或者一条指令需要使用前一条或前几条指令的运行结果,而这个 结果还没有产生,此时,会产生结果还没有产生,此时,会产生逻辑性的错误逻辑性的错误。2.8 引脚及其功能引脚及其功能1.时钟信号时钟信号2.外部接口地址外部接口地址/数据数据/控制信号控制信号3.通用通用I/O口口4.多缓冲串口多缓冲串口McBSP0、McBSP1、McBSP2的信号的信号5.主机接口主机接口HPI6.初始化、中断及复位信号初始化、中断及复位信号7.

温馨提示

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

评论

0/150

提交评论