FPGA的IP核加载方法、装置及电子设备与流程

专利2022-06-30  101


本申请涉及计算机技术领域,尤其涉及一种fpga的ip核加载方法、装置及电子设备。



背景技术:

现有技术中,在现场可编程门阵列(field-programmablegatearray,fpga)作为服务的公有云平台中,向fpga中安全加载(该过程也称为“烧写”)ip核(intellectualpropertycore)是很重要的一个环节。安全烧写的目的,是防止ip核被盗用,保护用户知识产权。

当前,由于大多数公有云提供给用户服务的是虚拟机,在虚拟环境下fpga中的管理pf对用户不可见,所以在通过管理pf对fpga中的用户pf烧写ip核的过程是安全的。但随着弹性物理机(以物理机作为服务提供给用户)的逐步使用,由于用户cpu在rc下(rootcomplex)的fpga设备(包含管理pf)是用户可见的,因此现有的ip核加载方案已经不能满足fpga服务平台加载的安全需要。



技术实现要素:

本发明提供了一种fpga的ip核加载方法、装置及电子设备,能够在fpga提供服务的物理机中,通过保证fpga的bar空间的安全性,提高向fpga加载ip核的安全性。

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

第一方面,提供了一种fpga的ip核加载方法,包括:

从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息;

基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所获取的所述bar空间信息进行正确性验证;

如果验证通过,则向所述fpga的bar空间传输ip核数据,以使所述fpga的管理pf执行所述ip核数据的加载流程。

第二方面,提供了另一种fpga的ip核加载方法,包括:

向插接在物理机上的管理设备发送fpga的bar空间信息,所述fpga插接在所述物理机上;

接收所述管理设备向所述fpga的bar空间传输的ip核数据,并执行所述ip核数据的加载流程;

其中,所述ip核数据为所述管理设备基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

第三方面,提供了一种fpga的ip核加载装置,包括:

信息获取模块,用于从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息;

信息验证模块,用于基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所获取的所述bar空间信息进行正确性验证;

数据发送模块,用于如果验证通过,则向所述fpga的bar空间传输ip核数据,以使所述fpga的管理pf执行所述ip核数据的加载流程。

第四方面,提供了另一种fpga的ip核加载装置,包括:

信息发送模块,用于向插接在物理机上的管理设备发送fpga的bar空间信息,所述fpga插接在所述物理机上;

数据处理模块,用于接收所述管理设备向所述fpga的bar空间传输的ip核数据,并执行所述ip核数据的加载流程。

其中,所述ip核数据为所述管理设备基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

第五方面,提供了一种电子设备,包括:

存储器,用于存储程序;

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

从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息;

基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所获取的所述bar空间信息进行正确性验证;

如果验证通过,则向所述fpga的bar空间传输ip核数据,以使所述fpga的管理pf执行所述ip核数据的加载流程。

第六方面,提供了另一种电子设备,包括:

存储器,用于存储程序;

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

向插接在物理机上的管理设备发送fpga的bar空间信息,所述fpga插接在所述物理机上;

接收所述管理设备向所述fpga的bar空间传输的ip核数据,并执行所述ip核数据的加载流程。

其中,所述ip核数据为所述管理设备基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

本发明提供了一种fpga的ip核加载方法、装置及电子设备,通过在向插接在物理机上的fpga的管理pf中的bar空间传输ip核数据之前,获取管理pf中存储的bar空间信息,并基于物理机的操作系统配置给fpga的原始bar空间信息对获取的bar空间信息进行正确性验证,待验证通过后,向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程,以提高整个加载过程的安全性,保证ip核的知识产权不会因为bar空间信息的更改而被恶意窃取。

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

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的fpga的ip核加载方案示意图;

图2为本发明实施例的fpga的ip核加载方法流程图一;

图3为本发明实施例的fpga的ip核加载方法流程图二;

图4为本发明实施例的fpga的ip核加载方法流程图三;

图5为本发明实施例的fpga的ip核加载方法流程图四;

图6为本发明实施例的fpga的ip核加载装置结构图一;

图7为本发明实施例的fpga的ip核加载装置结构图二;

图8为本发明实施例的fpga的ip核加载装置结构图三;

图9为本发明实施例的fpga的ip核加载装置结构图四;

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

图11为本发明实施例的电子设备的结构示意二。

具体实施方式

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

