混合异构虚拟化通信方法及芯片技术

技术编号:27540059 阅读:19 留言:0更新日期:2021-03-03 11:33
本申请公开了一种混合异构虚拟化通信方法及芯片,属于嵌入式片上芯片技术领域。所述方法包括:对芯片中存在的每一个操作系统分配一个虚拟网卡,并设置对应的IP地址,这样,通过虚实网关的路由过程,应用程序可以以一种统一的方式(套接字)实现跨操作系统互联互通。由于应用程序既可以在物理核之间互联互通,也可以在物理核和虚拟机之间互联互通,使得芯片由原先的异构多核处理器模型,变为一种逻辑上基于网络通信的片上分布式系统。并且,本申请公开的方法可以很方便地扩展到具有更多物理核和虚拟机的片上系统中。虚拟机的片上系统中。虚拟机的片上系统中。

【技术实现步骤摘要】
混合异构虚拟化通信方法及芯片


[0001]本申请实施例涉及嵌入式片上芯片
,特别涉及一种混合异构虚拟化通信方法及芯片。

技术介绍

[0002]在汽车网联化、智能化的发展趋势下,芯片需要兼顾运算能力和功能安全性。主要表现在,芯片中通常配置有多处理器,这就要求处理器之间既要实现功能隔离,又要保留必要的相互通信。处理器之间通信时,需要对某些硬件状态进行共享、跨网络进行数据传输等等,既要保持处理器各自功能的独立性和安全性,又要体现片上系统的整体性和完整性。
[0003]除了在芯片中物理隔离出不同的功能域以外,虚拟化技术是另一种解决方案。即,在同一组处理器上运行hypervisor(虚拟机监视器),通过处理器提供的运行等级,运行互相独立且有不同访问权限的操作系统,通过授权白名单的方式访问一些硬件资源。
[0004]片上系统中同时运行了由不同处理器组成的异构系统,比如主应用处理器,主要负责功能安全(Safety)域处理器和负责信息安全(Security)域处理器等。在主应用处理器的多核SMP(Symmetrical Multi-Processing,对称多处理器)之上会通过虚拟化技术,从逻辑上构建出多个虚拟处理器,且其上运行多个操作系统。在车载领域,这些操作系统中包括处理信息娱乐的操作系统,处理仪表显示的操作系统和处理控制面板的操作系统等等,这样就组成了一个复杂的操作系统集合。为了保证操作系统的协调,引入一套在多个操作系统消息通信总线就变得非常必要。这套消息通信总线既需要处理物理处理器之间的数据交互,也需要能支持虚拟处理器之间的数据交互,还需要能支持物理处理器和虚拟处理器之间的数据交互。

技术实现思路

