数据传输方法、处理器、计算机设备以及存储介质与流程
- 国知局
- 2024-12-06 12:31:45
本申请涉及计算机,具体涉及一种数据传输方法、处理器、计算机设备以及存储介质。
背景技术:
1、在现有应用中,很多处理器支持指令乱序执行,即指令的执行过程不受软件程序代码中记载的指令顺序的限制,处理器可以结合预设的指令乱序执行机制执行各指令,指令乱序执行可以提高处理器的指令执行效率。
2、但是在数据传输应用场景中,指令乱序执行有可能导致数据传输错误。以基于描述符实现的数据传输机制为例,处理器在内存中准备好待传输数据后执行配置指令,通过描述符记载待传输数据的数据信息,在描述符配置完成后,还需要通知外部设备描述符已经配置完毕,外部设备响应于该通知,获取内存中的待传输数据,完成一次数据传输过程。但是,在指令乱序执行机制下,如果处理器在完成描述符配置之前,即执行相应指令以通知外部设备描述符配置完成,会导致外部设备根据未配置完成的描述符获取数据,进而获取到错误数据,导致数据传输错误。
技术实现思路
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、基于上述内容,通过本申请提供的数据传输方法,应用于与外部设备通信连接的处理器,处理器首先获取用于实现数据传输的指令序列,并且,该指令序列包括用于配置描述符的配置指令和指示描述符配置完成的标记指令,然后,在配置指令和标记指令之间插入目标指令并执行指令序列,完成数据传输,本申请提供的数据传输方法,在配置指令和标记指令之间插入目标指令,通过目标指令限定配置指令在标记指令执行前执行结束,即严格限定配置指令与标记指令的执行顺序,在完成描述符配置后再执行标记指令通知外部设备描述符已完成配置,避免二者乱序执行,从而确保外部设备可以根据配置后的描述符获取正确的数据,提高数据传输过程的可靠性。
技术特征:1.一种数据传输方法,其特征在于,应用于处理器,所述处理器与外部设备通信连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,执行所述指令序列,包括:
3.根据权利要求2所述的方法,其特征在于,所述指令序列还包括用于启动数据传输过程的传输指令,在执行所述指令序列之前,所方法还包括:
4.根据权利要求3所述的方法,其特征在于,执行所述指令序列的过程,还包括:
5.根据权利要求2所述的方法,其特征在于,所述外部设备设置有至少一个描述符寄存器,每一个描述符寄存器对应一个描述符;
6.根据权利要求1至5任一项所述的方法,其特征在于,所述目标指令包括内存屏障指令。
7.根据权利要求2至5任一项所述的方法,其特征在于,所述处理器通过高速缓存访问所述内存,所述目标指令包括缓存刷新指令;
8.一种处理器,其特征在于,所述处理器配置为:执行如权利要求1至7任一项所述的数据传输方法。
9.一种计算机设备,其特征在于,包括:处理器、通信总线以及外部设备,其中,
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
技术总结本申请提供一种数据传输方法、处理器、计算机设备以及存储介质,应用于计算机技术领域,该方法首先获取用于实现数据传输的指令序列,且该指令序列包括用于配置描述符的配置指令和指示描述符配置完成的标记指令,在配置指令和标记指令之间插入目标指令并执行指令序列,完成数据传输,通过目标指令限定配置指令在标记指令执行前执行结束,即严格限定配置指令与标记指令的执行顺序,在完成描述符配置后再执行标记指令通知外部设备描述符已完成配置,避免二者乱序执行,从而确保外部设备可以根据配置后的描述符获取正确的数据,提高数据传输过程的可靠性。技术研发人员:杨培宇,陈才,王家兴,齐洪敏,贾子飞受保护的技术使用者:飞腾信息技术有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/341937.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。