多虚拟机共享FPGA的控制方法、装置及电子设备与流程

文档序号:17474741发布日期:2019-04-20 06:02阅读:331来源:国知局
多虚拟机共享FPGA的控制方法、装置及电子设备与流程

本发明实施例涉及一种多虚拟机共享fpga的控制方法、装置及电子设备,属于计算机技术领域。



背景技术:

随着云计算技术的发展,在公共云上提供fpga(现场可编程阵列)服务,使用户可以在fpga上创建自定义的应用逻辑实例,来作为专用硬件加速器。目前,用户使用pr(partialreconfiguration,部分重配置)技术可以在不重启fpga的前提下,在fpga上部署用户自定义的应用逻辑实例。

为了支持pr技术,fpga器件的可编程逻辑被划分成静态区域(staticregion)、布线区域(routeregion)和pr区域(prregion)。静态区域在fpga上电复位后按传统位流烧写的方式完成逻辑加载,逻辑功能保持一直不变。pr区域可以在不用复位fpga芯片的情况下,动态更换逻辑资源。布线区用于连接静态区域和pr区域的逻辑资源。

为了实现fpga部分重配置功能,静态区域需要配置pr区域的控制器(prcontrolblock),从而实现对pr区域的控制。在现有技术中,一般是在fpga的静态区域上使用两个pciepf提供服务:管理pf和应用pf(pcie:peripheralcomponentinterconnectexpress,高速外围组件互联;pf:physicalfunction,物理功能)。其中,管理pf实现对pr区域的管控功能,比如pr编程文件的烧写、调试等;应用pf实现主机应用与fpga的数据交互。

发明人的实现本发明的过程中,发现现有技术存在如下缺陷:

1)fpga作为pcie端点连到pcie总线,根据pcie规范,最多提供256个pf,在提供云上多租户共享fpga服务时,每个租户的虚拟机(virtualmachine;以下简称:vm)需要使用两个pf,使得共享fpga服务的租户数量十分有限,无法满足大量租户的实际需求。

2)管理pf和应用pf必须同时直通到用户的虚拟机,仅适合单虚拟机独占整个物理机场景。因为假设有用户a和b的虚拟机在同一物理机,将管理pf透传给用户a的虚拟机,用户a有可能会将导致缺陷的pr位流(比如不响应pcie总线发出的non-posted报文会导致cpu产生机器校验异常而宕机)通过管理pf烧写到fpga进而导致硬件故障,进而产生物理机故障,从而使得运行在同一个物理机上面的属于另外一个用户b的vm受影响。

3)由于将管理pf和应用pf功能直通给用户的虚拟机后便完全将对应的逻辑资源特别是io资源的控制完全交给用户的虚拟机,因此,虚拟机监控模块(hypervisor)缺少相应介入机制。



技术实现要素:

本发明实施例提供一种多虚拟机共享fpga的控制方法、装置及电子设备,以使得fpga能够支持更多的用户虚拟机来部署和调用其应用逻辑实例。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,提供了一种多虚拟机共享fpga的控制装置,包括设置在fpga的静态区域上的管理pf模块和多个应用vf模块,所述多个应用vf模块分别对应多个pr区域,

所述管理pf模块用于接收来自虚拟机监控模块的pr指令,并根据所述pr指令对所述pr区域执行pr操作,以在所述pr区域中生成与所述pr指令对应的应用逻辑实例;

所述应用vf模块用于接收所述用户虚拟机的调用指令,并根据所述调用指令控制所述pr区域执行所述应用逻辑实例。

第二方面,提供了一种多虚拟机共享fpga的控制方法,包括:

管理pf模块接收来自虚拟机监控模块的pr指令,并根据所述pr指令对所述pr区域执行pr操作,以在所述pr区域中生成与所述pr指令对应的应用逻辑实例,其中所述管理pf模块设置在所述fpga的静态区域上;以及

应用vf模块接收所述用户虚拟机的调用指令,并根据所述调用指令控制所述pr区域执行所述应用逻辑实例,其中所述应用vf模块设置在所述静态区域上,所述应用vf模块为多个分别对应多个所述pr区域。

第三方面,提供了一种电子设备,其特征在于,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,以用于:

控制设置在fpga的静态区域上的管理pf模块接收来自虚拟机监控模块的pr指令,并根据所述pr指令对所述pr区域执行pr操作,在所述pr区域中生成与所述pr指令对应的应用逻辑实例;以及

