tms320c6000 系列 dsps 简介

28
TMS320C6000 系系 DSPs 系系 系系 DSPs 系系系系 系系 DSP 系 系系系 DSPs 系系 DSP 系系系系系系系 系系 DSPs 系系系 系系系系系 TMS320C6000 系系系系 C6000 系系 系系 C6000 系 CPU 系系系系 C6000 系系系系系系系

Upload: eydie

Post on 21-Mar-2016

198 views

Category:

Documents


3 download

DESCRIPTION

TMS320C6000 系列 DSPs 简介. 使用 DSPs 的必要性 实时 DSP 系统的构成 DSPs 针对 DSP 算法的结构特点 衡量 DSPs 性能的一些常用指标 TMS320C6000 系列概况 C6000 的总体结构 C6000 的 CPU 结构特点 C6000 的片内集成外设. 使用 DSPs 的必要性. (1) 数字信号处理器( DSPs) 主要用于信号处理系统及通讯系统。 (2) 为了提高信号处理的质量,人们开始采用复杂的处理手段。如 ESPRIT 算法、基于 ARMA 模型的功率谱估计、非平稳信号分析等。这些处理手段所涉及的运算量日益变大。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TMS320C6000 系列 DSPs 简介

TMS320C6000 系列 DSPs 简介• 使用 DSPs 的必要性• 实时 DSP 系统的构成• DSPs 针对 DSP 算法的结构特点• 衡量 DSPs 性能的一些常用指标• TMS320C6000 系列概况• C6000 的总体结构• C6000 的 CPU 结构特点• C6000 的片内集成外设

Page 2: TMS320C6000 系列 DSPs 简介

使用 DSPs 的必要性– (1) 数字信号处理器 (DSPs) 主要用于信号处理系统及通讯系统。– (2) 为了提高信号处理的质量,人们开始采用复杂的处理手段。如 ESPRIT 算法、基于

ARMA 模型的功率谱估计、非平稳信号分析等。这些处理手段所涉及的运算量日益变大。– (3) 信号处理系统及通讯系统对于实时性的要求日益提高。

Page 3: TMS320C6000 系列 DSPs 简介

– (4)DSPs 结构针对 DSP 算法的特点进行了一系列优化,使其处理速度和性能得到了较大的提高。如 DSPs 完成 FFT 算法的速度比通用微处理器快 2~3 个数量级。 – 基于以上几点原因, DSPs 得到了日益广泛的应用。

Page 4: TMS320C6000 系列 DSPs 简介

实时 DSP 系统的构成

其中, DSP 子系统由输入 / 输出接口、控制处理器、 DSPs 、数据传输网和存储器等部分组成,如下图所示。

Page 5: TMS320C6000 系列 DSPs 简介

– 控制处理器完成对整个子系统的控制。– DSPs 实现实时信号处理算法。– 数据传输网完成各模块间的高速数据传输。– 存储器支持数据存储。– 输入 / 输出接口用于输入 / 输出数据的缓冲。

Page 6: TMS320C6000 系列 DSPs 简介

DSPs 针对 DSP 算法的结构特点– 硬件乘法器

• 在 DSP 算法中,最常见的运算是乘累加运算。用通用处理器程序实现乘法操作往往占用很多周期。因此在 DSPs 中用硬件乘法器完成乘法运算,并且多数 DSPs 还支持在一个周期内完成一次乘法和一次加法。硬件乘法器是 DSPs 区别于通用处理器的重要区别。– 多功能单元

• 为了进一步提高速度,在 CPU 中设置了多个可并行操作的功能单元。如 C6000 系列中就有L1(2) 、 S1(2) 、 M1(2) 、 D1(2) 等八个功能单元,从而在一个周期内最多可并行执行 8 条 32 位指令。

Page 7: TMS320C6000 系列 DSPs 简介

– 总线结构• 多数通用处理器采用冯 - 诺依曼总线结构,由于程序和数据空间统一,取指和取数据必须分别进行。 DSPs 采取了程序总线和数据总线独立的哈佛总线结构,这样取指和取数据可同时进行从而节省了时间。有的 DSPs 甚至采用多套数据总线的修正哈佛总线结构。

– 专用寻址单元。• DSP 算法通常需要频繁地进行数据存取,因此计算地址要占用相当的时间。 DSPs 具有专用的计算地址的单元--地址产生器,它与 ALU 并行工作,不再额外占用 CPU 时间。

Page 8: TMS320C6000 系列 DSPs 简介

– 片内存储器• 为了缓解芯片外部总线接口压力及避免总线竞争及速度不匹配等问题。 DSPs 一般还集成了片内程序存储器及数据 RAM 。

– 流水处理• 流水技术和多功能单元都是提高 DSPs 程序执行效率的重要手段。

Page 9: TMS320C6000 系列 DSPs 简介

衡量 DSPs 性能的一些常用指标– MFOLPS

• 百万次浮点操作 / 秒,这是浮点 DSPs 处理性能的重要指标。浮点操作包括浮点数的加法、乘法、减法存取等。 TMS320C67xx 能达到 1GFLOPS(峰值 ) 。– MOPS

