论文部分内容阅读
可重构计算通过在时空域上重用硬件资源完成计算任务,在可重构系统中,硬件任务可以像软件程序一样动态的调用和修改,既保留了硬件的计算性能,又具备了软件的灵活性。随着以图像处理、数字信号处理为代表的数据流计算应用日趋广泛,如何使得编程人员根据具体的应用需求动态配置相应的功能,并通过不同类型的并行性发掘、兼顾数据流处理的高效能和配置灵活性,是目前可重构系统面临的两个主要问题。针对上述问题,本文以面向数据流的硬件任务接口设计、可重构流处理结构设计为出发点,完成了以下研究工作:1、针对数据流处理,设计并实现了基于总线的统一的流接口。利用数据流驱动计算特征,为用户硬件任务提供基于总线的统一的流接口以及对应的编程API(Application Programming Interface)。上述接口设计支持硬件任务的高性能处理,还对系统编程人员屏蔽底层设计细节,便于实现硬件任务的统一管理和灵活调度。2、针对基于总线的流接口存在的带宽瓶颈、CPU占用率高等不足,设计并实现了基于LocalLink的统一的流接口。该接口利用同步的、点对点的数据流通信接口协议,使得数据流通信连接关系可根据任务之间的数据依赖关系进行动态配置,克服了传统片上系统总线的通信瓶颈,并能够显著降低CPU利用率。经测试,硬件任务与软件任务之间的通信带宽可达到800Mbps,硬件任务与硬件任务之间的通信带宽可达到800Mbps。3、以FPGA为数据流处理平台,设计并实现了功能和互连可动态重构的高效能片上系统(System-on-Chip, SoC)。通过部分动态重构技术实现功能重构,通过交叉开关矩阵实现任务间互连关系重构,从而灵活地支持多种数据流计算模式,发掘不同种类的并行。实验结果表明,与已有基于FPGA的片上系统实现相比,AES、DES、DCT处理功耗效能有显著提升,该结构便于用户根据应用需要配置相应的数据流计算模式,降低了设计难度,并充分发挥了可重构系统的高效性和灵活性。