一种线程预操作方法、装置和存储介质制造方法及图纸

技术编号:19691100 阅读:22 留言:0更新日期:2018-12-08 10:59
一种线程预操作方法、装置和存储介质,用于提高线程预操作的准确性。本申请实施例中,一方面根据目标程序特征信息的指令运行参数对待执行指令流进行第一预操作,提高待执行指令流的处理速度;另一方面,若确定对待执行指令流进行所述第一预操作后的结果不正确,则使用待执行指令流的指令运行参数更新目标程序特征信息的指令运行参数,以使后续可根据更新的目标程序特征信息对与该目标程序特征信息匹配的待执行指令流进行预操作,提高预操作的准确度,且也避免了直接将目标程序特征信息无效掉所带来的资源浪费问题。

【技术实现步骤摘要】
一种线程预操作方法、装置和存储介质
本申请实施例涉及通信领域,尤其涉及一种线程预操作方法、装置和存储介质。
技术介绍
目前,在多线程业务场景中存在一个特点,即各个线程之间的程序流程具有相似性,或线程内不同阶段存在相似性。比如说,无线基站业务中为不同用户提供语音,数据服务的时候,各个线程的处理流程具有相似性;或者图形处理,数据挖掘,网上商城业务中存在很多并行化处理流程,各个线程上运行的处理算法具有相似性。这些相似性在指令层面,比如可表现为分支跳转模式,访存模式的相似。如果针对上述具有相似性的各个线程仍然单独进行处理,则资源占用率较大,且各个线程的处理速度也受到限制。
技术实现思路
本申请实施例提供一种线程预操作方法、装置和存储介质,用于提高线程预操作的准确性。第一方面,本申请实施例提供一种线程预操作方法,该方法包括:确定待执行指令流的程序特征信息中的指令类型参数;从程序特征信息库中的多条程序特征信息中,确定出指令类型参数与待执行指令流的指令类型参数匹配的目标程序特征信息;其中,多条程序特征信息中的每条程序特征信息包括:该条程序特征信息的指令类型参数和该条程序特征信息的指令运行参数;根据目标程序特征信息的指令运行参数,对待执行指令流进行第一预操作;若确定对待执行指令流进行第一预操作后的结果不正确,则确定待执行指令流的程序特征信息中的指令运行参数;使用待执行指令流的指令运行参数更新目标程序特征信息的指令运行参数。由于本申请实施例中,确定出指令类型参数与待执行指令流的指令类型参数匹配的目标程序特征信息后,可根据目标程序特征信息的指令运行参数对待执行指令流进行预操作,从而提高了待执行指令流的处理速度,且降低了资源占用率;另一方面,若确定对待执行指令流进行第一预操作后的结果不正确,则确定待执行指令流的程序特征信息中的指令运行参数,使用待执行指令流的指令运行参数更新目标程序特征信息的指令运行参数,如此在后续存在与该目标程序特征信息匹配的待执行指令流时,可以根据更新了指令运行参数的目标程序特征信息进行预操作,提高了对后续与目标程序特征信息匹配的待执行指令流的预操作的准确度,且也避免了直接将目标程序特征信息无效掉所带来的资源浪费问题。可选地,从程序特征信息库中的多条程序特征信息中,确定出指令类型参数与待执行指令流的指令类型参数匹配的目标程序特征信息之后,还包括:确定待执行指令流的程序特征信息中的指令运行参数;若待执行指令流的指令运行参数与目标程序特征信息的指令运行参数不同,则:使用待执行指令流的指令运行参数更新目标程序特征信息的指令运行参数;根据待执行指令流的指令运行参数,对待执行指令流进行第二预操作。如此可提高预操作的准确率。可选地,若用于指示指令类型的信息所指示出的指令类型包括:读操作类型或写操作类型;则:指令运行参数包括:待操作数据的起始存储地址、相邻两个待操作数据的存储地址之间的偏移量和操作的次数N;N为大于等于1的正整数;根据目标程序特征信息的指令运行参数,对待执行指令流进行第一预操作,包括:从待操作数据的起始存储地址起始,以相邻两个待操作数据的存储地址之间的偏移量为间隔,对待执行指令流执行N次读取数据的操作。也就是说,若指令类型为读操作类型,则在还未执行待执行指令流的情况下,可以先将待读取的数据从该数据的存储地址处进行预读入,再比如,指令类型为写操作类型,则在还未执行待执行指令流的情况下,可以先将待写入的数据从该数据的存储地址处进行预读入,从而提高待执行指令流的处理速率。可选地,若用于指示指令类型的信息所指示出的指令类型包括:分支跳转操作类型;指令运行参数包括:跳转指令的标识,以及跳转指令与下一跳指令之间的偏移量;根据目标程序特征信息的指令运行参数,对待执行指令流进行第一预操作,包括:根据目标程序特征信息中包括的指令运行参数中的跳转指令的标识,从待执行指令流中预取跳转指令的标识所标识的指令,以及根据目标程序特征信息中包括的指令运行参数中的跳转指令与下一跳指令之间的偏移量预取下一跳指令;运行预取到的跳转指令和下一跳指令。如此可以对程序特征信息库进行修正,以使提高后续预操作的准确性。可选地,若用于指示指令类型的信息所指示出的指令类型包括:分支跳转操作类型;则指令类型参数中还包括:分支跳转条件。可选地,指令运行参数包括:循环次数。如此可以先进行循环多次的预操作,进一步提高处理速率。可选地,指令类型参数包括:用于指示指令类型的信息,和/或,用于指示指令类型的指令的标识。如此,可以通过指令类型参数确定待执行指令流和目标程序特征信息是否匹配,提高对待执行指令流的预操作的准确度。可选地,确定待执行指令流的程序特征信息中的指令运行参数,包括:解析待执行指令流中的部分指令;根据解析的部分指令中包括的立即数和/或寄存器地址所指示的寄存器中存储的数据,获取待执行指令流的指令运行参数。如此可以根据解析后的指令获取指令运行参数,从而为实现对程序特征信息库的修正提供基础。第二方面,本申请实施例提供一种网络设备,网络设备包括存储器和处理器,其中:存储器用于存储指令;处理器用于根据执行存储器存储的指令;当处理器执行存储器存储的指令时,网络设备用于执行上述第一方面或第一方面中任一种方法。第三方面,本申请实施例提供一种网络设备,用于实现上述第一方面或第一方面中的任意一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。第四方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。本申请实施例中,确定待执行指令流的程序特征信息中的指令类型参数;从程序特征信息库中的多条程序特征信息中,确定出指令类型参数与待执行指令流的指令类型参数匹配的目标程序特征信息;其中,多条程序特征信息中的每条程序特征信息包括:该条程序特征信息的指令类型参数和该条程序特征信息的指令运行参数;根据目标程序特征信息的指令运行参数,对待执行指令流进行第一预操作;若确定对待执行指令流进行第一预操作后的结果不正确,则确定待执行指令流的程序特征信息中的指令运行参数;使用待执行指令流的指令运行参数更新目标程序特征信息的指令运行参数。由于本申请实施例中,确定出指令类型参数与待执行指令流的指令类型参数匹配的目标程序特征信息后,可根据目标程序特征信息的指令运行参数对待执行指令流进行预操作,从而提高了待执行指令流的处理速度,且降低了资源占用率;另一方面,若确定对待执行指令流进行第一预操作后的结果不正确,则确定待执行指令流的程序特征信息中的指令运行参数,使用待执行指令流的指令运行参数更新目标程序特征信息的指令运行参数,如此在后续存在与该目标程序特征信息匹配的待执行指令流时,可以根据更新了指令运行参数的目标程序特征信息进行预操作,提高了对后续与目标程序特征信息匹配的待执行指令流的预操作的准确度,且也避免了直接将目标程序特征信息无效掉所带来的资源浪费问题。附图说明图1为本申请实施例适用的一种系统架构示意图;图1a为本申请实施例提供的一种程序特征信息库中存本文档来自技高网...