• 百万次操作 / 秒,可用于衡量 DSPs综合性能。在200M 时钟下, TMS320C6201 能达 2400MOPS(峰值 ) 。

– MIPS• 百万条指令 / 秒,在 300M 时钟下,

TMS320C6203 能达到 2400MOPS(峰值 ) 。

Page 10: TMS320C6000 系列 DSPs 简介

– MBPS• 百万位 / 秒,用于衡量 DSPs 总线或 I/O 口的数据吞吐率。若总线时钟位 200M ,则

TMS320C6000 的 32 位数据总线吞吐率为6400MBPS 。

Page 11: TMS320C6000 系列 DSPs 简介

TMS320C6000 系列概况– C6000 是 TI公司推出的,定点浮点兼容的

DSPs 芯片系列。– 定点系列是 TMS320C62xx ,目前有 C6201 、

C6202 、 C6203 、 C6204 、 C6205 和C6211 。支持 32 位和 40 位定点数据。

– 浮点系列是 MS320C67xx ,目前有 C6701 和C6711两种。支持 32 位单精度数据和 64 位双精度数据。

Page 12: TMS320C6000 系列 DSPs 简介
Page 13: TMS320C6000 系列 DSPs 简介

C6000 的总体结构– C6000 的结构框图如下

Page 14: TMS320C6000 系列 DSPs 简介

• C6000 系列 DSPs 的 CPU 具有两个数据处理通道,– 通道 A 包括功能单元 L1 、 M1 、 S1 、 D1 及由 16 个 32位寄存器 A0~A15 组成的寄存器堆。 – 通道 B 包括功能单元 L2 、 M2 、 S2 、 D2 及由 16 个 32位寄存器 B0~B15 组成的寄存器堆。

• C6000 系列 DSPs 单指令字长 32bit ,每个指令包由8 条指令组成, CPU 可将同一指令包的 8 条指令同时送到 8 个功能单元,进行并行处理。

• C6000 系列 DSPs 采用甚长指令字 (Very Long Instruction Word , VLIW) 结构。

– 在 VLIW 结构中, 8 个功能是并发工作的,并且共享寄存器堆。用短指令字 (32 位 )编写的程序由 TI公司提供的编译器 CCS(C Compiler Studio) 压缩成 VLIW 指令字。不同字段的操作码分别送给 8 个功能单元进行并行处理。由于在代码压缩时就决定了指令的并行性,所以代码

Page 15: TMS320C6000 系列 DSPs 简介

– 在 VLIW 结构中,指令读取、指令解码、指令执行等都需要进行多级流水。不同指令的流水时间不同,要使执行效率较高,就应使流水尽量不被破坏,这就要求 CCS 在形成 VLIW 指令使要特别讲究

• 从以上两点可以看出, VLIW 结构的 DSPs 的代码效率对编译器的代码压缩效率依赖较大。

压缩的效率是决定 DSPs代码执行效率的关键因素。TI公司推出的汇编语言级 C编译器 CCS ,其效率达到 70%~80% ,压缩代码的平均效率是其它 DSPs编译器的 3倍。

Page 16: TMS320C6000 系列 DSPs 简介

C6000 系列 DSPs 的 CPU 结构• C62xx 和 C67xx 系列的 CPU 结构相同,包括以下几个部分

– 程序取指单元 (Program Fetch) – 指令分配单元 (Program Dispatch) – 指令译码单元 (Instruction Decode) – 32 个 32 位寄存器,分为两组,每组 16 个 (Register

File A 、 Register File B) – 两个数据通道 (Data Path A 、 Data Path B) ,每个数据通道有 4 个功能单元 L 、 S 、 M 、 D – 控制寄存器 (Control Register) – 控制逻辑 (Control Logic) – 测试、中断和仿真逻辑

(Test 、 Emulation 、 Interrupt)

Page 17: TMS320C6000 系列 DSPs 简介

• C6000 系列 DSPs 的 CPU 内部数据通路

Page 18: TMS320C6000 系列 DSPs 简介

– 从上图可见, CPU 数据通路包括• 2 个通用寄存器堆( A)• 8 个功能寄存器• 2 个存储器读取通路 (LD1 、 LD2)• 2 个存储器存储通路 (ST1 、 ST2)• 两个寄存器组交叉通路 (1X 、 2X)• 两个数据寻址通路 (DA1 、 DA2)

– 条件寄存器只能选用 A1 、 A2 、 B0 、 B1 、 B2;进行循环寻址时只能选用 A4~A7 及 B4~B7 作为地址寄存器。– 8 个功能单元中每一个都有两个 32 位的源操作数读口,为了支持 40 位定点数 (C62XX)或 64 位双精度浮点数

(C67XX) , L1 、 L2 、 S1 、 S2另配有 8 位或 32 位额外读写口。

Page 19: TMS320C6000 系列 DSPs 简介