控制设置在所述fpga的静态区域上的应用vf模块接收所述用户虚拟机的调用指令,并根据所述调用指令控制所述pr区域执行所述应用逻辑实例。

本发明实施例的多虚拟机共享fpga的控制方法、装置及电子设备,采用了pf结合vf(virtualfunction,虚拟功能)的架构,其中pf用于负责对pr区域执行pr操作,而vf直通给用户虚拟机,以接受用户虚拟机的调用控制pr区域执行pr操作生成的应用逻辑实例。在这样的架构下,pcie能够支持更多vf,使得更多的用户虚拟机来共享fpga服务。同时,由于减少使用pf,可以节省出更多的逻辑资源,以用于pr区域。此外,管理pf模块和应用vf模块是分离的架构,能将用户虚拟机对pr区域的调用操作和虚拟机监控模块对pr区域的pr操作及管理操作分离开,从而增加了系统的安全性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

图1为本发明实施例的多虚拟机共享fpga的控制系统的结构示意图;

图2为本发明实施例的多虚拟机共享fpga的控制装置的结构示意图之一;

图3为本发明实施例的多虚拟机共享fpga的控制装置的结构示意图之二;

图4为本发明实施例的多虚拟机共享fpga的控制装置的结构示意图之三;

图5为本发明实施例的多虚拟机共享fpga的控制方法的流程示意图;

图6为本发明实施例的电子设备的结构示意图;

图7为本发明实施例的nonposted报文的响应异常的处理流程示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,其为本发明实施例的多虚拟机共享fpga的控制系统的结构示意图,图1示出了本发明实施例的应用场景。

其中,整个系统涉及物理机和配置给该物理机的fpga,物理机通过pcie总线与fpga连接。在物理机上设置有多个用户虚拟机以及虚拟机监控模块(hypervisor)。在fpga的静态区域上设置有管理pf模块、多个pr区域以及与多个pr区域分别对应的多个应用vf模块。本发明实施例对fpga的静态区域的管理架构进行了改进,采用了pf结合vf的架构。

管理pf模块与物理机上的虚拟机监控模块通信,用于接收来自虚拟机监控模块的pr指令,并根据pr指令对pr区域执行pr操作,以在pr区域中生成与pr指令对应的应用逻辑实例。该管理pf模块没有直通给用户虚拟机,用户虚拟机要想对pr区域进行pr操作,需要通过虚拟机监控模块才能执行。另外,管理pf模块也负责pfga上对各个应用vf模块进行配置管理。在实际应用中,一个fpga上可以只使用一个管理pf模块即可。图中将多个应用vf模块和多个pr区域放置在虚线框内,并与管理pf模块连接,其表示管理pf模块能够对fpga上的应用vf模块和pr区域进行上述配置管理或者pr操作等。

应用vf模块与pr区域对应配置,应用vf模块直通给用户虚拟机,相当于用户虚拟机的外设而存在,非常便于用户虚拟机的调用。应用vf模块用于接收用户虚拟机的调用指令,并根据调用指令控制pr区域执行应用逻辑实例。应用vf模块的数量为多个,可以与pr区域的数量对应配置。基于sriov(技术单根io虚拟化)技术,各个应用vf模块能够共享fpga与物理机之间的pcie接口资源,并且应用vf模块占用fpga的逻辑资源较少,因此,在fpga上可以配置数量较多的应用vf模块和pr区域。

另外,在本发明实施例中,还引入了针对pr区域进行冻结控制的机制,该冻结机制下,虚拟机监控模块可以根据需要对pr区域进行冻结,尤其是在对pr区域进行pr操作时,对该pr区域进行冻结后,避免产生错误输出。此外,在本发明实施例中还引入了针对pr区域无法响应nonposted报文的情况的异常处理,当pr区域无法响应nonposted报文时,由应用vf模块主动向物理机的pcierootcomplex返回一个响应,从而使得pcierootcomplex能够完成一次完整的pcienonposted事务,从而避免出现宕机。

在本发明实施例中,通过采用了管理pf模块和应用vf模块结合的架构以及针对pr区域的冻结机制和针对nonposted报文的响应处理机制,具有如下的技术效果:

1)由于采用的应用vf模块所占用的资源量远小于现有技术中pf模块,因此,可以节省出更多的逻辑资源,以用于pr区域。

