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

乱序加载的基于锁的和基于同步的方法技术

技术编号:18575792 阅读:27 留言:0更新日期:2018-08-01 10:47
本申请公开了乱序加载的基于锁的和基于同步的方法。在一个实施例中,提供一种用于在使用共享存储器资源的存储器一致性模型中执行乱序加载的、在处理器中的、基于锁的方法,所述方法包括:定义能够由多个异步核访问的存储器资源;以及由访问掩码跟踪高速缓存线的哪些字由加载访问,其中,所述高速缓存线包括所述存储器资源,其中所述访问掩码内的掩码位在所述加载访问所述高速缓存线的字时被设置,并且其中,所述掩码位阻止由来自所述多个异步核的其他加载对所述高速缓存线的所述字的访问。

Random loading of lock based and synchronous based methods

This application discloses a random loading of lock based and synchronous based methods. In one embodiment, a method of locking based in a processor for executing random sequence loading in a memory consistency model with shared memory resources is provided, and the method includes: defining memory resources that can be accessed by multiple asynchronous cores, and what the cache line is tracked by the access mask The word is accessed by the load, in which the cache line includes the memory resources, in which the mask bit in the access mask is set at the time of the words loaded to access the cache line, and the mask bit prevents the description of the cache line from which he is loaded from the plurality of asynchronous cores. The access to the word.

【技术实现步骤摘要】
乱序加载的基于锁的和基于同步的方法本申请是PCT国际申请号为PCT/US2013/045497、国际申请日为2013年6月12日、进入中国国家阶段的申请号为201380042996.6,题为“乱序加载的基于锁的和基于同步的方法”的专利技术专利申请的分案申请。原申请要求2012年6月15日由MohammadA.Abdallah提交的题为“ALOCK-BASEDANDSYNCH-BASEDMETHODFOROUTOFORDERLOADSINAMEMORYCONSISTENCYMODELUSINGSHAREDMEMORYRESOURCES”的共同待决共同转让的美国临时专利申请序号61/660,521的权益,并且该申请被整体地并入到本文中。
本专利技术总体涉及数字计算机系统,更具体地涉及用于选择指令(包括指令序列)的系统和方法。
技术介绍
要求处理器来处理相关或完全独立的多个任务。此类处理器的内部状态通常由在程序执行的每个特定时刻可能保持不同的值的寄存器组成。在程序执行的每个时刻,将内部状态图像称为处理器的架构状态。当架构代码执行切换成运行另一功能(例如,另一线程、进程或程序)时,然后必须保存机器/处理器的状态,使得新功能可以利用内部寄存器以构建其新状态。一旦新功能已终止,则可以丢弃其状态,并且先前情境的状态将被恢复且该执行又继续。此类切换过程称为情境切换,并且通常包括10个或数百个循环,尤其是在采用大量寄存器(例如,64、128、256)和/或乱序执行的现代架构的情况下。在线程感知硬件架构中,硬件支持用于有限数目的硬件支持线程的多个情境状态是正常的。在这种情况下,硬件复制用于每个所支持线程的所有架构状态元素。这消除了在执行新线程时的情境切换的需要。然而,这仍具有多个缺点,即复制用于用硬件中所支持的每个附加线程的所有架构状态元素(即,寄存器)的面积、功率和复杂性。另外,如果软件线程的数目超过明确支持的硬件线程的数目,则仍必须执行情境切换。这变得常见,因为在要求大量线程的细粒度基础上需要并行性。具有复制情境状态硬件存储的硬件线程感知架构无助于非线程软件代码,并且仅仅减少了用于被线程化的软件的情境切换的次数。然而,那些线程通常是针对粗粒并行性而构造的,并且导致用于发起和同步、离开细粒并行性的沉重软件开销,诸如函数调用和回路并行执行,而没有高效的线程化发起/自动生成。此类所述开销伴随着针对非明确/容易并行化/线程化软件代码而使用现有技术编译程序或用户并行化技术进行此类代码的自动并行化的困难。
技术实现思路
在一个实施例中,将本专利技术实现为一种用于在使用共享存储器资源的存储器一致性模型中的乱序加载的基于锁的方法。该方法包括:实现能够由多个核心访问的存储器资源;以及实现访问掩码,该访问掩码通过跟踪高速缓存的哪些字经由加载被访问来运行,其中高速缓存线包括存储器资源,其中乱序加载在访问高速缓存线的字时设置访问掩码内的掩码位,并且其中掩码位阻止从多个核心的来自其他加载的访问。该方法还包括:在执行从多个核心到高速缓存线的后续存储时检查访问掩码;以及当到高速缓存线的部分的后续存储在访问掩码中见到来自加载的在先标记时引发缺失预测,其中后续存储将通过使用跟踪符寄存器和线程ID寄存器来用信号发送对应于该加载的加载队列条目。前述是概要且因此必要地包含细节的简化、一般化以及省略;因此,本领域的技术人员将认识到的是该概要仅仅是说明性的且并不意图以任何方式是限制性的。单独地由权利要求定义的本专利技术的其他方面、专利技术特征以及优点在下面阐述的非限制性详细描述中将变得显而易见。附图说明在附图中以示例的方式而不是以限制的方式举例说明本专利技术,并且在附图中相同的附图标记指示类似元件。图1示出了根据本专利技术的一个实施例的加载队列和存储队列。图2示出了根据本专利技术的一个实施例的加载和存储指令分离的第一图。图3示出了根据本专利技术的一个实施例的加载和存储指令分离的第二图。图4示出了根据本专利技术的一个实施例的过程的步骤的流程图,其中图示出用于实现从由加载存储重新排序和优化所引发的推测性转发缺失预测/错误中恢复的规则。图5示出了图示出根据本专利技术的一个实施例的用处理器的加载队列和存储队列资源来实现过程300的规则的方式的图。图6示出了图示出根据本专利技术的一个实施例的用处理器的加载队列和存储队列资源来实现过程300的规则的方式的另一图。图7示出了图示出根据本专利技术的一个实施例的用处理器的加载队列和存储队列资源来实现过程300的规则的方式的另一图。图8示出了根据本专利技术的一个实施例的其中在加载之后分派存储的分派功能的概述的过程的流程图。图9示出了根据本专利技术的一个实施例的其中在存储之后分派存储的分派功能的概述的过程的流程图。图10示出了根据本专利技术的一个实施例的统一加载队列的图。图11示出了示出根据本专利技术的一个实施例的滑动加载分派窗口的统一加载队列。图12示出了根据本专利技术的一个实施例的分布式加载队列。图13示出了根据本专利技术的一个实施例的具有按序连续性的分布式加载队列。图14示出了根据本专利技术的一个实施例的用于多核处理器的分段存储器子系统的图。图15示出了如何通过本专利技术的实施例来处理加载和存储的图。图16示出了根据本专利技术的一个实施例的存储过滤算法的图。图17示出了根据本专利技术的一个实施例的在组成按序从存储器进行读取的加载的存储器一致性模型中具有乱序加载的信号量实现方式。图18示出了根据本专利技术的一个实施例的到通过使用基于锁的模型和基于事务的模型两者而组成按序的用于存储器的加载读取的存储器一致性模型中的乱序加载。图19示出了根据本专利技术的一个实施例的多核分段存储器子系统的多个核心。图20示出了根据本专利技术的一个实施例的访问统一存储队列的异步核心的图,其中存储可以基于存储资历而从任一线程获得。图21示出了描绘根据本专利技术的一个实施例的其中存储相比于其他线程中的对应存储而言具有资历的功能的图。图22示出了根据本专利技术的一个实施例的非消歧乱序加载存储队列退出实现方式。图23示出了根据本专利技术的一个实施例的非消歧乱序加载存储队列重新排序实现方式的重新排序实现方式。图24示出了根据本专利技术的一个实施例的指令序列(例如,踪迹)重新排序的推测性执行实现方式。图25示出了根据本专利技术的一个实施例的示例性微处理器管线的图。具体实施方式虽然已结合一个实施例描述了本专利技术,但本专利技术并不意图局限于本文中所阐述的特定形式。相反地,其意图涵盖可以适当地包括在由所附权利要求定义的本专利技术的范围内的此类替换、修改以及等同物。在以下详细描述中,已阐述了许多特定细节,诸如特定方法顺序、结构、元件以及连接。然而应理解的是不需要利用这些及其他特定细节来实施本专利技术的实施例。在其他情况下,已省略众所周知的结构、元件或连接或未特别详细地描述以避免不必要地使本描述含糊。在本说明书内对“一个实施例”或“实施例”的引用意图指示在本专利技术的至少一个实施例中包括结合该实施例所述的特定特征、结构或特性。短语“在一个实施例中”在本说明书内的各种位置上的出现并不一定全部参考同一实施例,也不是其他实施例的互斥的单独或替换实施例。此外,描述了某些实施例可展示出而其他的没有的各种特征。同样地,描述了对于某些实施例而言可能是要求但其他实施例并非如此的各种要求。随后的详细描述的某些部分是在对计本文档来自技高网
...

【技术保护点】
1.一种用于在使用共享存储器资源的存储器一致性模型中执行乱序加载的、在处理器中的、基于锁的方法,所述方法包括:定义能够由多个异步核访问的存储器资源;以及由访问掩码跟踪高速缓存线的哪些字由加载访问,其中,所述高速缓存线包括所述存储器资源,其中所述访问掩码内的掩码位在所述加载访问所述高速缓存线的字时被设置,并且其中,所述掩码位阻止由来自所述多个异步核的其他加载对所述高速缓存线的所述字的访问。

【技术特征摘要】
2012.06.15 US 61/660,5211.一种用于在使用共享存储器资源的存储器一致性模型中执行乱序加载的、在处理器中的、基于锁的方法,所述方法包括:定义能够由多个异步核访问的存储器资源;以及由访问掩码跟踪高速缓存线的哪些字由加载访问,其中,所述高速缓存线包括所述存储器资源,其中所述访问掩码内的掩码位在所述加载访问所述高速缓存线的字时被设置,并且其中,所述掩码位阻止由来自所述多个异步核的其他加载对所述高速缓存线的所述字的访问。2.如权利要求1所述的方法,进一步包括:在由所述多个异构核中的一个异构核执行向所述高速缓存线的后续存储时,检查所述访问掩码;以及当对应于所述加载的、向所述高速缓存线的所述字的所述后续存储检测到所述访问掩码中的、对应于由所述加载访问的字的掩码位被设置时,引发缺失预测。3.如权利要求2所述的方法,其中,所述后续存储通过使用跟踪符寄存器来用信号发送对应于所述加载的加载队列条目,并且引发所述加载连同依赖于所述加载的指令一起进行缺失预测。4.如权利要求1所述的方法,进一步包括:响应于确定了后续加载正从高速缓存线的部分读取,设置对应于所述高速缓存线的所述部分的相应的访问掩码位。5.如权利要求1所述的方法,进一步包括:当访问了所述高速缓存线的、与所述掩码位相关联的所述字的所述加载退出时,清除所述掩码位。6.如权利要求1所述的方法,进一步包括:由加载队列条目引用寄存器跟踪加载队列条目引用,其中,当存储将数据保存到所述高速缓存线的、与所述加载队列条目引用寄存器中的匹配相对应的部分时,引发对应的加载队列条目进行缺失预测。7.如权利要求1所述的方法,其中所述存储器资源包括标志资源和数据资源,并且所述存储器资源能够由多个线程访问。8.一种微处理器,包括:多个异步核;存储器资源,所述存储器资源能够由所述多个异步核访问;以及访问掩码,所述访问掩码用于跟踪高速缓存线的哪些字由加载访问,其中,所述高速缓存线包括所述存储器资源,其中,所述加载在访问所述高速缓存线的字时设置所述访问掩码内的掩码位,并且其中,所述掩码位阻止由来自所述多个异步核的其他加载对所述高速缓存线的所述字的访问。9.如权利要求8所述的微处理器,其中,在由所述多个异构核中的一个异构核执行向所述高速缓存线的后续存储时,检查所述访问掩码,并且其中,当对应于所述加载的、向所述高速缓存线的所述字的所述后续存储检测到所述访问掩码中的、对应于由所述加载访问的字的掩码位被设置时,引发缺失预测。10.如权利要求9所述的微处理器,其中,所述后续存储通过使用跟踪符寄存器来用信号发送对应于所述加载的...

【专利技术属性】
技术研发人员:M·阿布达拉
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1