一种信息处理方法、设备及存储介质技术

技术编号:24517363 阅读:15 留言:0更新日期:2020-06-17 06:42
本公开涉及一种信息处理方法、设备及存储介质,其中,该方法包括:获取至少两条指令;在发射队列执行指令发送之前,从至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存。采用本公开,降低了指令地址存储对CPU硬件资源的占用,提高执行处理器读取指令地址的准确性从而减少了功耗。

An information processing method, equipment and storage medium

【技术实现步骤摘要】
一种信息处理方法、设备及存储介质
本公开涉及信息处理
,尤其涉及一种信息处理方法、设备及存储介质。
技术介绍
在CPU内部包含指令地址,执行处理器在执行具体指令时需要把指令地址作为源操作数,执行处理器需要读取相应指令地址以执行指令。相关技术中,由于每条指令地址都需要存储,而指令越来越多,因此指令地址的存储大大占用了CPU的硬件资源。指令地址在CPU内部有多个执行处理器都需要使用,如果指令地址存储不当,则执行处理器在读取指令地址时若不能及时读取到指令地址势必会增加功耗。
技术实现思路
有鉴于此,本公开提出了一种信息处理方法、设备及存储介质,降低了指令地址存储对CPU硬件资源的占用,提高执行处理器读取指令地址的准确性从而减少了功耗。根据本公开的第一方面,提供了一种信息处理方法,所述方法包括:获取至少两条指令;在发射队列执行指令发送之前,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存。在一种可能的实现方式中,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;将符合所述预设类型的指令确定为所述目标指令,将所述目标指令的第一地址信息写入指令地址缓存。在一种可能的实现方式中,所将所述目标指令的第一地址信息写入指令地址缓存,包括:在指令地址队列(PCQ,ProgramCounterQueue)中为所述目标指令分配指令地址存储标识(ID);>根据所述指令地址存储ID,将所述第一地址信息存储于所述PCQ中对应的存储位置。在一种可能的实现方式中,所述在指令地址队列PCQ中为所述目标指令分配指令地址存储ID,包括:如果当前有两条目标指令需要写入所述PCQ中,则将第一条目标指令的存储ID设置为pc_tail_ptr,将第二条目标指令的存储ID设置为pc_tail_ptr+1;对于第i条目标指令,所述i为大于3的整数,则将pc_tail_ptr更新为pc_tail_ptr+2。在一种可能的实现方式中,第一地址信息所在的所述存储位置,位于所述PCQ中的重排序缓冲区域;计算所述PCQ的方式为:M=H*wp;其中,所述M为PCQ的大小,所述H为重排序缓冲的深度,所述wp为所述目标指令在所有指令中占有的比例。在一种可能的实现方式中,所述方法还包括:将所述存储ID和对应的目标指令信息封装入所述发射队列。在一种可能的实现方式中,所述方法还包括:当所述第一地址信息被提交指针所指向时,获取所述第一地址信息以执行对应的目标指令;若在目标指令执行过程中产生指令异常,按照如下优先级执行异常处理:第一优先级:当发生处理器复位或指令异常刷新时,重新获取异常处理的初始地址;第二优先级:当发生分支指令刷新时,将分支指令插入同步初始地址的同步微指令(UOP)中;第三优先级:将所述第一地址信息与提交所述目标指令的长度信息相加,得到被提交所述目标指令的后续指令的地址。在一种可能的实现方式中,所述方法还包括:在目标指令更新过程中产生同步初始地址的UOP,根据所述UOP中的立即数对初始地址进行更新,将更新后得到的地址作为指令更新后的新地址。在一种可能的实现方式中,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;将符合所述预设类型的指令确定为所述目标指令,在指令地址缓存中设置检查点,得到检查点信息;所述目标指令在发射队列执行指令发送时,根据提交所述目标指令的长度信息和所述检查点信息,得到所述目标指令的第一地址信息。在一种可能的实现方式中,所述在指令地址缓存中设置检查点,包括:将PCQ中的重排序缓冲区域分为R个区域,所述R为不小于重排序提交指令带宽上限的整数;将所述R个区域中每个区域的开始点确定为所述检查点。在一种可能的实现方式中,所述方法还包括:同步UOP在发射队列执行指令发送时产生阻塞信号;根据所述阻塞信号对同步UOP之后的指令进行阻塞,直到从所述重排序缓冲区域中读取所述同步UOP,提交所述目标指令。在一种可能的实现方式中,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;将符合所述预设类型的指令确定为所述目标指令,将所述目标指令跳转后得到的第二地址信息写入指令地址缓存。在一种可能的实现方式中,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;将符合所述预设类型的指令确定为所述目标指令,将所述目标指令的第一地址信息在指令地址缓存中进行缓存时区分所述第一地址信息的类型;根据用于表征地址高位的第一信息和用于表征地址低位的第二信息,对所述第一地址信息按照所述类型分别写入所述地址高位和所述地址低位。根据本公开的第二方面,提供了一种信息处理设备,所述设备包括:指令获取单元,用于获取至少两条指令;筛选单元,用于在发射队列执行指令发送之前,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存。在一种可能的实现方式中,所述筛选单元,进一步包括:判断子单元,用于判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;第一写入子单元,用于将符合所述预设类型的指令确定为所述目标指令,将所述目标指令的第一地址信息写入指令地址缓存。在一种可能的实现方式中,所述写入子单元,进一步用于:在PCQ中为所述目标指令分配指令地址存储ID;根据所述指令地址存储ID,将所述第一地址信息存储于所述PCQ中对应的存储位置。在一种可能的实现方式中,所述写入子单元,进一步用于:如果当前有两条目标指令需要写入所述PCQ中,则将第一条目标指令的存储ID设置为pc_tail_ptr,将第二条目标指令的存储ID设置为pc_tail_ptr+1;对于第i条目标指令,所述i为大于3的整数,则将pc_tail_ptr更新为pc_tail_ptr+2。在一种可能的实现方式中,第一地址信息所在的所述存储位置,位于所述PCQ中的重排序缓冲区域;所述设备还包括计算单元,用于计算所述PCQ,计算所述PCQ的方式为:M=H*wp;其中,所述M为PCQ的大小,所述H为重排序缓冲的深度,所述wp为所述目标指令在所有指令中占有的比例。在一种可能的实现方式中,所述设备还包括:封装单元,用于将所述存储ID和对应的目标指令信息封装入所述发射队列。在一种可能的实现方式中,所述设备还包括:获取单元,用于当所述第本文档来自技高网...