2)管理pf模块没有直通给用户虚拟机,只是将应用vf模块直通给相应的用户虚拟机,这样用户虚拟机获得的权限有限,多个应用vf模块之间也只是共享io资源而不是独占io资源。此外,通过针对pr区域的冻结机制也是的各个用户虚拟机对应的应用vf模块和pr区域之间具有非常良好的隔离性,即使个别应用vf模块和pr区域出现错误,对其他用户的虚拟机影响也很小。

3)通过nonposted报文的响应处理机制,在pr区域出现报文响应异常时,能够通过主动向pcierootcomplex返回一个响应的方式,来防止物理机因为cpu产生机器校验异常(machinecheckexception)而宕机,从而避免了个别用户虚拟机对应的pr区域出现异常而影响到其他的用户虚拟机。

4)在本发明实施例的架构中,管理pf模块和应用vf模块是分离的,其中,只有应用vf模块直通给用户虚拟机,而管理pf模块没有直通给用户虚拟机而是由物理机侧的虚拟机监控模块管控。通过这样的pf和vf分离的架构能够增加系统的安全性,用户虚拟机对于pr区域的权限在于调用其已经部署在pr区域上的应用逻辑实例,而对pr区域执行pr操作的权限是由管理pf模块来负责,用户是不能随意的对pr区域执行pr操作的,从而减少了由于向pr区域部署非法应用逻辑实例所带了的系统风险,此外,虚拟机监控模块还能够通过管理pf模块对应用vf模块进行配置和隔离,从而能够有限防止部分用户虚拟机的部署或者调用错误所带来的系统风险。

下面通过几个具体实施例来进一步说明本发明的技术方案。

实施例一

如图2所示,其为本发明实施例的多虚拟机共享fpga的控制装置的结构示意图之一,本实施例的控制装置设置在fpga的静态区域上,其包括管理pf模块21和多个应用vf模块22,多个应用vf模块又分别对应多个pr区域23。下面分别介绍一下管理pf模块和应用vf模块各自的功能。

1、管理pf模块

管理pf模块21主要用于与物理机上的虚拟机监控模块通信,其没有直通给用户虚拟机,也就是说用户虚拟机无法对管理pf模块直接调用,只能通过虚拟机监控模块来调用管理pf模块。在本发明实施例中,管理pf模块主要用于执行对pr区域23的pr操作。具体地,管理pf模块21接收来自虚拟机监控模块的pr指令,并根据pr指令对pr区域23执行pr操作,以在pr区域23中生成与pr指令对应的应用逻辑实例。在管理pf模块21完成pr操作后,用户虚拟机就可以通过应用vf模块22对pr区域23配置的应用逻辑实例进行调用了。

2、应用vf模块

应用vf模块22被配置为直通给用户虚拟机,在实际应用中,应用vf模块的数量可以与用户虚拟机的数量对应配置。应用vf模块22主要用于接收用户虚拟机的调用指令,并根据调用指令控制pr区域23执行应用逻辑实例。

相比现有技术中的应用pf模块的配置,应用vf模块的数量可以大幅增加。fpga作为pcie端点连到pcie总线的设备,根据pcie规范,fpga最多能配置256个fp模块,这个数量远无法满足由于多租户的产生的数量众多的用户虚拟机的使用需求。而基于sr-iov技术,每个sr-iov设备都可有一个pf,并且每个pf最多可有64,000个与其关联的vf。pf可以通过寄存器创建和管理这些vf。由此可见,基于sr-iov技术,在fpga上可以配置许多应用vf模块以满足更多的用户虚拟机的调用需求。

通过上述的在fpga的静态区域上设置管理pf模块和应用vf模块的架构,使得更多的用户虚拟机来共享fpga服务,并且也方便用户通过用户虚拟机来直接对pr区域中的应用逻辑实例进行调用。同时,由于减少使用pf,可以节省出更多的逻辑资源,以用于pr区域,从而也增加了用户虚拟机能够配置的fpga逻辑资源。此外,在本发明实施例的架构中,管理pf模块和应用vf模块是分离的,其中,只有应用vf模块直通给用户虚拟机,管理pf模块没有直通给用户虚拟机而是由物理机侧的虚拟机监控模块管控,这样的架构能将用户虚拟机对pr区域的调用操作和虚拟机监控模块对pr区域的pr操作以及管理操作分离开,能够增加系统的安全性。以上介绍了fpga的静态区域上的管理pf模块和应用vf模块的基本架构模型。下面再进一步介绍一下针对应用vf模块的进一步的控制机制。

