面向服务的可重构片上多核计算平台及其重构方法

文档序号:6434732阅读:112来源:国知局
专利名称:面向服务的可重构片上多核计算平台及其重构方法
面向服务的可重构片上多核计算平台及其重构方法技术领域
本发明属于面向服务及可重构计算领域,具体涉及一种面向服务的可重构平台及其动态部分重构方法。
背景技术
可重构计算作为一种新的计算形式,将传统通用微处理器的可编程性同硬件设计中基于空间并行的计算方式结合起来,打破了传统的硬件和软件之间的划分界线,为嵌入式系统提供一个拥有更高计算能力的硬件平台。基于可重构硬件的计算平台,即可重构计算系统,其本质是利用可编程器件可多次重复配置逻辑状态的特性,在运行时根据需要动态改变系统的电路结构,从而使系统兼具灵活、简捷、硬件资源可复用、易于升级等多种优良性能。它既能提供近似于专用集成电路的执行效率,又可以通过编程来改变其内部功能和互连结构,针对不同计算任务进行不同的优化,拥有类似于通用微处理器的灵活性。可重构系统(Reconfigurable System)在高速数字滤波器、图像压缩、硬件演化计算、定制计算 (Custom Computing)、嵌入式系统等方面有着广泛的应用前景。随着微电子技术、计算机技术的发展,尤其是大规模高性能可编程器件的出现、软硬件设计方法和设计工具上的改进, 可重构计算技术逐渐成为国际上计算系统研究中的一个新热点。
随着可重构器件集成度越来越高,基于FPGA等的可重构器件的系统级设计的难度也越来越大,以及越来越短的TTMCTime-to-Market)的压力,可重构计算系统的设计方法日益得到学术界和工业界的普遍关注。为了有效地提高系统设计与开发的效率,越来越多的设计者开始采取基于平台的设计方式。即设计者直接采用由平台提供的软硬件资源库来设计定制系统。
然而,由于目前的可重构模型一般比较复杂,异构计算模块的设计差异很大,给设计者和开发人员带来了极大难度,从设计到封装,以及任务运行均需要程序员进行手动干预和配置,从而限制了平台能够获得的性能优化效果。本发明因此而来。发明内容
为了克服背景技术中存在的不足,本发明的一个目的在于提供一种面向服务的可重构片上多核计算平台及其动态部分重构方法,通过在运行时对IP核进行动态配置来提高程序的执行性能。所涉及的重构设计方法能够获得一致的IP核实现与封装接口,缩短开发周期。
为了解决现有技术中的这些问题,本发明提供的技术方案是
—种面向服务的可重构片上多核计算平台,其特征在于所述平台包括调度服务体、可重构服务体、基于先进先出缓冲的互联模块以及包含多个服务体的服务体库,所述调度服务体与可重构服务体之间均通过所述互联模块进行互联;所述可重构服务体通过服务集成接口连接服务体库。
优选的,所述调度服务体向用户提供一个或者多个服务访问点,供到来任务进行服务请求。
优选的,所述可重构服务体由异构硬件加速模块组成,并且可以通过服务集成接口从服务体库中进行服务体的动态配置。
本发明的另一目的在于提供一种面向服务的可重构片上多核计算平台的重构方法,其特征在于所述方法包括以下步骤
(1)用户发送一条新的服务请求到任务调度系统;调度服务体收到任务请求时, 首先判断当前加载的可重构服务体是否与目标应用相匹配;若匹配,则将任务转发到可重构服务体;
(2)若不匹配,则控制可重构服务体从服务体库中选取一个匹配的服务体进行重构,并在重构结束之后自动开始执行任务;
(3)在任务执行结束之后,可重构服务体将执行结果返回调度服务体。
本发明的面向服务的可重构平台,由一个调度服务体、一个可重构服务体,一个基于先进先出缓冲的互联模块,以及一个包含多个服务体的服务体库构成,所述调度服务体与可重构服务体之间均通过所述互联模块进行互联。
本发明面向服务的可重构平台的动态部分重构的具体步骤可以包括以下步骤
(1)分析应用程序和功能模块划分。该模块应分为两类静态模块或可重构模块。 在进行功能模块划分时,需保证一些类型的逻辑元件必须驻留在静态模块,包括全局时钟等逻辑单元等。分区解决方案应保证静态模块和可重构模块之前之间的数据传输量较小。
(2)硬件语言描述与功能试验。根据上一步的分区解决方案,实现各个模块的硬件描述。每个模块有一个以上的实例,相同可重构模块的不同实例的端口定义必须是相同的。
(3)综合,分别针对每个静态与可重构模块,生成单独的硬件网表。
(4)设置设计约束。在实施硬件平台的设计之前,需要定义用户约束。典型的用户约束有几种类型,如区域组的约束,可重构模式约束,时序约束和引脚位置约束等。
(5)实现静态模块及可重构模块。模块的实现与通常的硬件设计类似,分为以下步骤翻译,映射,布局布线。每个可重构模块有多个不同配置的实例,各个实例的配置均不同。相比之下,所有静态模块的实例保持相同的所有配置。
(6)合并。静态模块和可重构模块进行合并,生成可以一个初始完整的比特流和多个部分硬件比特流,所有这些比特流文件均可被加载到设备。
(7)在硬件设计结束之后,进行软件设计,首先需要根据硬件平台的参数,建立板级支持包。板级支持包中包括了引导程序,库驱动器等。它为软件应用程序提供了应用程序接口(API)。
(8)应用软件的开发必须在板级支持包提供的API之上。应用程序开发与正常的软件设计类似,只不过它需要添加控制指令对整个可重构流程进行配置
(9)针对设计的硬件平台与软件应用程序进行联合调试,以验证整体设计的正确性。整个设计流程将结束时,获得正确的可重构硬件平台上运行的可执行文件。
本发明涉及一种面向服务的可重构平台,具体涉及一种面向服务的可重构平台及其动态部分重构设计方法。因此本发明提供一种面向服务的可重构系统,将各个可重构IP 核抽象为服务体,可以自动针对任务的属性与应用程序的特征进行IP核的替换与动态配置,极大的缩短了程序运行的额外开销,拓展了任务运行的并行性。
与现有技术相比,本发明具有以下显著的优点
1、本发明提出的面向服务的可重构平台中存在调度服务体,能够在运行时针对任务的属性与应用程序的特征来决定可重构服务体的动态加载,从而提高任务的运行性能。 其特点在于采用部分比特流下载,缩短器件编程带来的额外开销
2、本发明提出的提供的动态部分重构设计方法,通过在运行时对IP核进行动态配置来提高程序的执行性能。所涉及的重构设计方法与设计流程使得各个IP核在设计的过程中能够获得一致的IP核实现与封装接口,缩短开发周期。
综上所述,本发明提供了一种面向服务的可重构平台及其动态部分重构设计方法,其包括一个调度服务体、一个可重构服务体,一个基于先进先出缓冲的互联模块,以及一个包含多个服务体的服务体库构成,所述调度服务体与可重构服务体之间均通过所述互联模块进行互联。所述调度服务体向用户提供一个或者多个服务访问点,供到来任务进行服务请求;所述可重构服务体由异构硬件加速模块组成,并且可以通过服务集成接口从服务体库中进行服务体的动态配置。所述动态部分重构设计方法,提供了平台在运行时进行服务体重构的一致接口和流程,使得本发明的系统能够提供快速多种类型的计算服务,并大大降低了可重构服务体的配置时间。


