CN117807016A - 多核异构系统与外部设备的通信方法、设备、存储介质 - Google Patents

多核异构系统与外部设备的通信方法、设备、存储介质 Download PDF

Info

Publication number
CN117807016A
CN117807016A CN202410232641.3A CN202410232641A CN117807016A CN 117807016 A CN117807016 A CN 117807016A CN 202410232641 A CN202410232641 A CN 202410232641A CN 117807016 A CN117807016 A CN 117807016A
Authority
CN
China
Prior art keywords
operating system
request data
identification information
external device
application
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
Application number
CN202410232641.3A
Other languages
English (en)
Other versions
CN117807016B (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.)
Shanghai Lichi Semiconductor Co ltd
Original Assignee
Shanghai Lichi Semiconductor Co 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 Shanghai Lichi Semiconductor Co ltd filed Critical Shanghai Lichi Semiconductor Co ltd
Priority to CN202410232641.3A priority Critical patent/CN117807016B/zh
Publication of CN117807016A publication Critical patent/CN117807016A/zh
Application granted granted Critical
Publication of CN117807016B publication Critical patent/CN117807016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种多核异构系统与外部设备的通信方法、通信设备、电子设备及存储介质,其中所述方法应用于多核异构系统,包括:获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息;利用内存共享机制,第一操作系统将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。

Description