【技术保护点】
1.一种线程预操作方法,其特征在于,包括:确定待执行指令流的程序特征信息中的指令类型参数;从程序特征信息库中的多条程序特征信息中,确定出指令类型参数与所述待执行指令流的指令类型参数匹配的目标程序特征信息;其中,所述多条程序特征信息中的每条程序特征信息包括:该条程序特征信息的指令类型参数和该条程序特征信息的指令运行参数;根据所述目标程序特征信息的指令运行参数,对所述待执行指令流进行第一预操作;若确定对所述待执行指令流进行所述第一预操作后的结果不正确,则确定所述待执行指令流的程序特征信息中的指令运行参数;使用所述待执行指令流的指令运行参数更新所述目标程序特征信息的指令运行参数。

【技术特征摘要】
1.一种线程预操作方法,其特征在于,包括:确定待执行指令流的程序特征信息中的指令类型参数;从程序特征信息库中的多条程序特征信息中,确定出指令类型参数与所述待执行指令流的指令类型参数匹配的目标程序特征信息;其中,所述多条程序特征信息中的每条程序特征信息包括:该条程序特征信息的指令类型参数和该条程序特征信息的指令运行参数;根据所述目标程序特征信息的指令运行参数,对所述待执行指令流进行第一预操作;若确定对所述待执行指令流进行所述第一预操作后的结果不正确,则确定所述待执行指令流的程序特征信息中的指令运行参数;使用所述待执行指令流的指令运行参数更新所述目标程序特征信息的指令运行参数。2.如权利要求1所述的方法,其特征在于,确定出指令类型参数与所述待执行指令流的指令类型参数匹配的目标程序特征信息之后,还包括:确定所述待执行指令流的程序特征信息中的指令运行参数;若所述待执行指令流的指令运行参数与所述目标程序特征信息的指令运行参数不同,则:使用所述待执行指令流的指令运行参数更新所述目标程序特征信息的指令运行参数;根据所述待执行指令流的指令运行参数,对所述待执行指令流进行第二预操作。3.如权利要求1或2所述的方法,其特征在于,所述指令类型参数所指示出的指令类型包括:读操作类型或写操作类型;则:所述指令运行参数包括:待操作数据的起始存储地址、相邻两个待操作数据的存储地址之间的偏移量和操作的次数N;所述N为大于等于1的正整数;所述根据所述目标程序特征信息的指令运行参数,对所述待执行指令流进行第一预操作,包括:从所述待操作数据的起始存储地址起始,以相邻两个待操作数据的存储地址之间的偏移量为间隔,对所述待执行指令流执行N次读取数据的操作。4.如权利要求1至3任一权利要求所述的方法,其特征在于,若所述用于指示指令类型的信息所指示出的指令类型包括:分支跳转操作类型;则:所述指令运行参数包括:跳转指令的标识,以及所述跳转指令与下一跳指令之间的偏移量;所述根据所述目标程序特征信息的指令运行参数,对所述待执行指令流进行第一预操作,包括:根据所述目标程序特征信息中包括的指令运行参数中的跳转指令的标识,从所述待执行指令流中预取所述跳转指令的标识所标识的指令,以及根据所述目标程序特征信息中包括的指令运行参数中的所述跳转指令与下一跳指令之间的偏移量预取所述下一跳指令;运行预取到的所述跳转指令和所述下一跳指令。5.如权利要求1至4任一权利要求所述的方法,其特征在于,确定待执行指令流的程序特征信息中的指令运行参数,包括:解析所述待执行指令流中的部分指令;根据解析的所述部分指令中包括的立即数和/或寄存器地址所指示的寄存器中存储的数据,获取所述待执行指令流的指令运行参数。6.一种线程预操作装置,其特征在于,包括:存储单元,用于存储程序特征信息库中的多条程序特征信息;处理单元,用于确定待执行指令流的程序特征信息中的指令类型参数;从程序特征信息库中的多条程序特征信息中,确定出指令类型参数与所述待执行指令流的指令类型参数匹配的目标程序特征信息;其中,所述多条程序特征信息中的每条程序特征信息包括:该条程序特征...

【专利技术属性】
技术研发人员:李景超叶荣标方磊
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1