一种数据处理方法、解码电路及处理器技术

技术编号:24089681 阅读:26 留言:0更新日期:2020-05-09 07:30
本申请涉及一种数据处理方法、解码电路及处理器,属于计算机技术领域。该方法包括:判断获取到的指令是否为压缩指令;在为是时,获取所述压缩指令中的关键信息,所述关键信息包括:指令重复类型和指令重复次数,其中,所述指令重复类型用于指示待重复的指令类型,所述指令重复次数为大于等于2的正整数;根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,以将所述压缩指令解压成与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。本申请实施例中,通过将指令进行压缩,使得一个指令块可以容纳更多的三操作数指令,不仅有效降低了指令缓存未命中的概率,同时优化了效率。

A data processing method, decoding circuit and processor

【技术实现步骤摘要】
一种数据处理方法、解码电路及处理器
本申请属于计算机
,具体涉及一种数据处理方法、解码电路及处理器。
技术介绍
计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。计算机在执行指令(程序)时,需要先去指令缓存(Cache)中读取指令,如果指令缓存未命中(CacheMiss),会带来比较严重的性能问题。例如,取指令需要很长的时间,这显著增加了一个指令序列的处理周期,并且降低了性能。在发生指令缺失时,当前指令序列处于停止和等待状态,如果没有足够的激活指令序列,整个计算单元就可能停止,这显著降低了性能。指令块,指一个缓存行(CacheLine)内指令的集合。由于每个缓存行仅512bit,而3操作数的运算指令使用64bit,因此每个缓存行只能存储8条这样的运算指令,从而使得一个指令块只能容纳8条三操作数指令。处理大型运算因而就需要读取成千上万个指令块,显然这不利于功耗优化。
技术实现思路
鉴于此,本申请的目的在于提供一种数据处理方法、解码电路及处理器,以改善现有指令块只能容纳8条三操作数指令,导致在执行任务时需要发送很多指令,不利于功率优化的问题。本申请的实施例是这样实现的:第一方面,本申请实施例提供了一种数据处理方法,包括:判断获取到的指令是否为压缩指令;在为是时,获取所述压缩指令中的关键信息,所述关键信息包括:指令重复类型和指令重复次数,其中,所述指令重复类型用于指示待重复的指令类型,所述指令重复次数为大于等于2的正整数;根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,以将所述压缩指令解压成与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。本申请实施例中,当获取到的指令为压缩指令,获取该压缩指令中的关键信息,然后根据关键信息中的指令重复类型和指令重复次数对压缩指令进行解压,以将压缩指令解压成与指令重复类型对应的,且与指令重复次数数量相同的多条指令,通过将指令进行压缩,使得一个指令块可以容纳更多的三操作数指令,不仅有效降低了指令缓存未命中的概率,同时优化了效率。结合第一方面实施例的一种可能的实施方式,根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,包括:根据所述指令重复类型中的操作数对应的地址ID生成指令,并更新所述指令重复次数;在确定更新后的所述指令重复次数大于预设阈值时,更新所述操作数对应的地址ID;根据更新后的所述操作数对应的地址ID生成指令,并再次更新所述指令重复次数;判断再次更新后的所述指令重复次数是否等于所述预设阈值;在为是时,确定对所述压缩指令的解压结束,得到与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。本申请实施例中,在根据指令重复类型和指令重复次数对压缩指令进行解压时,在每生成一条指令后,更新指令重复次数,并判断更新后的指令重复次数是否等于预设阈值,在为否时,更新操作数对应的地址ID,并基于根据更新后的操作数对应的地址ID生成指令,然后再次更新指令重复次数,并判断更新后的指令重复次数是否等于预设阈值,直至更新后的指令重复次数等于预设阈值时,完成对压缩指令的解压,在判断是否完成对压缩指令的解压的整个过程中,无需要借助其他元件(如计数器),通过每生成一条指令后直接更新指令重复次数,即可完成,在保证准确的前提下,能最大化的简化处理流程,节约成本。结合第一方面实施例的一种可能的实施方式,根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,包括:根据所述指令重复类型中的操作数对应的地址ID生成指令,并记录生成指令的生成次数;在确定所述生成次数小于所述指令重复次数时,更新所述操作数对应的地址ID;根据更新后的所述操作数对应的地址ID生成指令,并更新所述生成次数;判断更新后的所述生成次数是否等于所述指令重复次数;在为是时,确定对所述压缩指令的解压结束,得到与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。本申请实施例中,在根据指令重复类型和指令重复次数对压缩指令进行解压时,在每生成一条指令后,便记录生成指令的生成次数,并判断记录的生成次数是否等于指令重复次数,在为否时,更新操作数对应的地址ID,并基于根据更新后的操作数对应的地址ID生成指令,然后更新生成次数,并判断更新后的生成次数是否等于指令重复次数,直至更新后的指令重复次数等于指令重复次数时,完成对压缩指令的解压,在这个过程中,利用计数器来对生成指令的生成次数进行记录,在每生成一条指令后,便更新生成指令的生成次数,当生成次数等于指令重复次数时,完成对压缩指令的解压,提供了另一种可行的方式,丰富了方案的适用性。结合第一方面实施例的一种可能的实施方式,更新所述操作数对应的地址ID,包括:根据所述操作数对应的地址ID指向的操作数来源类型更新所述操作数对应的地址ID。本申请实施例中,通过操作数对应的地址ID指向的操作数来源类型更新操作数对应的地址ID,使得在地址更新时,不同的操作数来源类型更新操作数对应的地址ID时的规则可以不同。结合第一方面实施例的一种可能的实施方式,更新所述操作数对应的地址ID,包括:根据所述操作数对应的地址ID指向的操作数来源中存储的数据的数据类型更新所述操作数对应的地址ID。本申请实施例中,操作数对应的地址ID指向的操作数来源中存储的数据的数据类型更新操作数对应的地址ID,使得在地址更新时,不同的数据类型可以对应不同的更新规则。结合第一方面实施例的一种可能的实施方式,所述指令重复类型中的操作数为目的操作数,所述关键信息还包括:目的地直通DF字段,在更新所述操作数对应的地址ID之前,所述方法还包括:确定所述目的地直通DF字段中的数值不为设定阈值。本申请实施例中,当操作数为目的操作数,在更新操作数对应的地址ID之前,需要确定目的地直通DF字段中的数值不为设定阈值,以避免对数据直通造成影响。结合第一方面实施例的一种可能的实施方式,在获取所述压缩指令中的关键信息之前,所述方法还包括:确定所述压缩指令有效。本申请实施例中,在获取压缩指令中的关键信息之前,还需要确定该压缩指令有效,以提高效率,避免对错误的压缩指令进行解压而造成资源浪费。第二方面,本申请实施例还提供了一种解码电路,包括:解码器和指令解压模块;解码器,用于判断获取到的指令是否为压缩指令,在为是时,获取所述压缩指令中的关键信息,所述关键信息包括:指令重复类型和指令重复次数,其中,所述指令重复类型用于指示待重复的指令类型,所述指令重复次数为大于等于2的正整数;指令解压模块,用于根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,以将所述压缩指令解压成与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。结合第二方面实施例的一种可能的实施方式,所述指令解压模块包括:控制器,用于获取所述指令重复类型中的操作数对应的地址ID;指令生成器,用于根据所述指令重复类型中的操作数对应的地址ID生成指令;所述控制器,还用于在所述指令生成器根据所述指令重复类型中的操作数对本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n判断获取到的指令是否为压缩指令;/n在为是时,获取所述压缩指令中的关键信息,所述关键信息包括:指令重复类型和指令重复次数,其中,所述指令重复类型用于指示待重复的指令类型,所述指令重复次数为大于等于2的正整数;/n根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,以将所述压缩指令解压成与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
判断获取到的指令是否为压缩指令;
在为是时,获取所述压缩指令中的关键信息,所述关键信息包括:指令重复类型和指令重复次数,其中,所述指令重复类型用于指示待重复的指令类型,所述指令重复次数为大于等于2的正整数;
根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,以将所述压缩指令解压成与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。


