[发明专利]基于处理器和FPGA混合架构的硬件线程执行方法无效
申请号: | 200810163210.7 | 申请日: | 2008-12-15 |
公开(公告)号: | CN101477458A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 陈天洲;严力科;陈度;王罡;冯德贵;吴斌斌 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/445 |
代理公司: | 杭州宇信知识产权代理事务所(普通合伙) | 代理人: | 张宇娟 |
地址: | 310027浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 处理器 fpga 混合 架构 硬件 线程 执行 方法 | ||
技术领域
本发明涉及可重构计算技术领域、操作系统设计领域、线程技术领域的一种为FPGA提供系统软件支持的技术方法。
背景技术
近年来,随着微电子技术的快速发展,微处理器领域不断的朝着提高架构执行效率、多核设计、灵活弹性的扩展和深层次功能整合方向发展,并取得了很大进步。尤其是近几年处理器/FPGA可重构混合体系架构的发展,使得微处理器领域达到了一个崭新的发展阶段。
可重构计算迎合了未来计算领域的需求,能够更方便快捷地提供更高层次的并行运算能力,由于使用了硬件的方式执行,那些并行性需求较高的应用程序的计算性能有了很大的提升,非常适用于高速数字信号处理,多媒体处理,以及生物信息处理。然而,由于针对可重构计算平台的操作系统支持还很不完善,要求开发者和用户具备硬件设计的经验,并且开发周期较长、成本过高,因此可重构计算依然没有得到很广泛的应用。
为了简单高效地管理和使用计算机中的可重构资源,一些方法分别从软件、硬件和软硬件协同的角度出发进行解决。BORPH操作系统针对基于FPGA可重配置计算机,将可重构资源像CPU运算时间和内存一样封装在操作系统服务中,开发者只需关注高层程序设计,简化了可重构资源的使用。Warp处理器从硬件设计方面简化开发者使用可重配置资源的难度,该处理器能够动态地将一个程序的耗时区域自动转为可重构硬件实现的电路来执行,从而减少执行时间和能源消耗。HWTI(Hardware Thread Interface,硬件线程接口)通过硬件线程接口实现混合架构软硬件多线程。
BORPH操作系统对可重配置的支持以及Warp处理器硬件上对可重配置的支持这两种方案在利用可重配置资源上能够达到较好的效率,但是BORPH操作系统的设计上对Linux有很大的改动,而所实现的功能还相当的简单,而Warp处理器中嵌入性能分析器和动态软硬件划分模块所涉及的硬件方面的实现过于复杂,因此修改和改进比较困难。而HWTI硬件线程接口则需要硬件化的操作系统服务支持,通用计算机上很难满足这些条件。
发明内容
为了简单高效地管理和使用处理器/FPGA混合架构中的FPGA资源,提供统一的软硬件线程接口,提高应用程序的执行性能,本发明的目的在于提供一种基于处理器和FPGA混合架构的硬件线程执行方法。
本发明解决技术问题所采用的技术方案是:
一种基于处理器和FPGA混合架构的硬件线程执行方法,其特征在于包括:
1)可执行文件生成过程
程序生成可执行文件时,实现步骤:
①在可执行文件中增加硬件节和硬件段,每一个硬件节由节头和节内容构成,节头定义了硬件节的类型、名称、起始地址、内容长度和节的目标FPGA型号;节内容保存指定FPGA型号的配置数据;每个硬件段包含一个单独的硬件节;
②分别对程序的硬件代码进行综合,生成指定FPGA型号上的实现对应功能配置数据,并按①的格式组织为硬件节/段;
③将程序的软件节/段和硬件节/段链接为一个可执行文件;可执行文件的头描述了各个程序段的类型、从文件头开始的偏移地址、程序空间中的首地址和大小;
2)程序执行过程
①可执行文件装载
可执行文件包含有代码段、硬件段和数据段;可执行文件的装载实现步骤如下:
I在系统内存中分配空间,数据段、代码段和硬件段装载到分配的内存空间中;
II根据程序的执行流程,将最先执行到的硬件段预先配置到指定的FPGA设备上;
②线程创建执行
运行时线程的创建步骤如下:
I根据加载的程序段的类型,判断所要创建的线程类型,然后生成相应的线程控制块,即软件线程控制块或硬件线程控制块;
II如果要创建硬件线程,并且该硬件段已经配置到FPGA上,那么只需要构建该硬件段到对应硬件线程控制块的映射;
III如果要创建硬件线程,但是该硬件段尚未配置到FPGA上,那么需要首先将该硬件段配置到指定类型的FPGA上,然后构建该硬件段到对于硬件线程控制块的映射;
③线程结束
I硬件线程执行完自身的任务后进入结束状态;
II如果执行完的是独立的硬件线程,那么该硬件线程状态设置成完成状态,此时该硬件线程的FPGA运算资源以及硬件线程控制块都被回收;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810163210.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:硬件支持的数据库指令解释执行方法
- 下一篇:一种烟叶烘烤数字化监测系统