【技术实现步骤摘要】
循环缓冲器学习
本专利技术一般涉及处理器,尤其涉及识别和学习指令流内的循环的特性的方法和机构。
技术介绍
现代的处理器通常是以流水线方式多级地构成的。典型的流水线通常包括用于提取指令、解码指令、映射指令、执行指令、随后把结果写入另一个单元(比如寄存器)的独立单元。微处理器的取指令单元负责向处理器流水线的下一级提供持续的指令流。典型地,取指令单元利用指令高速缓存使流水线的剩余部分被连续供给指令。在完成其所需功能的时候,取指令单元和指令高速缓存趋于消耗相当大量的功率。现代微处理器的目标是尽可能多地减少功率消耗,尤其是对用在电池供电设备中的微处理器来说更是如此。在许多软件应用中,为了进行特定功能或任务,相同的软件步骤可能被重复多次。在这些情况下,即使相同的指令循环正在继续执行,取指令单元也会提取指令从而消耗功率。如果可以检测所述循环并将其高速缓存在循环缓冲器中,那么在执行循环的同时,取指令单元可被关闭从而减少功率消耗。然而,当循环包括多个分支时,难以检测和学习程序代码内的指令循环。在把循环高速缓存在循环缓冲器中之前,准确地判定循环是否无变化也是富有挑战性的。
技术实现思路
公开检测和跟踪指令流内的循环的设备、处理器和方法。处理器流水线可包括循环缓冲器和循环缓冲器控制单元。循环缓冲器控制单元可检测指令流中的循环终止分支。在一个实施例中,当循环缓冲器控制单元检测到循环终止分支时,控制单元可锁存循环终止分支的指令地址,可设置循环检测标记,并可启动循环迭代计数器和微操作计数器。下次检测到相同的循环终止分支时,控制单元可比较微操作计数器的值和循环缓冲器的大小。如果微操作计数器 ...
【技术保护点】
一种设备,包括:循环缓冲器,被配置成保存指令操作,其中响应于检测到所述设备处于循环缓冲模式,从循环缓冲器分派指令操作;和与循环缓冲器耦接的循环缓冲器控制单元,其中循环缓冲器控制单元被配置成:跟踪从包含多条指令的候选循环的起点到所述候选循环内的每个跳转分支的距离;和响应于检测到从候选循环的起点到各个跳转分支的距离在候选循环的至少给定迭代次数期间无变化,启动循环缓冲模式。
【技术特征摘要】
2012.06.15 US 13/524,5081.一种处理设备,包括:循环缓冲器,被配置成保存指令操作,其中响应于检测到所述设备处于循环缓冲模式,从循环缓冲器分派指令操作;和与循环缓冲器耦接的循环缓冲器控制单元,其中循环缓冲器控制单元被配置成:检测第一循环终止分支,所述第一循环终止分支包括到作为候选循环的起点的指令的向后跳转分支;响应于候选循环之前还没有丧失资格,跟踪候选循环,从而循环缓冲器控制单元被配置成:存储第一循环终止分支的指令地址;跟踪从候选循环的起点到候选循环内的每个跳转分支所执行的指令的数量;响应于检测到从候选循环的起点到每个所述跳转分支所执行的指令的数量对于候选循环的至少给定迭代次数无变化,启动循环缓冲模式;以及响应于检测到从候选循环的起点到每个所述跳转分支所执行的指令的数量并非无变化:终止候选循环的跟踪;使候选循环丧失在循环缓冲器中被高速缓存的资格;以及存储所述候选循环的向后跳转分支的指令地址。2.按照权利要求1所述的设备,还包括取指令单元和指令高速缓存,其中所述设备被配置成,响应循环缓冲模式被启动,关闭取指令单元和指令高速缓存中的至少一个。3.按照权利要求1所述的设备,其中当所述设备处于循环缓冲模式时,从循环缓冲器向解码单元分派指令操作。4.按照权利要求1所述的设备,其中当跟踪候选循环时,循环缓冲器控制单元还被配置成响应于检测到第二循环终止分支而终止候选循环的跟踪,所述第二循环终止分支不是所述第一循环终止分支。5.按照权利要求1所述的设备,其中所述给定迭代次数对应于大于阈值的迭代次数,并且其中,所述阈值基于分支预测器预测候选循环的结束所需的时间量。6.按照权利要求1所述的设备,其中,循环缓冲器控制单元还被配置成:响应于检测到第一循环终止分支,确定是否存储了指示在之前遇到候选循环时跟踪候选循环期间候选循环丧失在循环缓冲器中被高速缓存的资格的第一循环终止分支的指令地址;响应于确定存储了所述第一循环终止分支的指令地址,忽略所述候选循环并放弃跟踪所述候选循环。7.按照权利要求1所述的设备,还包括分支跟踪表,其中分支跟踪表包含关于候选循环的每个跳转分支的条目,并且其中每个条目包括与从候选循环的起点到相应的跳转分支的距离对应的值。8.一种处理器,包括:循环缓冲器;和与循环缓冲器耦接的循环缓冲器控制单元;其中循环缓冲器控制单元被配置成:检测第一循环终止分支,所述第一循环终止分支包括到作为候选循环的起点的指令的向后跳转分支;响应于候选循环之前还没有丧失资格,跟踪候选循环,从而循环缓冲器控制单元被配...
【专利技术属性】
技术研发人员:C·布拉斯考阿鲁,I·D·考恩坦尼斯,
申请(专利权)人:苹果公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。