本发明实施例改善了现有技术在fpga作为服务的公有云平台中,且以插接有fpga的物理机作为服务提供给用户时,由于用户cpu在rc下的fpga设备(包含管理pf)是用户可见的,导致在向fpga加载ip核的过程中存在安全隐患的缺陷,其核心思想在于,在向fpga加载ip核之前,获取fpga的bar空间信息,并对该bar空间信息进行正确性验证,在bar空间信息正确的情况下,向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程,以提高整个加载过程的安全性,保证ip核的知识产权不会因为bar空间信息的更改而被恶意窃取。

基于上述fpga的ip核加载的方案思想,图1为本发明实施例提供的fpga的ip核加载方案示意图。该加载方案在物理机上实现,该物理机可通过远程链接向用户提供服务。该物理机包括:用户(user)cpu,通过插接方式设置在物理机上的管理设备和fpga,管理设备和fpga之间可通过usercpu中的rc通路实现相互访问以及数据传输。在fpga中主要包括两个物理设备区:管理pf和用户pf;其中,管理pf中存储有物理机的操作系统配置给fpga的bar空间信息(bar空间的基地址的信息),同时管理pf对用户pf进行管控,比如针对用户pf加载ip核数据以对其处理逻辑进行更新重构;用户pf用于向用户提供fpga服务。在以物理机向用户提供服务时,管理pf和用户pf对用户都是可见的。

具体加载过程包括:当用户向云端的后台管理服务器发起对物理机上的fpga加载ip核数据(用户对用户pf进行逻辑更新)后,管理设备需要向fpga中的管理pf传输ip核数据,以使得管理pf实现后续ip核加载过程;为了防止ip核数据传输以及加载过程中,用户对fpga进行任何干预操作,可以由管理设备通过带外通路向usercpu发送pause指令,并挂起usercpu;管理设备通过rc通路从fpga的管理pf中获取由物理机的操作系统预先配置给fpga的bar空间信息,为了保证bar空间信息在传输过程中的安全性,可通过fpga中的加密模块(encryptor)对其进行加密;管理设备接收到加密后的bar空间信息后可通过解密模块(deccryptor)对其进行解密,并对解密后的bar空间信息与原始的bar空间信息进行比对校验,如果两个bar空间信息一致,则表明fpga的bar空间地址没有被篡改,是安全的;管理设备向fpga对应的bar空间传输ip核数据,以使管理pf对ip核数据进行加载,实现对用户pf的更新重构。

下面通过多个实施例来进一步说明本申请的技术方案。

实施例一

基于上述fpga的ip核加载的方案思想,如图2所示,其为本发明实施例示出的fpga的ip核加载方法流程图一,该方法的执行主体可以是图1中所示的管理设备。如图2所示,该fpga的ip核加载方法包括如下步骤:

s210,从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息。

本方案中的物理机可以为公有云中用于向用户提供服务的物理机,且该物理机上插接有fpga,用于加速服务。在以物理机(区别于虚拟机)形式向用户提供服务时,插接在物理机上的fpga的管理pf对用户是可见的。

具体地,在通过插接在同一物理机上的管理设备控制向fpga加载ip核之前,管理设备需要从插接在同一物理机上的fpga的管理pf中获取fpga的bar空间信息,以确认fpga中管理pf中存储的bar空间信息是否仍为物理机操作系统配置给fpga的原始bar空间信息,以确认bar空间的安全性。

例如,管理设备可通过物理机中用户cpu的rc通道,从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息。其中,用户cpu的rc通道为cpu自带功能模块,主要用于供插接在物理机上的外接板卡,如本实施例中的管理设备和fpga之间不经过cpu的控制逻辑而实现相互访问和数据传输。

s220,基于物理机的操作系统配置给fpga的原始bar空间信息对所获取的bar空间信息进行正确性验证。

管理设备从插接在物理机上的fpga的管理pf中获取到该fpga的bar空间信息后,可将该bar空间信息与物理机的操作系统配置给fpga的原始bar空间信息进行比对验证,以识别管理pf中存储的bar空间信息是否被篡改。而一旦管理pf中存储的bar空间信息被篡改,管理设备在传输ip核数据时就会将其传输到更改后的bar空间地址,该地址可能是用户可以访问的空间地址,从而导致用户能够有机会窃取到ip核数据,造成ip核数据泄漏。因此,在传输ip核数据至fpga对应的bar空间之前,需要对bar空间信息进行安全验证。

s230,如果验证通过,则向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程。

