本发明涉及异构系统数据访问,特别是涉及一种数据访问方法、异构系统、电子设备、介质和程序产品。
背景技术:
1、随着我国数字化进程的推进,对算力需求将越来越大,数据中心逐步演变为计算中心,算力成为新的生产力。然而,面对摩尔定律的逐渐失效,单独的依靠中央处理器已经无法满足计算中心庞大的算力需求。在此背景下,异构计算获得了快速的发展,以中央处理器、图像处理器、片上系统、现场可编程门阵列等多个类型加速硬件相互融合而产生的各种异构系统对数据中心的算力提升产生了巨大的推动作用。
2、其中现场可编程门阵列为核心的异构系统,以高带宽、低延迟、并行处理、可重构等特点,在网络通信、算法加速等方面具备优势;但是在通用性和复杂逻辑运算方面不如片上系统。因此通常这类系统往往是现场可编程门阵列+片上系统的组合,其中在片上系统中运行嵌入式操作系统,实现算法更新、现场可编程门阵列的运行状态监控、部分任务卸载等功能。但是在目前的现场可编程门阵列+片上系统的异构系统中,主机与片上系统没有直连的数据通路,若想主机访问片上系统上的操作系统,则需要通过网络访问千兆口或者用通用串行总线转串口的方式访问,以此增加异构系统的硬件成本。并且由于异构系统中主机与片上系统没有直连的数据通路,从而限制了很多场景的应用。同时在此结构下,现场可编程门阵列内部通过网络连接片上系统,整体上会占用较多的现场可编程门阵列内部的资源。
3、可见,如何构建主机与片上系统之间的直连数据通路,是本领域技术人员需要解决的问题。
技术实现思路
1、本发明实施例的目的是提供一种数据访问方法、异构系统、电子设备、介质和程序产品,可以解决现有技术中,由于主机与片上系统没有直连的数据通路,从而带来的增加异构系统的硬件成本、占用大量现场可编程门阵列的资源以及当前系统应用场景比较小的问题。
2、为解决上述技术问题,一方面本发明实施例提供一种数据访问方法,应用于访问发起方,包括:
3、登录访问响应方在本地操作系统上创建的虚拟串口设备;虚拟串口设备为访问响应方通过本地虚拟串口驱动创建的设备,虚拟串口驱动基于预设可编程逻辑器件中数据缓存器的目标访问通道的通道数量创建;
4、向访问响应方的本地操作系统发起访问请求,以便访问响应方从本地获取与访问请求对应的目标响应数据,并通过目标访问通道将目标响应数据写入数据缓存器;
5、通过目标访问通道从数据缓存器中获取目标响应数据,以完成相应的数据访问操作。
6、在一些实施例中,登录访问响应方在本地操作系统上创建的虚拟串口设备之前,还包括:
7、基于用户需求从数据缓存器中确定目标访问通道的通道数量;目标访问通道为访问发起方用于对访问响应方进行访问的通道;
8、将通道数量配置给访问响应方,以便访问响应方基于通道数量创建虚拟串口驱动。
9、在一些实施例中,将通道数量配置给访问响应方,以便访问响应方基于通道数量创建虚拟串口驱动,包括:
10、通过可编程逻辑器件中的双重访问随机存取存储器,将通道数量配置给访问响应方,以便访问响应方基于通道数量创建虚拟串口驱动。
11、在一些实施例中,访问响应方基于通道数量创建虚拟串口驱动,包括:
12、基于嵌入式驱动架构和目标访问通道的通道数量,并通过软件实现的方式创建虚拟串口驱动。
13、在一些实施例中,访问响应方创建虚拟串口设备的过程,包括:
14、根据访问发起方配置的通道数量将虚拟串口驱动加载至本地;
15、利用本地加载的虚拟串口驱动在本地操作系统上创建虚拟串口设备;
16、其中,虚拟串口设备的数量为一个或多个。
17、在一些实施例中,访问响应方将虚拟串口驱动加载至本地之前,还包括:
18、执行本地的第一初始化操作,并在第一初始化操作结束后注册相应的操作系统控制台并配置相应的控制台环境;
19、相应的,利用本地加载的虚拟串口驱动在本地操作系统上创建虚拟串口设备之后,还包括:
20、将虚拟串口设备添加至所述操作系统控制台。
21、在一些实施例中,第一初始化操作包括对本地的串口接收中断进行使能并配置本地的串口接收处理函数。
22、在一些实施例中,还包括:
23、在将虚拟串口驱动加载至本地之后并在将虚拟串口设备添加至操作系统控制台之前,执行第二初始化操作;
24、其中,第二初始化操作为对与预设可编程逻辑器件之间的硬件串口地址信息进行配置。
25、在一些实施例中,根据访问发起方配置的通道数量将虚拟串口驱动加载至本地,包括:
26、判断访问发起方配置的通道数量是否为非零值;
27、若访问发起方配置的通道数量为非零值,则将虚拟串口驱动加载至本地,否则禁止将虚拟串口驱动加载至本地。
28、在一些实施例中,若预设可编程逻辑器件中包含至少两个数据缓存器,则方法还包括:
29、判断各数据缓存器之间的读写时钟是否一致;
30、若各数据缓存器之间的读写时钟不一致,则通过预设同步方式将各数据缓存器之间的读写时钟调整为一致。
31、在一些实施例中,预设同步方式包括通过对时钟周期进行延迟的方式或通过格雷码转换的方式。
32、在一些实施例中,数据缓存器为基于预设可编程逻辑器件的内部寄存器实现的缓存器,并且数据缓存器采用先进先出的数据读写策略。
33、在一些实施例中,通过目标访问通道将目标响应数据写入数据缓存器,包括:
34、监测是否接收到数据缓存器发送的写满信号;
35、若未监测到数据缓存器发送的写满信号,则通过目标访问通道将目标响应数据写入数据缓存器,否则禁止将目标响应数据写入数据缓存器。
36、在一些实施例中,访问响应方创建虚拟串口设备的过程中,还包括:
37、为创建的各虚拟串口设备配置相应的设备索引,并将不同的虚拟串口设备与不同的目标访问通道建立对应关系;
38、相应的,通过目标访问通道将目标响应数据写入数据缓存器,包括:
39、确定当前访问发起方登录的虚拟串口设备对应的目标设备索引;
40、利用各目标访问通道中的与目标设备索引对应的目标访问通道,将目标响应数据写入数据缓存器。
41、在一些实施例中,还包括:
42、通过预设数据接收工具利用目标访问通道读取数据缓存器中的目标响应数据,并将读取到的目标响应数据转发至目标虚拟串口设备;目标虚拟串口设备为从各虚拟串口设备中确定的与传输目标响应数据的目标访问通道对应的虚拟串口设备;
43、相应的,通过目标访问通道从数据缓存器中获取目标响应数据,包括:
44、从目标虚拟串口设备上获取预设数据接收工具通过相应的目标访问通道读取到的目标响应数据。
45、在一些实施例中,通过预设数据接收工具利用目标访问通道读取数据缓存器中的目标响应数据,包括:
46、监测是否接收到数据缓存器发送的非空中断信号;
47、若监测到数据缓存器发送的非空中断信号,则通过预设数据接收工具利用目标访问通道读取数据缓存器中的目标响应数据,否则禁止从数据缓存器中读取数据。
48、在一些实施例中,访问发起方为主机、访问响应方为片上系统;或,访问发起方为片上系统、访问响应方为主机。
49、另一方面,本发明提供一种数据访问方法,应用于访问响应方,包括:
50、获取访问发起方在登录虚拟串口设备后向本地操作系统发起的访问请求;虚拟串口设备为访问响应方通过本地虚拟串口驱动在本地操作系统上预先创建的设备,虚拟串口驱动基于预设可编程逻辑器件中数据缓存器的目标访问通道的通道数量创建;
51、从本地获取与访问请求对应的目标响应数据,并通过目标访问通道将目标响应数据写入数据缓存器,以便访问发起方通过目标访问通道从数据缓存器中获取目标响应数据。
52、另一方面,本发明还提供一种异构系统,包括:访问发起方、访问响应方和预设可编程逻辑器件;其中,
53、预设可编程逻辑器件用于通过自身的数据缓存器构建访问发起方和访问响应方之间的目标访问通道;
54、访问发起方用于登录访问响应方在本地操作系统上创建的虚拟串口设备,并向访问响应方的本地操作系统发起访问请求,以及通过目标访问通道从数据缓存器中获取与访问请求对应的目标响应数据;虚拟串口设备为访问响应方通过本地虚拟串口驱动创建的设备,虚拟串口驱动基于目标访问通道的通道数量创建;
55、访问响应方用于从本地获取与访问请求对应的目标响应数据,通过目标访问通道将目标响应数据写入数据缓存器;
56、其中,访问发起方为主机、访问响应方为片上系统;或,访问发起方为片上系统、访问响应方为主机。
57、另一方面,本发明还提供一种电子设备,包括:
58、存储器,用于存储计算机程序;
59、处理器,用于执行计算机程序以实现上述的数据访问方法的步骤。
60、另一方面,本发明还提供一种非易失性存储介质,非易失性存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的数据访问方法的步骤。
61、另一方面,本发明还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述的数据访问方法的步骤。
62、由上述技术方案可以看出,本发明提供一种数据访问方法,应用于访问发起方,包括:登录访问响应方在本地操作系统上创建的虚拟串口设备;虚拟串口设备为访问响应方通过本地虚拟串口驱动创建的设备,虚拟串口驱动基于预设可编程逻辑器件中数据缓存器的目标访问通道的通道数量创建;向访问响应方的本地操作系统发起访问请求,以便访问响应方从本地获取与访问请求对应的目标响应数据,并通过目标访问通道将目标响应数据写入数据缓存器;通过目标访问通道从数据缓存器中获取目标响应数据,以完成相应的数据访问操作。由此可见,本发明登录访问响应方在本地操作系统上创建的虚拟串口设备,相当于在访问发起方和访问响应方之间构建了一条直连的通路,可以满足访问发起方直接通过内部通道访问访问响应方的需求,并在此访问方式下实现访问发起方对访问响应方常见的固件更新,算法升级、状态监控的需求。并且本发明中虚拟串口驱动是基于通道数量创建的,因此本发明在不增加资源的情况下,可以达到多用户访问的目的,进一步扩大本发明提供的数据访问方法的应用场景。
1.一种数据访问方法,其特征在于,应用于访问发起方,包括:
2.根据权利要求1所述的数据访问方法,其特征在于,所述登录访问响应方在本地操作系统上创建的虚拟串口设备之前,还包括:
3.根据权利要求2所述的数据访问方法,其特征在于,所述将所述通道数量配置给所述访问响应方,以便所述访问响应方基于所述通道数量创建所述虚拟串口驱动,包括:
4.根据权利要求2所述的数据访问方法,其特征在于,所述访问响应方基于所述通道数量创建所述虚拟串口驱动,包括:
5.根据权利要求2所述的数据访问方法,其特征在于,所述访问响应方创建所述虚拟串口设备的过程,包括:
6.根据权利要求5所述的数据访问方法,其特征在于,所述访问响应方将所述虚拟串口驱动加载至本地之前,还包括:
7.根据权利要求6所述的数据访问方法,其特征在于,所述第一初始化操作包括对本地的串口接收中断进行使能并配置本地的串口接收处理函数。
8.根据权利要求6所述的数据访问方法,其特征在于,还包括:
9.根据权利要求5所述的数据访问方法,其特征在于,所述根据所述访问发起方配置的通道数量将所述虚拟串口驱动加载至本地,包括:
10.根据权利要求1所述的数据访问方法,其特征在于,若所述预设可编程逻辑器件中包含至少两个所述数据缓存器,则所述方法还包括:
11.根据权利要求10所述的数据访问方法,其特征在于,所述预设同步方式包括通过对时钟周期进行延迟的方式或通过格雷码转换的方式。
12.根据权利要求1所述的数据访问方法,其特征在于,所述数据缓存器为基于所述预设可编程逻辑器件的内部寄存器实现的缓存器,并且所述数据缓存器采用先进先出的数据读写策略。
13.根据权利要求1所述的数据访问方法,其特征在于,所述通过所述目标访问通道将所述目标响应数据写入所述数据缓存器,包括:
14.根据权利要求1所述的数据访问方法,其特征在于,所述访问响应方创建虚拟串口设备的过程中,还包括:
15.根据权利要求14所述的数据访问方法,其特征在于,还包括:
16.根据权利要求15所述的数据访问方法,其特征在于,所述通过预设数据接收工具利用所述目标访问通道读取所述数据缓存器中的所述目标响应数据,包括:
17.根据权利要求1至16任一项所述的数据访问方法,其特征在于,所述访问发起方为主机、所述访问响应方为片上系统;或,所述访问发起方为片上系统、所述访问响应方为主机。
18.一种数据访问方法,其特征在于,应用于访问响应方,包括:
19.一种异构系统,其特征在于,包括:访问发起方、访问响应方和预设可编程逻辑器件;其中,
20.一种电子设备,其特征在于,包括:
21.一种非易失性存储介质,其特征在于,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18任意一项所述的数据访问方法的步骤。
22.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至18任一项所述的数据访问方法的步骤。