论文部分内容阅读
随着多媒体的高速发展,对嵌入式处理器处理音视频的能力要求也越来越高,而嵌入式多核处理器上的并行编程成为了开发过程中的一大难题。如何从另一个角度突破并行编程的牢笼,如何减小嵌入式多核平台上特定场景下的编程难度,本文提出的动态可重构技术恰是解决上述问题的方案之一。动态可重构是一种基于DSP处理器面向算法的部分可重构技术,使得嵌入式DSP处理器可以调用动态库文件中的函数,可以不停的切换调用动态库。同时动态重构框架也需要解决几个问题,比如嵌入式多核平台上没有非易失性的存储器,嵌入式多核架构平台上的BIOS操作系统没有解析动态库的功能。在嵌入式DSP处理器上可被执行、可被调用的文件统称为ELF文件,而且这种类型的文件都遵循相同的文件格式,本文首先研究了ELF文件格式,分析了ELF文件中不同字段的作用和分布情况,基于这种理论支持,按照既定的ELF文件格式,类比Linux操作系统中解析动态库文件的过程,设计了可应用于多核平台上的动态重构框架。本文将动态重构框架分为动态库存储、动态库解析和多核通信三大模块,同时分别实现了上述三个模块的代码实现。同时本文针对TI公司的KeyStone架构的TMS320C6678、KeyStone II架构的异构多核平台这两款开发板做了深入研究,介绍了嵌入式多核处理器中多种通信机制。分析了上述两款处理器中的内存架构以及动态重构框架中对内存的访问模式,这些内容的介绍对高效使用动态重构框架有很大的帮助。由于多核处理器平台一般受控于主控机使用,而且异构平台的对接方式有很多种,为了动态重构框架的易用性和可扩展性,该框架内部实现了多种异构平台的对接方式,例如PCI-e总线、以太网、SRIO等。不同的对接方式适用于不同的硬件平台,同时也有不同的系统性能。本文同时测试了该框架的各个模块。在嵌入式多核平台和主控机不同连接方式下,测试了动态重构框架接收动态库文件的速度,测试了动态重构框架重构多个任务时上下文的切换速度,测试了不同内存访问模式对框架使用的影响。经过测试的结果显示,该框架可以完成多核重构的任务,同时处理器上的动态库的切换时延在10ms之内。