一种数据处理的方法和设备技术

技术编号:9381762 阅读:120 留言:0更新日期:2013-11-28 00:09
本发明专利技术实施例提供一种数据处理的方法和设备,涉及数据处理领域,以提高数据处理设备对数据处理的效率,并减少数据处理过程中的功耗,该方法包括:数据处理设备读取寄存器中的数据,并获取该寄存器的状态信息,若根据该寄存器的状态信息确定该寄存器不缓存该数据,对该数据进行处理;若根据该寄存器的状态信息确定该寄存器缓存该数据,缓存该数据,并对该数据进行处理。该方法实施例用于数据处理。

【技术实现步骤摘要】
一种数据处理的方法和设备
本专利技术涉及数据处理领域,尤其涉及一种数据处理的方法和设备。
技术介绍
目前,通用数据处理设备采用寄存器堆的架构存储指令运行过程的中间结果及数据处理设备运行状态,是数据处理设备体系架构的一个重要组成部分。寄存器堆缓存技术已经日益成为一种重要的寄存器堆设计技术,在现有寄存器堆缓存技术中,寄存器堆的架构一般由寄存器堆缓存和主寄存器堆组成,主寄存器堆包括多个寄存器,其中,寄存器堆缓存中缓存有最近频繁使用的寄存器的数据,而主寄存器堆则存放所有寄存器的数据,数据处理设备在读取寄存器堆时,首先读取速度较快的寄存器堆缓存中的数据,如果寄存器堆缓存访问命中(即从该寄存器堆缓存中读取到对应的数据),则对该数据进行运算处理,如果发生寄存器堆缓存访问不命中(即没有从该寄存器堆缓存中读取到对应的数据),则继续读取速度较慢的主寄存器堆中的数据,并在对读取到的数据进行运算处理的同时,将该数据缓存至寄存器堆缓存中。但是,由于大部分寄存器数值中的数据在被使用一次后就无效了,因此寄存器堆缓存发生访问不命中后,读取的主寄存器堆中的数据在缓存后就再也不被使用而使得缓存的数据无效,并且由于该缓存的数据会替换掉寄存器堆缓存中原本有用的数据,从而导致寄存器堆缓存的使用效率下降,降低了数据处理设备对数据处理的效率,另外,由于数据处理设备对数据的缓存增加了数据处理设备的功耗,因此,在缓存上述无效的数据时,会造成数据处理设备功耗的浪费。
技术实现思路
本专利技术的实施例提供一种数据处理的方法和设备,以提高数据处理设备对数据处理的效率,并减少数据处理过程中的功耗。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种数据处理的方法,包括:数据处理设备读取寄存器中的数据,并获取所述寄存器的状态信息;若根据所述寄存器的状态信息确定所述寄存器不缓存所述数据,对所述数据进行处理;若根据所述寄存器的状态信息确定所述寄存器缓存所述数据,缓存所述数据,并对所述数据进行处理。在第一方面第一种可能的实现方式中,所述获取所述寄存器的状态信息包括:获取所述寄存器的标识信息;在数据处理设备读取寄存器中的数据,并获取所述寄存器的状态信息前,还包括:在寄存器堆中确定待缓存寄存器,其中,所述待缓存寄存器为在所述待缓存寄存器中的数据被读取后进行数据缓存的寄存器;将所述待缓存寄存器的标识信息调整为预设寄存器标识集合中的标识信息;其中,所述预设寄存器标识集合包括确定进行数据缓存的寄存器的标识信息;所述根据所述标识信息确定不缓存所述寄存器中的数据包括:在确定所述预设寄存器标识集合不包括所述寄存器的标识信息时,确定不缓存所述寄存器中的数据;所述根据所述标识信息确定缓存所述寄存器中的数据包括:在确定所述预设寄存器标识集合包括所述寄存器的标识信息时,确定缓存所述寄存器中的数据。结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述在寄存器堆中确定待缓存寄存器包括:根据程序指令确定所述寄存器堆中各寄存器的第一生命周期,并确定所述寄存器堆中各寄存器在所述第一生命周期对应数据的读取次数;其中,所述第一生命周期为所述各寄存器中被读取次数最多的数据对应的生命周期;根据所述读取次数由大到小的顺序确定所述待缓存寄存器,其中,所述待缓存寄存器的数量与所述预设寄存器标识集合中的元素数相同。结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:当所述寄存器堆中的任两个寄存器在所述第一生命周期对应的读取次数相同时,分别获取所述任两个寄存器在所述第一生命周期内对应的数据的最后一次被读取的位置至所述第一生命周期的起始位置之间程序指令的数量;将数量最少的程序指令对应的寄存器优先确定为待缓存寄存器。结合第一方面,在第一方面第四种可能的实现方式中,所述获取所述寄存器的状态信息包括:获取所述寄存器的读取次数标志位;其中,所述读取次数标志位用于记录所述寄存器被读取的次数;所述获取所述寄存器的读取次数标志位包括:在所述数据处理设备读取所述寄存器中的数据后,将所述寄存器的读取次数标志位加1;所述根据所述标识信息确定不缓存所述寄存器中的数据包括:在确定所述读取次数标志位的数值小于预设阈值时,确定不缓存所述寄存器中的数据;所述根据所述标识信息确定缓存所述寄存器中的数据包括:在确定所述读取次数标志位的数值大于或等于所述预设阈值时,确定缓存所述寄存器中的数据。结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,所述在对所述数据进行处理后,还包括:在将所述处理后的数据写入所述寄存器后,对所述读取次数标志位进行清零。第二方面,提供一种数据处理设备,包括:寄存器堆,用于通过寄存器存储数据;处理单元,用于读取所述寄存器中的数据并获取所述寄存器的状态信息;若根据所述寄存器的状态信息确定不缓存所述寄存器中的数据,则将所述数据发送至运算处理单元;若根据所述寄存器的状态信息确定缓存所述寄存器中的数据,则将所述数据发送至缓存单元和运算处理单元;运算处理单元,用于对所述处理单元发送的数据进行处理;缓存单元,用于缓存所述处理单元发送的数据。在第二方面第一种可能的实现方式中,所述处理单元具体用于,获取所述寄存器的标识信息;所述处理单元还用于,在寄存器堆中确定待缓存寄存器,将所述待缓存寄存器的标识信息调整为预设寄存器标识集合中的标识信息;在确定所述预设寄存器标识集合不包括所述寄存器的标识信息时,确定不缓存所述寄存器中的数据;在确定所述预设寄存器标识集合包括所述寄存器的标识信息时,确定缓存所述寄存器中的数据;其中,所述待缓存寄存器为在所述待缓存寄存器中的数据被读取后进行数据缓存的寄存器;所述预设寄存器标识集合包括确定进行数据缓存的寄存器的标识信息。结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元具体用于,根据程序指令确定所述寄存器堆中各寄存器的第一生命周期,并确定所述寄存器堆中各寄存器在所述第一生命周期对应数据的读取次数,并根据所述读取次数由大到小的顺序确定所述待缓存寄存器,其中,所述待缓存寄存器的数量与所述预设寄存器标识集合中的元素数相同;所述第一生命周期为所述各寄存器中被读取次数最多的数据对应的生命周期。结合第二方面第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元还用于,当所述寄存器堆中的任两个寄存器在所述第一生命周期对应的读取次数相同时,分别获取所述任两个寄存器在所述第一生命周期内对应的数据的最后一次被读取的位置至所述第一生命周期的起始位置之间程序指令的数量,并将数量最少的程序指令对应的寄存器优先确定为待缓存寄存器。所述处理单元还用于将数量最少的所述程序指令数量对应的寄存器调整为所述待缓存寄存器。结合第二方面,在第二方面第四种可能的实现方式中,所述处理单元具体用于,获取所述寄存器的读取次数标志位,其中,所述读取次数标志位用于记录所述寄存器被读取的次数;所述处理单元还用于,在读取所述寄存器中的数据后,将所述寄存器的读取次数标志位加1;在确定所述读取次数标志位的数值小于预设阈值时,确定不缓存所述寄存器中的数据;在确定所述读取次数标志位的数值大于或等于所述预设阈值时,确定缓存所述寄存器中的数据。结合第二方面第四种可能的实现方式,在第五种可能的本文档来自技高网...
一种数据处理的方法和设备

