《Lecture3-第2章-DSP芯片的基本结构和特征教学课件PPT》由会员分享,可在线阅读,更多相关《Lecture3-第2章-DSP芯片的基本结构和特征教学课件PPT(45页珍藏版)》请在金锄头文库上搜索。
1、完整版教学课件完整版教学课件Lecture3-第2章-DSP芯片的基本结构和特征第3讲 DSP芯片的基本结构和特征DSP芯片原理与应用目 录CONTENTS1 引言1 DSP芯片的基本结构2 中央处理单元3存储单元4 集成外设与接口5 中断CPUCPUCPUCPU外外外外部部部部 M M M Me e e em m m mo o o or r r ry y y y内部总线内部总线内部内部内部内部 MemoryMemoryMemoryMemory片片内内外外设设1、DSP芯片的基本结构1、DSP芯片的基本结构CPU算术逻辑单元(ALU)累加器(ACC)乘累加单元(MAC)移位寄存器寻址单元等。1
2、、DSP芯片的基本结构片 内 ROM、FLASH,单访问RAM( SARAM) ,双访问RAM(DARAM)等。存储器1、DSP芯片的基本结构集成外设和专用硬件电路 片内各种类型的串行接口、主机接口、定时器、时钟发生器、锁相环以及各种控制电路。1、DSP芯片的基本结构总线 在CPU与存储器、集成外设和专用硬件电路等部分之间传送指令和数据,起到桥梁的作用。1、DSP芯片的基本结构总线结构(1)将程序和数据存储在不同的存储空间中,程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。(2)设置了程序总线和数据总线两条总线,数据的吞吐率提高了一倍。哈佛结构 在基本哈佛结构的基础
3、上的改进允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性; 指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了取指时间。1、DSP芯片的基本结构哈佛结构哈佛结构 在基本哈佛结构的基础上的改进允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性; 指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了取指时间。1、DSP芯片的基本结构哈佛结构哈佛结构流水线处理1、DSP芯片的基本结构将指令的执行过程分为几个子操作,不同子操作由不同的单元完成。每隔一个时钟周期,每个单元就可以进入一个
4、新指令的子操作。在同一个时钟周期内,在不同的单元可以处理多条指令,相当于并行执行了多条指令。流水线处理1、DSP芯片的基本结构TI公司第一代 DSP芯片:2级流水线第二代:3级流水线第三代:4级流水线C54x:6级流水线C55x、C6000系列芯片: 流水线深度更深采用流水线操作,DSP芯片可以并行处理多条指令,提高芯片处理能力目 录CONTENTS1 引言1 DSP芯片的基本结构2 中央处理单元3存储单元4 集成外设与接口5 中断外外外外部部部部 M M M Me e e em m m mo o o or r r ry y y y内部总线内部总线内部内部内部内部 MemoryMemoryMe
5、moryMemory片片内内外外设设CPUCPUCPUCPU2、中央处理单元指令解码部分运算与逻辑部分寻址部分2、中央处理单元CPU 算术逻辑单元(ALU) 累加器ACC 桶形移位寄存器 乘累加单元(MAC)程序计数器PC程序地址产生单元数据地址产生单元(Data-Address Generation Unit)程序寻址数据寻址外外外外部部部部 M M M Me e e em m m mo o o or r r ry y y y内部总线内部总线内部内部 MemoryMemory片片内内外外设设54x CPU54x CPU54x CPU54x CPUMACMACMACMAC1717MPY1717
6、MPY40bit40bit加法器加法器RoundRound,SatureSatureALUALUALUALU40bit ALU40bit ALUEXPEXPshiftershiftershiftershifter40bit barrel40bit barrel40bit ACC A40bit ACC A40bit ACC B40bit ACC BAccumulatorsAccumulatorsAccumulatorsAccumulatorsAddressing UnitAddressing UnitAddressing UnitAddressing Unit8 8 辅助寄存器辅助寄存器2 2
7、地址单元地址单元2、中央处理单元2、中央处理单元算术逻辑单元(ALU)实现加/减法运算、逻辑运算等大部分算术和逻辑功能,进位比特(C)支持ALU进行更高精度的算术操作包含溢出保护单元,当ALU的计算结果溢出时,就相应地用正最大值或负最大值来替代计算结果。运算结果被送往累加器。C54x芯片:2个独立的40位累加器ACCA和ACCB累加器分为3个部分:8个保护位、高16位字与低16位字。保护位可以防止迭代运算中(比如自相关运算)产生的溢出。 (a) TMS32C54x累加器ACCA结构 (b) TMS32C54x累加器ACCB结构2、中央处理单元累加器2、中央处理单元桶形移位寄存器用于累加器或数据
8、区操作数的移位移位值可以用立即数形式定义,或者存放于状态寄存器中,或者存放于特殊寄存器内2、中央处理单元乘累加单元 包括1个乘法器和1个专用加法器。 可在一个流水线周期内可以完成1次乘法运算和1次加法运算。 在滤波以及自相关等运算中,充分利用乘累加指令,可以显著提高运算速度。2、中央处理单元指令缓冲I单元程序流P单元地址数据流A单元数据运算D单元存储器接口M单元C55x芯片CPU包含与C54x类似的一个40位的ALU以及若干个寄存器负责数据处理,两个MAC单元2、中央处理单元指令缓冲I单元程序流P单元地址数据流A单元数据运算D单元存储器接口M单元C55x芯片CPU产生所有的程序空间地址,同时也
9、控制指令流顺序2、中央处理单元指令缓冲I单元程序流P单元地址数据流A单元数据运算D单元存储器接口M单元C55x芯片CPU产生数据及I/O空间的地址。可以接收来自I单元的立即数,也能与P单元寄存器、D单元寄存器或者数据存储器进行数据通信。目 录CONTENTS1 引言1 DSP芯片的基本结构2 中央处理单元3存储单元4 集成外设与接口5 中断外外外外部部部部 M M M Me e e em m m mo o o or r r ry y y y内部总线内部总线片片内内外外设设CPUCPUCPUCPU内部内部内部内部 MemoryMemoryMemoryMemoryROMROMSARAMSARAMD
10、ARAMDARAMDATAPROG3、存储单元3、存储单元片内存储器ROMRAMFLASH存放芯片生产商的程序和数据,通常包括引导装载(Bootloader)程序、中断矢量表及厂商测试程序;存放用户程序;SARAM在1个机器周期内只能被访问一次DARAM在1个机器周期内能被访问两次可用来提供永久程序或数据存储空间3、存储单元存储器映射寄存器CPU寄存器外设寄存器C54x系列DSP芯片:数据空间的前128(07Fh)个地址单元C55x系列DSP芯片:前96个数据地址单元(0000h005Fh)和前192个程序地址单元(0000h00BFh)。C54x系列DSP芯片:数据空间的前128(07Fh)
11、个地址单元C55x系列DSP芯片:部分外设寄存器被映射到I/O空间中3、存储单元分级存储体系和集成Cache技术靠近CPU的地方放置一个容量较小但快速的存储器( Cache ),以避免CPU的迟延(Cache由Cache控制器管理)。在相对较远的地方放置容量较大但速度相对较慢的存储器。能够极大地节省数据存取时间,提高DSP芯片的执行效率。3、存储单元外部扩展存储器满足海量数据处理(如图像处理等场合)对数据空间的需求和复杂的处理算法对程序空间的需求程序在片外的运行速度比在片内的运行速度慢目 录CONTENTS1 引言1 DSP芯片的基本结构2 中央处理单元3存储单元4 集成外设与接口5 中断1.
12、31.31.31.3CPUCPU外外部部 M Me em mo or ry y内部总线内部总线内部内部 MemoryMemory片片内内外外设设时钟信号发生器时钟信号发生器 定定 时时 器器 串行接口单元串行接口单元 并行接口单元并行接口单元 等待状态发生器等待状态发生器 外部数据总线外部数据总线 外部地址总线外部地址总线 4、集成外设与接口通用类外设4、集成外设与接口通信类外设专用外设与接口存储类接口DMA控制器通用I/O接口:GPIO、XF等时钟产生器:为CPU提供时钟信号实时时钟RTC:提供精确的实时时间普通定时器:软件可编程的计数器看门狗定时器:可用于监视程序的运行等待状态产生器:方便
13、内核与慢速的片 外存储器和I/O器件接口通用类外设4、集成外设与接口通信类外设专用外设与接口存储类接口DMA控制器同步串行接口:多通道缓冲串行接口 多通道音频串行接口 I2C异步串行接口:UART并行通信接口:HPI通用类外设4、集成外设与接口通信类外设专用外设与接口存储类接口DMA控制器外部存储接口(EMIF)在C54x系列DSP芯片中,DMA控制器包含有六个独立的可编程通道,可以支持六个不同内容的DMA传输。模拟/数字转换器(A/D)脉冲宽度调制器(PWM)USBPCI以太网目 录CONTENTS1 引言1 DSP芯片的基本结构2 中央处理单元3存储单元4 集成外设与接口5 中断 打断正在
14、进行的任务,转而执行另外一个任务的过程5、中断执行过程: 由硬件或者软件驱动,使DSP芯片的CPU暂停它正在进行的工作并转入执行中断服务程序(ISR,Interrupt Service Routine)。当 ISR程序执行完毕,CPU从中断发生时它离开的地方继续执行后续程序中断服务程序执行示意图作用: 对信号作出实时响应并能够对信号的变化作出实时性的控制,满足实时性的工作需要中断源5、中断外部/内部硬件/软件 引起中断的原因或者发出中断申请的来源利用专用指令触发,可用于错误捕获或者实现多软件线程的实时操作系统软件硬件外部设备中断、集成外设中断以及其他一些故障中断等中断优先级5、中断复位(RES
15、ET)中断不可屏蔽中断可屏蔽中断不可屏蔽中断RESET信号 信号所有软件中断各种硬件中断优先级各不相同中断处理的过程5、中断中断请求中断响应中断返回CPU判断中断响应条件是否满足。一旦满足条件,CPU即开始响应该中断请求,执行ISR保护CPU内部寄存器的值(保护现场),执行具体的操作。执行完中断服务程序,恢复CPU内部寄存器的值(恢复现场),返回原来的PC位置中断处理的过程5、中断中断请求中断响应中断返回中断标志寄存器(Interrupt Flag Register,IFR)和中断屏蔽寄存器(Interrupt Mask Register,IMR):每个可屏蔽中断在IFR中都有一个对应的比特位
16、,用于标志该中断已经被检测到。全局中断使能比特位INTM(C54x芯片中ST1寄存器的第11位,C55x芯片中ST1_55寄存器的第11位) 0时,所有没有被屏蔽的可屏蔽中断都被使能; 1时,禁止所有的可屏蔽中断,CPU不再响应这些中断。中断矢量表5、中断为支持多种不同的中断,使得每个中断都能有自己代码长度不同的中断服务程序,芯片中设计的保存CPU响应中断时程序指针(PC)跳转地址的表格固定的中断矢量软件可重定位的中断矢量软件可重定位的中断矢量5、中断32个中断(SINTx(x顺序编号为0,1,31)每个中断有8个字节的空间(用于存放跳转至中断服务程序的跳转指令)。在C55x复位后,中断矢量
17、表 默 认 首 地 址 为0xFFFF00,也可以根据用户的需要重新定位。矢量表的首地址可用中断矢量指针IVPD或主机中断矢量指针IVPH记录。C55x DSP芯片的中断矢量表C55x DSP芯片的中断矢量表5、中断32个中断(SINTx(x顺序编号为0,1,31)每个中断有8个字节的空间(用于存放跳转至中断服务程序的跳转指令)。中断矢量表放置于起始地址为0x1000的存储空间中,则IVPD=0x1000。INT0的矢量地址为0x10, 对 应 的 实 际 地 址 为0x1000+0x10=0x1010。中断发生后,程序指针首先根据IVPD或IVPH和对应中断的矢量地址跳转到中断矢量表的相应位置,然后再跳转到相应的中断服务程序的位置。The End