[发明专利]用于测试事务性执行状态的方法、装置和系统有效
申请号: | 201380028480.6 | 申请日: | 2013-06-19 |
公开(公告)号: | CN104335183B | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | R·拉吉瓦尔;B·L·托尔;K·K·赖;M·C·梅尔腾;M·G·迪克森 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 测试 事务性 执行 状态 指令 逻辑 | ||
相关申请
本申请是2012年2月2日提交的指定美国的当前待审的国际申请PCT/US2012/023611的部分继续申请。在先的该国际申请通过引用结合于此,如同其整体记载于本申请中。
技术领域
本公开一般涉及处理逻辑、微处理器以及相关的指令集架构的领域,这些指令集架构在被处理器或其他处理逻辑所执行时执行逻辑、数学或其他功能性操作。具体地,本公开涉及用于测试事务性执行状态的指令和逻辑。
背景技术
半导体处理和逻辑设计的进步已允许在集成电路器件上可能存在的逻辑量的增加。因此,计算机系统配置已经从系统中的单个或多个集成电路发展到单个集成电路上存在的多个处理核和多个逻辑处理器。处理器或集成电路通常包括单个处理器管芯,其中处理器管芯可包括任意数量的核或逻辑处理器。
集成电路上日益增加的核和逻辑处理器的数量使得更多软件线程能够被并发地执行。然而,可能同时执行的软件线程的数量的增加已造成与同步软件线程之间共享的数据有关的问题。用于访问多核或多逻辑处理器系统中的共享数据的一个常见的解决方案包括使用锁来保证对共享数据的多个访问之间的互斥。然而,不断增加的执行多个软件线程的能力对锁定数据产生瓶颈,导致线程要等待其它线程的完成(使它们的执行串行化),从而降低了使多个线程并发执行的益处。此外,在写入方试图修改数据的情况下,一些只读访问可使用锁来确保数据的互斥,这会带来排斥其它只读访问的不希望有的副作用。
例如,考虑保持共享数据的散列表。利用锁系统,编程者可锁定整个散列表,从而允许一个线程访问整个散列表。然而,其它线程的吞吐量和性能可能不利地受影响,因为它们无法访问散列表中的任何条目,直到该锁被释放为止。替代地,散列表中的每个条目可能被锁定,从而导致软件中的许多锁结构。在这样的构造中,可能需要获得许多锁以执行特定任务,这会导致与其它线程的死锁。无论哪种方式,在将该简单示例外推到大的可缩放程序中之后,显然锁竞争、串行化、精细粒度同步以及死锁避免的复杂程度变成编程者的极其繁琐的负担。
另一种最近的数据同步技术包括使用事务性存储器(TM)。通常,事务性执行包括原子地执行多个微操作、操作或指令的分组。在上述示例中,两个线程在散列表内执行,并且它们的存储器访问被监控/追踪。如果两个线程访问/改变相同的条目,则可执行冲突化解以确保数据有效性。一种类型的事务性执行包括软件事务性存储器(STM),其中通常在没有硬件支持的情况下在软件中执行对存储器访问、冲突化解、中止任务以及其它事务性任务的追踪。另一类型的事务性执行包括硬件事务性存储器(HTM)系统,其中包括用于支持访问追踪、冲突化解以及其它事务性任务的硬件。
类似于事务性存储器的技术包括硬件锁省略(HLE),其中在不使用锁的情况下实验性地执行被锁定的关键区段。如果执行成功(即无冲突),则使结果全局可见。换言之,就像省略了来自关键区段的锁指令的事务那样执行关键区段,而不是执行原子地定义的事务。作为结果,在上述示例中,不是用事务来代替散列表执行,而是试验性地执行由锁指令定义的关键区段。多个线程类似地在散列表中执行,并且它们的访问被监控/追踪。如果这些线程中的任一个对同一条目进行访问/改动,则可执行冲突化解以确保数据有效性。但是如果未检测到冲突,则原子地提交对散列表的更新。
如所见,事务性执行和锁省略具有在多个线程中提供更佳性能的潜力。然而,HLE和TM对于微处理器是相对新的研究领域。因此,尚未充分探索或详细研究处理器中的HLE和TM实现方式。
附图说明
在附图的各图中通过示例而非限制地示出本发明。
图1示出用于使用指令和逻辑来测试事务性执行状态的计算系统的一个实施例。
图2示出用于使用指令和逻辑来测试事务性执行状态的处理器的一个实施例。
图3A示出根据一个实施例的用于提供用于测试事务性执行状态的功能的指令编码。
图3B示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编码。
图3C示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编码。
图3D示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编码。
图3E示出根据另一实施例的用于提供用于测试事务性执行状态的功能的指令编码。
图4A是处理器微架构中用于执行提供用于测试事务性执行状态的功能的指令的一个实施例的框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380028480.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种混合孤岛检测方法
- 下一篇:一种基于光电混合信号并行测试装置