论文部分内容阅读
随着语音通信技术的发展,语音信号的处理变得越来越复杂,通用的数字信号处理器(DSP,Digital Signal Processor)已经无法满足应用的需求。因此,需要设计专门的多核DSP来实现对语音信号的处理。在DSP开发过程中,利用传统的编译器框架来构建编译器存在种种工程实现方面的不便,而广泛采用的并行编程模型也无法充分利用多核计算资源。因此,编译器开发和编程模型设计已经成为了当前多核处理器研究中的关键问题。针对上述问题,本文基于自主设计的MAD(Multi-Core Audio DSP)多核平台,展开了关于MAD的编译器和并行编程模型的研究。我们基于LLVM(Low Level Virtual Machine)开源编译器框架,通过移植面向MAD架构的编译器后端实现了编译器的设计。文中详细介绍了MAD多核DSP架构,LLVM编译器框架的结构组成,LLVM重定向特性,以及LLVM后端的移植原理和步骤。并且给出了MAD后端移植的具体细节,实现了LLVM编译器对MAD后端的支持。本文提出了一种混合型编程模型,其结合了共享内存编程模型和消息传递编程模型的双重优点。并且给出了其任务调度,核间通信,任务同步操作,锁操作等具体实现细节。最后,对编译器功能以及并行编程模型的性能进行了测试,并且实现了300bps语音编解码算法的实时通信。编译器测试主要是通过自动生成的测试文件进行功能性测试,实验结果表明所开发的编译器可以很好地支持MAD指令集;并行编程模型测试是通过Livermore loops程序测试集进行性能方面的测试,实验结果表明测试程序利用该编程模型可以获得较高的加速比;利用开发的编译器和并行编程模型,对300bps低码率语音编解码算法进行了多核并行优化,在MAD平台上实现了实时通信,并且与在TI C5535 DSP上的运行结果进行了对比。实验结果显示编译器和编程模型能有效地对实际应用实现并行加速,以满足性能需求。