本申请涉及但不限于计算机,尤其涉及一种数据处理方法及装置。
背景技术:
1、片上系统(system on chip,soc)包含多个功能模块,例如,处理器核心、内存控制器、外设控制器、加速器等。soc的多个功能模块之间需要采用特定的总线规范来进行高效的通信和数据传输。因此,如何优化soc中总线采用的调度算法,以提高各个功能模块之间的通信效率,成为亟需解决的问题。
技术实现思路
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、在一些实施例中,所述确定每一所述第二数据中的每一数据单元在所述下一总线调度周期内的调度顺序之后,所述方法还包括:
27、在所述当前总线的输入端口接收第三数据;
28、在所述第三数据的优先级高于至少一个所述第二数据对应的第一数据的优先级的情况下,基于所述第三数据对应的权重信息,确定所述第三数据对应的第二数据;
29、利用所述第三数据对应的第二数据更新所述调度顺序,以得到所述更新后的调度顺序;
30、所述基于所述调度顺序,将每一所述第二数据发送至接收目标,包括:
31、基于所述更新后的调度顺序,将每一所述第二数据发送至接收目标。
32、在一些实施例中,所述在下一总线调度周期内,将每一所述第二数据发送至接收目标,包括:
33、在下一总线调度周期内,将每一所述第二数据发送至所述当前总线的输出端口;
34、对所述当前总线的输出端口处缓存的、与同一第一数据对应的至少一个第二数据进行重组,得到至少一个重组后的第一数据;
35、将每一所述重组后的第一数据发送至接收目标。
36、在一些实施例中,至少一个所述第一数据为第四数据;所述第四数据在总线调度周期内具有指定的总线访问频率;
37、所述方法还包括:
38、确定所述第四数据对应的传输延迟信息;其中,所述传输延迟信息表征由所述当前总线与用于发送所述第四数据的上级设备之间的传输线路产生的延迟信息;
39、在所述当前总线输入端口接收所述第四数据之前,基于所述传输延迟信息,确定将要用于调度所述第四数据的第一个总线调度周期的第一起始时间;
40、基于所述第一起始时间,在至少一个总线调度周期内将所述第四数据发送至接收目标。
41、在一些实施例中,所述上级设备表征用于传输所述第四数据的、所述当前总线的上级总线;
42、所述基于所述第一起始时间,在至少一个总线调度周期内将所述第四数据发送至接收目标,包括:
43、确定所述第四数据在所述上级总线的每一总线调度周期内占用的第一数据量;
44、确定所述第四数据在所述当前总线的每一总线调度周期内占用的第二数据量;其中,所述第二数据量不小于所述第一数据量;
45、基于所述第一起始时间及所述第二数据量,在至少一个总线调度周期将所述第四数据发送至接收目标。
46、另一方面,本申请还提供了一种数据处理装置,包括:
47、接收模块,用于在当前总线输入端口接收多个第一数据;其中,每一所述第一数据具有对应的权重信息;
48、数据拆分模块,用于基于指定的单位数据量,将每一所述第一数据拆分为至少一个数据单元;其中,所述单位数据量表征所述当前总线单次调度的最小数据量;
49、第一确定模块,用于基于每一所述第一数据对应的权重信息,从每一所述第一数据中确定相应数量的数据单元作为与对应的第一数据相对应的第二数据;
50、发送模块,用于在下一总线调度周期内,将每一所述第二数据按照调度顺序依次从所述当前总线输入端口发送至接收目标。
51、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
1.一种数据处理方法,其中,所述方法包括:
2.根据权利要求1所述的方法,其中,所述基于每一所述第一数据对应的权重信息,从每一所述第一数据中确定相应数量的数据单元作为与对应的第一数据相对应的第二数据,包括:
3.根据权利要求1或2所述的方法,其中,每一所述第一数据具有对应的优先级信息;
4.根据权利要求3所述的方法,其中,所述基于指定的单位数据量,将每一所述第一数据拆分为至少一个数据单元之后,所述方法还包括:
5.根据权利要求4所述的方法,其中,所述基于所述接收时间信息,确定每一所述第二数据中的每一数据单元在所述下一总线调度周期内的调度顺序,包括:
6.根据权利要求3至5中任一项所述的方法,其中,所述在下一总线调度周期内,将每一所述第二数据按照调度顺序依次从所述当前总线输入端口发送至接收目标,包括:
7.根据权利要求4至6中任一项所述的方法,其中,所述确定每一所述第二数据中的每一数据单元在所述下一总线调度周期内的调度顺序之后,所述方法还包括:
8.根据权利要求1至6中任一项所述的方法,其中,所述在下一总线调度周期内,将每一所述第二数据发送至接收目标,包括:
9.根据权利要求1至6中任一项所述的方法,其中,至少一个所述第一数据为第四数据;所述第四数据在总线调度周期内具有指定的总线访问频率;
10.根据权利要求9所述的方法,其中,所述上级设备表征用于传输所述第四数据的、所述当前总线的上级总线;
11.一种数据处理装置,包括:
