论文部分内容阅读
随着图像处理的不断发展,特别是在自动目标识别应用领域,图像处理流程、算法的复杂度和计算量不断地提升。这种趋势需要硬件架构满足灵活性、实时性、小型化、低功耗的要求,而传统的DSP、FPGA和ASIC都无法同时满足这些需求。为了满足发展需求,需要一种采用模块化结构,可扩展的图像处理片上处理系统。本文首先将自动目标识别应用中的多种处理算法分成了高中低三个层次,并对数据处理模式和特点进行归纳。为了更好地硬件实现自动目标识别的处理流程,本文将数据流处理模式引入传统的基于标准接口的SoC架构,提出了一种异构的并行处理框架EP3(ExtensibleParallelProcessingPlatform)。其中部分中低层次数据并行度高,灵活性高,因此EP3框架需要一种高数据吞吐率的可编程并行处理器。 近年来通用GPU(GraphicsProcessingUnit)计算(GPGPU)逐渐主导了数据并行计算应用,通常采用CUDA或者OpenCL编程模型。为了研究相关算法对处理器结构的要求,本文使用CUDA实现了低层次算法中的红外非均匀性校正算法,以及连通区域标记算法。为了达到高的吞吐率和效率,算法要求处理器能够灵活地访问片上共享存储器,突发的访问外部总线,并需要处理器能有效地隐藏计算和外存访问的数据延迟。 GPGPU中采用的SIMT(SingleInstructionMultipleThread)处理器架构能够满足上述要求。SIMT实际上是一种以小规模SIMD(SingleInstructionMultipleData,宽度在64或更小),多执行上下文的可编程处理器核心为基本单元,组成的对称多核系统。本文就这种架构做了深入地分析,指出其相对大中规模SIMD(向量宽度在100以上)结构,具有计算资源利用率高,灵活性更强,可伸缩性高等优势。然后围绕SIMT架构设计了一种并行处理器核心EPC(ExtensibleParallelCore)。从算法应用、总体架构设计、指令集设计、后端编译器设计、微体系结构设计、架构仿真器设计、验证环境等多个方面,对EPC的架构进行了诠释。 本文的主要贡献是设计出了一款SIMT架构的处理器EPC。在具体设计中,充分利用多周期执行和多Bank存储器结构,在没有使用任何定制宏单元的情况下,实现了细粒度指令多发射的超标量架构。并采用了标准的ACE总线,适合多核心扩展和系统的集成。最后本文通过多种算法在EPC仿真器上进行测试,说明不同的结构参数选择对其性能的影响。测试表明,EPC能够适应各类数据并行算法,并能很好地隐藏核心中计算和对外数据访问的延迟。达到了最初的设计目标,充分体现了SIMT架构的优势。