如图3所示,其为本发明实施例的多虚拟机共享fpga的控制装置的结构示意图之二,在上述的fpga的静态区域上还可以设置一些对应用vf模块22和pr区域23的输出进行控制的逻辑单元,从而使得虚拟机监控模块能够对应用vf模块22和pr区域23进行控制。图3所示的结构,主要涉及如下两方面的外围控制逻辑,为了简化说明,图3仅示出了一个应用vf模块和一个pr区域的情形。

1)执行pr过程中的pr区域冻结输出冻结逻辑

上述应用vf模块22可以进一步包括pr区域执行控制单元221和pr区域冻结控制单元222。其中,pr区域执行控制单元221,用于调用pr区域中的应用逻辑实例,获取应用逻辑实例的执行结果信号,并将该执行结果信号输出至pr区域冻结控制单元222。pr区域冻结控制单元222,用于根据接收到的pr区域冻结控制信号,选择阻止pr区域23的执行结果信号或者允许执行结果信号向应用vf模块22之外进行输出。设置pr区域冻结控制单元222的作用在于能够在应用vf模块22内部对向输出的信号进行控制。

上述的pr区域冻结控制信号可以来自于应用vf模块22外部,例如可以来自物理机上的虚拟机监控模块。具体地,在应用vf模块22外围部分,还可以设置冻结信号生成模块24,其用于在pr区域被执行pr操作时,产生pr区域冻结控制信号,并输出至pr区域冻结控制单元222。冻结信号生成模块24可以与虚拟机监控模块进行通信连接,由于针对pr区域23进行的pr操作是通过虚拟机监控模块来控制管理pf模块21执行的,因此,在执行pr操作时,虚拟机监控模块可以同时向fpga的静态区域的冻结信号生成模块24发送指示,使该冻结信号生成模块产生pr区域冻结控制信号,以控制应用vf模块22中的pr区域冻结控制单元222阻止pr区域的执行结果信号。

通过在pr区域被执行pr操作时,冻结pr区域的执行结果信号的输出,能够避免pr区域在pr期间向外输出不正常的或者错误的执行结果信号。

更具体地,在图3的上方,冻结信号生成模块24可以具体为第一多路选择器,应用vf模块的pr区域冻结控制单元可以具体为第二多路选择器。

其中,该第一多选择器具有两个输入端,其中一个输入端用于输入来自虚拟机监控模块的第一冻结控制信号,另一个输入端用于输入来自应用vf模块的第二冻结控制信号,多路选择器的控制端输入来自虚拟机监控模块的冻结选择控制信号。通过虚拟机监控模块输出的冻结选择控制信号来选择两个输入端的信号之一作为该第一多选择器的输出(即选择由虚拟机监控模块对pr区域执行冻结控制,还是由用户虚拟机可以访问配置的应用vf模块自身来对pr区域执行冻结控制,后一种选择是将冻结控制权限交给了用户),该第一多选择器的输出端连接至第二多路选择器的控制端。

第二多路选择器也具有两个输入端,其中一个输入端与pr区域的输出端连接,另一个输入端用于输入该应用vf模块的用户配置寄存器中预先配置的数值,第二多路选择器根据第一多选择器的输出信号的控制,选择向应用vf模块之外输出pr区域的执行结果信号或者输出用户配置寄存器中预先配置的数值。作为一种可选择的方案,第二多路选择器可以用d触发器来代替,只保留与pr区域的输出端连接的一个输入端即可,也就不需要用户配置寄存器中预先配置的数值。

通过上述的两个多选择器以及虚拟机监控模块的第一选择控制信号的控制,实现了针对pr区域输出的执行结果信号的冻结,并能够在冻结的时候,输出预设的数值。

2)针对应用vf模块的结果输出的控制逻辑

如图3的右侧所示,在fpga的静态区域上还可以设置有应用vf输出控制模块25和虚拟机监控模块预设输出值寄存器。

应用vf输出控制模块25用于根据来自虚拟机监控模块的结果选择控制信号,选择输出来自应用vf模块22输出的第一输出信号或者从虚拟机监控模块预设输出值寄存器中获取预设的第二输出信号并向外输出。