多核异构系统与外部设备的通信方法、设备、存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种多核异构系统与外部设备的通信方法、通信设备、电子设备及存储介质。
背景技术
在汽车内,车载一体机可与车载一体机的外部设备,诸如智能车载终端(TBOX,Telematic BOX)、微控制单元(MCU,Microcontroller Unit)进行通信,以实现汽车的特定功能。如何提高车载一体机与外部设备之间的通信安全性,成为了亟待解决的技术问题。
发明内容
本申请提供了一种多核异构系统与外部设备的通信方法、通信设备、电子设备及存储介质,以至少解决现有技术中存在的以上技术问题。
根据本申请的第一方面,提供了一种多核异构系统与外部设备的通信方法,应用于多核异构系统,所述多核异构系统包括M个硬件域,M为大于1的正整数,M个硬件域对应M个操作系统,M个操作系统包括第一操作系统和第二操作系统;各硬件域由多核异构系统中多个架构不同的处理器核与各处理核连接的硬件资源构成,所述各硬件域之间互相隔离;所述方法包括:
获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息;
利用内存共享机制,第一操作系统将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
在一可实施方式中,所述第一外部设备针对所述第一请求数据产生第一反馈数据;所述第二操作系统利用所述第一传输通道获得所述第一反馈数据;
所述方法还包括:
利用所述内存共享机制,第一操作系统从第二操作系统处共享第一反馈数据,并将所述第一反馈数据分配至第一应用,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
在一可实施方式中,所述方法还包括:
获得来自第一操作系统的第二应用的第二请求数据和所述第二请求数据的第二标识信息;
利用所述内存共享机制,第一操作系统将所述第二请求数据和所述第二标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第二标识信息对应的第二传输通道,将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备,以供第二应用实现在第一操作系统中第二请求数据所请求的操作或功能。
在一可实施方式中,所述方法还包括:
利用第三传输通道,第二操作系统获得来自第三外部设备的第三请求数据,所述第三传输通道与第三请求数据的第三标识信息对应;
基于第三请求数据,第二操作系统产生第三反馈数据;
利用第三传输通道,第二操作系统将第三反馈数据传输至第三外部设备,以供第三外部设备实现第三请求数据所请求的操作或功能。
在一可实施方式中,所述方法还包括:
获得来自第二操作系统的应用的第四请求数据和第四请求数据的第四标识信息;
利用与第四标识信息关联的第四传输通道,第二操作系统将第四请求数据传输至与第四标识信息关联的第四外部设备,以供所述第二操作系统的所述应用实现在第二操作系统中第四请求数据所请求的操作或功能。
在一可实施方式中,所述方法还包括:
所述将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,包括:
将所述第一请求数据传输至中间设备,以使得所述中间设备将第一请求数据传输至与第一标识信息关联的第一外部设备;
所述将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备,包括:
将所述第二请求数据传输至中间设备,以使得所述中间设备将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备;
其中,所述第一外部设备和所述第二外部设备通过不同接口接入于所述中间设备。
在一可实施方式中,所述方法还包括:
所述第一传输通道和所述第二传输通道是符合虚拟局域网vlan协议的通道,所述第一标识信息和所述第二标识信息是符合vlan协议的标识。
根据本申请的第二方面,提供了一种通信设备,应用于多核异构系统,所述多核异构系统包括M个硬件域,M为大于1的正整数,M个硬件域对应M个操作系统,M个操作系统包括第一操作系统和第二操作系统;各硬件域由多核异构系统中多个架构不同的处理器核与各处理核连接的硬件资源构成,所述各硬件域之间互相隔离;
所述通信设备包括:
第一获得单元,用于获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息;
共享单元,用于利用内存共享机制,将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
根据本申请的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请所述的方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请所述的方法。
本申请中,第一操作系统的第一请求数据通过特定的传输通道(第一传输通道)实现与特定的外部设备(第一外部设备)之间的通信,避免了通信数据被篡改的可能以及数据泛滥,提高了多核异构系统与外部设备之间的通信或网络传输的安全性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本申请实施例中多核异构系统的示意图一;
图2示出了本申请实施例中多核异构系统的示意图二;
图3示出了本申请实施例中多核异构系统的示意图三;
图4示出了本申请实施例中多核异构系统与外部设备的通信方法的实现流程示意图一;
图5示出了本申请实施例中基于内存共享机制的系统间传输示意图;
图6示出了本申请实施例中多核异构系统与外部设备的通信方法的实现流程示意图二;
图7示出了本申请实施例中多核异构系统与外部设备的通信方法的实现流程示意图三;
图8示出了本申请实施例中多核异构系统与外部设备的通信方法的实现流程示意图四;
图9示出了本申请实施例中多核异构系统与外部设备的通信方法的实现框图;
图10示出了本申请实施例中多核异构系统与外部设备的通信设备的组成结构示意图;
图11示出了本申请实施例中电子设备的组成结构示意图。
具体实施方式
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
应理解,在本申请的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中的多核异构系统与外部设备的通信方法的处理逻辑部署于多核异构系统中。本申请实施例中,多核异构系统为多核异构芯片。多核异构芯片,是指在单颗芯片内集成有两个或多个处理器核的芯片。如,集成有两个或多个处理器核的单颗SOC(片上系统)芯片。多核异构芯片中的每个处理器核可作为一个独立处理器,可独立运行每个处理器核需要运行的指令,实现每个处理器核需要实现的任务。可以理解,多核异构芯片作为一种具有多核处理器的芯片。与单核处理器芯片相比,各核任务的独立运行,可加快运行速度,提高多任务执行能力,从而带来性能高的优势。且多核处理器被设置在同一芯片上,具有成本低的优势。
如图1所示,所述多核异构芯片包括多个处理器核,所述多个处理器核包括第一处理器核、第二处理器核…第L处理器核。L为大于等于2的正整数,根据实际情况而灵活设定。在多个处理器核中,每个处理器核相当于是一个计算引擎,其类型和/或数量可不同。其中,处理器核的类型包括计算能力强的核和实时性强(计算快)的核。在实际应用中,多个处理器核可以是不同类型的处理器核,由此,多核异构芯片是由两个或多个架构不同的处理器核构成的。处理器核的类型和/或数量的不同,可在一定程度上实现处理器核之间的架构不同。
在实际应用中,在所有处理器核中,只要有两个或多个处理器核的类型不同,包括这些处理器核的芯片就可以被视为多核异构芯片。
示例性地,由于嵌入式处理器(ARM)具有成本低和低功耗的优势,数字信号处理器(DSP)具有数字专用处理的优势,可编程逻辑阵列(FPGA)具有高速处理的优势,每种类型的处理器作为一种处理器核使用,被设计在同一SOC芯片上,即可得到一种多核异构的SOC芯片。
如图2所示,每个处理器核与各处理器核连接的硬件资源,如时钟控制器、中断控制器、内存空间等构成每个硬件域。即,多核异构芯片包括多个硬件域。在多核异构芯片中,每个硬件域是一组硬件资源的集合。不同硬件域之间是互相隔离的,这种隔离可视为一种物理上的隔离,如同一硬件域内的硬件设计在多核异构芯片的相近位置,不同硬件域内的硬件设计在多核异构芯片的不同位置,以物理位置上实现隔离。当然,本申请实施例中的不同硬件域之间的互相隔离可以不是物理上的隔离,而是逻辑上的隔离。这种逻辑上的隔离可体现在:同一硬件域内的硬件资源需要使用同一通信标识进行本硬件域内的访问,即,同一硬件域内的硬件资源之间可基于本硬件域内的通信标识进行互相访问。不同硬件域内的硬件资源使用不同的通信标识进行访问。
在实际应用中,优选不同硬件域之间的互相隔离为一种逻辑隔离,如此至少可节省芯片空间。
如图3所示,在多核异构芯片中,可以为每个硬件域配置一操作系统。如,为第一硬件域配置第一操作系统,为第二硬件域配置第二操作系统等。为不同硬件域配置的操作系统可以为相同系统,可以为不同,优选为不同系统。如,为第一硬件域配置的第一操作系统为Linux系统,为第二硬件域配置的第二操作系统为安卓系统。其中,由于Linux系统具有安全性高的特点、安卓系统具有轻快性的特点,可将多核异构系统中对安全性要求高的任务交由Linux去执行,将多核异构系统中对需要轻快运行的任务交由安卓系统去执行,因此,多核异构系统中可以采用不同硬件域上的不同操作系统实现各任务的高效执行。
在多核异构芯片中,还可以根据实际需求,为大部分硬件域中的各硬件域配置操作系统,为小部分硬件域不配置操作系统。
本申请实施例中,硬件域之间也存在有通信需求,在不同硬件域之间存在通信需求时,可采用核间通信机制实现硬件域之间的通信。其中,多核异构系统中的核间通信机制包括适于指令传输的mailbox机制、适于数据共享的内存共享机制。单颗SOC芯片内的核间通信,可保证数据在同一芯片内传输,保证了数据安全性和传输快速性。
通常情况下,不同硬件域内的硬件资源是存在差异的,这种差异可能体现在硬件类型、硬件型号、硬件数量等方面的差异。这种差异性,在一定程度上可体现多核异构系统的异构性。从前面的介绍可知,本申请中的多核异构是硬件层面上的概念,与软件层面无关。
如图1所示,本申请实施例中的多核异构芯片还包括各类型控制单元。各类型控制单元包括但不限定于:电源控制单元、非易失性存储控制单元、易失性存储控制单元等。其中,电源控制单元,用于控制电源单元,以实现对多核异构芯片的电源的供给。非易失性存储控制单元,用于控制多核异构芯片中的至少一处理器核对非易失性存储单元的访问。易失性存储控制单元,用于控制多核异构芯片中的至少一处理器核对易失性存储单元的访问。
其中,电源单元、非易失性存储单元、易失性存储单元作为多核异构芯片之外的硬件资源,可在多核异构芯片有需要的情况下被调用。除此之外,音频输出单元(如喇叭或扬声器)、音频采集单元(如麦克风)、视频输出单元(如显示屏)等硬件作为多核异构芯片之外的硬件资源,也可在多核异构芯片有需要的情况下被调用,以实现音频、视频的正常输出。
本申请实施例的多核异构系统与外部设备的通信方法是在多核异构系统上实现的。本申请实施例的多核异构系统与外部设备的通信方法中涉及到的多核异构系统包括M个硬件域。该M个硬件域可以是图2所示的L个硬件域中的全部硬件域或部分硬件域。
在实际应用中,M个硬件域可以是图2中所示的L个硬件域中的配置有操作系统的硬件域的其中M个硬件域。M为大于1、且小于或等于L的正整数。如图3所示,多核异构系统与外部设备的通信方法中涉及到的多核异构系统包括M个硬件域,每个硬件域对应一个操作系统。如,硬件域1对应第一操作系统,硬件域2对应第二操作系统…硬件域M对应第M操作系统。 M个硬件域对应M个操作系统。各硬件域由多核异构系统中多个架构不同的处理器核与各处理核连接的硬件资源构成,各硬件域之间互相隔离。图3所示的多核异构系统中的相关内容可参见对图1和/或图2的相关说明,重复之处不赘述。
本申请实施例中,可将多核异构系统与外部设备的通信方法应用到驾驶设备中。驾驶设备包括私家出行工具和公共出行工具中的至少之一。其中,私家出行工具包括但不限定于平衡车、电动摩托车、私家汽车、私家飞机等。公共出行工具包括但不限定于公交车、火车、地铁、高铁、飞机等。
驾驶设备在采用本申请的多核异构系统与外部设备的通信方法的方案时,可实现车载一体机与外部设备(TBOX、MCU、SOA和AVB)之间的安全通信,保证汽车内部信息或数据的通信安全性。
图4示出了本申请实施例中多核异构系统与外部设备的通信方法的实现流程示意图一。如图4所示,所述方法包括:
S401:获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息。
本申请中,M个操作系统包括第一操作系统和第二操作系统。第一操作系统和第二操作系统安装有各自的应用。这些应用存在有与外部设备之间的通信需求,以实现特定的功能。本步骤中,第一操作系统安装有第一应用,其存在有与几种(类型)外部设备中的至少之一的通信需求,以实现特定的功能。
本申请实施例中,以外部设备包括TBOX、MCU、面向服务的体系架构(SOA,Service-Oriented Architecture)、以及以太网音视频桥接技术设备(AVB,Ethernet Audio/VideoBridging)等四种类型外部设备为例进行说明,任何其他合理类型的外部设备也在本申请的保护范围内。
第一操作系统存在与外部设备的通信需求,如安装在第一操作系统的第一应用存在有与外部设备的通信需求时,产生第一请求数据,用于请求与外部设备进行通信以实现特定的功能。
为实现第一操作系统与外部设备的通信需求,在第一操作系统中设置有一个或多个逻辑接口。在应用层面,每个逻辑接口与第一操作系统的不同应用对应或绑定。在逻辑层面,每个逻辑接口对应于两种或多种外部设备中的其中之一。每个逻辑接口与外部设备之间建立有传输通道(如第一传输通道和第二传输通道)。第一操作系统解析第一请求数据的第一标识信息,从而获得需要采用哪个传输通道、与四种外部设备中的何种设备进行通信。
S402:利用内存共享机制,第一操作系统将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
本申请中的内存共享机制,指的是M个操作系统中的两个系统之间的通信机制。当两个系统中的其中之一系统想要传输数据到另一系统的情况下,其中之一系统将要传输的数据存储到双方约定好的内存单元中,另一系统从该内存单元中将数据读取出,从而得到了其中之一系统想要传输到另一系统的数据。与将要传输的数据通过网络或接口在系统间传输的方案相比,这种内存共享机制,减少了传输开销,节约了传输资源。如图5所示,为基于内存共享机制的系统间传输示意图。在多核异构(系统)SOC芯片的内存共享机制下,第一操作系统侧和第二操作系统侧各虚拟出一个网络接口(netdev),第一操作系统通过自身侧的虚拟网络接口将数据存储到内存单元中,第二操作系统通过自身侧的虚拟网络接口将内存单元中的数据读取出。
在为第一操作系统预先建立的多个传输通道中,与第一标识信息对应的传输通道是第一传输通道,则在第二操作系统利用内存共享机制共享有第一操作系统的第一请求数据的情况下,可利用第一传输通道将第一请求数据传输至几种外部设备中、第一操作系统想要与其进行通信的外部设备。第一操作系统想要与其进行通信的外部设备是几种外部设备中、如TBOX、MCU、SOA和AVB四种外部设备中的与第一标识信息关联的外部设备。与第一标识信息关联的外部设备可视为第一外部设备。
S401~S402中的执行主体是多核异构系统,具体是多核异构系统中的第一操作系统。
S401~S402所示的方案,针对多核异构系统,第一操作系统可利用第一传输通道和第二操作系统,实现与第一外部设备的通信。其中,第一传输通道是第一操作系统和第一外部设备之间的传输使用的通道,第一操作系统的第一请求数据通过特定的传输通道(第一传输通道)实现与特定的外部设备(第一外部设备)之间的通信,避免了通信数据被篡改的可能以及数据泛滥,提高了多核异构系统与外部设备之间的通信或网络传输的安全性。
在实际应用中,车载一体机采用多核异构系统,第一操作系统可以是车载一体机的中控系统,第二操作系统可以是车载一体机的仪表系统。采用S401~S402所示的技术方案,可提高车载一体机与外部设备之间的通信安全性。
在一实施例中,所述第一外部设备针对所述第一请求数据产生第一反馈数据;所述第二操作系统利用所述第一传输通道获得所述第一反馈数据。基于此,所述方法还包括:
利用内存共享机制,第一操作系统从第二操作系统处共享第一反馈数据,并将所述第一反馈数据分配至第一应用,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
如果将S401~S402所示的方案视为第一操作系统请求与第一外部设备通信的单向传输,则前述方案可视为第一操作系统请求与第一外部设备通信、以及针对该请求第一外部设备给予第一操作系统反馈的双向传输。在双向传输方案中,通过特定的传输通道与特定的外部设备进行数据(第一请求数据、第一反馈数据)传输,且,第一反馈数据能够被正确分配(分配至发起第一请求数据的第一应用),提高了多核异构系统与外部设备之间的通信安全性。
在一实施例中,如图6所示,所述方法还包括:
S403:获得来自第一操作系统的第二应用的第二请求数据和第二请求数据的第二标识信息。
第二应用为第一操作系统中与第一应用不同的应用。在第二应用存在有与外部设备的通信需求时,产生第二请求数据,用于请求与外部设备进行通信以实现特定的功能。第一操作系统解析第二请求数据的第二标识信息,从而获得需要采用哪个传输通道、与四种外部设备中的何种设备进行通信。
S404:利用内存共享机制,第一操作系统将第二请求数据和第二标识信息共享至第二操作系统,所述第二操作系统用于利用与第二标识信息对应的第二传输通道,将第二请求数据传输至与第二标识信息关联的第二外部设备,以供第二应用实现在第一操作系统中第二请求数据所请求的操作或功能。
与第一标识信息关联的外部设备是第一外部设备不同,与第二标识信息关联的外部设备是第二外部设备。
S403~S404的执行主体是多核异构系统,具体是多核异构系统的第一操作系统。从S403~S404所示的方案,利用第二传输通道与第二操作系统,第一操作系统实现第二请求数据到第二外部设备的传输。通过特定的传输通道(第二传输通道)实现与特定的外部设备(第二外部设备)之间的通信,避免了通信数据被篡改的可能以及数据泛滥,提高了多核异构系统与外部设备之间的通信安全性。
需要说明的是,为方便描述,在图6中,是按照S401~S404的顺序执行的本方案。但是,在实际应用中,S401和S403无严格的先后顺序,还可以同时进行。S402和S404无严格的先后顺序,也可以同时进行。图6所示的方案中各步骤的执行顺序可基于实际使用情况而定。
S401~S404所示的技术方案中,S401~S402是多核异构系统采用第一传输通道与第一外部设备进行传输,S403~S404是多核异构系统采用第二传输通道与第二外部设备进行传输。本申请实施例中,多核异构系统与不同的外部设备进行通信,采用不同的传输通道,如此,可保证与各外部设备的精准传输,保证通信安全性。
在一实施例中,所述第二外部设备针对所述第二请求数据产生第二反馈数据;所述第二操作系统利用所述第二传输通道获得所述第二反馈数据。基于此,所述方法还包括:
利用内存共享机制,第一操作系统从第二操作系统处共享第二反馈数据,并将所述第二反馈数据分配至第二应用,以供第二应用实现在第一操作系统中第二请求数据所请求的操作或功能。
如果将S403~S404所示的方案视为第一操作系统请求与第二外部设备通信的单向传输,则前述方案可视为第一操作系统请求与第二外部设备通信、以及针对该请求第二外部设备给予第一操作系统反馈的双向传输。在双向传输方案中,通过特定的传输通道与特定的外部设备进行数据(第二请求数据、第二反馈数据)传输,且,第二反馈数据能够被正确分配(分配至发起第二请求数据的第二应用),提高了多核异构系统与外部设备之间的通信安全性。
在前述方案中,多核异构系统可通过各物理接口与各外部设备连接。如,通过物理接口1与第一外部设备连接,通过物理接口2与第二外部设备连接。是一种多核异构系统与外部设备直接相连的方式。
与前述多核异构系统可直接与外部设备相连的方案不同,在本申请一实施例中,多核异构系统可通过中间设备(也可称为中转设备或交换设备)与外部设备连接。如,多核异构系统通过中间设备与第一外部设备连接。多核异构系统通过中间设备与第二外部设备连接。中间设备包括多个物理接口,第一外部设备接入于多个物理接口中的第一物理接口,第二外部设备接口入多个物理接口中的第二物理接口。第一外部设备和第二外部设备通过不同接口接入于中间设备。多核异构系统通过中间设备的中转,实现与各外部设备的通信。可避免多核异构系统直接与各外部设备相连时,在外部设备数量增多情况下而导致的对Soc空间占用增大的问题。
基于此,前述S402中的所述将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备的方案,可采用如下方式实现:将第一请求数据传输至中间设备,以使得中间设备将第一请求数据传输至与第一标识信息关联的第一外部设备。自然地,第二操作系统从中间设备处获得第一外部设备针对第一请求数据而产生的第一反馈数据。
前述S404中的将第二请求数据传输至与第二标识信息关联的第二外部设备的方案,采用如下方式实现:将第二请求数据传输至中间设备,以使得中间设备将第二请求数据传输至与第二标识信息关联的第二外部设备。自然地,第二操作系统从中间设备处获得第二外部设备针对第二请求数据而产生的第二反馈数据。
这种多核异构系统和外部设备采用中间设备进行数据中转的方案,实用性强,易于推广。
前述方案是多核异构系统中的第一操作系统与外部设备之间的通信方案。此外,多核异构系统中还存在其他操作系统,如第二操作系统,第二操作系统也可能与外部设备存在通信。
以第二操作系统与外部设备进行直接通信(不需要中间设备的中转)而言,所述方法还包括以下方案。
以图7为例,本申请实施例的多核异构系统与外部设备的通信方法还包括:
S405:利用第三传输通道,第二操作系统获得来自第三外部设备的第三请求数据,所述第三传输通道与第三请求数据的第三标识信息对应。
为实现第二操作系统与外部设备的通信需求,在第二操作系统中设置有一个或多个逻辑接口。在应用层面,每个逻辑接口与第二操作系统的不同应用对应或绑定。在逻辑层面,每个逻辑接口对应于两种或多种外部设备中的其中之一。每个逻辑接口与外部设备之间建立有传输通道(如第三传输通道和第四传输通道)。利用传输通道实现第二操作系统和外部设备之间的通信。
多核异构系统中的各操作系统(第一操作系统、第二操作系统)与外部设备之间的通信,存在有两个方式上的通信:其中之一是操作系统发起请求,外部设备给予反馈;另一种是外部设备发起请求,操作系统给予反馈。
前述S401~S402、S403~S404以及S408~S409,就是操作系统发起请求,外部设备给予反馈的情形。而S405~S408是外部设备发起请求,操作系统给予反馈的情形。
本步骤中,第三外部设备存在有与第二操作系统的通信需求时,产生第三请求数据和第三请求数据的标识信息。利用与第三标识信息对应的第三传输通道,第二操作系统获得第三请求数据。
S406:基于第三请求数据,第二操作系统产生第三反馈数据。
本步骤中,第二操作系统对第三请求数据进行响应,产生(第三)反馈数据。
S407:利用第三传输通道,第二操作系统将第三反馈数据传输至第三外部设备,以供第三外部设备实现第三请求数据所请求的操作或功能。
在S405~S407中,针对特定外部设备的请求数据,多核异构系统中的第二操作系统通过特定的传输通道(第三传输通道)与其进行通信,避免了通信数据被篡改的可能以及数据泛滥,提高了多核异构系统与外部设备之间的通信安全性。
以图8为例,本申请实施例的多核异构系统与外部设备的通信方法还包括:
S408:获得来自第二操作系统的应用的第四请求数据和第四请求数据的第四标识信息。
本步骤中,第二操作系统的应用存在有与外部设备的通信需求时,产生(第四)请求数据,用于请求与外部设备进行通信以实现特定的功能。第二操作系统解析第四请求数据的第四标识信息,从而获得需要采用哪个传输通道、与四种外部设备中的何种设备进行通信。
S409:利用与第四标识信息关联的第四传输通道,第二操作系统将第四请求数据传输至与第四标识信息关联的第四外部设备,以供所述第二操作系统的所述应用实现在第二操作系统中第四请求数据所请求的操作或功能。
S408~S409所示的技术方案中,多核异构系统中的第二操作系统通过特定的传输通道(第四传输通道)与特定的外部设备(第四外部设备)进行通信,避免了通信数据被篡改的可能以及数据泛滥,提高了多核异构系统与外部设备之间的通信安全性。
在一实施例中,第一传输通道、第二传输通道、第三传输通道和第四传输通道是符合虚拟局域网(vlan,Virtual Local Area Network)协议的通道。第一标识信息、第二标识信息、第三标识信息和第四标识信息是符合vlan协议的标识。在第一传输通道~第四传输通道是符合vlan协议的通道时,本申请技术方案可视为是一种vlan在多核异构SOC芯片上的应用方案。这种方案,可实现多核异构系统中各操作系统与特定外部设备之间的安全传输。具体方案可参见下述说明。
结合图9所示,对vlan在多核异构SOC芯片上的应用方案进行详细说明。在图9中,以外部设备包括TBOX(作为第一外部设备使用)、SOA(作为第二外部设备使用)、MCU(作为第三外部设备使用)和AVB设备(作为第四外部设备使用)这四种,多核异构系统中的各操作系统通过中间设备与外部设备进行通信为例。多核异构系统中的第一操作系统是安卓(Android)系统、第二操作系统是Linux。其中,AP是多核异构系统中的应用域,其中,AP1是对应于第一操作系统的应用域,AP 2是对应于第二操作系统的应用域。中间设备为交换机,具体可以是二层交换机。
在执行本申请的多核异构系统和外部设备的通信方案之前,还需要先执行网络拓扑配置方案:
在内存共享机制下,为不同应用域(AP 1和AP 2)的操作系统、具体第一操作系统和第二操作系统创建虚拟网络接口。如,为第一操作系统侧创建的netdev是eth0接口,包括eth0.10和eth0.20等子接口。为第二操作系统创建的netdev是eth1接口,包括eth1.10和eth1.20等子接口。第一和第二操作系统可采用传输控制协议(TCP,Transmission ControlProtocol )/网际协议(IP, Internet Protocol)协议进行数据通信。
SOC的第二操作系统通过物理接口ethx与中间设备进行连接。
中间设备包括有多个物理接口-LAN口。其中,TBOX通过LAN 1口接入于中间设备,SOA通过LAN 2口接入于中间设备,MCU通过LAN 3口接入于中间设备,AVB设备通过LAN 4口接入于中间设备。考虑到本应用场景中涉及的外部设备是四种,所以可创建四个vlan:vlan10、vlan 20、vlan 30和vlan 40。其中,vlan 10用于服务于SOC的第一操作系统与TBOX之间的通信传输。vlan 20用于服务于SOC的第一操作系统与SOA之间的通信传输。vlan 30用于服务于SOC的第二操作系统与MCU之间的通信传输。vlan 30用于服务于SOC的第二操作系统与AVB设备之间的通信传输。从中间设备来看,接入有TBOX的LAN 1口对应于vlan 10。接入有SOA的LAN 2口对应于vlan 20。接入有MCU的LAN 3口对应于vlan 30。接入有AVB设备的LAN 4口对应于vlan 40。
SOC的第二操作系统的物理接口ethx、中间设备的物理接口ethy均可采用trunk技术捆绑为逻辑接口-trunk口以进行使用。trunk技术可以实现带宽增加、可靠性提高和负载分担的功能。在SOC的第二操作系统中,逻辑接口-trunk口包括ethx.10、ethx.20、ethx.30和ethx.40等几个子接口。在中间设备中,逻辑接口-trunk口对应有vlan 10、vlan 20、vlan30和vlan 40。vlan 10、vlan 20、vlan 30和vlan 40可视为不同的vlan id。
基于以太网IEEE802.1Q协议,为第二操作系统的物理网口ethx创建4个vlan,分别是vlan 10、vlan 20、vlan 30和vlan 40。在SOC中,vlan 30和vlan 40需要分配给AP2的系统即第二操作系统使用。vlan 10和vlan 20需要分配给AP1的系统即第一操作系统使用,如此,AP2中的虚拟网口ethx.10和eth1.10通过网络桥接方式(虚拟网桥bridge 1)连接到AP1。AP2中的虚拟网口ethx.20和eth1.20通过网络桥接方式(虚拟网桥bridge 2)连接到AP1。其中,虚拟网口ethx中的ethx.10 、eth1中的eth1.10被创建为是为vlan 10服务的接口或网口,虚拟网口ethx中的ethx.20 、eth1中的eth1.20被创建为vlan 20服务的接口或网口。
在AP 1的操作系统(第一操作系统)中的eth0.10接口与第一应用绑定,eth0.20接口与第二应用绑定。在AP 2的操作系统(第二操作系统)中的ethx.40接口与一应用绑定,ethx.30接口与另一应用绑定。
在SOC中,在AP的虚拟网口和物理网口创建多个vlan id,将具有相同vlan id的虚拟接口划到同一个域中,以方便进行传输。各AP域中的虚拟网口,使用不同的vlan id进行区分,可使得不同外部设备传输的数据固定发送到对应vlan id的域。
以上为网络拓扑配置方案,在网络拓扑配置方案中,配置具有相同vlan id虚拟接口划分到同一域中。因为SOC中的各操作系统与外部设备之间的传输采用广播/报文的形式进行传输,所以前述的配置方案是采用不同的vlan id对各外部设备对应的各广播域进行分离,实现了各广播域的分离传输,避免了网络风暴,提高了通信传输安全性。
在实际应用中,vlan 10路径包括由虚拟接口eth0.10到虚拟/逻辑网口ethx.10的路径、由ethx.10和eth1.10构成的虚拟网桥bridge 1到Linux系统trunk口的路径、Linux系统trunk口到中间设备的trunk口 、中间设备的trunk口到TBOX外设等路径。第一传输通道包括vlan 10路径中的全部或部分路径。
vlan 20路径包括由虚拟接口eth0.20到虚拟/逻辑网口ethx.20的路径、由ethx.20和eth1.20构成的虚拟网桥bridge 2到Linux系统trunk口的路径、Linux系统trunk口到中间设备的trunk口、中间设备的trunk口到SOA外设接口等路径。第二传输通道包括vlan 20路径中的全部或部分路径。
vlan 30的路径包括MCU外设接口到中间设备的trunk口的路径,中间设备的trunk口到Linux系统trunk口、具体是到eth x.30等路径。第三传输通道包括vlan 30路径中的全部或部分路径。vlan 40路径包括AVB外设接口到中间设备的trunk口的路径,中间设备的trunk口到Linux系统trunk口、具体是到eth x.40等路径。第四传输通道包括vlan 40路径中的全部或部分路径。
在前述采用vlan协议进行网络拓扑方案之后,本申请的多核异构系统和外部设备的通信方案可以包括如下的几种情形。
可以理解,TBOX能够实现上网功能。在与Android系统中的逻辑接口eth0.10绑定的第一应用想要实现上网时,产生用于请求上网的第一请求数据。为第一请求数据生成一标识,作为第一标识信息使用。该生成可以由第一应用来实现也可以由Android系统来实现。第一标识信息是用于服务Android系统和TBOX之间通信的唯一标识,如“10”,对应于vlan 10。第一请求数据和第一标识信息通过系统间的内存共享机制,从Android系统共享至Linux系统。Linux系统根据第一标识信息获知在第一请求数据共享至Linux系统侧时,需要通过由虚拟/逻辑网口eth1.10和ethx.10构成的虚拟网桥bridge 1,将第一请求数据从Linux系统的逻辑接口eth1侧传输至Linux系统的trunk口侧(或物理接口ethx侧)。其中,利用由虚拟/逻辑网口ethx.10和eth1.10构成的虚拟网桥bridge 1,将第一请求数据从eth1侧传输至trunk口侧(或物理接口ethx侧)的通道视为与第一标识信息对应的第一传输通道。Linux系统将第一请求数据和第一标识信息,利用第一传输通道中的物理接口ethx,传输至中间设备的物理接口ethy。考虑到TBOX在经过前述的网络拓扑配置后,其对应的路径是vlan 10的路径,中间设备根据第一标识信息可获知需将第一请求数据转发至与vlan 10路径中的外部设备-TBOX。vlan 10路径中的外部设备-TBOX也是与第一标识信息对应的外部设备。TBOX响应第一请求数据,产生用于令第一应用进行上网的(第一)反馈数据。中间设备读取由TBOX产生的第一反馈数据,连同第一标识信息一起,从ethy接口转发至Linux系统的ethx。Linux系统根据第一标识信息获知需要将从中间设备处获得的第一反馈数据,通过由虚拟/逻辑网口ethx.10和eth1.10构成的虚拟网桥bridge 1,将第一请求数据从Linux系统的trunk口侧传输至Linux系统的eth 1口侧。第一反馈数据和第一标识信息通过系统间的内存共享机制,从Linux系统共享至Android系统。Android系统根据第一标识信息获知,将第一反馈数据分配至与逻辑接口eth0.10绑定的第一应用,以实现上网功能。
可以理解,SOA能够实现导航功能。在与Linux系统中的逻辑接口eth0.20绑定的第二应用想要显示导航数据时,产生用于请求导航数据的第二请求数据。为第二请求数据生成一标识,作为第二标识信息使用。该生成可以由第二应用来实现也可以由Android系统来实现。第二标识信息是用于服务Android系统和SOA之间通信的唯一标识,如 “20”,对应于vlan 20。第二请求数据和第二标识信息通过系统间的内存共享机制,从Android系统共享至Linux系统。Linux系统根据第二标识信息获知在第二请求数据共享至Linux系统侧时,需要通过由虚拟/逻辑网口eth1.20和ethx.20构成的虚拟网桥bridge 2,将第二请求数据从Linux系统的逻辑接口eth1侧传输至Linux系统的trunk口(或物理接口ethx侧)侧。其中,可利用由虚拟/逻辑网口ethx.20和eth1.20构成的虚拟网桥bridge 2,将第二请求数据从eth1侧传输至trunk口侧(或物理接口ethx侧)的通道视为与第二标识信息对应的第二传输通道。Linux系统将第二请求数据和第二标识信息,利用第二传输通道中的物理接口ethx,传输至中间设备的物理接口ethy。考虑到SOA在经过前述的网络拓扑配置后,其对应的路径是vlan 20的路径,中间设备根据第二标识信息可获知需将第二请求数据转发至与vlan 20路径中的外部设备-SOA。vlan 20路径中的外部设备-SOA也是与第二标识信息对应的外部设备。SOA响应第二请求数据,产生用于令第二应用可显示的导航数据,导航数据作为(第二)反馈数据使用。中间设备读取由SOA产生的第二反馈数据,连同第二标识信息一起,从ethy接口转发至Linux系统的ethx。Linux系统根据第二标识信息获知需要将从中间设备处获得的第二反馈数据,通过由虚拟/逻辑网口ethx.20和eth1.20构成的虚拟网桥bridge 2,将第二反馈数据从Linux系统的trunk口侧传输至Linux系统的eth 1口侧。第二反馈数据和第二标识信息通过系统间的内存共享机制,从Linux系统共享至Android系统。Android系统根据第二标识信息获知,将第二反馈数据分配至与逻辑接口eth0.10绑定的第二应用,以实现第二应用对导航数据的显示。
可以理解,存在有升级请求的情况下,MCU产生用于请求升级的第三请求数据。为第三请求数据生成标识信息,作为第三标识信息使用。第三标识信息,用于服务Linux系统和MCU之间通信的唯一标识,如“30”,对应于vlan 30。中间设备读取由MCU产生的第三请求数据,连同第三标识信息一起,从ethy接口转发至Linux系统的ethx。Linux系统根据第三标识信息获知需要将第三请求数据分配至逻辑接口ethx.40,以询问Linux系统中与ethx.40绑定的应用是否存在有MCU的升级包。在存在有MCU升级包的情况下,Linux系统响应第三请求数据,将MCU升级包作为第三请求数据的(第三)反馈数据,连同第三标识信息一起,通过物理接口ethx发送至中间设备的物理接口ethy。其中,可将第三请求数据从物理接口ethy传输至与ethx.40绑定的应用的通道视为与第三标识信息对应的第三传输通道。考虑到MCU设备在经过前述的网络拓扑配置后,其对应的路径是vlan 30的路径,中间设备根据第三标识信息可获知需将第三反馈数据转发至与vlan 30路径中的外部设备-MCU设备。vlan 30路径中的外部设备-MCU设备也是与第三标识信息对应的外部设备。MCU利用升级包实现升级。
可以理解,AVB设备能够实现音/视频数据的显示功能。在与Linux系统中的逻辑接口ethx.30绑定的应用想要将音/视频数据送到AVB设备进行显示时,产生用于将数据送到AVB设备进行显示的第四请求数据。为第四请求数据生成一标识,作为第四标识信息使用。该生成可以由Linux系统中的前述应用来实现也可以由Linux系统来实现。第四标识信息是用于服务Linux系统和AVB设备之间通信的唯一标识,如 “40”,对应于vlan 40。Linux系统根据第四标识信息获知需要将来自与ethx.30绑定的应用的第四请求数据和第四标识信息,通过Linux系统的物理接口ethx发送至中间设备的物理接口ethy。其中,可将第四请求数据从与ethx.30绑定的应用传输至物理接口ethy的通道视为与第四标识信息对应的第四传输通道。考虑到AVB设备在经过前述的网络拓扑配置后,其对应的路径是vlan 40的路径,中间设备根据第四标识信息可获知需将第四请求数据转发至与vlan 40路径中的外部设备-AVB设备。vlan 40路径中的外部设备-AVB设备也是与第四标识信息对应的外部设备。AVB设备响应第四请求数据,将来自于Linux系统中与逻辑接口ethx.30绑定的应用的数据显示在AVB设备中。
因为各通道中使用到的虚拟/逻辑接口、物理接口均是基于vlan协议进行创建或网络拓扑的,所以,第一传输通道~第四传输通道均可视为vlan通道。利用不同的标识信息和vlan协议,实现了各操作系统(第一操作系统和第二操作)和与不同标识信息对应的外部设备之间的通信,为一种vlan在多核异构SOC芯片上的应用方案。特定的请求数据通过特定的传输通道在操作系统和特定的外部设备之间进行传输,实现了数据传输的定向性,避免了由于传输数据的无向性而在传输过程中广播泛滥导致的网络风暴,进而造成网络瘫痪的问题。这种vlan在多核异构SOC芯片上的应用方案的定向传输功能,也减少了被篡改的可能,最大程度上的避免了网络攻击,提高了传输安全性,提高了传输效率。
举个例子来说,Android系统利用vlan 10路径,通过中间设备与外部设备实现了通信。Android系统和外部设备之间的传输数据,均是在vlan 10路径上出现的虚拟接口或物理接口中传输,不会被传输至其他网络设备以及其他路径上的接口,实现了与其他网络设备和其他网络接口的通信隔离,保证了网络传输的安全性。节省了带宽。
在实际应用中,汽车上的车载一体机可采用图9所示的SOC,第一操作系统可以是车载一体机的中控系统,第二操作系统可以是车载一体机的仪表系统。汽车内的车载一体机通过汽车内的中间设备、具体是交换机来实现与汽车内的诸如TBOX、SOA、MCU和AVB等外部设备之间的通信,以实现特定功能。即,汽车内的车载一体机可利用vlan在多核异构SOC芯片上的应用方案,实现与外部设备之间的安全通信进而可实现汽车的安全控制与驾驶。
在图9所示中,是以SOC中,vlan 30和vlan 40需要分配给AP2的系统使用,vlan 10和vlan 20需要分配给AP1的系统使用为例进行的说明,此外,还可以将实际使用情况,将各vlan id分配至特定的操作系统去使用。此外,图9中是以四种外部设备为例进行的说明,其他任何合理的外设均可位于本申请的覆盖范围内。
因为SOC中的操作系统是两个或多个,在两个或多个操作系统下,通过vlan协议进行接口创建和网络拓扑,可使得不同的虚拟网口或虚拟接口与特定的外部设备通信,保证网络安全性,功能多样化。由此,本申请技术方案也可看成是一种,通过vlan功能实现多操作系统中的各操作系统与各指定外部设备之间进行安全通信的方案。
本申请实施例提供一种多核异构系统与外部设备的通信设备(简称为通信设备),应用于多核异构系统,多核异构系统包括M个硬件域,M为大于1的正整数,M个硬件域对应M个操作系统,M个操作系统包括第一操作系统和第二操作系统;各硬件域由多核异构系统中多个架构不同的处理器核与各处理核连接的硬件资源构成,所述各硬件域之间互相隔离。
如图10所示,所述通信设备包括:
第一获得单元1001,用于获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息;
共享单元1002,用于利用内存共享机制,将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
在一些实施例中,所述第一外部设备针对所述第一请求数据产生第一反馈数据;所述第二操作系统利用所述第一传输通道获得所述第一反馈数据。所述共享单元1002还用于:利用所述内存共享机制,从第二操作系统处共享第一反馈数据,并将所述第一反馈数据分配至第一应用,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
在一些实施例中,所述通信设备还包括第二获得单元,用于获得来自第一操作系统的第二应用的第二请求数据和所述第二请求数据的第二标识信息。所述共享单元1002,还用于利用所述内存共享机制,将所述第二请求数据和所述第二标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第二标识信息对应的第二传输通道,将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备,以供第二应用实现在第一操作系统中第二请求数据所请求的操作或功能。
在一些实施例中,所述通信设备还包括:
第三获得单元,用于利用第三传输通道,获得来自第三外部设备的第三请求数据,所述第三传输通道与第三请求数据的第三标识信息对应;
产生单元,用于基于第三请求数据,产生第三反馈数据;
第一传输单元,用于利用第三传输通道,将第三反馈数据传输至第三外部设备,以供第三外部设备实现第三请求数据所请求的操作或功能。
在一些实施例中,所述通信设备还包括:
第四获得单元,用于获得来自第二操作系统的应用的第四请求数据和第四请求数据的第四标识信息;
第二传输单元,用于利用与第四标识信息关联的第四传输通道,将第四请求数据传输至与第四标识信息关联的第四外部设备,以供所述第二操作系统的所述应用实现在第二操作系统中第四请求数据所请求的操作或功能。
在一些实施例中,所述第二操作系统,用于将所述第一请求数据传输至中间设备,以使得所述中间设备将第一请求数据传输至与第一标识信息关联的第一外部设备。
在一些实施例中,所述第二操作系统,用于将所述第二请求数据传输至中间设备,以使得所述中间设备将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备。
其中,所述第一外部设备和所述第二外部设备通过不同接口接入于所述中间设备。
在一些实施例中,所述第一传输通道和所述第二传输通道是符合虚拟局域网vlan协议的通道,所述第一标识信息和所述第二标识信息是符合vlan协议的标识。
需要说明的是,本申请实施例的通信设备,由于该通信设备解决问题的原理与前述的多核异构系统与外部设备的通信方法相似,因此,通信设备的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种计算机可读存储介质。
其中,所述电子设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请多核异构系统与外部设备的通信方法。可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行本申请多核异构系统与外部设备的通信方法。
图11示出了可以用来实施本申请的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如多核异构系统与外部设备的通信方法。例如,在一些实施例中,多核异构系统与外部设备的通信方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的多核异构系统与外部设备的通信方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多核异构系统与外部设备的通信方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种多核异构系统与外部设备的通信方法,应用于多核异构系统,其特征在于,所述多核异构系统包括M个硬件域,M为大于1的正整数,M个硬件域对应M个操作系统,M个操作系统包括第一操作系统和第二操作系统;各硬件域由多核异构系统中多个架构不同的处理器核与各处理核连接的硬件资源构成,所述各硬件域之间互相隔离;所述方法包括:
获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息;
利用内存共享机制,第一操作系统将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
2.根据权利要求1所述的方法,其特征在于,所述第一外部设备针对所述第一请求数据产生第一反馈数据;所述第二操作系统利用所述第一传输通道获得所述第一反馈数据;
所述方法还包括:
利用所述内存共享机制,第一操作系统从第二操作系统处共享第一反馈数据,并将所述第一反馈数据分配至第一应用,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
获得来自第一操作系统的第二应用的第二请求数据和所述第二请求数据的第二标识信息;
利用所述内存共享机制,第一操作系统将所述第二请求数据和所述第二标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第二标识信息对应的第二传输通道,将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备,以供第二应用实现在第一操作系统中第二请求数据所请求的操作或功能。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
利用第三传输通道,第二操作系统获得来自第三外部设备的第三请求数据,所述第三传输通道与第三请求数据的第三标识信息对应;
基于第三请求数据,第二操作系统产生第三反馈数据;
利用第三传输通道,第二操作系统将第三反馈数据传输至第三外部设备,以供第三外部设备实现第三请求数据所请求的操作或功能。
5.根据权利要求1或2所述的方法,其特征在于,还包括:
获得来自第二操作系统的应用的第四请求数据和第四请求数据的第四标识信息;
利用与第四标识信息关联的第四传输通道,第二操作系统将第四请求数据传输至与第四标识信息关联的第四外部设备,以供所述第二操作系统的所述应用实现在第二操作系统中第四请求数据所请求的操作或功能。
6.根据权利要求3所述的方法,其特征在于,还包括:
所述将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,包括:
将所述第一请求数据传输至中间设备,以使得所述中间设备将第一请求数据传输至与第一标识信息关联的第一外部设备;
所述将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备,包括:
将所述第二请求数据传输至中间设备,以使得所述中间设备将所述第二请求数据传输至与所述第二标识信息关联的第二外部设备;
其中,所述第一外部设备和所述第二外部设备通过不同接口接入于所述中间设备。
7.根据权利要求3所述的方法,其特征在于,所述第一传输通道和所述第二传输通道是符合虚拟局域网vlan协议的通道,所述第一标识信息和所述第二标识信息是符合vlan协议的标识。
8.一种通信设备,应用于多核异构系统,其特征在于,所述多核异构系统包括M个硬件域,M为大于1的正整数,M个硬件域对应M个操作系统,M个操作系统包括第一操作系统和第二操作系统;各硬件域由多核异构系统中多个架构不同的处理器核与各处理核连接的硬件资源构成,所述各硬件域之间互相隔离;
所述通信设备包括:
第一获得单元,用于获得来自第一操作系统的第一应用的第一请求数据和所述第一请求数据的第一标识信息;
共享单元,用于利用内存共享机制,将所述第一请求数据和所述第一标识信息共享至第二操作系统,所述第二操作系统用于利用与所述第一标识信息对应的第一传输通道,将所述第一请求数据传输至与所述第一标识信息关联的第一外部设备,以供第一应用实现在第一操作系统中第一请求数据所请求的操作或功能。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1-7中任一项所述的方法。
CN202410232641.3A 2024-03-01 2024-03-01 多核异构系统与外部设备的通信方法、设备、存储介质 Active CN117807016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410232641.3A CN117807016B (zh) 2024-03-01 2024-03-01 多核异构系统与外部设备的通信方法、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410232641.3A CN117807016B (zh) 2024-03-01 2024-03-01 多核异构系统与外部设备的通信方法、设备、存储介质

