论文部分内容阅读
目前可重构计算技术已成为计算系统研究中的一个新热点。作为一种新的体系结构,可重构计算同时具有软件的灵活性和硬件的高性能,在嵌入式系统和高性能计算等领域获得了越来越广泛的应用。然而操作系统和应用开发工具目前仍是可重构系统研究中的一个薄弱之处。本文重点研究可重构嵌入式系统的操作系统支持,而创建一个合适的样机平台是开展进一步研究的基础。本文主要进行几个方面的研究工作:首先,对目前主要的可重构计算平台进行了分类,提出了操作系统对于可重构平台的要求,然后给出了可重构嵌入式系统硬件平台的设计方案。第二,针对可重构嵌入式系统样机平台,提出并初步实现了一个基于Eclipse的集成开发环境以支持样机平台上的应用开发。它采用自顶向下的软硬件协同设计流程;利用插件技术集成了不同抽象层次的设计工具和外部的EDA工具;通过IP库和内部通信机制实现各设计层次间的数据交换和设计人员之间的协作;其IP库集成了不同抽象层次、不同来源和不同实现方式的异构IP。第三,提出了一个RTL级异构IP集成算法,并在集成工具中得到了实现。该算法以及采用该算法的RTL级设计工具利用参数化类隐藏了IP的不同实现方式;层次化的集成方式和灵活的互连逻辑IP能够支持非常复杂的IP互连结构;通过总线转换接口的包装,实现了不同总线接口IP的集成;通过虚拟设计和自动化的IP集成,显著地降低了设计的工作量。第四:在分析软硬件任务区别的基础上提出统一多任务模型的操作系统框架;然后给出操作系统中的任务间通信设计方案,包括硬件任务与接口设计和通信控制器的设计。最后给出基于Linux的可重构操作系统设计方案。该操作系统具有以下特点:以Linux为基础扩展,兼容Pthread等现有的并行编程模型规范,能够更好地支持应用系统的开发;通过硬件任务桩线程实现任务间的通信,简化了硬件任务的实现,并能完全兼容现有的软件任务间通信机制;支持动态部分可重构的FPGA,动态创建硬件任务,更有效地管理硬件资源。最后,研究了硬件任务的在线放置与调度问题。为了进行可重构硬件任务的动态管理,要为硬件任务在可重构器件上找到合适的配置位置,并且进行配置后才能运行硬件任务。在总结了现有工作的基础上,针对硬件任务的调度提出了最早识别的概念,并首次实现了两个最早识别的在线调度算法,新算法在调度质量上显著优于原有的算法,而运行时开销没有明显增加。此外还提出了一个硬件任务放置算法,与原有算法相比,新算法在放置效果和运行时开销方面均有优势。