通过设置上述应用vf输出控制模块,虚拟机监控模块能够通过结果选择控制信号,对不同的应用vf模块进行隔离,例如,虚拟机监控模块需要禁止或者屏蔽掉某个用户虚拟机对应的应用vf模块时,可以将上述应用vf输出控制模块切换为输出预设的第二输出信号,通过这样的方式,虚拟机监控模块可以灵活使能用户虚拟机对pr区域的控制。

具体地,应用vf输出控制模块25可以具体为第三多路选择器,该第三多路选择器具有两个输入端,其中一个输入端与应用vf模块的输出端连接,即与上述的第二多路选择器的输出端连接,该第三多路选择器的另一个输入端输入上述的虚拟机监控模块预设输出值寄存器中的数值,该第三多路选择器控制端输入来自虚拟机监控模块的结果选择控制信号。

下面再介绍一下本发明实施例中关于针对nonposted报文的处理监控机制。

由于云上fpga服务将fpga资源直通给用户虚拟机后,由用户虚拟机会通过物理机上的虚拟机监控模块实现pr操作来配置用户需要的应用逻辑实例。而用户配置的应用逻辑实例,很可能会出现配置逻辑的失误,这些失误如果处理不当,很有可能会引起物理机的宕机。例如,一种典型场景:用户配置的应用逻辑实例不响应pcie的nonposted报文的情形。pcie的nonposted报文要求接收方明确向发送方发送响应报文,pcie的大部分报文类型都属于nonposted类型的,作为报文发送方的pcierootcomplex(根复合体),若超时未收到nonposted报文的响应,便会触发cto(completiontimeout,完成超时)机制,在这种情况下,会造成物理机的cpu指令执行队列阻塞,进一步导致cpu产生机器校验异常(machinecheckexception)而宕机,如果此时有不同用户的多个用户虚拟机在同一个物理机上便会导致其他用户的用户虚拟机受到严重影响影响。

通过分析可知,上述造成宕机的主要原因pcierootcomplex没有完成一个完整的pcienonposted事务(在发出nonposted报文后未收到响应)。基于这样的原因,在fpga一侧来设置一些逻辑功能,来避免这样的情况的发生。

具体地,如图4所示,其为本发明实施例的多虚拟机共享fpga的控制装置的结构示意图之三,在应用vf模块中可以设置有报文监控模块223。为了简化说明,图中去掉了其他逻辑功能模块,仅保留了与报文处理相关的模块。

该报文监控模块223用于监控pr区域23对来自物理机的pcierootcomplex的报文的处理情况,在所述pr区域无法正常返回针对报文的响应的情况下,主动向pcierootcomplex返回响应。

具体地,来自pcierootcomplex的报文具体为nonposted,当应用vf模块22接收到nonposted报文后,该报文监控模块223启动计时操作,并监控应用vf模块是否接收到pr区域23返回的针对该nonposted报文的第一响应报文,如果在预设的第一事务超时阈值内,应用vf模块22没有接收到第一报文响应,则报文监控模块223向pcierootcomplex返回第二报文响应,如果在预设的第一事务超时阈值内,应用vf模块22接收到pr区域23返回的针对该nonposted报文的第一响应报文,则可以取消本次计时操作或者取消针对nonposted报文的跟踪,并向pcierootcomplex返回第一响应报文。

其中,上述的第一事务超时阈值可以通过如下机制确定:在物理机一侧,虚拟机监控模块会先设置pcierootcomplex的第二事务超时阈值。这个第二事务超时阈值设置在pcie配置空间中的为devicecapabilities2register(设备能力2寄存器)中。

然后,虚拟机监控模块可以根据该第二事务超时阈值、pcie交换机的数量(记作n)以及pcie交换机的穿越延迟时间(以tcutthrough表示)计算第一事务超时阈值。具体地计算公式可以为:

第一事务超时阈值=第二事务超时阈值-n×tcutthrough。

上述的针对nonposted报文的响应异常的处理流程可以如图7所示,包括:

s701:在pcie配置空间中的为devicecapabilities2register中设置pcierootcomplex的第二事务超时阈值;

s702:根据该第二事务超时阈值、pcie交换机的数量以及pcie交换机的穿越延迟时间计算第一事务超时阈值;