下面结合附图及实施例对本发明作进一步描述
图1是本发明的面向服务的可重构平台的体系结构图2是本发明的面向服务的可重构平台运行时的流程图3是本发明的动态部分重构设计方法的具体流程框图。
具体实施方式
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。 以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。
实施例
如图1所示,为面向服务的可重构平台的体系结构图,包括一个调度服务体、一个可重构服务体,一个基于先进先出缓冲的互联模块,以及一个包含多个服务体的服务体库构成,所述调度服务体与可重构服务体之间均通过所述互联模块进行互联。所述调度服务体向用户提供一个或者多个服务访问点,供到来任务进行服务请求;所述可重构服务体由异构硬件加速模块组成,并且可以通过服务集成接口从服务体库中进行服务体的动态配置;
图2显示了本发明的面向服务的可重构平台运行时的流程图。一个具体的运行时 IP核的重构流程示例如下
(1)用户发送一条新的服务请求到任务调度系统。调度服务体收到任务请求时,首先判断当前加载的可重构服务体是否与目标应用相匹配。若匹配,则将任务转发到可重构服务体;
(2)若不匹配,则控制可重构服务体从服务体库中选取一个匹配的服务体进行重构,并在重构结束之后自动开始执行任务;
(3)在任务执行结束之后,可重构服务体将执行结果返回调度服务体。
为了实现图2中的运行流程,图3是本发明提出的动态部分重构设计方法的设计框图,具体的设计流程如下
(1)分析应用程序和功能模块划分。该模块应分为两类静态模块或可重构模块。 在进行功能模块划分时,需保证一些类型的逻辑元件必须驻留在静态模块,包括全局时钟等逻辑单元等。分区解决方案应保证静态模块和可重构模块之前之间的数据传输量较小。
(2)硬件语言描述与功能试验。根据上一步的分区解决方案,实现各个模块的硬件描述。每个模块有一个以上的实例,相同可重构模块的不同实例的端口定义必须是相同的。
(3)综合,分别针对每个静态与可重构模块,生成单独的硬件网表。
(4)设置设计约束。在实施硬件平台的设计之前,需要定义用户约束。典型的用户约束有几种类型,如区域组的约束,可重构模式约束,时序约束和引脚位置约束等。
(5)实现静态模块及可重构模块。模块的实现与通常的硬件设计类似,分为以下步骤翻译,映射,布局布线。每个可重构模块有多个不同配置的实例,各个实例的配置均不同。相比之下,所有静态模块的实例保持相同的所有配置。
(6)合并。静态模块和可重构模块进行合并,生成可以一个初始完整的比特流和多个部分硬件比特流,所有这些比特流文件均可被加载到设备。
(7)在硬件设计结束之后,进行软件设计,首先需要根据硬件平台的参数,建立板级支持包。板级支持包中包括了引导程序,库驱动器等。它为软件应用程序提供了应用程序接口(API)。
(8)应用软件的开发必须在板级支持包提供的API之上。应用程序开发与正常的软件设计类似,只不过它需要添加控制指令对整个可重构流程进行配置。
(9)针对设计的硬件平台与软件应用程序进行联合调试,以验证整体设计的正确性。整个设计流程将结束时,获得正确的可重构硬件平台上运行的可执行文件。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求
1.一种面向服务的可重构片上多核计算平台,其特征在于所述平台包括调度服务体、 可重构服务体、基于先进先出缓冲的互联模块以及包含多个服务体的服务体库,所述调度服务体与可重构服务体之间均通过所述互联模块进行互联;所述可重构服务体通过服务集成接口连接服务体库。
2.根据权利要求1所述的面向服务的可重构片上多核计算平台,其特征在于所述调度服务体向用户提供一个或者多个服务访问点,供到来任务进行服务请求。
3.根据权利要求1所述的面向服务的可重构片上多核计算平台,其特征在于所述可重构服务体由异构硬件加速模块组成,并且可以通过服务集成接口从服务体库中进行服务体的动态配置。
4.一种权利要求1所述的面向服务的可重构片上多核计算平台的重构方法,其特征在于所述方法包括以下步骤(1)用户发送一条新的服务请求到任务调度系统;调度服务体收到任务请求时,首先判断当前加载的可重构服务体是否与目标应用相匹配;若匹配,则将任务转发到可重构服务体;(2)若不匹配,则控制可重构服务体从服务体库中选取一个匹配的服务体进行重构,并在重构结束之后自动开始执行任务;(3)在任务执行结束之后,可重构服务体将执行结果返回调度服务体。
全文摘要
本发明公开了一种面向服务的可重构片上多核计算平台,其特征在于所述平台包括调度服务体、可重构服务体、基于先进先出缓冲的互联模块以及包含多个服务体的服务体库,所述调度服务体与可重构服务体之间均通过所述互联模块进行互联;所述可重构服务体通过服务集成接口连接服务体库。该平台系统能够提供快速多种类型的计算服务,并大大降低了可重构服务体的配置时间。
文档编号G06F9/48GK102508711SQ201110299620
公开日2012年6月20日 申请日期2011年9月29日 优先权日2011年9月29日
发明者冯晓静, 周学海, 张军能, 李曦, 王爱立, 王超, 陈香兰, 陈鹏 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1