简介
南皇电子专注于整合中国优质电子TI代理商国内领先的现货资源,提供合理的行业价格、战略备货、快速交付控制TI芯片供应商,轻松满足您的需求TI芯片采购需求.(http://www.litesemi.com/)
本白皮书讨论过TMS320C6678处理器的VLFFT演示。通过8个固定和浮点DSP内核的TMS320C执行16678处理器K-1024K一维单精度浮点FFT采用1、2、4或8核时检测算法样本的运行时间。演示结果证明C66X DSP内核的优异性能,以及TMS320C6678处理器跨多核平行化执行性能与内核数量成正比的特性。
采用本文演示FFT该算法经常应用于医学成像、通信、军事和商业雷达、电子战(干扰器、抗干扰器)等领域。演示结果显示,运行速度为1 GHz,DSP当内核为8时,使用TMS320C6678处理器执行1024K的FFT算法样本只需6.4毫秒。
TMS320C6678 SoC
TMS320C6678处理器8台DSP基于内核TI的C66x固定和浮点DSP内核以及TI享有多核权利的创新型创新型KeyStone构建。最高运行速度为1.25GHz,在这种速度下,它可以每秒计算160千兆次浮点,通常消耗的电能不到10千兆次w.TMS320C6678处理器的特点是每个处理器DSP内核都有512KB的L内存;另外,8MB芯片内存中有4个MB共享内存,这两个内存都有纠错码。它的DDR3界面为64位,有8位纠错码,运行速度可达每秒1600兆比特,支持8位GB存取外部存储器数据。此外,TMS320C6678配套外设包括PCle、Serial RapidIO、Gigabit Ethernet以及TI的HyperLink该界面连接到TI的其他DSP,ARM,ARM DSP处理器和第三方FPGA高达50Gbps连接速度。
在本文的VLFFT演示中,TMS320C6678处理器运行速度为1GHz,DDR3界面传输速度为1333MHz.
图一:TMS320C6678框图
VLFFT演示
由于VLFFT算法要求将输入的数据存储在处理器的外部存储器中。在这个演示过程中,数据通过DSP内核访问、分配和处理,最后将结果输出到外部存储器中。同时,循环计数和时间测量始终保持在整个过程中。演示时,为TMS320C用不同数量的内核(1、2、4或8)计算6678处理器FFT这些不同尺寸的结果FFT规格包括:16K 32K 64K 128K 156K 512K 1024K
在演示过程中,将计算负载分布到多个核并充分利用C66X DSP确保内核高性能计算能力的实施FFT性能最大化。同时,利用基本时间提取算法,一维提取算法VLFFT类似的二维算法FFT表达算法。这种方法是在遇到非常大的数据N时,分解成N=N1*N2的形式。在本演示过程中,如果一维输入数组非常大,就采用N1行*N二列二维数组表示,然后通过以下步骤计算FFT:
计算N2列数组在N1行数组中的不同大小时FFT;乘以旋转因子;存储N2列在N一行大小不同FFT算法的结果形成N2*N二维数组;计算N1行数组在N不同大小时的2列数组FFT;存储列方向上的数据形成N2*N1二维数组。
这个算法被Takahashi称为Hitachi SR8000高性能平行FFT算法。
实施多核算法时,第一步是计算N2列(核的数量)在N1行规格下的FFT算法,第四步是计算N1行(核的数量)在N2列规格下的FFT算法。0核是主核,负责与剩余的所有附属核同步。根据N1数组和N2数组的大小,每个核心计算的FFT总数被分成几个小模块来适应每个核L2 SRAM内存空间。每组数据都通过外部存储器中的数据DMA预取到L2 SRAM在内存中,然后通过DDR将数据返回到外部存储器。每个核都用两个DMA通道存储在外部(DDR3)和内部存储器(L2 SRAM)中转输入输出数据。
结果
下页图1显示TMS320C6678评估版(TMDSEVM6678LE)分别在一个DSP周期和毫秒单位时间内运行FFT代码结果。理想情况下,当用于计算的内核数量增加一倍时,循环计数将减少一半。但实际上,由于信息运行的上限,它受到内存大小和信息宽度(内存)的限制,TI芯片这种情况很难实现。在这种情况下,用双核代替单核时,运行FFT平均时间减少了49.3 %,基本达到理想周期数的一半。用四核代替一核时,运行FFT平均时间减少了72.5%,而八核时平均运行时间减少了81.6%.
表格一:FFT分别为1/2/4/8DSP核时周期和毫秒结果
由此可见,无论是双核还是四核,随之而来FFT的大小从16k增加到256k,运行时间减少的幅度越来越大,而八核运行时间减少的幅度越来越大。这是因为小FFT,核数越多,并行代码的成本远低于额外增加核数来提高性能。以前256KB的FFT,提高性能的效果并不理想。双核时只能增加2倍,四核时只能增加4倍,但八核时性能会降低。这是由于八核处理数据的速度远高于外部存储器传输数据的速度,因此存储空间达到上限。在本演示中,计算1024的大小k的FFT,也就是一百万点FFT,在采用8个DSP运行速率为1的内核GHz运行时间仅为6.4毫秒。
图2:单核和多核性能提升
结论
综上所述,使用TI的TMS320C6678处理器执行百万点FFT,在1GHz在工作频率下,8核同时运行只需6.4毫秒。如此高速的DSP内核足以实现雷达、电子战争、医学绘图等某些应用的实时操作。若使用最大速度1.25GHz来运行TMS320C6678处理器同时使用更高的带宽DDR3和1600MTPS执行操作所需的时间会更短。
- RF IC和模块
- 逻辑 - 缓冲器,驱动器,接收器,收发器
- 接口 - 串行器,解串器
- 电源管理IC - 稳压器 - DC DC 开关稳压器
- 接口 - 电信
- 接口 - 控制器
- 嵌入式 - 微控制器
- 逻辑 - 触发器
- 电源管理IC - 稳压器 - 线性
- 逻辑 - 缓冲器,驱动器,接收器,收发器
- 逻辑 - 触发器
- 电源管理IC - 稳压器 - 特殊用途