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

用于测试事务性执行状态的方法、装置和系统制造方法及图纸

技术编号:11006056 阅读:66 留言:0更新日期:2015-02-05 12:20
公开了用于测试事务性执行状态的新颖指令、逻辑、方法和装置。实施例包括解码用于开始事务性区域的第一指令。响应于该第一指令,产生用于一组架构状态寄存器的检查点,并追踪来自与该第一指令相关联的事务性区域中的处理元件的存储器访问。然后解码用于检测该事务性区域的事务性执行的第二指令。响应于解码第二指令而执行操作,以确定第二指令的执行上下文是否在该事务性区域之内。然后响应于第二指令而更新第一标志。在一些实施例中,响应于第二指令,可选地更新寄存器,和/或可选地更新第二标志。

【技术实现步骤摘要】
【国外来华专利技术】用于测试事务性执行状态的指令和逻辑 相关申请 本申请是2012年2月2日提交的指定美国的当前待审的国际申请PCT/ US2012/023611的部分继续申请。在先的该国际申请通过引用结合于此,如同其整体记载于 本申请中。
本公开一般涉及处理逻辑、微处理器以及相关的指令集架构的领域,这些指令集 架构在被处理器或其他处理逻辑所执行时执行逻辑、数学或其他功能性操作。具体地,本公 开涉及用于测试事务性执行状态的指令和逻辑。
技术介绍
半导体处理和逻辑设计的进步已允许在集成电路器件上可能存在的逻辑量的增 力口。因此,计算机系统配置已经从系统中的单个或多个集成电路发展到单个集成电路上存 在的多个处理核和多个逻辑处理器。处理器或集成电路通常包括单个处理器管芯,其中处 理器管芯可包括任意数量的核或逻辑处理器。 集成电路上日益增加的核和逻辑处理器的数量使得更多软件线程能够被并发地 执行。然而,可能同时执行的软件线程的数量的增加已造成与同步软件线程之间共享的数 据有关的问题。用于访问多核或多逻辑处理器系统中的共享数据的一个常见的解决方案包 括使用锁来保证对共享数据的多个访问之间的互斥。然而,不断增加的执行多个软件线程 的能力对锁定数据产生瓶颈,导致线程要等待其它线程的完成(使它们的执行串行化),从 而降低了使多个线程并发执行的益处。此外,在写入方试图修改数据的情况下,一些只读访 问可使用锁来确保数据的互斥,这会带来排斥其它只读访问的不希望有的副作用。 例如,考虑保持共享数据的散列表。利用锁系统,编程者可锁定整个散列表,从而 允许一个线程访问整个散列表。然而,其它线程的吞吐量和性能可能不利地受影响,因为它 们无法访问散列表中的任何条目,直到该锁被释放为止。替代地,散列表中的每个条目可能 被锁定,从而导致软件中的许多锁结构。在这样的构造中,可能需要获得许多锁以执行特定 任务,这会导致与其它线程的死锁。无论哪种方式,在将该简单示例外推到大的可缩放程序 中之后,显然锁竞争、串行化、精细粒度同步以及死锁避免的复杂程度变成编程者的极其繁 琐的负担。 另一种最近的数据同步技术包括使用事务性存储器(TM)。通常,事务性执行包括 原子地执行多个微操作、操作或指令的分组。在上述示例中,两个线程在散列表内执行,并 且它们的存储器访问被监控/追踪。如果两个线程访问/改变相同的条目,则可执行冲突 化解以确保数据有效性。一种类型的事务性执行包括软件事务性存储器(STM),其中通常在 没有硬件支持的情况下在软件中执行对存储器访问、冲突化解、中止任务以及其它事务性 任务的追踪。另一类型的事务性执行包括硬件事务性存储器(HTM)系统,其中包括用于支 持访问追踪、冲突化解以及其它事务性任务的硬件。 类似于事务性存储器的技术包括硬件锁省略(HLE),其中在不使用锁的情况下实 验性地执行被锁定的关键区段。如果执行成功(即无冲突),则使结果全局可见。换言之, 就像省略了来自关键区段的锁指令的事务那样执行关键区段,而不是执行原子地定义的事 务。作为结果,在上述示例中,不是用事务来代替散列表执行,而是试验性地执行由锁指令 定义的关键区段。多个线程类似地在散列表中执行,并且它们的访问被监控/追踪。如果这 些线程中的任一个对同一条目进行访问/改动,则可执行冲突化解以确保数据有效性。但 是如果未检测到冲突,则原子地进行对散列表的更新。 如所见,事务性执行和锁省略具有在多个线程中提供更佳性能的潜力。然而,HLE 和TM对于微处理器是相对新的研究领域。因此,尚未充分探索或详细研究处理器中的HLE 和TM实现方式。 【附图说明】 在附图的各图中通过示例而非限制地示出本专利技术。 图1示出用于使用指令和逻辑来测试事务性执行状态的计算系统的一个实施例。 图2示出用于使用指令和逻辑来测试事务性执行状态的处理器的一个实施例。 图3A示出根据一个实施例的用于提供用于测试事务性执行状态的功能的指令编 码。 图3B示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编 码。 图3C示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编 码。 图3D示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编 码。 图3E示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编 码。 图4A是处理器微架构中用于执行提供用于测试事务性执行状态的功能的指令的 一个实施例的框图。 图4B示出用于执行提供用于测试事务性执行状态的功能的指令的处理器微架构 的一个实施例的要素。 图5是用于执行提供用于测试事务性执行状态的功能的指令的处理器的一个实 施例的框图。 图6是用于执行提供用于测试事务性执行状态的功能的指令的计算机系统的一 个实施例的框图。 图7是用于执行提供用于测试事务性执行状态的功能的指令的计算机系统的另 一实施例的框图。 图8是用于执行提供用于测试事务性执行状态的功能的指令的计算机系统的另 一实施例的框图。 图9是用于执行提供用于测试事务性执行状态的功能的指令的芯片上系统的一 个实施例的框图。 图10是用于执行提供用于测试事务性执行状态的功能的指令的处理器的实施例 的框图。 图11是提供用于测试事务性执行状态的功能的IP核开发系统的一个实施例的框 图。 图12示出提供用于测试事务性执行状态的功能的架构仿真系统的一个实施例。 图13示出用于转换提供用于测试事务性执行状态的功能的指令的系统的一个实 施例。 图14示出提供用于测试事务性执行状态的功能的装置的一个实施例。 图15示出用于提供用于测试事务性执行状态的功能的过程的一个实施例的流程 图。 图16示出用于提供用于测试事务性执行状态的功能的过程的替代实施例的流程 图。 【具体实施方式】 本申请中公开的用于测试事务性执行状态的指令和逻辑的一些实施例可结合处 理器指令集架构(ISA)事务性同步扩展(TSX)来实现。这样的扩展可提供动态地检测在多 线程软件环境中何时需要通过锁保护的关键区段的串行化的能力。编程者指定的代码区 (称为事务性区域)可事务性地执行。如果该事务性执行成功地完成(即没有来自另一进 程或线程的竞争),则在成功完成并从该事务性区域退出时,所有存储器操作或存储器中的 数据的修改将如同原子地或同时地发生。 硬件锁省略(HLE)是这样的扩展的一个实施例,它为编程者提供指令集接口以利 用两个指令前缀提示XAQUIRE和XRELEASE来指定获取周围的事务性区域并释放保护关键 区段的锁。利用HLE,处理器可省略与该锁相关联的写操作,并试图事务性地执行该区域。 如果处理器检测到任何数据冲突,则将执行事务性中止,并将非事务性地并且不省略地重 新执行该关键区段。 受限制的事务性存储器(RTM)是用于编程者的指令集接口的另一实施例,其使用 三个指令=XBEGIN和XEND,用于执行事务性区域;以及XAB0RT,用于明确地中止RTM区域的 执行。XBEGIN指令也可指定向相对偏移量的分支,作为将在事务性中止的情况下执行的回 退代码区段。回退代码可包含冲突化解本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201380028480.html" title="用于测试事务性执行状态的方法、装置和系统原文来自X技术">用于测试事务性执行状态的方法、装置和系统</a>