2.根据权利要求1所述的方法,其特征在于,根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,包括:
根据所述指令重复类型中的操作数对应的地址ID生成指令,并更新所述指令重复次数;
在确定更新后的所述指令重复次数大于预设阈值时,更新所述操作数对应的地址ID;
根据更新后的所述操作数对应的地址ID生成指令,并再次更新所述指令重复次数;
判断再次更新后的所述指令重复次数是否等于所述预设阈值;
在为是时,确定对所述压缩指令的解压结束,得到与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。


3.根据权利要求1所述的方法,其特征在于,根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,包括:
根据所述指令重复类型中的操作数对应的地址ID生成指令,并记录生成指令的生成次数;
在确定所述生成次数小于所述指令重复次数时,更新所述操作数对应的地址ID;
根据更新后的所述操作数对应的地址ID生成指令,并更新所述生成次数;
判断更新后的所述生成次数是否等于所述指令重复次数;
在为是时,确定对所述压缩指令的解压结束,得到与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。


4.根据权利要求2或3所述的方法,其特征在于,更新所述操作数对应的地址ID,包括:
根据所述操作数对应的地址ID指向的操作数来源类型更新所述操作数对应的地址ID。


5.根据权利要求2或3所述的方法,其特征在于,更新所述操作数对应的地址ID,包括:
根据所述操作数对应的地址ID指向的操作数来源中存储的数据的数据类型更新所述操作数对应的地址ID。


6.根据权利要求2或3所述的方法,其特征在于,所述指令重复类型中的操作数为目的操作数,所述关键信息还包括:目的地直通DF字段,在更新所述操作数对应的地址ID之前,所述方法还包括:
确定所述目的地直通DF字段中的数值不为设定阈值。


7.根据权利要求1所述的方法,其特征在于,在获取所述压缩指令中的关键信息之前,所述方法还包括:
确定所述压缩指令有效。


8.一种解码电路,其特征在于,包括:
解码器,用于判断获取到的指令是否为压缩指令,在为是时,获取所述压缩指令中的关键信息,所述关键信息包括:指令重复类型和指令重复次数,其中,所述指令重复类型用于指示待重复的指令类型,所述指令重复次数为大于等于2的正整数;
指令解压模块,用于根据所述指令重复类型和所述指令重复次数对所述压缩指令进行解压,以将所述压缩指令解压成与所述指令重复类型对应的,且与所述指令重复次数数量相同的多条指令。


9.根据权利要求8所述的解码电路,其特征在于,所述指令解压模块包括:
控制器,用于获取所述指令重复类型中的操作数对应的地址ID;
指令生成器,用于根据所述指令重复类型中的操作数对应的地址ID生成指令;
所述控制器,还用于在所述指令生成器根据所述指令重复类型中...

【专利技术属性】
技术研发人员:陈庆
申请(专利权)人:海光信息技术有限公司
类型:发明
国别省市:山东;37

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

1