s703:当应用vf模块接收到nonposted报文后,启动计时操作;

s704:在预设的第一事务超时阈值内,是否收到pr区域返回的针对该nonposted报文的第一响应报文,如果收到,则执行s705,如果没收到,则执行s706;

s705:取消计时操作,并向pcierootcomplex返回第一响应报文;

s706:向pcierootcomplex返回第二报文响应。

通过上述机制,无论pr区域是否返回的针对该nonposted报文的第一响应报文,物理机的pcierootcomplex都可以收到针对nonposted报文的响应,从而使得物理机的pcierootcomplex都能完成一次完整的pcienonposted事务,而不会触发完成超时,从而避免产生由于机器异常校验而而导致的物理机宕机。

实施例二

如图5所示,其为本发明实施例的多虚拟机共享fpga的控制方法的流程示意图,本实施例的控制方法基于上述实施例中的pf结合vf的架构。即在fpga的静态区域上设置有管理pf模块和多个应用vf模块,多个应用vf模块分别对应多个pr区域。相应地控制方法主要涉及针对pr区域的pr操作和后续的针对pr区域的调用操作,具体包括:

s101:管理pf模块接收来自虚拟机监控模块的pr指令,并根据pr指令对pr区域执行pr操作,以在pr区域中生成与pr指令对应的应用逻辑实例;

s102:应用vf模块接收用户虚拟机的调用指令,并根据调用指令控制pr区域执行应用逻辑实例。

其中,在执行上述s101的过程中,即在pr区域被执行pr操作时,阻止应用vf模块向外输出pr区域的执行结果信号。具体的阻止应用vf模块向外输出pr区域的执行结果信号的机制在实施例一中已经进行了详细说明,在此不再赘述。

此外,为了防止由于pcierootcomplex没有完成一个完整的pcienonposted事务而导致的宕机情况,应用vf模块可以监控pr区域对来自物理机的pcierootcomplex的报文的处理情况,并在pr区域无法正常返回针对报文的响应的情况下,主动向pcierootcomplex返回响应。其中,该来自物理机的pcierootcomplex的报文可以具体为nonposted报文。

相应地,可以采用如下报文监控处理:当应用vf模块接收到来自物理机的pcierootcomplex的nonposted报文后,启动计时操作,如果在预设的第一事务超时阈值内,应用vf模块没有接收到pr区域返回的第一报文响应,则向pcierootcomplex返回第二报文响应。如果在预设的第一事务超时阈值内,接收到pr区域返回的第一报文响应,则向pcierootcomplex返回该第一报文响应,并取消计时操作。

其中,该第一事务超时阈值可以通过如下实施例一中说明的方式进行计算,此外,详细的处理流程可以参照图7所示的流程图,在此不再赘述。

此外,关于本实施例中的控制方法所涉及的技术细节说明以及技术效果等内容在前述实施例中已经进行了充分描述,其内容仍然适用于本实施例,在此不再赘述。

实施例三

前面的实施例描述了发明实施例的多虚拟机共享fpga的控制装置的功能结构以及控制方法的处理流程,上述的功能结构或者处理流程也可借助一种电子设备实现完成,如图6所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器610和处理器620。

存储器610,用于存储程序。

除上述程序之外,存储器610还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器610可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器620,耦合至存储器610,用于执行存储器610中的程序,以用于:

控制设置在fpga的静态区域上的管理pf模块接收来自虚拟机监控模块的pr指令,并根据pr指令对pr区域执行pr操作,在pr区域中生成与pr指令对应的应用逻辑实例;以及

控制设置在fpga的静态区域上的应用vf模块接收用户虚拟机的调用指令,并根据调用指令控制pr区域执行应用逻辑实例。

此外,上述实施例中的其他功能和处理流程也可以以程序的形式存储于存储器610中并被处理器620读取执行。详细的控制处理在实施例三中已经进行详细说明,其同样适用于本实施例,在此不再赘述。

进一步,如图6所示,电子设备还可以包括:通信组件630、电源组件640、音频组件650、显示器660等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。

通信组件630被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件630经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件630还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件640,为电子设备的各种组件提供电力。电源组件640可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件650被配置为输出和/或输入音频信号。例如,音频组件650包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器610或经由通信组件630发送。在一些实施例中,音频组件650还包括一个扬声器,用于输出音频信号。

显示器660包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1