论文部分内容阅读
基于FPGA的可重构系统设计是目前可重构计算中研究较多的领域,可重构计算同时具有软件的灵活性和硬件的高性能,在嵌入式系统和高性能计算等领域获得了越来越广泛的应用,然而可重构操作系统及其可重构系统中任务自修复方面的研究仍是一个薄弱之处。本文重点研究可重构嵌入式系统的操作系统支持,主要在操作系统对软硬件任务的支持和对任务级自修复特性的支持两方面做以研究,包括以下几方面的研究工作:第一,介绍了一个扩展的Xilkernel,该操作系统完成对软硬件任务的统一管理。首先,详细说明了该操作系统对可重构区域、硬件任务、位流文件、数据通信等管理的实现,其次,介绍了该操作系统对外提供的统一多任务编程接口API的设计与实现。第二,介绍了另一个扩展的Xilkernel,该操作系统同时支持软硬件任务统一管理和硬件任务的心跳监测。首先,详细讲述了该操作系统对可重构区域、硬件任务、位流文件、数据通信等管理的实现;其次,介绍了硬件任务心跳监听器的设计和实现;最后,讲述了操作系统对外提供的统一多任务编程接口API的设计与实现,通过该接口用户可创建软硬件任务及配置心跳服务。第三,我们分别在实验室的硬件平台和Xilinx ML505平台上实现了两个嵌入式系统:远程动态可重构嵌入式系统和可重构自修复嵌入式系统来验证两个操作系统的正确性和性能。通过实验可看出操作系统均可正确执行,其中硬件任务比软件任务有30倍以上的加速比。引入的心跳服务(100次/秒)对操作系统软件线程执行速度的影响也很小(0.3%-0.5%),对硬件线程的执行无影响。