如果管理pf中存储的bar空间信息与系统配置给fpga的原始bar空间信息一致,表明管理pf中存储的bar空间信息指向的bar空间是安全的,即验证通过。管理设备可向该fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程,以实现对用户pf的更新重构。

如果获取的bar空间信息与系统配置给fpga的原始bar空间信息不一致,则不进行后续ip核数据的传输及加载操作。

关于管理pf执行ip核数据的加载流程,本方案对此过程不做具体限定,可以采用现有技术中记载的任一加载方式。

本发明提供的fpga的ip核加载方法,通过在向插接在物理机上的fpga的管理pf中的bar空间传输ip核数据之前,获取管理pf中存储的bar空间信息,并基于物理机的操作系统配置给fpga的原始bar空间信息对获取的bar空间信息进行正确性验证,待验证通过后,向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程,以提高整个加载过程的安全性,保证ip核的知识产权不会因为bar空间信息的更改而被恶意窃取。

实施例二

如图3所示,为本发明实施例的fpga的ip核加载方法流程图二,与图2所示方法的区别在于,采用了从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息的一种优选实施方案。如图3所示,在fpga的ip核加载方法初始可执行如下步骤:

s310,从管理pf中获取经管理pf加密后的fpga的bar空间信息。

为了保证bar空间信息在传输过程中的安全性,管理pf在从本地提取出fpga对应的bar空间信息后可通过加密模块对其进行加密,并将加密后的bar空间信息通过如rc通路发送至管理设备。

本实施例中对于加密的具体方式方法不做限定。

s320,对加密后的fpga的bar空间信息进行解密,得到fpga的bar空间信息。

管理设备接收到加密后的bar空间信息后,利用预先预定的秘钥对其进行解密,得到解密后的bar空间信息。

在步骤s320之后,可继续执行步骤s220~s230。

如果解密失败,或者解密后得到的bar空间信息与系统配置给fpga的原始bar空间信息不一致,则不进行后续ip核数据的传输及加载操作。

另外,如图4所示,为了保证管理设备在获取fpga的bar空间信息的过程中,以及后续ip核数据传输过程中,用户不会拦截传输的信息或者数据,在步骤s210或者s310之前可执行如下步骤:

s410,通过与物理机的用户cpu连通的带外通路,向用户cpu发起暂停指令,挂起用户cpu。

管理设备在从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息之前,可先通过带外通路(非操作系统提供的数据传输通路)向用户cpu发起暂停指令(pause指令),挂起用户cpu,从而禁止用户对物理机进行任何操作,保证整个加载过程不被用户干预,提高ip核加载的安全性。

本实施例与图2所示方法相比较,进一步地,通过从管理pf中获取经管理pf加密后的fpga的bar空间信息,并对加密后的fpga的bar空间信息进行解密,得到fpga的bar空间信息,以保证fpga的bar空间信息在传输过程中安全性。

进一步地,在从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息之前,通过与物理机的用户cpu连通的带外通路,向用户cpu发起暂停指令,挂起用户cpu,禁止用户对物理机进行任何操作,保证整个加载过程不被用户干预,提高ip核加载的安全性。

实施例三

基于上述fpga的ip核加载的方案思想,如图5所示,其为本发明实施例示出的fpga的ip核加载方法流程图四,该方法的执行主体可以是图1中所示的fpga,具体可以是fpga中的管理pf。如图5所示,该fpga的ip核加载方法包括如下步骤:

s510,向插接在物理机上的管理设备发送fpga的bar空间信息,fpga插接在物理机上。

本方案中的物理机可以为公有云中用于向用户提供服务的物理机,且该物理机上插接有fpga,用于加速服务。在以物理机(区别于虚拟机)形式向用户提供服务时,插接在物理机上的fpga的管理pf对用户是可见的。

具体地,在通过插接在同一物理机上的管理设备控制向fpga加载ip核之前,管理设备需要从插接在同一物理机上的fpga的管理pf中获取fpga的bar空间信息,以确认fpga中管理pf中存储的bar空间信息是否仍为物理机操作系统配置给fpga的原始bar空间信息,以确认bar空间的安全性。

例如,管理设备可通过物理机中用户cpu的rc通道,向fpga的管理pf发送用于获取管理pf中存储的bar空间信息的请求。管理pf接收到该请求后,从本地获取fpga的bar空间信息,并通过物理机中用户cpu的rc通道发送至管理设备。其中,用户cpu的rc通道为cpu自带功能模块,主要用于供插接在物理机上的外接板卡,如本实施例中的管理设备和fpga之间不经过cpu的控制逻辑而实现相互访问和数据传输。