【技术保护点】
1.一种信息处理方法,其特征在于,所述方法包括:/n获取至少两条指令;/n在发射队列执行指令发送之前,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存。/n

【技术特征摘要】
1.一种信息处理方法,其特征在于,所述方法包括:
获取至少两条指令;
在发射队列执行指令发送之前,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存。


2.根据权利要求1所述的方法,其特征在于,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:
判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;
将符合所述预设类型的指令确定为所述目标指令,将所述目标指令的第一地址信息写入指令地址缓存。


3.根据权利要求2所述的方法,其特征在于,将所述目标指令的第一地址信息写入指令地址缓存,包括:
在指令地址队列PCQ中为所述目标指令分配指令地址存储标识ID;
根据所述指令地址存储ID,将所述第一地址信息存储于所述PCQ中对应的存储位置。


4.根据权利要求3所述的方法,其特征在于,在指令地址队列PCQ中为所述目标指令分配指令地址存储ID,包括:
如果当前有两条目标指令需要写入所述PCQ中,则将第一条目标指令的存储ID设置为pc_tail_ptr,将第二条目标指令的存储ID设置为pc_tail_ptr+1;对于第i条目标指令,所述i为大于3的整数,则将pc_tail_ptr更新为pc_tail_ptr+2。


5.根据权利要求3所述的方法,其特征在于,第一地址信息所在的所述存储位置,位于所述PCQ中的重排序缓冲区域;
计算所述PCQ的方式为:M=H*wp;
其中,所述M为PCQ的大小,所述H为重排序缓冲的深度,所述wp为所述目标指令在所有指令中占有的比例。


6.根据权利要求3至5任一项所述的方法,其特征在于,所述方法还包括:
将所述存储ID和对应的目标指令信息封装入所述发射队列。


7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
当所述第一地址信息被提交指针所指向时,获取所述第一地址信息以执行对应的目标指令;
若在目标指令执行过程中产生指令异常,按照如下优先级执行异常处理:
第一优先级:当发生处理器复位或指令异常刷新时,重新获取异常处理的初始地址;
第二优先级:当发生分支指令刷新时,将分支指令插入同步初始地址的同步微指令UOP中;
第三优先级:将所述第一地址信息与提交所述目标指令的长度信息相加,得到被提交所述目标指令的后续指令的地址。


8.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
在目标指令更新过程中产生同步初始地址的UOP,根据所述UOP中的立即数对初始地址进行更新,将更新后得到的地址作为指令更新后的新地址。


9.根据权利要求1所述的方法,其特征在于,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:
判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;
将符合所述预设类型的指令确定为所述目标指令,在指令地址缓存中设置检查点,得到检查点信息;
所述目标指令在发射队列执行指令发送时,根据提交所述目标指令的长度信息和所述检查点信息,得到所述目标指令的第一地址信息。


10.根据权利要求9所述的方法,其特征在于,在指令地址缓存中设置检查点,包括:
将PCQ中的重排序缓冲区域分为R个区域,所述R为不小于重排序提交指令带宽上限的整数;
将所述R个区域中每个区域的开始点确定为所述检查点。


11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
同步UOP在发射队列执行指令发送时产生阻塞信号;
根据所述阻塞信号对同步UOP之后的指令进行阻塞,直到从所述重排序缓冲区域中读取所述同步UOP,提交所述目标指令。


12.根据权利要求1所述的方法,其特征在于,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:
判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;
将符合所述预设类型的指令确定为所述目标指令,将所述目标指令跳转后得到的第二地址信息写入指令地址缓存。


13.根据权利要求1所述的方法,其特征在于,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存,包括:
判断所述指令对应的指令类型是否符合所述指令地址缓存策略中的预设类型;
将符合所述预设类型的指令确定为所述目标指令,将所述目标指令的第一地址信息在指令地址缓存中进行缓存时区分所述第一地址信息的类型;
根据用于表征地址高位的第一信息和用于表征地址低位的第二信息,对所述第一地址信息按照所述类型分别写入所述地址高位和所述地址低位。


14.一种信息处理设备,其特征在于,所述设备包括:
指令获取单元,用于获取至少两条指令;
筛选单元,用于在发射队列执行指令发送之前,从所述至少两条指令中,筛选出与指令地址缓存策略匹配的目标指令进行缓存。


15....

【专利技术属性】
技术研发人员:刘权胜孙浩余洪斌
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海;31

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

1