CN118802416A - Multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip - Google Patents
Multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip Download PDFInfo
- Publication number
- CN118802416A CN118802416A CN202410793646.3A CN202410793646A CN118802416A CN 118802416 A CN118802416 A CN 118802416A CN 202410793646 A CN202410793646 A CN 202410793646A CN 118802416 A CN118802416 A CN 118802416A
- Authority
- CN
- China
- Prior art keywords
- ethernet
- core
- virtual
- node
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000015654 memory Effects 0.000 claims abstract description 152
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 230000002452 interceptive effect Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 15
- UEKHZPDUBLCUHN-UHFFFAOYSA-N 2-[[3,5,5-trimethyl-6-[2-(2-methylprop-2-enoyloxy)ethoxycarbonylamino]hexyl]carbamoyloxy]ethyl 2-methylprop-2-enoate Chemical compound CC(=C)C(=O)OCCOC(=O)NCCC(C)CC(C)(C)CNC(=O)OCCOC(=O)C(C)=C UEKHZPDUBLCUHN-UHFFFAOYSA-N 0.000 claims 6
- 238000013497 data interchange Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 31
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
技术领域Technical Field
本发明涉及通信技术领域,特别涉及一种多核虚拟以太网数据交互系统、数据交互方法和多核芯片。The present invention relates to the field of communication technology, and in particular to a multi-core virtual Ethernet data interaction system, a data interaction method and a multi-core chip.
背景技术Background Art
车载以太网是应用于汽车内电子控制单元的新型局域网络通讯技术,以其带宽高、成熟度好、通讯快捷等显著优势,被广泛应用于智能汽车、智能网联等技术领域。同时,随着汽车电子电气架构趋向区域架构、中央计算域架构方向的发展,功能高度集成化的核心控制器得到更多应用,为此,多核SOC(System on Chip,系统级芯片)以其高度集成化、一体化的独特多种优势,被广泛的应用在汽车的智能驾驶、智能座舱等智能化车载计算平台系统中。常用的车载以太网络基本架构是由MAC(MediaAccess Control,即媒体访问控制)、PHY(Physical Layer,物理层)芯片和上层协议栈传输链路组成,目前主要支持10M、100M、1G等带宽,甚至10G带宽,正在被应用于汽车智驾领域。其主要涉及的汽车物理层技术标准为100BASE-T1、1000BASE-T1。这种车载以太网通讯在物理层数据处理时需要基于硬件10Mbps/100Mbps/1000Mbps以太网网卡驱动实现,因此受限于SOC芯片可支持的网卡以太网驱动硬件资源。In-vehicle Ethernet is a new local area network communication technology used in electronic control units in automobiles. With its significant advantages such as high bandwidth, good maturity, and fast communication, it is widely used in technical fields such as smart cars and intelligent networking. At the same time, as the automotive electronic and electrical architecture tends to develop towards regional architecture and central computing domain architecture, core controllers with highly integrated functions are more widely used. For this reason, multi-core SOC (System on Chip) is widely used in intelligent in-vehicle computing platform systems such as intelligent driving and intelligent cockpits with its unique advantages of high integration and integration. The commonly used basic architecture of in-vehicle Ethernet is composed of MAC (Media Access Control), PHY (Physical Layer) chip and upper protocol stack transmission link. It currently mainly supports bandwidths of 10M, 100M, 1G, and even 10G bandwidth, and is being used in the field of intelligent driving. The main automotive physical layer technical standards involved are 100BASE-T1 and 1000BASE-T1. This type of in-vehicle Ethernet communication needs to be implemented based on the hardware 10Mbps/100Mbps/1000Mbps Ethernet network card driver when processing physical layer data, and is therefore limited by the network card Ethernet driver hardware resources that the SOC chip can support.
对于车载多核SOC芯片,单一的以太网网卡以太网驱动硬件资源已无法满足整车以太网网络通讯需求,同时在智能网联和智能驾驶领域的主流数据交互技术就是基于车载以太网,如果需要更多应用场景下的以太网网络通讯,就需要增加以太网网卡,从而增加了SOC的成本。另外,目前部分SOC芯片并不支持以太网网卡接口,因此采用USB或其他接口配置替代以太网网卡接口,但是此种方式存在通讯速率低等问题,无法满足车载数据实时性高、时延小的通讯需求。For multi-core SOC chips in vehicles, the hardware resources of a single Ethernet network card and Ethernet driver can no longer meet the Ethernet network communication needs of the entire vehicle. At the same time, the mainstream data interaction technology in the field of intelligent networking and intelligent driving is based on vehicle Ethernet. If Ethernet network communication in more application scenarios is required, it is necessary to add Ethernet network cards, which increases the cost of SOC. In addition, some SOC chips currently do not support Ethernet network card interfaces, so USB or other interface configurations are used to replace Ethernet network card interfaces. However, this method has problems such as low communication rate and cannot meet the communication needs of high real-time and low latency of vehicle data.
需要说明的是,公开于该发明背景技术部分的信息仅仅旨在加深对本发明一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。It should be noted that the information disclosed in the background technology section of the invention is only intended to deepen the understanding of the general background technology of the invention, and should not be regarded as an admission or suggestion in any form that the information constitutes prior art already known to those skilled in the art.
发明内容Summary of the invention
本发明的目的在于提供一种多核虚拟以太网数据交互系统、数据交互方法和多核芯片,通过虚拟以太网实现多核跨核核间数据交互,可以降低多核芯片的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。The purpose of the present invention is to provide a multi-core virtual Ethernet data interaction system, a data interaction method and a multi-core chip, which can realize multi-core cross-core and inter-core data interaction through virtual Ethernet, reduce the Ethernet driver hardware resource cost of the multi-core chip, and effectively improve the data interaction rate and communication quality.
为达到上述目的,本发明提供一种多核虚拟以太网数据交互系统,包括共享内存传输模块和至少两个内核;To achieve the above object, the present invention provides a multi-core virtual Ethernet data interaction system, comprising a shared memory transmission module and at least two cores;
其中一个所述内核配置为虚拟以太网交互系统的核心节点,剩余所述内核配置为所述虚拟以太网交互系统的远程节点;One of the cores is configured as a core node of a virtual Ethernet interactive system, and the remaining cores are configured as remote nodes of the virtual Ethernet interactive system;
所述共享内存传输模块配置为每一对进行数据交互的所述远程节点和所述核心节点分配对应的共享内存空间,并对所述共享内存空间进行管理;The shared memory transmission module is configured to allocate a corresponding shared memory space to each pair of the remote node and the core node for data interaction, and manage the shared memory space;
所述核心节点包括第一驱动层、第一以太网协议栈和第一应用层;The core node includes a first driver layer, a first Ethernet protocol stack and a first application layer;
所述远程节点包括第二驱动层、第二以太网协议栈和第二应用层;The remote node includes a second driver layer, a second Ethernet protocol stack and a second application layer;
所述第一驱动层包括第一虚拟以太网驱动模块和第一核间交互驱动模块,所述第二驱动层包括第二虚拟以太网驱动模块和第二核间交互驱动模块,所述第一虚拟以太网驱动模块和所述第二虚拟以太网驱动模块配置为提供标准以太网协议栈虚拟网络接口或者创建虚拟以太网网卡,所述第一核间交互驱动模块和所述第二核间交互驱动模块配置为在对应的所述共享内存空间中读取或写入以太网数据。The first driver layer includes a first virtual Ethernet driver module and a first inter-core interaction driver module, the second driver layer includes a second virtual Ethernet driver module and a second inter-core interaction driver module, the first virtual Ethernet driver module and the second virtual Ethernet driver module are configured to provide a standard Ethernet protocol stack virtual network interface or create a virtual Ethernet network card, and the first inter-core interaction driver module and the second inter-core interaction driver module are configured to read or write Ethernet data in the corresponding shared memory space.
可选的,所述虚拟以太网交互系统还包括内置交换机和外置交换机,所述第一驱动层还包括UDMA驱动模块,所述内置交换机与所述外置交换机相连,所述外置交换机配置为接收来自外部以太网节点或者外部诊断设备的以太网数据并传输至所述内置交换机,或者将以太网数据传输至对应的外部以太网节点或者外部诊断设备;所述UDMA驱动模块配置为从所述内置交换机处读取以太网数据,或者将以太网数据传输至所述内置交换机。Optionally, the virtual Ethernet interaction system also includes a built-in switch and an external switch, the first driver layer also includes a UDMA driver module, the built-in switch is connected to the external switch, the external switch is configured to receive Ethernet data from an external Ethernet node or an external diagnostic device and transmit it to the built-in switch, or transmit the Ethernet data to the corresponding external Ethernet node or external diagnostic device; the UDMA driver module is configured to read Ethernet data from the built-in switch, or transmit Ethernet data to the built-in switch.
可选的,所述核心节点还包括设于所述第一驱动层和所述第一以太网协议栈之间的第一虚拟以太网接口模块,所述第一虚拟以太网接口模块配置为提供统一以太网网络接口。Optionally, the core node further includes a first virtual Ethernet interface module disposed between the first driver layer and the first Ethernet protocol stack, and the first virtual Ethernet interface module is configured to provide a unified Ethernet network interface.
可选的,所述远程节点还包括设于所述第二驱动层和所述第二以太网协议栈之间的第二虚拟以太网接口模块,所述第二虚拟以太网接口模块配置为提供统一以太网网络接口。Optionally, the remote node further includes a second virtual Ethernet interface module disposed between the second driver layer and the second Ethernet protocol stack, and the second virtual Ethernet interface module is configured to provide a unified Ethernet network interface.
为达到上述目的,本发明还提供一种多核虚拟以太网数据交互方法,所述数据交互方法包括:To achieve the above object, the present invention also provides a multi-core virtual Ethernet data interaction method, the data interaction method comprising:
核心节点中的第一核间交互驱动模块将第一以太网数据写入对应的共享内存空间中;The first inter-core interaction driving module in the core node writes the first Ethernet data into the corresponding shared memory space;
远程节点中的第二核间交互驱动模块从所述共享内存空间中读取所述第一以太网数据;The second inter-core interaction driving module in the remote node reads the first Ethernet data from the shared memory space;
所述远程节点中的第二虚拟以太网驱动模块将所述第一以太网数据传输至所述远程节点中的第二以太网协议栈进行处理;The second virtual Ethernet driver module in the remote node transmits the first Ethernet data to the second Ethernet protocol stack in the remote node for processing;
所述远程节点中的第二以太网协议栈将处理后的所述第一以太网数据传输至所述远程节点中的第二应用层。The second Ethernet protocol stack in the remote node transmits the processed first Ethernet data to the second application layer in the remote node.
可选的,所述数据交互方法还包括:Optionally, the data interaction method further includes:
所述远程节点中的所述第二核间交互驱动模块将依次通过所述第二应用层、所述第二以太网协议栈和所述第二虚拟以太网驱动模块下发的第二以太网数据写入所述共享内存空间中;The second inter-core interaction driver module in the remote node writes the second Ethernet data sent sequentially through the second application layer, the second Ethernet protocol stack and the second virtual Ethernet driver module into the shared memory space;
所述核心节点中的所述第一核间交互驱动模块从所述共享内存空间中读取所述第二以太网数据;The first inter-core interaction driving module in the core node reads the second Ethernet data from the shared memory space;
所述核心节点中的UDMA驱动模块将所述第二以太网数据发送至内置交换机,并经过外置交换机传输至对应的外部以太网节点或者外部诊断设备。The UDMA driver module in the core node sends the second Ethernet data to the built-in switch, and transmits the second Ethernet data to the corresponding external Ethernet node or external diagnostic device through the external switch.
可选的,所述数据交互方法还包括:Optionally, the data interaction method further includes:
所述核心节点中的UDMA驱动模块接收依次通过外置交换机和内置交换机上传的来自外部以太网节点或者外部诊断设备的第三以太网数据;The UDMA driver module in the core node receives third Ethernet data uploaded from an external Ethernet node or an external diagnostic device through an external switch and a built-in switch in sequence;
所述核心节点中的第一虚拟以太网驱动模块将所述第三以太网数据依次传输至所述核心节点中的第一虚拟以太网接口模块和第一以太网协议栈进行处理,以获取所述第一以太网数据。The first virtual Ethernet driver module in the core node transmits the third Ethernet data to the first virtual Ethernet interface module and the first Ethernet protocol stack in the core node in sequence for processing to obtain the first Ethernet data.
为达到上述目的,本发明还提供一种多核虚拟以太网数据交互方法,所述数据交互方法包括:To achieve the above object, the present invention also provides a multi-core virtual Ethernet data interaction method, the data interaction method comprising:
核心节点中的第一核间交互驱动模块从第一共享内存空间中读取第四以太网数据,并将所述第四以太网数据复制至第二共享内存空间中,其中,所述第一共享内存空间为所述核心节点与第一远程节点进行数据交互的共享内存空间,所述第二共享内存空间为所述核心节点与第二远程节点进行数据交互的共享内存空间,所述第四以太网数据为所述第一远程节点中的第二核间交互驱动模块写入所述第一共享内存空间中;The first inter-core interaction driver module in the core node reads the fourth Ethernet data from the first shared memory space, and copies the fourth Ethernet data to the second shared memory space, wherein the first shared memory space is a shared memory space for data interaction between the core node and the first remote node, the second shared memory space is a shared memory space for data interaction between the core node and the second remote node, and the fourth Ethernet data is written into the first shared memory space by the second inter-core interaction driver module in the first remote node;
所述第二远程节点中的第二核间交互驱动模块从所述第二共享内存空间中读取所述第四以太网数据;The second inter-core interaction driving module in the second remote node reads the fourth Ethernet data from the second shared memory space;
所述第二远程节点中的第二虚拟以太网驱动模块将所述第四以太网数据传输至所述第二远程节点中的第二以太网协议栈进行处理;The second virtual Ethernet driver module in the second remote node transmits the fourth Ethernet data to the second Ethernet protocol stack in the second remote node for processing;
所述第二远程节点中的第二应用层接收处理后的所述第四以太网数据。The second application layer in the second remote node receives the processed fourth Ethernet data.
为达到上述目的,本发明还提供一种多核芯片,所述多核芯片包括共享内存传输模块和至少两个内核,其中一个所述内核配置为虚拟以太网交互系统的核心节点,剩余所述内核配置为所述虚拟以太网交互系统的远程节点;To achieve the above object, the present invention further provides a multi-core chip, the multi-core chip comprising a shared memory transmission module and at least two cores, one of the cores being configured as a core node of a virtual Ethernet interactive system, and the remaining cores being configured as remote nodes of the virtual Ethernet interactive system;
所述共享内存传输模块配置为为每一对进行数据交互的所述远程节点和所述核心节点分配对应的共享内存空间,并对所述共享内存空间进行管理;The shared memory transmission module is configured to allocate a corresponding shared memory space to each pair of the remote node and the core node for data interaction, and manage the shared memory space;
所述核心节点包括第一驱动层、第一以太网协议栈和第一应用层;The core node includes a first driver layer, a first Ethernet protocol stack and a first application layer;
所述远程节点包括第二驱动层、第二以太网协议栈和第二应用层;The remote node includes a second driver layer, a second Ethernet protocol stack and a second application layer;
所述第一驱动层包括第一虚拟以太网驱动模块和第一核间交互驱动模块,所述第二驱动层包括第二虚拟以太网驱动模块和第二核间交互驱动模块,所述第一虚拟以太网驱动模块和所述第二虚拟以太网驱动模块配置为提供标准以太网协议栈虚拟网络接口或者创建虚拟以太网网卡,所述第一核间交互驱动模块和所述第二核间交互驱动模块配置为在对应的所述共享内存空间中读取或写入以太网数据。The first driver layer includes a first virtual Ethernet driver module and a first inter-core interaction driver module, the second driver layer includes a second virtual Ethernet driver module and a second inter-core interaction driver module, the first virtual Ethernet driver module and the second virtual Ethernet driver module are configured to provide a standard Ethernet protocol stack virtual network interface or create a virtual Ethernet network card, and the first inter-core interaction driver module and the second inter-core interaction driver module are configured to read or write Ethernet data in the corresponding shared memory space.
可选的,所述多核芯片还包括内置交换机,所述第一驱动层还包括UDMA驱动模块,所述内置交换机配置为与外置交换机相连,并接收由外置交换机传输的来自外部以太网节点或者外部诊断设备的以太网数据,或者将以太网数据通过所述外置交换机传输至对应的外部以太网节点或者外部诊断设备;所述UDMA驱动模块配置为从所述内置交换机处读取以太网数据,或者将以太网数据传输至所述内置交换机。Optionally, the multi-core chip also includes a built-in switch, and the first driver layer also includes a UDMA driver module. The built-in switch is configured to be connected to an external switch and receive Ethernet data from an external Ethernet node or an external diagnostic device transmitted by the external switch, or transmit the Ethernet data to a corresponding external Ethernet node or external diagnostic device through the external switch; the UDMA driver module is configured to read Ethernet data from the built-in switch, or transmit Ethernet data to the built-in switch.
与现有技术相比,本发明提供的多核虚拟以太网数据交互系统、数据交互方法和多核芯片具有以下有益效果:Compared with the prior art, the multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip provided by the present invention have the following beneficial effects:
本发明提供的多核虚拟以太网数据交互系统包括共享内存传输模块和至少两个内核;其中一个所述内核配置为虚拟以太网交互系统的核心节点,剩余所述内核配置为所述虚拟以太网交互系统的远程节点;所述共享内存传输模块配置为为每一对进行数据交互的所述远程节点和所述核心节点分配对应的共享内存空间,并对所述共享内存空间进行管理;所述核心节点包括第一驱动层、第一以太网协议栈和第一应用层;所述远程节点包括第二驱动层、第二以太网协议栈和第二应用层;所述第一驱动层包括第一虚拟以太网驱动模块和第一核间交互驱动模块,所述第二驱动层包括第二虚拟以太网驱动模块和第二核间交互驱动模块,所述第一虚拟以太网驱动模块和所述第二虚拟以太网驱动模块配置为提供标准以太网协议栈虚拟网络接口或者创建虚拟以太网网卡,所述第一核间交互驱动模块和所述第二核间交互驱动模块配置为在对应的所述共享内存空间中读取或写入以太网数据。由此,本发明提供的多核虚拟以太网数据交互系统通过在多核芯片的每一个内核的驱动层均设置虚拟以太网驱动模块和核间交互驱动模块,并通过共享内存传输模块为每一对进行数据交互的远程节点和核心节点分配这两个节点均能够进行访问的共享内存空间,从而可以通过虚拟以太网实现多核跨核核间数据交互,进而可以降低多核芯片的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。由于虚拟以太网是通过纯软件实现的,因此可复用、可移植且兼容性强,适配于MCU(Micro ControllerUnit,微控制器单元)核和MPU(Micro ProcessorUnit,微处理器)核,降低代码重复开发成本。同时由于虚拟以太网的实现不需要依赖于硬件以太网网卡资源,从而可以降低多核芯片(例如SOC芯片)的以太网驱动硬件资源成本和依赖程度。此外,由于共享内存是一种高效的核间通信方式,多个内核可以同时访问同一块物理内存区域(即共享内存空间),通过读写该共享内存空间来进行数据交互,可以使得数据可以直接在内存中传输,传输速度更快。The multi-core virtual Ethernet data interaction system provided by the present invention comprises a shared memory transmission module and at least two cores; one of the cores is configured as a core node of the virtual Ethernet interaction system, and the remaining cores are configured as remote nodes of the virtual Ethernet interaction system; the shared memory transmission module is configured to allocate corresponding shared memory space for each pair of the remote node and the core node for data interaction, and manage the shared memory space; the core node comprises a first driver layer, a first Ethernet protocol stack and a first application layer; the remote node comprises a second driver layer, a second Ethernet protocol stack and a second application layer; the first driver layer comprises a first virtual Ethernet driver module and a first inter-core interaction driver module, the second driver layer comprises a second virtual Ethernet driver module and a second inter-core interaction driver module, the first virtual Ethernet driver module and the second virtual Ethernet driver module are configured to provide a standard Ethernet protocol stack virtual network interface or create a virtual Ethernet network card, and the first inter-core interaction driver module and the second inter-core interaction driver module are configured to read or write Ethernet data in the corresponding shared memory space. Thus, the multi-core virtual Ethernet data interaction system provided by the present invention is provided with a virtual Ethernet driver module and an inter-core interaction driver module in the driver layer of each core of the multi-core chip, and a shared memory space that can be accessed by both nodes is allocated to each pair of remote nodes and core nodes for data interaction through a shared memory transmission module, so that multi-core cross-core inter-core data interaction can be realized through virtual Ethernet, and then the Ethernet driver hardware resource cost of the multi-core chip can be reduced, and the data interaction rate and communication quality can be effectively improved. Since virtual Ethernet is implemented by pure software, it is reusable, portable and highly compatible, and is adapted to MCU (Micro Controller Unit, microcontroller unit) core and MPU (Micro Processor Unit, microprocessor) core, reducing the cost of code duplication development. At the same time, since the implementation of virtual Ethernet does not need to rely on hardware Ethernet network card resources, the Ethernet driver hardware resource cost and dependence degree of multi-core chips (such as SOC chips) can be reduced. In addition, since shared memory is an efficient inter-core communication method, multiple cores can access the same physical memory area (i.e., shared memory space) at the same time, and data interaction is performed by reading and writing the shared memory space, so that data can be directly transmitted in memory, and the transmission speed is faster.
由于本发明提供的以太网数据交互方法和多核芯片与本发明提供的多核虚拟以太网数据交互系统属于同一发明构思,因此本发明提供的以太网数据交互方法和多核芯片至少具有本发明提供的多核虚拟以太网数据交互系统的所有有益效果,具体可以参考上文中有关本发明提供的多核虚拟以太网数据交互系统所具有的有益效果的相关描述,故在此不再对本发明提供的多核虚拟以太网数据交互方法所具有的有益效果进行赘述。Since the Ethernet data interaction method and multi-core chip provided by the present invention belong to the same inventive concept as the multi-core virtual Ethernet data interaction system provided by the present invention, the Ethernet data interaction method and multi-core chip provided by the present invention at least have all the beneficial effects of the multi-core virtual Ethernet data interaction system provided by the present invention. For details, please refer to the relevant description of the beneficial effects of the multi-core virtual Ethernet data interaction system provided by the present invention in the above text. Therefore, the beneficial effects of the multi-core virtual Ethernet data interaction method provided by the present invention will not be repeated here.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本发明一实施例提供的多核虚拟以太网数据交互系统的方框结构示意图;FIG1 is a block diagram of a multi-core virtual Ethernet data interaction system provided by an embodiment of the present invention;
图2为本发明一实施例提供的基于虚拟以太网实现的MCU核间的跨核数据交互示意图;FIG2 is a schematic diagram of cross-core data interaction between MCU cores based on virtual Ethernet provided by an embodiment of the present invention;
图3为本发明一实施例提供的基于虚拟以太网实现的MCU核和MPU核间的跨核数据交互示意图;3 is a schematic diagram of cross-core data interaction between an MCU core and an MPU core based on virtual Ethernet provided by an embodiment of the present invention;
图4为本发明一实施例提供的MPU核内以太网数据控制流程图;FIG4 is a flow chart of Ethernet data control in an MPU core according to an embodiment of the present invention;
图5为本发明一实施例提供的多核虚拟以太网数据交互方法的流程示意图;FIG5 is a schematic diagram of a flow chart of a multi-core virtual Ethernet data interaction method provided by an embodiment of the present invention;
图6为本发明一实施例提供的核心节点内以太网数据的控制流程图;FIG6 is a control flow chart of Ethernet data in a core node provided by an embodiment of the present invention;
图7为本发明一实施例提供的远程节点内以太网数据的控制流程图;7 is a control flow chart of Ethernet data in a remote node provided by an embodiment of the present invention;
图8为本发明另一实施例提供的多核虚拟以太网数据交互方法的流程示意图。FIG8 is a schematic flow chart of a multi-core virtual Ethernet data interaction method provided by another embodiment of the present invention.
其中,附图标记如下:The reference numerals are as follows:
多核芯片-100;第一MCU核-110;第一驱动层-111;第一虚拟以太网驱动模块-1111;第一核间交互驱动模块-1112;UDMA驱动模块-1113;第一以太网协议栈-112;第一应用层-113;第一虚拟以太网接口模块-114;第二MCU核-120;MPU核-130;第二驱动层-121、131;第二虚拟以太网驱动模块-1211、1311;第二核间交互驱动模块-1212、1312;第二以太网协议栈-122、132;第二应用层-123、133;第二虚拟以太网接口模块-124;用户空间-134;内核空间-135;内存映射模块-1341;共享内存传输模块-140;内置交换机-150;外置交换机-200。Multi-core chip-100; first MCU core-110; first driver layer-111; first virtual Ethernet driver module-1111; first inter-core interaction driver module-1112; UDMA driver module-1113; first Ethernet protocol stack-112; first application layer-113; first virtual Ethernet interface module-114; second MCU core-120; MPU core-130; second driver layer-121, 131; second virtual Ethernet driver module-1211, 1311; second inter-core interaction driver module-1212, 1312; second Ethernet protocol stack-122, 132; second application layer-123, 133; second virtual Ethernet interface module-124; user space-134; kernel space-135; memory mapping module-1341; shared memory transmission module-140; built-in switch-150; external switch-200.
具体实施方式DETAILED DESCRIPTION
以下结合附图和具体实施方式对本发明提出的多核虚拟以太网数据交互系统、数据交互方法和多核芯片作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明提供的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在与本发明所能产生的功效及所能达成的目的相同或近似的情况下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。The following is a further detailed description of the multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip proposed in the present invention in combination with the accompanying drawings and specific embodiments. According to the following description, the advantages and features of the present invention will be clearer. It should be noted that the drawings are in a very simplified form and use non-precise proportions, which are only used to conveniently and clearly assist in explaining the purpose provided by the present invention. In order to make the purposes, features and advantages of the present invention more obvious and easy to understand, please refer to the accompanying drawings. It should be noted that the structures, proportions, sizes, etc. illustrated in the drawings of this specification are only used to match the contents disclosed in the specification for people familiar with this technology to understand and read, and are not used to limit the limiting conditions for the implementation of the present invention. Any structural modification, change in proportional relationship or adjustment of size, under the same or similar conditions as the effects that can be produced by the present invention and the purposes that can be achieved, should still fall within the scope of the technical content disclosed by the present invention.
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。单数形式“一”、“一个”以及“该”包括复数对象,术语“或”通常是以包括“和/或”的含义而进行使用的,术语“若干”通常是以包括“至少一个”的含义而进行使用的,术语“至少两个”通常是以包括“两个或两个以上”的含义而进行使用的,此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements. The singular forms "a", "an" and "the" include plural objects, the term "or" is generally used in a sense including "and/or", the term "several" is generally used in a sense including "at least one", and the term "at least two" is generally used in a sense including "two or more". In addition, the terms "first", "second" and "third" are used for descriptive purposes only and are not to be understood as indicating or suggesting relative importance or implicitly indicating the number of the indicated technical features.
此外,在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式或示例以及不同实施方式或示例的特征进行结合和组合。In addition, in the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.
本发明的核心节点思想在于提供一种多核虚拟以太网数据交互系统、数据交互方法和多核芯片,通过虚拟以太网实现多核跨核核间数据交互,可以降低多核芯片的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。The core node idea of the present invention is to provide a multi-core virtual Ethernet data interaction system, a data interaction method and a multi-core chip, which can realize multi-core cross-core and inter-core data interaction through virtual Ethernet, reduce the Ethernet driver hardware resource cost of the multi-core chip, and effectively improve the data interaction rate and communication quality.
需要说明的是,本发明提供的多核虚拟以太网数据交互方法可应用于本发明提供的多核虚拟以太网数据交互系统,本发明提供的多核虚拟以太网数据交互系统可适用于车载以太网通讯系统,且可被配置于车辆上,所述车辆可以包括一般的机动车辆,例如包括运动型多用途车(SUV)、公共汽车、卡车、各种商用车辆在内的载客车辆,并且包括混合动力车辆、电动车辆、插电式混合动力电动车辆等。此外需要说明的是,如本领域技术人员所能理解的,本发明中所称的“虚拟以太网”独立于硬件以太网网卡驱动且与硬件网卡接口无关,而是通过纯软件实现的。还需要说明的是,如本领域技术人员所能理解的,本发明所称的多核芯片不仅可以为多核SOC芯片,还可以为其它多核芯片,例如多个以太网controller(控制器)的芯片。It should be noted that the multi-core virtual Ethernet data interaction method provided by the present invention can be applied to the multi-core virtual Ethernet data interaction system provided by the present invention, and the multi-core virtual Ethernet data interaction system provided by the present invention can be applicable to the vehicle-mounted Ethernet communication system, and can be configured on the vehicle, the vehicle can include general motor vehicles, such as passenger vehicles including sports utility vehicles (SUV), buses, trucks, various commercial vehicles, and hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, etc. In addition, it should be noted that, as those skilled in the art can understand, the "virtual Ethernet" referred to in the present invention is independent of the hardware Ethernet network card driver and has nothing to do with the hardware network card interface, but is implemented by pure software. It should also be noted that, as those skilled in the art can understand, the multi-core chip referred to in the present invention can not only be a multi-core SOC chip, but also other multi-core chips, such as a chip of multiple Ethernet controllers.
为实现上述思想,本发明提供一种多核虚拟以太网数据交互系统,请参考图1,其为本发明一实施例提供的多核虚拟以太网数据交互系统的方框结构示意图。如图1所示,本发明提供的多核虚拟以太网数据交互系统包括共享内存传输模块140和至少两个内核(例如图1中的第一MCU核110、第二MCU核120和MPU核130);其中一个所述内核(例如图1中的第一MCU核110)配置为虚拟以太网交互系统的核心节点,剩余所述内核(例如图1中的第二MCU核120和MPU核130)配置为所述虚拟以太网交互系统的远程节点;所述共享内存传输模块140配置为为每一对进行数据交互的所述远程节点和所述核心节点分配对应的共享内存空间,并对所述共享内存空间进行管理;所述核心节点(例如图1中的第一MCU核110)包括第一驱动层111、第一以太网协议栈112和第一应用层113;所述远程节点(例如图1中的第二MCU核120和MPU核130)包括第二驱动层121/131和第二应用层123/133;所述第一驱动层111包括第一虚拟以太网驱动模块1111和第一核间交互驱动模块1112,所述第二驱动层121/131包括第二虚拟以太网驱动模块1211/1311和第二核间交互驱动模块1212/1312,所述第一虚拟以太网驱动模块1111和所述第二虚拟以太网驱动模块1211/1311配置为提供标准以太网协议栈虚拟网络接口或者创建虚拟以太网网卡,所述第一核间交互驱动模块1112和所述第二核间交互驱动模块1212/1312配置为在对应的所述共享内存空间中读取或写入以太网数据。To realize the above idea, the present invention provides a multi-core virtual Ethernet data interaction system. Please refer to Figure 1, which is a schematic diagram of the block structure of a multi-core virtual Ethernet data interaction system provided by an embodiment of the present invention. As shown in Figure 1, the multi-core virtual Ethernet data interaction system provided by the present invention includes a shared memory transmission module 140 and at least two cores (for example, the first MCU core 110, the second MCU core 120 and the MPU core 130 in Figure 1); one of the cores (for example, the first MCU core 110 in Figure 1) is configured as a core node of the virtual Ethernet interaction system, and the remaining cores (for example, the second MCU core 120 and the MPU core 130 in Figure 1) are configured as remote nodes of the virtual Ethernet interaction system; the shared memory transmission module 140 is configured to allocate corresponding shared memory space for each pair of remote nodes and core nodes for data interaction, and manage the shared memory space; the core node (for example, the first MCU core 110 in Figure 1) includes a first driver layer 111, a first Ethernet protocol stack 112 and a first application layer 113 ; The remote node (for example, the second MCU core 120 and the MPU core 130 in Figure 1) includes a second driver layer 121/131 and a second application layer 123/133; the first driver layer 111 includes a first virtual Ethernet driver module 1111 and a first inter-core interaction driver module 1112, the second driver layer 121/131 includes a second virtual Ethernet driver module 1211/1311 and a second inter-core interaction driver module 1212/1312, the first virtual Ethernet driver module 1111 and the second virtual Ethernet driver module 1211/1311 are configured to provide a standard Ethernet protocol stack virtual network interface or create a virtual Ethernet network card, the first inter-core interaction driver module 1112 and the second inter-core interaction driver module 1212/1312 are configured to read or write Ethernet data in the corresponding shared memory space.
由此,本发明提供的多核虚拟以太网数据交互系统通过在多核芯片100的每一个内核的驱动层均设置虚拟以太网驱动模块和核间交互驱动模块,并通过共享内存传输模块140为每一对进行数据交互的远程节点和核心节点分配这两个节点均能够进行访问的共享内存空间,从而可以通过虚拟以太网实现多核跨核核间数据交互,进而可以降低多核芯片100的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。由于虚拟以太网是通过纯软件实现的,因此可复用、可移植且兼容性强,适配于MCU(Micro ControllerUnit,微控制器单元)核和MPU(Micro ProcessorUnit,微处理器)核,降低代码重复开发成本。同时由于虚拟以太网的实现不需要依赖于硬件以太网网卡资源,从而可以降低多核芯片100(例如SOC芯片)的以太网驱动硬件资源成本和依赖程度。此外,由于共享内存是一种高效的核间通信方式,多个内核可以同时访问同一块物理内存区域(即共享内存空间),通过读写该共享内存空间来进行数据交互,可以使得数据可以直接在内存中传输,传输速度更快。Thus, the multi-core virtual Ethernet data interaction system provided by the present invention is provided with a virtual Ethernet driver module and an inter-core interaction driver module in the driver layer of each kernel of the multi-core chip 100, and a shared memory space that can be accessed by both nodes is allocated to each pair of remote nodes and core nodes for data interaction through a shared memory transmission module 140, so that multi-core cross-core inter-core data interaction can be realized through virtual Ethernet, and then the Ethernet driver hardware resource cost of the multi-core chip 100 can be reduced, and the data interaction rate and communication quality can be effectively improved. Since the virtual Ethernet is implemented by pure software, it is reusable, portable and highly compatible, and is adapted to MCU (Micro Controller Unit, microcontroller unit) core and MPU (Micro Processor Unit, microprocessor) core, reducing the cost of code duplication development. At the same time, since the implementation of virtual Ethernet does not need to rely on hardware Ethernet network card resources, the Ethernet driver hardware resource cost and dependence degree of the multi-core chip 100 (such as SOC chip) can be reduced. In addition, since shared memory is an efficient way of inter-core communication, multiple cores can access the same physical memory area (i.e., shared memory space) at the same time, and interact with data by reading and writing the shared memory space, so that data can be transmitted directly in the memory at a faster speed.
需要说明的是,虽然图1是以所述多核虚拟以太网数据交互系统包括第一MCU核110、第二MCU核120和MPU核130这三个内核,且第一MCU核110作为核心节点为例进行说明,但是如本领域技术人员所能理解的,这并不构成对本发明的限制,在其它一些实施方式中,所述多核虚拟以太网数据交互系统还可以包括两个、四个或更多个内核,并且本发明对所述内核的具体类型以及具体选择哪个内核作为核心节点也不作限定。It should be noted that although Figure 1 illustrates the multi-core virtual Ethernet data interaction system as including three cores, namely, the first MCU core 110, the second MCU core 120 and the MPU core 130, and the first MCU core 110 as the core node, as can be understood by those skilled in the art, this does not constitute a limitation of the present invention. In some other embodiments, the multi-core virtual Ethernet data interaction system may also include two, four or more cores, and the present invention does not limit the specific type of the core and which core is specifically selected as the core node.
具体地,MCU核是ARM(AdvancedRISC Machines,即高级精简指令集计算机(Reduced Instruction Set Computer)机器)架构下的R核(即嵌入式实时处理器核),适用于负责处理实时性控制任务,其基于FreeRTOS系统(FreeRTOS系统是一种迷你的实时操作系统)或者Autosar(Automotive Open System Architecture,汽车开放系统架构)OS实现功能开发。MPU核130则是ARM架构(精简指令集计算机(RISC)架构)中的应用处理核,称之为A核,通常用于高性能计算和通用操作系统的执行,例如可以基于Linux操作系统开发软件功能和应用。MCU核可以配置为虚拟以太网实时操作系统的远程节点,MPU核130可以配置为虚拟以太网Linux操作系统的远程节点Specifically, the MCU core is an R core (i.e., an embedded real-time processor core) under the ARM (Advanced RISC Machines) architecture, which is suitable for handling real-time control tasks. It implements function development based on the FreeRTOS system (the FreeRTOS system is a mini real-time operating system) or Autosar (Automotive Open System Architecture) OS. The MPU core 130 is an application processing core in the ARM architecture (reduced instruction set computer (RISC) architecture), called the A core, which is usually used for high-performance computing and the execution of general-purpose operating systems. For example, software functions and applications can be developed based on the Linux operating system. The MCU core can be configured as a remote node of a virtual Ethernet real-time operating system, and the MPU core 130 can be configured as a remote node of a virtual Ethernet Linux operating system.
进一步地,所述第一以太网协议栈112和所述第二以太网协议栈122/132均包括网络层和传输层。Furthermore, the first Ethernet protocol stack 112 and the second Ethernet protocol stack 122/132 both include a network layer and a transport layer.
进一步地,所述共享内存传输模块140除了为每一对进行数据交互的所述远程节点和所述核心节点分配对应的共享内存空间外,还负责管理该共享内存空间。所述共享内存传输模块140所管理的共享内存空间的片数与远程节点的数目相同,例如当所述远程节点的数目为2个时,则所述共享内存传输模块140所管理的共享内存空间为两片,其中一片共享内存空间用于所述核心节点与其中一个远程节点之间的以太网数据的交互,另一片共享内存空间用于所述核心节点与另一个远程节点之间的以太网数据的交互。Furthermore, in addition to allocating a corresponding shared memory space for each pair of the remote node and the core node that perform data interaction, the shared memory transmission module 140 is also responsible for managing the shared memory space. The number of slices of the shared memory space managed by the shared memory transmission module 140 is the same as the number of remote nodes. For example, when the number of remote nodes is 2, the shared memory space managed by the shared memory transmission module 140 is two slices, one of which is used for the interaction of Ethernet data between the core node and one of the remote nodes, and the other is used for the interaction of Ethernet data between the core node and another remote node.
需要说明的是,如本领域技术人员所能理解的,所述核心节点承担虚拟以太网交互链路中的中央枢纽职责,网络中的每个以太网节点(包括远程节点和外部以太网节点)直接与核心节点通信,其它远程节点之间的通信也是通过所述核心节点路由。还需要说明的是,如本领域技术人员所能理解的,所述第一虚拟以太网驱动模块1111、所述第二虚拟以太网驱动模块1211/1311、所述第一核间交互驱动模块1112和所述第二核间交互驱动模块1212/1312均是通过纯软件实现的,所述第一虚拟以太网驱动模块1111、所述第二虚拟以太网驱动模块1211/1311通过虚拟以太网驱动程序提供标准以太网协议栈虚拟网络接口或者创建虚拟以太网网卡,所述第一核间交互驱动模块1112和所述第二核间交互驱动模块1212/1312通过核间交互驱动程序在共享内存空间中读取或写入以太网数据。此外需要说明的是,如本领域技术人员所能理解的,本发明中的所述第一虚拟以太网驱动模块1111、所述第二虚拟以太网驱动模块1211/1311的功能职责相当于OSI模型(Open SystemsInterconnection Reference Model,是一个用于描述计算机网络体系结构的概念模型)中的L2层(数据链路层),所述第一虚拟以太网驱动模块1111、所述第二虚拟以太网驱动模块1211/1311可以抽象为软件接口独立模块,可以基于多种驱动程序实现。It should be noted that, as can be understood by those skilled in the art, the core node assumes the central hub responsibility in the virtual Ethernet interactive link, each Ethernet node in the network (including remote nodes and external Ethernet nodes) communicates directly with the core node, and the communication between other remote nodes is also routed through the core node. It should also be noted that, as can be understood by those skilled in the art, the first virtual Ethernet driver module 1111, the second virtual Ethernet driver module 1211/1311, the first inter-core interaction driver module 1112 and the second inter-core interaction driver module 1212/1312 are all implemented by pure software, the first virtual Ethernet driver module 1111 and the second virtual Ethernet driver module 1211/1311 provide a standard Ethernet protocol stack virtual network interface or create a virtual Ethernet network card through a virtual Ethernet driver, and the first inter-core interaction driver module 1112 and the second inter-core interaction driver module 1212/1312 read or write Ethernet data in a shared memory space through an inter-core interaction driver. In addition, it should be noted that, as can be understood by those skilled in the art, the functional responsibilities of the first virtual Ethernet driver module 1111 and the second virtual Ethernet driver module 1211/1311 in the present invention are equivalent to the L2 layer (data link layer) in the OSI model (Open Systems Interconnection Reference Model, a conceptual model for describing computer network architecture), and the first virtual Ethernet driver module 1111 and the second virtual Ethernet driver module 1211/1311 can be abstracted as independent modules of software interfaces and can be implemented based on a variety of driver programs.
请继续参考图1,如图1所示,在一些示范性的实施方式中,所述虚拟以太网交互系统还包括内置交换机150和外置交换机200,所述第一驱动层111还包括UDMA驱动模块1113,所述内置交换机150与所述外置交换机200相连(具体可以通过T1端口SGMII模块连接),所述外置交换机200配置为接收来自外部以太网节点或者外部诊断设备的以太网数据并传输至所述内置交换机150,或者将以太网数据传输至对应的外部以太网节点或者外部诊断设备;所述UDMA驱动模块1113配置为从所述内置交换机150处读取以太网数据,或者将以太网数据传输至所述内置交换机150。Please continue to refer to Figure 1. As shown in Figure 1, in some exemplary embodiments, the virtual Ethernet interactive system also includes a built-in switch 150 and an external switch 200, the first driver layer 111 also includes a UDMA driver module 1113, the built-in switch 150 is connected to the external switch 200 (specifically, it can be connected through a T1 port SGMII module), the external switch 200 is configured to receive Ethernet data from an external Ethernet node or an external diagnostic device and transmit it to the built-in switch 150, or transmit the Ethernet data to the corresponding external Ethernet node or external diagnostic device; the UDMA driver module 1113 is configured to read Ethernet data from the built-in switch 150, or transmit Ethernet data to the built-in switch 150.
具体地,所述内置交换机150为多核芯片100(例如多核SOC芯片)自带的以太网驱动硬件资源,是该多核芯片100内不同内核之间共享的以太网外设备,可以通过在核心节点对该内置交换机150进行配置和软件驱动,其作用于L2层(数据链路层)的以太网数据路由功能。所述外置交换机200承担外部以太网节点与该多核芯片100之间的以太网数据交互的L2层(数据链路层)的以太网路由职责,可以对不同以太网节点的IP地址进行划分VLAN(Virtual LocalAreaNetwork,即虚拟局域网)。外部以太网节点可以经过外置交换机200、内置交换机150、核心节点与远程节点之间进行以太网数据的传输和交互。此外,外部诊断设备也可以通过所述外置交换机200的Tx端口,经由所述内置交换机150、所述核心节点,将以太网诊断请求报文转给远程节点,以实现诊断功能。Specifically, the built-in switch 150 is an Ethernet driver hardware resource that comes with the multi-core chip 100 (such as a multi-core SOC chip), and is an Ethernet external device shared between different cores in the multi-core chip 100. The built-in switch 150 can be configured and software-driven at the core node, and it acts on the Ethernet data routing function of the L2 layer (data link layer). The external switch 200 assumes the Ethernet routing responsibility of the L2 layer (data link layer) of the Ethernet data interaction between the external Ethernet node and the multi-core chip 100, and can divide the IP addresses of different Ethernet nodes into VLANs (Virtual Local Area Network, i.e., virtual local area networks). External Ethernet nodes can transmit and interact Ethernet data between the external switch 200, the built-in switch 150, the core node and the remote node. In addition, the external diagnostic device can also transfer the Ethernet diagnostic request message to the remote node through the Tx port of the external switch 200, the built-in switch 150 and the core node to realize the diagnostic function.
进一步地,所述内置交换机150的一个EMAC(Enet MediaAccess Control,即网络媒体访问控制)端口(EMAC port)连接外置交换机200的MAC端口(MAC port),来自外部以太网节点或者外部诊断设备的以太网数据都会经过该外置交换机200到达所述内置交换机150的host端口(host port)内存空间。通过所述UDMA驱动模块1113可以提供UDMA(Undefined Direct MemoryAaccess,未定义的直接内存访问)驱动程序,UDMA驱动程序的本质仍然是DMA(DirectMemoryAaccess,直接内存访问),可不通过CPU的干涉,直接将数据从一个地址空间复制到另一段地址空间内,提供在外设和存储器之间或存储器之间的交互数据传输,其作用就是解决大量数据传输过度消耗CPU(Central Processing Unit,中央处理器单元)资源的问题,节省了大量的CPU资源,更适用于以太网数据(报文数据量大、报文长度长)的交互应用场景。Furthermore, an EMAC (Enet Media Access Control) port (EMAC port) of the built-in switch 150 is connected to the MAC port (MAC port) of the external switch 200, and the Ethernet data from the external Ethernet node or the external diagnostic device will pass through the external switch 200 to the host port (host port) memory space of the built-in switch 150. The UDMA driver module 1113 can provide a UDMA (Undefined Direct Memory Access) driver. The essence of the UDMA driver is still DMA (Direct Memory Access). It can directly copy data from one address space to another address space without CPU intervention, and provide interactive data transmission between peripherals and memories or between memories. Its function is to solve the problem of excessive consumption of CPU (Central Processing Unit) resources by large amounts of data transmission, save a lot of CPU resources, and is more suitable for interactive application scenarios of Ethernet data (large message data volume and long message length).
请继续参考图1,如图1所示,在一些示范性的实施方式中,所述核心节点(例如图1中的第一MCU核110)还包括设于所述第一驱动层111和所述第一以太网协议栈112之间的第一虚拟以太网接口模块114,所述第一虚拟以太网接口模块114配置为提供统一以太网网络接口。由此,通过设置第一虚拟以太网接口模块114连接底层驱动(即第一驱动层111)和上层以太网协议栈(第一以太网协议栈112),减小了增加硬件以太网网卡的开发成本,扩展了以太网通讯资源,且无需单独设计网络通讯协议,可缩短开发周期,同时提高了代码复用性,且同时兼容MCU核和MPU核130,增加软件可维护性,扩展了多核芯片100(例如多核SOC芯片)的以太网通讯资源。Please continue to refer to FIG. 1. As shown in FIG. 1, in some exemplary embodiments, the core node (e.g., the first MCU core 110 in FIG. 1) further includes a first virtual Ethernet interface module 114 disposed between the first driver layer 111 and the first Ethernet protocol stack 112, and the first virtual Ethernet interface module 114 is configured to provide a unified Ethernet network interface. Thus, by setting the first virtual Ethernet interface module 114 to connect the bottom layer driver (i.e., the first driver layer 111) and the upper layer Ethernet protocol stack (the first Ethernet protocol stack 112), the development cost of adding a hardware Ethernet network card is reduced, the Ethernet communication resources are expanded, and there is no need to design a network communication protocol separately, which can shorten the development cycle, improve code reusability, and be compatible with the MCU core and the MPU core 130 at the same time, increase software maintainability, and expand the Ethernet communication resources of the multi-core chip 100 (e.g., a multi-core SOC chip).
具体地,所述第一虚拟以太网接口模块114并不依赖于底层驱动(第一驱动层111)和上层协议栈(第一以太网协议栈112)的发送和接收,完成数据的标准接口封装即可,可抽象为独立模块,应用于不同的客户端和服务器之间的数据访问。所述第一虚拟以太网接口模块114对上可以适配标准以太网协议栈,对下则适配于不同的驱动程序,增加其可扩展性和可复用性。Specifically, the first virtual Ethernet interface module 114 does not rely on the transmission and reception of the bottom layer driver (first driver layer 111) and the upper layer protocol stack (first Ethernet protocol stack 112), and only needs to complete the standard interface encapsulation of the data, and can be abstracted as an independent module, which is applied to data access between different clients and servers. The first virtual Ethernet interface module 114 can adapt to the standard Ethernet protocol stack on the upper side and to different drivers on the lower side, thereby increasing its scalability and reusability.
请继续参考图1,如图1所示,在一些示范性的实施方式中,所述远程节点(例如图1中的第二MCU核120)还包括设于所述第二驱动层121和所述第二以太网协议栈122之间的第二虚拟以太网接口模块124。由此,通过在所述第二驱动层121和所述第二以太网协议栈122之间设置以太网第二虚拟以太网接口模块124,可以连接第二驱动层121和第二以太网协议栈122,进一步减小了增加硬件以太网网卡的开发成本,扩展了以太网通讯资源,且无需单独设计网络通讯协议,可缩短开发周期,同时提高了代码复用性,且同时兼容MCU核和MPU核130,增加软件可维护性,扩展了多核芯片100(例如多核SOC芯片)的以太网通讯资源。Please continue to refer to FIG. 1. As shown in FIG. 1, in some exemplary embodiments, the remote node (such as the second MCU core 120 in FIG. 1) further includes a second virtual Ethernet interface module 124 provided between the second driver layer 121 and the second Ethernet protocol stack 122. Thus, by providing the Ethernet second virtual Ethernet interface module 124 between the second driver layer 121 and the second Ethernet protocol stack 122, the second driver layer 121 and the second Ethernet protocol stack 122 can be connected, further reducing the development cost of adding a hardware Ethernet network card, expanding Ethernet communication resources, and without the need to design a network communication protocol separately, which can shorten the development cycle, improve code reusability, and be compatible with both the MCU core and the MPU core 130, increase software maintainability, and expand the Ethernet communication resources of the multi-core chip 100 (such as a multi-core SOC chip).
需要说明的是,如本领域技术人员所能理解的,所述第二虚拟以太网接口模块124并不依赖于第二驱动层121和第二以太网协议栈122的发送和接收,完成数据的标准接口封装即可,可抽象为独立模块,应用于不同的客户端和服务器之间的数据访问。所述第二虚拟以太网接口模块124对上可以适配标准以太网协议栈,对下则适配于不同的驱动程序,增加其可扩展性和可复用性。It should be noted that, as can be understood by those skilled in the art, the second virtual Ethernet interface module 124 does not rely on the sending and receiving of the second driver layer 121 and the second Ethernet protocol stack 122, and only needs to complete the standard interface encapsulation of data, and can be abstracted as an independent module and applied to data access between different clients and servers. The second virtual Ethernet interface module 124 can adapt to the standard Ethernet protocol stack at the top and to different drivers at the bottom, thereby increasing its scalability and reusability.
请继续参考图2,其为本发明一实施例提供的基于虚拟以太网实现的MCU核间的跨核数据交互示意图。如图2所示,以所述核心节点为第一MCU核110,所述远程节点为第二MCU核120为例,其中上行方向的数据交互过程包括:第二MCU核120可以通过其第二核间交互驱动模块1212/1312从所述第一MCU核110和所述第二MCU核120所共享的共享内存空间(虚拟以太网报文队列)中读取以太网数据,并通过第二虚拟以太网驱动模块1211将读取出的以太网数据传输给上层以太网第二虚拟以太网接口模块124,然后经过二以太网协议栈处理后,传输给第二应用层123,完成基于虚拟以太网实现的上行数据交互。下行方向的数据交互过程包括:第二应用层123将信号封装转换成以太网数据,经过第二以太网协议栈122并经由以太网第二虚拟以太网接口模块124将以太网数据传输给第二虚拟以太网驱动模块1211,然后通过第二核间交互驱动模块1212写入所述第一MCU核110和所述第二MCU核120所共享的共享内存空间(虚拟以太网报文队列)中。所述第一MCU核110通过第一核间交互驱动模块1112读取该共享内存空间所存储的以太网数据,再通过UDMA驱动模块1113将读取出的以太网数据转给内置交换机150的host端口,路由经过外置交换机200到达远端的外部以太网节点或者外部诊断设备,完成数据交互。Please continue to refer to Figure 2, which is a schematic diagram of cross-core data interaction between MCU cores based on virtual Ethernet implementation provided by an embodiment of the present invention. As shown in Figure 2, taking the core node as the first MCU core 110 and the remote node as the second MCU core 120 as an example, the data interaction process in the uplink direction includes: the second MCU core 120 can read Ethernet data from the shared memory space (virtual Ethernet message queue) shared by the first MCU core 110 and the second MCU core 120 through its second inter-core interaction driver module 1212/1312, and transmit the read Ethernet data to the upper Ethernet second virtual Ethernet interface module 124 through the second virtual Ethernet driver module 1211, and then transmit it to the second application layer 123 after being processed by the second Ethernet protocol stack, to complete the uplink data interaction based on virtual Ethernet. The data interaction process in the downlink direction includes: the second application layer 123 converts the signal encapsulation into Ethernet data, transmits the Ethernet data to the second virtual Ethernet driver module 1211 through the second Ethernet protocol stack 122 and the Ethernet second virtual Ethernet interface module 124, and then writes it into the shared memory space (virtual Ethernet message queue) shared by the first MCU core 110 and the second MCU core 120 through the second inter-core interaction driver module 1212. The first MCU core 110 reads the Ethernet data stored in the shared memory space through the first inter-core interaction driver module 1112, and then transfers the read Ethernet data to the host port of the built-in switch 150 through the UDMA driver module 1113, and routes it through the external switch 200 to the remote external Ethernet node or external diagnostic equipment to complete the data interaction.
请继续参考图1,如图1所示,在一些示范性的实施方式中,所述远程节点包括用户空间134和内核空间135,所述内核空间135包括所述第二驱动层131和所述第二以太网协议栈132,所述用户空间134包括所述第二应用层133和内存映射模块1341,所述内存映射模块1341配置为进行共享内存地址映射。Please continue to refer to Figure 1. As shown in Figure 1, in some exemplary embodiments, the remote node includes a user space 134 and a kernel space 135, the kernel space 135 includes the second driver layer 131 and the second Ethernet protocol stack 132, the user space 134 includes the second application layer 133 and a memory mapping module 1341, and the memory mapping module 1341 is configured to perform shared memory address mapping.
请继续参考图3,其为本发明一实施例提供的基于虚拟以太网实现的MCU核和MPU核130间的跨核数据交互示意图。如图3所示,以所述核心节点为第一MCU核110,所述远程节点为MPU核130为例,当外部以太网节点需要与多核芯片100(例如多核SOC芯片)内的MPU核130进行以太网数据交互时,外部以太网节点或者外部诊断设备发出的以太网数据经过外置交换机200转给内置交换机150后到达host端口,然后第一MCU核110通过UDMA驱动模块1113去host端口内存空间搬运以太网数据,并传输给第一虚拟以太网驱动模块1111,再通过第一核间交互驱动模块1112将以太网数据拷贝到第一MCU核110与MPU核130所共享的共享内存空间中,然后通知MPU核130,MPU核130的kernel空间需要完成虚拟以太网网卡的驱动(通过第二虚拟以太网驱动模块1311创建并启动虚拟以太网网卡),然后在用户空间134创建核间交互进程和虚拟以太网设备的地址映射适配进程(进行共享内存地址映射)。再通过MPU核130(远程节点)的第二核间交互驱动模块1312从第一MCU核110与MPU核130所共享的共享内存空间(虚拟以太网报文队列)中读取以太网数据后,通过MPU核130的第二以太网协议栈132封装处理后转发给用户空间134,此时,通过用户空间134创建的接收任务线程,用户空间134建立基于以太网实现的socketAPI应用接口,然后通过socketAPI应用接口将以太网数据传输给上层以太网应用(第二应用层133),完成整个数据接收的交互过程。Please continue to refer to FIG. 3 , which is a schematic diagram of cross-core data interaction between an MCU core and an MPU core 130 based on virtual Ethernet provided in an embodiment of the present invention. As shown in Figure 3, taking the core node as the first MCU core 110 and the remote node as the MPU core 130 as an example, when the external Ethernet node needs to interact with the MPU core 130 in the multi-core chip 100 (for example, a multi-core SOC chip) for Ethernet data, the Ethernet data sent by the external Ethernet node or the external diagnostic device is transferred to the built-in switch 150 through the external switch 200 and then reaches the host port. Then, the first MCU core 110 moves the Ethernet data to the host port memory space through the UDMA driver module 1113, and transmits it to the first virtual Ethernet driver module 1111. Then, the Ethernet data is copied to the shared memory space shared by the first MCU core 110 and the MPU core 130 through the first inter-core interaction driver module 1112, and then the MPU core 130 is notified that the kernel space of the MPU core 130 needs to complete the driver of the virtual Ethernet network card (create and start the virtual Ethernet network card through the second virtual Ethernet driver module 1311), and then the inter-core interaction process and the address mapping adaptation process of the virtual Ethernet device are created in the user space 134 (shared memory address mapping). After reading the Ethernet data from the shared memory space (virtual Ethernet message queue) shared by the first MCU core 110 and the MPU core 130 through the second inter-core interaction driver module 1312 of the MPU core 130 (remote node), the data is encapsulated and processed by the second Ethernet protocol stack 132 of the MPU core 130 and forwarded to the user space 134. At this time, through the receiving task thread created by the user space 134, the user space 134 establishes a socketAPI application interface based on Ethernet implementation, and then transmits the Ethernet data to the upper-level Ethernet application (second application layer 133) through the socketAPI application interface, completing the entire data reception interaction process.
请继续参考图4,其为本发明一实施例提供的MPU核130内以太网数据控制流程图。如图4所示,MPU核130内的以太网数据控制流程如下:1)MPU核130内的第二虚拟以太网驱动模块1311通过文件描述符/dev/net/tun,创建虚拟以太网网卡;2)对创建的虚拟以太网网卡设置属性信息;3)启动虚拟以太网网卡;4)映射共享内存数据区域,该共享内存数据区域从核心节点(例如第一MCU核110)与MPU核130的共享内存空间内申请分配;5)创建接收/发送句柄;6)创建数据池句柄,并关联分配的共享内存数据区域;7)创建接收/发送任务线程:接收任务线程承担的职责是从虚拟以太网报文队列中轮询接收帧的描述符,如果描述符存在,则通过第二核间交互驱动模块1312读取虚拟以太网报文队列中的数据,并通过虚拟以太网网网卡复制到基于Linux系统内的第二以太网协议栈132,然后上传给上层应用(第二应用层133);发送任务线程承担的职责是通过虚拟以太网网卡轮询基于Linux系统内的第二以太网协议栈132,检查是否有发送帧,如果有,则通过第二核间交互驱动模块1312将该发送帧拷贝到分配的共享内存数据区域中,等待核心节点(例如第一MCU核110)来读取,完成数据交互。上述控制流程中的任何过程,在出现失败的情况下,CPU会释放资源,程序异常退出,则关闭当前线程或进程。Please continue to refer to Figure 4, which is a flow chart of Ethernet data control in the MPU core 130 provided in one embodiment of the present invention. As shown in Figure 4, the Ethernet data control process in the MPU core 130 is as follows: 1) The second virtual Ethernet driver module 1311 in the MPU core 130 creates a virtual Ethernet network card through the file descriptor /dev/net/tun; 2) Set attribute information for the created virtual Ethernet network card; 3) Start the virtual Ethernet network card; 4) Map the shared memory data area, which is applied for allocation from the shared memory space of the core node (such as the first MCU core 110) and the MPU core 130; 5) Create a receive/send handle; 6) Create a data pool handle and associate the allocated shared memory data area; 7) Create a receive/send task thread: The responsibility of the receive task thread is to send data from the virtual The descriptor of the received frame is polled in the Ethernet message queue. If the descriptor exists, the data in the virtual Ethernet message queue is read through the second inter-core interaction driver module 1312, and copied to the second Ethernet protocol stack 132 based on the Linux system through the virtual Ethernet network card, and then uploaded to the upper application (second application layer 133); the responsibility of the sending task thread is to poll the second Ethernet protocol stack 132 based on the Linux system through the virtual Ethernet network card to check whether there is a sending frame. If so, the sending frame is copied to the allocated shared memory data area through the second inter-core interaction driver module 1312, and wait for the core node (such as the first MCU core 110) to read and complete the data interaction. In any process in the above control flow, in the event of failure, the CPU will release resources, the program will exit abnormally, and the current thread or process will be closed.
需要说明的是,如本领域技术人员所能理解的,当多核芯片100(例如多核SOC芯片)的两个远端内核(第一远程节点与第二远程节点,例如第二MCU核120与MPU核130)之间需要基于虚拟以太网实现数据交互时,也需要通过核心节点作为中央枢纽,对交互的数据进行转发。具体地,核心节点(第一MCU核110)通过第一核间交互驱动模块1112从核心节点(例如第一MCU核110)与第一远程节点(例如第二MCU核120)所共享的共享内存空间(虚拟以太网队列)中读取以太网数据,并通过第一核间交互驱动模块1112将读取出的以太网数据拷贝到核心节点(例如第一MCU核110)与第二远程节点(例如MPU核130)所共享的共享内存空间内的虚拟以太网队列中(此队列用于核心节点(例如第一MCU核110)与第二远程节点(例如MPU核130)的数据交互);然后通知第二远程节点(例如MPU核130),第二远程节点(例如MPU核130)的kernel空间需要完成虚拟以太网网卡的驱动(通过第二虚拟以太网驱动模块1311创建并启动虚拟以太网网卡),然后在用户空间134创建核间交互进程和虚拟以太网设备的地址映射适配进程(进行共享内存地址映射)。第二远程节点(例如MPU核130)的第二核间交互驱动模块1312从核心节点(例如第一MCU核110)与第二远程节点(例如MPU核130)所共享的共享内存空间内的虚拟以太网队列中读取数据后,通过第二远程节点(例如MPU核130)的第二以太网协议栈132封装处理后转发给用户空间134,此时,通过用户空间134创建的接收任务线程,用户空间134建立基于以太网实现的socketAPI应用接口,然后通过socketAPI应用接口将以太网数据传输给上层以太网应用(第二应用层133),完成整个数据接收的交互过程。It should be noted that, as those skilled in the art can understand, when data interaction needs to be implemented based on virtual Ethernet between two remote cores (a first remote node and a second remote node, such as a second MCU core 120 and an MPU core 130) of a multi-core chip 100 (for example, a multi-core SOC chip), the core node is also needed as a central hub to forward the interactive data. Specifically, the core node (the first MCU core 110) reads Ethernet data from the shared memory space (virtual Ethernet queue) shared by the core node (e.g., the first MCU core 110) and the first remote node (e.g., the second MCU core 120) through the first inter-core interaction driver module 1112, and copies the read Ethernet data to the virtual Ethernet queue in the shared memory space shared by the core node (e.g., the first MCU core 110) and the second remote node (e.g., the MPU core 130) through the first inter-core interaction driver module 1112 (this queue is used for data interaction between the core node (e.g., the first MCU core 110) and the second remote node (e.g., the MPU core 130)); then notifies the second remote node (e.g., the MPU core 130) that the kernel space of the second remote node (e.g., the MPU core 130) needs to complete the driving of the virtual Ethernet network card (create and start the virtual Ethernet network card through the second virtual Ethernet driver module 1311), and then creates the inter-core interaction process and the address mapping adaptation process of the virtual Ethernet device in the user space 134 (performs shared memory address mapping). After the second inter-core interaction driver module 1312 of the second remote node (e.g., MPU core 130) reads data from the virtual Ethernet queue in the shared memory space shared by the core node (e.g., the first MCU core 110) and the second remote node (e.g., MPU core 130), it is encapsulated and processed by the second Ethernet protocol stack 132 of the second remote node (e.g., MPU core 130) and forwarded to the user space 134. At this time, through the receiving task thread created by the user space 134, the user space 134 establishes a socketAPI application interface based on Ethernet implementation, and then transmits the Ethernet data to the upper-level Ethernet application (second application layer 133) through the socketAPI application interface, completing the entire data reception interaction process.
基于同一发明构思,本发明还提供一种多核虚拟以太网数据交互方法,应用于上文所述的多核虚拟以太网数据交互系统。请参考图5,其为本发明一实施例提供的多核虚拟以太网数据交互方法的流程示意图。如图5所示,本实施例提供的多核虚拟以太网数据交互方法包括以下步骤:Based on the same inventive concept, the present invention also provides a multi-core virtual Ethernet data interaction method, which is applied to the multi-core virtual Ethernet data interaction system described above. Please refer to Figure 5, which is a flow chart of the multi-core virtual Ethernet data interaction method provided by an embodiment of the present invention. As shown in Figure 5, the multi-core virtual Ethernet data interaction method provided by this embodiment includes the following steps:
步骤S110、核心节点中的第一核间交互驱动模块1112将第一以太网数据写入对应的共享内存空间中。Step S110: The first inter-core interaction driver module 1112 in the core node writes the first Ethernet data into the corresponding shared memory space.
步骤S120、远程节点中的第二核间交互驱动模块1212/1312从所述共享内存空间中读取所述第一以太网数据。Step S120: The second inter-core interaction driver module 1212/1312 in the remote node reads the first Ethernet data from the shared memory space.
步骤S130、所述远程节点中的第二虚拟以太网驱动模块1211/1311将所述第一以太网数据传输至所述远程节点中的第二以太网协议栈122/132进行处理。Step S130: The second virtual Ethernet driver module 1211/1311 in the remote node transmits the first Ethernet data to the second Ethernet protocol stack 122/132 in the remote node for processing.
步骤S140、所述远程节点中的第二以太网协议栈122/132将处理后的所述第一以太网数据传输至所述远程节点中的第二应用层123/133。Step S140: The second Ethernet protocol stack 122/132 in the remote node transmits the processed first Ethernet data to the second application layer 123/133 in the remote node.
由此,本发明提供的多核虚拟以太网数据交互方法通过虚拟以太网实现多核跨核核间数据交互,进而可以降低多核芯片100的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。由于虚拟以太网是通过纯软件实现的,因此可复用、可移植且兼容性强,适配于MCU(Micro ControllerUnit,微控制器单元)核和MPU(Micro ProcessorUnit,微处理器)核,降低代码重复开发成本。同时由于虚拟以太网的实现不需要依赖于硬件以太网网卡资源,从而可以降低多核芯片100(例如SOC芯片)的以太网驱动硬件资源成本和依赖程度。此外,由于共享内存是一种高效的核间通信方式,多个内核可以同时访问同一块物理内存区域(即共享内存空间),通过读写该共享内存空间来进行数据交互,可以使得数据可以直接在内存中传输,传输速度更快。Thus, the multi-core virtual Ethernet data interaction method provided by the present invention realizes multi-core cross-core data interaction through virtual Ethernet, thereby reducing the Ethernet driver hardware resource cost of the multi-core chip 100, and effectively improving the data interaction rate and communication quality. Since virtual Ethernet is implemented by pure software, it is reusable, portable and highly compatible, and is adapted to MCU (Micro Controller Unit, microcontroller unit) core and MPU (Micro Processor Unit, microprocessor) core, reducing the cost of code duplication development. At the same time, since the implementation of virtual Ethernet does not need to rely on hardware Ethernet network card resources, the Ethernet driver hardware resource cost and dependence degree of the multi-core chip 100 (such as SOC chip) can be reduced. In addition, since shared memory is an efficient inter-core communication method, multiple cores can access the same physical memory area (i.e., shared memory space) at the same time, and data interaction is performed by reading and writing the shared memory space, so that data can be directly transmitted in the memory, and the transmission speed is faster.
在一些示范性的实施方式中,本实施例提供的多核虚拟以太网数据交互方法还包括:In some exemplary implementations, the multi-core virtual Ethernet data interaction method provided in this embodiment further includes:
所述核心节点中的UDMA驱动模块1113接收依次通过外置交换机200和内置交换机150上传的来自外部以太网节点或者外部诊断设备的以太网数据;The UDMA driver module 1113 in the core node receives Ethernet data from an external Ethernet node or an external diagnostic device uploaded sequentially through the external switch 200 and the internal switch 150;
所述核心节点依次通过第一虚拟以太网驱动模块1111和第一以太网协议栈112对所述以太网数据进行处理,以获取所述第一以太网数据。The core node processes the Ethernet data in sequence through the first virtual Ethernet driver module 1111 and the first Ethernet protocol stack 112 to obtain the first Ethernet data.
具体地,请参考图6,其为本发明一实施例提供的核心节点内以太网数据的控制流程图。如图6所示,来自多核芯片100(例如多核SOC芯片)外部的以太网数据经过外置交换机200和内置交换机150的EMAC端口抵达host端口,之后的控制流程如下:1)核心节点内的UDMA驱动模块1113从host端口读取来自多核芯片100(例如多核SOC芯片)外部的以太网数据;2)判断UDMA驱动模块1113的接收队列(该接收队列可以循环使用)是否有可用的缓存空间,若有可用的缓存空间,则将接收的以太网数据通过第一虚拟以太网驱动模块1111上传至虚拟以太网接口模块进行处理,并将接收的以太网数据拷贝到可用的缓存空间,否则继续等待接收队列缓存空间的释放;3)第一以太网协议栈112从虚拟以太网接口模块处接收以太网数据并进行处理,将处理后的以太网数据存入分配的缓存空间内,并通知第一应用层113中的接收进程;4)调用第一核间交互驱动模块1112接收以太网数据;5)判断对应远程节点的共享内存空间中是否有可用空间,若有,则在所述共享内存空间中分配对应远程节点的共享内存数据区域,若无,则等待共享内存空间的释放;6)通过第一核间交互驱动模块1112将接收的以太网数据拷贝到分配的共享内存数据区域,并通知远程节点接收处理。Specifically, please refer to FIG6 , which is a control flow chart of Ethernet data in a core node provided by an embodiment of the present invention. As shown in FIG6 , Ethernet data from outside the multi-core chip 100 (e.g., a multi-core SOC chip) arrives at the host port through the EMAC port of the external switch 200 and the built-in switch 150, and the subsequent control flow is as follows: 1) The UDMA driver module 1113 in the core node reads the Ethernet data from outside the multi-core chip 100 (e.g., a multi-core SOC chip) from the host port; 2) Determine whether the receiving queue of the UDMA driver module 1113 (the receiving queue can be used cyclically) has available cache space. If there is available cache space, the received Ethernet data is uploaded to the virtual Ethernet interface module for processing through the first virtual Ethernet driver module 1111, and the received Ethernet data is copied to the available cache space, otherwise continue to wait for the release of the receive queue cache space; 3) the first Ethernet protocol stack 112 receives and processes the Ethernet data from the virtual Ethernet interface module, stores the processed Ethernet data in the allocated cache space, and notifies the receiving process in the first application layer 113; 4) calls the first inter-core interaction driver module 1112 to receive the Ethernet data; 5) determines whether there is available space in the shared memory space of the corresponding remote node, if so, allocates the shared memory data area of the corresponding remote node in the shared memory space, if not, waits for the release of the shared memory space; 6) copies the received Ethernet data to the allocated shared memory data area through the first inter-core interaction driver module 1112, and notifies the remote node to receive the processing.
请继续参考图7,其为本发明一实施例提供的远程节点内以太网数据的控制流程图。如图7所示,如果远程节点为第二MCU核120,则以数据上行为例,该远程节点内的以太网数据控制流程如下所示:1)远程节点内的第二核间交互驱动模块1212从来自核心节点拷贝数据的共享内存数据区域读取以太网数据;2)共享内存传输模块140在共享内存空间中分配缓存空间;3)所述第二核间交互驱动模块1212将读取的以太网数据拷贝到分配的缓存空间内,并释放共享内存数据区域;4)所述第二核间交互驱动模块1212将读取的以太网数据通过第二虚拟以太网驱动模块1211上传给以太网第二虚拟以太网接口模块124进行处理,以太网第二虚拟以太网接口模块124将处理后的以太网数据上传给第二以太网协议栈122;5)第二以太网协议栈122处理完接收的以太网数据后传输至第二应用层123。Please continue to refer to Figure 7, which is a control flow chart of Ethernet data in a remote node provided by an embodiment of the present invention. As shown in Figure 7, if the remote node is the second MCU core 120, taking data uplink as an example, the Ethernet data control flow in the remote node is as follows: 1) The second inter-core interaction driver module 1212 in the remote node reads Ethernet data from the shared memory data area from which the core node copies data; 2) The shared memory transmission module 140 allocates cache space in the shared memory space; 3) The second inter-core interaction driver module 1212 copies the read Ethernet data to the allocated cache space and releases the shared memory data area; 4) The second inter-core interaction driver module 1212 uploads the read Ethernet data to the Ethernet second virtual Ethernet interface module 124 through the second virtual Ethernet driver module 1211 for processing, and the Ethernet second virtual Ethernet interface module 124 uploads the processed Ethernet data to the second Ethernet protocol stack 122; 5) The second Ethernet protocol stack 122 transmits the received Ethernet data to the second application layer 123 after processing.
在一些示范性的实施方式中,本实施例提供的多核虚拟以太网数据交互方法还包括:In some exemplary implementations, the multi-core virtual Ethernet data interaction method provided in this embodiment further includes:
所述远程节点中的所述第二核间交互驱动模块1212/1312将依次通过所述第二应用层123/133、所述第二以太网协议栈122/132和所述第二虚拟以太网驱动模块1211/1311下发的第二以太网数据写入所述共享内存空间中;The second inter-core interaction driver module 1212/1312 in the remote node writes the second Ethernet data issued sequentially through the second application layer 123/133, the second Ethernet protocol stack 122/132 and the second virtual Ethernet driver module 1211/1311 into the shared memory space;
所述核心节点中的所述第一核间交互驱动模块1112从所述共享内存空间中读取所述第二以太网数据;The first inter-core interaction driving module 1112 in the core node reads the second Ethernet data from the shared memory space;
所述核心节点中的UDMA驱动模块1113将所述第二以太网数据发送至内置交换机150,并经过外置交换机200传输至对应的外部以太网节点或者外部诊断设备。The UDMA driver module 1113 in the core node sends the second Ethernet data to the built-in switch 150 , and transmits the second Ethernet data to the corresponding external Ethernet node or external diagnostic device through the external switch 200 .
基于同一发明构思,本发明还提供另一种多核虚拟以太网数据交互方法,应用于上文所述的多核虚拟以太网数据交互系统。请参考图8,其为本发明另一实施例提供的多核虚拟以太网数据交互方法的流程示意图,如图8所示,本实施例提供的多核虚拟以太网数据交互方法包括以下步骤:Based on the same inventive concept, the present invention also provides another multi-core virtual Ethernet data interaction method, which is applied to the multi-core virtual Ethernet data interaction system described above. Please refer to Figure 8, which is a flow chart of a multi-core virtual Ethernet data interaction method provided by another embodiment of the present invention. As shown in Figure 8, the multi-core virtual Ethernet data interaction method provided by this embodiment includes the following steps:
步骤S210、核心节点中的第一核间交互驱动模块1112从第一共享内存空间中读取第四以太网数据,并将所述第四以太网数据复制至第二共享内存空间中,其中,所述第一共享内存空间为所述核心节点与第一远程节点进行数据交互的共享内存空间,所述第二共享内存空间为所述核心节点与第二远程节点进行数据交互的共享内存空间,所述第四以太网数据为所述第一远程节点中的第二核间交互驱动模块1212/1312写入所述第一共享内存空间中。Step S210, the first inter-core interaction driver module 1112 in the core node reads the fourth Ethernet data from the first shared memory space, and copies the fourth Ethernet data to the second shared memory space, wherein the first shared memory space is a shared memory space for data interaction between the core node and the first remote node, the second shared memory space is a shared memory space for data interaction between the core node and the second remote node, and the fourth Ethernet data is written into the first shared memory space by the second inter-core interaction driver module 1212/1312 in the first remote node.
步骤S220、所述第二远程节点中的第二核间交互驱动模块1312/1212从所述第二共享内存空间中读取所述第四以太网数据。Step S220: The second inter-core interaction driver module 1312/1212 in the second remote node reads the fourth Ethernet data from the second shared memory space.
步骤S230、所述第二远程节点中的第二虚拟以太网驱动模块1311/1211将所述第四以太网数据传输至所述第二远程节点中的第二以太网协议栈132/122进行处理。Step S230: The second virtual Ethernet driver module 1311/1211 in the second remote node transmits the fourth Ethernet data to the second Ethernet protocol stack 132/122 in the second remote node for processing.
步骤S240、所述第二远程节点中的第二应用层133/123接收处理后的所述第四以太网数据。Step S240: The second application layer 133/123 in the second remote node receives the processed fourth Ethernet data.
由此,本发明提供的多核虚拟以太网数据交互方法通过虚拟以太网实现多核跨核核间数据交互,进而可以降低多核芯片100的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。由于虚拟以太网是通过纯软件实现的,因此可复用、可移植且兼容性强,适配于MCU(Micro ControllerUnit,微控制器单元)核和MPU(Micro ProcessorUnit,微处理器)核,降低代码重复开发成本。同时由于虚拟以太网的实现不需要依赖于硬件以太网网卡资源,从而可以降低多核芯片100(例如SOC芯片)的以太网驱动硬件资源成本和依赖程度。此外,由于共享内存是一种高效的核间通信方式,多个内核可以同时访问同一块物理内存区域(即共享内存空间),通过读写该共享内存空间来进行数据交互,可以使得数据可以直接在内存中传输,传输速度更快。Thus, the multi-core virtual Ethernet data interaction method provided by the present invention realizes multi-core cross-core data interaction through virtual Ethernet, thereby reducing the Ethernet driver hardware resource cost of the multi-core chip 100, and effectively improving the data interaction rate and communication quality. Since virtual Ethernet is implemented by pure software, it is reusable, portable and highly compatible, and is adapted to MCU (Micro Controller Unit, microcontroller unit) core and MPU (Micro Processor Unit, microprocessor) core, reducing the cost of code duplication development. At the same time, since the implementation of virtual Ethernet does not need to rely on hardware Ethernet network card resources, the Ethernet driver hardware resource cost and dependence degree of the multi-core chip 100 (such as SOC chip) can be reduced. In addition, since shared memory is an efficient inter-core communication method, multiple cores can access the same physical memory area (i.e., shared memory space) at the same time, and data interaction is performed by reading and writing the shared memory space, so that data can be directly transmitted in the memory, and the transmission speed is faster.
基于同一发明构思,本发明还提供一种多核芯片100,请参考图1,如图1所示,本发明提供的多核芯片100包括共享内存传输模块140和至少两个内核,其中一个所述内核配置为虚拟以太网交互系统的核心节点,剩余所述内核配置为所述虚拟以太网交互系统的远程节点;所述共享内存传输模块140配置为为每一对进行数据交互的所述远程节点和所述核心节点分配对应的共享内存空间,并对所述共享内存空间进行管理;所述核心节点包括第一驱动层111、第一以太网协议栈112和第一应用层113;所述远程节点包括第二驱动层121/131、第二以太网协议栈122/132和第二应用层123/133;所述第一驱动层111包括第一虚拟以太网驱动模块1111和第一核间交互驱动模块1112,所述第二驱动层121/131包括第二虚拟以太网驱动模块1211/1311和第二核间交互驱动模块1212/1312,所述第一虚拟以太网驱动模块1111和所述第二虚拟以太网驱动模块1211/1311配置为提供标准以太网协议栈虚拟网络接口或者创建虚拟以太网网卡,所述第一核间交互驱动模块1112和所述第二核间交互驱动模块1212/1312配置为在对应的所述共享内存空间中读取或写入以太网数据。Based on the same inventive concept, the present invention also provides a multi-core chip 100, please refer to Figure 1. As shown in Figure 1, the multi-core chip 100 provided by the present invention includes a shared memory transmission module 140 and at least two cores, one of which is configured as a core node of a virtual Ethernet interactive system, and the remaining cores are configured as remote nodes of the virtual Ethernet interactive system; the shared memory transmission module 140 is configured to allocate corresponding shared memory space to each pair of the remote node and the core node for data interaction, and manage the shared memory space; the core node includes a first driver layer 111, a first Ethernet protocol stack 112 and a first application layer 113; the remote node includes a second driver layer 121/131, a second Ethernet protocol stack 122/132 and the second application layer 123/133; the first driver layer 111 includes a first virtual Ethernet driver module 1111 and a first inter-core interaction driver module 1112, the second driver layer 121/131 includes a second virtual Ethernet driver module 1211/1311 and a second inter-core interaction driver module 1212/1312, the first virtual Ethernet driver module 1111 and the second virtual Ethernet driver module 1211/1311 are configured to provide a standard Ethernet protocol stack virtual network interface or create a virtual Ethernet network card, the first inter-core interaction driver module 1112 and the second inter-core interaction driver module 1212/1312 are configured to read or write Ethernet data in the corresponding shared memory space.
由此,本发明提供的多核芯片100可以通过虚拟以太网实现多核跨核核间数据交互,进而可以降低多核芯片100的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。由于虚拟以太网是通过纯软件实现的,因此可复用、可移植且兼容性强,适配于MCU(Micro ControllerUnit,微控制器单元)核和MPU(Micro ProcessorUnit,微处理器)核,降低代码重复开发成本。同时由于虚拟以太网的实现不需要依赖于硬件以太网网卡资源,从而可以降低多核芯片100(例如SOC芯片)的以太网驱动硬件资源成本和依赖程度。此外,由于共享内存是一种高效的核间通信方式,多个内核可以同时访问同一块物理内存区域(即共享内存空间),通过读写该共享内存空间来进行数据交互,可以使得数据可以直接在内存中传输,传输速度更快。Thus, the multi-core chip 100 provided by the present invention can realize multi-core cross-core data interaction through virtual Ethernet, thereby reducing the Ethernet driver hardware resource cost of the multi-core chip 100, and effectively improving the data interaction rate and communication quality. Since virtual Ethernet is implemented by pure software, it is reusable, portable and highly compatible, and is adapted to MCU (Micro Controller Unit, microcontroller unit) core and MPU (Micro Processor Unit, microprocessor) core, reducing the cost of code duplication development. At the same time, since the implementation of virtual Ethernet does not need to rely on hardware Ethernet network card resources, the Ethernet driver hardware resource cost and dependence degree of the multi-core chip 100 (such as SOC chip) can be reduced. In addition, since shared memory is an efficient inter-core communication method, multiple cores can access the same physical memory area (i.e., shared memory space) at the same time, and data interaction is performed by reading and writing the shared memory space, so that data can be directly transmitted in the memory, and the transmission speed is faster.
请继续参考图1,如图1所示,在一些示范性的实施方式中,本发明提供的多核芯片100还包括内置交换机150,所述第一驱动层111还包括UDMA驱动模块1113,所述内置交换机150配置为与外置交换机200相连,并接收由外置交换机200传输的来自外部以太网节点或者外部诊断设备的以太网数据,或者将以太网数据通过所述外置交换机200传输至对应的外部以太网节点或者外部诊断设备;所述UDMA驱动模块1113配置为从所述内置交换机150处读取以太网数据,或者将以太网数据传输至所述内置交换机150。Please continue to refer to Figure 1. As shown in Figure 1, in some exemplary embodiments, the multi-core chip 100 provided by the present invention also includes a built-in switch 150, and the first driver layer 111 also includes a UDMA driver module 1113. The built-in switch 150 is configured to be connected to the external switch 200, and receive Ethernet data from an external Ethernet node or an external diagnostic device transmitted by the external switch 200, or transmit the Ethernet data to the corresponding external Ethernet node or external diagnostic device through the external switch 200; the UDMA driver module 1113 is configured to read Ethernet data from the built-in switch 150, or transmit Ethernet data to the built-in switch 150.
综上所述,与现有技术相比,本发明提供的多核虚拟以太网数据交互系统、数据交互方法和多核芯片100具有以下有益效果:In summary, compared with the prior art, the multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip 100 provided by the present invention have the following beneficial effects:
本发明通过在多核芯片100的每一个内核的驱动层均设置虚拟以太网驱动模块和核间交互驱动模块,并通过共享内存传输模块140为每一对进行数据交互的远程节点和核心节点分配这两个节点均能够进行访问的共享内存空间,从而可以通过虚拟以太网实现多核跨核核间数据交互,进而可以降低多核芯片100的以太网驱动硬件资源成本,有效提升数据交互速率和通信质量。由于虚拟以太网是通过纯软件实现的,因此可复用、可移植且兼容性强,适配于MCU(Micro Controller Unit,微控制器单元)核和MPU(Micro ProcessorUnit,微处理器)核,降低代码重复开发成本。同时由于虚拟以太网的实现不需要依赖于硬件以太网网卡资源,从而可以降低多核芯片100(例如SOC芯片)的以太网驱动硬件资源成本和依赖程度。此外,由于共享内存是一种高效的核间通信方式,多个内核可以同时访问同一块物理内存区域(即共享内存空间),通过读写该共享内存空间来进行数据交互,可以使得数据可以直接在内存中传输,传输速度更快。The present invention sets a virtual Ethernet driver module and an inter-core interaction driver module in the driver layer of each kernel of the multi-core chip 100, and allocates a shared memory space that both nodes can access to each pair of remote nodes and core nodes for data interaction through a shared memory transmission module 140, so that multi-core cross-core inter-core data interaction can be realized through virtual Ethernet, thereby reducing the Ethernet driver hardware resource cost of the multi-core chip 100, and effectively improving the data interaction rate and communication quality. Since the virtual Ethernet is implemented by pure software, it is reusable, portable and highly compatible, and is suitable for MCU (Micro Controller Unit, microcontroller unit) core and MPU (Micro Processor Unit, microprocessor) core, reducing the cost of code duplication development. At the same time, since the implementation of virtual Ethernet does not need to rely on hardware Ethernet network card resources, the Ethernet driver hardware resource cost and dependence degree of the multi-core chip 100 (such as SOC chip) can be reduced. In addition, since shared memory is an efficient way of inter-core communication, multiple cores can access the same physical memory area (i.e., shared memory space) at the same time, and interact with data by reading and writing the shared memory space, so that data can be transmitted directly in the memory at a faster speed.
应当注意的是,在本文的实施方式中所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本文的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用于执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本文各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。It should be noted that the devices and methods disclosed in the embodiments of this article can also be implemented in other ways. The device implementation described above is only schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of this article. In this regard, each box in the flowchart or block diagram can represent a part of a module, program or code, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical function, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and/or flowchart, and the combination of boxes in the block diagram and/or flowchart can be implemented by a dedicated hardware-based system for performing a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. In addition, the functional modules in the various embodiments of this document may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.
还应当注意的是,上述描述仅是对本发明较佳实施方式的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明的保护范围。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若这些修改和变型属于本发明及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。It should also be noted that the above description is only a description of the preferred embodiment of the present invention, and is not any limitation on the scope of the present invention. Any changes and modifications made by a person skilled in the art in the field of the present invention based on the above disclosure are within the scope of protection of the present invention. Obviously, a person skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations fall within the scope of the present invention and its equivalents, the present invention is also intended to include these modifications and variations.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410793646.3A CN118802416A (en) | 2024-06-19 | 2024-06-19 | Multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410793646.3A CN118802416A (en) | 2024-06-19 | 2024-06-19 | Multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118802416A true CN118802416A (en) | 2024-10-18 |
Family
ID=93027297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410793646.3A Pending CN118802416A (en) | 2024-06-19 | 2024-06-19 | Multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118802416A (en) |
-
2024
- 2024-06-19 CN CN202410793646.3A patent/CN118802416A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025544B2 (en) | Network interface for data transport in heterogeneous computing environments | |
EP3358463B1 (en) | Method, device and system for implementing hardware acceleration processing | |
CN101304373B (en) | Method and system for implementing high-efficiency transmission chunk data in LAN | |
US20220206969A1 (en) | Data forwarding chip and server | |
CN100414908C (en) | A storage network adapter that supports virtual interfaces | |
US8725919B1 (en) | Device configuration for multiprocessor systems | |
CN114553635B (en) | Data processing method, data interaction method and product in DPU network equipment | |
CN106598752A (en) | Remote zero-copy method | |
CN112650558B (en) | Data processing method and device, readable medium and electronic equipment | |
WO2018113622A1 (en) | Virtual machine-based method and device for sending and receiving data packet | |
US20230342087A1 (en) | Data Access Method and Related Device | |
CN115185880B (en) | Data storage method and device | |
CN107957971A (en) | Communication system and communication means between a kind of multiprocessor based on FPGA | |
CN115357416A (en) | A method and device for cross-system data processing | |
WO2015055117A1 (en) | Method, device, and system for accessing memory | |
CN118113496B (en) | Inter-process communication method, system and chip based on multi-core heterogeneous SOC | |
CN102523265B (en) | Process data dynamic distribution MVB controller and data processing method thereof | |
CN118802416A (en) | Multi-core virtual Ethernet data interaction system, data interaction method and multi-core chip | |
US10922038B2 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
KR20050080704A (en) | Apparatus and method of inter processor communication | |
CN116132369A (en) | Traffic distribution method and related equipment of multi-network ports in cloud gateway server | |
US10579318B1 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
CN101441661A (en) | System and method for sharing file resource between multiple embedded systems | |
WO2024152588A1 (en) | Method and apparatus for processing page fault of memory access | |
CN117971135B (en) | Storage device access method and device, storage medium and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |