当前位置: 首页 > 专利查询>ARM有限公司专利>正文

一种用于提供解码指令的装置和方法制造方法及图纸

技术编号:23787139 阅读:55 留言:0更新日期:2020-04-15 00:30
提供了一种用于提供解码指令的装置和方法。所述装置具有用于从存储器中取出指令的取出电路。解码电路然后用于对取出的指令进行解码以便产生用于由执行电路执行的解码指令流,并且解码指令缓存用于存储解码指令。当解码指令被随后确定为已存储在解码指令缓存中时,那么可在解码指令流中输出来自解码指令缓存的解码指令,从而避免重新解码。分配电路用于分配用于存储解码指令的缓存块,并且当已为来自特定取出区组的数个现有解码指令分配了缓存块、并且然后由解码电路随后产生来自该特定取出区组的数个附加解码指令时,分配电路被布置为:更新已分配的缓存块以提供现有解码指令和附加解码指令两者。

A device and method for providing decoding instructions

【技术实现步骤摘要】
一种用于提供解码指令的装置和方法
本技术涉及一种用于对指令进行解码的装置和方法。
技术介绍
为了寻求改进数据处理系统内的性能,可以增加能够执行指令的执行单元的数量。例如,如果提供N个执行单元,则可以能够每时钟周期执行N个指令。然而,为了使得能够实现完全性能益处,有必要能够足够快地对从存储器中取出的指令进行解码以寻求确保解码指令总是可用于由执行单元执行。然而,由于功率、性能和面积(PPA)因素,常常难以增加指令解码器的数量以便与执行单元的数量匹配。为了寻求缓解此问题,可以提供解码指令缓存,使得一旦指令已被取出和解码一次,就可缓存那些解码指令,使得如果再次需要它们,则它们可在无需被重新解码的情况下被提供给所需执行单元。通常,用于从存储器中取出指令的取出电路对取出区组(granules)进行操作,其中每个取出区组包括多个指令。特别地,在每个取出周期,可取出来自特定取出区组内的指令块并将它转发到解码器。确切的哪些指令在任何特定时间点从特定取出区组被取出将依赖于通过计算机程序的指令流,并且由于分支操作,可能的是执行包含不同指令的给定取出区本文档来自技高网...

【技术保护点】
1.一种装置,所述装置包括:/n取出电路,所述取出电路用于从存储器中取出指令,其中每个指令来自取出区组,所述取出区组包括所述存储器中的顺序地址处的P个指令;/n解码电路,所述解码电路用于对取出的指令进行解码以产生用于由执行电路执行的解码指令流;/n解码指令缓存,所述解码指令缓存用于存储由所述解码电路产生的解码指令,所述解码指令缓存包括多个缓存块,其中每个缓存块被布置为存储来自分配给该缓存块的至少一个取出区组的解码指令,所述缓存块针对分配给所述缓存块的每个取出区组能够存储来自该取出区组的最多达P个解码指令,其中,当与所述执行电路的执行所需的指令对应的解码指令已经被存储在所述解码指令缓存中时,在所...

【技术特征摘要】
20181005 GB 1816244.61.一种装置,所述装置包括:
取出电路,所述取出电路用于从存储器中取出指令,其中每个指令来自取出区组,所述取出区组包括所述存储器中的顺序地址处的P个指令;
解码电路,所述解码电路用于对取出的指令进行解码以产生用于由执行电路执行的解码指令流;
解码指令缓存,所述解码指令缓存用于存储由所述解码电路产生的解码指令,所述解码指令缓存包括多个缓存块,其中每个缓存块被布置为存储来自分配给该缓存块的至少一个取出区组的解码指令,所述缓存块针对分配给所述缓存块的每个取出区组能够存储来自该取出区组的最多达P个解码指令,其中,当与所述执行电路的执行所需的指令对应的解码指令已经被存储在所述解码指令缓存中时,在所述解码指令流中输出来自所述解码指令缓存的对应的解码指令;以及
分配电路,所述分配电路用于分配用于存储所述解码指令的缓存块,所述分配电路被布置为:当由于通过特定取出区组的第一路径被采取而已经针对来自所述取出区组的数个现有解码指令分配了缓存块、并且然后由于与所述第一路径不同的通过所述取出区组的第二路径被采取而由所述解码电路随后产生来自该特定取出区组的数个附加解码指令时,更新已经分配的缓存块以提供所述现有解码指令和所述附加解码指令两者。


2.如权利要求1所述的装置,其中,所述取出电路被布置为:当与所需指令对应的解码指令已经被存储在所述解码指令缓存中时,禁止将该所需指令转发到所述解码电路。


3.如权利要求1或权利要求2所述的装置,进一步包括检测电路,所述检测电路被布置为:对于来自取出区组的将被分配到所述解码指令缓存中的一个或多个解码指令,检测何时已经针对来自该取出区组的解码指令分配了缓存块。


4.如权利要求3所述的装置,进一步包括:
访问控制电路,所述访问控制电路被布置为:执行查找操作以确定与所需指令对应的解码指令是否已经被存储在所述解码指令缓存中;
所述检测电路由所述访问控制电路提供并且在所述查找操作期间被布置为:当已经针对来自所需指令的取出区组的解码指令分配了缓存块但是该分配的缓存块忽略与所述所需指令对应的解码指令时,检测到合并条件;并且
所述检测电路被布置为当检测到所述合并条件时通知所述分配电路,并且所述分配电路在所述合并条件存在的情况下被布置为:更新所分配的缓存块,使得一旦所述附加解码指令已由所述解码电路产生就提供所述现有解码指令和所述附加解码指令两者。


5.如权利要求3所述的装置,其中:
所述检测电路由所述分配电路提供并且被布置为:在所述解码指令缓存内执行查找操作,以当已经针对来自所述特定取出区组的解码指令分配了缓存块时检测到合并条件,所述分配电路在所述合并条件存在的情况下被布置为:更新所分配的缓存块以提供所述现有解码指令和所述附加解码指令两者。


6.如任一前述权利要求所述的装置,其中,所述分配电路包括:
调整电路,所述调整电路被布置为:当所分配的缓存块将被更新以提供所述现有解码指令和所述附加解码指令两者时,从所述附加解码指令中丢弃通过所述现有解码指令同样提供的任何解码指令,然后对剩余的附加解码指令进行移位以使它们与所分配的缓存块内的相关可用位置对齐;
其中,所述分配电路响应于所述调整电路以执行合并操作来用所述剩余的附加解码指令填充所述相关可用位置,同时将所述现有解码指令保留在所分配的缓存块内。


7.如权利要求6所述的装置,其中,所述现有解码指令占据所分配的缓存块内的第一系列位置,并且所述相关可用位置是与所述第一系列位置不重叠的第二系列位置。


8.如权利要求7所述的装置,其中,所述第二系列的第一位置与所述第一系列的最终位置相邻。


9.如任一前述权利要求所述的装置,其中,当针对来自相同取出区组的数个解码指令最初分配缓存块时,那些解码指令位于所述缓存块中从初始位置开始的连续位置中。


10.如当从属于权利要求6时任一前述权利要求中所述的装置,其中,所述分配电路被布置为:当所述剩余的附加解码指令足以填充在所分配的缓存块内未被所述现有解码指令占据的所有位置时,更新所分...

【专利技术属性】
技术研发人员:艾迪·拉皮雷纪尧姆·博尔贝内斯胡德哈法·布兹古鲁吕克·俄里恩
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

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

1