当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于难以预测的分支的替代路径解码制造技术

技术编号:33908358 阅读:16 留言:0更新日期:2022-06-25 19:03
本申请公开了用于难以预测的分支的替代路径解码。一种集成电路的实施例可以包括:核;前端单元,耦合至核,用于对一条或多条指令解码,其中,前端单元包括:第一解码路径;第二解码路径;以及电路,用于:预测一条或多条指令中的条件分支指令的被采用分支;在第一解码路径上对被采用分支的所预测的路径解码;确定条件分支指令是否对应于难以预测的条件分支指令以及第二解码路径是否可用;以及如果确定如此,则在第二解码路径上对难以预测的条件分支指令的不被采用分支的替代路径解码。公开并要求保护其他实施例。求保护其他实施例。求保护其他实施例。

【技术实现步骤摘要】
用于难以预测的分支的替代路径解码
背景
1.

[0001]本公开总体上关于处理器技术、指令解码技术、和推测性解码技术。
2.
技术介绍

[0002]一些中央处理器单元(CPU)核可利用推测性执行以避免流水线停止并实现更好的性能,这允许执行继续而无需等待对分支目标的架构解析。分支预测技术利用数字电路,该数字电路在分支指令被执行之前猜测分支将去往哪条路。正确的预测/猜测改善指令流水线中的流。一般而言,对条件分支的分支预测可以被理解为将分支预测为“被采用”相对于“不被采用”。分支预测单元(BPU)可通过在预测点之前基于分支指令指针(IP)、分支类型和控制流历史(也称为分支历史)为CPU的前端提供分支预测来支持推测性执行。
附图说明
[0003]以示例方式且非限制方式在附图的各图中图示本专利技术的各实施例,在附图中:
[0004]图1是根据实施例的集成电路的示例的框图;
[0005]图2A至图2C是根据实施例的方法的示例的流程图;
[0006]图3是根据实施例的装置的示例的框图;
[0007]图4是根据实施例的乱序处理器的示例的框图;
[0008]图5A是根据实施例的分支指令的示例的示图;
[0009]图5B是根据实施例的方法的另一示例的流程图;
[0010]图6A是图示根据本专利技术的实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线两者的框图。
[0011]图6B是图示根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图;
[0012]图7A

图7B图示更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核);
[0013]图8是根据本专利技术的实施例的可具有多于一个的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器的框图;
[0014]图9

图12是示例性计算机架构的框图;以及
[0015]图13是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
具体实施方式
[0016]本文中讨论的实施例以各种方式提供用于对难以预测(H2P)的分支的替代分支的推测性解码的技术和机制。本文中描述的技术可以在一个或多个电子设备中实现。可以利
用本文中描述的技术的电子设备的非限制性示例包括任何种类的移动设备和/或固定式设备,诸如,相机、蜂窝电话、计算机终端、台式计算机、电子阅读器、传真机、自动服务机、膝上型计算机、上网本计算机、笔记本计算机、互联网设备、支付终端、个人数字助理、媒体播放器和/或记录器、服务器(例如,刀片服务器,机架安装服务器,其组合等)、机顶盒、智能电话、平板个人计算机、超移动个人计算机、有线电话、上述各项的组合,等等。更一般地,本文中描述的技术可在各种电子设备中的任何电子设备中被采用,各种电子设备包括可操作用于解码指令的集成电路。
[0017]在下列描述中,讨论了众多细节,以提供对本公开的实施例的更透彻的解释。然而,对本领域的技术人员将显而易见的是,可以在没有这些特定细节的情况下实施本公开的实施例。在其他实例中,以框图形式,而不是详细地示出公知的结构和设备,以避免使本公开的实施例变得模糊。
[0018]注意,在实施例的对应附图中,利用线来表示信号。一些线可以较粗以指示更多数量的成份信号路径,和/或在一个或多个末端处具有箭头以指示信息流的方向。此类指示不旨在是限制性的。相反,线结合一个或多个示例性实施例使用,以促进对电路或逻辑单元的更容易的理解。如由设计需要或偏好所规定,任何所表示的信号都可实际包括可在任一方向上行进的一个或多个信号,并可利用任何合适类型的信号方案来实现。
[0019]贯穿说明书以及在权利要求书中,术语“连接的”意指所连接的物体之间的诸如电气、机械、或磁性连接之类的无需任何中介设备的直接连接。术语“耦合的”意指直接的或间接的连接,诸如所连接的物体之间的直接的电气、机械、或磁性连接或者通过一个或多个无源或有源中介设备的间接连接。术语“电路”或“模块”可以指布置成用于彼此合作以提供期望功能的一个或多个无源和/或有源组件。术语“信号”可指至少一个电流信号、电压信号、磁信号、或数据/时钟信号。“一(a/an)”和“该”的含义包括复数引用。“在
……
中”的含义包括“在
……
中”和“在
……
上”。
[0020]术语“设备”一般可以指根据使用那个术语的上下文的装置。例如,设备可以指层或结构的堆叠、单个结构或层、具有有源和/或无源元件的各种结构的连接,等等。一般而言,设备是三维结构,具有沿x

y

z笛卡尔坐标系的x

