CN102708091B - 一种基于虚拟网卡的双cpu系统通信方法 - Google Patents

一种基于虚拟网卡的双cpu系统通信方法 Download PDF

Info

Publication number
CN102708091B
CN102708091B CN201210149103.5A CN201210149103A CN102708091B CN 102708091 B CN102708091 B CN 102708091B CN 201210149103 A CN201210149103 A CN 201210149103A CN 102708091 B CN102708091 B CN 102708091B
Authority
CN
China
Prior art keywords
cpu
host cpu
data
host
pci
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.)
Active
Application number
CN201210149103.5A
Other languages
English (en)
Other versions
CN102708091A (zh
Inventor
吴少刚
张福新
晏华
张斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Aerospace dragon dream Information Technology Co., Ltd.
Original Assignee
JIANGSU LEMOTE TECHNOLOGY Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGSU LEMOTE TECHNOLOGY Corp Ltd filed Critical JIANGSU LEMOTE TECHNOLOGY Corp Ltd
Priority to CN201210149103.5A priority Critical patent/CN102708091B/zh
Publication of CN102708091A publication Critical patent/CN102708091A/zh
Application granted granted Critical
Publication of CN102708091B publication Critical patent/CN102708091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于虚拟网卡的双CPU系统通信方法,方法基于的目标系统有两个CPU:一个为通用CPU,具有较强的计算和控制能力;一个为专用CPU,具有较强的媒体处理能力和IO处理能力。通用CPU用于执行需要较强计算能力的应用软件。专用CPU用于处理IO以及图形渲染、视频解码等多媒体功能。通用CPU有一个PCI 接口,可以连接PCI 设备。专用CPU上也包含一个PCI接口,可做为一个PCI 设备与主CPU连接。将通用CPU和专用CPU的PCI接口分别虚拟为一个以太网卡,从而实现基于虚拟网卡的双CPU系统通信。本设计的优点在于可利用成熟的网络协议,降低系统的复杂度;同时CPU之间通过PCI总线相连,采用DMA进行通信,可以保持高的带宽和小的延时。

Description

一种基于虚拟网卡的双CPU系统通信方法
技术领域
本发明涉及计算机操作系统领域,具体涉及一种基于虚拟网卡的双CPU系统通信方法。
背景技术
多CPU设计在电子设备中已经广泛采用。例如在普通手机移动设备中就存在一个主CPU用来运行程序和控制,一个从CPU用于基带通信。在多CPU的系统中,主CPU和从CPU需要通过某种接口进行连接,使二者能够进行通信和数据交换,以达成协同工作。在潜入式移动设备中,经常采用的方式是将从CPU 当作一个终端设备连接到主CPU,主CPU通过终端读写操作与从CPU进行通信。这种方式具有简单、技术成熟等优点,但它只适合于小数据量通信,通常在潜入式移动设备中采用。
发明内容
发明目的:针对现有技术中存在的问题与不足,提供一种可以保持高的带宽和小的延时的基于虚拟网卡的双CPU系统通信方法。本发明基于高速PCI总线的双CPU通信方法,将每个CPU的PCI接口虚拟为以太网卡,采用网络协议进行通信,可以有效满足大数据量通信要求。
技术方案:一种基于虚拟网卡的双CPU系统通信方法,包括如下步骤:
第一步,将目标系统中进行计算和控制的通用CPU作为主CPU,将目标系统中进行媒体处理和IO处理的专用CPU作为从CPU;所述主CPU和从CPU通过PCI 接口连接;
第二步,将主CPU的PCI 接口虚拟为一个以太网卡,命名为第一以太网卡eth0;在软件上,需要实现虚拟网卡驱动,其基本功能就是接收和发送数据包。
对于发送:首先主CPU在内存中准备好待发送数据,然后通过PCI访问告知从CPU数据准备好,由从CPU 在PCI 总线上发起DMA访问;所述DMA 数据传输结束后,从CPU向主CPU发起中断,主CPU发送数据过程结束;
对于接收:主CPU首先准备好接收缓冲区,然后通过PCI访问告知从CPU缓冲区准备好,从CPU端如果有数据过来,将直接向主CPU 发起DMA访问;在数据包写入主缓冲区后,从CPU向主CPU发出中断,主CPU接收数据过程结束;
第三步,将从CPU的PCI 接口虚拟成一个以太网卡,命名为第二以太网卡eth1;
从CPU的发送数据对应主CPU 的接收过程,而接收过程对应于主CPU的发送数据过程,具体过程可以查看第二步;
第四步,在主CPU上运行VNCServer,主CPU上的图形操作系统连接到本地的VNCServer;
第五步,在从CPU上运行VNCViewer,VNCViewer 通过虚拟网络连接到主CPU端的VNCServer;VNCViewer 将来自VNCServer 端的输入输出(IO)、图形绘制请求在从CPU端执行,并将结果返回给主CPU系统;
第六步,主CPU系统所运行的运行应用程序APP,如果需要进行输入输出和图形显示,则向VNCServer 发送请求。这些请求由VNCServer发送到VNCViewer,并最终在从CPU系统上完成。
工作原理:本发明基于目标系统有两个CPU:一个主CPU,具有较强的计算和控制能力;一个从CPU,具有较强的媒体处理能力和IO处理能力。主CPU用于执行应用软件,比如浏览器、Office软件等需要较高计算能力的软件。从CPU用于处理IO以及图形渲染,视频解码等多媒体功能。主CPU有一个PCI 接口,可以连接PCI 设备。从CPU也包含一个PCI接口,可以当作PCI 设备与主CPU连接。
有益效果:与现有技术相比,本发明所提供的基于虚拟网卡的双CPU系统通信方法实现成本低,性能好,将两端的PCI接口均虚拟成一个网卡,这样就可以利用成熟的网络协议,减少系统的复杂度。因为两CPU是直接通过PCI相连,直接采用DMA进行通信,可以保持高的带宽和小的延时。
附图说明
图1为本发明实施例的用于实现基于虚拟网卡的双CPU系统通信方法的总体结构图;
图2为本发明实施例的主CPU发送和从CPU接收的流程图;
图3为本发明实施例的主CPU接收和从CPU发送的流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
TCP/IP 的网络协议很成熟,相关的软件支持也最齐全。将两CPU的PCI 接口直接相连,将两端的PCI接口均虚拟成一个网卡。这样就可以利用成熟的网络协议,减少系统的复杂度。因为两CPU是直接通过PCI相连,直接采用DMA进行通信,可以保持高的带宽和小的延时。
本实施例公开的基于虚拟网卡的双CPU系统通信方法,如图1-3所示:包括如下步骤:
第一步,将目标系统中进行计算和控制的通用CPU作为主CPU,将目标系统中进行媒体处理和IO处理的专用CPU作为从CPU;所述主CPU和从CPU通过PCI 接口连接;
第二步,将主CPU的PCI 接口虚拟为一个以太网卡,命名为第一以太网卡eth0。
对于发送:首先在内存中准备好待发送数据,然后通过PCI访问告知从CPU数据准备好,由从CPU 在PCI 总线上发起DMA访问;所述DMA 数据传输结束后,从CPU向主CPU发起中断,主CPU发送数据过程结束;
对于接收:主CPU首先准备好接收缓冲区,然后通过PCI访问告知从CPU缓冲区准备好,从CPU端如果有数据过来,将直接向主CPU 发起DMA访问;在数据包写入主缓冲区后,从CPU向主CPU发出中断,主CPU接收数据过程结束;
第三步,将从CPU的PCI 接口虚拟成一个以太网卡,命名为第二以太网卡eth1;
从CPU的发送数据对应主CPU 的接收过程,而接收过程对应于主CPU的发送数据过程;
第四步,在主CPU上运行VNCServer,主CPU上的图形操作系统连接到本地的VNCServer;
第五步,在从CPU上运行VNCViewer,VNCViewer 通过虚拟网络连接到VNCServer;VNCViewer 将来自VNCServer 端的IO、图形绘制请求在从CPU端执行;
第六步,主CPU运行应用程序APP,应用程序APP和VNCServer 通信,进行图形的绘制,输入输出的处理。

Claims (3)

1.一种基于虚拟网卡的双CPU系统通信方法,其特征在于,包括如下步骤:
第一步,将目标系统中进行计算和控制的通用CPU作为主CPU,将目标系统中进行媒体处理和IO处理的专用CPU作为从CPU;所述主CPU和从CPU通过PCI 接口连接;
第二步,将主CPU的PCI 接口虚拟为一个以太网卡,命名为第一以太网卡eth0;
对于发送:首先主CPU在内存中准备好待发送数据,然后通过PCI访问告知从CPU接收数据,从CPU接收到通知后,向主CPU发出DMA读请求,将数据从主CPU搬运到从CPU;DMA读操作结束后,从CPU向主CPU发起中断,主CPU发送数据过程结束;
对于接收:主CPU首先准备好接收缓冲区,并将缓冲区地址通过PCI访问告知从CPU,当从CPU端有数据时,向主CPU 发起DMA写操作;将数据从从CPU搬运到主CPU;
第三步,将从CPU的PCI 接口虚拟成一个以太网卡,命名为第二以太网卡eth1;
从CPU的发送数据对应主CPU 的接收过程,而接收过程对应于主CPU的发送数据过程;
第四步,在主CPU上运行VNCServer,主CPU上的图形操作系统连接到本地的VNCServer;
第五步,在从CPU上运行VNCViewer,VNCViewer 通过虚拟网络连接到VNCServer;VNCViewer 将来自VNCServer 端的IO、图形绘制请求在从CPU端执行;
第六步,主CPU运行应用程序APP,应用程序APP和VNCServer 通信,进行图形的绘制,输入输出的处理。
2.如权利要求1所述的基于虚拟网卡的双CPU系统通信方法,其特征在于:主CPU接收数据的步骤中,在数据包写入主缓冲区后,从CPU向主CPU发出中断,主CPU接收数据过程结束。
3.如权利要求1所述的基于虚拟网卡的双CPU系统通信方法,其特征在于:从CPU的数据接收和发送对应与主CPU的数据发送和接收,并且通过从CPU的DMA访问完成数据的接收和发送过程。
CN201210149103.5A 2012-05-15 2012-05-15 一种基于虚拟网卡的双cpu系统通信方法 Active CN102708091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210149103.5A CN102708091B (zh) 2012-05-15 2012-05-15 一种基于虚拟网卡的双cpu系统通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210149103.5A CN102708091B (zh) 2012-05-15 2012-05-15 一种基于虚拟网卡的双cpu系统通信方法

Publications (2)

Publication Number Publication Date
CN102708091A CN102708091A (zh) 2012-10-03
CN102708091B true CN102708091B (zh) 2015-05-13

Family

ID=46900887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210149103.5A Active CN102708091B (zh) 2012-05-15 2012-05-15 一种基于虚拟网卡的双cpu系统通信方法

Country Status (1)

Country Link
CN (1) CN102708091B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338998B (zh) * 2020-02-20 2021-07-02 深圳震有科技股份有限公司 基于amp系统的flash访问处理方法及装置
CN111339000B (zh) * 2020-02-24 2021-07-06 深圳震有科技股份有限公司 Amp系统内存文件传输方法及装置
CN111427817B (zh) * 2020-03-23 2021-09-24 深圳震有科技股份有限公司 一种amp系统双核共用i2c接口的方法、存储介质及智能终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1435773A (zh) * 2002-01-29 2003-08-13 深圳市中兴通讯股份有限公司上海第二研究所 基于多处理机的虚拟网卡系统及其通信方法
CN101206633A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 用事务协议和共享存储器在主机系统间通信的系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1435773A (zh) * 2002-01-29 2003-08-13 深圳市中兴通讯股份有限公司上海第二研究所 基于多处理机的虚拟网卡系统及其通信方法
CN101206633A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 用事务协议和共享存储器在主机系统间通信的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Linux服务器远程控制技术研究;刘晓俐;《中国水运》;20111031;第11卷(第11期);第一、二部分 *

Also Published As

Publication number Publication date
CN102708091A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
US11176068B2 (en) Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
CN111901164B (zh) Ocp nic网卡的适配控制方法、装置、设备及系统
US8799532B2 (en) High speed USB hub with full speed to high speed transaction translator
US9390036B2 (en) Processing data packets from a receive queue in a remote direct memory access device
CN211376201U (zh) 一种命令读写装置、存储器
CN104714918B (zh) 主机环境下高速fc总线数据接收及缓冲方法
CN102708091B (zh) 一种基于虚拟网卡的双cpu系统通信方法
US9588931B2 (en) Communication bridging between devices via multiple bridge elements
CN101937413B (zh) 一种i2c总线的通信方法
CN115499505B (zh) Usb网卡和通信方法
CN204256732U (zh) 基于PCI-Express接口的高速数据传输装置
CN103838694B (zh) 一种fpga高速读取usb接口数据的方法
CN104714832A (zh) 一种用于机载数据网络异步数据交互区的缓冲管理方法
US20140280674A1 (en) Low-latency packet receive method for networking devices
CN103593316A (zh) 一种减少mcu中断占用i2c总线时间的方法
CN116450554A (zh) 中断处理方法、根复合体设备及电子设备
CN212647461U (zh) 一种基于pci总线的同步或异步串行通讯控制电路
CN110852931B (zh) 一种适用于vpx架构的高性能cpu刀片装置
WO2012058875A1 (zh) 一种串行通信的方法和系统
CN207573372U (zh) 基于上位机rs485通信实现半双工模拟全双工的通信装置
CN102855210B (zh) 一种实现两个单片机间相互通信且数据共享的方法
CN113472964B (zh) 一种图像处理装置和系统
CN112835837B (zh) 建立数据连接的方法、相关装置及计算机程序产品
CN204256731U (zh) 一种fpga高速读取usb设备数据装置
CN220290210U (zh) 一种usb带宽扩展装置、系统及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Wu Shaogang

Inventor after: Zhang Fuxin

Inventor after: Wei Hairui

Inventor before: Wu Shaogang

Inventor before: Zhang Fuxin

Inventor before: Yan Hua

Inventor before: Zhang Bin

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170605

Address after: 215500 Changshou City, Jiangsu Province, Dream Road, No., No. 8

Patentee after: Jiangsu Aerospace dragon dream Information Technology Co., Ltd.

Address before: 215500 Jiangsu city of Suzhou province Changshou City Yushan Town Menglan Industrial Park

Patentee before: Jiangsu Lemote Technology Corporation Limited

TR01 Transfer of patent right