3。3。2 程序设计思路 15
3。3。3 主程序流程 16
3。3。4 主核程序流程 17
3。3。5 子核程序流程 17
3。3。6 内存的使用 18
4 DSP 实现 20
4。1 数据产生 20
4。2 数据存储 20
4。3 数据传输 21
4。4 核间通讯 25
4。4。1 核间通讯机制 25
4。4。2 消息队列 MQ 28
5 CCS 仿真 31
5。1 功能验证 31
5。2 实时性分析 33
结论 35
致谢 36
参考文献 37
1 引言
1。1 研究背景
随着现在对数据处理速度和精度要求的不断提高,高效地处理大量的数据成为一种趋势。 对数据的处理主要包括串行计算和并行计算两大类,串行计算是指将计算任务交给某一个处 理器进行运算,它的发展由来已久,绝大多数的数据处理均可以由串行计算实现,它的优势 在于运算简单,不需要复杂的算法支持,但它在数据量庞大的情况下,运算速度慢,效率低, 不能满足实时性,在很多对实时性和数据处理效率要求高的场合它的应用受到限制,而单个 处理器的运算速度的发展也到了极限,很难再有更大的提高,由此,并行算法应运而生。
并行算法,顾名思义是指将一个计算任务分配给多个不同的处理器同时进行运算,这样 便可以成倍地提高运算速度,减少运算时间,从而弥补了串行算法的缺点。但不是所有的运 算都可以用并行算法实现,而且将串行算法并行化也是一大难点,现如今也有很多高校和机 构在研究这一方面的内容。多核的应用起步较晚,是近几年才兴起的,现在对于使用多核 DSP 来完成数据处理的资料也很贫乏。快速傅里叶变换(FFT)既可以用串行算法实现,又可以 用并行算法实现,在雷达信号处理﹑医疗影像等领域也有广泛的应用,出于对运算速度和精 度的考量,选择用 TI 公司生产的多核 DSP 芯片 TMS320C6678 来计算超大单精度浮点数快速 傅里叶变换。它能够通过把计算任务分配给不同的内核,充分发挥 DSP 的数学计算能力,实 现运算的最优效果,可以缩短运算时间,提高算法实时性,最终通过设计并行算法并实现 VLFFT 来总结归纳多核的使用方法。论文网
1。2 研究目的与意义
TMS320C6678 多核 DSP 芯片的使用主要在于不同进程之间信息和数据的传输和交换, 也就是多核间的通信机制(IPC)的问题。用多核 DSP 完成并行算法的数据处理也会涉及相 关硬件和模块的使用,结合这些硬件和模块的功能和特点并合理应用,可以有效提高大尺寸 数据的处理效率。以 VLFFT 为例来说明,在存在并行算法及其可行的情况下,将其多核 DSP 程序在 TMS320C6678 平台上运行,配置不同的 DSP 核同时参与计算,可以缩短数据处理时 间,增强实时性,实现数据的高效处理。