s520,接收管理设备向fpga的bar空间传输的ip核数据,并执行ip核数据的加载流程。

其中,ip核数据为管理设备基于物理机的操作系统配置给fpga的原始bar空间信息对所接收的bar空间信息进行正确性验证通过后发出。

具体地,管理设备从插接在物理机上的fpga的管理pf中获取到该fpga的bar空间信息后,可将该bar空间信息与物理机的操作系统配置给fpga的原始bar空间信息进行比对验证,以识别管理pf中存储的bar空间信息是否被篡改。而一旦管理pf中存储的bar空间信息被篡改,管理设备在传输ip核数据时就会将其传输到更改后的bar空间地址,该地址可能是用户可以访问的空间地址,从而导致用户能够有机会窃取到ip核数据,造成ip核数据泄漏。因此,在传输ip核数据至fpga对应的bar空间之前,需要对bar空间信息进行安全验证。

如果管理pf中存储的bar空间信息与系统配置给fpga的原始bar空间信息一致,表明管理pf中存储的bar空间信息指向的bar空间是安全的,即验证通过。管理设备可向该fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程,以实现对用户pf的更新重构。

如果管理设备获取的bar空间信息与系统配置给fpga的原始bar空间信息不一致,则验证失败,则不进行后续ip核数据的传输及ip核数据的加载操作。

因此,如果管理pf接收到管理设备向fpga的bar空间传输的ip核数据,则表明之前发送至管理设备的fpga的bar空间信息是正确的。管理pf基于管理设备发送至bar空间的ip核数据,执行ip核数据的加载流程。

关于管理pf执行ip核数据的加载流程,本方案对此过程不做具体限定,可以采用现有技术中记载的任一加载方式。

进一步地,为了保证bar空间信息在传输过程中的安全性,管理pf在从本地提取出fpga对应的bar空间信息后可通过加密模块对其进行加密,并将加密后的bar空间信息通过如rc通路发送至管理设备。

本实施例中对于加密的具体方式方法不做限定。

管理设备对所接收的加密后的bar空间信息进行解密,并基于物理机的操作系统配置给fpga的原始bar空间信息对解密后的bar空间信息进行正确性验证。如果验证通过,则向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程。

本发明提供的fpga的ip核加载方法,通过向插接在物理机上的管理设备发送fpga的bar空间信息,fpga插接在物理机上;接收管理设备向fpga的bar空间传输的ip核数据,并执行ip核数据的加载流程;其中,ip核数据为管理设备基于物理机的操作系统配置给fpga的原始bar空间信息对所接收的bar空间信息进行正确性验证通过后发出。本方案可以提高整个加载过程的安全性,保证ip核的知识产权不会因为bar空间信息的更改而被恶意窃取。

进一步地,通过向管理设备发送经管理pf加密后的fpga的bar空间信息,以使得管理设备对加密后的fpga的bar空间信息进行解密后得到fpga的bar空间信息,以保证fpga的bar空间信息在传输过程中安全性。

实施例四

如图6所示,为本发明实施例的fpga的ip核加载装置结构图一,该fpga的ip核加载装置可设置在图1所示的管理设备中,用于执行如图2所示的方法步骤,其包括:

信息获取模块610,用于从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息;

信息验证模块620,用于基于物理机的操作系统配置给fpga的原始bar空间信息对所获取的bar空间信息进行正确性验证;

数据发送模块630,用于如果验证通过,则向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程。

进一步地,上述信息获取模块610可具体用于,通过物理机中用户cpu的rc通道,从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息。

进一步地,如图7所示,上述信息获取模块610可包括:

信息获取单元710,用于从管理pf中获取经管理pf加密后的fpga的bar空间信息;

信息解密单元720,用于对加密后的fpga的bar空间信息进行解密,得到fpga的bar空间信息。

图7所示的fpga的ip核加载装置可用于执行如图3所示的方法步骤。

进一步地,如图8所示,上述fpga的ip核加载装置中还可包括:

cpu挂起模块810,用于通过与物理机的用户cpu连通的带外通路,向用户cpu发起暂停指令,挂起用户cpu。

图8所示的fpga的ip核加载装置可用于执行如图4所示的方法步骤。

