CN116932454A - 数据传输方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据传输方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116932454A CN116932454A CN202311189696.2A CN202311189696A CN116932454A CN 116932454 A CN116932454 A CN 116932454A CN 202311189696 A CN202311189696 A CN 202311189696A CN 116932454 A CN116932454 A CN 116932454A
- Authority
- CN
- China
- Prior art keywords
- domain
- communication data
- network interface
- virtual network
- soc
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 166
- 239000000872 buffer Substances 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种数据传输方法、装置、电子设备及计算机可读存储介质,应用于多域系统级芯片SOC中。该方法包括:接收第一域向第二域进行第一通信数据的第一传输指令;多域系统级芯片SOC包括所述第一域和所述第二域;根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;开启所述第二域的高精度定时器;根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中,进而可以在多域系统级芯片SOC缺少内部以太网模块IP的情况前提下,高效的进行跨域之间的网络通信,减轻了CPU的负荷。
Description
技术领域
本申请涉及片上系统技术领域,尤其涉及一种数据传输方法、装置、电子设备及计算机可读存储介质。
背景技术
在多域架构的芯片上,多系统之间需要具备强大的跨域网络通信能力,进而传输庞大的传感器及多媒体等数据。然而,多域架构的芯片内部通常只集成了数量不多的以太网模块IP,该IP通常用于芯片与外部网络之间的数据传输,导致无法满足多域系统级芯片SOC(System-on-a-chip)的跨域之间的网络通信。
目前,多域系统级芯片SOC在进行跨域之间的网络通信的技术方案主要有两种。一种是基于传统虚拟机来实现跨域之间的网络通信,其需要对整个操作系统进行虚拟化,CPU性能开销较大,尤其对车规级高性能应用场景略显不足;另一种是基于硬件网络接口来实现跨域之间的网络通信,该方案硬件开销较大,需要每个域都配备硬件网络接口,使用物理连接各个域之间的网口,极大增加硬件布线面积和物料成本。
同时,在多域系统级芯片SOC中进行跨域之间的网络通信时,现有通常使用核间消息机制来传递数据包的起始地址和数据长度,进而控制网络收发包的数据交互,即均是使用核间消息通信和共享内存的方式进行数据的发送和接收,具体是将数据写入共享内存后,通过核间消息机制将写入至共享内存的起始地址和数据长度发送给对端操作系统,对端操作系统通过收到的核间消息,解析出收包的共享内存起始地址和数据长度,再去指定共享内存地址读取数据。由于核间消息通信机制一方面需要使用到Mailbox来产生大量的CPU中断,对CPU造成很大的负担;另一方面对端收包时,需要先花时间解析核间消息中的数据包起始地址和数据长度,然后再去指定地址读取数据收包,导致跨域之间的网络通信效率较低。
发明内容
针对现有技术的不足,本申请提供了一种数据传输方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术中跨域之间的网络通信效率较低的技术问题。
为解决上述问题,第一方面,本申请实施例提供了一种数据传输方法,其应用于多域系统级芯片SOC中,所述方法包括:
接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;
根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;
开启所述第二域的高精度定时器;
根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;
根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
第二方面,本申请实施例还提供了一种数据传输装置,其应用于多域系统级芯片SOC中,所述装置包括:
第一接收单元,用于接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;
第一写入单元,用于根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;
第一开启单元,用于开启所述第二域的高精度定时器;
第一读取单元,用于根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;
第一传输单元,用于根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
第三方面,本申请实施例又提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据传输方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的数据传输方法。
本申请实施例提供的数据传输方法、装置、电子设备及计算机可读存储介质,该方法在接收第一域向第二域进行第一通信数据的第一传输指令后,根据第一域的虚拟网络接口将第一通信数据写入至多域系统级芯片SOC的共享内存中,并开启第二域的高精度定时器,然后根据第二域的高精度定时器对写入至共享内存中的第一通信数据进行轮询读取,最后根据第二域的虚拟网络接口将轮询读取的第一通信数据传输至第二域中,进而可以在多域系统级芯片SOC缺少内部以太网模块IP的情况前提下,高效的进行跨域之间的网络通信,无需使用核间消息通信机制传输数据包起始地址和数据长度,减轻了CPU的负荷,保障了多域系统级芯片SOC对跨域网络通信的低成本、低时延、高性能、高可靠性的要求,同时CPU也无需大量终端,便可以提供强大的跨域之间的网络通信功能,解决了多域系统级芯片SOC高性能应用场景中跨域网络接口的缺失和低效问题。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的多域系统级芯片SOC的架构图;
图2为本申请实施例提供的多域系统级芯片SOC虚拟化网络接口的示意框图;
图3为本申请实施例提供的两个域之间数据流转的示意框图;
图4为本申请实施例提供的数据传输方法的流程示意图;
图5为本申请实施例提供的数据传输方法的一流程示意图;
图6为本申请实施例提供的数据传输方法的另一流程示意图;
图7为本申请实施例提供的数据传输方法的又一流程示意图;
图8为本申请实施例提供的数据传输装置的示意框图;
图9为本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1、图2和图3,图1为本申请实施例提供的多域系统级芯片SOC的架构图;图2为本申请实施例提供的多域系统级芯片SOC虚拟化网络接口的示意框图;图3为本申请实施例提供的两个域之间数据流转的示意框图。如图1至图3所示,本申请所述的数据传输方法应用于多域系统级芯片SOC中,其主要是用于异构物理核之间的网络通信,多域系统级芯片SOC包括若干个域以及共享内存(Shared Memory),每个域配置有虚拟网络接口以及高精度定时器(High Resolution Timer,Hrtimer),多域系统级芯片SOC中的域可以为AP(Application Processor,应用程序处理器)域、CP(Cluster Processor,集群处理器)域、RP(R52 Processor)域等,共享内存在逻辑上被划分为若干个环形缓冲区(Ring Buffer),环形缓冲区是NIC(Network Interface Card,网卡)处理数据包的一种通用数据结构,环形缓冲区包括TX Ring传输环和RX Ring接收环,两个域之间可以通过两个环形缓冲区来实现通信数据的双向传输。
同时,本申请实施例提供的多域系统级芯片SOC包括但不限于Linux、FreeRTOS、AutoSAR、VxWorks、QNX、Android等嵌入式软件操作系统,也就是说,本申请实施例提供的数据传输方法可适用于所有操作系统,多域系统级芯片SOC上两个不同的操作系统之间也可以实现本申请实施例提供的数据传输方法。
以上实施例以数据传输方法应用在车载设备场景,电子设备为安装有多域系统级芯片SOC,且以实现数据传输车辆为例进行说明,但本申请不限于此。
需要说明的是,上述实施例的应用场景示仅仅是一个示例,本申请实施例描述的服务以及场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
下面对所述的数据传输方法进行详细说明。
请参阅图4,图4为本申请实施例提供的数据传输方法的流程示意图。如图4所示,该方法包括以下步骤S110~S150。
S110、接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;
S120、根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;
S130、开启所述第二域的高精度定时器;
S140、根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;
S150、根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
在本实施例中,第一域、第二域均为多域系统级芯片SOC中的域,第一通信数据为第一域与第二域之间传递的通信数据,在接收到第一域向第二域进行第一通信数据的第一传输指令后,只需通过第一域的虚拟网络接口将第一通信数据写入至第一域与第二域之间的一个环形缓冲区中,以充分利用核间共享内存的高带宽低延时,使多域系统级芯片SOC具备高性能跨域网络通信能力,同时采用核间消息通信机制开启所述第二域的高精度定时器,以对第二域的高精度定时器的定时时间进行设置,进而实现对写入至共享内存中的第一通信数据进行轮询读取,最后通过第二域的虚拟网络接口将轮询读取的第一通信数据传输至第二域中,从而高效的实现由第一域向第二域进行第一通信数据的传输。
其中,本申请中的核间消息通信机制仅用于开启多域系统级芯片SOC中各域的高精度定时器,无需使用核间消息通信机制传输通信数据起始地址和数据长度,CPU也不需要大量的中断,便可以高效的进行跨域之间的网络通信,极大的提高了跨域之间的网络通信的效率。
在其他发明实施例中,在步骤S110之前,还包括步骤:预先构建所述多域系统级芯片SOC中各域的虚拟网络接口。
具体的,构建多域系统级芯片SOC中各域的虚拟网络接口的组件可以包括:基于共享内存的收发包Ring buffer的初始化组件、高精度定时器轮询收包机制、收发包Buffer索引及状态机制、接收报文顺序的一致性处理机制、GSO分片包发包处理机制、跨域IPC消息通信状态同步机制、错误校验处理机制,性能优化组件等,通过将上述组件及对应的硬件便可以构建多域系统级芯片SOC中各域的虚拟网络接口,进而可以在多域系统级芯片SOC中实现本申请提供的数据传输方法。
在其他发明实施例中,在步骤S120之前,还包括步骤:采用GSO分片包发包处理机制对所述第一通信数据进行分片,得到分片后的第一通信数据。
其中,GSO(Generic Segmentation Offload,通用分段延后处理)为一种延后卸载技术,是协议栈是否推迟分段,其用于将分片/分段延后到网卡或送给驱动前一刻以降低CPU的压力。通过采用GSO分片包发包处理机制对第一通信数据进行分片,进而实现降低CPU的开销,为多域系统级芯片SOC提供强大的跨域之间的网络通信功能。
在其他发明实施例中,如图5所示,步骤S120包括步骤S121和S122。
S121、根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述共享内存的第一环形缓冲区中;
S122、对所述第一环形缓冲区中缓存所述第一通信数据的区域的状态标识进行更新。
在本实施例中,第一通信数据通过第一域的虚拟网络接口写入至共享内存的第一环形缓冲区中后,第一环形缓冲区中缓存第一通信数据的区域的状态标识可以由发状态标识更新为收状态标识,也就是说,该区域在缓存第一通信数据之前的状态标识为发状态标识,进而可以使得第一通信数据可以写入至该区域中,同时,在第一通信数据写入至该区域中之后,该区域的状态标识更新为收状态标识,进而在将第一通信数据从第一环形缓冲区传输至第二域的过程中,采用Ringbuffer索引技术以及第二域的高精度定时器进行轮询读取,无需采用核间中断或消息通知,保证了第一通信数据有序的进行传输,避免了第二域收包乱序。
在其他发明实施例中,如图6所示,S130包括步骤S131和S132。
S131、采用RPMsg协议在所述第一域的虚拟网络接口与所述第二域的虚拟网络接口之间传输所述通知指令;
S132、根据所述通知指令开启所述第二域的高精度定时器。
具体的,RPMsg协议是基于VirtIO/virtqueue技术的用于处理器间数据通信的消息框架,其定义了异构多核处理系统(AMP,Asymmetric Multiprocessing)中核与核之间进行通信时所使用的标准二进制接口,RPMsg是IPC(Inter Processor Communication,核间通信)中的一种。通过采用RPMsg协议在所述第一域的虚拟网络接口与所述第二域的虚拟网络接口之间传输所述通知指令,进而使得核间消息通信机制仅用于开始网络传输时,只需通知对端开启高精度定时器,无需用于传输数据起始地址和数据长度。
其中,高精度定时器可以轮询Ringbuffer状态标识,进而可以在无数据包时,进行长间隔轮询,而在有数据包时,可以进行快速轮询,进而可以在无数据通信的状态下减轻CPU负荷,且无需核间中断或消息通知。
在其他发明实施例中,如图7所示,该方法还包括步骤S210、S220、S230、S240、S250以及S260。
S210、接收所述第二域向所述第一域进行第二通信数据的第二传输指令;
S220、根据所述第二域的虚拟网络接口将所述第二通信数据写入至所述共享内存的第二环形缓冲区中;
S230、对所述第二环形缓冲区中缓存所述第二通信数据的区域的状态标识进行更新;
S240、开启所述第一域的高精度定时器;
S250、根据所述第一域的高精度定时器对写入至所述第二环形缓冲区中的第二通信数据进行轮询读取;
S260、根据所述第一域的虚拟网络接口将轮询读取的第二通信数据传输至所述第一域中。
在本实施例中,多域系统级芯片SOC中的第二域向第一域进行第二通信数据传输时,也可以采用第一域向第二域进行第一通信数据传输的方法来执行,也就是说,本申请可以实现多域系统级芯片SOC中任意两个域之间的网络通信,每个域中均设置有虚拟网络接口以及高精度定时器,两个域之间进行网络通信的方式均可以相同,进而实现了无需使用核间消息通信机制传输数据包起始地址和数据长度,CPU也不需要大量的中断,便可以高效的进行跨域网络数据通信,提供了异构多核芯片跨系统间强大的网络数据通信功能,解决了多域系统级芯片SOC高性能应用场景中跨域网络接口的缺失和低效问题,同时降低了成本。
在本申请实施例所提供的数据传输方法中,通过接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;开启所述第二域的高精度定时器;根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。本申请可以在多域系统级芯片SOC缺少内部以太网模块IP的情况前提下,采用虚拟化网络接口技术以及高精度定时器,便可以高效的进行跨域之间的网络通信,无需使用核间消息通信机制传输数据包起始地址和数据长度,减轻了CPU的负荷,保障了多域系统级芯片SOC对跨域网络通信的低成本、低时延、高性能、高可靠性的要求,为多域系统级芯片SOC提供了强大的跨域之间的网络通信功能,解决了多域系统级芯片SOC高性能应用场景中跨域网络接口的缺失和低效问题,同时降低了成本。
本申请实施例还提供了一种数据传输装置100,该装置用于执行前述数据传输方法的任一实施例。
具体地,请参阅图8,图8是本申请实施例提供的数据传输装置100的示意性框图。
如图8所示,所述的数据传输装置100设置于多域系统级芯片SOC中,该装置包括:第一接收单元110、第一写入单元120、第一开启单元130、第一读取单元140和第一传输单元150。
第一接收单元110,用于接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;第一写入单元120,用于根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;第一开启单元130,用于开启所述第二域的高精度定时器;第一读取单元140,用于根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;第一传输单元150,用于根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
在其他发明实施例中,数据传输装置100还包括构建单元。
构建单元,用于预先构建所述多域系统级芯片SOC中各域的虚拟网络接口。
在其他发明实施例中,数据传输装置100还包括切片单元。
切片单元,用于采用GSO分片包发包处理机制对所述第一通信数据进行分片,得到分片后的第一通信数据。
在其他发明实施例中,第一写入单元120包括:第二写入单元和第一更新单元。
第二写入单元,用于根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述共享内存的第一环形缓冲区中;第一更新单元,用于对所述第一环形缓冲区中缓存所述第一通信数据的区域的状态标识进行更新。
在其他发明实施例中,第一开启单元130包括:第二传输单元和第二开启单元。
第二传输单元,用于采用RPMsg协议在所述第一域的虚拟网络接口与所述第二域的虚拟网络接口之间传输所述通知指令;第二开启单元,用于根据所述通知指令开启所述第二域的高精度定时器。
在其他发明实施例中,数据传输装置100还包括:第二接收单元、第三写入单元、第二更新单元、第三开启单元、第二读取单元和第二传输单元。
第二接收单元,用于接收所述第二域向所述第一域进行第二通信数据的第二传输指令;第三写入单元,用于根据所述第二域的虚拟网络接口将所述第二通信数据写入至所述共享内存的第二环形缓冲区中;第二更新单元,用于对所述第二环形缓冲区中缓存所述第二通信数据的区域的状态标识进行更新;第三开启单元,用于开启所述第一域的高精度定时器;第二读取单元,用于根据所述第一域的高精度定时器对写入至所述第二环形缓冲区中的第二通信数据进行轮询读取;第二传输单元,用于根据所述第一域的虚拟网络接口将轮询读取的第二通信数据传输至所述第一域中。
本申请实施例所提供的数据传输装置100用于执行上述接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;开启所述第二域的高精度定时器;根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据传输装置100和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述数据传输装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的电子设备上运行。
请参阅图9,图9是本申请实施例提供的一种电子设备的示意性框图。该电子设备500可以是终端,其中,终端可以是车载终端设备、智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图9,该电子设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据传输方法。
该处理器502用于提供计算和控制能力,以支撑整个电子设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据传输方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备500的限定,具体的电子设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;开启所述第二域的高精度定时器;根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
在一实施例中,处理器502在实现所述接收第一域向第二域进行第一通信数据的第一传输指令之前,具体实现如下步骤:预先构建所述多域系统级芯片SOC中各域的虚拟网络接口。
在一实施例中,处理器502在实现所述根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中之前,具体实现如下步骤:采用GSO分片包发包处理机制对所述第一通信数据进行分片,得到分片后的第一通信数据。
在一实施例中,处理器502在实现所述根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中时,具体实现如下步骤:根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述共享内存的第一环形缓冲区中;对所述第一环形缓冲区中缓存所述第一通信数据的区域的状态标识进行更新。
在一实施例中,处理器502在实现所述开启所述第二域的高精度定时器时,具体实现如下步骤:采用核间消息通信机制开启所述第二域的高精度定时器。
在一实施例中,处理器502在实现所述采用核间消息通信机制开启所述第二域的高精度定时器时,具体实现如下步骤:采用RPMsg协议在所述第一域的虚拟网络接口与所述第二域的虚拟网络接口之间传输所述通知指令;根据所述通知指令开启所述第二域的高精度定时器。
在一实施例中,处理器502用于运行存储在存储器中的计算机程序5032时,还具体实现了如下步骤:接收所述第二域向所述第一域进行第二通信数据的第二传输指令;根据所述第二域的虚拟网络接口将所述第二通信数据写入至所述共享内存的第二环形缓冲区中;对所述第二环形缓冲区中缓存所述第二通信数据的区域的状态标识进行更新;开启所述第一域的高精度定时器;根据所述第一域的高精度定时器对写入至所述第二环形缓冲区中的第二通信数据进行轮询读取;根据所述第一域的虚拟网络接口将轮询读取的第二通信数据传输至所述第一域中。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;开启所述第二域的高精度定时器;根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
在一实施例中,所述处理器在执行所述程序指令而实现所述接收第一域向第二域进行第一通信数据的第一传输指令之前,具体实现如下步骤:预先构建所述多域系统级芯片SOC中各域的虚拟网络接口。
在一实施例中,所述处理器在执行所述程序指令而实现所述根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中之前,具体实现如下步骤:采用GSO分片包发包处理机制对所述第一通信数据进行分片,得到分片后的第一通信数据。
在一实施例中,所述处理器在执行所述程序指令而实现所述根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中时,具体实现如下步骤:根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述共享内存的第一环形缓冲区中;对所述第一环形缓冲区中缓存所述第一通信数据的区域的状态标识进行更新。
在一实施例中,所述处理器在执行所述程序指令而实现所述开启所述第二域的高精度定时器时,具体实现如下步骤:采用核间消息通信机制开启所述第二域的高精度定时器。
在一实施例中,所述处理器在执行所述程序指令而实现所述采用核间消息通信机制开启所述第二域的高精度定时器时,具体实现如下步骤:采用RPMsg协议在所述第一域的虚拟网络接口与所述第二域的虚拟网络接口之间传输所述通知指令;根据所述通知指令开启所述第二域的高精度定时器。
在一实施例中,所述处理器在执行所述程序指令时,还具体实现了如下步骤:接收所述第二域向所述第一域进行第二通信数据的第二传输指令;根据所述第二域的虚拟网络接口将所述第二通信数据写入至所述共享内存的第二环形缓冲区中;对所述第二环形缓冲区中缓存所述第二通信数据的区域的状态标识进行更新;开启所述第一域的高精度定时器;根据所述第一域的高精度定时器对写入至所述第二环形缓冲区中的第二通信数据进行轮询读取;根据所述第一域的虚拟网络接口将轮询读取的第二通信数据传输至所述第一域中。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据传输方法,其特征在于,应用于多域系统级芯片SOC中,所述方法包括:
接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;
根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;
开启所述第二域的高精度定时器;
根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;
根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
2.根据权利要求1所述的数据传输方法,其特征在于,在所述接收第一域向第二域进行第一通信数据的第一传输指令之前,还包括:
预先构建所述多域系统级芯片SOC中各域的虚拟网络接口。
3.根据权利要求1所述的数据传输方法,其特征在于,在所述根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中之前,还包括:
采用GSO分片包发包处理机制对所述第一通信数据进行分片,得到分片后的第一通信数据。
4.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中,包括:
根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述共享内存的第一环形缓冲区中;
对所述第一环形缓冲区中缓存所述第一通信数据的区域的状态标识进行更新。
5.根据权利要求1所述的数据传输方法,其特征在于,所述开启所述第二域的高精度定时器,包括:
采用核间消息通信机制开启所述第二域的高精度定时器。
6.根据权利要求5所述的数据传输方法,其特征在于,所述采用核间消息通信机制开启所述第二域的高精度定时器,包括:
采用RPMsg协议在所述第一域的虚拟网络接口与所述第二域的虚拟网络接口之间传输所述通知指令;
根据所述通知指令开启所述第二域的高精度定时器。
7.根据权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
接收所述第二域向所述第一域进行第二通信数据的第二传输指令;
根据所述第二域的虚拟网络接口将所述第二通信数据写入至所述共享内存的第二环形缓冲区中;
对所述第二环形缓冲区中缓存所述第二通信数据的区域的状态标识进行更新;
开启所述第一域的高精度定时器;
根据所述第一域的高精度定时器对写入至所述第二环形缓冲区中的第二通信数据进行轮询读取;
根据所述第一域的虚拟网络接口将轮询读取的第二通信数据传输至所述第一域中。
8.一种数据传输装置,其特征在于,应用于多域系统级芯片SOC中,所述装置包括:
第一接收单元,用于接收第一域向第二域进行第一通信数据的第一传输指令;其中,所述多域系统级芯片SOC包括所述第一域和所述第二域;
第一写入单元,用于根据所述第一域的虚拟网络接口将所述第一通信数据写入至所述多域系统级芯片SOC的共享内存中;
第一开启单元,用于开启所述第二域的高精度定时器;
第一读取单元,用于根据所述第二域的高精度定时器对写入至所述共享内存中的第一通信数据进行轮询读取;
第一传输单元,用于根据所述第二域的虚拟网络接口将轮询读取的第一通信数据传输至所述第二域中。
9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至7任一项所述的数据传输方法中的操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311189696.2A CN116932454B (zh) | 2023-09-15 | 2023-09-15 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311189696.2A CN116932454B (zh) | 2023-09-15 | 2023-09-15 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932454A true CN116932454A (zh) | 2023-10-24 |
CN116932454B CN116932454B (zh) | 2024-05-17 |
Family
ID=88388160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311189696.2A Active CN116932454B (zh) | 2023-09-15 | 2023-09-15 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932454B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118519797A (zh) * | 2024-07-17 | 2024-08-20 | 湖北芯擎科技有限公司 | 一种基于dds的异构计算方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109964211A (zh) * | 2016-09-30 | 2019-07-02 | 英特尔公司 | 用于半虚拟化网络设备队列和存储器管理的技术 |
DE102019210552A1 (de) * | 2019-07-17 | 2021-01-21 | Audi Ag | Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren |
KR20210051325A (ko) * | 2019-10-30 | 2021-05-10 | 엘에스일렉트릭(주) | 비대칭 멀티프로세싱 시스템의 데이터 공유 장치 및 방법 |
CN113760559A (zh) * | 2020-06-04 | 2021-12-07 | 普天信息技术有限公司 | 一种双核通信方法和电子设备 |
US20220019456A1 (en) * | 2020-07-18 | 2022-01-20 | Vmware, Inc. | Low-latency shared memory channel across address spaces in a computing system |
CN115203142A (zh) * | 2022-07-27 | 2022-10-18 | 重庆大学 | 一种多核核间实时通信系统及方法 |
CN115344226A (zh) * | 2022-10-20 | 2022-11-15 | 亿咖通(北京)科技有限公司 | 一种虚拟化管理下的投屏方法、装置、设备及介质 |
CN116248772A (zh) * | 2023-02-20 | 2023-06-09 | 亿咖通(湖北)技术有限公司 | 虚拟化管理下的数据传输方法、装置、设备及介质 |
CN116540973A (zh) * | 2023-05-06 | 2023-08-04 | 亿咖通(湖北)技术有限公司 | 一种跨域音频处理方法、装置、电子设备和存储介质 |
-
2023
- 2023-09-15 CN CN202311189696.2A patent/CN116932454B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109964211A (zh) * | 2016-09-30 | 2019-07-02 | 英特尔公司 | 用于半虚拟化网络设备队列和存储器管理的技术 |
DE102019210552A1 (de) * | 2019-07-17 | 2021-01-21 | Audi Ag | Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren |
KR20210051325A (ko) * | 2019-10-30 | 2021-05-10 | 엘에스일렉트릭(주) | 비대칭 멀티프로세싱 시스템의 데이터 공유 장치 및 방법 |
CN113760559A (zh) * | 2020-06-04 | 2021-12-07 | 普天信息技术有限公司 | 一种双核通信方法和电子设备 |
US20220019456A1 (en) * | 2020-07-18 | 2022-01-20 | Vmware, Inc. | Low-latency shared memory channel across address spaces in a computing system |
CN115203142A (zh) * | 2022-07-27 | 2022-10-18 | 重庆大学 | 一种多核核间实时通信系统及方法 |
CN115344226A (zh) * | 2022-10-20 | 2022-11-15 | 亿咖通(北京)科技有限公司 | 一种虚拟化管理下的投屏方法、装置、设备及介质 |
CN116248772A (zh) * | 2023-02-20 | 2023-06-09 | 亿咖通(湖北)技术有限公司 | 虚拟化管理下的数据传输方法、装置、设备及介质 |
CN116540973A (zh) * | 2023-05-06 | 2023-08-04 | 亿咖通(湖北)技术有限公司 | 一种跨域音频处理方法、装置、电子设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118519797A (zh) * | 2024-07-17 | 2024-08-20 | 湖北芯擎科技有限公司 | 一种基于dds的异构计算方法、装置、设备及存储介质 |
CN118519797B (zh) * | 2024-07-17 | 2024-10-18 | 湖北芯擎科技有限公司 | 一种基于dds的异构计算方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116932454B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5537919B2 (ja) | データ転送のためのシステムおよび方法 | |
US11243809B2 (en) | Level two first-in-first-out transmission | |
CN116932454B (zh) | 数据传输方法、装置、电子设备及计算机可读存储介质 | |
KR20030087025A (ko) | Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN115934625B (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
US11715337B2 (en) | Controller diagnostic device and method thereof | |
US8335867B1 (en) | Method and apparatus for reducing host processor activity during interaction with peripheral devices | |
US5901328A (en) | System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area | |
US20050038946A1 (en) | System and method using a high speed interface in a system having co-processors | |
CN112445735A (zh) | 一种联邦学习数据传输方法、计算机设备、系统及存储介质 | |
CN114546913A (zh) | 一种基于pcie接口的多主机之间数据高速交互的方法和装置 | |
US20090292856A1 (en) | Interserver communication mechanism and computer system | |
CN111666237B (zh) | 具有高速缓存管理功能的dma控制器 | |
US9817784B2 (en) | Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product | |
US7853713B2 (en) | Communication interface device and communication method | |
US20190369996A1 (en) | Broadside random access memory for low cycle memory access and additional functions | |
US20040225707A1 (en) | Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream | |
US10423546B2 (en) | Configurable ordering controller for coupling transactions | |
JPH03127154A (ja) | 転送制御システム | |
US12093754B2 (en) | Processor, information processing apparatus, and information processing method | |
JP5587530B2 (ja) | エンジン・プロセッサ連携システム及び連携方法 | |
US20240243945A1 (en) | Controller area network extra-long (can-xl) low latency hardware and software partitioned architecture for message handler | |
JP2984594B2 (ja) | マルチクラスタ情報処理システム | |
CN118714183A (zh) | 报文传输的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |