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

用于预测执行无竞争的锁定指令的方法和装置制造方法及图纸

技术编号:3750926 阅读:162 留言:0更新日期:2012-04-11 18:40
本发明专利技术的名称是“用于预测执行无竞争的锁定指令的方法和装置”。公开了一种用于在无序处理器中预测执行锁定指令的方法和装置。在一个实施例中,预测给定锁定指令是否会发生竞争。如果不会,则将该锁定指令视为可预测执行的具有正常加载微操作的指令。监视器逻辑可查找有关该锁定指令实际发生竞争的指示。如果未找到这种指示,则引退该预测的加载微操作和与该锁定指令对应的其他微操作。然而,如果确实找到了这种指示,则可重启锁定指令,并更新预测机制。

【技术实现步骤摘要】

本专利技术一般涉及采用存储器锁定指令(对存储器执行读_修改_写的原子操作) 的微处理器,更具体地,涉及希望采用可以在无序执行架构中执行的存储器锁定指令的微 处理器。
技术介绍
现代的微处理器可以在其架构中支持无序执行。各指令可各自被解码为一组对应 的微操作,然后在执行前被存储到重新排序缓冲器中。调度器可确定哪些微操作已准备好 被执行,并可以不按严格的程序顺序或“无序地”发出上述微操作。当微操作准备引退时, 它们可以按程序顺序引退,因此,看上去它们是按程序顺序执行的。在之前的无序处理器中造成问题的一个指令族是锁定指定族。该锁定指令通常断 言某个信号或采用执行原子存储器业务处理的某过程,也就是说,它锁定存储器中的特定 位置,以防止其他处理器或同一处理器上的其他线程访问在进行作为其组成部分的加载与 存储微操作期间使用的该存储器位置(或等效的高速缓存线)。在不同实施例中,该信号可 包括总线信号或高速缓存一致性协议锁定(protocollock)。这些锁定指令的具体实施要求 在开始执行锁定指令之前引退(retire)所有先前的指令(按程序顺序)。锁定指令的加载 和存储微操作通常被延迟,这使得它们尽可能的被一起执行和引退,以限制处理器保护由 上述锁定指令使用的存储器地址或高速缓存线的时间。然而,这样阻止了加载微操作和任 何其他介于其间的微操作的预测执行,因此,向程序的关键路径中加入了它们的等待时间。 这些具体实施也可能阻止后续的加载操作或其他后续操作的预测执行,从而增加了后续操 作的等待时间。实际上,这可能意味着任何用于支持无序处理的重新排序缓冲器可能填满 流水线和使该流水线发生停顿,这导致了应用程序的性能进一步下降。
技术实现思路
根据第一实施例,本专利技术提供了一种处理器,包括预测器,用于作出锁定指令是否会发生竞争的预测;以及调度器,用于当所述预测表明所述锁定指令不发生竞争时以预测方式发出一组与 所述锁定指令对应的微操作;以及用于确定是否出现了竞争指示的监视器,其中,所述竞争指示包括何时st0re_ with_unlock微操作在高速缓存中未命中。根据第二实施例,本专利技术提供了一种处理器,包括预测器,用于作出锁定指令是否会发生竞争的预测;解码器,用于将所述锁定指令解码成l0ad_with0Ut_l0Ck微操作和存储微操作; 以及监视器,用于确定是否出现了竞争指示,所述竞争指示包括何时存储微操作在高 速缓存中未命中。根据第三实施例,本专利技术提供了一种用于预测执行无竞争的锁定指令的方法,包 括预测锁定指令是否会发生竞争;当所述预测认为所述锁定指令不会发生竞争时,发出对应于所述锁定指令的 load_without_lock 微操作;以及监视竞争指示,所述竞争指示包括何时St0re_With_unl0Ck微操作在高速缓存中 未命中。根据第四实施例,本专利技术提供了一种用于预测执行无竞争的锁定指令的装置,包 括预测锁定指令是否会发生竞争的单元; 当所述预测认为所述锁定指令不会发生竞争时发出对应于所述锁定指令的load_ without_lock微操作的单元;以及监视竞争指示的单元,其中,所述竞争指示包括何时St0re_With_unl0Ck微操作 在高速缓存中未命中。根据第五实施例,本专利技术提供了一种用于预测执行无竞争的锁定指令的系统,包 括第一处理器,该处理器包括预测器和调度器,所述预测器用于预测锁定指令是否 会发生竞争,所述调度器用于在所述预测认为所述锁定指令不会发生竞争时以预测方式发 出一组对应于所述锁定指令的微操作;用于确定是否出现了竞争指示的监视器,其中,所述竞争指示包括何时st0re_ With_unl0Ck微操作在高速缓存中未命中;第一接口,用于将第一处理器耦合到第二处理器;第二接口,用于将第一处理器耦合到音频输入/输出设备;以及耦合到所述第二接口的音频输入/输出设备。根据第六实施例,本专利技术提供了一种用于预测执行无竞争的锁定指令的系统,包 括第一处理器,包括用于预测锁定指令是否会发生竞争的预测器,用于将所述锁定 指令解码成l0ad_With0Ut_l0Ck微操作和存储微操作的解码器,以及用于在所述存储微操 作引退之前确定是否出现了竞争指示的监视器,其中,所述竞争指示包括何时store_with_ unlock微操作在高速缓存中未命中;第一接口,用于将第一处理器耦合到第二处理器;第二接口,用于将第一处理器耦合到音频输入/输出设备;以及耦合到所述第二接口的音频输入/输出设备。根据第七实施例,本专利技术提供了一种处理器,包括用于最初指明锁定指令不发生竞争的部件;调度器,用于以预测方式发出对应于所述锁定指令的一组微操作;以及用于确定是否出现了竞争指示的监视器,其中,所述竞争指示包括何时st0re_ with_unlock微操作在高速缓存中未命中。根据第八实施例,本专利技术提供了一种处理器,包括用于最初指明锁定指令不发生竞争的部件;解码器,用于将所述锁定指令解码成l0ad_With0Ut_l0Ck微操作和存储微操作;以及监视器,用于确定是否出现了竞争指示,所述竞争指示包括何时Store_With_ unlock微操作在高速缓存中未命中。根据第九实施例,本专利技术提供了一种用于预测执行无竞争的锁定指令的方法,包 括最初假定锁定指令不会发生竞争;发出对应于所述锁定指令的IoacLwithout_loCk微操作;以及监视竞争指示,所述竞争指示包括何时St0re_With_unl0Ck微操作在高速缓存中 未命中。根据第十实施例,本专利技术提供了一种用于预测执行无竞争的锁定指令的装置,包 括最初假定锁定指令不会发生竞争的单元;发出对应于所述锁定指令的IoacLwithout_loCk微操作的单元;以及监视竞争指示的单元,所述竞争指示包括何时St0re_With_unl0Ck微操作在高速 缓存中未命中。附图说明在附图中,通过举例而非限制的方式说明了本专利技术,且类似的附图标记表示类似 的元件,其中图1是根据本专利技术的一个实施例的处理器及其执行流水线的示意图,其中示出了 在流水线末端附近工作的锁定竞争预测器;图2是根据本专利技术的一个实施例的处理器及其执行流水线的示意图,其中示出了 在流水线起始附近工作的锁定竞争预测器;图3是根据本专利技术的一个实施例的处理器及其执行流水线的示意图,其中示出了 在流水线末端附近工作的锁定竞争预测器;图4是根据本专利技术的一个实施例的锁定指令执行的状态图;以及图5A和图5B是根据本专利技术的两个实施例的系统的示意图,这些系统包括支持锁 定竞争预测器以预测执行锁定指令的处理器。具体实施例方式以下的说明描述了允许无序执行锁定指令的技术,在所述锁定指令未发生竞争 时,无序执行是有利的。可以认为,当超过一个处理器或同一处理器中超过一个线程几乎同 时地试图锁定存储器中的相同位置时,锁定指令发生了竞争。当另一处理器或者同一处理器中的另一个线程试图访问由另一处理器或者线程锁定的存储器位置时,可以认为锁定指 令发生了竞争。这是因为不能确定另一处理器(或另一线程)的存储器访问是锁定企图还 是普通的存储器访问。在以下的描述中,给出了大量具体细节(如逻辑实施方式、软件模块 分配、总线和其他接口信令技术和操作的细节),以便使读者更为透彻地理解本专利技术。然而, 本领域本文档来自技高网
...

【技术保护点】
一种处理器,包括:预测器,用于作出锁定指令是否会发生竞争的预测;以及调度器,用于当所述预测表明所述锁定指令不发生竞争时以预测方式发出一组与所述锁定指令对应的微操作;以及用于确定是否出现了竞争指示的监视器,其中,所述竞争指示包括何时store_with_unlock微操作在高速缓存中未命中。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:B萨哈MC默藤P哈马隆德
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利