本公开涉及多核芯片,特别涉及一种数据传输的方法、多核芯片。
背景技术:
1、多核芯片的多个核心(core)间可通过总线连接双倍速率同步动态随机存储器(double data rate,ddr)以传输数据,故各核心间的数据传输会消耗大量的ddr带宽,由此总线吞吐量成为限制芯片处理速度的重要因素之一。
技术实现思路
1、本公开提供一种数据传输的方法、多核芯片,其能降低总线中传输的数据量,提升多核芯片的处理速度等性能。
2、第一方面,本公开实施例提供一种数据传输的方法,用于多核芯片中的发送核心,所述多核芯片包括多个与总线连接的核心,其中至少一个所述核心为所述发送核心,所述方法包括:
3、根据待写入总线的目标数据,确定所述目标数据的压缩方案;所述压缩方案包括不压缩或目标压缩方案;所述不压缩表示不对所述目标数据进行压缩;
4、响应于所述压缩方案为不压缩,将所述目标数据作为上线数据写入所述总线;
5、响应于所述压缩方案为目标压缩方案,将所述目标数据用目标压缩算法压缩得到上线数据并将所述上线数据写入所述总线,至少向接收所述上线数据的核心发送所述上线数据的标识和压缩方案,所述目标压缩算法为无损压缩算法。
6、在一些实施例中,所述至少向接收所述上线数据的核心发送所述上线数据的标识和压缩方案包括:
7、广播所述上线数据的标识和压缩方案。
8、在一些实施例中,所述根据待写入总线的目标数据,确定所述目标数据的压缩方案包括:
9、确定所述目标数据的冗余度;所述冗余度表征所述目标数据中重复信息的占比;
10、若所述目标数据的冗余度大于预设阈值,从多个预设的候选压缩算法中选取出所述目标压缩方案的目标压缩算法;
11、若所述目标数据的冗余度小于或等于预设阈值,确定所述压缩方案为不压缩。
12、在一些实施例中,所述目标压缩算法选自以下一种:
13、字典压缩算法、游程编码压缩算法。
14、在一些实施例中,所述压缩方案还包括:
15、获取所述目标压缩算法的压缩级别。
16、第二方面,本公开实施例提供数据传输的方法,用于多核芯片中的接收核心,所述多核芯片包括多个与总线连接的核心,其中至少部分所述核心为所述接收核心,所述方法包括:
17、接收来自总线的上线数据;
18、响应于确定所述上线数据未被压缩,用所述上线数据作为目标数据;
19、响应于接收到所述上线数据的标识和压缩方案,且所述压缩方案为目标压缩方案,用目标压缩算法解压所述上线数据得到目标数据,所述目标压缩算法为无损压缩算法。
20、在一些实施例中,所述目标压缩算法选自以下一种:
21、字典压缩算法、游程编码压缩算法。
22、在一些实施例中,所述压缩方案还包括:获取所述目标压缩算法的压缩级别。
23、第三方面,本公开实施例提供一种多核芯片,包括多个与总线连接的核心,其中至少部分所述核心为发送核心,至少部分所述核心为接收核心;
24、所述发送核心被配置为本公开实施例的任意一种数据传输的方法;
25、所述接收核心被配置为本公开实施例的任意一种数据传输的方法。
26、在一些实施例中,总线连接双倍速率同步动态随机存储器ddr。
27、本公开实施例中,多核芯片中的发送核心可检测需要发送的目标数据是否应被压缩,并在需要时选用合适的目标压缩算法将数据压缩后再发送至总线,而需要接收数据的接收核心则将来自总线的数据解压后再使用,由此,进入总线的上线数据是经过压缩的,总线中传输的数据量大大降低,节省总线吞吐量,进而提升多核芯片的处理速度等性能;而且,本公开实施例的方式不用对多核芯片的总线架构进行改变,容易实现。
1.一种数据传输的方法,用于多核芯片中的发送核心,所述多核芯片包括多个与总线连接的核心,其中至少一个所述核心为所述发送核心,所述方法包括:
2.根据权利要求1所述的方法,其中,所述至少向接收所述上线数据的核心发送所述上线数据的标识和压缩方案包括:
3.根据权利要求1所述的方法,其中,所述根据待写入总线的目标数据,确定所述目标数据的压缩方案包括:
4.根据权利要求1所述的方法,其中,所述目标压缩算法选自以下一种:
5.根据权利要求1所述的方法,其中,所述压缩方案还包括:
6.一种数据传输的方法,用于多核芯片中的接收核心,所述多核芯片包括多个与总线连接的核心,其中至少部分所述核心为所述接收核心,所述方法包括:
7.根据权利要求6所述的方法,其中,所述目标压缩算法选自以下一种:
8.根据权利要求6所述的方法,其中,所述压缩方案还包括:
9.一种多核芯片,包括多个与总线连接的核心,其中至少一个所述核心为发送核心,至少一个所述核心为接收核心;
10.根据权利要求9所述的多核芯片,其中,