论文部分内容阅读
近年来,随着嵌入式系统需求复杂度的提高,硬件的集成度也随之迅速提高,以FPGA作为物理载体进行芯片设计的SoPC设计方式迅速兴起,同时伴随着以FPGA为应用基础的系统设计技术——局部重构技术受到学术界越来越广泛的关注。局部重构是一种新型的可重构计算技术,利用局部重构技术,可重构计算系统可以对可重构逻辑器件上的指定计算资源进行独立地配置,而不影响器件上其余部分的功能,与早期的可重构计算技术相比,它减小了配置位流下载、重构FPGA芯片的时间,节省了硬件资源,有效地提高了系统的整体性能和资源利用率。目前针对可重构计算领域国内外研究热点主要集中在可重构操作系统、可重构区域碎片度和空白区域搜索算法的研究。然而,迄今为止还没有一种平台可用于在FPGA上进行动态硬件任务调度和局部重构,因此本文提出了一种支持在嵌入式系统中实现动态局部硬件任务调度和重构的平台,它可以对硬件任务队列中的硬件任务进行动态调度和配置,并对特定的硬件任务调度算法做出初步的性能评估和分析。论文详细介绍了构建的基于Virtex-4的动态局部重构平台,给出了平台搭建的解决方案,并进行了方案的比较和选择,描述了构建系统所使用的关键技术和实现机制,对构建的平台进行了一系列性能试验。通过对平台的构建和用于测试的硬件任务的设计和实现,验证了技术方案的可行性,为今后重构计算系统的研究和设计打下了坚实的基础并积累了大量的实践经验,更为重要的是,平台为基于Virtex-4 FPGA的局部硬件任务调度算法的研究奠定了基本的实验环境,使硬件任务调度算法的性能评估更加准确可信。由于硬件任务在传统操作系统的时间管理下又引入了空白区域管理的问题,因此本文对二维区域空间上空白区域搜索算法进行了研究,通过引入谷点和阀值的概念改进了原有的阶梯算法,彻底消除了原有阶梯算法的搜索冗余性,显著提高了算法的搜索效率。论文目前取得的阶段性成果为后续FPGA动态重构的研究和硬件任务放置、调度算法的性能验证积累了丰富的实践经验,同时为二维空间空白区域管理算法的研究奠定了一定的理论基础。