论文部分内容阅读
可重构片上系统(Reconfigurable System-on-Chip, RSoC)包含不同结构、不同功能的多种模块,形成一个异构多处理单元的系统结构,因而兼具了功能灵活和运算快速的特点。RSoC的系统功能既可以采用软件实现,也可以通过硬件完成,具体方案需根据系统的性能、功耗、成本等因素决定,这使得其设计过程必然是软硬件协同进行的,其中涉及的问题包括软硬件功能描述、软硬件划分、软硬件综合、软硬件模拟及验证等。另外,近年来,动态部分重构技术由于可实现对硬件资源的分时复用,在提高灵活性的同时降低系统成本,同样成为RSoC设计领域的研究热点。针对当前面向RSoC的设计过程中自动化程度低、编程不透明、可重构资源难以有效利用等问题,并结合可编程器件能够根据应用需求动态配置芯片结构的特点,本文提出并实现了一套新的RSoC软硬件协同设计方法及工具,其中包括了以下几方面的成果:1.提出了一种基于过程级编程模型的RSoC软硬件协同设计自动化方法:首先,通过构造RSoC的软硬件统一编程模型,确立了一种以软硬件协同函数(过程级)为基础的动态划分流程,并为系统设计人员搭建了易用的、图形化的集成开发环境。在编程模型的框架内,系统设计人员通过调用已根据应用特性进行优化的软硬件协同函数,即可利用高级语言完成系统功能描述。此后,动态软硬件划分算法在程序运行时对其进行划分,选择、调度需要转换到软件或硬件实现的协同函数,并通过动态链接器实时切换函数的运行方式,从而形成了一个由功能描述到系统实现的自动化流程。实验表明,该方法易于使用,且能够有效利用动态可重构资源对应用程序进行加速。2.提出了一种搜索空间平滑技术结合离散粒子群算法的软硬件划分方法:通过使待划分任务(软硬件协同函数)的各参数值趋向平均值的策略,实现了对软硬件划分任务搜索空间的平滑操作。同时,将局部搜索与平滑力度相结合,在对原搜索空间渐进还原的过程中,离散粒子群算法将每次局部搜索到的最优解作为下一次搜索的起始解进行软硬件划分。实验结果表明,该方法可显著提高原局部搜索算法的求解质量,且在节点数较多的问题求解中速度优势明显,但时间复杂度与原局部搜索算法相同,因此,是一种解决软硬件划分中约束优化问题的有效方法。3.提出了一种RSoC上动态部分重构技术的实现方法:通过将基于EAPR (Early-Access Partial Reconfiguration)的设计方法与PlanAhead工具相结合,完成了一套动态部分重构技术的实现流程。为验证其可行性及易用性,运用该方法分别对DES (Data Encryption Standard)加解密及音频滤波器系统两个应用实例进行了设计与实现。实验结果表明,采用基于EAPR的设计方法能够避免其他现有设计方法中的诸多限制,使系统设计变得更加灵活;在与PlanAhead工具相结合后,更简化了系统设计流程,提高了动态部分可重构系统的设计效率。同时,在系统中有效利用动态部分重构的技术优势,按实际应用的计算需求分时复用可重构资源,可明显提高系统资源的利用率、节省重构时间,因此,是解决系统性能、成本,以及功耗等问题的可靠选择。4.提出了一种可重构硬件辅助的流数据管理系统(Data Stream Management System, DSMS):利用上述RSoC的设计方法及工具,设计并实现了一种基于硬件加速的流数据管理系统—Symbiote。首先,通过FPGA实现用于流数据处理的通用硬件加速器(Data Filter Unit, DFU)。 DFU可根据应用需求被设计成不同的数据查询处理器,然后被封装成硬件函数并置于针对DSMS应用开发的软硬件协同函数库中,供系统设计人员使用。在此基础上,依据查询网络的实时状态,软硬件划分算法将对系统功能描述中各查询操作的实现方式进行动态划分,从而配置不同的查询执行引擎组合。实验表明,使用软硬件协同作业的Symbiote系统在高速路收费查询应用中性能优越,其处理单个元组的平均时间仅为纯软件方式实现的1/4。由于硬件处理器能够对多个元组并行处理,该系统在应对高传输率的复杂流数据应用时性能优势将更为明显。同时,良好的系统性能也验证了本文提出的RSoC设计方法、软硬件划分算法,以及动态部分重构技术的实现方法具有可行性和高效性。