y方向的平面以及沿z方向的高度。设备的平面也可以是包括该设备的装置的平面。
[0021]术语“缩放”一般指将设计(示意图和布局)从一种工艺技术转换为另一种工艺技术,并随后在布局区域中被减小。术语“缩放”一般还指在同一技术节点内缩小布局和设备的尺寸。术语“缩放”还可指信号频率相对于另一参数(例如,功率供给水平)的调整(例如,减速或加速——即,分别为缩小或放大)。
[0022]术语“基本上”、“接近”、“近似”、“附近”以及“大约”一般指处于目标值的+/

10%内。例如,除非在其使用的明确的上下文中以其他方式指定,否则术语“基本上相等”、“大约相等”和“近似相等”意指在如此描述的物体之间仅存在偶然变化。在本领域中,此类变化典型地不大于预定的目标值的+/

10%。
[0023]应当理解,如此使用的术语在适当情况下是可互换的,例如使得本文中所描述的本专利技术的实施例能够以不同于本文中所图示或以其他方式描述的那些取向的其他取向来操作。
[0024]除非另外指定,否则使用序数形容词“第一”、“第二”、“第三”等来描述公共对象,
仅仅指示类似对象的不同实例被提及,并且不旨在暗示如此描述的对象必须在时间上、空间上、排名上、或以任何其他方式处于给定序列中。
[0025]在说明书和权利要求书中的术语“左”、“右”、“前”、“后”、“顶”、“底”、“在
……
上方”、“在
……
下方”等(如果有)用于描述性目的,并且不一定用于描述永久的相对位置。例如,如本文中所使用的术语“在
……
上方”、“在
……
下方”、“前侧”、“后侧”、“顶”、“底”,“在
……
上方”、“在
……
下方”和“在
……
上”是指一个组件、结构或材料相对于设备中其他所引用的组件、结构或材料的相对位置,其中此类物理关系是显著的。本文仅出于描述性目的采用这些术语,并且这些术语主要在设备z轴的上下文内,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成电路,包括:核;以及前端单元,耦合至所述核,用于对一条或多条指令解码,其中,所述前端单元包括:主解码路径;替代解码路径;以及电路,用于:预测所述一条或多条指令中的条件分支指令的被采用分支;在所述主解码路径上对所述被采用分支的所预测的路径解码;确定所述条件分支指令是否对应于难以预测的条件分支指令以及所述替代解码路径是否可用;以及如果确定如此,则在所述替代解码路径上对所述难以预测的条件分支指令的不被采用分支的替代路径解码。2.如权利要求1所述的集成电路,其中,所述电路进一步用于:在所述替代解码路径的空闲周期上对所述难以预测的条件分支指令的所述替代路径解码。3.如权利要求1至2中任一项所述的集成电路,其中,所述前端单元进一步包括指令高速缓存,并且其中,所述电路进一步用于:仅在所述难以预测的条件分支指令在所述指令高速缓存中的高速缓存行上命中的情况下,在所述替代解码路径上对所述难以预测的条件分支指令的所述替代路径解码。4.如权利要求1至2中任一项所述的集成电路,其中,所述电路进一步用于:确定所述一条或多条指令是否包括用于指示难以预测的条件分支指令的指令集架构扩展;以及如果确定如此,则基于所述指令集架构扩展的扩展位来确定所述一条或多条指令是否包括所述难以预测的条件分支指令。5.如权利要求1至2中任一项所述的集成电路,其中,所述前端单元进一步包括解码微操作高速缓存,并且其中,所述电路进一步用于:将一组通道指派给所述解码微操作高速缓存;保留所述一组通道的子集用于来自所述替代路径的经解码的指令;以及在所述通道的保留子集中捕捉来自所述替代路径的所述经解码的指令。6.如权利要求5所述的集成电路,其中,所述电路进一步用于:一旦所述所预测的路径被确定为是正确的,就使所述通道的保留子集中的条目无效。7.如权利要求5所述的集成电路,其中,所述电路进一步用于:如果所述所预测的路径被确定为不正确,则将来自所述通道的保留子集的所述经解码的指令提供至后端单元。8.一种方法,包括:预测一条或多条指令中的条件分支指令的被采用分支;在主解码路径上对所述被采用分支的所预测的路径解码;确定所述条件分支指令是否对应于难以预测的条件分支指令以及替代解码路径是否可用;以及如果确定如此,则
在所述替代解码路径上对所述难以预测的条件分支指令的不被采用分支的替代路径解码。9.如权利要求8所述的方法,进一步包括:在所述替代解码路径的空闲周期上对所述难以预测的条件分支指令的所述替代路径解码。10.如权利要求8至9中任一项所述的方法,进一步包括:仅在所述难以预测的条件分支指令在指令高速缓存中的高速缓存行上命中的情况下,在所述替代解码路径上对所述难以预测的条件分支指令的所述替代路径解码。11.如权利要求8至9中任一项所述的方法,进一步包括:确定所述一条或多条指令是否包括用于指示难以预测的条件分支指令的指令集架构扩展;以及如果确定如此,则基于所述指令集架构扩展的扩展位来确定所述一条或多条指令是否包括所述难以预测的条件分支指令。12.如权利要求8至9中任一项所述的方法,进一步包括:将一组通道指派给解码微操作高速缓存;保留所述一组通道的子集用于来自所述替代路径的经解码的指令;以及在所述通道的保留子集中捕捉来自所述替代路径的所述经解码的指令。13.如权利要求12所述的方法,进一步包括:一旦所述所预测的路径被确定为是正确的,就使所述通道的保留...

【专利技术属性】
技术研发人员:N
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1