– 交叉数据通路 1X允许数据通路 A 的功能单元从寄存器组 B读取操作数;交叉数据通路 2X允许数据通路 B 的功能单元从寄存器组 A读取操作数。由于每个方向上只有一条交叉通路,因此在一个周期内不允许两个以上的功能单元同时占用 1X或 2X 。这一点在用汇编语言编程时要特别注意。– 功能单元分别完成不同的操作如下表所示

Page 20: TMS320C6000 系列 DSPs 简介

– C6000 系列 DSPs 的全局控制寄存器 C6000 系列的控制寄存器只能由 .S2 功能单元通过指令 MVC进行读写。各控制寄存器的缩写、名称、意义如下表所示

Page 21: TMS320C6000 系列 DSPs 简介

C6000 的片内集成外设• DMA 与 EDMA

DMA 的主要特点– DMA 控制器独立于 CPU 工作,具有单周期的数据吞吐率– 四个通道,外加辅助通道,每个通道的优先级可设定– 32 位寻址,可访问全地址空间– 支持 8/16/32bit 数据传输– 地址产生方式灵活,支持多帧传输– DMA 可在每次传输完毕后自动初始化– 每个中断可以向 CPU发出中断反馈

Page 22: TMS320C6000 系列 DSPs 简介

– EDMA(Enhanced Direct Memory Access) 的主要特点

– EDMA 是 C6211/C6711 的专有特性– EDMA 基于 RAM 结构– EDMA 可以联接起来,组成 EDMA 传输链– 具有 16 个通道并且通道间优先级别可编程– 每个 EDMA 通道可以一设定的事件来触发

Page 23: TMS320C6000 系列 DSPs 简介

• C6000 的 EMIF(External Memory Interface) C6000 支持的存储器包括– 同步突发静态 RAM(SBSRAM)

– 同步动态 RAM(SDRAM)

– 异步 SRAM(ROM 、 FIFO 等 )

– C6000 的 EMIF 提供了对于上述存储器的无缝接口,最大寻址范围为 64M 分为 CE0~CE3四个空间。

Page 24: TMS320C6000 系列 DSPs 简介

• 主机口 HPI(Host-Port Interface)

– 主机口是一个 16bit 的并行接口,外部主机是 HPI的控制方,并可通过 HPI直接访问 CPU 的存储空间及其映射的各功能寄存器。 – HPI 的存取通过一组寄存器完成,包括 HPI 控制寄存器 HPIC 、 HPI 地址寄存器 DPIA 、 HPI 数据寄存器 DPID

– HPI 到 CPU 存储空间的连接由专门的 DMA辅助通道完成

Page 25: TMS320C6000 系列 DSPs 简介

• 自举逻辑控制 自举逻辑控制包括– 选择存储映射方式,决定片内 / 片外存储器在地址

0– CPU 对 0 地址处的初始化方式,主要有

• CPU直接从 0 地址开始执行代码,无自举过程• 由 DMA 或 EDMA 从外部 CE1 空间的 ROM拷贝一定数目的代码到 0 地址处,再开始执行。 (ROM自举 )

• 外部主机通过 HPI 对存储空间初始化,然后再通过 HPI唤醒 CPU , CPU 开始从 0 地址运行。 (HPI自举 ) 所有的设置引脚信号,都在 Reset 信号的上升沿检测。

Page 26: TMS320C6000 系列 DSPs 简介

• 多通道缓冲串口 (MsBSP) C6000 的 MsBSP(Multichannel Buffered Serial Port)具有以下特点– 支持多种协议下的直接接口– 多达 128 个通道的多通道收发操作– 数据字长支持 8/12/16/20/24/32bit– 内置 u 率 /A 率压扩– 内部时钟和帧同步信号设置灵活,信号的有效极性也可设置– 数据收发采用多级缓冲结构,片内数据搬移可与片外通信同时进行。

Page 27: TMS320C6000 系列 DSPs 简介

• Power-Down 逻辑 Power-Down 逻辑的功能是关闭芯片的一些开关操作,在不丢失数据的前提下,显著降低芯片的功耗。共有三种模式: PD1 、 PD2 、 PD3

• PD1 模式用于在 CPU边沿处屏蔽时钟输入• PD2 模式用于挂起 PLL 输出后的整个时钟系统• PD3 模式不仅暂停内部时钟系统而且还短开 PLL 于外时钟的连接,因而功耗最小。

外引脚 PD 用于反应 DSP 当前的 PD状态

Page 28: TMS320C6000 系列 DSPs 简介

• 扩展总线 XB(C6202 、 C6203) XB 是在 HPI 的基础上发展的,同时也可用做第二条外部总线。 XB既可以当作 HPI增强版使用,又可以当作第二个 I/O 口使用。– 在用作主机口 HPI 时,提供了同步 /异步两种模式。同步模式相当于 32bitHPI;异步模式支持多种协议。– 在用作第二个 I/O 口时,可与 EMIF 完全独立工作,从而降低 EMIF 的负荷、提高数据的整体存取效率。例如 CPU 对 EMIF 上的存储器存取的同时, DMA通道对 XB 上主机或其它设备的访问请求进行处理