CN116049051A - 数据传输方法及电子设备 - Google Patents
数据传输方法及电子设备 Download PDFInfo
- Publication number
- CN116049051A CN116049051A CN202310150884.8A CN202310150884A CN116049051A CN 116049051 A CN116049051 A CN 116049051A CN 202310150884 A CN202310150884 A CN 202310150884A CN 116049051 A CN116049051 A CN 116049051A
- Authority
- CN
- China
- Prior art keywords
- bus
- processor
- kernel
- ring bus
- core
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了一种数据传输方法及电子设备,所述电子设备中包含第一处理器、第二处理器和第一环形总线,所述第一处理器通过其第一接口连接到所述第一环形总线,所述第二处理器通过其第二接口连接到所述第一环形总线,所述第一环形总线基于第一总线协议传输数据;所述方法包括:所述第一处理器中的第一内核能够将所述第一内核对应的缓存区域中的数据至少通过所述第一环形总线传输给所述第二处理器中的第二内核;所述第二处理器中的第二内核能够将所述第二内核对应的缓存区域中的数据至少通过所述第一环形总线传输给所述第一内核。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法及电子设备。
背景技术
目前,不同类型的处理器内核之间的数据传输通过D2D(Device to Device)通信技术实现,这就导致内核之间数据传输延迟较大。
发明内容
有鉴于此,本申请提供一种数据传输方法及电子设备,如下:
一种数据传输方法,应用于电子设备,所述电子设备中包含第一处理器、第二处理器和第一环形总线,所述第一处理器通过其第一接口连接到所述第一环形总线,所述第二处理器通过其第二接口连接到所述第一环形总线,所述第一环形总线基于第一总线协议传输数据;所述方法包括:
所述第一处理器中的第一内核能够将所述第一内核对应的缓存区域中的数据至少通过所述第一环形总线传输给所述第二处理器中的第二内核;
所述第二处理器中的第二内核能够将所述第二内核对应的缓存区域中的数据至少通过所述第一环形总线传输给所述第一内核。
上述方法,优选的,所述电子设备还包含内存,所述内存连接到所述第一环形总线;
其中,所述方法还包括:
所述内存中的数据能够通过所述第一环形总线传输给所述第一内核或所述第二内核;
所述第一内核对应的缓存区域中的数据至少能够通过所述第一环形总线传输给所述内存;
所述第二内核对应的缓存区域中的数据至少能够通过所述第一环形总线传输给所述内存。
上述方法,优选的,所述第一环形总线对应有第一缓存区域,所述第一缓存区域至少用于缓存所述第一内核、所述第二内核和所述内存中任意两者进行数据传输过程中的数据。
上述方法,优选的,所述第一处理器中包含多个第一内核和第二环形总线,每个所述第一内核分别连接到所述第二环形总线,所述第二环形总线连接所述第一环形总线;
所述第一内核之间通过所述第二环形总线进行数据传输。
上述方法,优选的,每个所述第一内核分别通过各自的接口连接到所述第二环形总线,所述第二环形总线基于第二总线协议传输数据,所述第二总线协议与所述第一总线协议相同。
上述方法,优选的,所述第一内核上运行有目标程序,所述方法还包括:
所述第一内核响应于接收到的内核切换指令,将所述目标程序的运行状态数据进行保存;所述内核切换指令用于指示所述目标程序切换到所述第二内核执行;
向第二内核发送状态宣告消息,以使得所述第二内核至少通过所述第一环形总线获得所述运行状态数据并根据所述运行状态数据运行所述目标程序。
上述方法,优选的,所述第一内核响应于接收到的内核切换指令,将所述目标程序的运行状态数据进行保存,包括:
所述第一内核响应于接收到的内核切换指令,将所述目标程序的运行状态数据保存到所述第一环形总线对应的第一缓存区域或者第二环形总线对应的第二缓存区域,所述第二环形总线为所述第一处理器中连接每个所述第一内核的环形总线,所述第二环形总线连接所述第一环形总线;以使得所述第二内核通过所述第一环形总线从所述第一缓存区域读取所述运行状态数据,或者,以使得所述第二内核通过所述第一环形总线和所述第二环形总线从所述第二缓存区域读取所述运行状态数据。
上述方法,优选的,所述电子设备通过所述第一环形总线连接有至少一个目标设备;
所述方法还包括:
所述内存通过所述第一环形总线与所述目标设备之间进行数据传输。
上述方法,优选的,所述方法还包括:
至少在所述第一环形总线对应的缓存区域、所述第一内核对应的缓存区域和所述第二内核对应的缓存区域中,获得处于空闲状态的目标区域,所述目标区域用于实现所述内存与所述目标设备之间的数据传输。
一种电子设备,包括:
第一处理器;
第二处理器;
第一环形总线;
其中,所述第一处理器通过其第一接口连接到所述第一环形总线,所述第二处理器通过其第二接口连接到所述第一环形总线,所述第一环形总线基于第一总线协议传输数据,以使得所述第一处理器中的第一内核和所述第二处理器中的第二内核之间能够通过所述第一环形总线进行数据传输。
从上述技术方案可以看出,本申请公开的一种数据传输方法及电子设备中,通过在电子设备中设置环形总线,进而使得各处理器的内核通过各自接口连接到环形总线,进而各处理器的内核之间通过环形总线进行数据传输,例如,第一处理器中的第一内核能够将第一内核对应的缓存区域中的数据至少通过第一环形总线传输给第二处理器中的第二内核,而第二处理器中的第二内核能够将第二内核对应的缓存区域中的数据至少通过第一环形总线传输给第一内核。可见,本申请中区别于各处理器之间D2D的传输方式,将各处理器通过各自接口连接到环形总线,从而使得各处理器的内核之间通过环形总线实现数据传输,由此通过环形总线降低内核之间数据传输的延迟,提高数据传输效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种数据传输方法的流程图;
图2-图6分别为本申请实施例一中电子设备的示例图;
图7为本申请实施例一提供的一种数据传输方法的部分流程图;
图8-图9分别为本申请实施例一中电子设备的另一示例图;
图10为本申请实施例二提供的一种电子设备的结构示意图;
图11为现有技术中处理器之间通过D2D方式进行数据传输的硬件逻辑图;
图12为本申请中处理器之间通过环形总线方式进行数据传输的硬件逻辑图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种数据传输方法的实现流程图,该方法适用于包含至少两个处理器的电子设备中,如包含有CPU和GPU的笔记本。本实施例中的技术方案主要用于降低内核之间数据传输延迟。
具体的,本实施例的方法可以包含如下步骤:
步骤101:第一处理器中的第一内核能够将第一内核对应的缓存区域中的数据至少通过第一环形总线传输给第二处理器中的第二内核。
步骤102:第二处理器中的第二内核能够将第二内核对应的缓存区域中的数据至少通过第一环形总线传输给第一内核。
其中,第一处理器与第二处理器可以为类型不同的处理器,也可以为类型相同的处理器。第一环形总线为电子设备内的环形总线,第一处理器通过其第一接口连接到第一环形总线,第二处理器通过其第二接口连接到第一环形总线,第一环形总线基于第一总线协议传输数据。第一接口可以为第一处理器中能够与其他部件相连接的物理接口,第二接口可以为第二处理器中能够与其他部件相连接的物理接口。第一环形总线可以为双向环形总线,其基于特定的总线协议实现数据传输。
例如,如图2中所示,CPU通过第一接口a连接到第一环形总线R1,即Ring BTW(between)Tiles,第一环形总线R1为基于特定总线协议的双向环形总线。GPU通过第二接口b连接到R1,CPU内核对应有L1/L2 Cache类型的缓存区域,GPU内核对应有L3 Cache类型的缓存区域,CPU中性能核P-Core(Performance Core)类型的内核C1能够将其缓存区域中的数据通过R1传输给GPU中的内核G1,GPU中的内核G1能够将其缓存区域中的数据通过R1传输给CPU中能效核E-Core(Efficient Core)类型的内核C2,等等,由此实现低延迟的数据传输。
由上述方案可知,本申请实施例一提供的一种数据传输方法中,通过在电子设备中设置环形总线,进而使得各处理器的内核通过各自接口连接到环形总线,进而各处理器的内核之间通过环形总线进行数据传输,例如,第一处理器中的第一内核能够将第一内核对应的缓存区域中的数据至少通过第一环形总线传输给第二处理器中的第二内核,而第二处理器中的第二内核能够将第二内核对应的缓存区域中的数据至少通过第一环形总线传输给第一内核。可见,本实施例中区别于各处理器之间D2D(内核通过接口直接相连)的传输方式,将各处理器通过各自接口连接到环形总线,从而使得各处理器的内核之间通过环形总线实现数据传输,由此通过环形总线降低内核之间数据传输的延迟,提高数据传输效率。
在一种实现方式中,电子设备中还包含有内存,内存连接到第一环形总线。具体的,内存通过第三接口连接到第一环形总线。
基于此,内存中的数据能够通过第一环形总线传输给第一内核或第二内核;第一内核对应的缓存区域中的数据至少能够通过第一环形总线传输给内存;第二内核对应的缓存区域中的数据至少能够通过第一环形总线传输给内存。由此,第一环形总线不仅能够实现不同类型的处理器的内核之间的快速数据传输,也能够实现内存与各处理器内核之间的快速数据传输。
例如,如图3中所示,CPU通过第一接口a连接到第一环形总线R1,GPU通过第二接口b连接到R1,内存(Memory)M1通过内存控制器(Memory Controller)MC1连接到R1,CPU内核对应有L1/L2 Cache类型的缓存区域,GPU内核对应有L3 Cache类型的缓存区域,CPU中P-Core类型的内核C1能够将其缓存区域中的数据通过R1传输给GPU中的内核G1,GPU中的内核G1能够将其缓存区域中的数据通过R1传输给CPU中E-Core类型的内核,GPU中的内核能够将其缓存区域中的数据通过R1传输给MC1,MC1将数据写入内存N1,MC1将N1中的数据读取出来并通过R1传输给C2,等等,由此实现低延迟的数据传输。
基于以上实现方案,第一环形总线对应有第一缓存区域,第一缓存区域至少用于缓存第一内核、第二内核和内存中任意两者进行数据传输过程中的数据。
例如,如图4中所示,第一环形总线R1配置有L3 cache类型的第一缓存区域H1,CPU通过第一接口a连接到R1,GPU通过第二接口b连接到R1,内存N1通过内存控制器MC1连接到R1,CPU内核对应有L1/L2 Cache类型的缓存区域,GPU内核对应有L3 Cache类型的缓存区域,N1、CPU中的内核C1、C2和GPU中的内核G1之间在通过R1实现低延迟的数据传输时,通过R1对应的H1实现高速数据传输,由此实现低延迟的数据传输。
在一种实现方式中,第一处理器中包含多个第一内核和第二环形总线,每个第一内核分别连接到第二环形总线,第二环形总线连接第一环形总线。第二环形总线可以为双向环形总线。基于此,第一内核之间通过第二环形总线进行数据传输的同时,第一内核与其他处理器的内核或内存之间通过第一环形总线进行数据传输。
也就是说,具有多个内核的处理器中可以通过配置环形总线来降低数据传输延迟。
例如,如图5中所示,CPU通过第一接口a连接到第一环形总线R1,GPU通过第二接口b连接到R1,内存N1通过内存控制器MC1连接到R1,CPU配置有第二环形总线R2,即Ring BTWCores,且CPU有多个内核如P-Core、E-Core等类型的C1和C2,CPU的多个内核分别连接到R2,CPU内核对应有L1/L2 Cache类型的缓存区域,GPU内核对应有L3 Cache类型的缓存区域,CPU的C1能够将数据通过R2传输给CPU中的其他内核如C2,CPU中的内核C1能够将其缓存区域中的数据通过R1传输给GPU中的内核G1,GPU中的内核G1能够将其缓存区域中的数据通过R1传输给CPU中的内核C2,GPU中的内核G1能够将其缓存区域中的数据通过R1传输给MC1,MC1将数据写入内存N1,MC1将N1中的数据读取出来并通过R1传输给CPU的C2,等等,由此实现低延迟的数据传输。
基于以上实现方案,每个第一内核分别通过各自的接口连接到第二环形总线,第二环形总线基于第二总线协议传输数据,第二总线协议与第一总线协议相同。第二环形总线对应有第二缓存区域,以使得第一内核能够通过第二缓存区域缓存数据。
例如,如图6中所示,CPU通过第一接口a连接到第一环形总线R1,GPU通过第二接口b连接到R1,R1配置有L3 Cache类型的第一缓存区域,内存N1通过内存控制器MC1连接到R1,CPU配置有第二环形总线R2,R2为双向环形总线,R2中配置有L3 Cache类型的第二缓存区域H2,且CPU有多个内核如P-Core、E-Core等类型的C1和C2,CPU的多个内核分别通过各自的接口连接到R2,CPU内核对应有L1/L2 Cache类型的缓存区域,GPU内核G1对应有L3 Cache类型的缓存区域,CPU的C1能够将数据通过R2传输给CPU中的其他内核如C2,CPU中的内核C1能够将其缓存区域中的数据通过R1传输给GPU中的内核G1,GPU中的内核G1能够将其缓存区域中的数据通过R1传输给CPU中的内核C2,GPU中的内核G1能够将其缓存区域中的数据通过R1传输给MC1,MC1将数据写入内存N1,MC1将N1中的数据读取出来并通过R1传输给CPU的C2,等等,由此实现低延迟的数据传输。
在一种实现方式中,第一内核上运行有目标程序,基于此,本实施例中的方法还可以包含如下步骤,如图7中所示:
步骤103:第一内核响应于接收到的内核切换指令,将目标程序的运行状态数据进行保存。
其中,内核切换指令用于指示目标程序切换到第二内核执行。
具体的,目标程序为实现特定功能的程序,如图像处理程序等。在第一内核无法满足目标程序运行需求的情况下,内核切换指令被生成,响应于该内核切换指令,第一内核需要将目标程序切换到第二内核执行,此时,第一内核先将目标程序的运行状态数据进行保存。
例如,第一内核将目标程序的运行状态数据保存到第一环形总线对应的第一缓存区域,所述第二环形总线为第一处理器中连接每个第一内核的环形总线,第二环形总线连接第一环形总线,以使得第二内核通过第一环形总线从第一缓存区域读取运行状态数据;或者,第一内核将目标程序的运行状态数据保存到第二环形总线对应的第二缓存区域,以使得第二内核通过第一环形总线和第二环形总线从第二缓存区域读取运行状态数据。
步骤104:向第二内核发送状态宣告消息,以使得第二内核通过第一环形总线获得运行状态数据并根据运行状态数据运行目标程序。
具体的,第一内核可以通过第一环形总线将状态宣告消息传输给第二内核,由此,第二内核可以通过第一环形总线从第一缓存区域读取到运行状态数据并根据运行状态数据将目标程序恢复到切换前的运行状态;或者,第二内核可以通过第一环形总线和第二环形总线从第二缓存区域读取运行状态数据并根据运行状态数据将目标恢复到切换前的运行状态。
例如,如图8中所示,CPU通过第一接口a连接到第一环形总线R1,GPU通过第二接口b连接到R1,R1配置有L3 Cache类型的第一缓存区域H1,CPU配置有第二环形总线R2,R2为双向环形总线,R2中配置有L3 Cache类型的第二缓存区域H2,且CPU有多个内核如P-Core、E-Core等类型的C1和C2,CPU的多个内核分别通过各自的接口连接到R2,基于此,在CPU的C1上运行的图像处理程序需要切换到GPU的内核G1时,C1将图像处理程序的运行状态数据保存到R1的第一缓存区域H1或R2的第二缓存区域H2,基于此,GPU的内核G1通过R1获得第一缓存区域H1中的运行状态数据并根据运行状态数据运行图像处理程序,或者,GPU的内核G1通过R2和R2获得第二缓存区域H2中的运行状态数据并根据运行状态数据运行图像处理程序,由此,实现图像处理程序的内核快速切换。
在一种实现方式中,电子设备还可以通过第一环形总线连接至少一个目标设备。目标设备可以为具有输入输出接口的设备,如IO(Input Output)设备。基于此,电子设备中的内存通过第一环形总线与目标设备之间进行数据传输。
具体的,本实施例中至少在第一环形总线对应的缓存区域、第一内核对应的缓存区域和第二内核对应的缓存区域中,获得处于空闲状态的目标区域,目标区域用于实现内存与目标设备之间的数据传输。
也就是说,本实施例中可以在电子设备的所有缓存区域中,获得处于空闲状态的目标区域,由此,内存与目标设备之间在进行数据传输时,可以将这些目标区域作为数据缓存区域,由此实现快速数据传输。
例如,如图9中所示,CPU通过第一接口a连接到第一环形总线R1,GPU通过第二接口b连接到R1,内存N1通过内存控制器MC1连接到R1,CPU内核对应有L1/L2 Cache类型的缓存区域,GPU内核对应有L3 Cache类型的缓存区域,IO设备S1如基于TBT(Thunderbolt)、通用串行总线USB(Universal Serial Bus)、通用异步收发传输器UART(UniversalAsynchronous Receiver/Transmitter)/串行外设接口eSPI(Serial PeripheralInterface)设备也连接到R1,基于此,N1与IO设备S1之间通过R1实现低时延的数据传输,具体的,N1与IO设备S1之间利用R1的缓存区域、GPU内核G1的缓存区域以及CPU内核C1和C1的缓存区域中的空闲区域作为数据传输的缓存区域,通过R1实现低时延的数据传输。
参考图10,为本申请实施例二提供的一种电子设备的结构示意图,该电子设备可以包含如下结构:
第一处理器1001;
第二处理器1002,第二处理器1002与第一处理器1001类型相同或类型不同;例如,第一处理器1001为CPU,第二处理器1002为GPU。
第一环形总线1003;
其中,第一处理器1001通过其第一接口1004连接到第一环形总线1003,第二处理器1002通过其第二接口1005连接到第一环形总线1003,第一环形总线1003基于第一总线协议传输数据,以使得第一处理器1001中的第一内核1011和第二处理器1002中的第二内核1021之间能够通过第一环形总线1003进行数据传输。
由上述方案可知,本申请实施例二提供的一种电子设备中,通过在电子设备中设置环形总线,进而使得各处理器的内核通过各自接口连接到环形总线,进而各处理器的内核之间通过环形总线进行数据传输,例如,第一处理器中的第一内核能够将第一内核对应的缓存区域中的数据至少通过第一环形总线传输给第二处理器中的第二内核,而第二处理器中的第二内核能够将第二内核对应的缓存区域中的数据至少通过第一环形总线传输给第一内核。可见,本实施例中区别于各处理器之间D2D的传输方式,将各处理器通过各自接口连接到环形总线,从而使得各处理器的内核之间通过环形总线实现数据传输,由此通过环形总线降低内核之间数据传输的延迟,提高数据传输效率。
以Meteor Lake芯片为例,Meteor Lake的CPU采用大、中、小核设计,其中的P-Core与E-Core在同一个芯片Tile中,挂在同一个Ring下边。而LP E-Core处于系统级芯片SOC(System on Chip)tile中。
由此,程序在不同Core之间切换会存在数据延迟问题,如下:
轻负载Light loading时,P-Core/E-Core处于off状态,LP E-Core能够完成lightloading相关程序运行,当突然运行大loading程序时,必然存在一个P-Core/E-Core核心与LP E-core切换的过程,还有数据加载时间的过程,这些过程都存在延迟Latency。对应用程序来说,如果处理不好,会出现短时的启动缓慢问题.这个过程尤其对于GPU应该会更加明显,因为GPU运行数据量大。
如图11中所示,CPU Tile中包含多个P-Core和多个E-Core,这些内核分别对应有L1/L2 Cache类型的缓存区域,CPU Tile内对应有L3 Cache类型的缓存区域,GPU Tile内对应有L1/L2/L3 Cache类型的缓存区域。SOC Tile中包含有聚合结构coherent fabric、低功耗LP(Low power)E-Core以及内存控制器Memory Controller,SOC通过Memory Controller与内存Memory进行数据传输,LP E-Core与CPU的内核之间通过基于CPU的D2D方式进行数据传输,LP E-Core与GPU的内核之间通过基于GPU的D2D方式进行数据传输。由此,处理器的内核之间通过D2D方式存在数据传输延迟的情况。
为解决以上问题,本申请中提出一种针对小芯片Chiplet的方案,目的是通过Tile间Ring的方案,降低Tile间数据传输的延迟,提升数据传输效率以及性能performance。
具体的硬件逻辑如图12中所示:
双总线Double Ring方案:Small Ring(Core间Ring,即Ring BTW Cores)和BigRing(Tiles间Ring,即Ring BTW Tiles)。
其中,Cores间Ring:处于同一Tile内的P-Core与E-Core通过Tile内Ring bus实现数据共享;而Tiles间Ring:处于同一基板Substrate下的不同Tile之间数据环路。由此,实现各个Tile内部的L3 Cache的共享路径最短,从而实现单一或者局部Tile性能提升,而且,使P/E-Core与LP E-Core数据切换环路路径降低,降低数据延迟。
基于此,P/E-core向LP E-core切换的流程如下:
P/E-Core先将数据状态(即前文中的运行状态数据)写回write back to L3并与LP E-Core数据宣告,然后P/E-Core进入parking状态即off状态,LP E-Core根据负载loading的状态,动态的共享P/E-Core的L3 Cache类型的缓存区域。
LP E-Core向P/E-Core切换的流程如下:
LP E-Core先将数据write back L3 Cache,同时将P/E-Core从parking状态唤回active状态即唤醒状态,再与LP E-Core数据同步。
另外,I/O设备(如TBT、USB、uart/eSPI设备)与Memory之间直接数据传输实现时延Latency的降低。
可见,本申请中通过双向Ring能够降低Memory与I/O存储数据copy的路径,并且可以利用空闲的Cache作为直接存储器访问DMA(Direct Memory Access)数据拷贝buffer,由此提升IO数据copy速度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据传输方法,应用于电子设备,所述电子设备中包含第一处理器、第二处理器和第一环形总线,所述第一处理器通过其第一接口连接到所述第一环形总线,所述第二处理器通过其第二接口连接到所述第一环形总线,所述第一环形总线基于第一总线协议传输数据;所述方法包括:
所述第一处理器中的第一内核能够将所述第一内核对应的缓存区域中的数据至少通过所述第一环形总线传输给所述第二处理器中的第二内核;
所述第二处理器中的第二内核能够将所述第二内核对应的缓存区域中的数据至少通过所述第一环形总线传输给所述第一内核。
2.根据权利要求1所述的方法,所述电子设备还包含内存,所述内存连接到所述第一环形总线;
其中,所述方法还包括:
所述内存中的数据能够通过所述第一环形总线传输给所述第一内核或所述第二内核;
所述第一内核对应的缓存区域中的数据至少能够通过所述第一环形总线传输给所述内存;
所述第二内核对应的缓存区域中的数据至少能够通过所述第一环形总线传输给所述内存。
3.根据权利要求2所述的方法,所述第一环形总线对应有第一缓存区域,所述第一缓存区域至少用于缓存所述第一内核、所述第二内核和所述内存中任意两者进行数据传输过程中的数据。
4.根据权利要求1或2所述的方法,所述第一处理器中包含多个第一内核和第二环形总线,每个所述第一内核分别连接到所述第二环形总线,所述第二环形总线连接所述第一环形总线;
所述第一内核之间通过所述第二环形总线进行数据传输。
5.根据权利要求4所述的方法,每个所述第一内核分别通过各自的接口连接到所述第二环形总线,所述第二环形总线基于第二总线协议传输数据,所述第二总线协议与所述第一总线协议相同。
6.根据权利要求1或2所述的方法,所述第一内核上运行有目标程序,所述方法还包括:
所述第一内核响应于接收到的内核切换指令,将所述目标程序的运行状态数据进行保存;所述内核切换指令用于指示所述目标程序切换到所述第二内核执行;
向第二内核发送状态宣告消息,以使得所述第二内核至少通过所述第一环形总线获得所述运行状态数据并根据所述运行状态数据运行所述目标程序。
7.根据权利要求6所述的方法,所述第一内核响应于接收到的内核切换指令,将所述目标程序的运行状态数据进行保存,包括:
所述第一内核响应于接收到的内核切换指令,将所述目标程序的运行状态数据保存到所述第一环形总线对应的第一缓存区域或者第二环形总线对应的第二缓存区域,所述第二环形总线为所述第一处理器中连接每个所述第一内核的环形总线,所述第二环形总线连接所述第一环形总线;以使得所述第二内核通过所述第一环形总线从所述第一缓存区域读取所述运行状态数据,或者,以使得所述第二内核通过所述第一环形总线和所述第二环形总线从所述第二缓存区域读取所述运行状态数据。
8.根据权利要求2所述的方法,所述电子设备通过所述第一环形总线连接有至少一个目标设备;
所述方法还包括:
所述内存通过所述第一环形总线与所述目标设备之间进行数据传输。
9.根据权利要求8所述的方法,所述方法还包括:
至少在所述第一环形总线对应的缓存区域、所述第一内核对应的缓存区域和所述第二内核对应的缓存区域中,获得处于空闲状态的目标区域,所述目标区域用于实现所述内存与所述目标设备之间的数据传输。
10.一种电子设备,包括:
第一处理器;
第二处理器;
第一环形总线;
其中,所述第一处理器通过其第一接口连接到所述第一环形总线,所述第二处理器通过其第二接口连接到所述第一环形总线,所述第一环形总线基于第一总线协议传输数据,以使得所述第一处理器中的第一内核和所述第二处理器中的第二内核之间能够通过所述第一环形总线进行数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150884.8A CN116049051A (zh) | 2023-02-22 | 2023-02-22 | 数据传输方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150884.8A CN116049051A (zh) | 2023-02-22 | 2023-02-22 | 数据传输方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049051A true CN116049051A (zh) | 2023-05-02 |
Family
ID=86131490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310150884.8A Pending CN116049051A (zh) | 2023-02-22 | 2023-02-22 | 数据传输方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049051A (zh) |
-
2023
- 2023-02-22 CN CN202310150884.8A patent/CN116049051A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7313641B2 (en) | Inter-processor communication system for communication between processors | |
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
WO2014148174A1 (ja) | 電子機器 | |
CN102446158A (zh) | 多核处理器及多核处理器组 | |
US20080005437A1 (en) | Optimized performance and power access to a shared resource in a multiclock frequency system on a chip application | |
JP4368795B2 (ja) | プロセッサ間で通信を行うための改良プロセッサ間通信システム | |
CN109992543A (zh) | 一种基于zyzq-7000的pci-e数据高效传输方法 | |
WO2019141157A1 (zh) | 一种核间数据传输的装置和方法 | |
US8713248B2 (en) | Memory device and method for dynamic random access memory having serial interface and integral instruction buffer | |
CN103092787A (zh) | 一种基于PowerPC架构的多功能低功耗总线通讯模块 | |
US20200034060A1 (en) | System and method for providing a configurable storage media interface | |
KR20120134918A (ko) | 복수의 프로세서를 포함하는 전자 장치 | |
US20140075063A1 (en) | Smart device with no AP | |
CN116049051A (zh) | 数据传输方法及电子设备 | |
CN110633233A (zh) | 一种基于流水线的dma数据传输处理方法 | |
CN102622319B (zh) | 基于mpmc的高速存储器接口ip核的数据交换系统 | |
CN109800194A (zh) | 基于Linux系统的SDIO接口数据传输方法及装置 | |
JPH08314589A (ja) | 信号伝達装置 | |
EP2799979B1 (en) | Hardware abstract data structure, data processing method and system | |
CN112711547B (zh) | 一种存储器控制装置、控制方法和存储器芯片 | |
CN103034613A (zh) | 一种处理器间的数据通信方法及fpga设备 | |
CN101833523B (zh) | 数据存取方法 | |
CN101710310A (zh) | 一种amba接口电路 | |
WO2024017337A1 (zh) | 一种fifo存储控制电路、方法、芯片及电子设备 | |
JP4862395B2 (ja) | 情報処理装置及び情報処理装置の制御方法 |
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 |