Publications (2)

Publication Number Publication Date
CN117807016A true CN117807016A (zh) 2024-04-02
CN117807016B CN117807016B (zh) 2024-07-09

Family

ID=90420262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410232641.3A Active CN117807016B (zh) 2024-03-01 2024-03-01 多核异构系统与外部设备的通信方法、设备、存储介质

Country Status (1)

Country Link
CN (1) CN117807016B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008012159A1 (en) * 2006-07-25 2008-01-31 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US20120278814A1 (en) * 2011-04-27 2012-11-01 Sujith Shivalingappa Shared Drivers in Multi-Core Processor
WO2015021037A1 (en) * 2013-08-07 2015-02-12 Qualcomm Incorporated Dynamic address negotiation for shared memory regions in heterogeneous muliprocessor systems
CA2976132A1 (en) * 2015-02-16 2016-08-25 Huawei Technologies Co., Ltd. Method for accessing data visitor directory in multi-core system and device
WO2020145432A1 (ko) * 2019-01-09 2020-07-16 엘지전자 주식회사 Multi soc 시스템을 통해 차량을 제어하는 방법
CN114710524A (zh) * 2022-03-18 2022-07-05 广州小鹏汽车科技有限公司 车内局域网的数据交互方法、装置、设备及存储介质
US11520705B1 (en) * 2019-11-27 2022-12-06 Rockwell Collins, Inc. Input/output (I/O) memory management unit (IOMMU) multi-core interference mitigation
CN115470163A (zh) * 2022-09-16 2022-12-13 山东云海国创云计算装备产业创新中心有限公司 Dma传输的控制方法、控制装置、控制设备及存储介质
CN116257472A (zh) * 2023-05-15 2023-06-13 上海励驰半导体有限公司 接口控制方法、装置、电子设备及存储介质
CN116932234A (zh) * 2022-03-29 2023-10-24 华为技术有限公司 应用程序间通信方法、装置、存储介质及程序产品
CN117370262A (zh) * 2023-08-31 2024-01-09 华为技术有限公司 通信方法、装置、芯片系统和电子设备
CN117520016A (zh) * 2023-11-21 2024-02-06 北京芯驰半导体科技有限公司 应用共享方法、装置、芯片、电子设备及存储介质
WO2024041412A1 (zh) * 2022-08-24 2024-02-29 阿里云计算有限公司 存储系统、方法以及硬件卸载卡

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008012159A1 (en) * 2006-07-25 2008-01-31 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US20120278814A1 (en) * 2011-04-27 2012-11-01 Sujith Shivalingappa Shared Drivers in Multi-Core Processor
WO2015021037A1 (en) * 2013-08-07 2015-02-12 Qualcomm Incorporated Dynamic address negotiation for shared memory regions in heterogeneous muliprocessor systems
CA2976132A1 (en) * 2015-02-16 2016-08-25 Huawei Technologies Co., Ltd. Method for accessing data visitor directory in multi-core system and device
WO2020145432A1 (ko) * 2019-01-09 2020-07-16 엘지전자 주식회사 Multi soc 시스템을 통해 차량을 제어하는 방법
US11520705B1 (en) * 2019-11-27 2022-12-06 Rockwell Collins, Inc. Input/output (I/O) memory management unit (IOMMU) multi-core interference mitigation
CN114710524A (zh) * 2022-03-18 2022-07-05 广州小鹏汽车科技有限公司 车内局域网的数据交互方法、装置、设备及存储介质
CN116932234A (zh) * 2022-03-29 2023-10-24 华为技术有限公司 应用程序间通信方法、装置、存储介质及程序产品
WO2024041412A1 (zh) * 2022-08-24 2024-02-29 阿里云计算有限公司 存储系统、方法以及硬件卸载卡
CN115470163A (zh) * 2022-09-16 2022-12-13 山东云海国创云计算装备产业创新中心有限公司 Dma传输的控制方法、控制装置、控制设备及存储介质
CN116257472A (zh) * 2023-05-15 2023-06-13 上海励驰半导体有限公司 接口控制方法、装置、电子设备及存储介质
CN117370262A (zh) * 2023-08-31 2024-01-09 华为技术有限公司 通信方法、装置、芯片系统和电子设备
CN117520016A (zh) * 2023-11-21 2024-02-06 北京芯驰半导体科技有限公司 应用共享方法、装置、芯片、电子设备及存储介质