[0005]本申请实施例提供了一种混合异构虚拟化通信方法及芯片,用于解决物理处理器和虚拟处理器之间快速数据交互的问题。所述技术方案如下:一方面,提供了一种混合异构虚拟化通信方法,应用于芯片中,所述芯片包括:物理域、虚拟域、虚拟网卡和通信设备,所述物理域中包括物理处理器,所述物理处理器上运行有操作系统和应用,所述虚拟域中包括虚拟处理器,所述虚拟处理器上运行有操作系统和应用;所述方法包括:当第一操作系统上的第一应用需要向第二操作系统上的第二应用发送数据,且所述第一应用和所述第二应用位于不同的域中时,所述第一应用确定所述第二操作系统的目的互联网协议IP地址和所述第二应用的目的端口号;所述第一应用根据所述数据、所述目的IP地址和所述目的端口号生成数据包,并将所述数据包发送给所述第一操作系统;所述第一操作系统将所述数据包发送给第一虚拟网卡,所述第一虚拟网卡与所述第一操作系统对应;
所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟网卡,所述第二虚拟网卡与所述第二操作系统对应;所述第二虚拟网卡将所述数据包发送给第二操作系统;所述第二操作系统根据所述数据包中的所述目的IP地址和所述目的端口号,将所述数据包中的所述数据发送给所述第二应用。
[0006]在一种可能的实现方式中,所述第一应用根据所述数据、所述目的IP地址和所述目的端口号生成数据包,包括:所述第一应用利用第一套接字接口生成包含所述数据、所述目的IP地址和所述目的端口号的数据包;当所述第一操作系统中包括第一协议栈时,所述将所述数据包发送给所述第一操作系统,包括:所述第一套接字接口将所述数据包发送给所述第一协议栈;所述第一操作系统将所述数据包发送给第一虚拟网卡,包括:所述第一协议栈将所述数据包发送给所述第一虚拟网卡。
[0007]在一种可能的实现方式中,当所述第二操作系统中包括第二协议栈时,所述第二虚拟网卡将所述数据包发送给第二操作系统,包括:所述第二虚拟网卡将所述数据包发送给所述第二协议栈;所述第二操作系统根据所述数据包中的所述目的IP地址和所述目的端口号,将所述数据包中的所述数据发送给所述第二应用,包括:所述第二协议栈根据所述数据包中的所述目的IP地址和所述目的端口号,将所述数据包中的所述数据发送给第二套接字接口,所述第二套接字接口将所述数据发送给所述第二应用。
[0008]在一种可能的实现方式中,当所述第一应用和所述第二应用均位于所述物理域中时,所述通信设备为核间通信设备;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备,包括:所述第一虚拟网卡根据所述目的IP地址确定所述第二应用所在的物理域的域编号,将所述数据包和所述域编号发送给所述核间通信设备;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟网卡,包括:所述核间通信设备在根据所述域编号确定所述第二处理器为物理处理器时,根据所述目的IP地址和所述目的端口号将所述数据包发送给所述第二虚拟网卡。
[0009]在一种可能的实现方式中,当所述第一应用和所述第二应用均位于所述虚拟域中时,所述通信设备为虚拟总线;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备,包括:所述第一虚拟网卡根据所述目的IP地址确定所述第二应用所在的虚拟域的域编号,将所述数据包和所述域编号发送给所述虚拟总线;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟网卡,包括:所述虚拟总线在根据所述域编号确定所述第二处理器为虚拟处理器时,根据所述目的IP地址和所述目的端口号将所述数据包发送给所述第二虚拟网卡。
[0010]在一种可能的实现方式中,当所述第一应用位于所述物理域中,所述第二应用位于所述虚拟域中时,所述系统还包括域网关,且所述通信设备包括核间通信设备和虚拟总
线;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备,包括:所述第一虚拟网卡根据所述目的IP地址确定所述第二应用所在的虚拟域的域编号,将所述数据包和所述域编号发送给所述核间通信设备;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟网卡,包括:所述核间通信设备在根据所述域编号确定所述第二处理器为虚拟处理器时,将所述数据包发送给所述域网关中的第三虚拟网卡;所述第三虚拟网卡根据所述目的IP地址,将所述数据包发送给所述域网关中的第四虚拟网卡;所述第四虚拟网卡根据所述目的IP地址和所述目的端口号将所述数据包发送给所述第二虚拟网卡。
[0011]在一种可能的实现方式中,所述第三虚拟网卡根据所述目的IP地址,将所述数据包发送给所述域网关中的第四虚拟网卡,包括:所述第三虚拟网卡将所述数据包缓存到对应的第一缓冲区队列中;所述域网关中的虚拟处理器根据所述目的IP地址,将所述第一缓冲区队列中的所述数据包复制到第二缓冲区队列中,所述第二缓冲区队列与所述第四虚拟网卡对应;或者,所述第三虚拟网卡将所述数据包缓存到第三缓冲区队列中,并将所述数据包的缓存地址发送给所述域网关中的虚拟处理器;所述域网关中的虚拟处理器根据所述目的IP地址,将所述缓存地址发送给所述第四虚拟网卡。
[0012]在一种可能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种混合异构虚拟化通信方法,其特征在于,应用于芯片中,所述芯片包括:物理域、虚拟域、虚拟网卡和通信设备,所述物理域中包括物理处理器,所述物理处理器上运行有操作系统和应用,所述虚拟域中包括虚拟处理器,所述虚拟处理器上运行有操作系统和应用;所述方法包括:当第一操作系统上的第一应用需要向第二操作系统上的第二应用发送数据,且所述第一应用和所述第二应用位于不同的域中时,所述第一应用确定所述第二操作系统的目的互联网协议IP地址和所述第二应用的目的端口号;所述第一应用根据所述数据、所述目的IP地址和所述目的端口号生成数据包,并将所述数据包发送给所述第一操作系统;所述第一操作系统将所述数据包发送给第一虚拟网卡,所述第一虚拟网卡与所述第一操作系统对应;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟网卡,所述第二虚拟网卡与所述第二操作系统对应;所述第二虚拟网卡将所述数据包发送给第二操作系统;所述第二操作系统根据所述数据包中的所述目的IP地址和所述目的端口号,将所述数据包中的所述数据发送给所述第二应用。2.根据权利要求1所述的方法,其特征在于,所述第一应用根据所述数据、所述目的IP地址和所述目的端口号生成数据包,包括:所述第一应用利用第一套接字接口生成包含所述数据、所述目的IP地址和所述目的端口号的数据包;当所述第一操作系统中包括第一协议栈时,所述将所述数据包发送给所述第一操作系统,包括:所述第一套接字接口将所述数据包发送给所述第一协议栈;所述第一操作系统将所述数据包发送给第一虚拟网卡,包括:所述第一协议栈将所述数据包发送给所述第一虚拟网卡。3.根据权利要求1所述的方法,其特征在于,当所述第二操作系统中包括第二协议栈时,所述第二虚拟网卡将所述数据包发送给第二操作系统,包括:所述第二虚拟网卡将所述数据包发送给所述第二协议栈;所述第二操作系统根据所述数据包中的所述目的IP地址和所述目的端口号,将所述数据包中的所述数据发送给所述第二应用,包括:所述第二协议栈根据所述数据包中的所述目的IP地址和所述目的端口号,将所述数据包中的所述数据发送给第二套接字接口,所述第二套接字接口将所述数据发送给所述第二应用。4.根据权利要求1至3中任一项所述的方法,其特征在于,当所述第一应用和所述第二应用均位于所述物理域中时,所述通信设备为核间通信设备;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备,包括:所述第一虚拟网卡根据所述目的IP地址确定所述第二应用所在的物理域的域编号,将所述数据包和所述域编号发送给所述核间通信设备;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟
网卡,包括:所述核间通信设备在根据所述域编号确定所述第二处理器为物理处理器时,根据所述目的IP地址和所述目的端口号将所述数据包发送给所述第二虚拟网卡。5.根据权利要求1至3中任一项所述的方法,其特征在于,当所述第一应用和所述第二应用均位于所述虚拟域中时,所述通信设备为虚拟总线;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备,包括:所述第一虚拟网卡根据所述目的IP地址确定所述第二应用所在的虚拟域的域编号,将所述数据包和所述域编号发送给所述虚拟总线;所述通信设备根据所述目的IP地址和所述目的端口号将所述数据包发送给第二虚拟网卡,包括:所述虚拟总线在根据所述域编号确定所述第二处理器为虚拟处理器时,根据所述目的IP地址和所述目的端口号将所述数据包发送给所述第二虚拟网卡。6.根据权利要求1至3中任一项所述的方法,其特征在于,当所述第一应用位于所述物理域中,所述第二应用位于所述虚拟域中时,所述系统还包括域网关,且所述通信设备包括核间通信设备和虚拟总线;所述第一虚拟网卡根据所述目的IP地址确定通信设备,将所述数据包发送给所述通信设备...

【专利技术属性】
技术研发人员:刘烨刘亮
申请(专利权)人:南京芯驰半导体科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1