本发明提供的fpga的ip核加载装置,通过在向插接在物理机上的fpga的管理pf中的bar空间传输ip核数据之前,获取管理pf中存储的bar空间信息,并基于物理机的操作系统配置给fpga的原始bar空间信息对获取的bar空间信息进行正确性验证,待验证通过后,向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程,以提高整个加载过程的安全性,保证ip核的知识产权不会因为bar空间信息的更改而被恶意窃取。

进一步地,通过从管理pf中获取经管理pf加密后的fpga的bar空间信息,并对加密后的fpga的bar空间信息进行解密,得到fpga的bar空间信息,以保证fpga的bar空间信息在传输过程中安全性。

进一步地,在从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息之前,通过与物理机的用户cpu连通的带外通路,向用户cpu发起暂停指令,挂起用户cpu,禁止用户对物理机进行任何操作,保证整个加载过程不被用户干预,提高ip核加载的安全性。

实施例五

如图9所示,为本发明实施例的fpga的ip核加载装置结构图四,该fpga的ip核加载装置可设置在图1所示的fpga中,用于执行如图5所示的方法步骤,其包括:

信息发送模块910,用于向插接在物理机上的管理设备发送fpga的bar空间信息,fpga插接在物理机上;

数据处理模块920,用于接收管理设备向fpga的bar空间传输的ip核数据,并执行ip核数据的加载流程。

其中,ip核数据为管理设备基于所述物理机的操作系统配置给fpga的原始bar空间信息对所接收的bar空间信息进行正确性验证通过后发出。

进一步地,上述信息发送模块910可具体用于,通过物理机中用户cpu的rc通道,向插接在物理机上的管理设备发送fpga的bar空间信息。

进一步地,上述信息发送模块910可具体用于,向插接在物理机上的管理设备发送加密后的fpga的bar空间信息;

相应的,上述ip核数据为管理设备对所接收的加密后的bar空间信息进行解密,并基于物理机的操作系统配置给所述fpga的原始bar空间信息对解密后的bar空间信息进行正确性验证通过后发出。

本发明提供的fpga的ip核加载装置,通过向插接在物理机上的管理设备发送fpga的bar空间信息,fpga插接在物理机上;接收管理设备向fpga的bar空间传输的ip核数据,并执行ip核数据的加载流程;其中,ip核数据为管理设备基于物理机的操作系统配置给fpga的原始bar空间信息对所接收的bar空间信息进行正确性验证通过后发出。本方案可以提高整个加载过程的安全性,保证ip核的知识产权不会因为bar空间信息的更改而被恶意窃取。

进一步地,通过向管理设备发送经管理pf加密后的fpga的bar空间信息,以使得管理设备对加密后的fpga的bar空间信息进行解密后得到fpga的bar空间信息,以保证fpga的bar空间信息在传输过程中安全性。

实施例六

前面实施例四描述了fpga的ip核加载装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图10所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器101和处理器102。

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

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

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

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

从插接在物理机上的fpga的管理pf中获取fpga的bar空间信息;

基于物理机的操作系统配置给fpga的原始bar空间信息对所获取的bar空间信息进行正确性验证;

如果验证通过,则向fpga的bar空间传输ip核数据,以使fpga的管理pf执行ip核数据的加载流程。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

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

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

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

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

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

实施例七

前面实施例五描述了fpga的ip核加载装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图11所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器111和处理器112。

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

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

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

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

向插接在物理机上的管理设备发送fpga的bar空间信息,fpga插接在物理机上;

接收管理设备向fpga的bar空间传输的ip核数据,并执行ip核数据的加载流程。

其中,ip核数据为管理设备基于物理机的操作系统配置给fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

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

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

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

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

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

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

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


技术特征:

1.一种fpga的ip核加载方法,包括:

从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息;

基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所获取的所述bar空间信息进行正确性验证;

如果验证通过,则向所述fpga的bar空间传输ip核数据,以使所述fpga的管理pf执行所述ip核数据的加载流程。

2.根据权利要求1所述的方法,其中,所述从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息包括:

通过所述物理机中用户cpu的rc通道,从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息。

3.根据权利要求1或2所述的方法,其中,所述从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息包括:

从所述管理pf中获取经所述管理pf加密后的所述fpga的bar空间信息;

对所述加密后的所述fpga的bar空间信息进行解密,得到所述fpga的bar空间信息。

4.根据权利要求1或2所述的方法,其中,所述从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息之前,还包括:

通过与所述物理机的用户cpu连通的带外通路,向所述用户cpu发起暂停指令,挂起用户cpu。