Also Published As

Publication number Publication date
CN117807016B (zh) 2024-07-09

Similar Documents

Publication Publication Date Title
AU2016414391B2 (en) Packet processing method in cloud computing system, host, and system
US9515890B2 (en) Method, system and controlling bridge for obtaining port extension topology information
EP2250772B1 (en) Method and system for offloading network processing
CN107222637B (zh) 一种连接方法和装置、车载系统、终端、存储介质
CN114077480B (zh) 一种主机与虚拟机共享内存方法、装置、设备及介质
CN114545906B (zh) 车载以太网网关及车辆
CN111385238B (zh) 一种数据传输方法及装置
CN108781350B (zh) 具有用于多个控制单元的通信单元的机动车
CN109981473B (zh) 一种实时消息总线系统
WO2022251998A1 (zh) 支持多协议栈的通信方法及系统
US20240054821A1 (en) Management device, in-vehicle system, vehicle, communication management method and storage medium
Kenjić et al. Connectivity challenges in automotive solutions
CN117807016B (zh) 多核异构系统与外部设备的通信方法、设备、存储介质
CN117520016A (zh) 应用共享方法、装置、芯片、电子设备及存储介质
CN113765801B (zh) 应用于数据中心的报文处理方法和装置、电子设备和介质
CN109981778B (zh) 内容分发网络的服务实现方法、装置、设备及存储介质
WO2024026593A1 (zh) 一种协同控车方法及相关装置
CN115412394A (zh) 基于AutoSar的异构域控制器核间通信方法
US9971724B1 (en) Optimal multi-core network architecture
CN107273082A (zh) 图像的显示方法、装置、终端及存储介质
KR102108526B1 (ko) 서버 내 네트워크 지연시간 측정 방법 및 그 시스템
KR20120032102A (ko) 유에스비 장치의 전력 절감을 위한 장치 및 방법
CN117499318B (zh) 云计算虚拟网络系统、及其使用方法、装置、设备及介质
US11882160B1 (en) Asymmetric data transmission using efficiency features
US20220269546A1 (en) Control device, method, program, and vehicle

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