【技术保护点】
一种数据处理的方法,其特征在于,包括:数据处理设备读取寄存器中的数据,并获取所述寄存器的状态信息;若根据所述寄存器的状态信息确定所述寄存器不缓存所述数据,对所述数据进行处理;若根据所述寄存器的状态信息确定所述寄存器缓存所述数据,缓存所述数据,并对所述数据进行处理。

【技术特征摘要】
1.一种数据处理的方法,其特征在于,包括:数据处理设备读取寄存器中的数据,并获取所述寄存器的状态信息,所述寄存器的状态信息为所述寄存器的标识信息或所述寄存器的读取次数标志位,所述读取次数标志位用于记录所述寄存器被读取的次数;若根据所述寄存器的状态信息确定所述寄存器不缓存所述数据,对所述数据进行处理;若根据所述寄存器的状态信息确定所述寄存器缓存所述数据,缓存所述数据,并对所述数据进行处理。2.根据权利要求1所述的方法,其特征在于,所述获取所述寄存器的状态信息包括:获取所述寄存器的标识信息;在数据处理设备读取寄存器中的数据,并获取所述寄存器的状态信息前,还包括:在寄存器堆中确定待缓存寄存器,其中,所述待缓存寄存器为在所述待缓存寄存器中的数据被读取后进行数据缓存的寄存器;将所述待缓存寄存器的标识信息调整为预设寄存器标识集合中的标识信息;其中,所述预设寄存器标识集合包括确定进行数据缓存的寄存器的标识信息;所述根据所述标识信息确定不缓存所述寄存器中的数据包括:在确定所述预设寄存器标识集合不包括所述寄存器的标识信息时,确定不缓存所述寄存器中的数据;所述根据所述标识信息确定缓存所述寄存器中的数据包括:在确定所述预设寄存器标识集合包括所述寄存器的标识信息时,确定缓存所述寄存器中的数据。3.根据权利要求2所述的方法,其特征在于,所述在寄存器堆中确定待缓存寄存器包括:根据程序指令确定所述寄存器堆中各寄存器的第一生命周期,并确定所述寄存器堆中各寄存器在所述第一生命周期对应数据的读取次数;其中,所述第一生命周期为所述各寄存器中被读取次数最多的数据对应的生命周期;根据所述读取次数由大到小的顺序确定所述待缓存寄存器,其中,所述待缓存寄存器的数量与所述预设寄存器标识集合中的元素数相同。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述寄存器堆中的任两个寄存器在所述第一生命周期对应的读取次数相同时,分别获取所述任两个寄存器在所述第一生命周期内对应的数据的最后一次被读取的位置至所述第一生命周期的起始位置之间程序指令的数量;将数量最少的程序指令对应的寄存器优先确定为待缓存寄存器。5.根据权利要求1所述的方法,其特征在于,所述获取所述寄存器的状态信息包括:获取所述寄存器的读取次数标志位;所述获取所述寄存器的读取次数标志位包括:在所述数据处理设备读取所述寄存器中的数据后,将所述寄存器的读取次数标志位加1;所述根据所述读取次数标志位确定不缓存所述寄存器中的数据包括:在确定所述读取次数标志位的数值小于预设阈值时,确定不缓存所述寄存器中的数据;所述根据所述读取次数标志位确定缓存所述寄存器中的数据包括:在确定所述读取次数标志位的数值大于或等于所述预设阈值时,确定缓存所述寄存器中的数据。6.根据权利要求5所述的方法,其特征在于,在所述对所述数据进行处理后,还包括:在将所述处理后的数据写入所述寄存器后,对所述读取...

【专利技术属性】
技术研发人员:王曦爽张乾龙陈云李晔
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:

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

1