5.一种fpga的ip核加载方法,包括:

向插接在物理机上的管理设备发送fpga的bar空间信息,所述fpga插接在所述物理机上;

接收所述管理设备向所述fpga的bar空间传输的ip核数据,并执行所述ip核数据的加载流程;

其中,所述ip核数据为所述管理设备基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

6.根据权利要求5所述的方法,其中,所述向插接在物理机上的管理设备发送fpga的bar空间信息包括:

通过所述物理机中用户cpu的rc通道,向插接在物理机上的管理设备发送fpga的bar空间信息。

7.根据权利要求5或6所述的方法,其中,所述向插接在物理机上的管理设备发送fpga的bar空间信息包括:

向插接在物理机上的所述管理设备发送加密后的所述fpga的bar空间信息;

所述ip核数据为所述管理设备对所接收的加密后的所述bar空间信息进行解密,并基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对解密后的所述bar空间信息进行正确性验证通过后发出。

8.一种fpga的ip核加载装置,包括:

信息获取模块,用于从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息;

信息验证模块,用于基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所获取的所述bar空间信息进行正确性验证;

数据发送模块,用于如果验证通过,则向所述fpga的bar空间传输ip核数据,以使所述fpga的管理pf执行所述ip核数据的加载流程。

9.根据权利要求8所述的装置,其中,所述信息获取模块具体用于,通过所述物理机中用户cpu的rc通道,从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息。

10.根据权利要求8或9所述的装置,其中,所述信息获取模块包括:

信息获取单元,用于从所述管理pf中获取经所述管理pf加密后的所述fpga的bar空间信息;

信息解密单元,用于对所述加密后的所述fpga的bar空间信息进行解密,得到所述fpga的bar空间信息。

11.根据权利要求8或9所述的装置,其中,所述装置还包括:

cpu挂起模块,用于通过与所述物理机的用户cpu连通的带外通路,向所述用户cpu发起暂停指令,挂起用户cpu。

12.一种fpga的ip核加载装置,包括:

信息发送模块,用于向插接在物理机上的管理设备发送fpga的bar空间信息,所述fpga插接在所述物理机上;

数据处理模块,用于接收所述管理设备向所述fpga的bar空间传输的ip核数据,并执行所述ip核数据的加载流程。

其中,所述ip核数据为所述管理设备基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

13.根据权利要求12所述的装置,其中,所述信息发送模块具体用于,通过所述物理机中用户cpu的rc通道,向插接在物理机上的管理设备发送fpga的bar空间信息。

14.根据权利要求12或13所述的装置,其中,所述信息发送模块具体用于,向插接在物理机上的所述管理设备发送加密后的所述fpga的bar空间信息;

所述ip核数据为所述管理设备对所接收的加密后的所述bar空间信息进行解密,并基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对解密后的所述bar空间信息进行正确性验证通过后发出。

15.一种电子设备,包括:

存储器,用于存储程序;

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

从插接在物理机上的fpga的管理pf中获取所述fpga的bar空间信息;

基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所获取的所述bar空间信息进行正确性验证;

如果验证通过,则向所述fpga的bar空间传输ip核数据,以使所述fpga的管理pf执行所述ip核数据的加载流程。

16.一种电子设备,包括:

存储器,用于存储程序;

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

向插接在物理机上的管理设备发送fpga的bar空间信息,所述fpga插接在所述物理机上;

接收所述管理设备向所述fpga的bar空间传输的ip核数据,并执行所述ip核数据的加载流程。

其中,所述ip核数据为所述管理设备基于所述物理机的操作系统配置给所述fpga的原始bar空间信息对所接收的所述bar空间信息进行正确性验证通过后发出。

技术总结
本发明实施例提供一种FPGA的IP核加载方法、装置及电子设备,其中,方法包括:从插接在物理机上的FPGA的管理PF中获取所述FPGA的BAR空间信息;基于所述物理机的操作系统配置给所述FPGA的原始BAR空间信息对所获取的所述BAR空间信息进行正确性验证;如果验证通过,则向所述FPGA的BAR空间传输IP核数据,所述FPGA的管理PF执行所述IP核数据的加载流程。本发明实施例的方案,能够在FPGA提供服务的物理机中,通过保证FPGA的BAR空间的安全性,提高向FPGA加载IP核的安全性。

技术研发人员:张军
受保护的技术使用者:阿里巴巴集团控股有限公司
技术研发日:2018.11.29
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55844.html

最新回复(0)