【技术保护点】
一种计算机实现的方法,包括:解码用于测试事务性状态的指令;以及执行经解码的所述指令,以确定执行上下文是否在事务性区域之内。

【技术特征摘要】
【国外来华专利技术】2012.06.29 US 13/538,9511. 一种计算机实现的方法,包括: 解码用于测试事务性状态的指令;以及 执行经解码的所述指令,以确定执行上下文是否在事务性区域之内。2. 如权利要求1所述的计算机实现的方法,其特征在于,响应于所述执行所述经解码 的指令,将寄存器设置为第二值,所述第二值指示所述事务性区域的嵌套级。3. 如权利要求1所述的计算机实现的方法,其特征在于,响应于所述执行所述经解码 的指令,如果所述指令在事务性区域之内执行,则将标志设置为第一值。4. 如权利要求3所述的计算机实现的方法,其特征在于,如果所述指令在事务性区域 之内执行,则将所述标志设置成为零的第一值。5. 如权利要求3所述的计算机实现的方法,其特征在于,响应于所述执行所述经解码 的指令,如果所述指令不在事务性区域之内执行,则将所述标志设置为第二值。6. 如权利要求5所述的计算机实现的方法,其特征在于,如果所述指令不在事务性区 域之内执行,则将所述标志设置成第二值为一。7. 如权利要求3所述的计算机实现的方法,其特征在于,响应于所述执行所述经解码 的指令,将寄存器设置为第二值,所述第二值指示可用于所述事务性区域的内部缓冲器的 数量。8. 如权利要求3所述的计算机实现的方法,其特征在于,所述指令指定存储器操作数, 并且执行所述经解码的指令以确定:访问与所述存储器操作数相关联的存储器是否会导致 所述事务性区域中止。9. 如权利要求3所述的计算机实现的方法,其特征在于,所述指令指定存储器操作数, 并且执行所述经解码的指令以确定:访问与所述存储器操作数相关联的存储器是否会导致 任何事务性区域中止。10. 如权利要求3所述的计算机实现的方法,其特征在于,所述指令指定存储器操作 数,并且执行所述经解码的指令以确定:访问与所述存储器操作数相关联的存储器是否会 导致内部缓冲器的溢出。11. 一种装置,包括: 解码逻辑,用于解码用于开始事务性区域的第一指令,并用于解码用于检测所述事务 性区域的事务性执行的第二指令; 检查点逻辑,用于响应于所述解码逻辑解码所述第一指令,设置一组架构状态寄存器 的检查点; 追踪逻辑,用于响应于所述解码逻辑解码所述第一指令,追踪来自与所述第一指令相 关联的处理元件的存储器访问;以及 执行逻辑,用于响应于所述解码逻辑解码所述第二指令,确定所述第二指令的执行上 下文是否在所述事务性区域之内。12. 如权利要求11所述的装置,其特征在于,所述第一指令具有用于开始事务性区域 的前缀。13. 如权利要求11所述的装置,其特征在于,包括: 控制逻辑,用于:如果所述第二指令在事务性区域之内执行,则将标志寄存器更新至第 一值。14. 如权利要求13所述的装置,其特征在于,所述第一值是零。15. 如权利要求13所述的装置,其特征在于,如果所述第二指令不在事务性区域之内 执行,则所述标志寄存器将被更新为第二值。16. 如权利要求15所述的装置,其特征在于,所述第二值是一。17. -种处理器,包括: 解码级,用于解码...

【专利技术属性】
技术研发人员:R·拉吉瓦尔B·L·托尔K·K·赖M·C·梅尔腾M·G·迪克森
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1